@furo/open-models 0.0.0-alpha.0 → 0.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -8,7 +8,10 @@ export { FieldConstraints } from './FieldConstraints.js';
8
8
  export { BOOLEAN } from './primitives/BOOLEAN.js';
9
9
  export { ENUM } from './primitives/ENUM.js';
10
10
  export { INT32 } from './primitives/INT32.js';
11
+ export { INT64 } from './primitives/INT64.js';
11
12
  export { STRING } from './primitives/STRING.js';
13
+ export { DOUBLE } from './primitives/DOUBLE.js';
14
+ export { FLOAT } from './primitives/FLOAT.js';
12
15
  export { ANY } from './well_known/ANY.js';
13
16
  export { Int32Value } from './well_known/Int32Value.js';
14
17
  export { Int64Value } from './well_known/Int64Value.js';
package/dist/index.js CHANGED
@@ -7,7 +7,10 @@ export { ToString, ValueOf } from './CustomPrototypes.js';
7
7
  export { BOOLEAN } from './primitives/BOOLEAN.js';
8
8
  export { ENUM } from './primitives/ENUM.js';
9
9
  export { INT32 } from './primitives/INT32.js';
10
+ export { INT64 } from './primitives/INT64.js';
10
11
  export { STRING } from './primitives/STRING.js';
12
+ export { DOUBLE } from './primitives/DOUBLE.js';
13
+ export { FLOAT } from './primitives/FLOAT.js';
11
14
  // well known
12
15
  export { ANY } from './well_known/ANY.js';
13
16
  export { Int32Value } from './well_known/Int32Value.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGvD,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,UAAU;AACV,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { FieldNode, ValueStateSummary } from './FieldNode';\nexport { Registry } from './Registry';\nexport { ValueState } from './ValueState';\nexport type { Options } from './OPEN_MODELS_OPTIONS';\nexport { OPEN_MODELS_OPTIONS } from './OPEN_MODELS_OPTIONS';\nexport { ToString, ValueOf } from './CustomPrototypes';\nexport { FieldConstraints } from './FieldConstraints';\n\n// Primitives\nexport { BOOLEAN } from './primitives/BOOLEAN';\nexport { ENUM } from './primitives/ENUM';\nexport { INT32 } from './primitives/INT32';\nexport { STRING } from './primitives/STRING';\n\n// well known\nexport { ANY } from './well_known/ANY';\nexport { Int32Value } from './well_known/Int32Value';\nexport { Int64Value } from './well_known/Int64Value';\n\n// proxies\nexport { ARRAY } from './proxies/ARRAY';\nexport { MAP } from './proxies/MAP';\nexport { RECURSION } from './proxies/RECURSION';\n\nexport interface IAny {\n '@type': string;\n [key: string]: unknown;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGvD,aAAa;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,aAAa;AACb,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,UAAU;AACV,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC","sourcesContent":["export { FieldNode, ValueStateSummary } from './FieldNode';\nexport { Registry } from './Registry';\nexport { ValueState } from './ValueState';\nexport type { Options } from './OPEN_MODELS_OPTIONS';\nexport { OPEN_MODELS_OPTIONS } from './OPEN_MODELS_OPTIONS';\nexport { ToString, ValueOf } from './CustomPrototypes';\nexport { FieldConstraints } from './FieldConstraints';\n\n// Primitives\nexport { BOOLEAN } from './primitives/BOOLEAN';\nexport { ENUM } from './primitives/ENUM';\nexport { INT32 } from './primitives/INT32';\nexport { INT64 } from './primitives/INT64';\nexport { STRING } from './primitives/STRING';\nexport { DOUBLE } from './primitives/DOUBLE';\nexport { FLOAT } from './primitives/FLOAT';\n\n// well known\nexport { ANY } from './well_known/ANY';\nexport { Int32Value } from './well_known/Int32Value';\nexport { Int64Value } from './well_known/Int64Value';\n\n// proxies\nexport { ARRAY } from './proxies/ARRAY';\nexport { MAP } from './proxies/MAP';\nexport { RECURSION } from './proxies/RECURSION';\n\nexport interface IAny {\n '@type': string;\n [key: string]: unknown;\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { FieldNode } from '../FieldNode.js';
