@imbricate/core 3.30.0 → 3.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/definition.d.ts +6 -1
- package/common/definition.js +5 -0
- package/database/schema.js +33 -3
- package/package.json +1 -1
package/common/definition.d.ts
CHANGED
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare enum IMBRICATE_QUERY_COMPARE_CONDITION {
|
|
7
7
|
EQUAL = "EQUAL",
|
|
8
|
-
EXIST = "EXIST"
|
|
8
|
+
EXIST = "EXIST",
|
|
9
|
+
GREATER_THAN = "GREATER_THAN",
|
|
10
|
+
LESS_THAN = "LESS_THAN",
|
|
11
|
+
GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL",
|
|
12
|
+
LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL"
|
|
9
13
|
}
|
|
10
14
|
export declare enum IMBRICATE_QUERY_ATTRIBUTE {
|
|
15
|
+
KEY = "KEY",
|
|
11
16
|
VALUE = "VALUE"
|
|
12
17
|
}
|
|
13
18
|
export declare enum IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET {
|
package/common/definition.js
CHANGED
|
@@ -10,9 +10,14 @@ var IMBRICATE_QUERY_COMPARE_CONDITION;
|
|
|
10
10
|
(function (IMBRICATE_QUERY_COMPARE_CONDITION) {
|
|
11
11
|
IMBRICATE_QUERY_COMPARE_CONDITION["EQUAL"] = "EQUAL";
|
|
12
12
|
IMBRICATE_QUERY_COMPARE_CONDITION["EXIST"] = "EXIST";
|
|
13
|
+
IMBRICATE_QUERY_COMPARE_CONDITION["GREATER_THAN"] = "GREATER_THAN";
|
|
14
|
+
IMBRICATE_QUERY_COMPARE_CONDITION["LESS_THAN"] = "LESS_THAN";
|
|
15
|
+
IMBRICATE_QUERY_COMPARE_CONDITION["GREATER_THAN_OR_EQUAL"] = "GREATER_THAN_OR_EQUAL";
|
|
16
|
+
IMBRICATE_QUERY_COMPARE_CONDITION["LESS_THAN_OR_EQUAL"] = "LESS_THAN_OR_EQUAL";
|
|
13
17
|
})(IMBRICATE_QUERY_COMPARE_CONDITION || (exports.IMBRICATE_QUERY_COMPARE_CONDITION = IMBRICATE_QUERY_COMPARE_CONDITION = {}));
|
|
14
18
|
var IMBRICATE_QUERY_ATTRIBUTE;
|
|
15
19
|
(function (IMBRICATE_QUERY_ATTRIBUTE) {
|
|
20
|
+
IMBRICATE_QUERY_ATTRIBUTE["KEY"] = "KEY";
|
|
16
21
|
IMBRICATE_QUERY_ATTRIBUTE["VALUE"] = "VALUE";
|
|
17
22
|
})(IMBRICATE_QUERY_ATTRIBUTE || (exports.IMBRICATE_QUERY_ATTRIBUTE = IMBRICATE_QUERY_ATTRIBUTE = {}));
|
|
18
23
|
var IMBRICATE_QUERY_PROPERTY_CONDITION_TARGET;
|
package/database/schema.js
CHANGED
|
@@ -25,18 +25,48 @@ const validateImbricateSchemaProperty = (property) => {
|
|
|
25
25
|
if (!Object.values(type_1.IMBRICATE_PROPERTY_TYPE).includes(property.propertyType)) {
|
|
26
26
|
return "Property type must be a valid type";
|
|
27
27
|
}
|
|
28
|
+
// IMBRICATE_PROPERTY_TYPE SWITCH
|
|
28
29
|
switch (property.propertyType) {
|
|
30
|
+
case type_1.IMBRICATE_PROPERTY_TYPE.BINARY: {
|
|
31
|
+
if (typeof property.propertyOptions !== "object") {
|
|
32
|
+
return "Property options must be an object";
|
|
33
|
+
}
|
|
34
|
+
const propertyOptions = property.propertyOptions;
|
|
35
|
+
if (typeof propertyOptions.allowMultiple !== "boolean") {
|
|
36
|
+
return "Property options allowMultiple must be a boolean";
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
case type_1.IMBRICATE_PROPERTY_TYPE.LABEL: {
|
|
41
|
+
if (typeof property.propertyOptions !== "object") {
|
|
42
|
+
return "Property options must be an object";
|
|
43
|
+
}
|
|
44
|
+
const propertyOptions = property.propertyOptions;
|
|
45
|
+
if (typeof propertyOptions.allowMultiple !== "boolean") {
|
|
46
|
+
return "Property options allowMultiple must be a boolean";
|
|
47
|
+
}
|
|
48
|
+
if (!Array.isArray(propertyOptions.labelOptions)) {
|
|
49
|
+
return "Property options labelOptions must be an array";
|
|
50
|
+
}
|
|
51
|
+
for (const labelOption of propertyOptions.labelOptions) {
|
|
52
|
+
if (typeof labelOption.labelIdentifier !== "string") {
|
|
53
|
+
return "Property options labelOptions labelIdentifier must be a string";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
29
58
|
case type_1.IMBRICATE_PROPERTY_TYPE.REFERENCE: {
|
|
30
59
|
if (typeof property.propertyOptions !== "object") {
|
|
31
60
|
return "Property options must be an object";
|
|
32
61
|
}
|
|
33
|
-
|
|
62
|
+
const propertyOptions = property.propertyOptions;
|
|
63
|
+
if (typeof propertyOptions.allowMultiple !== "boolean") {
|
|
34
64
|
return "Property options allowMultiple must be a boolean";
|
|
35
65
|
}
|
|
36
|
-
if (!Array.isArray(
|
|
66
|
+
if (!Array.isArray(propertyOptions.databases)) {
|
|
37
67
|
return "Property options databases must be an array";
|
|
38
68
|
}
|
|
39
|
-
for (const database of
|
|
69
|
+
for (const database of propertyOptions.databases) {
|
|
40
70
|
if (typeof database.originUniqueIdentifier !== "string") {
|
|
41
71
|
return "Database originUniqueIdentifier must be a string";
|
|
42
72
|
}
|