@azrico/webobject 1.0.34 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var _index=require("./src/index");Object.defineProperty(exports,"__esModule",{value:!0});Object.keys(_index).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_index[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _index[a]}})});
1
+ export * from "./src/index";
@@ -1 +1,15 @@
1
- "use strict";var _WebObject2=_interopRequireDefault(require("./WebObject"));function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.ParentWebObject=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _classPrivateFieldInitSpec(a,b,c){_checkPrivateRedeclaration(a,b),b.set(a,c)}function _checkPrivateRedeclaration(a,b){if(b.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _classPrivateFieldSet(a,b,c){var d=_classExtractFieldDescriptor(a,b,"set");return _classApplyDescriptorSet(a,d,c),c}function _classApplyDescriptorSet(a,b,c){if(b.set)b.set.call(a,c);else{if(!b.writable)throw new TypeError("attempted to set read only private field");b.value=c}}function _classPrivateFieldGet(a,b){var c=_classExtractFieldDescriptor(a,b,"get");return _classApplyDescriptorGet(a,c)}function _classExtractFieldDescriptor(a,b,c){if(!b.has(a))throw new TypeError("attempted to "+c+" private field on non-instance");return b.get(a)}function _classApplyDescriptorGet(a,b){return b.get?b.get.call(a):b.value}var _children_items=/*#__PURE__*/new WeakMap,ParentWebObject=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"__parent__table_id",""),_classPrivateFieldInitSpec(_assertThisInitialized(a),_children_items,{writable:!0,value:void 0}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"__children",get:function get(){return _classPrivateFieldGet(this,_children_items)},set:function set(a){_classPrivateFieldSet(this,_children_items,a)}}]),b}(_WebObject2["default"]);exports.ParentWebObject=ParentWebObject;var _default=ParentWebObject;exports["default"]=_default;
1
+ import WebObject from "./WebObject";
2
+ /**
3
+ * This web object contains some more webobjects
4
+ */
5
+ export class ParentWebObject extends WebObject {
6
+ __parent__table_id = "";
7
+ #children_items = undefined;
8
+ get __children() {
9
+ return this.#children_items;
10
+ }
11
+ set __children(val) {
12
+ this.#children_items = val;
13
+ }
14
+ }
15
+ export default ParentWebObject;
@@ -1,12 +1,97 @@
1
- "use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.WebObject=void 0;var _SimpleObject2=_interopRequireDefault(require("../structs/SimpleObject")),_object=require("@azrico/object");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var WebObject=/*#__PURE__*/function(a){function b(){var a,d=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],e=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return _classCallCheck(this,b),a=c.call(this,d,e),_defineProperty(_assertThisInitialized(a),"meta_data",void 0),_defineProperty(_assertThisInitialized(a),"get_managerClass",function(){return null}),a.meta_data=[],a}/* -------------------------------------------------------------------------- */ /* Meta data */ /* -------------------------------------------------------------------------- */ /**
1
+ import SimpleObject from "../structs/SimpleObject";
2
+ import { getInArray, object_equals, setInArray, } from "@azrico/object";
3
+ export class WebObject extends SimpleObject {
4
+ static __web_path = "";
5
+ static __web_type = "";
6
+ meta_data;
7
+ constructor(isEditMode = true, is_readonly = false) {
8
+ super(isEditMode, is_readonly);
9
+ this.meta_data = [];
10
+ }
11
+ /* -------------------------------------------------------------------------- */
12
+ /* Meta data */
13
+ /* -------------------------------------------------------------------------- */
14
+ /**
2
15
  * Update meta value of this object , meta data is stored in meta_data variable
3
16
  * @param key
4
17
  * @param value
5
18
  * @param createIfNotExists should we create a new meta if key does not exist
6
19
  * @param sendChange
7
20
  * @returns
8
- */_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"setMetaValue",value:function setMetaValue(a,c){var d=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],e=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"auto";return b.setMetaValue(this,a,c,d,e)}},{key:"getMeta",value:function getMeta(a){return b.getMeta(this,a)}},{key:"getMetaValue",value:function getMetaValue(a){return b.getMetaValue(this,a)}/* -------------------------------------------------------------------------- */},{key:"Save",value:/* -------------------------------------------------------------------------- */ /* Save */ /* -------------------------------------------------------------------------- */function(){function a(){return c.apply(this,arguments)}var c=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){return _regeneratorRuntime().wrap(function c(a){for(;1;)switch(a.prev=a.next){case 0:return b.addError(this,"Save not implented","NOSAVE",!0),this.setSaveResult(!1,"canceled"),a.abrupt("return",!1);case 3:case"end":return a.stop();}},a,this)}));return a}()},{key:"canSave",value:function canSave(a){var b=this.deltaIsValid(a);return!0===b||b}},{key:"deltaIsValid",value:function deltaIsValid(a){return!0}/**
21
+ */
22
+ setMetaValue(key, value, createIfNotExists = true, sendChange = "auto") {
23
+ return WebObject.setMetaValue(this, key, value, createIfNotExists, sendChange);
24
+ }
25
+ getMeta(key) {
26
+ return WebObject.getMeta(this, key);
27
+ }
28
+ getMetaValue(key) {
29
+ return WebObject.getMetaValue(this, key);
30
+ }
31
+ /* -------------------------------------------------------------------------- */
32
+ static setMetaValue(o, key, value, createIfNotExists = true, sendChange = "auto") {
33
+ if (!o)
34
+ return false;
35
+ if (!o.canModify) {
36
+ WebObject.addError(o, "Readonly mode is set to true", `Cant use setMetaValue on ${key} when on readonly mode`, true);
37
+ return false;
38
+ }
39
+ const old_value = WebObject.getMetaValue(o, key);
40
+ if (object_equals(old_value, value))
41
+ return false;
42
+ const oldMeta = o.getValue("meta_data");
43
+ o.setValue("meta_data", setInArray(oldMeta, "key", key, "value", value, createIfNotExists));
44
+ if (sendChange !== false)
45
+ o.notifyChanged("meta", key, value);
46
+ return true;
47
+ }
48
+ static getMeta(o, key) {
49
+ if (o == null)
50
+ return null;
51
+ return getInArray(o.getValue("meta_data"), "key", key);
52
+ }
53
+ static getMetaValue(o, key) {
54
+ return WebObject.getMeta(o, key)?.value;
55
+ }
56
+ /* -------------------------------------------------------------------------- */
57
+ /* Save */
58
+ /* -------------------------------------------------------------------------- */
59
+ async Save() {
60
+ WebObject.addError(this, "Save not implented", "NOSAVE", true);
61
+ this.setSaveResult(false, "canceled");
62
+ return false;
63
+ }
64
+ canSave(deltaObj) {
65
+ const deltaRes = this.deltaIsValid(deltaObj);
66
+ if (deltaRes !== true)
67
+ return deltaRes;
68
+ return true;
69
+ }
70
+ deltaIsValid(d) {
71
+ return true;
72
+ }
73
+ /**
9
74
  * You will post this to the server for saving
10
75
  * @param saveType
11
76
  * @returns
12
- */},{key:"get_deltaObject",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){return _regeneratorRuntime().wrap(function b(a){for(;1;)switch(a.prev=a.next){case 0:return a.abrupt("return",_objectSpread(_objectSpread({},this.__delta),{},{id:this.getID()}));case 1:case"end":return a.stop();}},b,this)}));return a}()/* --------------------------------- Getters -------------------------------- */},{key:"manager",get:function get(){return this.get_managerClass()}},{key:"onLoad",value:/* -------------------------------------------------------------------------- */function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b,c,d,e,f=arguments;return _regeneratorRuntime().wrap(function g(a){for(;1;)switch(a.prev=a.next){case 0:for(c=f.length,d=Array(c),e=0;e<c;e++)d[e]=f[e];return a.next=3,null===(b=this.manager)||void 0===b?void 0:b.onLoad.apply(b,d);case 3:return a.abrupt("return",a.sent);case 4:case"end":return a.stop();}},a,this)}));return a}()},{key:"onSave",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b,c,d,e,f=arguments;return _regeneratorRuntime().wrap(function g(a){for(;1;)switch(a.prev=a.next){case 0:for(c=f.length,d=Array(c),e=0;e<c;e++)d[e]=f[e];return a.next=3,null===(b=this.manager)||void 0===b?void 0:b.onSave.apply(b,d);case 3:return a.abrupt("return",a.sent);case 4:case"end":return a.stop();}},a,this)}));return a}()},{key:"onNew",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b,c,d,e,f=arguments;return _regeneratorRuntime().wrap(function g(a){for(;1;)switch(a.prev=a.next){case 0:for(c=f.length,d=Array(c),e=0;e<c;e++)d[e]=f[e];return a.next=3,null===(b=this.manager)||void 0===b?void 0:b.onNew.apply(b,d);case 3:return a.abrupt("return",a.sent);case 4:case"end":return a.stop();}},a,this)}));return a}()}],[{key:"setMetaValue",value:function setMetaValue(a,c,d){var e=!(3<arguments.length&&void 0!==arguments[3])||arguments[3],f=4<arguments.length&&void 0!==arguments[4]?arguments[4]:"auto";if(!a)return!1;if(!a.canModify)return b.addError(a,"Readonly mode is set to true","Cant use setMetaValue on ".concat(c," when on readonly mode"),!0),!1;var g=b.getMetaValue(a,c);if((0,_object.object_equals)(g,d))return!1;var h=a.getValue("meta_data");return a.setValue("meta_data",(0,_object.setInArray)(h,"key",c,"value",d,e)),!1!==f&&a.notifyChanged("meta",c,d),!0}},{key:"getMeta",value:function getMeta(a,b){return null==a?null:(0,_object.getInArray)(a.getValue("meta_data"),"key",b)}},{key:"getMetaValue",value:function getMetaValue(a,c){var d;return null===(d=b.getMeta(a,c))||void 0===d?void 0:d.value}}]),b}(_SimpleObject2["default"]);exports.WebObject=WebObject,_defineProperty(WebObject,"__web_path",""),_defineProperty(WebObject,"__web_type","");var _default=WebObject;exports["default"]=_default;
77
+ */
78
+ async get_deltaObject(saveType) {
79
+ return { ...this.__delta, id: this.getID() };
80
+ }
81
+ /* --------------------------------- Getters -------------------------------- */
82
+ get manager() {
83
+ return this.get_managerClass();
84
+ }
85
+ get_managerClass = () => null;
86
+ /* -------------------------------------------------------------------------- */
87
+ async onLoad(...p) {
88
+ return await this.manager?.onLoad(...p);
89
+ }
90
+ async onSave(...p) {
91
+ return await this.manager?.onSave(...p);
92
+ }
93
+ async onNew(...p) {
94
+ return await this.manager?.onNew(...p);
95
+ }
96
+ }
97
+ export default WebObject;
@@ -1,22 +1,78 @@
1
- "use strict";var _ObjectManager2=_interopRequireDefault(require("../structs/ObjectManager"));function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.WebObjectManager=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}/**
1
+ import ObjectManager from "../structs/ObjectManager";
2
+ /**
2
3
  * This class manages the events of an Simple Object
3
- */var WebObjectManager=/*#__PURE__*/function(a){function b(){return _classCallCheck(this,b),c.apply(this,arguments)}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"setMetaValue",value:/* -------------------------------------------------------------------------- */ /* Meta data */ /* -------------------------------------------------------------------------- */ /**
4
+ */
5
+ export class WebObjectManager extends ObjectManager {
6
+ /* -------------------------------------------------------------------------- */
7
+ /* Meta data */
8
+ /* -------------------------------------------------------------------------- */
9
+ /**
4
10
  * Update meta value of this object , meta data is stored in meta_data variable
5
11
  * @param key
6
12
  * @param value
7
13
  * @param createIfNotExists should we create a new meta if key does not exist
8
14
  * @param sendChange
9
15
  * @returns
10
- */function setMetaValue(a,b){var c,d=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],e=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"auto";return null===(c=this.obj)||void 0===c?void 0:c.setMetaValue(a,b,d,e)}},{key:"getMeta",value:function getMeta(a){var b;return null===(b=this.obj)||void 0===b?void 0:b.getMeta(a)}},{key:"getMetaValue",value:function getMetaValue(a){var b;return null===(b=this.obj)||void 0===b?void 0:b.getMetaValue(a)}/* -------------------------------------------------------------------------- */},{key:"get_deltaObject",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b;return _regeneratorRuntime().wrap(function c(a){for(;1;)switch(a.prev=a.next){case 0:return a.next=2,null===(b=this.obj)||void 0===b?void 0:b.get_deltaObject();case 2:if(a.t0=a.sent,a.t0){a.next=5;break}a.t0={};case 5:return a.abrupt("return",a.t0);case 6:case"end":return a.stop();}},a,this)}));return a}()},{key:"Save",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b;return _regeneratorRuntime().wrap(function c(a){for(;1;)switch(a.prev=a.next){case 0:return a.next=2,null===(b=this.obj)||void 0===b?void 0:b.Save();case 2:if(a.t0=a.sent,a.t0){a.next=5;break}a.t0=!1;case 5:return a.abrupt("return",a.t0);case 6:case"end":return a.stop();}},a,this)}));return a}()/* -------------------------------------------------------------------------- */ /* Default Events */ /* -------------------------------------------------------------------------- */ /**
16
+ */
17
+ setMetaValue(key, value, createIfNotExists = true, sendChange = "auto") {
18
+ return this.obj?.setMetaValue(key, value, createIfNotExists, sendChange);
19
+ }
20
+ getMeta(key) {
21
+ return this.obj?.getMeta(key);
22
+ }
23
+ getMetaValue(key) {
24
+ return this.obj?.getMetaValue(key);
25
+ }
26
+ /* -------------------------------------------------------------------------- */
27
+ async get_deltaObject() {
28
+ return (await this.obj?.get_deltaObject()) || {};
29
+ }
30
+ async Save() {
31
+ return (await this.obj?.Save()) || false;
32
+ }
33
+ /* -------------------------------------------------------------------------- */
34
+ /* Default Events */
35
+ /* -------------------------------------------------------------------------- */
36
+ /**
11
37
  * Use this when you load new Object
12
38
  * @param p
13
39
  * @returns
14
- */},{key:"onNew",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b;return _regeneratorRuntime().wrap(function c(a){for(;1;)switch(a.prev=a.next){case 0:return this.isEditMode&&(null===(b=this.obj)||void 0===b?void 0:b.setOriginal()),this.event_run("on_new"),this.event_run("on_change",!0),a.next=5,Promise.resolve(!0);case 5:return a.abrupt("return",a.sent);case 6:case"end":return a.stop();}},a,this)}));return a}()/**
40
+ */
41
+ async onNew(...p) {
42
+ if (this.isEditMode) {
43
+ this.obj?.setOriginal();
44
+ }
45
+ this.event_run("on_new");
46
+ this.event_run("on_change", true);
47
+ return await Promise.resolve(true);
48
+ }
49
+ /**
15
50
  * Use this when you load data to the object
16
51
  * @param p
17
52
  * @returns
18
- */},{key:"onLoad",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){var b;return _regeneratorRuntime().wrap(function c(a){for(;1;)switch(a.prev=a.next){case 0:return this.isEditMode&&(null===(b=this.obj)||void 0===b?void 0:b.setOriginal()),this.event_run("on_load"),this.event_run("on_change",!0),a.next=5,Promise.resolve(!0);case 5:return a.abrupt("return",a.sent);case 6:case"end":return a.stop();}},a,this)}));return a}()/**
53
+ */
54
+ async onLoad(...p) {
55
+ if (this.isEditMode) {
56
+ this.obj?.setOriginal();
57
+ }
58
+ this.event_run("on_load");
59
+ this.event_run("on_change", true);
60
+ return await Promise.resolve(true);
61
+ }
62
+ /**
19
63
  * Use this after succesful save to Database
20
64
  * @param p
21
65
  * @returns
22
- */},{key:"onSave",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){return _regeneratorRuntime().wrap(function b(a){for(;1;)switch(a.prev=a.next){case 0:return this.isSaved&&this.apply_changes(),this.event_run("on_save"),this.event_run("on_change",!0),a.next=5,Promise.resolve(!0);case 5:return a.abrupt("return",a.sent);case 6:case"end":return a.stop();}},a,this)}));return a}()}]),b}(_ObjectManager2["default"]);exports.WebObjectManager=WebObjectManager;var _default=WebObjectManager;exports["default"]=_default;
66
+ */
67
+ async onSave(...p) {
68
+ if (this.isSaved) {
69
+ this.apply_changes();
70
+ //var srObject = this.getSaveResult();
71
+ //this.loadValues(srObject);
72
+ }
73
+ this.event_run("on_save");
74
+ this.event_run("on_change", true);
75
+ return await Promise.resolve(true);
76
+ }
77
+ }
78
+ export default WebObjectManager;
package/dist/src/index.js CHANGED
@@ -1 +1,8 @@
1
- "use strict";var _SimpleObject=require("./structs/SimpleObject");var _ObjectArray=require("./structs/ObjectArray");var _MapableObject=require("./structs/MapableObject");var _MetaObject=require("./structs/MetaObject");var _DummyObject=require("./structs/DummyObject");var _ObjectManager=require("./structs/ObjectManager");var _WebObjectManager=require("./WebObjects/WebObjectManager");var _WebObject=require("./WebObjects/WebObject");Object.defineProperty(exports,"__esModule",{value:!0});Object.keys(_SimpleObject).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_SimpleObject[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _SimpleObject[a]}})});Object.keys(_ObjectArray).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_ObjectArray[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _ObjectArray[a]}})});Object.keys(_MapableObject).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_MapableObject[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _MapableObject[a]}})});Object.keys(_MetaObject).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_MetaObject[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _MetaObject[a]}})});Object.keys(_DummyObject).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_DummyObject[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _DummyObject[a]}})});Object.keys(_ObjectManager).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_ObjectManager[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _ObjectManager[a]}})});Object.keys(_WebObjectManager).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_WebObjectManager[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _WebObjectManager[a]}})});Object.keys(_WebObject).forEach(function(a){"default"===a||"__esModule"===a||a in exports&&exports[a]===_WebObject[a]||Object.defineProperty(exports,a,{enumerable:!0,get:function get(){return _WebObject[a]}})});
1
+ export * from "./structs/SimpleObject";
2
+ export * from "./structs/ObjectArray";
3
+ export * from "./structs/MapableObject";
4
+ export * from "./structs/MetaObject";
5
+ export * from "./structs/DummyObject";
6
+ export * from "./structs/ObjectManager";
7
+ export * from "./WebObjects/WebObjectManager";
8
+ export * from "./WebObjects/WebObject";
@@ -1 +1,8 @@
1
- "use strict";var _SimpleObject2=require("./SimpleObject");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.DummyObject=void 0;function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}var DummyObject=/*#__PURE__*/function(a){function b(a){var d;return _classCallCheck(this,b),d=c.call(this,!1,!0),d.loadValues(a,!0),d}_inherits(b,a);var c=_createSuper(b);return _createClass(b)}(_SimpleObject2.SimpleObject);exports.DummyObject=DummyObject;var _default=DummyObject;exports["default"]=_default;
1
+ import { SimpleObject } from "./SimpleObject";
2
+ export class DummyObject extends SimpleObject {
3
+ constructor(initObject) {
4
+ super(false, true);
5
+ this.loadValues(initObject, true);
6
+ }
7
+ }
8
+ export default DummyObject;
@@ -1,3 +1,73 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.MapableObject=void 0;var _ObjectArray=_interopRequireDefault(require("./ObjectArray")),_object=require("@azrico/object"),_string=require("@azrico/string"),_uid=require("@azrico/uid");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _construct(){return _construct=_isNativeReflectConstruct()?Reflect.construct.bind():function(b,c,d){var e=[null];e.push.apply(e,c);var a=Function.bind.apply(b,e),f=new a;return d&&_setPrototypeOf(f,d.prototype),f},_construct.apply(null,arguments)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}/**
1
+ import ObjectArray from "./ObjectArray";
2
+ import { object_first } from "@azrico/object";
3
+ import { string_equals_ignorecase } from "@azrico/string";
4
+ import { uid } from "@azrico/uid";
5
+ /**
2
6
  * This object can be mapped and converted
3
- */var MapableObject=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),_defineProperty(this,"__uid",void 0),_defineProperty(this,"__data_id",void 0),_defineProperty(this,"__table_id",void 0),_defineProperty(this,"__row_number",void 0),this.__uid=_uid.uid.localuid()}return _createClass(a,null,[{key:"mapto",value:function mapto(a,b){for(var c=this,d=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],e=arguments.length,f=Array(3<e?e-3:0),g=3;g<e;g++)f[g-3]=arguments[g];if(void 0===b){if(void 0===a)return[];if(a instanceof Object)return[];b=a,a=this}return null==b?[]:(b instanceof _ObjectArray["default"]&&(b=b.getObjects()),"object"!=_typeof(b)&&(b=[b]),Array.isArray(b)?b.map(function(b){return c.ensure.apply(c,[a,b,d].concat(f))}):[this.ensure.apply(this,[a,b,d].concat(f))])}},{key:"ensure",value:function ensure(a,b,c){void 0===b&&(b=a,a=this),Array.isArray(b)&&(b=(0,_object.object_first)(b));for(var d=arguments.length,e=Array(3<d?d-3:0),f=3;f<d;f++)e[f-3]=arguments[f];return b instanceof a?b:_construct(a,[b,c].concat(e))}/* -------------------------------------------------------------------------- */},{key:"map_rowindex",value:function map_rowindex(a){var b,c=0;return null!==(b=null===a||void 0===a?void 0:a.map(function(a){return a.__row_number=++c,a}))&&void 0!==b?b:[]}},{key:"map_tableid",value:function map_tableid(a){var b,c=0;return null!==(b=null===a||void 0===a?void 0:a.map(function(a){var b;return a.__table_id=null!==(b=a.__uid)&&void 0!==b?b:++c+"",a}))&&void 0!==b?b:[]}},{key:"equals",value:function equals(c,d){return(console.warn("Dont use the default equals method !"),null!=c&&null!=d)&&("object"===_typeof(c)&&(c=c.__uid),"object"===_typeof(d)&&(d=d.__uid),(0,_string.string_equals_ignorecase)(c,d))}}]),a}();exports.MapableObject=MapableObject;var _default=MapableObject;exports["default"]=_default;
7
+ */
8
+ export class MapableObject {
9
+ __uid;
10
+ __data_id;
11
+ __table_id;
12
+ __row_number;
13
+ constructor() {
14
+ this.__uid = uid.localuid();
15
+ }
16
+ static mapto(maptoType, objectlist, isEditMode = true, ...p) {
17
+ if (objectlist === undefined) {
18
+ if (maptoType === undefined)
19
+ return [];
20
+ if (maptoType instanceof Object)
21
+ return [];
22
+ objectlist = maptoType;
23
+ maptoType = this;
24
+ }
25
+ if (objectlist == null)
26
+ return [];
27
+ if (objectlist instanceof ObjectArray)
28
+ objectlist = objectlist.getObjects();
29
+ if (typeof objectlist != "object")
30
+ objectlist = [objectlist];
31
+ if (!Array.isArray(objectlist)) {
32
+ return [this.ensure(maptoType, objectlist, isEditMode, ...p)];
33
+ }
34
+ return objectlist.map((r) => this.ensure(maptoType, r, isEditMode, ...p));
35
+ }
36
+ static ensure(maptoType, object, isEditMode, ...p) {
37
+ if (object === undefined) {
38
+ object = maptoType;
39
+ maptoType = this;
40
+ }
41
+ if (Array.isArray(object))
42
+ object = object_first(object);
43
+ return object instanceof maptoType
44
+ ? object
45
+ : new maptoType(object, isEditMode, ...p);
46
+ }
47
+ /* -------------------------------------------------------------------------- */
48
+ static map_rowindex(objectlist) {
49
+ let index = 0;
50
+ return (objectlist?.map((r, i) => {
51
+ r.__row_number = ++index;
52
+ return r;
53
+ }) ?? []);
54
+ }
55
+ static map_tableid(objectlist) {
56
+ let index = 0;
57
+ return (objectlist?.map((r, i) => {
58
+ r.__table_id = r.__uid ?? String(++index);
59
+ return r;
60
+ }) ?? []);
61
+ }
62
+ static equals(a, b) {
63
+ console.warn("Dont use the default equals method !");
64
+ if (a == undefined || b == undefined)
65
+ return false;
66
+ if (typeof a === "object")
67
+ a = a.__uid;
68
+ if (typeof b === "object")
69
+ b = b.__uid;
70
+ return string_equals_ignorecase(a, b);
71
+ }
72
+ }
73
+ export default MapableObject;
@@ -1 +1,35 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.MetaObject=void 0;var _object=require("@azrico/object"),_SimpleObject2=_interopRequireDefault(require("./SimpleObject"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var MetaObject=/*#__PURE__*/function(a){function b(a,d){var e;return _classCallCheck(this,b),e=c.call(this,!0,!1),_defineProperty(_assertThisInitialized(e),"id",void 0),_defineProperty(_assertThisInitialized(e),"key",""),_defineProperty(_assertThisInitialized(e),"value",void 0),"object"===_typeof(a)?(e.id=a.id,e.key=a.key,e.value=a.value):"string"==typeof a&&(e.key=a,e.value=d),e.setOriginal(),e}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"get_saveObject",value:function(){function a(){return c.apply(this,arguments)}var c=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){return _regeneratorRuntime().wrap(function c(a){for(;1;)switch(a.prev=a.next){case 0:return a.next=2,b.get_saveObject(this);case 2:return a.abrupt("return",a.sent);case 3:case"end":return a.stop();}},a,this)}));return a}()},{key:"Prepare",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function a(){return _regeneratorRuntime().wrap(function b(a){for(;1;)switch(a.prev=a.next){case 0:return this.key+="",a.next=3,Promise.resolve(!0);case 3:return a.abrupt("return",a.sent);case 4:case"end":return a.stop();}},a,this)}));return a}()},{key:"isNew",get:function get(){return null==this.id||0>=+this.id}},{key:"isDeleted",get:function get(){return(0,_object.object_isExactlyEmpty)(this.value)}}],[{key:"get_saveObject",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){return _regeneratorRuntime().wrap(function b(a){for(;1;)switch(a.prev=a.next){case 0:case"end":return a.stop();}},b)}));return a}()}]),b}(_SimpleObject2["default"]);exports.MetaObject=MetaObject;var _default=MetaObject;exports["default"]=_default;
1
+ import { object_isExactlyEmpty } from "@azrico/object";
2
+ import SimpleObject from "./SimpleObject";
3
+ export class MetaObject extends SimpleObject {
4
+ id;
5
+ key = "";
6
+ value;
7
+ constructor(initObject, value) {
8
+ super(true, false);
9
+ if (typeof initObject === "object") {
10
+ this.id = initObject.id;
11
+ this.key = initObject.key;
12
+ this.value = initObject.value;
13
+ }
14
+ else if (typeof initObject === "string") {
15
+ this.key = initObject;
16
+ this.value = value;
17
+ }
18
+ this.setOriginal();
19
+ }
20
+ async get_saveObject() {
21
+ return await MetaObject.get_saveObject(this);
22
+ }
23
+ static async get_saveObject(obj) { }
24
+ async Prepare() {
25
+ this.key = String(this.key);
26
+ return await Promise.resolve(true);
27
+ }
28
+ get isNew() {
29
+ return this.id == null || Number(this.id) <= 0;
30
+ }
31
+ get isDeleted() {
32
+ return object_isExactlyEmpty(this.value);
33
+ }
34
+ }
35
+ export default MetaObject;
@@ -1 +1,43 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.ObjectArray=void 0;function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var ObjectArray=/*#__PURE__*/function(){/* -------------------------------------------------------------------------- */ /* Values */ /* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */ /* Base */ /* -------------------------------------------------------------------------- */function a(b,c){_classCallCheck(this,a),_defineProperty(this,"objArray",[]),this.setObjects(b,c)}return _createClass(a,[{key:"addObjects",value:function addObjects(b,c){var d=this;if(null==b)return!1;var e=a.flattenWebObjects(b);return c&&(e=e.map(function(a){return a instanceof c?a:new c(a)})),e.map(function(a){return d.objArray.push(a)}),!0}},{key:"setObjects",value:function setObjects(a,b){this.objArray=[],this.addObjects(a,b)}},{key:"getObjects",value:function getObjects(){return this.objArray}}],[{key:"flattenWebObjects",value:function flattenWebObjects(b){if(b instanceof a)return a.flattenWebObjects(b.objArray);if(Array.isArray(b)){var c=[];return b.map(function(b){a.flattenWebObjects(b).map(function(a){return c.push(a)})}),c}return[b]}}]),a}();exports.ObjectArray=ObjectArray;var _default=ObjectArray;exports["default"]=_default;
1
+ export class ObjectArray {
2
+ /* -------------------------------------------------------------------------- */
3
+ /* Values */
4
+ /* -------------------------------------------------------------------------- */
5
+ objArray = [];
6
+ /* -------------------------------------------------------------------------- */
7
+ /* Base */
8
+ /* -------------------------------------------------------------------------- */
9
+ constructor(initObject, mapto_type) {
10
+ this.setObjects(initObject, mapto_type);
11
+ }
12
+ addObjects(initObject, mapto_type) {
13
+ if (initObject == null)
14
+ return false;
15
+ let resultObjects = ObjectArray.flattenWebObjects(initObject);
16
+ if (mapto_type)
17
+ resultObjects = resultObjects.map((r) => r instanceof mapto_type ? r : new mapto_type(r));
18
+ resultObjects.map((s) => this.objArray.push(s));
19
+ return true;
20
+ }
21
+ setObjects(initObject, mapto_type) {
22
+ this.objArray = [];
23
+ this.addObjects(initObject, mapto_type);
24
+ }
25
+ getObjects() {
26
+ return this.objArray;
27
+ }
28
+ static flattenWebObjects(inputData) {
29
+ if (inputData instanceof ObjectArray) {
30
+ return ObjectArray.flattenWebObjects(inputData.objArray);
31
+ }
32
+ else if (Array.isArray(inputData)) {
33
+ let final_result = [];
34
+ inputData.map((ind) => {
35
+ ObjectArray.flattenWebObjects(ind).map((s) => final_result.push(s));
36
+ });
37
+ return final_result;
38
+ }
39
+ else
40
+ return [inputData];
41
+ }
42
+ }
43
+ export default ObjectArray;
@@ -39,10 +39,9 @@ export declare class ObjectManager<ObjType extends SimpleObject> {
39
39
  */
40
40
  setSubValue(key: string, objKey: string, subvalue: any): boolean;
41
41
  pushValue(key: string, value: any): any;
42
+ getIndexOrID(): number | string;
42
43
  getIndex(): number;
43
- static getIndex(o: any): number;
44
44
  getID(): string;
45
- static getID(o: any): string;
46
45
  event_run(eventName: string, ...params: any): Promise<void>;
47
46
  event_use(name: string, runEvent: (...inputdata: any) => any, onlyOn?: any, runOnce?: boolean): any;
48
47
  event_add(name: string, uname: string, runEvent: (...inputdata: any) => any, onlyOn?: any, runOnce?: boolean): Promise<void>;
@@ -1,27 +1,217 @@
1
- "use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.ObjectManager=void 0;var _global=require("@azrico/global"),_object=require("@azrico/object"),_event=require("@azrico/event"),_SimpleObject=_interopRequireDefault(require("./SimpleObject")),_string=require("@azrico/string");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}/**
1
+ import { gfunc } from "@azrico/global";
2
+ import { object_equals_loose, } from "@azrico/object";
3
+ import { EventManager } from "@azrico/event";
4
+ import SimpleObject from "./SimpleObject";
5
+ import { combine_if_not_blank } from "@azrico/string";
6
+ /**
2
7
  * This class manages the events of an Simple Object
3
- */var ObjectManager=/*#__PURE__*/function(){function a(){_classCallCheck(this,a),_defineProperty(this,"__eventList",void 0),_defineProperty(this,"__eventPrefix",void 0),_defineProperty(this,"__sendEvents",!0),_defineProperty(this,"__currentObject",void 0),_defineProperty(this,"__options",void 0)}return _createClass(a,[{key:"notifyChanged",value:function notifyChanged(a,b,c){var d=this.getObject();if(!d)return!1;void 0===c&&(c=d.getValue(b));var e=(a?"$".concat(a,"$"):"")+b;this.event_run("on_change",e,c)}/* -------------------------------------------------------------------------- */},{key:"obj",get:function get(){return this.getObject()}},{key:"getObject",value:function getObject(){var a;return null!==(a=this.__currentObject)&&void 0!==a?a:void 0}},{key:"setObject",value:function setObject(a){var b=this;return this.__currentObject=a,this.__currentObject&&(this.__currentObject.get_managerClass=function(){return b}),!0}/* -------------------------------------------------------------------------- */ /* Child functions */ /* -------------------------------------------------------------------------- */},{key:"isChanged",get:function get(){return null!=this.obj&&this.obj.isChanged}},{key:"isDeleted",get:function get(){return null==this.obj||this.obj.isDeleted}},{key:"d",get:function get(){var a;return null===(a=this.obj)||void 0===a?void 0:a.d}},{key:"canModify",get:function get(){var a;return!(null!==(a=this.obj)&&void 0!==a&&a.canModify)}},{key:"isEditMode",get:function get(){var a;return null===(a=this.obj)||void 0===a?void 0:a.isEditMode}},{key:"isNew",get:function get(){return null==this.obj||this.obj.isNew}},{key:"isSaved",get:function get(){var a;return(null===(a=this.obj)||void 0===a?void 0:a.isSaved)||!1}},{key:"__cache_name",get:function get(){return this.constructor.__cache_name}},{key:"apply_changes",value:function apply_changes(){var a;return null===(a=this.obj)||void 0===a?void 0:a.apply_changes()}},{key:"getValue",value:function getValue(a){var b,c=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return null===(b=this.obj)||void 0===b?void 0:b.getValue(a,c)}},{key:"get",value:function get(a){var b,c=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return null===(b=this.obj)||void 0===b?void 0:b.get(a,c)}/**
8
+ */
9
+ export class ObjectManager {
10
+ __eventList;
11
+ __eventPrefix;
12
+ __sendEvents = true;
13
+ __currentObject;
14
+ __options;
15
+ notifyChanged(type, key, value, subvalue) {
16
+ const obj = this.getObject();
17
+ if (!obj)
18
+ return false;
19
+ if (value === undefined)
20
+ value = obj.getValue(key);
21
+ const typestr = (type ? `$${type}$` : "") + key;
22
+ this.event_run("on_change", typestr, value);
23
+ }
24
+ /* -------------------------------------------------------------------------- */
25
+ get obj() {
26
+ return this.getObject();
27
+ }
28
+ getObject() {
29
+ return this.__currentObject ?? undefined;
30
+ }
31
+ setObject(toObj) {
32
+ this.__currentObject = toObj;
33
+ if (this.__currentObject) {
34
+ this.__currentObject.get_managerClass = () => {
35
+ return this;
36
+ };
37
+ }
38
+ return true;
39
+ }
40
+ /* -------------------------------------------------------------------------- */
41
+ /* Child functions */
42
+ /* -------------------------------------------------------------------------- */
43
+ get isChanged() {
44
+ return this.obj != null && this.obj.isChanged;
45
+ }
46
+ get isDeleted() {
47
+ return this.obj == null || this.obj.isDeleted;
48
+ }
49
+ get d() {
50
+ return this.obj?.d;
51
+ }
52
+ get canModify() {
53
+ return !this.obj?.canModify;
54
+ }
55
+ get isEditMode() {
56
+ return this.obj?.isEditMode;
57
+ }
58
+ get isNew() {
59
+ return this.obj == null || this.obj.isNew;
60
+ }
61
+ get isSaved() {
62
+ return this.obj?.isSaved || false;
63
+ }
64
+ get __cache_name() {
65
+ return this.constructor["__cache_name"];
66
+ }
67
+ apply_changes() {
68
+ return this.obj?.apply_changes();
69
+ }
70
+ getValue(key, original = false) {
71
+ return this.obj?.getValue(key, original);
72
+ }
73
+ get(key, original = false) {
74
+ return this.obj?.get(key, original);
75
+ }
76
+ /**
4
77
  * set value
5
78
  * @param key
6
79
  * @param value
7
80
  * @return true if changed , false otherwise
8
- */},{key:"setValue",value:function setValue(a,b){var c;return(null===(c=this.obj)||void 0===c?void 0:c.setValue(a,b))||!1}/**
81
+ */
82
+ setValue(key, value) {
83
+ return this.obj?.setValue(key, value) || false;
84
+ }
85
+ /**
9
86
  * set key of subObject
10
87
  * @param key
11
88
  * @param value
12
89
  * @param subvalue
13
90
  * @return true if changed , false otherwise
14
- */},{key:"setSubValue",value:function setSubValue(a,b,c){var d;return(null===(d=this.obj)||void 0===d?void 0:d.setSubValue(a,b,c))||!1}//Push value on array
15
- },{key:"pushValue",value:function pushValue(a,b){var c;return(null===(c=this.obj)||void 0===c?void 0:c.pushValue(a,b))||!1}/* -------------------------------------------------------------------------- */},{key:"getIndex",value:function getIndex(){var a;return(null===(a=this.obj)||void 0===a?void 0:a.getIndex())||-1}},{key:"getID",value:function getID(){var a;return(null===(a=this.obj)||void 0===a?void 0:a.getID())||""}},{key:"event_run",value:/* -------------------------------------------------------------------------- */ /* Getters */ /* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */ /* Events */ /* -------------------------------------------------------------------------- */function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e,f=arguments;return _regeneratorRuntime().wrap(function g(b){for(;1;)switch(b.prev=b.next){case 0:if(this.__sendEvents){b.next=2;break}return b.abrupt("return");case 2:for(c=f.length,d=Array(1<c?c-1:0),e=1;e<c;e++)d[e-1]=f[e];return b.next=5,_event.EventManager.run.apply(_event.EventManager,[this,a].concat(d));case 5:case"end":return b.stop();}},b,this)}));return a}()},{key:"event_use",value:function event_use(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,d=!!(3<arguments.length&&void 0!==arguments[3])&&arguments[3];return _event.EventManager.use(this,a,b,c,d)}},{key:"event_add",value:function(){function a(a,c,d){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function d(a,b,c){var e,f,g=arguments;return _regeneratorRuntime().wrap(function h(d){for(;1;)switch(d.prev=d.next){case 0:return e=3<g.length&&void 0!==g[3]?g[3]:null,f=!!(4<g.length&&void 0!==g[4])&&g[4],d.next=4,_event.EventManager.add(this,a,b,c,e,f);case 4:case"end":return d.stop();}},d,this)}));return a}()},{key:"events_stop",value:function events_stop(){this.__sendEvents=!1}},{key:"events_clear",value:function events_clear(){a.events_clear(this)}},{key:"toggleOption",value:/* -------------------------------------------------------------------------- */ /* Options */ /* -------------------------------------------------------------------------- */ /**
91
+ */
92
+ setSubValue(key, objKey, subvalue) {
93
+ return this.obj?.setSubValue(key, objKey, subvalue) || false;
94
+ }
95
+ //Push value on array
96
+ pushValue(key, value) {
97
+ return this.obj?.pushValue(key, value) || false;
98
+ }
99
+ /* -------------------------------------------------------------------------- */
100
+ getIndexOrID() {
101
+ return this.obj?.getIndexOrID() || -1;
102
+ }
103
+ getIndex() {
104
+ return this.obj?.getIndex() || -1;
105
+ }
106
+ getID() {
107
+ return this.obj?.getID() || "";
108
+ }
109
+ /* -------------------------------------------------------------------------- */
110
+ /* Getters */
111
+ /* -------------------------------------------------------------------------- */
112
+ /* -------------------------------------------------------------------------- */
113
+ /* Events */
114
+ /* -------------------------------------------------------------------------- */
115
+ async event_run(eventName, ...params) {
116
+ if (!this.__sendEvents)
117
+ return;
118
+ await EventManager.run(this, eventName, ...params);
119
+ }
120
+ event_use(name, runEvent, onlyOn = null, runOnce = false) {
121
+ return EventManager.use(this, name, runEvent, onlyOn, runOnce);
122
+ }
123
+ async event_add(name, uname, runEvent, onlyOn = null, runOnce = false) {
124
+ await EventManager.add(this, name, uname, runEvent, onlyOn, runOnce);
125
+ }
126
+ events_stop() {
127
+ this.__sendEvents = false;
128
+ }
129
+ events_clear() {
130
+ ObjectManager.events_clear(this);
131
+ }
132
+ static events_clear(obj) {
133
+ EventManager.removeAll(obj);
134
+ }
135
+ /* -------------------------------------------------------------------------- */
136
+ /* Options */
137
+ /* -------------------------------------------------------------------------- */
138
+ /**
16
139
  * Set an option to some value, if its already equal to the value it will be deleted instead
17
140
  * @param key
18
141
  * @param value
19
142
  * @returns
20
- */function toggleOption(a,b){var c=this.getOption(a);(0,_object.object_equals_loose)(c,b)?this.setOption(a,null):this.setOption(a,b)}},{key:"setOption",value:function setOption(a,b){return null==this.__options&&(this.__options={}),null==b?delete this.__options[a]:this.__options[a]=b,this.event_run("on_option_change",a,b)}/**
143
+ */
144
+ toggleOption(key, value) {
145
+ var oldval = this.getOption(key);
146
+ if (object_equals_loose(oldval, value)) {
147
+ this.setOption(key, null);
148
+ }
149
+ else
150
+ this.setOption(key, value);
151
+ }
152
+ setOption(key, value) {
153
+ if (this.__options == null)
154
+ this.__options = {};
155
+ if (value == null) {
156
+ delete this.__options[key];
157
+ }
158
+ else {
159
+ this.__options[key] = value;
160
+ }
161
+ return this.event_run("on_option_change", key, value);
162
+ }
163
+ /**
21
164
  * Sets an option then does an action,
22
165
  * after the action is run, updates the option again
23
166
  * @param key
24
167
  * @param value
25
168
  * @param nextvalue
26
169
  * @param action
27
- */},{key:"holdOption",value:function(){function a(a,c,d,e){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function e(a,b,c,d){return _regeneratorRuntime().wrap(function f(e){for(;1;)switch(e.prev=e.next){case 0:if(e.prev=0,this.setOption(a,b),"function"!=typeof d){e.next=5;break}return e.next=5,d();case 5:return e.prev=5,this.setOption(a,c),e.finish(5);case 8:case"end":return e.stop();}},e,this,[[0,,5,8]])}));return a}()},{key:"getOption",value:function getOption(a){return null==this.__options?void 0:this.__options[a]}/* -------------------------------------------------------------------------- */ /* Errors */ /* -------------------------------------------------------------------------- */},{key:"addError",value:function addError(b,c){var d=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"auto";return a.addError(this,b,c,d)}},{key:"getErrors",value:function getErrors(){return a.getErrors(this)}},{key:"clearErrors",value:function clearErrors(){return a.clearErrors(this)}}],[{key:"getIndex",value:function getIndex(a){return _SimpleObject["default"].getIndex(a)}},{key:"getID",value:function getID(a){return _SimpleObject["default"].getID(a)}},{key:"events_clear",value:function events_clear(a){_event.EventManager.removeAll(a)}},{key:"addError",value:function addError(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"auto";if(a&&a.obj)return _SimpleObject["default"].addError(a.obj,b,c,d);var e=(0,_string.combine_if_not_blank)(b," : ",c);console.error("[REGISTER-ERROR]",e),_global.gfunc.run_action("add_error",{title:b,message:c,type:"error"})}},{key:"getErrors",value:function getErrors(a){return _SimpleObject["default"].getErrors(a.obj)||[]}},{key:"clearErrors",value:function clearErrors(a){return _SimpleObject["default"].clearErrors(a.obj)}}]),a}();exports.ObjectManager=ObjectManager;var _default=ObjectManager;exports["default"]=_default;
170
+ */
171
+ async holdOption(key, value, nextvalue, action) {
172
+ try {
173
+ this.setOption(key, value);
174
+ if (typeof action === "function")
175
+ await action();
176
+ }
177
+ finally {
178
+ this.setOption(key, nextvalue);
179
+ }
180
+ }
181
+ getOption(key) {
182
+ if (this.__options == null)
183
+ return undefined;
184
+ return this.__options[key];
185
+ }
186
+ /* -------------------------------------------------------------------------- */
187
+ /* Errors */
188
+ /* -------------------------------------------------------------------------- */
189
+ addError(title, message, sendToRegister = "auto") {
190
+ return ObjectManager.addError(this, title, message, sendToRegister);
191
+ }
192
+ getErrors() {
193
+ return ObjectManager.getErrors(this);
194
+ }
195
+ clearErrors() {
196
+ return ObjectManager.clearErrors(this);
197
+ }
198
+ static addError(o, title, message, sendToRegister = "auto") {
199
+ if (o && o.obj) {
200
+ return SimpleObject.addError(o.obj, title, message, sendToRegister);
201
+ }
202
+ const errStr = combine_if_not_blank(title, " : ", message);
203
+ console.error("[REGISTER-ERROR]", errStr);
204
+ gfunc.run_action("add_error", {
205
+ title: title,
206
+ message: message,
207
+ type: "error",
208
+ });
209
+ }
210
+ static getErrors(o) {
211
+ return SimpleObject.getErrors(o.obj) || [];
212
+ }
213
+ static clearErrors(o) {
214
+ return SimpleObject.clearErrors(o.obj);
215
+ }
216
+ }
217
+ export default ObjectManager;
@@ -70,10 +70,9 @@ export declare class SimpleObject extends MapableObject {
70
70
  get_lastChanged(): boolean;
71
71
  get_managerClass: () => ObjectManager<this> | null;
72
72
  static isDeleted<T extends SimpleObject>(obj: T): boolean;
73
+ getIndexOrID(): number | string;
73
74
  getIndex(): number;
74
- static getIndex(o: any): number;
75
75
  getID(): string;
76
- static getID(o: any): string;
77
76
  getOriginal(): this | undefined;
78
77
  setOriginal(toObj?: null | 0 | any): this | undefined;
79
78
  static setOriginal<T>(obj: T, toObj?: null | 0 | any): T | undefined;
@@ -1,28 +1,439 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=exports.SimpleObject=void 0;var _global=require("@azrico/global"),_object=require("@azrico/object"),_MapableObject2=require("./MapableObject"),_ObjectManager=_interopRequireDefault(require("./ObjectManager")),_string=require("@azrico/string");function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _inherits(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&_setPrototypeOf(a,b)}function _setPrototypeOf(a,b){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},_setPrototypeOf(a,b)}function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _possibleConstructorReturn(a,b){if(b&&("object"===_typeof(b)||"function"==typeof b))return b;if(void 0!==b)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(a)}function _assertThisInitialized(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}function _getPrototypeOf(a){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},_getPrototypeOf(a)}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var SimpleObject=/*#__PURE__*/function(a){//changes
2
- //errors
3
- //save results
4
- //sequence key
5
- //sequence value , used to index the object with increasing numbers
6
- function b(){var a,d=!(0<arguments.length&&void 0!==arguments[0])||arguments[0],e=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return _classCallCheck(this,b),a=c.call(this),_defineProperty(_assertThisInitialized(a),"__originalobject",void 0),_defineProperty(_assertThisInitialized(a),"__delta",void 0),_defineProperty(_assertThisInitialized(a),"__changed",!1),_defineProperty(_assertThisInitialized(a),"__lastChanged",""),_defineProperty(_assertThisInitialized(a),"__is_readonly",void 0),_defineProperty(_assertThisInitialized(a),"__is_edit_mode",void 0),_defineProperty(_assertThisInitialized(a),"__errors",void 0),_defineProperty(_assertThisInitialized(a),"__showErrors",void 0),_defineProperty(_assertThisInitialized(a),"__saveResultObject",void 0),_defineProperty(_assertThisInitialized(a),"__saveResultIsSuccess",void 0),_defineProperty(_assertThisInitialized(a),"__saveResultType",void 0),_defineProperty(_assertThisInitialized(a),"_index_key",void 0),_defineProperty(_assertThisInitialized(a),"_index_value",void 0),_defineProperty(_assertThisInitialized(a),"get_managerClass",function(){return null}),a.__delta={},a.__is_edit_mode=d,a.__is_readonly=e||!a.__is_edit_mode,a.clear_changes(),a}/* -------------------------------------------------------------------------- */ /* Load */ /* -------------------------------------------------------------------------- */_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"loadValues",value:function loadValues(a){var c=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return b.loadValues(this,a,c),!0}},{key:"getValue",value:function getValue(a){var b=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return!b&&this.__delta[a]?this.__delta[a]:this[a]}},{key:"get",value:function get(a){var b=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return this.getValue(a,b)}/**
1
+ import { gcache, gfunc } from "@azrico/global";
2
+ import { object_clone, object_equals, object_isEmpty, object_isTrue, object_removeKeys, prop_rn, } from "@azrico/object";
3
+ import { MapableObject } from "./MapableObject";
4
+ import ObjectManager from "./ObjectManager";
5
+ import { combine_if_not_blank } from "@azrico/string";
6
+ export class SimpleObject extends MapableObject {
7
+ static __cache_name;
8
+ static __unchangeables;
9
+ static __changeables;
10
+ __originalobject;
11
+ //changes
12
+ __delta;
13
+ __changed = false;
14
+ __lastChanged = "";
15
+ __is_readonly;
16
+ __is_edit_mode;
17
+ //errors
18
+ __errors;
19
+ __showErrors;
20
+ //save results
21
+ __saveResultObject;
22
+ __saveResultIsSuccess;
23
+ __saveResultType;
24
+ //sequence key
25
+ _index_key;
26
+ //sequence value , used to index the object with increasing numbers
27
+ _index_value;
28
+ constructor(isEditMode = true, is_readonly = false) {
29
+ super();
30
+ this.__delta = {};
31
+ this.__is_edit_mode = isEditMode;
32
+ this.__is_readonly = is_readonly || !this.__is_edit_mode;
33
+ this.clear_changes();
34
+ }
35
+ /* -------------------------------------------------------------------------- */
36
+ /* Load */
37
+ /* -------------------------------------------------------------------------- */
38
+ loadValues(initObject, fullUpdate = false) {
39
+ SimpleObject.loadValues(this, initObject, fullUpdate);
40
+ return true;
41
+ }
42
+ static loadValues(obj, initObject, fullUpdate = false) {
43
+ SimpleObject.factoryClear(obj);
44
+ if (initObject == null) {
45
+ for (const key in obj) {
46
+ if (key.startsWith("__"))
47
+ continue;
48
+ delete obj[key];
49
+ }
50
+ }
51
+ else if (typeof initObject == "object") {
52
+ for (const key in initObject) {
53
+ if (key.startsWith("__"))
54
+ continue;
55
+ if (fullUpdate ||
56
+ Object.prototype.hasOwnProperty.call(obj, key)) {
57
+ obj[key] = initObject[key];
58
+ }
59
+ }
60
+ }
61
+ return true;
62
+ }
63
+ /* -------------------------------------------------------------------------- */
64
+ static getValue(o, key, original = false) {
65
+ if (o instanceof SimpleObject && typeof o.getValue === "function")
66
+ return o.getValue(key, original);
67
+ if (!original && o.__delta[key])
68
+ return o.__delta[key];
69
+ return o[key];
70
+ }
71
+ getValue(key, original = false) {
72
+ if (!original && this.__delta[key])
73
+ return this.__delta[key];
74
+ return this[key];
75
+ }
76
+ get(key, original = false) {
77
+ return this.getValue(key, original);
78
+ }
79
+ /**
7
80
  * set value
8
81
  * @param key
9
82
  * @param value
10
83
  * @return true if changed , false otherwise
11
- */},{key:"setValue",value:function setValue(a,b){if(!this.canModify)throw Error("Cant use setValue when on readonly mode");var c=!1;try{var d=this.getValue(a);(0,_object.object_equals)(d,b,{ignoredStartingWords:"_"})?c=!1:(this.__delta[a]=b,c=!0)}finally{c&&this.notifyChanged("",a,b)}return c}/**
84
+ */
85
+ setValue(key, value) {
86
+ if (!this.canModify)
87
+ throw Error("Cant use setValue when on readonly mode");
88
+ let isValueChanged = false;
89
+ try {
90
+ const oldval = this.getValue(key);
91
+ if (!object_equals(oldval, value, { ignoredStartingWords: "_" })) {
92
+ this.__delta[key] = value;
93
+ isValueChanged = true;
94
+ }
95
+ else
96
+ isValueChanged = false;
97
+ }
98
+ finally {
99
+ if (isValueChanged) {
100
+ this.notifyChanged("", key, value);
101
+ }
102
+ }
103
+ return isValueChanged;
104
+ }
105
+ /**
12
106
  * set key of subObject
13
107
  * @param key
14
108
  * @param value
15
109
  * @param subvalue
16
110
  * @return true if changed , false otherwise
17
- */},{key:"setSubValue",value:function setSubValue(a,b,c){if(!this.canModify)throw Error("Cant use setValue when on readonly mode");var d=!1;try{(null==this.__delta[a]||"object"!=_typeof(this.__delta[a]))&&(this.__delta[a]={});var e=this.__delta[a][b];(0,_object.object_equals)(e,c,{ignoredStartingWords:"_"})?d=!1:(this.__delta[a][b]=c,d=!0)}finally{d&&this.notifyChanged("",a,b,c)}return d}//Push value on array
18
- },{key:"pushValue",value:function pushValue(a,b){if(null==b)return null;if(!this.canModify)throw Error("Cant use pushValue when on readonly mode");if(null==this.__delta[a]&&(this.__delta[a]=this.getValue(a)),!Array.isArray(this.__delta[a]))throw Error("Cant use pushValue on non Array keys");var c=this.__delta[a];return c.push(b),this.__delta[a]=c,this.__changed=!0,this.__lastChanged="".concat(a," : +").concat(b),c}},{key:"notifyChanged",value:function notifyChanged(a,b,c,d){void 0===c&&(c=this.getValue(b)),this.__changed=!0;var e="";a&&(e+="[".concat(a,"] ")),e+=d?"".concat(b,"->").concat(c," = ").concat(d):"".concat(b," = ").concat(c),this.__lastChanged=e;/* --------------------------- notify the manager --------------------------- */var f=this.get_managerClass();f instanceof _ObjectManager["default"]&&f.notifyChanged(a,b,c,d)}/**
111
+ */
112
+ setSubValue(key, objKey, subvalue) {
113
+ if (!this.canModify)
114
+ throw Error("Cant use setValue when on readonly mode");
115
+ let isValueChanged = false;
116
+ try {
117
+ //if accessing subval of an object, make sure the object is not null
118
+ if (this.__delta[key] == null ||
119
+ typeof this.__delta[key] != "object")
120
+ this.__delta[key] = {};
121
+ const subval = this.__delta[key][objKey];
122
+ if (!object_equals(subval, subvalue, {
123
+ ignoredStartingWords: "_",
124
+ })) {
125
+ this.__delta[key][objKey] = subvalue;
126
+ isValueChanged = true;
127
+ }
128
+ else
129
+ isValueChanged = false;
130
+ }
131
+ finally {
132
+ if (isValueChanged) {
133
+ this.notifyChanged("", key, objKey, subvalue);
134
+ }
135
+ }
136
+ return isValueChanged;
137
+ }
138
+ //Push value on array
139
+ pushValue(key, value) {
140
+ if (value == null)
141
+ return null;
142
+ if (!this.canModify)
143
+ throw Error("Cant use pushValue when on readonly mode");
144
+ if (this.__delta[key] == null) {
145
+ this.__delta[key] = this.getValue(key);
146
+ }
147
+ if (!Array.isArray(this.__delta[key]))
148
+ throw Error("Cant use pushValue on non Array keys");
149
+ let tempArray = this.__delta[key];
150
+ tempArray.push(value);
151
+ this.__delta[key] = tempArray;
152
+ this.__changed = true;
153
+ this.__lastChanged = `${key} : +${value}`;
154
+ return tempArray;
155
+ }
156
+ notifyChanged(type, key, value, subvalue) {
157
+ if (value === undefined)
158
+ value = this.getValue(key);
159
+ this.__changed = true;
160
+ let lc = "";
161
+ if (type)
162
+ lc += `[${type}] `;
163
+ if (subvalue) {
164
+ lc += `${key}->${value} = ${subvalue}`;
165
+ }
166
+ else {
167
+ lc += `${key} = ${value}`;
168
+ }
169
+ this.__lastChanged = lc;
170
+ /* --------------------------- notify the manager --------------------------- */
171
+ const manager_class = this.get_managerClass();
172
+ if (manager_class instanceof ObjectManager) {
173
+ manager_class.notifyChanged(type, key, value, subvalue);
174
+ }
175
+ }
176
+ /**
19
177
  * Rename object property, mostly used to fix init_object to match legacy versions
20
178
  * @param o
21
179
  * @param f
22
180
  * @param t
23
181
  * @returns
24
- */},{key:"rn",value:function rn(a,b,c){return"object"==_typeof(a)&&"string"==typeof b&&"string"==typeof c?(0,_object.prop_rn)(a,b,c):"string"==typeof a&&"string"==typeof b&&(0,_object.prop_rn)(this,a,b)}},{key:"apply_changes",value:/* -------------------------------------------------------------------------- */ /* Changes */ /* -------------------------------------------------------------------------- */ /**
182
+ */
183
+ rn(o, f, t) {
184
+ if (typeof o == "object") {
185
+ if (typeof f === "string" && typeof t === "string") {
186
+ return prop_rn(o, f, t);
187
+ }
188
+ }
189
+ if (typeof o === "string" && typeof f === "string") {
190
+ return prop_rn(this, o, f);
191
+ }
192
+ return false;
193
+ }
194
+ static canChangeKey(key) {
195
+ return ((this.__changeables == null || this.__changeables.includes(key)) &&
196
+ (this.__unchangeables == null ||
197
+ !this.__unchangeables.includes(key)));
198
+ }
199
+ /* -------------------------------------------------------------------------- */
200
+ /* Changes */
201
+ /* -------------------------------------------------------------------------- */
202
+ /**
25
203
  * Apply the changes and empty the delta object
26
- */function apply_changes(){for(var a in this.isChanged||console.warn("No changes to apply"),this.__delta){var b=this.__delta[a];this[a]=b}this.__delta={},this.__changed=!1}},{key:"clear_changes",value:function clear_changes(){this.__delta={},this.__changed=!1}},{key:"isChanged",get:/* -------------------------------------------------------------------------- */ /* Get/Check */ /* -------------------------------------------------------------------------- */function get(){return!(0,_object.object_isEmpty)(this.__delta)}},{key:"isDeleted",get:function get(){return!1}},{key:"d",get:function get(){return this.__delta}},{key:"canModify",get:function get(){return!this.__is_readonly&&this.isEditMode}},{key:"isEditMode",get:function get(){return!1!==this.__is_edit_mode}},{key:"__cache_name",get:function get(){return this.constructor.__cache_name}},{key:"isSaved",get:function get(){var a;return null!==(a=this.__saveResultIsSuccess)&&void 0!==a&&a}},{key:"isNew",get:function get(){var a=this.getID();return!(a&&"-1"!==a)}},{key:"manager",get:function get(){return this.get_managerClass()}},{key:"get_lastChanged",value:function get_lastChanged(){return!this.__lastChanged}},{key:"getIndex",value:function getIndex(){return this._index_value||-1}},{key:"getID",value:function getID(){//@ts-ignore
27
- return this.__data_id||this._id||this.id||this.ID||"-1"}},{key:"getOriginal",value:/* -------------------------------------------------------------------------- */ /* Original */ /* -------------------------------------------------------------------------- */function getOriginal(){return this.__originalobject||void 0}},{key:"setOriginal",value:function setOriginal(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;if(null===a)return void delete this.__originalobject;if(!this.isEditMode)return void console.warn("Cant use setOriginal on non original objects ! this will create an infinite loop");if(this.__is_readonly)return void delete this.__originalobject;0===a&&(a=this);var b=(0,_object.object_clone)(a);//this.__originalobject = cloneObject, ["__"];
28
- return this.__originalobject=(0,_object.object_removeKeys)(b,["__"]),this}},{key:"setSaveResult",value:function setSaveResult(a,b){this.__saveResultType=b,!0===a||!1===a||(a?this.setSaveResultObject(a):this.setSaveResultObject(null)),this.__saveResultIsSuccess=("normal"===b||"nothing"===b)&&null!=a}},{key:"setSaveResultObject",value:function setSaveResultObject(a){this.__saveResultObject=a}},{key:"getSaveResult",value:function getSaveResult(){return!!this.isSaved&&this.__saveResultObject}/* -------------------------------------------------------------------------- */ /* statics */ /* -------------------------------------------------------------------------- */}],[{key:"loadValues",value:function loadValues(a,c){var d=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2];if(b.factoryClear(a),null==c)for(var e in a)e.startsWith("__")||delete a[e];else if("object"==_typeof(c))for(var f in c)f.startsWith("__")||(d||Object.prototype.hasOwnProperty.call(a,f))&&(a[f]=c[f]);return!0}/* -------------------------------------------------------------------------- */},{key:"getValue",value:function getValue(a,c){var d=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2];return a instanceof b&&"function"==typeof a.getValue?a.getValue(c,d):!d&&a.__delta[c]?a.__delta[c]:a[c]}},{key:"canChangeKey",value:function canChangeKey(a){return(null==this.__changeables||this.__changeables.includes(a))&&(null==this.__unchangeables||!this.__unchangeables.includes(a))}},{key:"setReadonly",value:function setReadonly(a){var b=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],c=[];a||(a=[]),c=Array.isArray(a)?a:[a];for(var d,e=0;e<c.length;e++)d=c[e],d.__is_readonly=b}},{key:"isDeleted",value:function isDeleted(a){return!!(a instanceof b)&&!0===a.isDeleted}},{key:"getIndex",value:function getIndex(a){var c;if(null==a||null==a)return-1;if(a instanceof b)return null!==(c=a.getIndex())&&void 0!==c?c:-1;switch(_typeof(a)){case"object":return a._index_value||-1;case"number":return a;}return-1}},{key:"getID",value:function getID(a){var c;if(null==a||null==a)return"-1";if(a instanceof b)return null!==(c=a.getID())&&void 0!==c?c:"-1";switch(_typeof(a)){case"object":return a.__data_id||a._id||a.id||a.ID||"-1";case"number":return a+"";}return"-1"}},{key:"setOriginal",value:function setOriginal(a){var c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return a instanceof b?a.setOriginal(c):void 0}},{key:"getOriginal",value:function getOriginal(a){return a instanceof b?a.getOriginal():null===a||void 0===a?void 0:a.__originalobject}/* -------------------------------------------------------------------------- */ /* Errors */ /* -------------------------------------------------------------------------- */},{key:"addError",value:function addError(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"auto",e=(0,_string.combine_if_not_blank)(b," : ",c);if(!a)"auto"===d&&(d=!0);else if(Array.isArray(a.__errors)||(a.__errors=[]),a.__errors.push(e),!1===a.__showErrors)return;return!0===d?(console.error("[REGISTER-ERROR]",e),_global.gfunc.run_action("add_error",{title:b,message:c,type:"error"})):console.error("[ERROR]",e),(null===a||void 0===a?void 0:a.__errors)||[]}},{key:"getErrors",value:function getErrors(a){return a.__errors||[]}},{key:"clearErrors",value:function clearErrors(a){return a.__errors=[],!0}/* -------------------------------------------------------------------------- */ /* Save Results */ /* -------------------------------------------------------------------------- */},{key:"isResultValid",value:function isResultValid(a){if((0,_object.object_isEmpty)(a))return!1;switch(_typeof(a)){case"string":try{return a=JSON.parse(a),this.isResultValid(a)}catch(a){return!1}case"object":return!!(0,_object.object_isTrue)(a.acknowledged)||(a.expected&&a.result?(0,_object.object_equals)(a.expected,a.result):0<=+this.getID(a));case"number":return 0<a;case"boolean":return!0===a;}return!1}},{key:"factoryClear",value:function factoryClear(a){a.clear_changes(),b.clearErrors(a)}},{key:"delete_cache",value:function delete_cache(){this.__cache_name&&_global.gcache.delete_cache(this.__cache_name)}},{key:"get_canModify",value:function get_canModify(a){return!!(a instanceof b)&&a.canModify}/* -------------------------------------------------------------------------- */},{key:"equals",value:function equals(c,a){return console.warn("Dont use the default equals method !"),null!=c&&null!=a&&c===a}}]),b}(_MapableObject2.MapableObject);exports.SimpleObject=SimpleObject,_defineProperty(SimpleObject,"__cache_name",void 0),_defineProperty(SimpleObject,"__unchangeables",void 0),_defineProperty(SimpleObject,"__changeables",void 0);var _default=SimpleObject;exports["default"]=_default;
204
+ */
205
+ apply_changes() {
206
+ if (!this.isChanged) {
207
+ console.warn("No changes to apply");
208
+ }
209
+ for (const key in this.__delta) {
210
+ const nv = this.__delta[key];
211
+ this[key] = nv;
212
+ }
213
+ this.__delta = {};
214
+ this.__changed = false;
215
+ }
216
+ clear_changes() {
217
+ this.__delta = {};
218
+ this.__changed = false;
219
+ }
220
+ static setReadonly(objs, readonlyval = true) {
221
+ let checkObjs = [];
222
+ if (!objs)
223
+ objs = [];
224
+ if (!Array.isArray(objs))
225
+ checkObjs = [objs];
226
+ else
227
+ checkObjs = objs;
228
+ for (let index = 0; index < checkObjs.length; index++) {
229
+ const element = checkObjs[index];
230
+ element.__is_readonly = readonlyval;
231
+ }
232
+ }
233
+ /* -------------------------------------------------------------------------- */
234
+ /* Get/Check */
235
+ /* -------------------------------------------------------------------------- */
236
+ get isChanged() {
237
+ return !object_isEmpty(this.__delta);
238
+ }
239
+ get isDeleted() {
240
+ return false;
241
+ }
242
+ get d() {
243
+ return this.__delta;
244
+ }
245
+ get canModify() {
246
+ return !this.__is_readonly && this.isEditMode;
247
+ }
248
+ get isEditMode() {
249
+ return this.__is_edit_mode !== false;
250
+ }
251
+ get __cache_name() {
252
+ return this.constructor["__cache_name"];
253
+ }
254
+ get isSaved() {
255
+ return Boolean(this.__saveResultIsSuccess ?? false);
256
+ }
257
+ get isNew() {
258
+ const mid = this.getID();
259
+ if (!mid || mid === "-1")
260
+ return true;
261
+ return false;
262
+ }
263
+ get manager() {
264
+ return this.get_managerClass();
265
+ }
266
+ get_lastChanged() {
267
+ return !this.__lastChanged;
268
+ }
269
+ get_managerClass = () => null;
270
+ static isDeleted(obj) {
271
+ if (obj instanceof SimpleObject)
272
+ return obj.isDeleted === true;
273
+ return false;
274
+ }
275
+ getIndexOrID() {
276
+ let res = this.getIndex();
277
+ if (!res || res == -1)
278
+ res = this.getID();
279
+ return res || -1;
280
+ }
281
+ getIndex() {
282
+ return this._index_value || -1;
283
+ }
284
+ getID() {
285
+ //@ts-ignore
286
+ return this.__data_id || this._id || this.id || this.ID || "-1";
287
+ }
288
+ /* -------------------------------------------------------------------------- */
289
+ /* Original */
290
+ /* -------------------------------------------------------------------------- */
291
+ getOriginal() {
292
+ return this.__originalobject || undefined;
293
+ }
294
+ setOriginal(toObj = 0) {
295
+ if (toObj === null) {
296
+ delete this.__originalobject;
297
+ return;
298
+ }
299
+ if (!this.isEditMode) {
300
+ console.warn("Cant use setOriginal on non original objects ! this will create an infinite loop");
301
+ return;
302
+ }
303
+ if (this.__is_readonly) {
304
+ delete this.__originalobject;
305
+ return;
306
+ }
307
+ if (toObj === 0) {
308
+ toObj = this;
309
+ }
310
+ const cloneObject = object_clone(toObj);
311
+ //this.__originalobject = cloneObject, ["__"];
312
+ this.__originalobject = object_removeKeys(cloneObject, ["__"]);
313
+ return this;
314
+ }
315
+ static setOriginal(obj, toObj = 0) {
316
+ if (!(obj instanceof SimpleObject))
317
+ return undefined;
318
+ return obj.setOriginal(toObj);
319
+ }
320
+ static getOriginal(obj) {
321
+ if (obj instanceof SimpleObject)
322
+ return obj.getOriginal();
323
+ return obj?.__originalobject;
324
+ }
325
+ /* -------------------------------------------------------------------------- */
326
+ /* Errors */
327
+ /* -------------------------------------------------------------------------- */
328
+ static addError(o, title, message, sendToRegister = "auto") {
329
+ const errStr = combine_if_not_blank(title, " : ", message);
330
+ if (o) {
331
+ if (!Array.isArray(o.__errors))
332
+ o.__errors = [];
333
+ o.__errors.push(errStr);
334
+ if (o.__showErrors === false)
335
+ return;
336
+ }
337
+ else if (sendToRegister === "auto")
338
+ sendToRegister = true;
339
+ if (sendToRegister === true) {
340
+ console.error("[REGISTER-ERROR]", errStr);
341
+ gfunc.run_action("add_error", {
342
+ title: title,
343
+ message: message,
344
+ type: "error",
345
+ });
346
+ }
347
+ else {
348
+ console.error("[ERROR]", errStr);
349
+ }
350
+ return o?.__errors || [];
351
+ }
352
+ static getErrors(o) {
353
+ return o.__errors || [];
354
+ }
355
+ static clearErrors(o) {
356
+ o.__errors = [];
357
+ return true;
358
+ }
359
+ /* -------------------------------------------------------------------------- */
360
+ /* Save Results */
361
+ /* -------------------------------------------------------------------------- */
362
+ static isResultValid(result_object) {
363
+ if (object_isEmpty(result_object))
364
+ return false;
365
+ switch (typeof result_object) {
366
+ case "string":
367
+ try {
368
+ result_object = JSON.parse(result_object);
369
+ return this.isResultValid(result_object);
370
+ }
371
+ catch {
372
+ return false;
373
+ }
374
+ case "object":
375
+ if (object_isTrue(result_object.acknowledged)) {
376
+ return true;
377
+ }
378
+ if (result_object.expected && result_object.result) {
379
+ return object_equals(result_object.expected, result_object.result);
380
+ }
381
+ return Number(this.getID(result_object)) >= 0;
382
+ case "number":
383
+ return result_object > 0;
384
+ case "boolean":
385
+ return result_object === true;
386
+ }
387
+ return false;
388
+ }
389
+ setSaveResult(toObj, type) {
390
+ this.__saveResultType = type;
391
+ if (toObj === true) {
392
+ }
393
+ else if (toObj === false) {
394
+ }
395
+ else {
396
+ if (toObj) {
397
+ this.setSaveResultObject(toObj);
398
+ }
399
+ else {
400
+ this.setSaveResultObject(null);
401
+ }
402
+ }
403
+ this.__saveResultIsSuccess =
404
+ (type === "normal" || type === "nothing") && toObj != null;
405
+ }
406
+ setSaveResultObject(toObj) {
407
+ this.__saveResultObject = toObj;
408
+ }
409
+ getSaveResult() {
410
+ if (this.isSaved)
411
+ return this.__saveResultObject;
412
+ return false;
413
+ }
414
+ /* -------------------------------------------------------------------------- */
415
+ /* statics */
416
+ /* -------------------------------------------------------------------------- */
417
+ static factoryClear(obj) {
418
+ obj.clear_changes();
419
+ SimpleObject.clearErrors(obj);
420
+ }
421
+ static delete_cache() {
422
+ if (!this.__cache_name)
423
+ return;
424
+ gcache.delete_cache(this.__cache_name);
425
+ }
426
+ static get_canModify(o) {
427
+ if (o instanceof SimpleObject)
428
+ return o.canModify;
429
+ return false;
430
+ }
431
+ /* -------------------------------------------------------------------------- */
432
+ static equals(a, b) {
433
+ console.warn("Dont use the default equals method !");
434
+ if (a == undefined || b == undefined)
435
+ return false;
436
+ return a === b;
437
+ }
438
+ }
439
+ export default SimpleObject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azrico/webobject",
3
- "version": "1.0.34",
3
+ "version": "1.0.35",
4
4
  "description": "Stateful object",
5
5
  "author": "Azrideus",
6
6
  "license": "MIT",