import RemoteObject from '../remote-object.mjs';
/**
* Class uses by operations that return a list
* @extends RemoteObject
* @property {Map} map - The Map object holds key-value pairs and remembers the original order of the keys, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map}
*/
class ListObject extends RemoteObject {
map; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
constructor(remoteAPI) {
super(remoteAPI);
this.api.registerObject(this);
}
/** @protected */
afterExecute() {
super.afterExecute();
this.items = this.api.findListArray(this.responseObject);
// https://stackoverflow.com/questions/26264956/convert-object-array-to-hash-map-indexed-by-an-attribute-value-of-the-object
this.map = new Map(this.items.map(item => [item.split("=")[0], item.split("=")[1]]));
}
}
export default ListObject;