2
+ import { FieldConstraints } from '../FieldConstraints.js';
3
+ export declare class DOUBLE extends FieldNode {
4
+ get value(): number;
5
+ set value(value: number);
6
+ _value: number;
7
+ constructor(initData?: number, parent?: FieldNode, parentAttributeName?: string);
8
+ __updateWithLiteral(v: number): void;
9
+ protected ___updateNotEmptyPath(): void;
10
+ __mapJsonToLiteral(data: number): number;
11
+ protected __checkTypeBoundaries(): string[] | undefined;
12
+ protected __checkConstraints(fieldConstraints: FieldConstraints): string[] | undefined;
13
+ __toJson(): number;
14
+ __toLiteral(): number;
15
+ valueOf(): number;
16
+ toString(): string;
17
+ __clear(): void;
18
+ }
@@ -0,0 +1,104 @@
1
+ import { FieldNode } from '../FieldNode.js';
2
+ import { Registry } from '../Registry.js';
3
+ import { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS.js';
4
+ export class DOUBLE extends FieldNode {
5
+ get value() {
6
+ return this._value;
7
+ }
8
+ set value(value) {
9
+ this._value = value;
10
+ this.__isEmpty = false;
11
+ this.__climbUpValidation();
12
+ this.__notifyFieldValueChange(true);
13
+ }
14
+ constructor(initData, parent, parentAttributeName) {
15
+ super(undefined, parent, parentAttributeName);
16
+ this.__isPrimitive = true;
17
+ this._value = Number.isInteger(initData) ? initData : 0;
18
+ this.__meta.typeName = 'primitives.DOUBLE';
19
+ }
20
+ __updateWithLiteral(v) {
21
+ this._value = v;
22
+ this.__isEmpty = false;
23
+ this.__notifyFieldValueChange(false);
24
+ }
25
+ ___updateNotEmptyPath() {
26
+ if (this._value === 0) {
27
+ this.___isEmpty = !(OPEN_MODELS_OPTIONS.EmitDefaultValues ||
28
+ OPEN_MODELS_OPTIONS.EmitUnpopulated);
29
+ }
30
+ else {
31
+ this.___isEmpty = false;
32
+ super.___updateNotEmptyPath();
33
+ }
34
+ }
35
+ // eslint-disable-next-line class-methods-use-this
36
+ __mapJsonToLiteral(data) {
37
+ return data;
38
+ }
39
+ __checkTypeBoundaries() {
40
+ // check for double min max boundaries
41
+ if (this._value > Number.MAX_SAFE_INTEGER) {
42
+ return [
43
+ 'constraint.violation.range.double.max',
44
+ Number.MAX_SAFE_INTEGER.toString(),
45
+ ];
46
+ }
47
+ if (this._value < Number.MIN_SAFE_INTEGER) {
48
+ return [
49
+ 'constraint.violation.range.double.min',
50
+ Number.MIN_SAFE_INTEGER.toString(),
51
+ ];
52
+ }
53
+ return undefined;
54
+ }
55
+ __checkConstraints(fieldConstraints) {
56
+ // eslint-disable-next-line guard-for-in
57
+ for (const [constraint, value] of Object.entries(fieldConstraints)) {
58
+ // An double has always a value if (constraint === 'required') {}
59
+ if (constraint === 'maximum') {
60
+ // By default, the minimum and maximum values are included in the range. ">" is used to check.
61
+ if (fieldConstraints.exclusive_maximum && this._value >= value) {
62
+ return ['constraint.violation.exclusive_maximum', value, this._value];
63
+ }
64
+ if (this._value > value) {
65
+ return ['constraint.violation.maximum', value];
66
+ }
67
+ }
68
+ if (constraint === 'minimum') {
69
+ // By default, the minimum and maximum values are included in the range. "<" is used to check.
70
+ if (fieldConstraints.exclusive_minimum && this._value <= value) {
71
+ return ['constraint.violation.exclusive_minimum', value, this._value];
72
+ }
73
+ if (this._value < value) {
74
+ return ['constraint.violation.minimum', value, this._value];
75
+ }
76
+ }
77
+ if (constraint === 'multiple_of') {
78
+ // Use the multiple_of keyword to specify that a number must be the multiple of another number
79
+ // use this to define the step ??
80
+ if (this._value % value !== 0) {
81
+ return ['constraint.violation.multiple_of', value, this._value];
82
+ }
83
+ }
84
+ }
85
+ return undefined;
86
+ }
87
+ __toJson() {
88
+ return this.__toLiteral();
89
+ }
90
+ __toLiteral() {
91
+ return this._value;
92
+ }
93
+ valueOf() {
94
+ return this._value;
95
+ }
96
+ toString() {
97
+ return this._value.toString();
98
+ }
99
+ __clear() {
100
+ this._value = 0;
101
+ }
102
+ }
103
+ Registry.register('double', DOUBLE);
104
+ //# sourceMappingURL=DOUBLE.js.map
@@ -0,0 +1 @@
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 __mapJsonToLiteral(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 __clear() {\n this._value = 0;\n }\n}\n\nRegistry.register('double', DOUBLE);\n"]}
@@ -0,0 +1,18 @@
1
+ import { FieldNode } from '../FieldNode.js';
2
+ import { FieldConstraints } from '../FieldConstraints.js';
3
+ export declare class FLOAT extends FieldNode {
4
+ get value(): number;
5
+ set value(value: number);
6
+ _value: number;
7
+ constructor(initData?: number, parent?: FieldNode, parentAttributeName?: string);
8
+ __updateWithLiteral(v: number): void;
9
+ protected ___updateNotEmptyPath(): void;
10
+ __mapJsonToLiteral(data: number): number;
11
+ protected __checkTypeBoundaries(): string[] | undefined;
12
+ protected __checkConstraints(fieldConstraints: FieldConstraints): string[] | undefined;
13
+ __toJson(): number;
14
+ __toLiteral(): number;
15
+ valueOf(): number;
16
+ toString(): string;
17
+ __clear(): void;
18
+ }
@@ -0,0 +1,104 @@
1
+ import { FieldNode } from '../FieldNode.js';
2
+ import { Registry } from '../Registry.js';
3
+ import { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS.js';
4
+ export class FLOAT extends FieldNode {
5
+ get value() {
6
+ return this._value;
7
+ }
8
+ set value(value) {
9
+ this._value = value;
10
+ this.__isEmpty = false;
11
+ this.__climbUpValidation();
12
+ this.__notifyFieldValueChange(true);
13
+ }
14
+ constructor(initData, parent, parentAttributeName) {
15
+ super(undefined, parent, parentAttributeName);
16
+ this.__isPrimitive = true;
17
+ this._value = Number.isInteger(initData) ? initData : 0;
18
+ this.__meta.typeName = 'primitives.FLOAT';
19
+ }
20
+ __updateWithLiteral(v) {
21
+ this._value = v;
22
+ this.__isEmpty = false;
23
+ this.__notifyFieldValueChange(false);
24
+ }
25
+ ___updateNotEmptyPath() {
26
+ if (this._value === 0) {
27
+ this.___isEmpty = !(OPEN_MODELS_OPTIONS.EmitDefaultValues ||
28
+ OPEN_MODELS_OPTIONS.EmitUnpopulated);
29
+ }
30
+ else {
31
+ this.___isEmpty = false;
32
+ super.___updateNotEmptyPath();
33
+ }
34
+ }
35
+ // eslint-disable-next-line class-methods-use-this
36
+ __mapJsonToLiteral(data) {
37
+ return data;
38
+ }
39
+ __checkTypeBoundaries() {
40
+ // check for float min max boundaries
41
+ if (this._value > Number.MAX_SAFE_INTEGER) {
42
+ return [
43
+ 'constraint.violation.range.float.max',
44
+ Number.MAX_SAFE_INTEGER.toString(),
45
+ ];
46
+ }
47
+ if (this._value < Number.MIN_SAFE_INTEGER) {
48
+ return [
49
+ 'constraint.violation.range.float.min',
50
+ Number.MIN_SAFE_INTEGER.toString(),
51
+ ];
52
+ }
53
+ return undefined;
54
+ }
55
+ __checkConstraints(fieldConstraints) {
56
+ // eslint-disable-next-line guard-for-in
57
+ for (const [constraint, value] of Object.entries(fieldConstraints)) {
58
+ // An float has always a value if (constraint === 'required') {}
59
+ if (constraint === 'maximum') {
60
+ // By default, the minimum and maximum values are included in the range. ">" is used to check.
61
+ if (fieldConstraints.exclusive_maximum && this._value >= value) {
62
+ return ['constraint.violation.exclusive_maximum', value, this._value];
63
+ }
64
+ if (this._value > value) {
65
+ return ['constraint.violation.maximum', value];
66
+ }
67
+ }
68
+ if (constraint === 'minimum') {
69
+ // By default, the minimum and maximum values are included in the range. "<" is used to check.
70
+ if (fieldConstraints.exclusive_minimum && this._value <= value) {
71
+ return ['constraint.violation.exclusive_minimum', value, this._value];
72
+ }
73
+ if (this._value < value) {
74
+ return ['constraint.violation.minimum', value, this._value];
75
+ }
76
+ }
77
+ if (constraint === 'multiple_of') {
78
+ // Use the multiple_of keyword to specify that a number must be the multiple of another number
79
+ // use this to define the step ??
80
+ if (this._value % value !== 0) {
81
+ return ['constraint.violation.multiple_of', value, this._value];
82
+ }
83
+ }
84
+ }
85
+ return undefined;
86
+ }
87
+ __toJson() {
88
+ return this.__toLiteral();
89
+ }
90
+ __toLiteral() {
91
+ return this._value;
92
+ }
93
+ valueOf() {
94
+ return this._value;
95
+ }
96
+ toString() {
97
+ return this._value.toString();
98
+ }
99
+ __clear() {
100
+ this._value = 0;
101
+ }
102
+ }
103
+ Registry.register('float', FLOAT);
104
+ //# sourceMappingURL=FLOAT.js.map
@@ -0,0 +1 @@
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 __mapJsonToLiteral(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 __clear() {\n this._value = 0;\n }\n}\n\nRegistry.register('float', FLOAT);\n"]}
@@ -0,0 +1,18 @@
1
+ import { FieldNode } from '../FieldNode.js';
2
+ import { FieldConstraints } from '../FieldConstraints.js';
3
+ export declare class INT64 extends FieldNode {
4
+ get value(): number;
5
+ set value(value: number);
6
+ _value: number;
7
+ constructor(initData?: number, parent?: FieldNode, parentAttributeName?: string);
8
+ __updateWithLiteral(v: number): void;
9
+ protected ___updateNotEmptyPath(): void;
10
+ __mapJsonToLiteral(data: number): number;
11
+ protected __checkTypeBoundaries(): string[] | undefined;
12
+ protected __checkConstraints(fieldConstraints: FieldConstraints): string[] | undefined;
13
+ __toJson(): number;
14
+ __toLiteral(): number;
15
+ valueOf(): number;
16
+ toString(): string;
17
+ __clear(): void;
18
+ }
@@ -0,0 +1,104 @@
1
+ import { FieldNode } from '../FieldNode.js';
2
+ import { Registry } from '../Registry.js';
3
+ import { OPEN_MODELS_OPTIONS } from '../OPEN_MODELS_OPTIONS.js';
4
+ export class INT64 extends FieldNode {
5
+ get value() {
6
+ return this._value;
7
+ }
8
+ set value(value) {
9
+ this._value = value;
10
+ this.__isEmpty = false;
11
+ this.__climbUpValidation();
12
+ this.__notifyFieldValueChange(true);
13
+ }
14
+ constructor(initData, parent, parentAttributeName) {
15
+ super(undefined, parent, parentAttributeName);
16
+ this.__isPrimitive = true;
17
+ this._value = Number.isInteger(initData) ? initData : 0;
18
+ this.__meta.typeName = 'primitives.INT64';
19
+ }
20
+ __updateWithLiteral(v) {
21
+ this._value = v;
22
+ this.__isEmpty = false;
23
+ this.__notifyFieldValueChange(false);
24
+ }
25
+ ___updateNotEmptyPath() {
26
+ if (this._value === 0) {
27
+ this.___isEmpty = !(OPEN_MODELS_OPTIONS.EmitDefaultValues ||
28
+ OPEN_MODELS_OPTIONS.EmitUnpopulated);
29
+ }
30
+ else {
31
+ this.___isEmpty = false;
32
+ super.___updateNotEmptyPath();
33
+ }
34
+ }
35
+ // eslint-disable-next-line class-methods-use-this
36
+ __mapJsonToLiteral(data) {
37
+ return data;
38
+ }
39
+ __checkTypeBoundaries() {
40
+ // check for int64 min max boundaries
41
+ if (this._value > Number.MAX_SAFE_INTEGER) {
42
+ return [
43
+ 'constraint.violation.range.int64.max',
44
+ Number.MAX_SAFE_INTEGER.toString(),
45
+ ];
46
+ }
47
+ if (this._value < Number.MIN_SAFE_INTEGER) {
48
+ return [
49
+ 'constraint.violation.range.int64.min',
50
+ Number.MIN_SAFE_INTEGER.toString(),
51
+ ];
52
+ }
53
+ return undefined;
54
+ }
55
+ __checkConstraints(fieldConstraints) {
56
+ // eslint-disable-next-line guard-for-in
57
+ for (const [constraint, value] of Object.entries(fieldConstraints)) {
58
+ // An int64 has always a value if (constraint === 'required') {}
59
+ if (constraint === 'maximum') {
60
+ // By default, the minimum and maximum values are included in the range. ">" is used to check.
61
+ if (fieldConstraints.exclusive_maximum && this._value >= value) {
62
+ return ['constraint.violation.exclusive_maximum', value, this._value];
63
+ }
64
+ if (this._value > value) {
65
+ return ['constraint.violation.maximum', value];
66
+ }
67
+ }
68
+ if (constraint === 'minimum') {
69
+ // By default, the minimum and maximum values are included in the range. "<" is used to check.
70
+ if (fieldConstraints.exclusive_minimum && this._value <= value) {
71
+ return ['constraint.violation.exclusive_minimum', value, this._value];
72
+ }
73
+ if (this._value < value) {
74
+ return ['constraint.violation.minimum', value, this._value];
75
+ }
76
+ }
77
+ if (constraint === 'multiple_of') {
78
+ // Use the multiple_of keyword to specify that a number must be the multiple of another number
79
+ // use this to define the step ??
80
+ if (this._value % value !== 0) {
81
+ return ['constraint.violation.multiple_of', value, this._value];
82
+ }
83
+ }
84
+ }
85
+ return undefined;
86
+ }
87
+ __toJson() {
88
+ return this.__toLiteral();
89
+ }
90
+ __toLiteral() {
91
+ return this._value;
92
+ }
93
+ valueOf() {
94
+ return this._value;
95
+ }
96
+ toString() {
97
+ return this._value.toString();
98
+ }
99
+ __clear() {
100
+ this._value = 0;
101
+ }
102
+ }
103
+ Registry.register('int64', INT64);
104
+ //# sourceMappingURL=INT64.js.map
@@ -0,0 +1 @@
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 __mapJsonToLiteral(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 __clear() {\n this._value = 0;\n }\n}\n\nRegistry.register('int64', INT64);\n"]}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "homepage": "https://github.com/eclipse/eclipsefuro-web/tree/main/packages",
6
6
  "repository": "git@github.com:eclipse/eclipsefuro-web.git",
7
7
  "author": "eclipse furo",
8
- "version": "0.0.0-alpha.0",
8
+ "version": "0.0.0-alpha.1",
9
9
  "type": "module",
10
10
  "main": "dist/index.js",
11
11
  "module": "dist/index.js",
@@ -13,8 +13,8 @@
13
13
  "start": "npm run build && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"tsc -p ./tsconfig.test.components.json --watch --preserveWatchOutput\" \"web-dev-server\"",
14
14
  "build": "npm run build:src && npm run build:transport && npm run build:model",
15
15
  "build:src": "tsc && tsc-alias -p ./tsconfig.json",
16
- "build:model": "tsc -p ./tsconfig.models.json && tsc-alias -p ./tsconfig.models.json",
17
16
  "build:pages:components": "tsc -p ./tsconfig.test.components.json && tsc-alias -p ./tsconfig.test.components.json",
17
+ "build:model": "tsc -p ./tsconfig.models.json && tsc-alias -p ./tsconfig.models.json",
18
18
  "build:transport": "tsc -p ./tsconfig.transport.json && tsc-alias -p ./tsconfig.transport.json",
19
19
  "buf:transport": "buf generate",
20
20
  "clean": "rm -rf ./dist && rm -rf ./test/.test && rm -rf ./coverage",