@akanjs/constant 0.0.97 → 0.0.98
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/index.cjs +17 -0
- package/index.js +1 -17
- package/package.json +2 -2
- package/src/baseGql.cjs +164 -0
- package/src/baseGql.js +52 -62
- package/src/{classMeta.mjs → classMeta.cjs} +50 -31
- package/src/classMeta.js +31 -50
- package/src/constantDecorator.cjs +40 -0
- package/src/constantDecorator.js +5 -24
- package/src/fieldMeta.cjs +82 -0
- package/src/fieldMeta.js +17 -32
- package/src/{filterMeta.mjs → filterMeta.cjs} +39 -24
- package/src/filterMeta.js +24 -39
- package/src/index.cjs +23 -0
- package/src/index.js +7 -23
- package/src/scalar.cjs +87 -0
- package/src/scalar.js +34 -45
- package/src/types.cjs +29 -0
- package/src/types.js +4 -23
- package/index.mjs +0 -1
- package/src/baseGql.mjs +0 -154
- package/src/constantDecorator.mjs +0 -21
- package/src/fieldMeta.mjs +0 -67
- package/src/index.mjs +0 -7
- package/src/scalar.mjs +0 -76
- package/src/types.mjs +0 -10
package/index.cjs
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var constant_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(constant_exports);
|
|
17
|
+
__reExport(constant_exports, require("./src"), module.exports);
|
package/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
-
}
|
|
11
|
-
return to;
|
|
12
|
-
};
|
|
13
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
-
var constant_exports = {};
|
|
16
|
-
module.exports = __toCommonJS(constant_exports);
|
|
17
|
-
__reExport(constant_exports, require("./src"), module.exports);
|
|
1
|
+
export * from "./src";
|
package/package.json
CHANGED
package/src/baseGql.cjs
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from2, except, desc) => {
|
|
10
|
+
if (from2 && typeof from2 === "object" || typeof from2 === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from2))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from2[key], enumerable: !(desc = __getOwnPropDesc(from2, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var baseGql_exports = {};
|
|
19
|
+
__export(baseGql_exports, {
|
|
20
|
+
as: () => as,
|
|
21
|
+
from: () => from,
|
|
22
|
+
mixModelOf: () => mixModelOf,
|
|
23
|
+
over: () => over,
|
|
24
|
+
via: () => via
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(baseGql_exports);
|
|
27
|
+
var import_reflect_metadata = require("reflect-metadata");
|
|
28
|
+
var import_base = require("@akanjs/base");
|
|
29
|
+
var import_common = require("@akanjs/common");
|
|
30
|
+
var import_filterMeta = require("./filterMeta");
|
|
31
|
+
var import_scalar = require("./scalar");
|
|
32
|
+
const defaultFieldMeta = {
|
|
33
|
+
fieldType: "property",
|
|
34
|
+
immutable: false,
|
|
35
|
+
select: true,
|
|
36
|
+
isClass: false,
|
|
37
|
+
isScalar: true,
|
|
38
|
+
nullable: false,
|
|
39
|
+
isArray: false,
|
|
40
|
+
arrDepth: 0,
|
|
41
|
+
optArrDepth: 0,
|
|
42
|
+
default: null,
|
|
43
|
+
isMap: false
|
|
44
|
+
};
|
|
45
|
+
const idFieldMeta = { ...defaultFieldMeta, key: "id", name: "ID", modelRef: import_base.ID };
|
|
46
|
+
const createdAtFieldMeta = { ...defaultFieldMeta, key: "createdAt", name: "Date", modelRef: Date };
|
|
47
|
+
const updatedAtFieldMeta = { ...defaultFieldMeta, key: "updatedAt", name: "Date", modelRef: Date };
|
|
48
|
+
const removedAtFieldMeta = {
|
|
49
|
+
...defaultFieldMeta,
|
|
50
|
+
key: "removedAt",
|
|
51
|
+
name: "Date",
|
|
52
|
+
modelRef: Date,
|
|
53
|
+
nullable: true,
|
|
54
|
+
default: null
|
|
55
|
+
};
|
|
56
|
+
const extendModel = (modelRef) => {
|
|
57
|
+
class BaseModel {
|
|
58
|
+
}
|
|
59
|
+
const metadataMap = (0, import_scalar.getFieldMetaMap)(modelRef);
|
|
60
|
+
(0, import_scalar.setFieldMetaMap)(BaseModel, metadataMap);
|
|
61
|
+
return BaseModel;
|
|
62
|
+
};
|
|
63
|
+
const as = extendModel;
|
|
64
|
+
const baseModelOf = (modelRef) => {
|
|
65
|
+
class BaseModel {
|
|
66
|
+
__ModelType__ = "full";
|
|
67
|
+
}
|
|
68
|
+
const metadataMap = (0, import_scalar.getFieldMetaMap)(modelRef);
|
|
69
|
+
metadataMap.set("id", idFieldMeta);
|
|
70
|
+
metadataMap.set("createdAt", createdAtFieldMeta);
|
|
71
|
+
metadataMap.set("updatedAt", updatedAtFieldMeta);
|
|
72
|
+
metadataMap.set("removedAt", removedAtFieldMeta);
|
|
73
|
+
Reflect.defineMetadata("fields", metadataMap, BaseModel.prototype);
|
|
74
|
+
return BaseModel;
|
|
75
|
+
};
|
|
76
|
+
const lightModelOf = (objectRef, fields) => {
|
|
77
|
+
const map = /* @__PURE__ */ new Map();
|
|
78
|
+
const metadataMap = (0, import_scalar.getFieldMetaMap)(objectRef);
|
|
79
|
+
class BaseGql {
|
|
80
|
+
__ModelType__ = "light";
|
|
81
|
+
}
|
|
82
|
+
["id", ...fields, "createdAt", "updatedAt", "removedAt"].forEach((key) => map.set(key, metadataMap.get(key)));
|
|
83
|
+
Reflect.defineMetadata("fields", map, BaseGql.prototype);
|
|
84
|
+
return BaseGql;
|
|
85
|
+
};
|
|
86
|
+
const fullModelOf = (modelRef, lightRef, overwriteRef, overwriteLightRef) => {
|
|
87
|
+
const modelFieldMetaMap = (0, import_scalar.getFieldMetaMap)(modelRef);
|
|
88
|
+
const lightFieldMetaMap = (0, import_scalar.getFieldMetaMap)(lightRef);
|
|
89
|
+
(0, import_common.applyMixins)(modelRef, [lightRef]);
|
|
90
|
+
if (overwriteRef) {
|
|
91
|
+
(0, import_common.applyMixins)(overwriteRef, [modelRef]);
|
|
92
|
+
(0, import_scalar.setFieldMetaMap)(overwriteRef, modelFieldMetaMap);
|
|
93
|
+
}
|
|
94
|
+
if (overwriteLightRef) {
|
|
95
|
+
(0, import_common.applyMixins)(overwriteLightRef, [lightRef]);
|
|
96
|
+
(0, import_scalar.setFieldMetaMap)(overwriteLightRef, lightFieldMetaMap);
|
|
97
|
+
}
|
|
98
|
+
(0, import_scalar.setFieldMetaMap)(modelRef, new Map([...modelFieldMetaMap, ...lightFieldMetaMap]));
|
|
99
|
+
return modelRef;
|
|
100
|
+
};
|
|
101
|
+
const via = (modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef) => {
|
|
102
|
+
if (!fieldsOrLightModelRef)
|
|
103
|
+
return baseModelOf(modelRef);
|
|
104
|
+
else if (Array.isArray(fieldsOrLightModelRef))
|
|
105
|
+
return lightModelOf(modelRef, fieldsOrLightModelRef);
|
|
106
|
+
else
|
|
107
|
+
return fullModelOf(modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef);
|
|
108
|
+
};
|
|
109
|
+
const addModelOf = (modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
|
|
110
|
+
const modelMetadataMap = (0, import_scalar.getFieldMetaMap)(modelRef);
|
|
111
|
+
const metadataMap = new Map(
|
|
112
|
+
[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).reduce((acc, writeRef) => {
|
|
113
|
+
const writeMetadataMap = (0, import_scalar.getFieldMetaMap)(writeRef);
|
|
114
|
+
(0, import_common.applyMixins)(modelRef, [writeRef]);
|
|
115
|
+
return new Map([...acc, ...writeMetadataMap]);
|
|
116
|
+
}, modelMetadataMap)
|
|
117
|
+
);
|
|
118
|
+
(0, import_scalar.setFieldMetaMap)(modelRef, metadataMap);
|
|
119
|
+
return modelRef;
|
|
120
|
+
};
|
|
121
|
+
const addFilterOf = (filterRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
|
|
122
|
+
const filterMeta = (0, import_filterMeta.getFilterMeta)(filterRef);
|
|
123
|
+
const filterQueryMap = (0, import_filterMeta.getFilterQueryMap)(filterRef);
|
|
124
|
+
const metadataMap = new Map(
|
|
125
|
+
[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).reduce((acc, writeRef) => {
|
|
126
|
+
const writeMetadataMap = (0, import_filterMeta.getFilterQueryMap)(writeRef);
|
|
127
|
+
(0, import_common.applyMixins)(filterRef, [writeRef]);
|
|
128
|
+
writeMetadataMap.forEach((value, key) => {
|
|
129
|
+
const filterArgMetas = (0, import_filterMeta.getFilterArgMetas)(writeRef, key);
|
|
130
|
+
(0, import_filterMeta.setFilterArgMetasOnPrototype)(filterRef.prototype, key, filterArgMetas);
|
|
131
|
+
});
|
|
132
|
+
return new Map([...acc, ...writeMetadataMap]);
|
|
133
|
+
}, filterQueryMap)
|
|
134
|
+
);
|
|
135
|
+
const filterSort = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).map((t) => (0, import_filterMeta.getFilterSortMap)(t)).reduce((acc, sort) => {
|
|
136
|
+
Object.assign(acc, sort);
|
|
137
|
+
return acc;
|
|
138
|
+
}, filterMeta.sort);
|
|
139
|
+
(0, import_filterMeta.setFilterKeyMetaMapOnPrototype)(filterRef.prototype, metadataMap);
|
|
140
|
+
(0, import_filterMeta.setFilterMeta)(filterRef, { ...filterMeta, sort: filterSort });
|
|
141
|
+
return filterRef;
|
|
142
|
+
};
|
|
143
|
+
const from = (modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
|
|
144
|
+
if ((0, import_scalar.isConstantModel)(modelRef))
|
|
145
|
+
return addModelOf(modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
|
|
146
|
+
else if ((0, import_filterMeta.isFilterModel)(modelRef))
|
|
147
|
+
return addFilterOf(modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
|
|
148
|
+
else
|
|
149
|
+
throw new Error("Invalid modelRef");
|
|
150
|
+
};
|
|
151
|
+
const mixModelOf = (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) => {
|
|
152
|
+
class Mix {
|
|
153
|
+
}
|
|
154
|
+
const metadataMap = new Map(
|
|
155
|
+
[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20].filter((t) => !!t).reduce((acc, modelRef) => {
|
|
156
|
+
const modelMetadataMap = (0, import_scalar.getFieldMetaMap)(modelRef);
|
|
157
|
+
(0, import_common.applyMixins)(Mix, [modelRef]);
|
|
158
|
+
return [...acc, ...modelMetadataMap];
|
|
159
|
+
}, [])
|
|
160
|
+
);
|
|
161
|
+
(0, import_scalar.setFieldMetaMap)(Mix, metadataMap);
|
|
162
|
+
return Mix;
|
|
163
|
+
};
|
|
164
|
+
const over = mixModelOf;
|
package/src/baseGql.js
CHANGED
|
@@ -1,34 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var baseGql_exports = {};
|
|
19
|
-
__export(baseGql_exports, {
|
|
20
|
-
as: () => as,
|
|
21
|
-
from: () => from,
|
|
22
|
-
mixModelOf: () => mixModelOf,
|
|
23
|
-
over: () => over,
|
|
24
|
-
via: () => via
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(baseGql_exports);
|
|
27
|
-
var import_reflect_metadata = require("reflect-metadata");
|
|
28
|
-
var import_base = require("@akanjs/base");
|
|
29
|
-
var import_common = require("@akanjs/common");
|
|
30
|
-
var import_filterMeta = require("./filterMeta");
|
|
31
|
-
var import_scalar = require("./scalar");
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { ID } from "@akanjs/base";
|
|
3
|
+
import { applyMixins } from "@akanjs/common";
|
|
4
|
+
import {
|
|
5
|
+
getFilterArgMetas,
|
|
6
|
+
getFilterMeta,
|
|
7
|
+
getFilterQueryMap,
|
|
8
|
+
getFilterSortMap,
|
|
9
|
+
isFilterModel,
|
|
10
|
+
setFilterArgMetasOnPrototype,
|
|
11
|
+
setFilterKeyMetaMapOnPrototype,
|
|
12
|
+
setFilterMeta
|
|
13
|
+
} from "./filterMeta";
|
|
14
|
+
import { getFieldMetaMap, isConstantModel, setFieldMetaMap } from "./scalar";
|
|
32
15
|
const defaultFieldMeta = {
|
|
33
16
|
fieldType: "property",
|
|
34
17
|
immutable: false,
|
|
@@ -42,7 +25,7 @@ const defaultFieldMeta = {
|
|
|
42
25
|
default: null,
|
|
43
26
|
isMap: false
|
|
44
27
|
};
|
|
45
|
-
const idFieldMeta = { ...defaultFieldMeta, key: "id", name: "ID", modelRef:
|
|
28
|
+
const idFieldMeta = { ...defaultFieldMeta, key: "id", name: "ID", modelRef: ID };
|
|
46
29
|
const createdAtFieldMeta = { ...defaultFieldMeta, key: "createdAt", name: "Date", modelRef: Date };
|
|
47
30
|
const updatedAtFieldMeta = { ...defaultFieldMeta, key: "updatedAt", name: "Date", modelRef: Date };
|
|
48
31
|
const removedAtFieldMeta = {
|
|
@@ -56,8 +39,8 @@ const removedAtFieldMeta = {
|
|
|
56
39
|
const extendModel = (modelRef) => {
|
|
57
40
|
class BaseModel {
|
|
58
41
|
}
|
|
59
|
-
const metadataMap =
|
|
60
|
-
|
|
42
|
+
const metadataMap = getFieldMetaMap(modelRef);
|
|
43
|
+
setFieldMetaMap(BaseModel, metadataMap);
|
|
61
44
|
return BaseModel;
|
|
62
45
|
};
|
|
63
46
|
const as = extendModel;
|
|
@@ -65,7 +48,7 @@ const baseModelOf = (modelRef) => {
|
|
|
65
48
|
class BaseModel {
|
|
66
49
|
__ModelType__ = "full";
|
|
67
50
|
}
|
|
68
|
-
const metadataMap =
|
|
51
|
+
const metadataMap = getFieldMetaMap(modelRef);
|
|
69
52
|
metadataMap.set("id", idFieldMeta);
|
|
70
53
|
metadataMap.set("createdAt", createdAtFieldMeta);
|
|
71
54
|
metadataMap.set("updatedAt", updatedAtFieldMeta);
|
|
@@ -75,7 +58,7 @@ const baseModelOf = (modelRef) => {
|
|
|
75
58
|
};
|
|
76
59
|
const lightModelOf = (objectRef, fields) => {
|
|
77
60
|
const map = /* @__PURE__ */ new Map();
|
|
78
|
-
const metadataMap =
|
|
61
|
+
const metadataMap = getFieldMetaMap(objectRef);
|
|
79
62
|
class BaseGql {
|
|
80
63
|
__ModelType__ = "light";
|
|
81
64
|
}
|
|
@@ -84,18 +67,18 @@ const lightModelOf = (objectRef, fields) => {
|
|
|
84
67
|
return BaseGql;
|
|
85
68
|
};
|
|
86
69
|
const fullModelOf = (modelRef, lightRef, overwriteRef, overwriteLightRef) => {
|
|
87
|
-
const modelFieldMetaMap =
|
|
88
|
-
const lightFieldMetaMap =
|
|
89
|
-
|
|
70
|
+
const modelFieldMetaMap = getFieldMetaMap(modelRef);
|
|
71
|
+
const lightFieldMetaMap = getFieldMetaMap(lightRef);
|
|
72
|
+
applyMixins(modelRef, [lightRef]);
|
|
90
73
|
if (overwriteRef) {
|
|
91
|
-
|
|
92
|
-
|
|
74
|
+
applyMixins(overwriteRef, [modelRef]);
|
|
75
|
+
setFieldMetaMap(overwriteRef, modelFieldMetaMap);
|
|
93
76
|
}
|
|
94
77
|
if (overwriteLightRef) {
|
|
95
|
-
|
|
96
|
-
|
|
78
|
+
applyMixins(overwriteLightRef, [lightRef]);
|
|
79
|
+
setFieldMetaMap(overwriteLightRef, lightFieldMetaMap);
|
|
97
80
|
}
|
|
98
|
-
|
|
81
|
+
setFieldMetaMap(modelRef, new Map([...modelFieldMetaMap, ...lightFieldMetaMap]));
|
|
99
82
|
return modelRef;
|
|
100
83
|
};
|
|
101
84
|
const via = (modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef) => {
|
|
@@ -107,43 +90,43 @@ const via = (modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef) =
|
|
|
107
90
|
return fullModelOf(modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef);
|
|
108
91
|
};
|
|
109
92
|
const addModelOf = (modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
|
|
110
|
-
const modelMetadataMap =
|
|
93
|
+
const modelMetadataMap = getFieldMetaMap(modelRef);
|
|
111
94
|
const metadataMap = new Map(
|
|
112
95
|
[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).reduce((acc, writeRef) => {
|
|
113
|
-
const writeMetadataMap =
|
|
114
|
-
|
|
96
|
+
const writeMetadataMap = getFieldMetaMap(writeRef);
|
|
97
|
+
applyMixins(modelRef, [writeRef]);
|
|
115
98
|
return new Map([...acc, ...writeMetadataMap]);
|
|
116
99
|
}, modelMetadataMap)
|
|
117
100
|
);
|
|
118
|
-
|
|
101
|
+
setFieldMetaMap(modelRef, metadataMap);
|
|
119
102
|
return modelRef;
|
|
120
103
|
};
|
|
121
104
|
const addFilterOf = (filterRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
|
|
122
|
-
const filterMeta =
|
|
123
|
-
const filterQueryMap =
|
|
105
|
+
const filterMeta = getFilterMeta(filterRef);
|
|
106
|
+
const filterQueryMap = getFilterQueryMap(filterRef);
|
|
124
107
|
const metadataMap = new Map(
|
|
125
108
|
[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).reduce((acc, writeRef) => {
|
|
126
|
-
const writeMetadataMap =
|
|
127
|
-
|
|
109
|
+
const writeMetadataMap = getFilterQueryMap(writeRef);
|
|
110
|
+
applyMixins(filterRef, [writeRef]);
|
|
128
111
|
writeMetadataMap.forEach((value, key) => {
|
|
129
|
-
const filterArgMetas =
|
|
130
|
-
|
|
112
|
+
const filterArgMetas = getFilterArgMetas(writeRef, key);
|
|
113
|
+
setFilterArgMetasOnPrototype(filterRef.prototype, key, filterArgMetas);
|
|
131
114
|
});
|
|
132
115
|
return new Map([...acc, ...writeMetadataMap]);
|
|
133
116
|
}, filterQueryMap)
|
|
134
117
|
);
|
|
135
|
-
const filterSort = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).map((t) =>
|
|
118
|
+
const filterSort = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).map((t) => getFilterSortMap(t)).reduce((acc, sort) => {
|
|
136
119
|
Object.assign(acc, sort);
|
|
137
120
|
return acc;
|
|
138
121
|
}, filterMeta.sort);
|
|
139
|
-
|
|
140
|
-
|
|
122
|
+
setFilterKeyMetaMapOnPrototype(filterRef.prototype, metadataMap);
|
|
123
|
+
setFilterMeta(filterRef, { ...filterMeta, sort: filterSort });
|
|
141
124
|
return filterRef;
|
|
142
125
|
};
|
|
143
126
|
const from = (modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
|
|
144
|
-
if (
|
|
127
|
+
if (isConstantModel(modelRef))
|
|
145
128
|
return addModelOf(modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
|
|
146
|
-
else if (
|
|
129
|
+
else if (isFilterModel(modelRef))
|
|
147
130
|
return addFilterOf(modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
|
|
148
131
|
else
|
|
149
132
|
throw new Error("Invalid modelRef");
|
|
@@ -153,12 +136,19 @@ const mixModelOf = (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14,
|
|
|
153
136
|
}
|
|
154
137
|
const metadataMap = new Map(
|
|
155
138
|
[t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20].filter((t) => !!t).reduce((acc, modelRef) => {
|
|
156
|
-
const modelMetadataMap =
|
|
157
|
-
|
|
139
|
+
const modelMetadataMap = getFieldMetaMap(modelRef);
|
|
140
|
+
applyMixins(Mix, [modelRef]);
|
|
158
141
|
return [...acc, ...modelMetadataMap];
|
|
159
142
|
}, [])
|
|
160
143
|
);
|
|
161
|
-
|
|
144
|
+
setFieldMetaMap(Mix, metadataMap);
|
|
162
145
|
return Mix;
|
|
163
146
|
};
|
|
164
147
|
const over = mixModelOf;
|
|
148
|
+
export {
|
|
149
|
+
as,
|
|
150
|
+
from,
|
|
151
|
+
mixModelOf,
|
|
152
|
+
over,
|
|
153
|
+
via
|
|
154
|
+
};
|
|
@@ -1,7 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var classMeta_exports = {};
|
|
19
|
+
__export(classMeta_exports, {
|
|
20
|
+
FilterModelStorage: () => FilterModelStorage,
|
|
21
|
+
FullModelStorage: () => FullModelStorage,
|
|
22
|
+
InputModelStorage: () => InputModelStorage,
|
|
23
|
+
LightModelStorage: () => LightModelStorage,
|
|
24
|
+
Model: () => Model,
|
|
25
|
+
ScalarModelStorage: () => ScalarModelStorage,
|
|
26
|
+
getAllFilterModelRefs: () => getAllFilterModelRefs,
|
|
27
|
+
getAllFullModelRefs: () => getAllFullModelRefs,
|
|
28
|
+
getAllScalarModelRefs: () => getAllScalarModelRefs,
|
|
29
|
+
getChildClassRefs: () => getChildClassRefs,
|
|
30
|
+
getFieldEnumMetas: () => getFieldEnumMetas,
|
|
31
|
+
getFullModelRef: () => getFullModelRef,
|
|
32
|
+
getInputModelRef: () => getInputModelRef,
|
|
33
|
+
getLightModelRef: () => getLightModelRef,
|
|
34
|
+
getScalarModelRef: () => getScalarModelRef,
|
|
35
|
+
hasTextField: () => hasTextField
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(classMeta_exports);
|
|
38
|
+
var import_reflect_metadata = require("reflect-metadata");
|
|
39
|
+
var import_common = require("@akanjs/common");
|
|
40
|
+
var import_filterMeta = require("./filterMeta");
|
|
41
|
+
var import_scalar = require("./scalar");
|
|
5
42
|
class InputModelStorage {
|
|
6
43
|
}
|
|
7
44
|
class LightModelStorage {
|
|
@@ -13,38 +50,38 @@ class ScalarModelStorage {
|
|
|
13
50
|
class FilterModelStorage {
|
|
14
51
|
}
|
|
15
52
|
const getFullModelRef = (refName) => {
|
|
16
|
-
const modelRef = Reflect.getMetadata(capitalize(refName), FullModelStorage.prototype);
|
|
53
|
+
const modelRef = Reflect.getMetadata((0, import_common.capitalize)(refName), FullModelStorage.prototype);
|
|
17
54
|
if (!modelRef)
|
|
18
55
|
throw new Error(`FullModel not found - ${refName}`);
|
|
19
56
|
return modelRef;
|
|
20
57
|
};
|
|
21
58
|
const getInputModelRef = (refName) => {
|
|
22
|
-
const modelRef = Reflect.getMetadata(capitalize(refName), InputModelStorage.prototype);
|
|
59
|
+
const modelRef = Reflect.getMetadata((0, import_common.capitalize)(refName), InputModelStorage.prototype);
|
|
23
60
|
if (!modelRef)
|
|
24
61
|
throw new Error(`InputModel not found - ${refName}`);
|
|
25
62
|
return modelRef;
|
|
26
63
|
};
|
|
27
64
|
const getScalarModelRef = (refName) => {
|
|
28
|
-
const modelRef = Reflect.getMetadata(capitalize(refName), ScalarModelStorage.prototype);
|
|
65
|
+
const modelRef = Reflect.getMetadata((0, import_common.capitalize)(refName), ScalarModelStorage.prototype);
|
|
29
66
|
if (!modelRef)
|
|
30
67
|
throw new Error(`ScalarModel not found - ${refName}`);
|
|
31
68
|
return modelRef;
|
|
32
69
|
};
|
|
33
70
|
const getChildClassRefs = (target) => {
|
|
34
|
-
const metadatas = getFieldMetas(target);
|
|
71
|
+
const metadatas = (0, import_scalar.getFieldMetas)(target);
|
|
35
72
|
const refMap = /* @__PURE__ */ new Map();
|
|
36
73
|
const childRefs = metadatas.filter((metadata) => metadata.isClass).reduce((acc, metadata) => {
|
|
37
74
|
return [...acc, metadata.modelRef, ...getChildClassRefs(metadata.modelRef)];
|
|
38
75
|
}, []);
|
|
39
|
-
childRefs.filter((modelRef, idx) => childRefs.findIndex((ref) => ref.prototype === modelRef.prototype) === idx).map((modelRef) => refMap.set(getClassMeta(modelRef).refName, modelRef));
|
|
76
|
+
childRefs.filter((modelRef, idx) => childRefs.findIndex((ref) => ref.prototype === modelRef.prototype) === idx).map((modelRef) => refMap.set((0, import_scalar.getClassMeta)(modelRef).refName, modelRef));
|
|
40
77
|
return [...refMap.values()];
|
|
41
78
|
};
|
|
42
79
|
const getFieldEnumMetas = (modelRef) => {
|
|
43
|
-
const fieldMetas = getFieldMetas(modelRef);
|
|
80
|
+
const fieldMetas = (0, import_scalar.getFieldMetas)(modelRef);
|
|
44
81
|
return fieldMetas.filter((fieldMeta) => !!fieldMeta.enum).map((fieldMeta) => ({ key: fieldMeta.key, enum: fieldMeta.enum }));
|
|
45
82
|
};
|
|
46
83
|
const hasTextField = (modelRef) => {
|
|
47
|
-
const fieldMetas = getFieldMetas(modelRef);
|
|
84
|
+
const fieldMetas = (0, import_scalar.getFieldMetas)(modelRef);
|
|
48
85
|
return fieldMetas.some(
|
|
49
86
|
(fieldMeta) => !!fieldMeta.text || fieldMeta.isScalar && fieldMeta.isClass && fieldMeta.select && hasTextField(fieldMeta.modelRef)
|
|
50
87
|
);
|
|
@@ -63,7 +100,7 @@ const applyFilterMeta = (storage) => {
|
|
|
63
100
|
return function(refName) {
|
|
64
101
|
return function(target) {
|
|
65
102
|
const modelRef = target;
|
|
66
|
-
setFilterMeta(modelRef, { refName, sort: {} });
|
|
103
|
+
(0, import_filterMeta.setFilterMeta)(modelRef, { refName, sort: {} });
|
|
67
104
|
Reflect.defineMetadata(refName, modelRef, storage.prototype);
|
|
68
105
|
};
|
|
69
106
|
};
|
|
@@ -79,7 +116,7 @@ const Model = {
|
|
|
79
116
|
Filter: applyFilterMeta(FilterModelStorage)
|
|
80
117
|
};
|
|
81
118
|
const getLightModelRef = (modelRef) => {
|
|
82
|
-
const classMeta = getClassMeta(modelRef);
|
|
119
|
+
const classMeta = (0, import_scalar.getClassMeta)(modelRef);
|
|
83
120
|
if (classMeta.type !== "full")
|
|
84
121
|
return modelRef;
|
|
85
122
|
const lightModelRef = Reflect.getMetadata(`Light${classMeta.refName}`, LightModelStorage.prototype);
|
|
@@ -108,21 +145,3 @@ const getAllFilterModelRefs = () => {
|
|
|
108
145
|
);
|
|
109
146
|
return modelRefs;
|
|
110
147
|
};
|
|
111
|
-
export {
|
|
112
|
-
FilterModelStorage,
|
|
113
|
-
FullModelStorage,
|
|
114
|
-
InputModelStorage,
|
|
115
|
-
LightModelStorage,
|
|
116
|
-
Model,
|
|
117
|
-
ScalarModelStorage,
|
|
118
|
-
getAllFilterModelRefs,
|
|
119
|
-
getAllFullModelRefs,
|
|
120
|
-
getAllScalarModelRefs,
|
|
121
|
-
getChildClassRefs,
|
|
122
|
-
getFieldEnumMetas,
|
|
123
|
-
getFullModelRef,
|
|
124
|
-
getInputModelRef,
|
|
125
|
-
getLightModelRef,
|
|
126
|
-
getScalarModelRef,
|
|
127
|
-
hasTextField
|
|
128
|
-
};
|