@akanjs/constant 0.0.97 → 0.0.99

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/src/scalar.cjs ADDED
@@ -0,0 +1,87 @@
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 scalar_exports = {};
19
+ __export(scalar_exports, {
20
+ fieldTypes: () => fieldTypes,
21
+ getClassMeta: () => getClassMeta,
22
+ getFieldMetaMap: () => getFieldMetaMap,
23
+ getFieldMetaMapOnPrototype: () => getFieldMetaMapOnPrototype,
24
+ getFieldMetas: () => getFieldMetas,
25
+ getGqlTypeStr: () => getGqlTypeStr,
26
+ getQueryMap: () => getQueryMap,
27
+ getScalarExample: () => getScalarExample,
28
+ isConstantModel: () => isConstantModel,
29
+ scalarExampleMap: () => scalarExampleMap,
30
+ setFieldMetaMap: () => setFieldMetaMap,
31
+ setFieldMetaMapOnPrototype: () => setFieldMetaMapOnPrototype
32
+ });
33
+ module.exports = __toCommonJS(scalar_exports);
34
+ var import_reflect_metadata = require("reflect-metadata");
35
+ var import_base = require("@akanjs/base");
36
+ const scalarExampleMap = /* @__PURE__ */ new Map([
37
+ [import_base.ID, "1234567890abcdef12345678"],
38
+ [import_base.Int, 0],
39
+ [import_base.Float, 0],
40
+ [String, "String"],
41
+ [Boolean, true],
42
+ [Date, (/* @__PURE__ */ new Date()).toISOString()],
43
+ [import_base.Upload, "FileUpload"],
44
+ [import_base.JSON, {}],
45
+ [Map, {}]
46
+ ]);
47
+ const getScalarExample = (ref) => scalarExampleMap.get(ref) ?? null;
48
+ const getGqlTypeStr = (ref) => import_base.scalarNameMap.get(ref) ?? getClassMeta(ref).refName;
49
+ const fieldTypes = ["email", "password", "url"];
50
+ const getClassMeta = (modelRef) => {
51
+ const [target] = (0, import_base.getNonArrayModel)(modelRef);
52
+ const classMeta = Reflect.getMetadata("class", target.prototype);
53
+ if (!classMeta)
54
+ throw new Error(`No ClassMeta for this target ${target.name}`);
55
+ return classMeta;
56
+ };
57
+ const getFieldMetas = (modelRef) => {
58
+ const [target] = (0, import_base.getNonArrayModel)(modelRef);
59
+ const metadataMap = Reflect.getMetadata("fields", target.prototype) ?? /* @__PURE__ */ new Map();
60
+ const keySortMap = { id: -1, createdAt: 1, updatedAt: 2, removedAt: 3 };
61
+ return [...metadataMap.values()].sort((a, b) => (keySortMap[a.key] ?? 0) - (keySortMap[b.key] ?? 0));
62
+ };
63
+ const isConstantModel = (modelRef) => {
64
+ return Reflect.getMetadata("class", modelRef.prototype) !== void 0;
65
+ };
66
+ const getFieldMetaMap = (modelRef) => {
67
+ const [target] = (0, import_base.getNonArrayModel)(modelRef);
68
+ const metadataMap = Reflect.getMetadata("fields", target.prototype) ?? /* @__PURE__ */ new Map();
69
+ return new Map(metadataMap);
70
+ };
71
+ const setFieldMetaMap = (modelRef, metadataMap) => {
72
+ const [target] = (0, import_base.getNonArrayModel)(modelRef);
73
+ Reflect.defineMetadata("fields", new Map(metadataMap), target.prototype);
74
+ };
75
+ const getFieldMetaMapOnPrototype = (prototype) => {
76
+ const metadataMap = Reflect.getMetadata("fields", prototype) ?? /* @__PURE__ */ new Map();
77
+ return new Map(metadataMap);
78
+ };
79
+ const setFieldMetaMapOnPrototype = (prototype, metadataMap) => {
80
+ Reflect.defineMetadata("fields", new Map(metadataMap), prototype);
81
+ };
82
+ const getQueryMap = (modelRef) => {
83
+ const fieldMetas = getFieldMetas(modelRef);
84
+ return Object.fromEntries(
85
+ fieldMetas.filter((fieldMeta) => !!fieldMeta.query).map((fieldMeta) => [fieldMeta.key, fieldMeta.query])
86
+ );
87
+ };
package/src/scalar.js CHANGED
@@ -1,61 +1,36 @@
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 scalar_exports = {};
19
- __export(scalar_exports, {
20
- fieldTypes: () => fieldTypes,
21
- getClassMeta: () => getClassMeta,
22
- getFieldMetaMap: () => getFieldMetaMap,
23
- getFieldMetaMapOnPrototype: () => getFieldMetaMapOnPrototype,
24
- getFieldMetas: () => getFieldMetas,
25
- getGqlTypeStr: () => getGqlTypeStr,
26
- getQueryMap: () => getQueryMap,
27
- getScalarExample: () => getScalarExample,
28
- isConstantModel: () => isConstantModel,
29
- scalarExampleMap: () => scalarExampleMap,
30
- setFieldMetaMap: () => setFieldMetaMap,
31
- setFieldMetaMapOnPrototype: () => setFieldMetaMapOnPrototype
32
- });
33
- module.exports = __toCommonJS(scalar_exports);
34
- var import_reflect_metadata = require("reflect-metadata");
35
- var import_base = require("@akanjs/base");
1
+ import "reflect-metadata";
2
+ import {
3
+ Float,
4
+ getNonArrayModel,
5
+ ID,
6
+ Int,
7
+ JSON,
8
+ scalarNameMap,
9
+ Upload
10
+ } from "@akanjs/base";
36
11
  const scalarExampleMap = /* @__PURE__ */ new Map([
37
- [import_base.ID, "1234567890abcdef12345678"],
38
- [import_base.Int, 0],
39
- [import_base.Float, 0],
12
+ [ID, "1234567890abcdef12345678"],
13
+ [Int, 0],
14
+ [Float, 0],
40
15
  [String, "String"],
41
16
  [Boolean, true],
42
17
  [Date, (/* @__PURE__ */ new Date()).toISOString()],
43
- [import_base.Upload, "FileUpload"],
44
- [import_base.JSON, {}],
18
+ [Upload, "FileUpload"],
19
+ [JSON, {}],
45
20
  [Map, {}]
46
21
  ]);
