efficy-enterprise-api
Version:
The Efficy Enterprise API is developed for server-side usage in a Node.js environment (e.g. for integrations) and also bundled for usage inside an Efficy browser session for client-side JSON RPC requests.
47 lines (39 loc) • 925 B
JavaScript
import RemoteObject from '../remote-object.mjs';
import DataSet from './type.mjs';
/**
* Represents a remotely fetched Efficy DataSet transformed as an array of row items
* @extends RemoteObject
*/
class DataSetObject extends RemoteObject {
#items;
#item;
constructor(remoteAPI) {
super(remoteAPI);
this.api.registerObject(this);
}
/** @protected */
dataSetName;
/** @protected */
afterExecute() {
super.afterExecute();
const dso = new DataSet("main");
dso.setItems(this.api.findDataSetArray(this.responseObject, this.dataSetName));
this.#items = dso.items;
this.#item = dso.item;
}
/**
* The to array converted dataset
* @type {array}
*/
get items() {
return this.#items;
}
/**
* When exists, the first item of the items array, else null
* @type {array}
*/
get item() {
return this.#item;
}
}
export default DataSetObject;