@mayhem93/nexxus-core-lib 0.0.1 → 0.0.2
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-cjs/common/BuiltinSchemas.js +24 -5
- package/dist-cjs/common/BuiltinSchemas.js.map +1 -1
- package/dist-cjs/common/FilterQuery.js +4 -15
- package/dist-cjs/common/FilterQuery.js.map +1 -1
- package/dist-cjs/common/InferModel.js +3 -0
- package/dist-cjs/common/InferModel.js.map +1 -0
- package/dist-cjs/common/JsonPatch.js +42 -225
- package/dist-cjs/common/JsonPatch.js.map +1 -1
- package/dist-cjs/common/SchemaValidator.js +100 -29
- package/dist-cjs/common/SchemaValidator.js.map +1 -1
- package/dist-cjs/index.js +3 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/lib/BaseService.js +6 -6
- package/dist-cjs/lib/BaseService.js.map +1 -1
- package/dist-cjs/lib/ConfigManager.js +18 -21
- package/dist-cjs/lib/ConfigManager.js.map +1 -1
- package/dist-cjs/lib/Exceptions.js +8 -1
- package/dist-cjs/lib/Exceptions.js.map +1 -1
- package/dist-cjs/lib/Logger.js +138 -65
- package/dist-cjs/lib/Logger.js.map +1 -1
- package/dist-cjs/models/AppModel.js +17 -3
- package/dist-cjs/models/AppModel.js.map +1 -1
- package/dist-cjs/models/Application.js +51 -12
- package/dist-cjs/models/Application.js.map +1 -1
- package/dist-cjs/models/BaseModel.js.map +1 -1
- package/dist-cjs/models/BuiltinModel.js +8 -0
- package/dist-cjs/models/BuiltinModel.js.map +1 -0
- package/dist-cjs/models/User.js +12 -3
- package/dist-cjs/models/User.js.map +1 -1
- package/dist-esm/common/BuiltinSchemas.js +23 -4
- package/dist-esm/common/BuiltinSchemas.js.map +1 -1
- package/dist-esm/common/FilterQuery.js +5 -16
- package/dist-esm/common/FilterQuery.js.map +1 -1
- package/dist-esm/common/InferModel.js +2 -0
- package/dist-esm/common/InferModel.js.map +1 -0
- package/dist-esm/common/JsonPatch.js +44 -227
- package/dist-esm/common/JsonPatch.js.map +1 -1
- package/dist-esm/common/SchemaValidator.js +100 -29
- package/dist-esm/common/SchemaValidator.js.map +1 -1
- package/dist-esm/index.js +3 -0
- package/dist-esm/index.js.map +1 -1
- package/dist-esm/lib/BaseService.js +8 -8
- package/dist-esm/lib/BaseService.js.map +1 -1
- package/dist-esm/lib/ConfigManager.js +18 -21
- package/dist-esm/lib/ConfigManager.js.map +1 -1
- package/dist-esm/lib/Exceptions.js +6 -0
- package/dist-esm/lib/Exceptions.js.map +1 -1
- package/dist-esm/lib/Logger.js +139 -66
- package/dist-esm/lib/Logger.js.map +1 -1
- package/dist-esm/models/AppModel.js +17 -3
- package/dist-esm/models/AppModel.js.map +1 -1
- package/dist-esm/models/Application.js +52 -13
- package/dist-esm/models/Application.js.map +1 -1
- package/dist-esm/models/BaseModel.js.map +1 -1
- package/dist-esm/models/BuiltinModel.js +4 -0
- package/dist-esm/models/BuiltinModel.js.map +1 -0
- package/dist-esm/models/User.js +11 -2
- package/dist-esm/models/User.js.map +1 -1
- package/dist-types/common/BuiltinSchemas.d.ts +59 -5
- package/dist-types/common/FilterQuery.d.ts +3 -11
- package/dist-types/common/InferModel.d.ts +29 -0
- package/dist-types/common/JsonPatch.d.ts +4 -45
- package/dist-types/common/ModelTypes.d.ts +1 -0
- package/dist-types/common/QueuePayloads.d.ts +48 -26
- package/dist-types/common/SchemaValidator.d.ts +42 -2
- package/dist-types/index.d.ts +3 -0
- package/dist-types/lib/BaseService.d.ts +8 -1
- package/dist-types/lib/ConfigManager.d.ts +6 -12
- package/dist-types/lib/Exceptions.d.ts +4 -0
- package/dist-types/lib/Logger.d.ts +84 -14
- package/dist-types/models/AppModel.d.ts +31 -5
- package/dist-types/models/Application.d.ts +36 -8
- package/dist-types/models/BaseModel.d.ts +14 -12
- package/dist-types/models/BuiltinModel.d.ts +3 -0
- package/dist-types/models/User.d.ts +15 -13
- package/package.json +4 -4
- package/src/schemas/winston-logger.schema.json +51 -6
|
@@ -1,23 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NEXXUS_BUILTIN_MODEL_SCHEMAS = exports.NEXXUS_UNIVERSAL_FIELDS = void 0;
|
|
3
|
+
exports.NEXXUS_BUILTIN_MODEL_SCHEMAS = exports.NEXXUS_RESERVED_FIELD_NAMES = exports.NEXXUS_UNIVERSAL_FIELDS = void 0;
|
|
4
4
|
exports.isBuiltinModel = isBuiltinModel;
|
|
5
5
|
exports.NEXXUS_UNIVERSAL_FIELDS = {
|
|
6
6
|
id: { type: 'string', required: true },
|
|
7
7
|
createdAt: { type: 'date', required: true },
|
|
8
8
|
updatedAt: { type: 'date', required: true }
|
|
9
9
|
};
|
|
10
|
+
exports.NEXXUS_RESERVED_FIELD_NAMES = new Set([
|
|
11
|
+
'id',
|
|
12
|
+
'createdAt',
|
|
13
|
+
'updatedAt',
|
|
14
|
+
'appId',
|
|
15
|
+
'userId',
|
|
16
|
+
'type',
|
|
17
|
+
'version'
|
|
18
|
+
]);
|
|
10
19
|
exports.NEXXUS_BUILTIN_MODEL_SCHEMAS = {
|
|
11
20
|
user: {
|
|
12
|
-
|
|
21
|
+
appId: { type: 'string', required: true, filterable: true },
|
|
22
|
+
userType: { type: 'string', required: true, filterable: true },
|
|
13
23
|
username: { type: 'string', required: true, filterable: true },
|
|
14
|
-
password: { type: 'string', required:
|
|
24
|
+
password: { type: 'string', required: true, nullable: true },
|
|
15
25
|
authProviders: { type: 'array', required: true, arrayType: 'string' },
|
|
16
26
|
devices: { type: 'array', required: true, arrayType: 'string' },
|
|
17
|
-
details: { type: 'object', required: false, properties: {} }
|
|
27
|
+
details: { type: 'object', required: false, properties: {} },
|
|
18
28
|
},
|
|
19
29
|
application: {
|
|
20
|
-
name: { type: 'string', required: true, filterable: true }
|
|
30
|
+
name: { type: 'string', required: true, filterable: true },
|
|
31
|
+
description: { type: 'string', required: false },
|
|
32
|
+
auth: {
|
|
33
|
+
type: 'object', required: false, nullable: true,
|
|
34
|
+
properties: {
|
|
35
|
+
jwtSecret: { type: 'string', required: true },
|
|
36
|
+
jwtExpiresIn: { type: 'string', required: false },
|
|
37
|
+
strategies: { type: 'object', required: true, properties: {} },
|
|
38
|
+
},
|
|
39
|
+
},
|
|
21
40
|
}
|
|
22
41
|
};
|
|
23
42
|
function isBuiltinModel(modelType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltinSchemas.js","sourceRoot":"","sources":["../../src/common/BuiltinSchemas.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"BuiltinSchemas.js","sourceRoot":"","sources":["../../src/common/BuiltinSchemas.ts"],"names":[],"mappings":";;;AAgFA,wCAEC;AA5EY,QAAA,uBAAuB,GAAG;IACrC,EAAE,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAI,QAAQ,EAAE,IAAI,EAAE;IAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAI,QAAQ,EAAE,IAAI,EAAE;CACZ,CAAC;AAYvB,QAAA,2BAA2B,GAAwB,IAAI,GAAG,CAAC;IACtE,IAAI;IACJ,WAAW;IACX,WAAW;IACX,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAOU,QAAA,4BAA4B,GAAG;IAC1C,IAAI,EAAE;QACJ,KAAK,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,IAAI,EAAG,UAAU,EAAE,IAAI,EAAE;QACrE,QAAQ,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,IAAI,EAAG,UAAU,EAAE,IAAI,EAAE;QACrE,QAAQ,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,IAAI,EAAG,UAAU,EAAE,IAAI,EAAE;QACrE,QAAQ,EAAO,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,IAAI,EAAG,QAAQ,EAAE,IAAI,EAAE;QACnE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAI,QAAQ,EAAE,IAAI,EAAG,SAAS,EAAE,QAAQ,EAAE;QACxE,OAAO,EAAQ,EAAE,IAAI,EAAE,OAAO,EAAI,QAAQ,EAAE,IAAI,EAAG,SAAS,EAAE,QAAQ,EAAE;QACxE,OAAO,EAAQ,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;KACpE;IACD,WAAW,EAAE;QACX,IAAI,EAAgB,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,IAAI,EAAG,UAAU,EAAE,IAAI,EAAE;QAC1E,WAAW,EAAS,EAAE,IAAI,EAAE,QAAQ,EAAG,QAAQ,EAAE,KAAK,EAAE;QAYxD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI;YAC/C,UAAU,EAAE;gBACV,SAAS,EAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACjD,UAAU,EAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;aACjE;SACF;KACF;CACgD,CAAC;AAUpD,SAAgB,cAAc,CAAC,SAAiB;IAC9C,OAAO,SAAS,IAAI,oCAA4B,CAAC;AACnD,CAAC"}
|
|
@@ -10,21 +10,9 @@ class NexxusFilterQuery {
|
|
|
10
10
|
query;
|
|
11
11
|
nodes = [];
|
|
12
12
|
modelDef;
|
|
13
|
-
constructor(query,
|
|
13
|
+
constructor(query, schema) {
|
|
14
14
|
this.query = query;
|
|
15
|
-
|
|
16
|
-
this.modelDef = { ...BuiltinSchemas_1.NEXXUS_UNIVERSAL_FIELDS, ...config.appModelDef, ...{ userId: { type: 'string', required: false } } };
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
const builtinSchema = BuiltinSchemas_1.NEXXUS_BUILTIN_MODEL_SCHEMAS[config.modelType];
|
|
20
|
-
this.modelDef = { ...BuiltinSchemas_1.NEXXUS_UNIVERSAL_FIELDS, ...builtinSchema };
|
|
21
|
-
if (config.modelType === 'user') {
|
|
22
|
-
if (!config.userDetailsSchema) {
|
|
23
|
-
throw new Exceptions_1.InvalidQueryFilterException("User detail schema must be provided for 'user' model queries");
|
|
24
|
-
}
|
|
25
|
-
this.modelDef.details = { type: 'object', properties: config.userDetailsSchema, required: false };
|
|
26
|
-
}
|
|
27
|
-
}
|
|
15
|
+
this.modelDef = { ...BuiltinSchemas_1.NEXXUS_UNIVERSAL_FIELDS, ...schema };
|
|
28
16
|
this.validateAndParse();
|
|
29
17
|
}
|
|
30
18
|
getNodes() {
|
|
@@ -94,9 +82,10 @@ class NexxusFilterQuery {
|
|
|
94
82
|
return typeof actualValue === 'number' && actualValue < node.value;
|
|
95
83
|
case 'lte':
|
|
96
84
|
return typeof actualValue === 'number' && actualValue <= node.value;
|
|
97
|
-
case 'in':
|
|
85
|
+
case 'in': {
|
|
98
86
|
const values = node.value;
|
|
99
87
|
return values.some(v => actualValue === v);
|
|
88
|
+
}
|
|
100
89
|
default:
|
|
101
90
|
return false;
|
|
102
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterQuery.js","sourceRoot":"","sources":["../../src/common/FilterQuery.ts"],"names":[],"mappings":";;;;AAAA,kDAE2B;AAM3B,
|
|
1
|
+
{"version":3,"file":"FilterQuery.js","sourceRoot":"","sources":["../../src/common/FilterQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferModel.js","sourceRoot":"","sources":["../../src/common/InferModel.ts"],"names":[],"mappings":""}
|
|
@@ -4,6 +4,7 @@ exports.NexxusJsonPatch = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const BuiltinSchemas_1 = require("./BuiltinSchemas");
|
|
6
6
|
const Exceptions_1 = require("../lib/Exceptions");
|
|
7
|
+
const SchemaValidator_1 = require("./SchemaValidator");
|
|
7
8
|
const dot = tslib_1.__importStar(require("dot-prop"));
|
|
8
9
|
const JSON_OPS = [
|
|
9
10
|
'replace',
|
|
@@ -18,9 +19,7 @@ class NexxusJsonPatch {
|
|
|
18
19
|
static OPERATION_RULES = {
|
|
19
20
|
replace: {
|
|
20
21
|
allowedTypes: ['string', 'number', 'boolean', 'date', 'object', 'array'],
|
|
21
|
-
validateValue: (value, fieldDef, path) =>
|
|
22
|
-
NexxusJsonPatch.validateAgainstType(value, fieldDef, path);
|
|
23
|
-
}
|
|
22
|
+
validateValue: (value, fieldDef, path) => SchemaValidator_1.NexxusSchemaValidator.validateValue(value, fieldDef, path)
|
|
24
23
|
},
|
|
25
24
|
append: {
|
|
26
25
|
allowedTypes: ['array', 'string'],
|
|
@@ -36,21 +35,21 @@ class NexxusJsonPatch {
|
|
|
36
35
|
properties: arrayFieldDef.properties,
|
|
37
36
|
required: false
|
|
38
37
|
};
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
const primitiveFieldDef = {
|
|
43
|
-
type: arrayFieldDef.arrayType,
|
|
44
|
-
required: false
|
|
45
|
-
};
|
|
46
|
-
NexxusJsonPatch.validateAgainstType(value, primitiveFieldDef, path);
|
|
38
|
+
return SchemaValidator_1.NexxusSchemaValidator.validateValue(value, objFieldDef, path);
|
|
47
39
|
}
|
|
40
|
+
const primitiveFieldDef = {
|
|
41
|
+
type: arrayFieldDef.arrayType,
|
|
42
|
+
required: false
|
|
43
|
+
};
|
|
44
|
+
return SchemaValidator_1.NexxusSchemaValidator.validateValue(value, primitiveFieldDef, path);
|
|
48
45
|
}
|
|
49
|
-
|
|
46
|
+
if (fieldDef.type === 'string') {
|
|
50
47
|
if (typeof value !== 'string') {
|
|
51
48
|
throw new Exceptions_1.InvalidJsonPatchException(`Value for append at path "${path}" must be a string`);
|
|
52
49
|
}
|
|
50
|
+
return value;
|
|
53
51
|
}
|
|
52
|
+
throw new Exceptions_1.InvalidJsonPatchException(`append not supported on type "${fieldDef.type}" at path "${path}"`);
|
|
54
53
|
}
|
|
55
54
|
},
|
|
56
55
|
prepend: {
|
|
@@ -67,34 +66,30 @@ class NexxusJsonPatch {
|
|
|
67
66
|
properties: arrayFieldDef.properties,
|
|
68
67
|
required: false
|
|
69
68
|
};
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
const primitiveFieldDef = {
|
|
74
|
-
type: arrayFieldDef.arrayType,
|
|
75
|
-
required: false
|
|
76
|
-
};
|
|
77
|
-
NexxusJsonPatch.validateAgainstType(value, primitiveFieldDef, path);
|
|
69
|
+
return SchemaValidator_1.NexxusSchemaValidator.validateValue(value, objFieldDef, path);
|
|
78
70
|
}
|
|
71
|
+
const primitiveFieldDef = {
|
|
72
|
+
type: arrayFieldDef.arrayType,
|
|
73
|
+
required: false
|
|
74
|
+
};
|
|
75
|
+
return SchemaValidator_1.NexxusSchemaValidator.validateValue(value, primitiveFieldDef, path);
|
|
79
76
|
}
|
|
80
|
-
|
|
77
|
+
if (fieldDef.type === 'string') {
|
|
81
78
|
if (typeof value !== 'string') {
|
|
82
79
|
throw new Exceptions_1.InvalidJsonPatchException(`Value for prepend at path "${path}" must be a string`);
|
|
83
80
|
}
|
|
81
|
+
return value;
|
|
84
82
|
}
|
|
83
|
+
throw new Exceptions_1.InvalidJsonPatchException(`prepend not supported on type "${fieldDef.type}" at path "${path}"`);
|
|
85
84
|
}
|
|
86
85
|
},
|
|
87
86
|
incr: {
|
|
88
87
|
allowedTypes: ['number', 'date'],
|
|
89
|
-
validateValue: (value, fieldDef, path) =>
|
|
90
|
-
NexxusJsonPatch.validateAgainstType(value, fieldDef, path);
|
|
91
|
-
}
|
|
88
|
+
validateValue: (value, fieldDef, path) => SchemaValidator_1.NexxusSchemaValidator.validateValue(value, fieldDef, path)
|
|
92
89
|
},
|
|
93
90
|
decr: {
|
|
94
91
|
allowedTypes: ['number', 'date'],
|
|
95
|
-
validateValue: (value, fieldDef, path) =>
|
|
96
|
-
NexxusJsonPatch.validateAgainstType(value, fieldDef, path);
|
|
97
|
-
}
|
|
92
|
+
validateValue: (value, fieldDef, path) => SchemaValidator_1.NexxusSchemaValidator.validateValue(value, fieldDef, path)
|
|
98
93
|
}
|
|
99
94
|
};
|
|
100
95
|
constructor(fullPatch) {
|
|
@@ -140,42 +135,19 @@ class NexxusJsonPatch {
|
|
|
140
135
|
}
|
|
141
136
|
return partialModel;
|
|
142
137
|
}
|
|
143
|
-
validate(
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (!appModelSpec) {
|
|
149
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Model type "${modelType}" not found in application schema`);
|
|
150
|
-
}
|
|
151
|
-
modelSpec = {
|
|
152
|
-
updatedAt: BuiltinSchemas_1.NEXXUS_UNIVERSAL_FIELDS.updatedAt,
|
|
153
|
-
...appModelSpec
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
else {
|
|
157
|
-
const builtinSchema = BuiltinSchemas_1.NEXXUS_BUILTIN_MODEL_SCHEMAS[modelType];
|
|
158
|
-
modelSpec = {
|
|
159
|
-
updatedAt: BuiltinSchemas_1.NEXXUS_UNIVERSAL_FIELDS.updatedAt,
|
|
160
|
-
...builtinSchema
|
|
161
|
-
};
|
|
162
|
-
switch (config.modelType) {
|
|
163
|
-
case 'user':
|
|
164
|
-
if (config.modelType === 'user' && !config.userDetailsSchema) {
|
|
165
|
-
throw new Exceptions_1.InvalidJsonPatchException("User detail schema must be provided for 'user' model patches");
|
|
166
|
-
}
|
|
167
|
-
modelSpec.details = { type: 'object', properties: config.userDetailsSchema, required: false };
|
|
168
|
-
break;
|
|
169
|
-
case 'application':
|
|
170
|
-
break;
|
|
171
|
-
default:
|
|
172
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Unsupported built-in model type: ${config.modelType}`);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
138
|
+
validate(schema) {
|
|
139
|
+
const modelSpec = {
|
|
140
|
+
updatedAt: BuiltinSchemas_1.NEXXUS_UNIVERSAL_FIELDS.updatedAt,
|
|
141
|
+
...schema
|
|
142
|
+
};
|
|
175
143
|
const operationRule = NexxusJsonPatch.OPERATION_RULES[this.fullPatch.op];
|
|
176
144
|
for (let i = 0; i < this.fullPatch.path.length; i++) {
|
|
177
145
|
const currentPath = this.fullPatch.path[i];
|
|
178
146
|
const currentValue = this.fullPatch.value[i];
|
|
147
|
+
const topLevelField = currentPath.split('.')[0];
|
|
148
|
+
if (topLevelField === 'version') {
|
|
149
|
+
throw new Exceptions_1.InvalidJsonPatchException(`Cannot patch system-managed field "version" at path "${currentPath}" — it is set exclusively by the database adapter`);
|
|
150
|
+
}
|
|
179
151
|
const fieldDef = NexxusJsonPatch.traverseSchema(modelSpec, currentPath);
|
|
180
152
|
if (!fieldDef) {
|
|
181
153
|
throw new Exceptions_1.InvalidJsonPatchException(`Path "${currentPath}" does not exist in model "${this.fullPatch.metadata.type}"`);
|
|
@@ -183,7 +155,17 @@ class NexxusJsonPatch {
|
|
|
183
155
|
if (!operationRule.allowedTypes.includes(fieldDef.type)) {
|
|
184
156
|
throw new Exceptions_1.InvalidJsonPatchException(`Operation "${this.fullPatch.op}" not allowed on type "${fieldDef.type}" at path "${currentPath}"`);
|
|
185
157
|
}
|
|
186
|
-
|
|
158
|
+
let normalized;
|
|
159
|
+
try {
|
|
160
|
+
normalized = operationRule.validateValue(currentValue, fieldDef, currentPath);
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
if (e instanceof Exceptions_1.InvalidSchemaDataException) {
|
|
164
|
+
throw new Exceptions_1.InvalidJsonPatchException(e.message);
|
|
165
|
+
}
|
|
166
|
+
throw e;
|
|
167
|
+
}
|
|
168
|
+
this.fullPatch.value[i] = normalized;
|
|
187
169
|
if (!this.fullPatch.metadata.pathFieldTypes) {
|
|
188
170
|
this.fullPatch.metadata.pathFieldTypes = [];
|
|
189
171
|
}
|
|
@@ -191,76 +173,6 @@ class NexxusJsonPatch {
|
|
|
191
173
|
}
|
|
192
174
|
this.valid = true;
|
|
193
175
|
}
|
|
194
|
-
static validateAgainstType(value, fieldDef, path) {
|
|
195
|
-
switch (fieldDef.type) {
|
|
196
|
-
case 'string':
|
|
197
|
-
if (typeof value !== 'string') {
|
|
198
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Expected string at path: ${path}`);
|
|
199
|
-
}
|
|
200
|
-
break;
|
|
201
|
-
case 'number':
|
|
202
|
-
if (typeof value !== 'number' || isNaN(value)) {
|
|
203
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Expected number at path: ${path}`);
|
|
204
|
-
}
|
|
205
|
-
break;
|
|
206
|
-
case 'boolean':
|
|
207
|
-
if (typeof value !== 'boolean') {
|
|
208
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Expected boolean at path: ${path}`);
|
|
209
|
-
}
|
|
210
|
-
break;
|
|
211
|
-
case 'date':
|
|
212
|
-
const date = new Date(value);
|
|
213
|
-
if (isNaN(date.getTime())) {
|
|
214
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Expected valid date at path: ${path}`);
|
|
215
|
-
}
|
|
216
|
-
break;
|
|
217
|
-
case 'object':
|
|
218
|
-
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
219
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Expected object at path: ${path}`);
|
|
220
|
-
}
|
|
221
|
-
if (NexxusJsonPatch.isObjectFieldDef(fieldDef)) {
|
|
222
|
-
for (const [key, propDef] of Object.entries(fieldDef.properties)) {
|
|
223
|
-
if (propDef.required && !(key in value)) {
|
|
224
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Required field missing: ${path}.${key}`);
|
|
225
|
-
}
|
|
226
|
-
if (key in value) {
|
|
227
|
-
NexxusJsonPatch.validateAgainstType(value[key], propDef, `${path}.${key}`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
break;
|
|
232
|
-
case 'array':
|
|
233
|
-
if (!Array.isArray(value)) {
|
|
234
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Expected array at path: ${path}`);
|
|
235
|
-
}
|
|
236
|
-
if (NexxusJsonPatch.isArrayFieldDef(fieldDef)) {
|
|
237
|
-
value.forEach((element, index) => {
|
|
238
|
-
const elementPath = `${path}[${index}]`;
|
|
239
|
-
if (fieldDef.arrayType === 'object') {
|
|
240
|
-
if (!fieldDef.properties) {
|
|
241
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Array of objects at "${path}" is missing properties definition`);
|
|
242
|
-
}
|
|
243
|
-
const objFieldDef = {
|
|
244
|
-
type: 'object',
|
|
245
|
-
properties: fieldDef.properties,
|
|
246
|
-
required: false
|
|
247
|
-
};
|
|
248
|
-
NexxusJsonPatch.validateAgainstType(element, objFieldDef, elementPath);
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
const primitiveFieldDef = {
|
|
252
|
-
type: fieldDef.arrayType,
|
|
253
|
-
required: false
|
|
254
|
-
};
|
|
255
|
-
NexxusJsonPatch.validateAgainstType(element, primitiveFieldDef, elementPath);
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
break;
|
|
260
|
-
default:
|
|
261
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Unknown field type at path: ${path}`);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
176
|
static traverseSchema(schema, path) {
|
|
265
177
|
const parts = path.split('.');
|
|
266
178
|
let current = schema;
|
|
@@ -292,101 +204,6 @@ class NexxusJsonPatch {
|
|
|
292
204
|
}
|
|
293
205
|
return null;
|
|
294
206
|
}
|
|
295
|
-
static validateValueType(value, fieldDef, path) {
|
|
296
|
-
const { type } = fieldDef;
|
|
297
|
-
switch (type) {
|
|
298
|
-
case 'string':
|
|
299
|
-
return this.validateString(value, path);
|
|
300
|
-
case 'number':
|
|
301
|
-
return this.validateNumber(value, path);
|
|
302
|
-
case 'boolean':
|
|
303
|
-
return this.validateBoolean(value, path);
|
|
304
|
-
case 'date':
|
|
305
|
-
return this.validateDate(value, path);
|
|
306
|
-
case 'object':
|
|
307
|
-
return this.validateObject(value, fieldDef, path);
|
|
308
|
-
case 'array':
|
|
309
|
-
return this.validateArray(value, fieldDef, path);
|
|
310
|
-
default:
|
|
311
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Unknown field type "${type}" at path "${path}"`);
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
static validateString(value, path) {
|
|
315
|
-
if (typeof value !== 'string') {
|
|
316
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Value at path "${path}" must be a string`);
|
|
317
|
-
}
|
|
318
|
-
return true;
|
|
319
|
-
}
|
|
320
|
-
static validateNumber(value, path) {
|
|
321
|
-
if (typeof value !== 'number' || isNaN(value)) {
|
|
322
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Value at path "${path}" must be a number`);
|
|
323
|
-
}
|
|
324
|
-
return true;
|
|
325
|
-
}
|
|
326
|
-
static validateBoolean(value, path) {
|
|
327
|
-
if (typeof value !== 'boolean') {
|
|
328
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Value at path "${path}" must be a boolean`);
|
|
329
|
-
}
|
|
330
|
-
return true;
|
|
331
|
-
}
|
|
332
|
-
static validateDate(value, path) {
|
|
333
|
-
const isValid = typeof value === 'string' && !isNaN(Date.parse(value)) || typeof value === 'number' && !isNaN(new Date(value).getTime());
|
|
334
|
-
if (!isValid) {
|
|
335
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Value at path "${path}" must be a valid date`);
|
|
336
|
-
}
|
|
337
|
-
return true;
|
|
338
|
-
}
|
|
339
|
-
static validateObject(value, fieldDef, path) {
|
|
340
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
341
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Value at path "${path}" must be an object`);
|
|
342
|
-
}
|
|
343
|
-
for (const key in value) {
|
|
344
|
-
const nestedFieldDef = fieldDef.properties[key];
|
|
345
|
-
if (!nestedFieldDef) {
|
|
346
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Unknown property "${key}" in object at path "${path}"`);
|
|
347
|
-
}
|
|
348
|
-
const nestedPath = path ? `${path}.${key}` : key;
|
|
349
|
-
this.validateValueType(value[key], nestedFieldDef, nestedPath);
|
|
350
|
-
}
|
|
351
|
-
return true;
|
|
352
|
-
}
|
|
353
|
-
static validateArray(value, fieldDef, path) {
|
|
354
|
-
if (!Array.isArray(value)) {
|
|
355
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Value at path "${path}" must be an array`);
|
|
356
|
-
}
|
|
357
|
-
const { arrayType } = fieldDef;
|
|
358
|
-
value.forEach((item, index) => {
|
|
359
|
-
const itemPath = `${path}[${index}]`;
|
|
360
|
-
if (arrayType === 'object') {
|
|
361
|
-
const objDef = fieldDef;
|
|
362
|
-
this.validateObject(item, objDef, itemPath);
|
|
363
|
-
}
|
|
364
|
-
else {
|
|
365
|
-
this.validatePrimitiveType(item, arrayType, itemPath);
|
|
366
|
-
}
|
|
367
|
-
});
|
|
368
|
-
return true;
|
|
369
|
-
}
|
|
370
|
-
static validatePrimitiveType(value, type, path) {
|
|
371
|
-
switch (type) {
|
|
372
|
-
case 'string':
|
|
373
|
-
return this.validateString(value, path);
|
|
374
|
-
case 'number':
|
|
375
|
-
return this.validateNumber(value, path);
|
|
376
|
-
case 'boolean':
|
|
377
|
-
return this.validateBoolean(value, path);
|
|
378
|
-
case 'date':
|
|
379
|
-
return this.validateDate(value, path);
|
|
380
|
-
default:
|
|
381
|
-
throw new Exceptions_1.InvalidJsonPatchException(`Unknown primitive type "${type}" at path "${path}"`);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
static isObjectFieldDef(fieldDef) {
|
|
385
|
-
return fieldDef.type === 'object';
|
|
386
|
-
}
|
|
387
|
-
static isArrayFieldDef(fieldDef) {
|
|
388
|
-
return fieldDef.type === 'array';
|
|
389
|
-
}
|
|
390
207
|
}
|
|
391
208
|
exports.NexxusJsonPatch = NexxusJsonPatch;
|
|
392
209
|
//# sourceMappingURL=JsonPatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonPatch.js","sourceRoot":"","sources":["../../src/common/JsonPatch.ts"],"names":[],"mappings":";;;;AAaA,qDAI0B;AAE1B,kDAA8D;AAE9D,sDAAgC;AAEhC,MAAM,QAAQ,GAAG;IACf,SAAS;IACT,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;CACE,CAAC;AAuCX,MAAa,eAAe;IAClB,KAAK,GAAY,KAAK,CAAC;IACvB,SAAS,CAA0B;IAEnC,MAAM,CAAU,eAAe,GAAmD;QACxF,OAAO,EAAE;YACP,YAAY,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;YACxE,aAAa,EAAE,CAAC,KAAU,EAAE,QAAwB,EAAE,IAAY,EAAE,EAAE;gBACpE,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;SACF;QACD,MAAM,EAAE;YACN,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjC,aAAa,EAAE,CAAC,KAAU,EAAE,QAAwB,EAAE,IAAY,EAAE,EAAE;gBACpE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9B,MAAM,aAAa,GAAG,QAA+B,CAAC;oBAEtD,IAAI,aAAa,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBACzC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;4BAC9B,MAAM,IAAI,sCAAyB,CAAC,wBAAwB,IAAI,oCAAoC,CAAC,CAAC;wBACxG,CAAC;wBAED,MAAM,WAAW,GAAyB;4BACxC,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,aAAa,CAAC,UAAU;4BACpC,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBAEF,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACN,MAAM,iBAAiB,GAAsB;4BAC3C,IAAI,EAAE,aAAa,CAAC,SAAS;4BAC7B,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBAEF,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,MAAM,IAAI,sCAAyB,CAAC,6BAA6B,IAAI,oBAAoB,CAAC,CAAC;oBAC7F,CAAC;gBACH,CAAC;YACH,CAAC;SACF;QACD,OAAO,EAAE;YACP,YAAY,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjC,aAAa,EAAE,CAAC,KAAU,EAAE,QAAwB,EAAE,IAAY,EAAE,EAAE;gBACpE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9B,MAAM,aAAa,GAAG,QAA+B,CAAC;oBAEtD,IAAI,aAAa,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBACzC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;4BAC9B,MAAM,IAAI,sCAAyB,CAAC,wBAAwB,IAAI,oCAAoC,CAAC,CAAC;wBACxG,CAAC;wBAED,MAAM,WAAW,GAAyB;4BACxC,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,aAAa,CAAC,UAAU;4BACpC,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBAEF,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACN,MAAM,iBAAiB,GAAsB;4BAC3C,IAAI,EAAE,aAAa,CAAC,SAAS;4BAC7B,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBAEF,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,MAAM,IAAI,sCAAyB,CAAC,8BAA8B,IAAI,oBAAoB,CAAC,CAAC;oBAC9F,CAAC;gBACH,CAAC;YACH,CAAC;SACF;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YAChC,aAAa,EAAE,CAAC,KAAU,EAAE,QAAwB,EAAE,IAAY,EAAE,EAAE;gBACpE,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;SACF;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YAChC,aAAa,EAAE,CAAC,KAAU,EAAE,QAAwB,EAAE,IAAY,EAAE,EAAE;gBACpE,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;SACF;KACF,CAAC;IAEF,YAAY,SAA+D;QACzE,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,sCAAyB,CAAC,sBAAsB,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,sCAAyB,CAAC,qCAAqC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,IAAI,sCAAyB,CAAC,iDAAiD,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5E,MAAM,IAAI,sCAAyB,CAAC,kCAAkC,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9E,MAAM,IAAI,sCAAyB,CAAC,mCAAmC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACxE,MAAM,IAAI,sCAAyB,CAAC,gCAAgC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC;IAC7F,CAAC;IAEM,GAAG;QACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,sCAAyB,CAAC,yCAAyC,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,eAAe;QACpB,MAAM,YAAY,GAAgC;YAChD,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI;YAClC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK;SACrC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAGtC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,QAAQ,CAAC,MAAuC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/C,IAAI,SAAyB,CAAC;QAG9B,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAEjD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,sCAAyB,CAAC,eAAe,SAAS,mCAAmC,CAAC,CAAC;YACnG,CAAC;YAED,SAAS,GAAG;gBACV,SAAS,EAAE,wCAAuB,CAAC,SAAS;gBAC5C,GAAG,YAAY;aAChB,CAAC;QACJ,CAAC;aAAM,CAAC;YAEN,MAAM,aAAa,GAAG,6CAA4B,CAAC,SAAmC,CAAC,CAAC;YAExF,SAAS,GAAG;gBACV,SAAS,EAAE,wCAAuB,CAAC,SAAS;gBAC5C,GAAG,aAAa;aACjB,CAAC;YAEF,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzB,KAAK,MAAM;oBACT,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBAC7D,MAAM,IAAI,sCAAyB,CAAC,8DAA8D,CAAC,CAAC;oBACtG,CAAC;oBAED,SAAS,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,iBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;oBAE/F,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM;gBACR;oBACE,MAAM,IAAI,sCAAyB,CAAC,oCAAoC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAGzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAG7C,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAExE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,sCAAyB,CACjC,SAAS,WAAW,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAClF,CAAC;YACJ,CAAC;YAGD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,sCAAyB,CACjC,cAAc,IAAI,CAAC,SAAS,CAAC,EAAE,0BAA0B,QAAQ,CAAC,IAAI,cAAc,WAAW,GAAG,CACnG,CAAC;YACJ,CAAC;YAGD,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC;YAC9C,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,KAAU,EACV,QAAwB,EACxB,IAAY;QAEZ,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,IAAI,sCAAyB,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,sCAAyB,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,sCAAyB,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;gBAC3E,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,sCAAyB,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChE,MAAM,IAAI,sCAAyB,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBAED,IAAI,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACjE,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;4BACxC,MAAM,IAAI,sCAAyB,CAAC,2BAA2B,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;wBAChF,CAAC;wBAED,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;4BACjB,eAAe,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC7E,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,sCAAyB,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBAC/B,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;wBAExC,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;4BACpC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gCACzB,MAAM,IAAI,sCAAyB,CAAC,wBAAwB,IAAI,oCAAoC,CAAC,CAAC;4BACxG,CAAC;4BAED,MAAM,WAAW,GAAyB;gCACxC,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE,QAAQ,CAAC,UAAU;gCAC/B,QAAQ,EAAE,KAAK;6BAChB,CAAC;4BAEF,eAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;wBACzE,CAAC;6BAAM,CAAC;4BACN,MAAM,iBAAiB,GAAsB;gCAC3C,IAAI,EAAE,QAAQ,CAAC,SAAS;gCACxB,QAAQ,EAAE,KAAK;6BAChB,CAAC;4BAEF,eAAe,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;wBAC/E,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YAER;gBACE,MAAM,IAAI,sCAAyB,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAC3B,MAAsB,EACtB,IAAY;QAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAoD,MAAM,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAG/B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC;YAClB,CAAC;YAGD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,QAAgC,CAAC;gBAEhD,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;YAC9B,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,QAA+B,CAAC;gBAG/C,IAAI,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;oBAC5D,OAAO,GAAG,MAAM,CAAC,UAAW,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBAEN,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,KAAU,EACV,QAAwB,EACxB,IAAY;QAEZ,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAE1B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE1C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE1C,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3C,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAExC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEpD,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEnD;gBACE,MAAM,IAAI,sCAAyB,CAAC,uBAAuB,IAAI,cAAc,IAAI,GAAG,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAKO,MAAM,CAAC,cAAc,CAAC,KAAU,EAAE,IAAY;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,sCAAyB,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,MAAM,CAAC,cAAc,CAAC,KAAU,EAAE,IAAY;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,sCAAyB,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,MAAM,CAAC,eAAe,CAAC,KAAU,EAAE,IAAY;QACrD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,sCAAyB,CAAC,kBAAkB,IAAI,qBAAqB,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,MAAM,CAAC,YAAY,CAAC,KAAsB,EAAE,IAAY;QAC9D,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzI,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sCAAyB,CAAC,kBAAkB,IAAI,wBAAwB,CAAC,CAAC;QACtF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,MAAM,CAAC,cAAc,CAC3B,KAAU,EACV,QAA8B,EAC9B,IAAY;QAGZ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,sCAAyB,CAAC,kBAAkB,IAAI,qBAAqB,CAAC,CAAC;QACnF,CAAC;QAGD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEhD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,IAAI,sCAAyB,CAAC,qBAAqB,GAAG,wBAAwB,IAAI,GAAG,CAAC,CAAC;YAC/F,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,MAAM,CAAC,aAAa,CAC1B,KAAU,EACV,QAA6B,EAC7B,IAAY;QAGZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,sCAAyB,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAG/B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;YAErC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAE3B,MAAM,MAAM,GAAG,QAAe,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBAEN,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,MAAM,CAAC,qBAAqB,CAClC,KAAU,EACV,IAA8B,EAC9B,IAAY;QAEZ,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAExC;gBACE,MAAM,IAAI,sCAAyB,CAAC,2BAA2B,IAAI,cAAc,IAAI,GAAG,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,QAAwB;QACtD,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;IACpC,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,QAAwB;QACrD,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;IACnC,CAAC;;AAzgBH,0CA0gBC"}
|
|
1
|
+
{"version":3,"file":"JsonPatch.js","sourceRoot":"","sources":["../../src/common/JsonPatch.ts"],"names":[],"mappings":"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"}
|