47
22
  const getScalarExample = (ref) => scalarExampleMap.get(ref) ?? null;
48
- const getGqlTypeStr = (ref) => import_base.scalarNameMap.get(ref) ?? getClassMeta(ref).refName;
23
+ const getGqlTypeStr = (ref) => scalarNameMap.get(ref) ?? getClassMeta(ref).refName;
49
24
  const fieldTypes = ["email", "password", "url"];
50
25
  const getClassMeta = (modelRef) => {
51
- const [target] = (0, import_base.getNonArrayModel)(modelRef);
26
+ const [target] = getNonArrayModel(modelRef);
52
27
  const classMeta = Reflect.getMetadata("class", target.prototype);
53
28
  if (!classMeta)
54
29
  throw new Error(`No ClassMeta for this target ${target.name}`);
55
30
  return classMeta;
56
31
  };
57
32
  const getFieldMetas = (modelRef) => {
58
- const [target] = (0, import_base.getNonArrayModel)(modelRef);
33
+ const [target] = getNonArrayModel(modelRef);
59
34
  const metadataMap = Reflect.getMetadata("fields", target.prototype) ?? /* @__PURE__ */ new Map();
60
35
  const keySortMap = { id: -1, createdAt: 1, updatedAt: 2, removedAt: 3 };
61
36
  return [...metadataMap.values()].sort((a, b) => (keySortMap[a.key] ?? 0) - (keySortMap[b.key] ?? 0));
@@ -64,12 +39,12 @@ const isConstantModel = (modelRef) => {
64
39
  return Reflect.getMetadata("class", modelRef.prototype) !== void 0;
65
40
  };
66
41
  const getFieldMetaMap = (modelRef) => {
67
- const [target] = (0, import_base.getNonArrayModel)(modelRef);
42
+ const [target] = getNonArrayModel(modelRef);
68
43
  const metadataMap = Reflect.getMetadata("fields", target.prototype) ?? /* @__PURE__ */ new Map();
69
44
  return new Map(metadataMap);
70
45
  };
71
46
  const setFieldMetaMap = (modelRef, metadataMap) => {
72
- const [target] = (0, import_base.getNonArrayModel)(modelRef);
47
+ const [target] = getNonArrayModel(modelRef);
73
48
  Reflect.defineMetadata("fields", new Map(metadataMap), target.prototype);
74
49
  };
75
50
  const getFieldMetaMapOnPrototype = (prototype) => {
@@ -85,3 +60,17 @@ const getQueryMap = (modelRef) => {
85
60
  fieldMetas.filter((fieldMeta) => !!fieldMeta.query).map((fieldMeta) => [fieldMeta.key, fieldMeta.query])
86
61
  );
87
62
  };
63
+ export {
64
+ fieldTypes,
65
+ getClassMeta,
66
+ getFieldMetaMap,
67
+ getFieldMetaMapOnPrototype,
68
+ getFieldMetas,
69
+ getGqlTypeStr,
70
+ getQueryMap,
71
+ getScalarExample,
72
+ isConstantModel,
73
+ scalarExampleMap,
74
+ setFieldMetaMap,
75
+ setFieldMetaMapOnPrototype
76
+ };
package/src/types.cjs ADDED
@@ -0,0 +1,29 @@
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 types_exports = {};
19
+ __export(types_exports, {
20
+ DEFAULT_PAGE_SIZE: () => DEFAULT_PAGE_SIZE,
21
+ defaultListOption: () => defaultListOption
22
+ });
23
+ module.exports = __toCommonJS(types_exports);
24
+ const defaultListOption = {
25
+ limit: 20,
26
+ skip: 0,
27
+ sort: "latest"
28
+ };
29
+ const DEFAULT_PAGE_SIZE = 20;
package/src/types.js CHANGED
@@ -1,29 +1,10 @@
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 types_exports = {};
19
- __export(types_exports, {
20
- DEFAULT_PAGE_SIZE: () => DEFAULT_PAGE_SIZE,
21
- defaultListOption: () => defaultListOption
22
- });
23
- module.exports = __toCommonJS(types_exports);
24
1
  const defaultListOption = {
25
2
  limit: 20,
26
3
  skip: 0,
27
4
  sort: "latest"
28
5
  };
29
6
  const DEFAULT_PAGE_SIZE = 20;
7
+ export {
8
+ DEFAULT_PAGE_SIZE,
9
+ defaultListOption
10
+ };
package/index.mjs DELETED
@@ -1 +0,0 @@
1
- export * from "./src";
package/src/baseGql.mjs DELETED
@@ -1,154 +0,0 @@
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";
15
- const defaultFieldMeta = {
16
- fieldType: "property",
17
- immutable: false,
18
- select: true,
19
- isClass: false,
20
- isScalar: true,
21
- nullable: false,
22
- isArray: false,
23
- arrDepth: 0,
24
- optArrDepth: 0,
25
- default: null,
26
- isMap: false
27
- };
28
- const idFieldMeta = { ...defaultFieldMeta, key: "id", name: "ID", modelRef: ID };
29
- const createdAtFieldMeta = { ...defaultFieldMeta, key: "createdAt", name: "Date", modelRef: Date };
30
- const updatedAtFieldMeta = { ...defaultFieldMeta, key: "updatedAt", name: "Date", modelRef: Date };
31
- const removedAtFieldMeta = {
32
- ...defaultFieldMeta,
33
- key: "removedAt",
34
- name: "Date",
35
- modelRef: Date,
36
- nullable: true,
37
- default: null
38
- };
39
- const extendModel = (modelRef) => {
40
- class BaseModel {
41
- }
42
- const metadataMap = getFieldMetaMap(modelRef);
43
- setFieldMetaMap(BaseModel, metadataMap);
44
- return BaseModel;
45
- };
46
- const as = extendModel;
47
- const baseModelOf = (modelRef) => {
48
- class BaseModel {
49
- __ModelType__ = "full";
50
- }
51
- const metadataMap = getFieldMetaMap(modelRef);
52
- metadataMap.set("id", idFieldMeta);
53
- metadataMap.set("createdAt", createdAtFieldMeta);
54
- metadataMap.set("updatedAt", updatedAtFieldMeta);
55
- metadataMap.set("removedAt", removedAtFieldMeta);
56
- Reflect.defineMetadata("fields", metadataMap, BaseModel.prototype);
57
- return BaseModel;
58
- };
59
- const lightModelOf = (objectRef, fields) => {
60
- const map = /* @__PURE__ */ new Map();
61
- const metadataMap = getFieldMetaMap(objectRef);
62
- class BaseGql {
63
- __ModelType__ = "light";
64
- }
65
- ["id", ...fields, "createdAt", "updatedAt", "removedAt"].forEach((key) => map.set(key, metadataMap.get(key)));
66
- Reflect.defineMetadata("fields", map, BaseGql.prototype);
67
- return BaseGql;
68
- };
69
- const fullModelOf = (modelRef, lightRef, overwriteRef, overwriteLightRef) => {
70
- const modelFieldMetaMap = getFieldMetaMap(modelRef);
71
- const lightFieldMetaMap = getFieldMetaMap(lightRef);
72
- applyMixins(modelRef, [lightRef]);
73
- if (overwriteRef) {
74
- applyMixins(overwriteRef, [modelRef]);
75
- setFieldMetaMap(overwriteRef, modelFieldMetaMap);
76
- }
77
- if (overwriteLightRef) {
78
- applyMixins(overwriteLightRef, [lightRef]);
79
- setFieldMetaMap(overwriteLightRef, lightFieldMetaMap);
80
- }
81
- setFieldMetaMap(modelRef, new Map([...modelFieldMetaMap, ...lightFieldMetaMap]));
82
- return modelRef;
83
- };
84
- const via = (modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef) => {
85
- if (!fieldsOrLightModelRef)
86
- return baseModelOf(modelRef);
87
- else if (Array.isArray(fieldsOrLightModelRef))
88
- return lightModelOf(modelRef, fieldsOrLightModelRef);
89
- else
90
- return fullModelOf(modelRef, fieldsOrLightModelRef, overwriteRef, overwriteLightRef);
91
- };
92
- const addModelOf = (modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
93
- const modelMetadataMap = getFieldMetaMap(modelRef);
94
- const metadataMap = new Map(
95
- [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).reduce((acc, writeRef) => {
96
- const writeMetadataMap = getFieldMetaMap(writeRef);
97
- applyMixins(modelRef, [writeRef]);
98
- return new Map([...acc, ...writeMetadataMap]);
99
- }, modelMetadataMap)
100
- );
101
- setFieldMetaMap(modelRef, metadataMap);
102
- return modelRef;
103
- };
104
- const addFilterOf = (filterRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
105
- const filterMeta = getFilterMeta(filterRef);
106
- const filterQueryMap = getFilterQueryMap(filterRef);
107
- const metadataMap = new Map(
108
- [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).reduce((acc, writeRef) => {
109
- const writeMetadataMap = getFilterQueryMap(writeRef);
110
- applyMixins(filterRef, [writeRef]);
111
- writeMetadataMap.forEach((value, key) => {
112
- const filterArgMetas = getFilterArgMetas(writeRef, key);
113
- setFilterArgMetasOnPrototype(filterRef.prototype, key, filterArgMetas);
114
- });
115
- return new Map([...acc, ...writeMetadataMap]);
116
- }, filterQueryMap)
117
- );
118
- const filterSort = [t1, t2, t3, t4, t5, t6, t7, t8, t9, t10].filter((t) => !!t).map((t) => getFilterSortMap(t)).reduce((acc, sort) => {
119
- Object.assign(acc, sort);
120
- return acc;
121
- }, filterMeta.sort);
122
- setFilterKeyMetaMapOnPrototype(filterRef.prototype, metadataMap);
123
- setFilterMeta(filterRef, { ...filterMeta, sort: filterSort });
124
- return filterRef;
125
- };
126
- const from = (modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) => {
127
- if (isConstantModel(modelRef))
128
- return addModelOf(modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
129
- else if (isFilterModel(modelRef))
130
- return addFilterOf(modelRef, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10);
131
- else
132
- throw new Error("Invalid modelRef");
133
- };
134
- const mixModelOf = (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) => {
135
- class Mix {
136
- }
137
- const metadataMap = new Map(
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) => {
139
- const modelMetadataMap = getFieldMetaMap(modelRef);
140
- applyMixins(Mix, [modelRef]);
141
- return [...acc, ...modelMetadataMap];
142
- }, [])
143
- );
144
- setFieldMetaMap(Mix, metadataMap);
145
- return Mix;
146
- };
147
- const over = mixModelOf;
148
- export {
149
- as,
150
- from,
151
- mixModelOf,
152
- over,
153
- via
154
- };
@@ -1,21 +0,0 @@
1
- import "reflect-metadata";
2
- class CnstStorage {
3
- }
4
- const setCnstMeta = (refName, cnst) => {
5
- Reflect.defineMetadata(refName, cnst, CnstStorage.prototype);
6
- };
7
- const getCnstMeta = (refName) => {
8
- const cnst = Reflect.getMetadata(refName, CnstStorage.prototype);
9
- if (!cnst)
10
- throw new Error(`No cnst meta for ${refName}`);
11
- return cnst;
12
- };
13
- const cnstOf = (refName, Input, Full, Light, Insight, Filter, Summary) => {
14
- const cnst = { refName, Input, Full, Light, Insight, Filter, Summary };
15
- setCnstMeta(refName, cnst);
16
- return cnst;
17
- };
18
- export {
19
- cnstOf,
20
- getCnstMeta
21
- };
package/src/fieldMeta.mjs DELETED
@@ -1,67 +0,0 @@
1
- import { getNonArrayModel, isGqlMap, isGqlScalar, scalarNameMap } from "@akanjs/base";
2
- import {
3
- getClassMeta,
4
- getFieldMetaMapOnPrototype,
5
- setFieldMetaMapOnPrototype
6
- } from "./scalar";
7
- const applyFieldMeta = (modelRef, arrDepth, option, optionArrDepth) => {
8
- const isArray = arrDepth > 0;
9
- const isClass = !isGqlScalar(modelRef);
10
- const isMap = isGqlMap(modelRef);
11
- const { refName, type } = isClass ? getClassMeta(modelRef) : { refName: "", type: "scalar" };
12
- const name = isClass ? refName : scalarNameMap.get(modelRef) ?? "Unknown";
13
- if (isMap && !option.of)
14
- throw new Error("Map type must have 'of' option");
15
- return (prototype, key) => {
16
- const metadata = {
17
- nullable: option.nullable ?? false,
18
- ref: option.ref,
19
- refPath: option.refPath,
20
- refType: option.refType,
21
- default: option.default ?? (isArray ? [] : null),
22
- type: option.type,
23
- fieldType: option.fieldType ?? "property",
24
- immutable: option.immutable ?? false,
25
- min: option.min,
26
- max: option.max,
27
- enum: option.enum,
28
- select: option.select ?? true,
29
- minlength: option.minlength,
30
- maxlength: option.maxlength,
31
- query: option.query,
32
- accumulate: option.accumulate,
33
- example: option.example,
34
- validate: option.validate,
35
- key,
36
- name,
37
- isClass,
38
- isScalar: type === "scalar",
39
- modelRef,
40
- arrDepth,
41
- isArray,
42
- optArrDepth: optionArrDepth,
43
- isMap,
44
- of: option.of,
45
- text: option.text
46
- };
47
- const metadataMap = getFieldMetaMapOnPrototype(prototype);
48
- metadataMap.set(key, metadata);
49
- setFieldMetaMapOnPrototype(prototype, metadataMap);
50
- };
51
- };
52
- const makeField = (customOption) => (returns, fieldOption) => {
53
- const [modelRef, arrDepth] = getNonArrayModel(returns());
54
- if (!fieldOption)
55
- return applyFieldMeta(modelRef, arrDepth, { ...customOption }, arrDepth);
56
- const [opt, optArrDepth] = getNonArrayModel(fieldOption);
57
- return applyFieldMeta(modelRef, arrDepth, { ...opt, ...customOption }, optArrDepth);
58
- };
59
- const Field = {
60
- Prop: makeField({ fieldType: "property" }),
61
- Hidden: makeField({ fieldType: "hidden", nullable: true }),
62
- Secret: makeField({ fieldType: "hidden", select: false, nullable: true }),
63
- Resolve: makeField({ fieldType: "resolve" })
64
- };
65
- export {
66
- Field
67
- };
package/src/index.mjs DELETED
@@ -1,7 +0,0 @@
1
- export * from "./types";
2
- export * from "./fieldMeta";
3
- export * from "./scalar";
4
- export * from "./constantDecorator";
5
- export * from "./filterMeta";
6
- export * from "./baseGql";
7
- export * from "./classMeta";
package/src/scalar.mjs DELETED
@@ -1,76 +0,0 @@
1
- import "reflect-metadata";
2
- import {
3
- Float,
4
- getNonArrayModel,
5
- ID,
6
- Int,
7
- JSON,
8
- scalarNameMap,
9
- Upload
10
- } from "@akanjs/base";
11
- const scalarExampleMap = /* @__PURE__ */ new Map([
12
- [ID, "1234567890abcdef12345678"],
13
- [Int, 0],
14
- [Float, 0],
15
- [String, "String"],
16
- [Boolean, true],
17
- [Date, (/* @__PURE__ */ new Date()).toISOString()],
18
- [Upload, "FileUpload"],
19
- [JSON, {}],
20
- [Map, {}]
21
- ]);
22
- const getScalarExample = (ref) => scalarExampleMap.get(ref) ?? null;
23
- const getGqlTypeStr = (ref) => scalarNameMap.get(ref) ?? getClassMeta(ref).refName;
24
- const fieldTypes = ["email", "password", "url"];
25
- const getClassMeta = (modelRef) => {
26
- const [target] = getNonArrayModel(modelRef);
27
- const classMeta = Reflect.getMetadata("class", target.prototype);
28
- if (!classMeta)
29
- throw new Error(`No ClassMeta for this target ${target.name}`);
30
- return classMeta;
31
- };
32
- const getFieldMetas = (modelRef) => {
33
- const [target] = getNonArrayModel(modelRef);
34
- const metadataMap = Reflect.getMetadata("fields", target.prototype) ?? /* @__PURE__ */ new Map();
35
- const keySortMap = { id: -1, createdAt: 1, updatedAt: 2, removedAt: 3 };
36
- return [...metadataMap.values()].sort((a, b) => (keySortMap[a.key] ?? 0) - (keySortMap[b.key] ?? 0));
37
- };
38
- const isConstantModel = (modelRef) => {
39
- return Reflect.getMetadata("class", modelRef.prototype) !== void 0;
40
- };
41
- const getFieldMetaMap = (modelRef) => {
42
- const [target] = getNonArrayModel(modelRef);
43
- const metadataMap = Reflect.getMetadata("fields", target.prototype) ?? /* @__PURE__ */ new Map();
44
- return new Map(metadataMap);
45
- };
46
- const setFieldMetaMap = (modelRef, metadataMap) => {
47
- const [target] = getNonArrayModel(modelRef);
48
- Reflect.defineMetadata("fields", new Map(metadataMap), target.prototype);
49
- };
50
- const getFieldMetaMapOnPrototype = (prototype) => {
51
- const metadataMap = Reflect.getMetadata("fields", prototype) ?? /* @__PURE__ */ new Map();
52
- return new Map(metadataMap);
53
- };
54
- const setFieldMetaMapOnPrototype = (prototype, metadataMap) => {
55
- Reflect.defineMetadata("fields", new Map(metadataMap), prototype);
56
- };
57
- const getQueryMap = (modelRef) => {
58
- const fieldMetas = getFieldMetas(modelRef);
59
- return Object.fromEntries(
60
- fieldMetas.filter((fieldMeta) => !!fieldMeta.query).map((fieldMeta) => [fieldMeta.key, fieldMeta.query])
61
- );
62
- };
63
- export {
64
- fieldTypes,
65
- getClassMeta,
66
- getFieldMetaMap,
67
- getFieldMetaMapOnPrototype,
68
- getFieldMetas,
69
- getGqlTypeStr,
70
- getQueryMap,
71
- getScalarExample,
72
- isConstantModel,
73
- scalarExampleMap,
74
- setFieldMetaMap,
75
- setFieldMetaMapOnPrototype
76
- };
package/src/types.mjs DELETED
@@ -1,10 +0,0 @@
1
- const defaultListOption = {
2
- limit: 20,
3
- skip: 0,
4
- sort: "latest"
5
- };
6
- const DEFAULT_PAGE_SIZE = 20;
7
- export {
8
- DEFAULT_PAGE_SIZE,
9
- defaultListOption
10
- };