@based/schema 0.0.9 → 0.0.11

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.
Files changed (97) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/set/collections.js +52 -19
  5. package/dist/set/collections.js.map +1 -1
  6. package/dist/set/error.d.ts +5 -2
  7. package/dist/set/error.js +10 -3
  8. package/dist/set/error.js.map +1 -1
  9. package/dist/set/index.d.ts +2 -2
  10. package/dist/set/index.js +67 -12
  11. package/dist/set/index.js.map +1 -1
  12. package/dist/set/number.js +37 -23
  13. package/dist/set/number.js.map +1 -1
  14. package/dist/set/parseDefaultAndValue.js +5 -3
  15. package/dist/set/parseDefaultAndValue.js.map +1 -1
  16. package/dist/set/references.js +12 -5
  17. package/dist/set/references.js.map +1 -1
  18. package/dist/set/rest.js +4 -4
  19. package/dist/set/rest.js.map +1 -1
  20. package/dist/set/string.js +48 -31
  21. package/dist/set/string.js.map +1 -1
  22. package/dist/set2/index.js +1 -0
  23. package/dist/set2/index.js.map +1 -0
  24. package/dist/types.d.ts +10 -2
  25. package/dist/types.js.map +1 -1
  26. package/dist/updateSchema.d.ts +2 -0
  27. package/dist/updateSchema.js +16 -0
  28. package/dist/updateSchema.js.map +1 -0
  29. package/dist/validateSchema.js +5 -1
  30. package/dist/validateSchema.js.map +1 -1
  31. package/dist/walker.d.ts +50 -0
  32. package/dist/walker.js +83 -0
  33. package/dist/walker.js.map +1 -0
  34. package/package.json +1 -1
  35. package/src/index.ts +2 -0
  36. package/src/set/collections.ts +56 -21
  37. package/src/set/error.ts +14 -3
  38. package/src/set/index.ts +87 -12
  39. package/src/set/number.ts +39 -22
  40. package/src/set/parseDefaultAndValue.ts +13 -3
  41. package/src/set/references.ts +11 -5
  42. package/src/set/rest.ts +4 -4
  43. package/src/set/string.ts +78 -35
  44. package/src/set2/index.ts +0 -0
  45. package/src/types.ts +18 -11
  46. package/src/updateSchema.ts +18 -0
  47. package/src/validateSchema.ts +6 -1
  48. package/src/walker.ts +152 -0
  49. package/test/number.ts +646 -0
  50. package/test/reference.ts +207 -0
  51. package/test/setWalker.ts +223 -53
  52. package/test/string.ts +183 -0
  53. package/test/text.ts +171 -0
  54. package/test/validateSchema.ts +0 -1
  55. package/test/walker.ts +99 -0
  56. package/dist/deepPartial.js +0 -3
  57. package/dist/deepPartial.js.map +0 -1
  58. package/dist/schema.d.ts +0 -1
  59. package/dist/schema.js +0 -3
  60. package/dist/schema.js.map +0 -1
  61. package/dist/set/checkDefaultAndValue.d.ts +0 -3
  62. package/dist/set/checkDefaultAndValue.js +0 -33
  63. package/dist/set/checkDefaultAndValue.js.map +0 -1
  64. package/dist/set/enum.d.ts +0 -2
  65. package/dist/set/enum.js +0 -15
  66. package/dist/set/enum.js.map +0 -1
  67. package/dist/set/fieldValidator.d.ts +0 -6
  68. package/dist/set/fieldValidator.js +0 -144
  69. package/dist/set/fieldValidator.js.map +0 -1
  70. package/dist/set/handleError.d.ts +0 -1
  71. package/dist/set/handleError.js +0 -9
  72. package/dist/set/handleError.js.map +0 -1
  73. package/dist/set/number copy.d.ts +0 -4
  74. package/dist/set/number copy.js +0 -57
  75. package/dist/set/number copy.js.map +0 -1
  76. package/dist/set/rest copy.d.ts +0 -5
  77. package/dist/set/rest copy.js +0 -53
  78. package/dist/set/rest copy.js.map +0 -1
  79. package/dist/setWalker.d.ts +0 -11
  80. package/dist/setWalker.js +0 -189
  81. package/dist/setWalker.js.map +0 -1
  82. package/dist/transformers.d.ts +0 -3
  83. package/dist/transformers.js +0 -18
  84. package/dist/transformers.js.map +0 -1
  85. package/dist/typeWalker.d.ts +0 -3
  86. package/dist/typeWalker.js +0 -18
  87. package/dist/typeWalker.js.map +0 -1
  88. package/dist/validate.d.ts +0 -4
  89. package/dist/validate.js +0 -34
  90. package/dist/validate.js.map +0 -1
  91. package/dist/validateFields.d.ts +0 -4
  92. package/dist/validateFields.js +0 -34
  93. package/dist/validateFields.js.map +0 -1
  94. package/dist/validateSchema copy.d.ts +0 -4
  95. package/dist/validateSchema copy.js +0 -34
  96. package/dist/validateSchema copy.js.map +0 -1
  97. /package/dist/{deepPartial.d.ts → set2/index.d.ts} +0 -0
