@furo/open-models 1.5.2 → 1.6.0
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/custom-elements.json +1 -1
- package/dist/Fetcher.js +1 -1
- package/dist/Fetcher.js.map +1 -1
- package/dist/FieldNode.js.map +1 -1
- package/dist/primitives/BOOLEAN.d.ts +1 -1
- package/dist/primitives/BOOLEAN.js +6 -1
- package/dist/primitives/BOOLEAN.js.map +1 -1
- package/dist/primitives/BYTES.d.ts +1 -1
- package/dist/primitives/BYTES.js +6 -1
- package/dist/primitives/BYTES.js.map +1 -1
- package/dist/primitives/DOUBLE.d.ts +1 -1
- package/dist/primitives/DOUBLE.js +6 -1
- package/dist/primitives/DOUBLE.js.map +1 -1
- package/dist/primitives/ENUM.d.ts +1 -1
- package/dist/primitives/ENUM.js +6 -1
- package/dist/primitives/ENUM.js.map +1 -1
- package/dist/primitives/FLOAT.d.ts +1 -1
- package/dist/primitives/FLOAT.js +6 -1
- package/dist/primitives/FLOAT.js.map +1 -1
- package/dist/primitives/INT32.d.ts +1 -1
- package/dist/primitives/INT32.js +6 -1
- package/dist/primitives/INT32.js.map +1 -1
- package/dist/primitives/INT64.d.ts +1 -1
- package/dist/primitives/INT64.js +6 -1
- package/dist/primitives/INT64.js.map +1 -1
- package/dist/primitives/STRING.d.ts +1 -1
- package/dist/primitives/STRING.js +6 -1
- package/dist/primitives/STRING.js.map +1 -1
- package/dist/primitives/UINT32.d.ts +1 -1
- package/dist/primitives/UINT32.js +6 -1
- package/dist/primitives/UINT32.js.map +1 -1
- package/dist/primitives/UINT64.d.ts +1 -1
- package/dist/primitives/UINT64.js +6 -1
- package/dist/primitives/UINT64.js.map +1 -1
- package/dist/proxies/ARRAY.js +1 -0
- package/dist/proxies/ARRAY.js.map +1 -1
- package/dist/well_known/ANY.d.ts +1 -1
- package/dist/well_known/ANY.js +6 -1
- package/dist/well_known/ANY.js.map +1 -1
- package/dist/well_known/BoolValue.d.ts +1 -1
- package/dist/well_known/BoolValue.js +5 -1
- package/dist/well_known/BoolValue.js.map +1 -1
- package/dist/well_known/BytesValue.d.ts +1 -1
- package/dist/well_known/BytesValue.js +6 -1
- package/dist/well_known/BytesValue.js.map +1 -1
- package/dist/well_known/DoubleValue.d.ts +1 -1
- package/dist/well_known/DoubleValue.js +6 -1
- package/dist/well_known/DoubleValue.js.map +1 -1
- package/dist/well_known/Duration.d.ts +1 -1
- package/dist/well_known/Duration.js +6 -1
- package/dist/well_known/Duration.js.map +1 -1
- package/dist/well_known/EMPTY.js +1 -0
- package/dist/well_known/EMPTY.js.map +1 -1
- package/dist/well_known/FieldMask.d.ts +1 -1
- package/dist/well_known/FieldMask.js +6 -1
- package/dist/well_known/FieldMask.js.map +1 -1
- package/dist/well_known/FloatValue.d.ts +1 -1
- package/dist/well_known/FloatValue.js +6 -1
- package/dist/well_known/FloatValue.js.map +1 -1
- package/dist/well_known/Int32Value.d.ts +1 -1
- package/dist/well_known/Int32Value.js +6 -1
- package/dist/well_known/Int32Value.js.map +1 -1
- package/dist/well_known/Int64Value.d.ts +1 -1
- package/dist/well_known/Int64Value.js +6 -1
- package/dist/well_known/Int64Value.js.map +1 -1
- package/dist/well_known/StringValue.d.ts +1 -1
- package/dist/well_known/StringValue.js +6 -1
- package/dist/well_known/StringValue.js.map +1 -1
- package/dist/well_known/Struct.d.ts +1 -1
- package/dist/well_known/Struct.js +6 -1
- package/dist/well_known/Struct.js.map +1 -1
- package/dist/well_known/Timestamp.d.ts +1 -1
- package/dist/well_known/Timestamp.js +6 -1
- package/dist/well_known/Timestamp.js.map +1 -1
- package/dist/well_known/UInt32Value.d.ts +1 -1
- package/dist/well_known/UInt32Value.js +6 -1
- package/dist/well_known/UInt32Value.js.map +1 -1
- package/dist/well_known/UInt64Value.d.ts +1 -1
- package/dist/well_known/UInt64Value.js +6 -1
- package/dist/well_known/UInt64Value.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DOUBLE.js","sourceRoot":"","sources":["../../src/primitives/DOUBLE.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DOUBLE.js","sourceRoot":"","sources":["../../src/primitives/DOUBLE.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { FieldConstraints } from '../FieldConstraints';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nexport class DOUBLE extends FieldNode {\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.__isEmpty = false;\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: number;\n\n constructor(\n initData?: number,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = Number.isInteger(initData) ? (initData as number) : 0;\n this.__meta.typeName = 'primitives.DOUBLE';\n }\n\n __updateWithLiteral(v: number) {\n this._value = v;\n this.__isEmpty = false;\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === 0) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: number): number {\n return data;\n }\n\n protected __checkTypeBoundaries(): string[] | undefined {\n // check for double min max boundaries\n\n if (this._value > Number.MAX_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.double.max',\n Number.MAX_SAFE_INTEGER.toString(),\n ];\n }\n if (this._value < Number.MIN_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.double.min',\n Number.MIN_SAFE_INTEGER.toString(),\n ];\n }\n return undefined;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n // An double has always a value if (constraint === 'required') {}\n if (constraint === 'maximum') {\n // By default, the minimum and maximum values are included in the range. \">\" is used to check.\n if (fieldConstraints.exclusive_maximum && this._value >= value) {\n return ['constraint.violation.exclusive_maximum', value, this._value];\n }\n if (this._value > value) {\n return ['constraint.violation.maximum', value];\n }\n }\n if (constraint === 'minimum') {\n // By default, the minimum and maximum values are included in the range. \"<\" is used to check.\n if (fieldConstraints.exclusive_minimum && this._value <= value) {\n return ['constraint.violation.exclusive_minimum', value, this._value];\n }\n if (this._value < value) {\n return ['constraint.violation.minimum', value, this._value];\n }\n }\n if (constraint === 'multiple_of') {\n // Use the multiple_of keyword to specify that a number must be the multiple of another number\n // use this to define the step ??\n if (this._value % value !== 0) {\n return ['constraint.violation.multiple_of', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): number {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n valueOf(): number {\n return this._value;\n }\n\n toString(): string {\n return this._value.toString();\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== 0;\n this._value = 0;\n\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('double', DOUBLE);\n"]}
|
package/dist/primitives/ENUM.js
CHANGED
|
@@ -71,8 +71,13 @@ export class ENUM extends FieldNode {
|
|
|
71
71
|
toString() {
|
|
72
72
|
return this._value;
|
|
73
73
|
}
|
|
74
|
-
__clear() {
|
|
74
|
+
__clear(withoutNotification = false) {
|
|
75
|
+
// only notify when they are changes
|
|
76
|
+
const shouldNotify = this._value !== this._nullValue;
|
|
75
77
|
this._value = this._nullValue;
|
|
78
|
+
if (shouldNotify && !withoutNotification) {
|
|
79
|
+
this.__notifyFieldValueChange(false);
|
|
80
|
+
}
|
|
76
81
|
}
|
|
77
82
|
}
|
|
78
83
|
//# sourceMappingURL=ENUM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ENUM.js","sourceRoot":"","sources":["../../src/primitives/ENUM.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ENUM.js","sourceRoot":"","sources":["../../src/primitives/ENUM.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nfunction isEnumMember<E>(\n value: unknown,\n enumArg: Record<string | number | symbol, E>,\n): value is E {\n return (Object.values(enumArg) as unknown[]).includes(value);\n}\n\nexport class ENUM<T> extends FieldNode {\n // use this to translate the enums\n public msg = OPEN_MODELS_OPTIONS.labelFormatter;\n\n private _nullValue: T;\n\n get value(): T {\n return this._value;\n }\n\n set value(value: T) {\n this._value = value;\n if (this._value === this._nullValue) {\n this.__isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.__isEmpty = false;\n }\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: T;\n\n private _initialValue: T;\n\n enumArg: Record<string | number | symbol, T>;\n\n constructor(\n initData: T | undefined,\n enumArg: Record<string | number | symbol, T>,\n defaultValue: T,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this.__meta.typeName = 'primitives.ENUM';\n this._value = initData !== undefined ? initData : defaultValue;\n this._initialValue = defaultValue;\n this._nullValue = defaultValue;\n this.enumArg = enumArg;\n }\n\n // use the initial value if a value out of range was set\n __updateWithLiteral(v: T) {\n if (isEnumMember(v, this.enumArg)) {\n this._value = v;\n this._initialValue = v;\n if (this._value === this._nullValue) {\n this.__isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.__isEmpty = false;\n }\n } else {\n this._value = this._initialValue;\n }\n this.__notifyFieldValueChange(false);\n }\n\n __toJson(): string {\n return this.__toLiteral();\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === this._nullValue) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: string): string {\n return data;\n }\n\n __toLiteral(): string {\n return this._value as string;\n }\n\n toString(): string {\n return this._value as string;\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== this._nullValue;\n this._value = this._nullValue;\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n"]}
|
package/dist/primitives/FLOAT.js
CHANGED
|
@@ -96,8 +96,13 @@ export class FLOAT extends FieldNode {
|
|
|
96
96
|
toString() {
|
|
97
97
|
return this._value.toString();
|
|
98
98
|
}
|
|
99
|
-
__clear() {
|
|
99
|
+
__clear(withoutNotification = false) {
|
|
100
|
+
// only notify when they are changes
|
|
101
|
+
const shouldNotify = this._value !== 0;
|
|
100
102
|
this._value = 0;
|
|
103
|
+
if (shouldNotify && !withoutNotification) {
|
|
104
|
+
this.__notifyFieldValueChange(false);
|
|
105
|
+
}
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
Registry.register('float', FLOAT);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FLOAT.js","sourceRoot":"","sources":["../../src/primitives/FLOAT.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,OAAO,KAAM,SAAQ,SAAS;IAClC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAID,YACE,QAAiB,EACjB,MAAkB,EAClB,mBAA4B;QAE5B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,QAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IAC5C,CAAC;IAED,mBAAmB,CAAC,CAAS;QAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAES,qBAAqB;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,CAAC,CACjB,mBAAmB,CAAC,iBAAiB;gBACrC,mBAAmB,CAAC,eAAe,CACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,wBAAwB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,qBAAqB;QAC7B,qCAAqC;QAErC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1C,OAAO;gBACL,sCAAsC;gBACtC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;aACnC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1C,OAAO;gBACL,sCAAsC;gBACtC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;aACnC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,kBAAkB,CAC1B,gBAAkC;QAElC,wCAAwC;QACxC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,gEAAgE;YAChE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,8FAA8F;gBAC9F,IAAI,gBAAgB,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC/D,OAAO,CAAC,wCAAwC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;oBACxB,OAAO,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,8FAA8F;gBAC9F,IAAI,gBAAgB,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC/D,OAAO,CAAC,wCAAwC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;oBACxB,OAAO,CAAC,8BAA8B,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;gBACjC,8FAA8F;gBAC9F,iCAAiC;gBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,kCAAkC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"FLOAT.js","sourceRoot":"","sources":["../../src/primitives/FLOAT.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { FieldConstraints } from '../FieldConstraints';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nexport class FLOAT extends FieldNode {\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.__isEmpty = false;\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: number;\n\n constructor(\n initData?: number,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = Number.isInteger(initData) ? (initData as number) : 0;\n this.__meta.typeName = 'primitives.FLOAT';\n }\n\n __updateWithLiteral(v: number) {\n this._value = v;\n this.__isEmpty = false;\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === 0) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: number): number {\n return data;\n }\n\n protected __checkTypeBoundaries(): string[] | undefined {\n // check for float min max boundaries\n\n if (this._value > Number.MAX_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.float.max',\n Number.MAX_SAFE_INTEGER.toString(),\n ];\n }\n if (this._value < Number.MIN_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.float.min',\n Number.MIN_SAFE_INTEGER.toString(),\n ];\n }\n return undefined;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n // An float has always a value if (constraint === 'required') {}\n if (constraint === 'maximum') {\n // By default, the minimum and maximum values are included in the range. \">\" is used to check.\n if (fieldConstraints.exclusive_maximum && this._value >= value) {\n return ['constraint.violation.exclusive_maximum', value, this._value];\n }\n if (this._value > value) {\n return ['constraint.violation.maximum', value];\n }\n }\n if (constraint === 'minimum') {\n // By default, the minimum and maximum values are included in the range. \"<\" is used to check.\n if (fieldConstraints.exclusive_minimum && this._value <= value) {\n return ['constraint.violation.exclusive_minimum', value, this._value];\n }\n if (this._value < value) {\n return ['constraint.violation.minimum', value, this._value];\n }\n }\n if (constraint === 'multiple_of') {\n // Use the multiple_of keyword to specify that a number must be the multiple of another number\n // use this to define the step ??\n if (this._value % value !== 0) {\n return ['constraint.violation.multiple_of', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): number {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n valueOf(): number {\n return this._value;\n }\n\n toString(): string {\n return this._value.toString();\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== 0;\n this._value = 0;\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('float', FLOAT);\n"]}
|
package/dist/primitives/INT32.js
CHANGED
|
@@ -90,8 +90,13 @@ export class INT32 extends FieldNode {
|
|
|
90
90
|
toString() {
|
|
91
91
|
return this._value.toString();
|
|
92
92
|
}
|
|
93
|
-
__clear() {
|
|
93
|
+
__clear(withoutNotification = false) {
|
|
94
|
+
// only notify when they are changes
|
|
95
|
+
const shouldNotify = this._value !== 0;
|
|
94
96
|
this._value = 0;
|
|
97
|
+
if (shouldNotify && !withoutNotification) {
|
|
98
|
+
this.__notifyFieldValueChange(false);
|
|
99
|
+
}
|
|
95
100
|
}
|
|
96
101
|
}
|
|
97
102
|
Registry.register('int32', INT32);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"INT32.js","sourceRoot":"","sources":["../../src/primitives/INT32.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"INT32.js","sourceRoot":"","sources":["../../src/primitives/INT32.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { FieldConstraints } from '../FieldConstraints';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nexport class INT32 extends FieldNode {\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.__isEmpty = false;\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: number;\n\n constructor(\n initData?: number,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = Number.isInteger(initData) ? (initData as number) : 0;\n this.__meta.typeName = 'primitives.INT32';\n }\n\n __updateWithLiteral(v: number) {\n this._value = v;\n this.__isEmpty = false;\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === 0) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: number): number {\n return data;\n }\n\n protected __checkTypeBoundaries(): string[] | undefined {\n // check for int32 min max boundaries\n\n if (this._value > 2147483647) {\n return ['constraint.violation.range.int32.max', '2147483647'];\n }\n if (this._value < -2147483648) {\n return ['constraint.violation.range.int32.min', '-2147483648'];\n }\n return undefined;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n // An int32 has always a value if (constraint === 'required') {}\n if (constraint === 'maximum') {\n // By default, the minimum and maximum values are included in the range. \">\" is used to check.\n if (fieldConstraints.exclusive_maximum && this._value >= value) {\n return ['constraint.violation.exclusive_maximum', value, this._value];\n }\n if (this._value > value) {\n return ['constraint.violation.maximum', value];\n }\n }\n if (constraint === 'minimum') {\n // By default, the minimum and maximum values are included in the range. \"<\" is used to check.\n if (fieldConstraints.exclusive_minimum && this._value <= value) {\n return ['constraint.violation.exclusive_minimum', value, this._value];\n }\n if (this._value < value) {\n return ['constraint.violation.minimum', value, this._value];\n }\n }\n if (constraint === 'multiple_of') {\n // Use the multiple_of keyword to specify that a number must be the multiple of another number\n // use this to define the step ??\n if (this._value % value !== 0) {\n return ['constraint.violation.multiple_of', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): number {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n valueOf(): number {\n return this._value;\n }\n\n toString(): string {\n return this._value.toString();\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== 0;\n this._value = 0;\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('int32', INT32);\n"]}
|
package/dist/primitives/INT64.js
CHANGED
|
@@ -96,8 +96,13 @@ export class INT64 extends FieldNode {
|
|
|
96
96
|
toString() {
|
|
97
97
|
return this._value.toString();
|
|
98
98
|
}
|
|
99
|
-
__clear() {
|
|
99
|
+
__clear(withoutNotification = false) {
|
|
100
|
+
// only notify when they are changes
|
|
101
|
+
const shouldNotify = this._value !== 0;
|
|
100
102
|
this._value = 0;
|
|
103
|
+
if (shouldNotify && !withoutNotification) {
|
|
104
|
+
this.__notifyFieldValueChange(false);
|
|
105
|
+
}
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
108
|
Registry.register('int64', INT64);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"INT64.js","sourceRoot":"","sources":["../../src/primitives/INT64.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"INT64.js","sourceRoot":"","sources":["../../src/primitives/INT64.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { FieldConstraints } from '../FieldConstraints';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nexport class INT64 extends FieldNode {\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.__isEmpty = false;\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: number;\n\n constructor(\n initData?: number,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = Number.isInteger(initData) ? (initData as number) : 0;\n this.__meta.typeName = 'primitives.INT64';\n }\n\n __updateWithLiteral(v: number) {\n this._value = v;\n this.__isEmpty = false;\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === 0) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: number): number {\n return data;\n }\n\n protected __checkTypeBoundaries(): string[] | undefined {\n // check for int64 min max boundaries\n\n if (this._value > Number.MAX_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.int64.max',\n Number.MAX_SAFE_INTEGER.toString(),\n ];\n }\n if (this._value < Number.MIN_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.int64.min',\n Number.MIN_SAFE_INTEGER.toString(),\n ];\n }\n return undefined;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n // An int64 has always a value if (constraint === 'required') {}\n if (constraint === 'maximum') {\n // By default, the minimum and maximum values are included in the range. \">\" is used to check.\n if (fieldConstraints.exclusive_maximum && this._value >= value) {\n return ['constraint.violation.exclusive_maximum', value, this._value];\n }\n if (this._value > value) {\n return ['constraint.violation.maximum', value];\n }\n }\n if (constraint === 'minimum') {\n // By default, the minimum and maximum values are included in the range. \"<\" is used to check.\n if (fieldConstraints.exclusive_minimum && this._value <= value) {\n return ['constraint.violation.exclusive_minimum', value, this._value];\n }\n if (this._value < value) {\n return ['constraint.violation.minimum', value, this._value];\n }\n }\n if (constraint === 'multiple_of') {\n // Use the multiple_of keyword to specify that a number must be the multiple of another number\n // use this to define the step ??\n if (this._value % value !== 0) {\n return ['constraint.violation.multiple_of', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): number {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n valueOf(): number {\n return this._value;\n }\n\n toString(): string {\n return this._value.toString();\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== 0;\n this._value = 0;\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('int64', INT64);\n"]}
|
|
@@ -89,10 +89,15 @@ export class STRING extends FieldNode {
|
|
|
89
89
|
toString() {
|
|
90
90
|
return this._value;
|
|
91
91
|
}
|
|
92
|
-
__clear() {
|
|
92
|
+
__clear(withoutNotification = false) {
|
|
93
|
+
// only notify when they are changes
|
|
94
|
+
const shouldNotify = this._value.length;
|
|
93
95
|
this._value = '';
|
|
94
96
|
this.__isEmpty = !(OPEN_MODELS_OPTIONS.EmitDefaultValues ||
|
|
95
97
|
OPEN_MODELS_OPTIONS.EmitUnpopulated);
|
|
98
|
+
if (shouldNotify && !withoutNotification) {
|
|
99
|
+
this.__notifyFieldValueChange(false);
|
|
100
|
+
}
|
|
96
101
|
}
|
|
97
102
|
}
|
|
98
103
|
Registry.register('string', STRING);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"STRING.js","sourceRoot":"","sources":["../../src/primitives/STRING.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"STRING.js","sourceRoot":"","sources":["../../src/primitives/STRING.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\nimport { FieldConstraints } from '../FieldConstraints';\n\nexport class STRING extends FieldNode {\n get value(): string {\n return this._value;\n }\n\n set value(value: string) {\n this._value = value;\n if (this._value === '') {\n this.__isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.__isEmpty = false;\n }\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: string;\n\n constructor(\n initData?: string,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = initData || '';\n this.__meta.typeName = 'primitives.STRING';\n this.__isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n }\n\n __updateWithLiteral(v: string) {\n this._value = v;\n if (this._value === '') {\n this.__isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.__isEmpty = false;\n }\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === '') {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: string): string {\n return data;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n if (constraint === 'required') {\n if (this._value === '') {\n return ['constraint.violation.required'];\n }\n }\n if (constraint === 'max_length') {\n // String length can be restricted using minLength and maxLength. \">\" is used to check.\n if (this._value.length > value) {\n return ['constraint.violation.max_length', value, this._value];\n }\n }\n if (constraint === 'min_length') {\n // String length can be restricted using minLength and maxLength. \"<\" is used to check.\n if (this._value.length < value) {\n return ['constraint.violation.min_length', value, this._value];\n }\n }\n if (constraint === 'pattern') {\n // The pattern keyword lets you define a regular expression template for the string value.\n\n const re = new RegExp(value);\n if (!this._value.match(re)) {\n return ['constraint.violation.pattern', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): string {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n toString(): string {\n return this._value;\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value.length;\n this._value = '';\n this.__isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('string', STRING);\n"]}
|
|
@@ -90,8 +90,13 @@ export class UINT32 extends FieldNode {
|
|
|
90
90
|
toString() {
|
|
91
91
|
return this._value.toString();
|
|
92
92
|
}
|
|
93
|
-
__clear() {
|
|
93
|
+
__clear(withoutNotification = false) {
|
|
94
|
+
// only notify when they are changes
|
|
95
|
+
const shouldNotify = this._value !== 0;
|
|
94
96
|
this._value = 0;
|
|
97
|
+
if (shouldNotify && !withoutNotification) {
|
|
98
|
+
this.__notifyFieldValueChange(false);
|
|
99
|
+
}
|
|
95
100
|
}
|
|
96
101
|
}
|
|
97
102
|
Registry.register('uint32', UINT32);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UINT32.js","sourceRoot":"","sources":["../../src/primitives/UINT32.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UINT32.js","sourceRoot":"","sources":["../../src/primitives/UINT32.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { FieldConstraints } from '../FieldConstraints';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nexport class UINT32 extends FieldNode {\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.__isEmpty = false;\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: number;\n\n constructor(\n initData?: number,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = Number.isInteger(initData) ? (initData as number) : 0;\n this.__meta.typeName = 'primitives.UINT32';\n }\n\n __updateWithLiteral(v: number) {\n this._value = v;\n this.__isEmpty = false;\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === 0) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: number): number {\n return data;\n }\n\n protected __checkTypeBoundaries(): string[] | undefined {\n // check for uint32 min max boundaries\n\n if (this._value > 4294967295) {\n return ['constraint.violation.range.uint32.max', '4294967295'];\n }\n if (this._value < 0) {\n return ['constraint.violation.range.uint32.min', '0'];\n }\n return undefined;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n // An uint32 has always a value if (constraint === 'required') {}\n if (constraint === 'maximum') {\n // By default, the minimum and maximum values are included in the range. \">\" is used to check.\n if (fieldConstraints.exclusive_maximum && this._value >= value) {\n return ['constraint.violation.exclusive_maximum', value, this._value];\n }\n if (this._value > value) {\n return ['constraint.violation.maximum', value];\n }\n }\n if (constraint === 'minimum') {\n // By default, the minimum and maximum values are included in the range. \"<\" is used to check.\n if (fieldConstraints.exclusive_minimum && this._value <= value) {\n return ['constraint.violation.exclusive_minimum', value, this._value];\n }\n if (this._value < value) {\n return ['constraint.violation.minimum', value, this._value];\n }\n }\n if (constraint === 'multiple_of') {\n // Use the multiple_of keyword to specify that a number must be the multiple of another number\n // use this to define the step ??\n if (this._value % value !== 0) {\n return ['constraint.violation.multiple_of', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): number {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n valueOf(): number {\n return this._value;\n }\n\n toString(): string {\n return this._value.toString();\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== 0;\n this._value = 0;\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('uint32', UINT32);\n"]}
|
|
@@ -93,8 +93,13 @@ export class UINT64 extends FieldNode {
|
|
|
93
93
|
toString() {
|
|
94
94
|
return this._value.toString();
|
|
95
95
|
}
|
|
96
|
-
__clear() {
|
|
96
|
+
__clear(withoutNotification = false) {
|
|
97
|
+
// only notify when they are changes
|
|
98
|
+
const shouldNotify = this._value !== 0;
|
|
97
99
|
this._value = 0;
|
|
100
|
+
if (shouldNotify && !withoutNotification) {
|
|
101
|
+
this.__notifyFieldValueChange(false);
|
|
102
|
+
}
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
Registry.register('uint64', UINT64);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UINT64.js","sourceRoot":"","sources":["../../src/primitives/UINT64.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UINT64.js","sourceRoot":"","sources":["../../src/primitives/UINT64.ts"],"names":[],"mappings":"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","sourcesContent":["import { FieldNode } from '../FieldNode';\nimport { Registry } from '../Registry';\nimport { FieldConstraints } from '../FieldConstraints';\nimport { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS';\n\nexport class UINT64 extends FieldNode {\n get value(): number {\n return this._value;\n }\n\n set value(value: number) {\n this._value = value;\n this.__isEmpty = false;\n this.__climbUpValidation();\n this.__notifyFieldValueChange(true);\n }\n\n public _value: number;\n\n constructor(\n initData?: number,\n parent?: FieldNode,\n parentAttributeName?: string,\n ) {\n super(undefined, parent, parentAttributeName);\n this.__isPrimitive = true;\n this._value = Number.isInteger(initData) ? (initData as number) : 0;\n this.__meta.typeName = 'primitives.UINT64';\n }\n\n __updateWithLiteral(v: number) {\n this._value = v;\n this.__isEmpty = false;\n this.__notifyFieldValueChange(false);\n }\n\n protected ___updateNotEmptyPath() {\n if (this._value === 0) {\n this.___isEmpty = !(\n OPEN_MODELS_OPTIONS.EmitDefaultValues ||\n OPEN_MODELS_OPTIONS.EmitUnpopulated\n );\n } else {\n this.___isEmpty = false;\n super.___updateNotEmptyPath();\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n __mapProtoNameJsonToJson(data: number): number {\n return data;\n }\n\n protected __checkTypeBoundaries(): string[] | undefined {\n // check for uint64 min max boundaries\n\n if (this._value > Number.MAX_SAFE_INTEGER) {\n return [\n 'constraint.violation.range.uint64.max',\n Number.MAX_SAFE_INTEGER.toString(),\n ];\n }\n if (this._value < 0) {\n return ['constraint.violation.range.uint64.min', '0'];\n }\n return undefined;\n }\n\n protected __checkConstraints(\n fieldConstraints: FieldConstraints,\n ): string[] | undefined {\n // eslint-disable-next-line guard-for-in\n for (const [constraint, value] of Object.entries(fieldConstraints)) {\n // An uint64 has always a value if (constraint === 'required') {}\n if (constraint === 'maximum') {\n // By default, the minimum and maximum values are included in the range. \">\" is used to check.\n if (fieldConstraints.exclusive_maximum && this._value >= value) {\n return ['constraint.violation.exclusive_maximum', value, this._value];\n }\n if (this._value > value) {\n return ['constraint.violation.maximum', value];\n }\n }\n if (constraint === 'minimum') {\n // By default, the minimum and maximum values are included in the range. \"<\" is used to check.\n if (fieldConstraints.exclusive_minimum && this._value <= value) {\n return ['constraint.violation.exclusive_minimum', value, this._value];\n }\n if (this._value < value) {\n return ['constraint.violation.minimum', value, this._value];\n }\n }\n if (constraint === 'multiple_of') {\n // Use the multiple_of keyword to specify that a number must be the multiple of another number\n // use this to define the step ??\n if (this._value % value !== 0) {\n return ['constraint.violation.multiple_of', value, this._value];\n }\n }\n }\n\n return undefined;\n }\n\n __toJson(): number {\n return this.__toLiteral();\n }\n\n __toLiteral() {\n return this._value;\n }\n\n valueOf(): number {\n return this._value;\n }\n\n toString(): string {\n return this._value.toString();\n }\n\n public __clear(withoutNotification: boolean = false) {\n // only notify when they are changes\n const shouldNotify = this._value !== 0;\n this._value = 0;\n if (shouldNotify && !withoutNotification) {\n this.__notifyFieldValueChange(false);\n }\n }\n}\n\nRegistry.register('uint64', UINT64);\n"]}
|
package/dist/proxies/ARRAY.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ARRAY.js","sourceRoot":"","sources":["../../src/proxies/ARRAY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,OAAO,KAA8B,SAAQ,SAAS;IAK1D,YAAY,QAAc,EAAE,MAAkB,EAAE,kBAA2B;QACzE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAA;QALtC,WAAM,GAAQ,EAAE,CAAA;QAEhB,mBAAc,GAA8B,SAAS,CAAA;QAI3D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC1C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,QAAY,EAAE,MAAgB;QACvC,MAAM,WAAW,GAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAExD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;QAC5B,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAClC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAA;QACtB,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAA;QAC9B,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QACnB,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;QAC5B,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAC/B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,WAAyB,EAAE,QAAa;QACtD,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAA;QACnC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;OAGG;IACH,8DAA8D;IAC9D,wBAAwB,CAAC,IAAS;QAChC,MAAM,OAAO,GAAQ,EAAE,CAAA;QACvB,wBAAwB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC3C,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;QAC5B,8DAA8D;QAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mBAAmB,CAAC,QAAa;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,WAAmB,EAAE;QACxC,MAAM,IAAI,GAAG,QAAQ;aAClB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAExB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACtC,6CAA6C;YAC7C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAc,CAAA;gBACvD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7C,OACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YAClC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,oBAAoB,CAAC,OAAiB;QAC5C,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,oBAAoB,EAAE;YACpC,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CACH,CAAA;QACD,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,0BAA0B,EAAE;YAC1C,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CACH,CAAA;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,eAAe,EAAE;gBAC/B,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CACH,CAAA;YACD,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,qBAAqB,EAAE;gBACrC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CACH,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,eAAe,EAAE;gBAC/B,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAA;YACD,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,qBAAqB,EAAE;gBACrC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,cAAc,CAAA;QAC5B,CAAC;QACD,sDAAsD;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAC3C,CAAA;QACD,OAAO,eAAe,EAAE,gBAA+B,CAAA;IACzD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CACZ,WAAwB,EACxB,QAAa;QAEb,MAAM,CAAC,GAAgB,IAAI,KAAK,EAAQ,CAAA;QACxC,CAAC,CAAC,cAAc,GAAG,WAAW,CAAA;QAC9B,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACxC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,QAAQ;QACN,iBAAiB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAC3C,CAAA;QACD,OAAO,iBAAiB,SAAS,EAAE,gBAAgB,CAAC,IAAI,IAAI,CAAA;IAC9D,CAAC;IAED,6CAA6C;IAC7C,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,6CAA6C;IAC7C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,6CAA6C;IAC7C,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5C,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5C,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IAEH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,KAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,IAAI,CACF,UAAsD,EACtD,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,GAAG,CACD,UAAsD,EACtD,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,MAAM,CACJ,UAA4D,EAC5D,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CACF,UAA4D,EAC5D,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,CACL,UAAyD,EACzD,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,aAAgB,EAAE,SAAkB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACvD,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,aAAgB,EAAE,SAAkB;QAC1C,sDAAsD;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAC3B,CAAC;IAED,WAAW,CAAC,aAAgB,EAAE,SAAkB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED,GAAG;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,KAAU;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAgB,EAAE,OAAc;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAEO,0BAA0B,CAAC,KAAU;QAC3C,IAAI,CAAC,GAAW,CAAC,CAAA;QACjB,MAAM,WAAW,GAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC,OAAU,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;YAC5B,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAC/B,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC/B,EAAE,CAAC,YAAY,GAAG,IAAI,CAAA;YACtB,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;YAClC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;YACvB,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;YAC5B,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAA;IACzB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAc,EAAE,GAAY;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACzC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAMD,MAAM,CAAC,KAAa,EAAE,WAAoB,EAAE,GAAG,KAAU;QACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACxD,MAAM,CAAC,GAAQ,IAAI,CAAC,MAAM;iBACvB,MAAM,CACL,KAAK,EACL,WAAW,EACX,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAU,EAAE,EAAE;gBAC1B,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAA;gBAC5B,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBAC/B,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBAC/B,EAAE,CAAC,YAAY,GAAG,IAAI,CAAA;gBACtB,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;gBAC5B,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CACH;iBACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;YAClC,IAAI,CAAC,yBAAyB,EAAE,CAAA;YAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO,CAAC,CAAA;QACV,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACrE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAMD,OAAO,CAAC,KAAa,EAAE,WAAoB,EAAE,GAAG,KAAU;QAExD,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAE/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,KAAU;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,6CAA6C;YAC7C,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAA;YAC9B,6CAA6C;YAC7C,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF","sourcesContent":["import { FieldNode } from '../FieldNode'\n\nexport class ARRAY<T extends FieldNode, I> extends FieldNode {\n private _value: T[] = []\n\n private ___Constructor: (new () => T) | undefined = undefined\n\n constructor(initData?: I[], parent?: FieldNode, parentATributeName?: string) {\n super(undefined, parent, parentATributeName)\n this.__isPrimitive = true\n if (initData !== undefined) {\n // eslint-disable-next-line no-console\n console.error('Use the ARRAY.Builder()')\n }\n this.__meta.typeName = `primitives.ARRAY<>`\n }\n\n /**\n * Creates an element of type T and adds it to the beginning or end (default) of the ARRAY\n * @param initData\n * @param before\n */\n public add(initData?: I, before?: boolean): T {\n const Constructor: new () => T = this.__getConstructor()\n\n const fn = new Constructor()\n if (initData) {\n fn.__updateWithLiteral(initData)\n }\n const n = before ? 0 : this.length\n fn.__parentNode = this\n fn.__meta.fieldName = `[${n}]`\n fn.__meta.index = n\n fn.__meta.isArrayNode = true\n fn.__rootNode = this.__rootNode\n if (before) {\n this._value.unshift(fn)\n } else {\n this._value.push(fn)\n }\n\n this.__isEmpty = false\n this.__notifyArrayChanges(true)\n return fn\n }\n\n /**\n *\n * @param initData\n */\n initFromLiteral(Constructor: { new(): T }, initData: I[]) {\n this.__clear()\n this.__meta.initialValue = initData\n this.__pushWithoutNotifications(initData)\n this.__notifyArrayChanges(false)\n }\n\n /**\n * creates a literal type from a json type\n *\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __mapProtoNameJsonToJson(data: any): any {\n const literal: I[] = []\n // create a dummy object\n const Constructor = this.__getConstructor()\n const fn = new Constructor()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data.forEach((row: any) => {\n literal.push(fn.__mapProtoNameJsonToJson(row))\n })\n return literal\n }\n\n __updateWithLiteral(initData: I[]) {\n if (this.__parentNode !== undefined) {\n this.initFromLiteral(this.__getConstructor(), initData)\n }\n }\n\n __getFieldNodeByPath(deepPath: string = ''): FieldNode | undefined {\n const path = deepPath\n .replaceAll(/[[\\]]/g, '.')\n .split('.')\n .filter(p => p !== '')\n\n if (path.length > 0 && path[0] !== '') {\n // eslint-disable-next-line no-param-reassign\n deepPath = path.slice(1).join('.')\n if (deepPath === '') {\n if (this.value[parseInt(path[0], 10)]) {\n return this.value[parseInt(path[0], 10)] as FieldNode\n }\n } else if (this.value[parseInt(path[0], 10)]) {\n return (\n this.value[parseInt(path[0], 10)] as FieldNode\n ).__getFieldNodeByPath(deepPath)\n }\n return undefined\n }\n return undefined\n }\n\n private __notifyArrayChanges(bubbles?: boolean) {\n this.__dispatchEvent(\n new CustomEvent('this-array-changed', {\n detail: this,\n bubbles: false,\n }),\n )\n this.__dispatchEvent(\n new CustomEvent('this-field-value-changed', {\n detail: this,\n bubbles: false,\n }),\n )\n if (bubbles) {\n this.__dispatchEvent(\n new CustomEvent('array-changed', {\n detail: this,\n bubbles: true,\n }),\n )\n this.__dispatchEvent(\n new CustomEvent('field-value-changed', {\n detail: this,\n bubbles: true,\n }),\n )\n } else {\n this.__dispatchEvent(\n new CustomEvent('array-changed', {\n detail: this,\n bubbles: false,\n }),\n )\n this.__dispatchEvent(\n new CustomEvent('field-value-changed', {\n detail: this,\n bubbles: false,\n }),\n )\n }\n }\n\n // used by broadcast\n public get __childNodes(): T[] {\n return this._value\n }\n\n private __getConstructor(): new () => T {\n if (this.___Constructor !== undefined) {\n return this.___Constructor\n }\n // the __parentNode defines the type of the ARRAY<T,I>\n const fieldDescriptor = this.__parentNode!.__meta.nodeFields.find(\n f => f.fieldName === this.__meta.fieldName,\n )\n return fieldDescriptor?.FieldConstructor as new () => T\n }\n\n /**\n * @function\n * @template T FieldNode\n * @template I Json like interface type\n * @param {T} Constructor - Const\n * @param {I[]} initData - Initial open-models\n * @returns {ARRAY<T, I>}\n */\n static Builder<T extends FieldNode, I>(\n Constructor: new () => T,\n initData: I[],\n ): ARRAY<T, I> {\n const a: ARRAY<T, I> = new ARRAY<T, I>()\n a.___Constructor = Constructor\n a.initFromLiteral(Constructor, initData)\n return a\n }\n\n toString(): string {\n // resolve parent\n const innerType = this.__parentNode?.__meta.nodeFields.find(\n f => f.fieldName === this.__meta.fieldName,\n )\n return `[object ARRAY<${innerType?.FieldConstructor.name}>]`\n }\n\n // only used by direct invocation of the type\n __stringify(): string {\n return JSON.stringify(this.__toJson())\n }\n\n // only used by direct invocation of the type\n __toJson(): T[] {\n return this.value.map((v: FieldNode) => v.__toJson())\n }\n\n // only used by direct invocation of the type\n __toLiteral(): I[] {\n return this.value.map((v: FieldNode) => v.__toLiteral())\n }\n\n __clear() {\n this._value.length = 0\n this.__isEmpty = true\n this.__notifyArrayChanges(false)\n }\n\n delete(index: number): I {\n const removed = this._value.splice(index, 1)\n this._rebuildIndexAndFieldName()\n this.__notifyArrayChanges(true)\n return removed[0].__toLiteral()\n }\n\n deleteT(index: number): T {\n const removed = this._value.splice(index, 1)\n this._rebuildIndexAndFieldName()\n this.__notifyArrayChanges(true)\n return removed[0]\n }\n\n get value(): T[] {\n return this._value\n }\n\n /**\n * NOT needed any more, because we use the __TypeSetter instead of the __PrimitivesSetter\n set value(arr: T[]) {\n // assigning the new array will destroy any reference to it\n // __clear the array\n this.__clear();\n // (this as any)[`_${fieldName}`].length = 0;\n // refill the array\n arr.forEach((e, i) => {\n e.__parentNode = this;\n e.__meta.fieldName = `${i}`;\n e.__meta.index = i;\n e.__meta.isArrayNode = true;\n this._value.push(e);\n });\n this.__notifyArrayChanges(true);\n }\n */\n\n get length(): number {\n return this._value.length\n }\n\n /**\n * The at() method of Array instances takes an integer value and returns the item at that index, allowing for positive and negative integers. Negative integers count back from the last item in the array.\n *\n * This method returns the Interface type.\n *\n * @param {I} index - Zero-based index of the array element to be returned, converted to an integer . Negative index counts back from the end of the array — if index < 0, index + array. length is accessed.\n */\n at(index: number): T | undefined {\n return this._value.at(index)\n }\n\n /**\n * The at() method of Array instances takes an integer value and returns the item at that index, allowing for positive and negative integers. Negative integers count back from the last item in the array.\n *\n * This method returns the FieldNode type.\n *\n * @param {T} index - Zero-based index of the array element to be returned, converted to an integer . Negative index counts back from the end of the array — if index < 0, index + array. length is accessed.\n */\n atT(index: number): T | undefined {\n return this._value.at(index)\n }\n\n /**\n * The entries() method of Array instances returns a new array iterator object that contains the key/ value pairs for each index in the array.\n */\n entries(): IterableIterator<[number, I]> {\n return this._value.map(t => t.__toLiteral()).entries()\n }\n\n /**\n * The entries() method of Array instances returns a new array iterator object that contains the key/ value pairs for each index in the array.\n */\n entriesT(): IterableIterator<[number, T]> {\n return this._value.entries()\n }\n\n /**\n * Map with interface type as value.\n *\n * The map() method of Array instances creates a new array populated with the results of calling a provided function on every element in the calling array.\n */\n mapI<U>(\n callbackfn: (value: I, index: number, array: I[]) => U,\n thisArg?: unknown,\n ): U[] {\n return this._value.map(t => t.__toLiteral()).map(callbackfn, thisArg)\n }\n\n /**\n * The map() method of Array instances creates a new array populated with the results of calling a provided function on every element in the calling array.\n */\n map<U>(\n callbackfn: (value: T, index: number, array: T[]) => U,\n thisArg?: unknown,\n ): U[] {\n return this._value.map(callbackfn, thisArg)\n }\n\n /**\n * The filter() method of Array instances creates a shallow copy of a portion of a given array, filtered down to just the elements from the given array that pass the test implemented by the provided function.\n * @param callbackfn\n * @param thisArg\n */\n filter(\n callbackfn: (value: T, index: number, array: T[]) => boolean,\n thisArg?: unknown,\n ): T[] {\n return this._value.filter(callbackfn, thisArg)\n }\n\n find(\n callbackfn: (value: T, index: number, array: T[]) => boolean,\n thisArg?: unknown,\n ): T | undefined {\n return this._value.find(callbackfn, thisArg)\n }\n\n forEach(\n callbackfn: (value: T, index: number, array: T[]) => void,\n thisArg?: unknown,\n ): void {\n return this._value.forEach(callbackfn, thisArg)\n }\n\n /**\n * ...\n * This method requires a FieldNode, not the interface type\n * @param searchElement\n * @param fromIndex\n */\n includes(searchElement: T, fromIndex?: number): boolean {\n return this._value.includes(searchElement, fromIndex)\n }\n\n /**\n * ...\n * Alternatively you can use the T.__meta.index to get the index of an element.\n * This method requires a FieldNode, not the interface type.\n * @param searchElement\n * @param fromIndex\n */\n indexOf(searchElement: T, fromIndex?: number): number {\n // if searchElement is a FieldNode return __meta.index\n return this._value.indexOf(searchElement, fromIndex)\n }\n\n keys(): IterableIterator<number> {\n return this._value.keys()\n }\n\n lastIndexOf(searchElement: T, fromIndex?: number): number {\n return this._value.lastIndexOf(searchElement, fromIndex)\n }\n\n pop(): T | undefined {\n const ret = this._value.pop()\n this.__notifyArrayChanges(true)\n return ret\n }\n\n /**\n * The push() method of Array instances adds the specified elements to the end of an array and returns the new length of the array.\n * Params:\n * element1 … elementN – The element(s) to add to the end of the array.\n * Returns:\n * The new length property of the object upon which the method was called\n * @param items\n */\n push(...items: I[]): number {\n const n = this.__pushWithoutNotifications(items)\n this.__notifyArrayChanges(true)\n return n\n }\n\n /**\n * Moves an item in the array\n * @param fromIndex\n * @param toIndex\n */\n moveItem(fromIndex:number, toIndex:number) {\n const e = this._value[fromIndex];\n this._value.splice(fromIndex, 1);\n this._value.splice(toIndex, 0, e);\n this._rebuildIndexAndFieldName()\n this.__notifyArrayChanges(true)\n }\n\n private __pushWithoutNotifications(items: I[]) {\n let n: number = 0\n const Constructor: new () => T = this.__getConstructor()\n items.forEach((literal: I) => {\n const fn = new Constructor()\n fn.__updateWithLiteral(literal)\n n = this._value.push(fn)\n fn.__rootNode = this.__rootNode\n fn.__parentNode = this\n fn.__meta.fieldName = `[${n - 1}]`\n fn.__meta.index = n - 1\n fn.__meta.isArrayNode = true\n fn.__meta.isPristine = true\n })\n\n this.__isEmpty = false\n return n\n }\n\n reverse(): T[] {\n const ret = this._value.reverse()\n this.__notifyArrayChanges(true)\n return ret\n }\n\n /**\n * The shift() method of Array instances removes the first element from an array and returns that removed element.\n *\n * This method changes the length of the array.\n */\n shift(): I | undefined {\n const t = this._value.shift()\n this.__notifyArrayChanges(true)\n return t?.__toLiteral()\n }\n\n /**\n * The slice() method of Array instances returns a shallow copy of a portion of an array into a new array object selected from start to end (end not included) where start and end represent the index of items in that array. The original array will not be modified.\n * #### Params:\n * start – Zero-based index at which to start extraction, converted to an integer .\n * Negative index counts back from the end of the array — if start < 0, start + array. length is used.\n * If start < -array. length or start is omitted, 0 is used.\n * If start >= array. length, nothing is extracted.\n *\n * end – Zero-based index at which to end extraction, converted to an integer . slice() extracts up to but not including end.\n * Negative index counts back from the end of the array — if end < 0, end + array. length is used.\n * If end < -array. length, 0 is used.\n * If end >= array. length or end is omitted, array. length is used, causing all elements until the end to be extracted.\n * If end is positioned before or at start after normalization, nothing is extracted.\n *\n */\n slice(start?: number, end?: number): I[] {\n const tar = this._value.slice(start, end)\n const ret = tar.map(t => t.__toLiteral())\n this.__notifyArrayChanges(true)\n return ret\n }\n\n splice(start: number, deleteCount?: number): I[];\n\n splice(start: number, deleteCount: number, ...items: I[]): I[];\n\n splice(start: number, deleteCount?: number, ...items: I[]): I[] {\n if (deleteCount !== undefined) {\n const Constructor: new () => T = this.__getConstructor()\n const i: I[] = this._value\n .splice(\n start,\n deleteCount,\n ...items.map((literal: I) => {\n const fn = new Constructor()\n fn.__updateWithLiteral(literal)\n fn.__rootNode = this.__rootNode\n fn.__parentNode = this\n fn.__meta.isArrayNode = true\n return fn\n }),\n )\n .map(item => item.__toLiteral())\n this._rebuildIndexAndFieldName()\n this.__notifyArrayChanges(true)\n return i\n }\n const ret = this._value.splice(start).map(item => item.__toLiteral())\n this.__notifyArrayChanges(true)\n return ret\n }\n\n spliceT(start: number, deleteCount?: number): T[];\n\n spliceT(start: number, deleteCount: number, ...items: T[]): T[];\n\n spliceT(start: number, deleteCount?: number, ...items: T[]): T[] {\n\n let ret: T[] = [];\n if (deleteCount !== undefined) {\n ret = this.value.splice(start, deleteCount, ...items)\n } else {\n ret = this.value.splice(start)\n }\n\n this._rebuildIndexAndFieldName()\n this.__notifyArrayChanges(true)\n\n return ret\n }\n\n /**\n * The unshift() method of Array instances adds the specified elements to the beginning of an array and returns the new length of the array.\n * #### Params:\n * - **element1 … elementN** The elements to add to the front of the arr.\n *\n * #### Returns:\n * The new length property of the object upon which the method was called.\n *\n */\n unshift(...items: T[]): number {\n const ret = this._value.unshift(...items)\n this.__notifyArrayChanges(true)\n return ret\n }\n\n values(): IterableIterator<T> {\n return this._value.values()\n }\n\n private _rebuildIndexAndFieldName() {\n this._value.forEach((fn: T, i) => {\n // eslint-disable-next-line no-param-reassign\n fn.__meta.fieldName = `[${i}]`\n // eslint-disable-next-line no-param-reassign\n fn.__meta.index = i\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ARRAY.js","sourceRoot":"","sources":["../../src/proxies/ARRAY.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,OAAO,KAA8B,SAAQ,SAAS;IAK1D,YAAY,QAAc,EAAE,MAAkB,EAAE,kBAA2B;QACzE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QALvC,WAAM,GAAQ,EAAE,CAAC;QAEjB,mBAAc,GAA8B,SAAS,CAAC;QAI5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,oBAAoB,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACI,GAAG,CAAC,QAAY,EAAE,MAAgB;QACvC,MAAM,WAAW,GAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEzD,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/B,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACpB,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC5B,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,WAA0B,EAAE,QAAa;QACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;QACpC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,8DAA8D;IAC9D,wBAAwB,CAAC,IAAS;QAChC,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,wBAAwB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;QAC7B,8DAA8D;QAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB,CAAC,QAAa;QAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,WAAmB,EAAE;QACxC,MAAM,IAAI,GAAG,QAAQ;aAClB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACtC,6CAA6C;YAC7C,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAc,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7C,OACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,OAAiB;QAC5C,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,oBAAoB,EAAE;YACpC,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,0BAA0B,EAAE;YAC1C,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACf,CAAC,CACH,CAAC;QACF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,eAAe,EAAE;gBAC/B,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CACH,CAAC;YACF,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,qBAAqB,EAAE;gBACrC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,eAAe,EAAE;gBAC/B,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAC;YACF,IAAI,CAAC,eAAe,CAClB,IAAI,WAAW,CAAC,qBAAqB,EAAE;gBACrC,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,KAAK;aACf,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QACD,sDAAsD;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAC3C,CAAC;QACF,OAAO,eAAe,EAAE,gBAA+B,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CACZ,WAAwB,EACxB,QAAa;QAEb,MAAM,CAAC,GAAgB,IAAI,KAAK,EAAQ,CAAC;QACzC,CAAC,CAAC,cAAc,GAAG,WAAW,CAAC;QAC/B,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ;QACN,iBAAiB;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAC3C,CAAC;QACF,OAAO,iBAAiB,SAAS,EAAE,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED,6CAA6C;IAC7C,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,6CAA6C;IAC7C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,6CAA6C;IAC7C,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IAEH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,EAAE,CAAC,KAAa;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,GAAG,CAAC,KAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,IAAI,CACF,UAAsD,EACtD,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,GAAG,CACD,UAAsD,EACtD,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CACJ,UAA4D,EAC5D,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CACF,UAA4D,EAC5D,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CACL,UAAyD,EACzD,OAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,aAAgB,EAAE,SAAkB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,aAAgB,EAAE,SAAkB;QAC1C,sDAAsD;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,aAAgB,EAAE,SAAkB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,GAAG;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,KAAU;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,SAAiB,EAAE,OAAe;QACzC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,0BAA0B,CAAC,KAAU;QAC3C,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,MAAM,WAAW,GAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC,OAAU,EAAE,EAAE;YAC3B,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;YAC7B,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAChC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;YACvB,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACnC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC7B,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAc,EAAE,GAAY;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAMD,MAAM,CAAC,KAAa,EAAE,WAAoB,EAAE,GAAG,KAAU;QACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAgB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,MAAM,CAAC,GAAQ,IAAI,CAAC,MAAM;iBACvB,MAAM,CACL,KAAK,EACL,WAAW,EACX,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAU,EAAE,EAAE;gBAC1B,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC7B,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAChC,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAChC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;gBACvB,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CACH;iBACA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAMD,OAAO,CAAC,KAAa,EAAE,WAAoB,EAAE,GAAG,KAAU;QACxD,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,KAAU;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAEO,yBAAyB;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,6CAA6C;YAC7C,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,6CAA6C;YAC7C,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { FieldNode } from '../FieldNode';\n\nexport class ARRAY<T extends FieldNode, I> extends FieldNode {\n private _value: T[] = [];\n\n private ___Constructor: (new () => T) | undefined = undefined;\n\n constructor(initData?: I[], parent?: FieldNode, parentATributeName?: string) {\n super(undefined, parent, parentATributeName);\n this.__isPrimitive = true;\n if (initData !== undefined) {\n // eslint-disable-next-line no-console\n console.error('Use the ARRAY.Builder()');\n }\n this.__meta.typeName = `primitives.ARRAY<>`;\n }\n\n /**\n * Creates an element of type T and adds it to the beginning or end (default) of the ARRAY\n * @param initData\n * @param before\n */\n public add(initData?: I, before?: boolean): T {\n const Constructor: new () => T = this.__getConstructor();\n\n const fn = new Constructor();\n if (initData) {\n fn.__updateWithLiteral(initData);\n }\n const n = before ? 0 : this.length;\n fn.__parentNode = this;\n fn.__meta.fieldName = `[${n}]`;\n fn.__meta.index = n;\n fn.__meta.isArrayNode = true;\n fn.__meta.isPristine = true;\n fn.__rootNode = this.__rootNode;\n if (before) {\n this._value.unshift(fn);\n } else {\n this._value.push(fn);\n }\n\n this.__isEmpty = false;\n this.__notifyArrayChanges(true);\n return fn;\n }\n\n /**\n *\n * @param initData\n */\n initFromLiteral(Constructor: { new (): T }, initData: I[]) {\n this.__clear();\n this.__meta.initialValue = initData;\n this.__pushWithoutNotifications(initData);\n this.__notifyArrayChanges(false);\n }\n\n /**\n * creates a literal type from a json type\n *\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n __mapProtoNameJsonToJson(data: any): any {\n const literal: I[] = [];\n // create a dummy object\n const Constructor = this.__getConstructor();\n const fn = new Constructor();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data.forEach((row: any) => {\n literal.push(fn.__mapProtoNameJsonToJson(row));\n });\n return literal;\n }\n\n __updateWithLiteral(initData: I[]) {\n if (this.__parentNode !== undefined) {\n this.initFromLiteral(this.__getConstructor(), initData);\n }\n }\n\n __getFieldNodeByPath(deepPath: string = ''): FieldNode | undefined {\n const path = deepPath\n .replaceAll(/[[\\]]/g, '.')\n .split('.')\n .filter(p => p !== '');\n\n if (path.length > 0 && path[0] !== '') {\n // eslint-disable-next-line no-param-reassign\n deepPath = path.slice(1).join('.');\n if (deepPath === '') {\n if (this.value[parseInt(path[0], 10)]) {\n return this.value[parseInt(path[0], 10)] as FieldNode;\n }\n } else if (this.value[parseInt(path[0], 10)]) {\n return (\n this.value[parseInt(path[0], 10)] as FieldNode\n ).__getFieldNodeByPath(deepPath);\n }\n return undefined;\n }\n return undefined;\n }\n\n private __notifyArrayChanges(bubbles?: boolean) {\n this.__dispatchEvent(\n new CustomEvent('this-array-changed', {\n detail: this,\n bubbles: false,\n }),\n );\n this.__dispatchEvent(\n new CustomEvent('this-field-value-changed', {\n detail: this,\n bubbles: false,\n }),\n );\n if (bubbles) {\n this.__dispatchEvent(\n new CustomEvent('array-changed', {\n detail: this,\n bubbles: true,\n }),\n );\n this.__dispatchEvent(\n new CustomEvent('field-value-changed', {\n detail: this,\n bubbles: true,\n }),\n );\n } else {\n this.__dispatchEvent(\n new CustomEvent('array-changed', {\n detail: this,\n bubbles: false,\n }),\n );\n this.__dispatchEvent(\n new CustomEvent('field-value-changed', {\n detail: this,\n bubbles: false,\n }),\n );\n }\n }\n\n // used by broadcast\n public get __childNodes(): T[] {\n return this._value;\n }\n\n private __getConstructor(): new () => T {\n if (this.___Constructor !== undefined) {\n return this.___Constructor;\n }\n // the __parentNode defines the type of the ARRAY<T,I>\n const fieldDescriptor = this.__parentNode!.__meta.nodeFields.find(\n f => f.fieldName === this.__meta.fieldName,\n );\n return fieldDescriptor?.FieldConstructor as new () => T;\n }\n\n /**\n * @function\n * @template T FieldNode\n * @template I Json like interface type\n * @param {T} Constructor - Const\n * @param {I[]} initData - Initial open-models\n * @returns {ARRAY<T, I>}\n */\n static Builder<T extends FieldNode, I>(\n Constructor: new () => T,\n initData: I[],\n ): ARRAY<T, I> {\n const a: ARRAY<T, I> = new ARRAY<T, I>();\n a.___Constructor = Constructor;\n a.initFromLiteral(Constructor, initData);\n return a;\n }\n\n toString(): string {\n // resolve parent\n const innerType = this.__parentNode?.__meta.nodeFields.find(\n f => f.fieldName === this.__meta.fieldName,\n );\n return `[object ARRAY<${innerType?.FieldConstructor.name}>]`;\n }\n\n // only used by direct invocation of the type\n __stringify(): string {\n return JSON.stringify(this.__toJson());\n }\n\n // only used by direct invocation of the type\n __toJson(): T[] {\n return this.value.map((v: FieldNode) => v.__toJson());\n }\n\n // only used by direct invocation of the type\n __toLiteral(): I[] {\n return this.value.map((v: FieldNode) => v.__toLiteral());\n }\n\n __clear() {\n this._value.length = 0;\n this.__isEmpty = true;\n this.__notifyArrayChanges(false);\n }\n\n delete(index: number): I {\n const removed = this._value.splice(index, 1);\n this._rebuildIndexAndFieldName();\n this.__notifyArrayChanges(true);\n return removed[0].__toLiteral();\n }\n\n deleteT(index: number): T {\n const removed = this._value.splice(index, 1);\n this._rebuildIndexAndFieldName();\n this.__notifyArrayChanges(true);\n return removed[0];\n }\n\n get value(): T[] {\n return this._value;\n }\n\n /**\n * NOT needed any more, because we use the __TypeSetter instead of the __PrimitivesSetter\n set value(arr: T[]) {\n // assigning the new array will destroy any reference to it\n // __clear the array\n this.__clear();\n // (this as any)[`_${fieldName}`].length = 0;\n // refill the array\n arr.forEach((e, i) => {\n e.__parentNode = this;\n e.__meta.fieldName = `${i}`;\n e.__meta.index = i;\n e.__meta.isArrayNode = true;\n this._value.push(e);\n });\n this.__notifyArrayChanges(true);\n }\n */\n\n get length(): number {\n return this._value.length;\n }\n\n /**\n * The at() method of Array instances takes an integer value and returns the item at that index, allowing for positive and negative integers. Negative integers count back from the last item in the array.\n *\n * This method returns the Interface type.\n *\n * @param {I} index - Zero-based index of the array element to be returned, converted to an integer . Negative index counts back from the end of the array — if index < 0, index + array. length is accessed.\n */\n at(index: number): T | undefined {\n return this._value.at(index);\n }\n\n /**\n * The at() method of Array instances takes an integer value and returns the item at that index, allowing for positive and negative integers. Negative integers count back from the last item in the array.\n *\n * This method returns the FieldNode type.\n *\n * @param {T} index - Zero-based index of the array element to be returned, converted to an integer . Negative index counts back from the end of the array — if index < 0, index + array. length is accessed.\n */\n atT(index: number): T | undefined {\n return this._value.at(index);\n }\n\n /**\n * The entries() method of Array instances returns a new array iterator object that contains the key/ value pairs for each index in the array.\n */\n entries(): IterableIterator<[number, I]> {\n return this._value.map(t => t.__toLiteral()).entries();\n }\n\n /**\n * The entries() method of Array instances returns a new array iterator object that contains the key/ value pairs for each index in the array.\n */\n entriesT(): IterableIterator<[number, T]> {\n return this._value.entries();\n }\n\n /**\n * Map with interface type as value.\n *\n * The map() method of Array instances creates a new array populated with the results of calling a provided function on every element in the calling array.\n */\n mapI<U>(\n callbackfn: (value: I, index: number, array: I[]) => U,\n thisArg?: unknown,\n ): U[] {\n return this._value.map(t => t.__toLiteral()).map(callbackfn, thisArg);\n }\n\n /**\n * The map() method of Array instances creates a new array populated with the results of calling a provided function on every element in the calling array.\n */\n map<U>(\n callbackfn: (value: T, index: number, array: T[]) => U,\n thisArg?: unknown,\n ): U[] {\n return this._value.map(callbackfn, thisArg);\n }\n\n /**\n * The filter() method of Array instances creates a shallow copy of a portion of a given array, filtered down to just the elements from the given array that pass the test implemented by the provided function.\n * @param callbackfn\n * @param thisArg\n */\n filter(\n callbackfn: (value: T, index: number, array: T[]) => boolean,\n thisArg?: unknown,\n ): T[] {\n return this._value.filter(callbackfn, thisArg);\n }\n\n find(\n callbackfn: (value: T, index: number, array: T[]) => boolean,\n thisArg?: unknown,\n ): T | undefined {\n return this._value.find(callbackfn, thisArg);\n }\n\n forEach(\n callbackfn: (value: T, index: number, array: T[]) => void,\n thisArg?: unknown,\n ): void {\n return this._value.forEach(callbackfn, thisArg);\n }\n\n /**\n * ...\n * This method requires a FieldNode, not the interface type\n * @param searchElement\n * @param fromIndex\n */\n includes(searchElement: T, fromIndex?: number): boolean {\n return this._value.includes(searchElement, fromIndex);\n }\n\n /**\n * ...\n * Alternatively you can use the T.__meta.index to get the index of an element.\n * This method requires a FieldNode, not the interface type.\n * @param searchElement\n * @param fromIndex\n */\n indexOf(searchElement: T, fromIndex?: number): number {\n // if searchElement is a FieldNode return __meta.index\n return this._value.indexOf(searchElement, fromIndex);\n }\n\n keys(): IterableIterator<number> {\n return this._value.keys();\n }\n\n lastIndexOf(searchElement: T, fromIndex?: number): number {\n return this._value.lastIndexOf(searchElement, fromIndex);\n }\n\n pop(): T | undefined {\n const ret = this._value.pop();\n this.__notifyArrayChanges(true);\n return ret;\n }\n\n /**\n * The push() method of Array instances adds the specified elements to the end of an array and returns the new length of the array.\n * Params:\n * element1 … elementN – The element(s) to add to the end of the array.\n * Returns:\n * The new length property of the object upon which the method was called\n * @param items\n */\n push(...items: I[]): number {\n const n = this.__pushWithoutNotifications(items);\n this.__notifyArrayChanges(true);\n return n;\n }\n\n /**\n * Moves an item in the array\n * @param fromIndex\n * @param toIndex\n */\n moveItem(fromIndex: number, toIndex: number) {\n const e = this._value[fromIndex];\n this._value.splice(fromIndex, 1);\n this._value.splice(toIndex, 0, e);\n this._rebuildIndexAndFieldName();\n this.__notifyArrayChanges(true);\n }\n\n private __pushWithoutNotifications(items: I[]) {\n let n: number = 0;\n const Constructor: new () => T = this.__getConstructor();\n items.forEach((literal: I) => {\n const fn = new Constructor();\n fn.__updateWithLiteral(literal);\n n = this._value.push(fn);\n fn.__rootNode = this.__rootNode;\n fn.__parentNode = this;\n fn.__meta.fieldName = `[${n - 1}]`;\n fn.__meta.index = n - 1;\n fn.__meta.isArrayNode = true;\n fn.__meta.isPristine = true;\n });\n\n this.__isEmpty = false;\n return n;\n }\n\n reverse(): T[] {\n const ret = this._value.reverse();\n this.__notifyArrayChanges(true);\n return ret;\n }\n\n /**\n * The shift() method of Array instances removes the first element from an array and returns that removed element.\n *\n * This method changes the length of the array.\n */\n shift(): I | undefined {\n const t = this._value.shift();\n this.__notifyArrayChanges(true);\n return t?.__toLiteral();\n }\n\n /**\n * The slice() method of Array instances returns a shallow copy of a portion of an array into a new array object selected from start to end (end not included) where start and end represent the index of items in that array. The original array will not be modified.\n * #### Params:\n * start – Zero-based index at which to start extraction, converted to an integer .\n * Negative index counts back from the end of the array — if start < 0, start + array. length is used.\n * If start < -array. length or start is omitted, 0 is used.\n * If start >= array. length, nothing is extracted.\n *\n * end – Zero-based index at which to end extraction, converted to an integer . slice() extracts up to but not including end.\n * Negative index counts back from the end of the array — if end < 0, end + array. length is used.\n * If end < -array. length, 0 is used.\n * If end >= array. length or end is omitted, array. length is used, causing all elements until the end to be extracted.\n * If end is positioned before or at start after normalization, nothing is extracted.\n *\n */\n slice(start?: number, end?: number): I[] {\n const tar = this._value.slice(start, end);\n const ret = tar.map(t => t.__toLiteral());\n this.__notifyArrayChanges(true);\n return ret;\n }\n\n splice(start: number, deleteCount?: number): I[];\n\n splice(start: number, deleteCount: number, ...items: I[]): I[];\n\n splice(start: number, deleteCount?: number, ...items: I[]): I[] {\n if (deleteCount !== undefined) {\n const Constructor: new () => T = this.__getConstructor();\n const i: I[] = this._value\n .splice(\n start,\n deleteCount,\n ...items.map((literal: I) => {\n const fn = new Constructor();\n fn.__updateWithLiteral(literal);\n fn.__rootNode = this.__rootNode;\n fn.__parentNode = this;\n fn.__meta.isArrayNode = true;\n return fn;\n }),\n )\n .map(item => item.__toLiteral());\n this._rebuildIndexAndFieldName();\n this.__notifyArrayChanges(true);\n return i;\n }\n const ret = this._value.splice(start).map(item => item.__toLiteral());\n this.__notifyArrayChanges(true);\n return ret;\n }\n\n spliceT(start: number, deleteCount?: number): T[];\n\n spliceT(start: number, deleteCount: number, ...items: T[]): T[];\n\n spliceT(start: number, deleteCount?: number, ...items: T[]): T[] {\n let ret: T[] = [];\n if (deleteCount !== undefined) {\n ret = this.value.splice(start, deleteCount, ...items);\n } else {\n ret = this.value.splice(start);\n }\n\n this._rebuildIndexAndFieldName();\n this.__notifyArrayChanges(true);\n\n return ret;\n }\n\n /**\n * The unshift() method of Array instances adds the specified elements to the beginning of an array and returns the new length of the array.\n * #### Params:\n * - **element1 … elementN** The elements to add to the front of the arr.\n *\n * #### Returns:\n * The new length property of the object upon which the method was called.\n *\n */\n unshift(...items: T[]): number {\n const ret = this._value.unshift(...items);\n this.__notifyArrayChanges(true);\n return ret;\n }\n\n values(): IterableIterator<T> {\n return this._value.values();\n }\n\n private _rebuildIndexAndFieldName() {\n this._value.forEach((fn: T, i) => {\n // eslint-disable-next-line no-param-reassign\n fn.__meta.fieldName = `[${i}]`;\n // eslint-disable-next-line no-param-reassign\n fn.__meta.index = i;\n });\n }\n}\n"]}
|