@azrico/webobject 1.2.7 → 1.2.9
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.
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
declare type
|
|
2
|
-
declare type constructorResult<T> = T;
|
|
3
|
-
interface constructorObject<S> {
|
|
4
|
-
new (p: constructorInput<S>): S;
|
|
5
|
-
}
|
|
1
|
+
declare type FirstInTuple<T extends any[]> = ((...args: T) => any) extends (arg: infer R, ...rest: infer U) => any ? R : T;
|
|
6
2
|
/**
|
|
7
3
|
* This object can be mapped and converted
|
|
8
4
|
*/
|
|
@@ -14,10 +10,29 @@ export declare class MapableObject {
|
|
|
14
10
|
constructor();
|
|
15
11
|
static mapto<T>(maptoType: {
|
|
16
12
|
new (...p: any): T;
|
|
17
|
-
}, objectlist: any[] | null | undefined,
|
|
18
|
-
static mapto<T extends typeof MapableObject>(objectlist: any[] | null | undefined,
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
}, objectlist: any[] | null | undefined, is_readonly?: boolean, ...p: any[]): T[];
|
|
14
|
+
static mapto<T extends typeof MapableObject>(objectlist: any[] | null | undefined, is_readonly?: boolean, ...p: any[]): InstanceType<T>[];
|
|
15
|
+
/**
|
|
16
|
+
* construct a new class from the given first parameter
|
|
17
|
+
* @param maptoType class
|
|
18
|
+
* @param first_param first parameter
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
21
|
+
static ensure<ClassType extends new (...args: any) => any>(maptoType: ClassType, first_param: FirstInTuple<ConstructorParameters<ClassType>>): InstanceType<ClassType>;
|
|
22
|
+
/**
|
|
23
|
+
* construct a new class from the given parameters
|
|
24
|
+
* @param maptoType class
|
|
25
|
+
* @param first_param first parameter
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
static ensure<ClassType extends new (...args: any) => any>(maptoType: ClassType, ...rest_params: ConstructorParameters<ClassType>): InstanceType<ClassType>;
|
|
29
|
+
/**
|
|
30
|
+
* make sure the object is instance of class
|
|
31
|
+
* @param maptoType class
|
|
32
|
+
* @param obj
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
static ensure<ClassType extends new (...args: any) => any>(maptoType: ClassType, obj: InstanceType<ClassType>): InstanceType<ClassType>;
|
|
21
36
|
static map_rowindex<T extends MapableObject>(objectlist: T[] | null | undefined): T[];
|
|
22
37
|
static map_tableid<T extends MapableObject>(objectlist: T[] | null | undefined): T[];
|
|
23
38
|
static equals(a?: MapableObject | any, b?: MapableObject | any): boolean;
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
*/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,h=arguments;return _regeneratorRuntime().wrap(function i(d){for(;1;)switch(d.prev=d.next){case 0:if(e=3<h.length&&void 0!==h[3]?h[3]:"auto",this.canModify){d.next=7;break}if(!this.__throw_errors){d.next=6;break}throw Error("Cant use setValue when on readonly mode");case 6:return d.abrupt("return",!1);case 7:f=!1,d.prev=8,g=_classPrivateMethodGet(this,_getSubProperty,_getSubProperty2).call(this,a,b),(0,_object.object_equals)(g,c,{ignoredStartingWords:"_"})?f=!1:(_classPrivateMethodGet(this,_setSubProperty,_setSubProperty2).call(this,a,b,c),f=!0);case 11:if(d.prev=11,!(!0===e||"auto"===e&&f)){d.next=15;break}return d.next=15,this.notifyChanged("",a+"",b,c);case 15:return d.finish(11);case 16:return d.abrupt("return",f);case 17:case"end":return d.stop();}},d,this,[[8,,11,16]])}));return a}()//Push value on array
|
|
13
13
|
},{key:"pushValue",value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function c(a,b){var d,e,f=arguments;return _regeneratorRuntime().wrap(function g(c){for(;1;)switch(c.prev=c.next){case 0:if(d=2<f.length&&void 0!==f[2]?f[2]:"auto",null!=b){c.next=3;break}return c.abrupt("return",!1);case 3:if(this.canModify){c.next=9;break}if(!this.__throw_errors){c.next=8;break}throw Error("Cant use pushValue when on readonly mode");case 8:return c.abrupt("return",!1);case 9:if(null==_classPrivateMethodGet(this,_getProperty,_getProperty2).call(this,a)&&_classPrivateMethodGet(this,_setProperty,_setProperty2).call(this,a,this.getValue(a)),e=_classPrivateMethodGet(this,_getProperty,_getProperty2).call(this,a),Array.isArray(e)){c.next=17;break}if(!this.__throw_errors){c.next=16;break}throw Error("Cant use pushValue on non Array keys");case 16:return c.abrupt("return",!1);case 17:if(e.push(b),_classPrivateMethodGet(this,_setProperty,_setProperty2).call(this,a,e),!0!==d&&"auto"!==d){c.next=22;break}return c.next=22,this.notifyChanged("",a+"",b);case 22:return c.abrupt("return",e);case 23:case"end":return c.stop();}},c,this)}));return a}()},{key:"notifyChanged",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){var f,g;return _regeneratorRuntime().wrap(function h(e){for(;1;)switch(e.prev=e.next){case 0:if(void 0===c&&"meta"!=a&&(c=this.getValue(b)),this.__changed=!0,f="",a&&(f+="[".concat(a+"","] ")),f+=d?"".concat(b+"","->").concat(c," = ").concat(d):"".concat(b+""," = ").concat(c),this.__lastChanged=f,g=this.get_managerClass(),!(g instanceof _ObjectManager["default"])){e.next=10;break}return e.next=10,g.notifyChanged(a,b,c,d);case 10:case"end":return e.stop();}},e,this)}));return a}()},{key:"apply_changes",value:/* -------------------------------------------------------------------------- */ /* Changes */ /* -------------------------------------------------------------------------- */ /**
|
|
14
14
|
* Apply the changes and empty the delta object
|
|
15
|
-
*/function apply_changes(){if(!this.__use_delta)return console.warn("you cant use apply_changes if you are not using Delta mode"),!1;for(var a in this.isChanged||console.warn("No changes to apply"),this.__delta){var b=this.__delta[a];this[a]=b}this.clear_changes()}},{key:"clear_changes",value:function clear_changes(){this.__delta={},this.__changed=!1}},{key:"isChanged",get:/* -------------------------------------------------------------------------- */ /* Get/Check */ /* -------------------------------------------------------------------------- */function get(){return!!this.__use_delta&&!(0,_object.object_isEmpty)(this.__delta)}},{key:"isDeleted",get:function get(){return!1}},{key:"d",get:function get(){return this.__use_delta?this.__delta:this}/* all updated properties */},{key:"allproperties",get:function get(){var a=_objectSpread(_objectSpread({},this),this.__delta);return a.__delta={},a}},{key:"canModify",get:function get(){return
|
|
16
|
-
return this.__originalobject=(0,_object.object_removeKeys)(b,["__"]),this}},{key:"setSaveResult",value:function setSaveResult(a,b){this.__saveResultType=b,!0===a||!1===a||(a?_classPrivateMethodGet(this,_setSaveResultObject,_setSaveResultObject2).call(this,a):_classPrivateMethodGet(this,_setSaveResultObject,_setSaveResultObject2).call(this,null)),this.__saveResultIsSuccess=("normal"===b||"nothing"===b)&&null!=a}},{key:"getSaveResult",value:function getSaveResult(){return!!this.isSaved&&this.__saveResultObject}},{key:"getSaveResultType",value:function getSaveResultType(){return this.__saveResultType||null}/* -------------------------------------------------------------------------- */ /* 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)"function"!=typeof a[e]&&(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 null==a?void 0:a instanceof b&&"function"==typeof a.getValue?a.getValue(c,d):!d&&!1!=a.__use_delta&&"object"===_typeof(a.__delta)&&c in a.__delta?a.__delta[c]:a[c]}},{key:"canChangeKey",value:function canChangeKey(a,b,c){if(!a||!b)return!1;if(c){var f=a.constructor.__extraProperties;if(null!=f&&f.includes(b))return!0}var d=a.constructor.__changeables,e=a.constructor.__unchangeables;return!!(null==d||d.includes(b))&&!(null!=e&&e.includes(b))}},{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,"function"==typeof d.setOriginal&&(d.__is_readonly?d.setOriginal(null):!d.getOriginal()&&d.setOriginal(null))}},{key:"setThrowErrors",value:function setThrowErrors(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.__throw_errors=b}},{key:"isDeleted",value:function isDeleted(a){return!!(a instanceof b)&&!0===a.isDeleted}},{key:"getIndexOrID",value:function getIndexOrID(a){var c=b.getIndex(a);return c&&-1!=c||(c=b.getID(a)),c||-1}},{key:"getIndex",value:function getIndex(a){if(null==a||null==a)return-1;switch(_typeof(a)){case"object":return a._index_value||-1;case"number":case"string":return+a;}return-1}},{key:"getID",value:function getID(a){if(null==a||null==a)return"";switch(_typeof(a)){case"object":return a.__data_id||a._id||a.id||a.ID||"";case"string":case"number":return a+"";}return""}},{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(null===a||void 0===a?void 0:a.__errors)||[]}},{key:"clearErrors",value:function clearErrors(a){return a&&(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;function _setSubProperty2(a,b,c){var d=_classPrivateMethodGet(this,_getProperty,_getProperty2).call(this,a);//@ts-ignore
|
|
15
|
+
*/function apply_changes(){if(!this.__use_delta)return console.warn("you cant use apply_changes if you are not using Delta mode"),!1;for(var a in this.isChanged||console.warn("No changes to apply"),this.__delta){var b=this.__delta[a];this[a]=b}this.clear_changes()}},{key:"clear_changes",value:function clear_changes(){this.__delta={},this.__changed=!1}},{key:"isChanged",get:/* -------------------------------------------------------------------------- */ /* Get/Check */ /* -------------------------------------------------------------------------- */function get(){return!!this.__use_delta&&!(0,_object.object_isEmpty)(this.__delta)}},{key:"isDeleted",get:function get(){return!1}},{key:"d",get:function get(){return this.__use_delta?this.__delta:this}/* all updated properties */},{key:"allproperties",get:function get(){var a=_objectSpread(_objectSpread({},this),this.__delta);return a.__delta={},a}},{key:"canModify",get:function get(){return!!!this.__is_readonly}},{key:"__cache_name",get:function get(){return this.constructor.__cache_name}},{key:"__changeables",get:function get(){return this.constructor.__changeables}},{key:"__unchangeables",get:function get(){return this.constructor.__unchangeables}},{key:"__use_delta",get:function get(){return this.constructor.__use_delta}},{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||("string"==typeof a?""==a||"-1"==a:"number"==typeof a&&-1==a)}},{key:"get_lastChanged",value:function get_lastChanged(){return!this.__lastChanged}},{key:"manager",get:function get(){return this.get_managerClass()}},{key:"getIndexOrID",value:function getIndexOrID(){return b.getIndexOrID(this)}},{key:"getIndex",value:function getIndex(){return b.getIndex(this)}},{key:"getID",value:function getID(){return b.getID(this)}},{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.canModify)return void console.warn("Cant use setOriginal on non original OR readonly objects ! this will create an infinite loop");if(this.__is_readonly)return void delete this.__originalobject;0===a&&(a=this);var c=(0,_object.object_clone)(a);return b.setReadonly(c,!0),this.__originalobject=(0,_object.object_removeKeys)(c,["__"]),this}},{key:"setSaveResult",value:function setSaveResult(a,b){this.__saveResultType=b,!0===a||!1===a||(a?_classPrivateMethodGet(this,_setSaveResultObject,_setSaveResultObject2).call(this,a):_classPrivateMethodGet(this,_setSaveResultObject,_setSaveResultObject2).call(this,null)),this.__saveResultIsSuccess=("normal"===b||"nothing"===b)&&null!=a}},{key:"getSaveResult",value:function getSaveResult(){return!!this.isSaved&&this.__saveResultObject}},{key:"getSaveResultType",value:function getSaveResultType(){return this.__saveResultType||null}/* -------------------------------------------------------------------------- */ /* 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)"function"!=typeof a[e]&&(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 null==a?void 0:a instanceof b&&"function"==typeof a.getValue?a.getValue(c,d):!d&&!1!=a.__use_delta&&"object"===_typeof(a.__delta)&&c in a.__delta?a.__delta[c]:a[c]}},{key:"canChangeKey",value:function canChangeKey(a,b,c){if(!a||!b)return!1;if(c){var f=a.constructor.__extraProperties;if(null!=f&&f.includes(b))return!0}var d=a.constructor.__changeables,e=a.constructor.__unchangeables;return!!(null==d||d.includes(b))&&!(null!=e&&e.includes(b))}},{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,"function"==typeof d.setOriginal&&(d.__is_readonly?d.setOriginal(null):!d.getOriginal()&&d.setOriginal(null))}},{key:"setThrowErrors",value:function setThrowErrors(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.__throw_errors=b}},{key:"isDeleted",value:function isDeleted(a){return!!(a instanceof b)&&!0===a.isDeleted}},{key:"getIndexOrID",value:function getIndexOrID(a){var c=b.getIndex(a);return c&&-1!=c||(c=b.getID(a)),c||-1}},{key:"getIndex",value:function getIndex(a){if(null==a||null==a)return-1;switch(_typeof(a)){case"object":return a._index_value||-1;case"number":case"string":return+a;}return-1}},{key:"getID",value:function getID(a){if(null==a||null==a)return"";switch(_typeof(a)){case"object":return a.__data_id||a._id||a.id||a.ID||"";case"string":case"number":return a+"";}return""}},{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(null===a||void 0===a?void 0:a.__errors)||[]}},{key:"clearErrors",value:function clearErrors(a){return a&&(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;function _setSubProperty2(a,b,c){var d=_classPrivateMethodGet(this,_getProperty,_getProperty2).call(this,a);//@ts-ignore
|
|
17
16
|
(null==d||"object"!==_typeof(d))&&(d={}),d[b]=c,_classPrivateMethodGet(this,_setProperty,_setProperty2).call(this,a,d)}function _getSubProperty2(a,b){var c=!!(2<arguments.length&&arguments[2]!==void 0)&&arguments[2],d=_classPrivateMethodGet(this,_getProperty,_getProperty2).call(this,a,c);return null==d||"object"!==_typeof(d)?void 0:d[b]}function _setProperty2(a,b){return this.__use_delta?this.__delta[a]=b:this[a]=b,!0}function _getProperty2(a){var b=!!(1<arguments.length&&arguments[1]!==void 0)&&arguments[1];//check if we should use delta version or normal version for this property
|
|
18
17
|
return this.__use_delta&&!b&&a in this.__delta?this.__delta[a]:this[a]}function _setSaveResultObject2(a){this.__saveResultObject=a}_defineProperty(SimpleObject,"__cache_name",void 0),_defineProperty(SimpleObject,"__unchangeables",void 0),_defineProperty(SimpleObject,"__changeables",void 0),_defineProperty(SimpleObject,"__extraProperties",void 0),_defineProperty(SimpleObject,"__use_delta",!0);var _default=SimpleObject;exports["default"]=_default;
|