@@ -1,144 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("@saulx/utils");
4
- const handleError_1 = require("./handleError");
5
- const _1 = require(".");
6
- const fieldValidator = {
7
- enum: (path, value, fieldSchema, typeSchema, target, collect) => {
8
- // @ts-ignore
9
- const enumValues = fieldSchema.enum;
10
- for (let i = 0; i < enumValues.length; i++) {
11
- if ((0, utils_1.deepEqual)(enumValues[i], value)) {
12
- collect(path, i, typeSchema, fieldSchema, target);
13
- return;
14
- }
15
- }
16
- throw (0, handleError_1.createError)(path, target.type, 'enum', value);
17
- },
18
- array: (path, value, fieldSchema, typeSchema, target, collect) => {
19
- // TODO: ADD OPERATORS
20
- const isArray = Array.isArray(value);
21
- if (!isArray) {
22
- throw (0, handleError_1.createError)(path, target.type, 'array', value);
23
- }
24
- for (let i = 0; i < value.length; i++) {
25
- (0, _1.fieldWalker)([...path, i], value[i],
26
- // @ts-ignore
27
- fieldSchema.values, typeSchema, target, collect);
28
- }
29
- },
30
- object: (path, value, fieldSchema, typeSchema, target, collect) => {
31
- if (typeof value !== 'object') {
32
- throw (0, handleError_1.createError)(path, target.type, 'object', value);
33
- }
34
- const isArray = Array.isArray(value);
35
- if (isArray) {
36
- throw (0, handleError_1.createError)(path, target.type, 'object', value);
37
- }
38
- for (const key in value) {
39
- // @ts-ignore
40
- const propDef = fieldSchema.properties[key];
41
- if (!propDef) {
42
- throw (0, handleError_1.createError)([...path, key], target.type, 'object', value[key], key);
43
- }
44
- (0, _1.fieldWalker)([...path, key], value[key], propDef, typeSchema, target, collect);
45
- }
46
- },
47
- set: (path, value, fieldSchema, typeSchema, target, collect) => {
48
- if (Array.isArray(value)) {
49
- const parsedArray = [];
50
- // @ts-ignore
51
- const fieldDef = fieldSchema.items;
52
- for (let i = 0; i < value.length; i++) {
53
- (0, _1.fieldWalker)([...path, i], value[i], fieldDef, typeSchema, target, (path, value) => {
54
- parsedArray.push(value);
55
- });
56
- }
57
- collect(path, parsedArray, typeSchema, fieldSchema, target);
58
- }
59
- else {
60
- // TODO PARSE IF VALID
61
- // $add / $remove
62
- collect(path, value, typeSchema, fieldSchema, target);
63
- }
64
- },
65
- json: (path, value, fieldSchema, typeSchema, target, collect) => {
66
- try {
67
- const parsedValue = JSON.stringify(value);
68
- collect(path, parsedValue, typeSchema, fieldSchema, target);
69
- }
70
- catch (err) {
71
- throw (0, handleError_1.createError)(path, target.type, 'json', value);
72
- }
73
- },
74
- number: (path, value, fieldSchema, typeSchema, target, collect) => {
75
- if (typeof value !== 'number') {
76
- throw (0, handleError_1.createError)(path, target.type, 'number', value);
77
- }
78
- collect(path, value, typeSchema, fieldSchema, target);
79
- },
80
- integer: (path, value, fieldSchema, typeSchema, target, collect) => {
81
- if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
82
- throw (0, handleError_1.createError)(path, target.type, 'integer', value);
83
- }
84
- collect(path, value, typeSchema, fieldSchema, target);
85
- },
86
- string: (path, value, fieldSchema, typeSchema, target, collect) => {
87
- if (typeof value !== 'string') {
88
- throw (0, handleError_1.createError)(path, target.type, 'string', value);
89
- }
90
- // @ts-ignore
91
- if (fieldSchema.minLength && value.length < fieldSchema.minLength) {
92
- throw (0, handleError_1.createError)(path, target.type, 'string', value);
93
- }
94
- // @ts-ignore
95
- if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {
96
- throw (0, handleError_1.createError)(path, target.type, 'string', value);
97
- }
98
- collect(path, value, typeSchema, fieldSchema, target);
99
- },
100
- text: (path, value, fieldSchema, typeSchema, target, collect) => {
101
- const valueType = typeof value;
102
- if (target.$language && valueType === 'string') {
103
- // @ts-ignore
104
- if (fieldSchema.minLength && value.length < fieldSchema.minLength) {
105
- throw (0, handleError_1.createError)(path, target.type, 'text', value);
106
- }
107
- // @ts-ignore
108
- if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {
109
- throw (0, handleError_1.createError)(path, target.type, 'text', value);
110
- }
111
- collect(path, { [target.$language]: value }, typeSchema, fieldSchema, target);
112
- return;
113
- }
114
- if (valueType !== 'object') {
115
- throw (0, handleError_1.createError)(path, target.type, 'text', value);
116
- }
117
- for (const key in value) {
118
- // @ts-ignore
119
- if (fieldSchema.minLength && value[key].length < fieldSchema.minLength) {
120
- throw (0, handleError_1.createError)([...path, key], target.type, 'text', value);
121
- }
122
- // @ts-ignore
123
- if (fieldSchema.maxLength && value[key].length > fieldSchema.maxLength) {
124
- throw (0, handleError_1.createError)([...path, key], target.type, 'text', value);
125
- }
126
- if (typeof value[key] === 'object' && value[key].$delete === true) {
127
- collect([...path, key], null, typeSchema, fieldSchema, target);
128
- continue;
129
- }
130
- if (typeof value[key] !== 'string') {
131
- throw (0, handleError_1.createError)([...path, key], target.type, 'text', value);
132
- }
133
- collect([...path, key], value[key], typeSchema, fieldSchema, target);
134
- }
135
- },
136
- references: (path, value, fieldSchema, typeSchema, target, collect) => {
137
- collect(path, value, typeSchema, fieldSchema, target);
138
- },
139
- reference: (path, value, fieldSchema, typeSchema, target, collect) => {
140
- collect(path, value, typeSchema, fieldSchema, target);
141
- },
142
- };
143
- exports.default = fieldValidator;
144
- //# sourceMappingURL=fieldValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldValidator.js","sourceRoot":"","sources":["../../src/set/fieldValidator.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const createError: (path: (number | string)[], fromType: string, fieldType: string, value: any, fieldDoesNotExist?: string, msg?: string) => Error;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createError = void 0;
4
- const createError = (path, fromType, fieldType, value, fieldDoesNotExist, msg) => {
5
- const err = new Error();
6
- return new Error(`Type: "${fromType}" Field: "${path.join('.')}" is not a valid value for ${fieldType}`);
7
- };
8
- exports.createError = createError;
9
- //# sourceMappingURL=handleError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleError.js","sourceRoot":"","sources":["../../src/set/handleError.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CACzB,IAAyB,EACzB,QAAgB,EAChB,SAAiB,EACjB,KAAU,EACV,iBAA0B,EAC1B,GAAY,EACL,EAAE;IACT,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;IACvB,OAAO,IAAI,KAAK,CACd,UAAU,QAAQ,aAAa,IAAI,CAAC,IAAI,CACtC,GAAG,CACJ,8BAA8B,SAAS,EAAE,CAC3C,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB"}
@@ -1,4 +0,0 @@
1
- import { Parser } from './types';
2
- export declare const timestamp: Parser<'timestamp'>;
3
- export declare const number: Parser<'number'>;
4
- export declare const integer: Parser<'integer'>;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.integer = exports.number = exports.timestamp = void 0;
4
- const error_1 = require("./error");
5
- const timestamp = async (path, value, fieldSchema, typeSchema, target, handlers) => {
6
- if (typeof value === 'string') {
7
- if (value === 'now') {
8
- value = Date.now();
9
- }
10
- else {
11
- const d = new Date(value);
12
- value = d.valueOf();
13
- if (isNaN(value)) {
14
- throw (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
15
- }
16
- }
17
- }
18
- // // smaller then / larger then steps
19
- // if (typeof value !== 'number') {
20
- // throw createError(path, target.type, 'timestamp', value)
21
- // }
22
- // if (fieldSchema.maximum) {
23
- // if (fieldSchema.exclusiveMaximum && value > value) {
24
- // throw createError(path, target.type, 'timestamp', value)
25
- // } else if (value >= value) {
26
- // throw createError(path, target.type, 'timestamp', value)
27
- // }
28
- // }
29
- // if (fieldSchema.minimum) {
30
- // if (fieldSchema.exclusiveMinimum && value < value) {
31
- // throw createError(path, target.type, 'timestamp', value)
32
- // } else if (value <= value) {
33
- // throw createError(path, target.type, 'timestamp', value)
34
- // }
35
- // }
36
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
37
- };
38
- exports.timestamp = timestamp;
39
- const number = async (path, value, fieldSchema, typeSchema, target, handlers) => {
40
- // value .default
41
- // $increment / $decrement
42
- if (typeof value !== 'number') {
43
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
44
- }
45
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
46
- };
47
- exports.number = number;
48
- const integer = async (path, value, fieldSchema, typeSchema, target, handlers) => {
49
- // value .default
50
- // $increment / $decrement
51
- if (typeof value !== 'number' || value - Math.floor(value) !== 0) {
52
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
53
- }
54
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
55
- };
56
- exports.integer = integer;
57
- //# sourceMappingURL=number%20copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number copy.js","sourceRoot":"","sources":["../../src/set/number copy.ts"],"names":[],"mappings":";;;AACA,mCAA2C;AAEpC,MAAM,SAAS,GAAwB,KAAK,EACjD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAI,KAAK,KAAK,KAAK,EAAE;YACnB,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;SACnB;aAAM;YACL,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,KAAK,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;YACnB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;gBAChB,MAAM,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;aAC9C;SACF;KACF;IACD,sCAAsC;IACtC,mCAAmC;IACnC,6DAA6D;IAC7D,IAAI;IAEJ,6BAA6B;IAC7B,yDAAyD;IACzD,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAC/D,MAAM;IACN,IAAI;IAEJ,6BAA6B;IAC7B,yDAAyD;IACzD,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAC/D,MAAM;IACN,IAAI;IACJ,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAxCY,QAAA,SAAS,aAwCrB;AAEM,MAAM,MAAM,GAAqB,KAAK,EAC3C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,iBAAiB;IACjB,0BAA0B;IAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;KACxC;IAED,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAhBY,QAAA,MAAM,UAgBlB;AAEM,MAAM,OAAO,GAAsB,KAAK,EAC7C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,iBAAiB;IACjB,0BAA0B;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAChE,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;KACxC;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAdY,QAAA,OAAO,WAcnB"}
@@ -1,5 +0,0 @@
1
- import { Parser } from './types';
2
- export declare const cardinality: Parser<'cardinality'>;
3
- export declare const boolean: Parser<'boolean'>;
4
- export declare const enumParser: Parser<'enum'>;
5
- export declare const json: Parser<'json'>;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.json = exports.enumParser = exports.boolean = exports.cardinality = void 0;
4
- const utils_1 = require("@saulx/utils");
5
- const hash_1 = require("@saulx/hash");
6
- const error_1 = require("./error");
7
- const cardinality = async (path, value, fieldSchema, typeSchema, target, handlers) => {
8
- if (value && typeof value === 'object') {
9
- value = (0, hash_1.hashObjectIgnoreKeyOrder)(value).toString(16);
10
- }
11
- else {
12
- value = (0, hash_1.hash)(value).toString(16);
13
- }
14
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
15
- };
16
- exports.cardinality = cardinality;
17
- const boolean = async (path, value, fieldSchema, typeSchema, target, handlers) => {
18
- // value .default
19
- // $increment / $decrement
20
- if (typeof value !== 'boolean') {
21
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
22
- }
23
- handlers.collect({ path, value, typeSchema, fieldSchema, target });
24
- };
25
- exports.boolean = boolean;
26
- const enumParser = async (path, value, fieldSchema, typeSchema, target, handlers) => {
27
- const enumValues = fieldSchema.enum;
28
- for (let i = 0; i < enumValues.length; i++) {
29
- if ((0, utils_1.deepEqual)(enumValues[i], value)) {
30
- handlers.collect({ path, value: i, typeSchema, fieldSchema, target });
31
- return;
32
- }
33
- }
34
- (0, error_1.error)(path, error_1.ParseError.incorrectFormat);
35
- };
36
- exports.enumParser = enumParser;
37
- const json = async (path, value, fieldSchema, typeSchema, target, handlers) => {
38
- try {
39
- const parsedValue = JSON.stringify(value);
40
- handlers.collect({
41
- path,
42
- value: parsedValue,
43
- typeSchema,
44
- fieldSchema,
45
- target,
46
- });
47
- }
48
- catch (err) {
49
- throw err(path, error_1.ParseError.incorrectFormat);
50
- }
51
- };
52
- exports.json = json;
53
- //# sourceMappingURL=rest%20copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rest copy.js","sourceRoot":"","sources":["../../src/set/rest copy.ts"],"names":[],"mappings":";;;AACA,wCAAwC;AACxC,sCAA4D;AAC5D,mCAA2C;AAEpC,MAAM,WAAW,GAA0B,KAAK,EACrD,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACtC,KAAK,GAAG,IAAA,+BAAwB,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;KACrD;SAAM;QACL,KAAK,GAAG,IAAA,WAAI,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;KACjC;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB;AAEM,MAAM,OAAO,GAAsB,KAAK,EAC7C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,iBAAiB;IACjB,0BAA0B;IAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC9B,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;KACxC;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;AACpE,CAAC,CAAA;AAdY,QAAA,OAAO,WAcnB;AAEM,MAAM,UAAU,GAAmB,KAAK,EAC7C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAA;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;YACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YACrE,OAAM;SACP;KACF;IACD,IAAA,aAAK,EAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;AACzC,CAAC,CAAA;AAhBY,QAAA,UAAU,cAgBtB;AAEM,MAAM,IAAI,GAAmB,KAAK,EACvC,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,EAAE;IACF,IAAI;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACzC,QAAQ,CAAC,OAAO,CAAC;YACf,IAAI;YACJ,KAAK,EAAE,WAAW;YAClB,UAAU;YACV,WAAW;YACX,MAAM;SACP,CAAC,CAAA;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,GAAG,CAAC,IAAI,EAAE,kBAAU,CAAC,eAAe,CAAC,CAAA;KAC5C;AACH,CAAC,CAAA;AApBY,QAAA,IAAI,QAoBhB"}
@@ -1,11 +0,0 @@
1
- import { BasedSchemaField, BasedSchemaType, BasedSchema, BasedSchemaLanguage } from './types';
2
- type Target = {
3
- type: string;
4
- $alias?: string;
5
- $id?: string;
6
- $language?: BasedSchemaLanguage;
7
- };
8
- export declare const setWalker: (schema: BasedSchema, value: {
9
- [key: string]: any;
10
- }, collect: (path: (string | number)[], value: any, typeSchema: BasedSchemaType, fieldSchema: BasedSchemaField, target: Target) => void) => Target;
11
- export {};
package/dist/setWalker.js DELETED
@@ -1,189 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setWalker = void 0;
4
- const types_1 = require("./types");
5
- const utils_1 = require("@saulx/utils");
6
- // collect is a pretty good place for checking if a user is allowed to set something
7
- // also make collect async
8
- const fieldWalker = (path, value, fieldSchema, typeSchema, target, collect) => {
9
- if ('$ref' in fieldSchema) {
10
- // TODO: when we have this it has to get it from the schema and redo the parsing with the correct fieldSchema
11
- return;
12
- }
13
- const valueType = typeof value;
14
- const valueIsObject = value && valueType === 'object';
15
- if (valueIsObject && value.$delete === true) {
16
- collect(path, value, typeSchema, fieldSchema, target);
17
- return;
18
- }
19
- if ('enum' in fieldSchema) {
20
- const enumValues = fieldSchema.enum;
21
- for (let i = 0; i < enumValues.length; i++) {
22
- if ((0, utils_1.deepEqual)(enumValues[i], value)) {
23
- collect(path, i, typeSchema, fieldSchema, target);
24
- return;
25
- }
26
- }
27
- throw new Error(`Type: "${target.type}" Field: "${path.join('.')}" is not a valid value for enum`);
28
- }
29
- if ('type' in fieldSchema && (0, types_1.isCollection)(fieldSchema.type)) {
30
- const typeDef = fieldSchema.type;
31
- const isArray = Array.isArray(value);
32
- if (typeDef === 'array') {
33
- if (!isArray) {
34
- throw new Error(`Type: "${target.type}" Field: "${path.join('.')}" is not of type "array"`);
35
- }
36
- for (let i = 0; i < value.length; i++) {
37
- fieldWalker([...path, i], value[i],
38
- // @ts-ignore
39
- fieldSchema.values, typeSchema, target, collect);
40
- }
41
- return;
42
- }
43
- else if (isArray) {
44
- throw new Error(`Type: "${target.type}" Field: "${path.join('.')}" is not of type "${typeDef}"`);
45
- }
46
- if (valueType !== 'object') {
47
- throw new Error(`Type: "${target.type}" Field: "${path.join('.')}" is not of type "${typeDef}"`);
48
- }
49
- for (const key in value) {
50
- // @ts-ignore
51
- const propDef = fieldSchema.properties[key];
52
- if (!propDef) {
53
- throw new Error(`Field does not exist in schema "${[...path, key].join('.')}" on type "${target.type}"`);
54
- }
55
- fieldWalker([...path, key], value[key], propDef, typeSchema, target, collect);
56
- }
57
- return;
58
- }
59
- if ('type' in fieldSchema) {
60
- const typeDef = fieldSchema.type;
61
- if (typeDef === 'set') {
62
- if (Array.isArray(value)) {
63
- const parsedArray = [];
64
- const fieldDef = fieldSchema.items;
65
- for (let i = 0; i < value.length; i++) {
66
- fieldWalker([...path, i], value[i], fieldDef, typeSchema, target, (path, value) => {
67
- parsedArray.push(value);
68
- });
69
- }
70
- collect(path, parsedArray, typeSchema, fieldSchema, target);
71
- }
72
- else {
73
- // TODO PARSE IF VALID
74
- // $add / $remove
75
- collect(path, value, typeSchema, fieldSchema, target);
76
- }
77
- return;
78
- }
79
- if (typeDef === 'json') {
80
- try {
81
- const parsedValue = JSON.stringify(value);
82
- collect(path, parsedValue, typeSchema, fieldSchema, target);
83
- return;
84
- }
85
- catch (err) {
86
- throw new Error(`${value} cannot be parsed to json "${path.join('.')}" on type "${target.type}"`);
87
- }
88
- }
89
- if ((typeDef === 'number' || typeDef === 'integer') &&
90
- valueType !== 'number') {
91
- throw new Error(`${value} is not a number "${path.join('.')}" on type "${target.type}"`);
92
- }
93
- if (typeDef === 'integer' && value - Math.floor(value) !== 0) {
94
- throw new Error(`${value} is not an integer "${path.join('.')}" on type "${target.type}"`);
95
- }
96
- if (typeDef === 'string') {
97
- if (valueType !== 'string') {
98
- throw new Error(`${value} is not a string "${path.join('.')}" on type "${target.type}"`);
99
- }
100
- if (fieldSchema.minLength && value.length < fieldSchema.minLength) {
101
- throw new Error(`${value} is smaller then minLength "${fieldSchema.minLength}" "${path.join('.')}" on type "${target.type}"`);
102
- }
103
- if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {
104
- throw new Error(`${value} is larger then maxLength "${fieldSchema.maxLength}" "${path.join('.')}" on type "${target.type}"`);
105
- }
106
- }
107
- if (typeDef === 'text') {
108
- if (target.$language && valueType === 'string') {
109
- if (fieldSchema.minLength && value.length < fieldSchema.minLength) {
110
- throw new Error(`${value} is smaller then minLength "${fieldSchema.minLength}" "${path.join('.')}" on type "${target.type}"`);
111
- }
112
- if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {
113
- throw new Error(`${value} is larger then maxLength "${fieldSchema.maxLength}" "${path.join('.')}" on type "${target.type}"`);
114
- }
115
- collect(path, { [target.$language]: value }, typeSchema, fieldSchema, target);
116
- return;
117
- }
118
- if (valueType !== 'object') {
119
- throw new Error(`${value} is not a language object "${path.join('.')}" on type "${target.type}"`);
120
- }
121
- for (const key in value) {
122
- if (fieldSchema.minLength &&
123
- value[key].length < fieldSchema.minLength) {
124
- throw new Error(`${value[key]} is smaller then minLength "${fieldSchema.minLength}" "${path.join('.')}" on type "${target.type}"`);
125
- }
126
- if (fieldSchema.maxLength &&
127
- value[key].length > fieldSchema.maxLength) {
128
- throw new Error(`${value[key]} is larger then maxLength "${fieldSchema.maxLength}" "${path.join('.')}" on type "${target.type}"`);
129
- }
130
- if (typeof value[key] === 'object' && value[key].$delete === true) {
131
- collect([...path, key], null, typeSchema, fieldSchema, target);
132
- continue;
133
- }
134
- if (typeof value[key] !== 'string') {
135
- throw new Error(`${value} is not a string "${[...path, key].join('.')}" on type "${target.type}"`);
136
- }
137
- collect([...path, key], value[key], typeSchema, fieldSchema, target);
138
- }
139
- return;
140
- }
141
- collect(path, value, typeSchema, fieldSchema, target);
142
- return;
143
- }
144
- };
145
- const setWalker = (schema, value, collect) => {
146
- let type;
147
- if (value.$id) {
148
- type = schema.prefixToTypeMapping[value.$id.slice(0, 2)];
149
- if (!type) {
150
- throw new Error(`Cannot find type for $id ${value.$id}`);
151
- }
152
- }
153
- if (value.type) {
154
- if (type && value.type !== type) {
155
- throw new Error(`type from "$id" ${value.$id} does not match "type" field ${value.type}`);
156
- }
157
- type = value.type;
158
- }
159
- const schemaType = schema.types[type];
160
- if (!schemaType) {
161
- throw new Error(`Cannot find schema definition for type ${type}`);
162
- }
163
- const target = {
164
- type,
165
- };
166
- if (value.$id) {
167
- target.$id = value.$id;
168
- }
169
- else if (value.$alias) {
170
- target.$alias = value.$alias;
171
- }
172
- for (const key in value) {
173
- if (key[0] === '$') {
174
- console.info('key is operator', key);
175
- }
176
- else {
177
- const fieldSchema = schemaType.fields[key];
178
- if (!fieldSchema) {
179
- throw new Error(`Field does not exist in schema "${key}" on type "${type}"`);
180
- }
181
- else {
182
- fieldWalker([key], value[key], fieldSchema, schemaType, target, collect);
183
- }
184
- }
185
- }
186
- return target;
187
- };
188
- exports.setWalker = setWalker;
189
- //# sourceMappingURL=setWalker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setWalker.js","sourceRoot":"","sources":["../src/setWalker.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { BasedSchemaPartial, BasedSchemaTypePartial } from './types';
2
- export declare const transformField: (fromSchema: BasedSchemaPartial, typeName: string, type: BasedSchemaTypePartial) => void;
3
- export declare const transformType: (fromSchema: BasedSchemaPartial, typeName: string, type: BasedSchemaTypePartial) => void;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformType = exports.transformField = void 0;
4
- const transformField = (fromSchema, typeName, type) => {
5
- if (type.prefix &&
6
- (typeof type.prefix !== 'string' || type.prefix.length !== 2)) {
7
- throw new Error(`Incorrect prefix "${type.prefix}" for type "${typeName}" has to be a string of 2 alphanumerical characters e.g. "Az", "ab", "cc", "10"`);
8
- }
9
- };
10
- exports.transformField = transformField;
11
- const transformType = (fromSchema, typeName, type) => {
12
- if (type.prefix &&
13
- (typeof type.prefix !== 'string' || type.prefix.length !== 2)) {
14
- throw new Error(`Incorrect prefix "${type.prefix}" for type "${typeName}" has to be a string of 2 alphanumerical characters e.g. "Az", "ab", "cc", "10"`);
15
- }
16
- };
17
- exports.transformType = transformType;
18
- //# sourceMappingURL=transformers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":";;;AAOO,MAAM,cAAc,GAAG,CAC5B,UAA8B,EAC9B,QAAgB,EAChB,IAA4B,EAC5B,EAAE;IACF,IACE,IAAI,CAAC,MAAM;QACX,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7D;QACA,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,eAAe,QAAQ,iFAAiF,CACzI,CAAA;KACF;AACH,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAEM,MAAM,aAAa,GAAG,CAC3B,UAA8B,EAC9B,QAAgB,EAChB,IAA4B,EAC5B,EAAE;IACF,IACE,IAAI,CAAC,MAAM;QACX,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7D;QACA,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,eAAe,QAAQ,iFAAiF,CACzI,CAAA;KACF;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB"}
@@ -1,3 +0,0 @@
1
- import { BasedSchemaPartial, BasedSchemaTypePartial } from './types';
2
- export declare const transformField: (fromSchema: BasedSchemaPartial, typeName: string, type: BasedSchemaTypePartial) => void;
3
- export declare const transformType: (fromSchema: BasedSchemaPartial, typeName: string, type: BasedSchemaTypePartial) => void;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformType = exports.transformField = void 0;
4
- const transformField = (fromSchema, typeName, type) => {
5
- if (type.prefix &&
6
- (typeof type.prefix !== 'string' || type.prefix.length !== 2)) {
7
- throw new Error(`Incorrect prefix "${type.prefix}" for type "${typeName}" has to be a string of 2 alphanumerical characters e.g. "Az", "ab", "cc", "10"`);
8
- }
9
- };
10
- exports.transformField = transformField;
11
- const transformType = (fromSchema, typeName, type) => {
12
- if (type.prefix &&
13
- (typeof type.prefix !== 'string' || type.prefix.length !== 2)) {
14
- throw new Error(`Incorrect prefix "${type.prefix}" for type "${typeName}" has to be a string of 2 alphanumerical characters e.g. "Az", "ab", "cc", "10"`);
15
- }
16
- };
17
- exports.transformType = transformType;
18
- //# sourceMappingURL=typeWalker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typeWalker.js","sourceRoot":"","sources":["../src/typeWalker.ts"],"names":[],"mappings":";;;AAOO,MAAM,cAAc,GAAG,CAC5B,UAA8B,EAC9B,QAAgB,EAChB,IAA4B,EAC5B,EAAE;IACF,IACE,IAAI,CAAC,MAAM;QACX,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7D;QACA,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,eAAe,QAAQ,iFAAiF,CACzI,CAAA;KACF;AACH,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAEM,MAAM,aAAa,GAAG,CAC3B,UAA8B,EAC9B,QAAgB,EAChB,IAA4B,EAC5B,EAAE;IACF,IACE,IAAI,CAAC,MAAM;QACX,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7D;QACA,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,eAAe,QAAQ,iFAAiF,CACzI,CAAA;KACF;AACH,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB"}
@@ -1,4 +0,0 @@
1
- import { BasedSchemaPartial, BasedSchemaFieldPartial, BasedSchemaTypePartial } from './types';
2
- export declare const parseType: (fromSchema: BasedSchemaPartial, typeName: string, type: BasedSchemaTypePartial) => void;
3
- export declare const parseField: (fromSchema: BasedSchemaPartial, path: string[], field: BasedSchemaFieldPartial) => void;
4
- export declare const validateSchema: (schema: BasedSchemaPartial) => BasedSchemaPartial;
package/dist/validate.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateSchema = exports.parseField = exports.parseType = void 0;
4
- const parseType = (fromSchema, typeName, type) => {
5
- if (type.prefix &&
6
- (typeof type.prefix !== 'string' || type.prefix.length !== 2)) {
7
- throw new Error(`Incorrect prefix "${type.prefix}" for type "${typeName}" has to be a string of 2 alphanumerical characters e.g. "Az", "ab", "cc", "10"`);
8
- }
9
- };
10
- exports.parseType = parseType;
11
- const parseField = (fromSchema, path, field) => { };
12
- exports.parseField = parseField;
13
- const validateSchema = (schema) => {
14
- // rewrite schema things like required / required: []
15
- if (typeof schema !== 'object') {
16
- throw new Error('Schema is not an object');
17
- }
18
- if (schema.languages && !Array.isArray(schema.languages)) {
19
- throw new Error('Languages needs to be an array');
20
- }
21
- if (schema.$defs) {
22
- // first defs ofc
23
- }
24
- if (schema.root) {
25
- }
26
- if (schema.types) {
27
- for (const type in schema.types) {
28
- (0, exports.parseType)(schema, type, schema.types[type]);
29
- }
30
- }
31
- return schema;
32
- };
33
- exports.validateSchema = validateSchema;
34
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":";;;AAOO,MAAM,SAAS,GAAG,CACvB,UAA8B,EAC9B,QAAgB,EAChB,IAA4B,EAC5B,EAAE;IACF,IACE,IAAI,CAAC,MAAM;QACX,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7D;QACA,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,CAAC,MAAM,eAAe,QAAQ,iFAAiF,CACzI,CAAA;KACF;AACH,CAAC,CAAA;AAbY,QAAA,SAAS,aAarB;AAEM,MAAM,UAAU,GAAG,CACxB,UAA8B,EAC9B,IAAc,EACd,KAA8B,EAC9B,EAAE,GAAE,CAAC,CAAA;AAJM,QAAA,UAAU,cAIhB;AAEA,MAAM,cAAc,GAAG,CAC5B,MAA0B,EACN,EAAE;IACtB,qDAAqD;IAErD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;KAC3C;IAED,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;KAClD;IAED,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,iBAAiB;KAClB;IAED,IAAI,MAAM,CAAC,IAAI,EAAE;KAChB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;YAC/B,IAAA,iBAAS,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;SAC5C;KACF;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA3BY,QAAA,cAAc,kBA2B1B"}
@@ -1,4 +0,0 @@
1
- import { BasedSchemaPartial, BasedSchemaFieldPartial, BasedSchemaTypePartial } from './types';
2
- export declare const parseType: (fromSchema: BasedSchemaPartial, typeName: string, type: BasedSchemaTypePartial) => void;
3
- export declare const parseField: (fromSchema: BasedSchemaPartial, path: string[], field: BasedSchemaFieldPartial) => void;
4
- export declare const validateSchema: (schema: BasedSchemaPartial) => BasedSchemaPartial;