@akanjs/server 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.
@@ -1,19 +1,42 @@
1
- import { arraiedModel, dayjs, Enum, Float, ID, Int, JSON } from "@akanjs/base";
2
- import { isDayjs } from "@akanjs/common";
3
- import { getClassMeta, getFieldMetas, getFullModelRef, getInputModelRef } from "@akanjs/constant";
4
- import { getDefaultSchemaOptions, ObjectId } from "@akanjs/document";
5
- import { makeDefault } from "@akanjs/signal";
6
- import { Schema, Types } from "mongoose";
7
- import { applyNestField } from ".";
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 schema_exports = {};
19
+ __export(schema_exports, {
20
+ addSchema: () => addSchema,
21
+ schemaOf: () => schemaOf
22
+ });
23
+ module.exports = __toCommonJS(schema_exports);
24
+ var import_base = require("@akanjs/base");
25
+ var import_common = require("@akanjs/common");
26
+ var import_constant = require("@akanjs/constant");
27
+ var import_document = require("@akanjs/document");
28
+ var import_signal = require("@akanjs/signal");
29
+ var import_mongoose = require("mongoose");
30
+ var import__ = require(".");
8
31
  class ScalarSchemaStorage {
9
32
  }
10
33
  class SchemaStorage {
11
34
  }
12
35
  const scalarMongoTypeMap = /* @__PURE__ */ new Map([
13
- [ID, ObjectId],
14
- [Int, Number],
15
- [Float, Number],
16
- [JSON, Schema.Types.Mixed],
36
+ [import_base.ID, import_document.ObjectId],
37
+ [import_base.Int, Number],
38
+ [import_base.Float, Number],
39
+ [import_base.JSON, import_mongoose.Schema.Types.Mixed],
17
40
  [Map, Map],
18
41
  [String, String],
19
42
  [Boolean, Boolean],
@@ -22,13 +45,13 @@ const scalarMongoTypeMap = /* @__PURE__ */ new Map([
22
45
  const applyMongoProp = (schemaProps, fieldMeta) => {
23
46
  if (["id", "createdAt", "updatedAt"].includes(fieldMeta.key) || fieldMeta.fieldType === "resolve")
24
47
  return;
25
- const type = fieldMeta.isClass ? fieldMeta.isScalar ? createSchema(fieldMeta.modelRef) : ObjectId : scalarMongoTypeMap.get(fieldMeta.modelRef) ?? fieldMeta.modelRef;
48
+ const type = fieldMeta.isClass ? fieldMeta.isScalar ? createSchema(fieldMeta.modelRef) : import_document.ObjectId : scalarMongoTypeMap.get(fieldMeta.modelRef) ?? fieldMeta.modelRef;
26
49
  let prop = {};
27
50
  if (fieldMeta.optArrDepth) {
28
51
  prop.type = type;
29
52
  prop.required = true;
30
53
  if (fieldMeta.isClass && !fieldMeta.refPath)
31
- prop.ref = getClassMeta(fieldMeta.modelRef).refName;
54
+ prop.ref = (0, import_constant.getClassMeta)(fieldMeta.modelRef).refName;
32
55
  if (fieldMeta.refPath)
33
56
  prop.refPath = fieldMeta.refPath;
34
57
  if (typeof fieldMeta.min === "number")
@@ -43,20 +66,20 @@ const applyMongoProp = (schemaProps, fieldMeta) => {
43
66
  prop.maxlength = fieldMeta.maxlength;
44
67
  if (fieldMeta.validate) {
45
68
  prop.validate = function(value) {
46
- return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? dayjs() : value, this) ?? true;
69
+ return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? (0, import_base.dayjs)() : value, this) ?? true;
47
70
  };
48
71
  }
49
- prop = { type: arraiedModel(prop, fieldMeta.optArrDepth), default: [], required: true };
72
+ prop = { type: (0, import_base.arraiedModel)(prop, fieldMeta.optArrDepth), default: [], required: true };
50
73
  if (fieldMeta.modelRef.prototype === Date.prototype) {
51
- prop.get = (dates) => dates.map((date) => dayjs(date));
74
+ prop.get = (dates) => dates.map((date) => (0, import_base.dayjs)(date));
52
75
  prop.set = (days) => days.map((day) => day.toDate());
53
76
  }
54
- if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === ID.prototype) {
77
+ if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === import_base.ID.prototype) {
55
78
  prop.get = (ids) => ids.map((id) => id.toString());
56
- prop.set = (ids) => ids.map((id) => new Types.ObjectId(id));
79
+ prop.set = (ids) => ids.map((id) => new import_mongoose.Types.ObjectId(id));
57
80
  }
58
81
  } else {
59
- prop.type = arraiedModel(type, fieldMeta.arrDepth);
82
+ prop.type = (0, import_base.arraiedModel)(type, fieldMeta.arrDepth);
60
83
  prop.required = !fieldMeta.nullable;
61
84
  if (fieldMeta.isMap) {
62
85
  prop.of = scalarMongoTypeMap.get(fieldMeta.of) ?? createSchema(fieldMeta.of);
@@ -67,15 +90,15 @@ const applyMongoProp = (schemaProps, fieldMeta) => {
67
90
  if (typeof fieldMeta.default === "function")
68
91
  prop.default = function() {
69
92
  const def = fieldMeta.default(this);
70
- return isDayjs(def) ? def.toDate() : def;
93
+ return (0, import_common.isDayjs)(def) ? def.toDate() : def;
71
94
  };
72
95
  else
73
- prop.default = isDayjs(fieldMeta.default) ? fieldMeta.default.toDate() : fieldMeta.default instanceof Enum ? [...fieldMeta.default.values] : fieldMeta.default;
96
+ prop.default = (0, import_common.isDayjs)(fieldMeta.default) ? fieldMeta.default.toDate() : fieldMeta.default instanceof import_base.Enum ? [...fieldMeta.default.values] : fieldMeta.default;
74
97
  }
75
98
  if (typeof fieldMeta.immutable !== "undefined")
76
99
  prop.immutable = fieldMeta.immutable;
77
100
  if (fieldMeta.isClass && !fieldMeta.refPath)
78
- prop.ref = getClassMeta(fieldMeta.modelRef).refName;
101
+ prop.ref = (0, import_constant.getClassMeta)(fieldMeta.modelRef).refName;
79
102
  if (fieldMeta.refPath)
80
103
  prop.refPath = fieldMeta.refPath;
81
104
  if (typeof fieldMeta.min === "number")
@@ -95,60 +118,60 @@ const applyMongoProp = (schemaProps, fieldMeta) => {
95
118
  prop.set = (v) => v === null ? void 0 : v;
96
119
  }
97
120
  if (fieldMeta.modelRef.prototype === Date.prototype) {
98
- prop.get = (date) => date ? dayjs(date) : void 0;
99
- prop.set = (day) => day ? dayjs(day).toDate() : void 0;
121
+ prop.get = (date) => date ? (0, import_base.dayjs)(date) : void 0;
122
+ prop.set = (day) => day ? (0, import_base.dayjs)(day).toDate() : void 0;
100
123
  }
101
- if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === ID.prototype) {
124
+ if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === import_base.ID.prototype) {
102
125
  prop.get = (id) => id ? id.toString() : void 0;
103
- prop.set = (id) => id ? new Types.ObjectId(id) : void 0;
126
+ prop.set = (id) => id ? new import_mongoose.Types.ObjectId(id) : void 0;
104
127
  }
105
128
  if (fieldMeta.isClass && fieldMeta.isScalar && fieldMeta.default === null && !fieldMeta.nullable) {
106
- prop.default = makeDefault(fieldMeta.modelRef);
129
+ prop.default = (0, import_signal.makeDefault)(fieldMeta.modelRef);
107
130
  }
108
131
  if (fieldMeta.validate) {
109
132
  prop.validate = function(value) {
110
- return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? dayjs() : value, this) ?? true;
133
+ return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? (0, import_base.dayjs)() : value, this) ?? true;
111
134
  };
112
135
  }
113
136
  }
114
137
  schemaProps[fieldMeta.key] = prop;
115
138
  };
116
139
  const createSchema = (modelRef) => {
117
- const classMeta = getClassMeta(modelRef);
140
+ const classMeta = (0, import_constant.getClassMeta)(modelRef);
118
141
  const schemaMeta = Reflect.getMetadata(classMeta.refName, ScalarSchemaStorage.prototype);
119
142
  if (schemaMeta)
120
143
  return schemaMeta;
121
- const fieldMetas = getFieldMetas(modelRef);
144
+ const fieldMetas = (0, import_constant.getFieldMetas)(modelRef);
122
145
  const schemaProps = {};
123
146
  fieldMetas.forEach((fieldMeta) => {
124
147
  applyMongoProp(schemaProps, fieldMeta);
125
148
  });
126
- const schema = new Schema(schemaProps);
149
+ const schema = new import_mongoose.Schema(schemaProps);
127
150
  Reflect.defineMetadata(classMeta.refName, schema, ScalarSchemaStorage.prototype);
128
151
  return schema;
129
152
  };
130
153
  const schemaOf = (modelRef, docRef, middleware) => {
131
- const classMeta = getClassMeta(docRef);
154
+ const classMeta = (0, import_constant.getClassMeta)(docRef);
132
155
  const schemaMeta = Reflect.getMetadata(classMeta.refName, SchemaStorage.prototype);
133
156
  if (schemaMeta)
134
157
  return schemaMeta;
135
- const fieldMetas = getFieldMetas(docRef);
158
+ const fieldMetas = (0, import_constant.getFieldMetas)(docRef);
136
159
  const schemaProps = {
137
160
  createdAt: {
138
161
  type: Date,
139
- get: (date) => date ? dayjs(date) : date,
140
- set: (day) => day ? dayjs(day).toDate() : day
162
+ get: (date) => date ? (0, import_base.dayjs)(date) : date,
163
+ set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
141
164
  },
142
165
  updatedAt: {
143
166
  type: Date,
144
- get: (date) => date ? dayjs(date) : date,
145
- set: (day) => day ? dayjs(day).toDate() : day
167
+ get: (date) => date ? (0, import_base.dayjs)(date) : date,
168
+ set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
146
169
  }
147
170
  };
148
171
  fieldMetas.forEach((fieldMeta) => {
149
172
  applyMongoProp(schemaProps, fieldMeta);
150
173
  });
151
- const schema = new Schema(schemaProps, getDefaultSchemaOptions());
174
+ const schema = new import_mongoose.Schema(schemaProps, (0, import_document.getDefaultSchemaOptions)());
152
175
  schema.methods.refresh = async function() {
153
176
  Object.assign(this, await this.constructor.findById(this._id));
154
177
  return this;
@@ -173,36 +196,36 @@ const schemaOf = (modelRef, docRef, middleware) => {
173
196
  return schema;
174
197
  };
175
198
  const addSchema = (modelRef, docRef, inputRef, middleware) => {
176
- const originDocClassMeta = getClassMeta(docRef);
177
- const originInputClassMeta = getClassMeta(inputRef);
178
- const originDoc = getFullModelRef(originDocClassMeta.refName);
179
- const originInput = getInputModelRef(originInputClassMeta.refName);
180
- const classMeta = getClassMeta(docRef);
199
+ const originDocClassMeta = (0, import_constant.getClassMeta)(docRef);
200
+ const originInputClassMeta = (0, import_constant.getClassMeta)(inputRef);
201
+ const originDoc = (0, import_constant.getFullModelRef)(originDocClassMeta.refName);
202
+ const originInput = (0, import_constant.getInputModelRef)(originInputClassMeta.refName);
203
+ const classMeta = (0, import_constant.getClassMeta)(docRef);
181
204
  const modelSchema = Reflect.getMetadata(classMeta.refName, SchemaStorage.prototype);
182
205
  if (!modelSchema)
183
206
  throw new Error(`Schema of ${classMeta.refName} not found`);
184
- const fieldMetas = getFieldMetas(docRef);
207
+ const fieldMetas = (0, import_constant.getFieldMetas)(docRef);
185
208
  const schemaProps = {
186
209
  createdAt: {
187
210
  type: Date,
188
- get: (date) => date ? dayjs(date) : date,
189
- set: (day) => day ? dayjs(day).toDate() : day
211
+ get: (date) => date ? (0, import_base.dayjs)(date) : date,
212
+ set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
190
213
  },
191
214
  updatedAt: {
192
215
  type: Date,
193
- get: (date) => date ? dayjs(date) : date,
194
- set: (day) => day ? dayjs(day).toDate() : day
216
+ get: (date) => date ? (0, import_base.dayjs)(date) : date,
217
+ set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
195
218
  }
196
219
  };
197
220
  fieldMetas.forEach((fieldMeta) => {
198
221
  applyMongoProp(schemaProps, fieldMeta);
199
- applyNestField(originDoc, fieldMeta);
222
+ (0, import__.applyNestField)(originDoc, fieldMeta);
200
223
  });
201
- const inputFieldMetas = getFieldMetas(inputRef);
224
+ const inputFieldMetas = (0, import_constant.getFieldMetas)(inputRef);
202
225
  inputFieldMetas.forEach((fieldMeta) => {
203
- applyNestField(originInput, fieldMeta, "input");
226
+ (0, import__.applyNestField)(originInput, fieldMeta, "input");
204
227
  });
205
- const schema = new Schema(schemaProps, getDefaultSchemaOptions());
228
+ const schema = new import_mongoose.Schema(schemaProps, (0, import_document.getDefaultSchemaOptions)());
206
229
  modelSchema.add(schema);
207
230
  Object.getOwnPropertyNames(docRef.prototype).forEach((name) => {
208
231
  if (name === "constructor")
@@ -213,7 +236,8 @@ const addSchema = (modelRef, docRef, inputRef, middleware) => {
213
236
  onSchema?.(modelSchema);
214
237
  return modelSchema;
215
238
  };
216
- export {
239
+ // Annotate the CommonJS export names for ESM import in node:
240
+ 0 && (module.exports = {
217
241
  addSchema,
218
242
  schemaOf
219
- };
243
+ });
package/src/schema.js CHANGED
@@ -1,42 +1,19 @@
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 schema_exports = {};
19
- __export(schema_exports, {
20
- addSchema: () => addSchema,
21
- schemaOf: () => schemaOf
22
- });
23
- module.exports = __toCommonJS(schema_exports);
24
- var import_base = require("@akanjs/base");
25
- var import_common = require("@akanjs/common");
26
- var import_constant = require("@akanjs/constant");
27
- var import_document = require("@akanjs/document");
28
- var import_signal = require("@akanjs/signal");
29
- var import_mongoose = require("mongoose");
30
- var import__ = require(".");
1
+ import { arraiedModel, dayjs, Enum, Float, ID, Int, JSON } from "@akanjs/base";
2
+ import { isDayjs } from "@akanjs/common";
3
+ import { getClassMeta, getFieldMetas, getFullModelRef, getInputModelRef } from "@akanjs/constant";
4
+ import { getDefaultSchemaOptions, ObjectId } from "@akanjs/document";
5
+ import { makeDefault } from "@akanjs/signal";
6
+ import { Schema, Types } from "mongoose";
7
+ import { applyNestField } from ".";
31
8
  class ScalarSchemaStorage {
32
9
  }
33
10
  class SchemaStorage {
34
11
  }
35
12
  const scalarMongoTypeMap = /* @__PURE__ */ new Map([
36
- [import_base.ID, import_document.ObjectId],
37
- [import_base.Int, Number],
38
- [import_base.Float, Number],
39
- [import_base.JSON, import_mongoose.Schema.Types.Mixed],
13
+ [ID, ObjectId],
14
+ [Int, Number],
15
+ [Float, Number],
16
+ [JSON, Schema.Types.Mixed],
40
17
  [Map, Map],
41
18
  [String, String],
42
19
  [Boolean, Boolean],
@@ -45,13 +22,13 @@ const scalarMongoTypeMap = /* @__PURE__ */ new Map([
45
22
  const applyMongoProp = (schemaProps, fieldMeta) => {
46
23
  if (["id", "createdAt", "updatedAt"].includes(fieldMeta.key) || fieldMeta.fieldType === "resolve")
47
24
  return;
48
- const type = fieldMeta.isClass ? fieldMeta.isScalar ? createSchema(fieldMeta.modelRef) : import_document.ObjectId : scalarMongoTypeMap.get(fieldMeta.modelRef) ?? fieldMeta.modelRef;
25
+ const type = fieldMeta.isClass ? fieldMeta.isScalar ? createSchema(fieldMeta.modelRef) : ObjectId : scalarMongoTypeMap.get(fieldMeta.modelRef) ?? fieldMeta.modelRef;
49
26
  let prop = {};
50
27
  if (fieldMeta.optArrDepth) {
51
28
  prop.type = type;
52
29
  prop.required = true;
53
30
  if (fieldMeta.isClass && !fieldMeta.refPath)
54
- prop.ref = (0, import_constant.getClassMeta)(fieldMeta.modelRef).refName;
31
+ prop.ref = getClassMeta(fieldMeta.modelRef).refName;
55
32
  if (fieldMeta.refPath)
56
33
  prop.refPath = fieldMeta.refPath;
57
34
  if (typeof fieldMeta.min === "number")
@@ -66,20 +43,20 @@ const applyMongoProp = (schemaProps, fieldMeta) => {
66
43
  prop.maxlength = fieldMeta.maxlength;
67
44
  if (fieldMeta.validate) {
68
45
  prop.validate = function(value) {
69
- return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? (0, import_base.dayjs)() : value, this) ?? true;
46
+ return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? dayjs() : value, this) ?? true;
70
47
  };
71
48
  }
72
- prop = { type: (0, import_base.arraiedModel)(prop, fieldMeta.optArrDepth), default: [], required: true };
49
+ prop = { type: arraiedModel(prop, fieldMeta.optArrDepth), default: [], required: true };
73
50
  if (fieldMeta.modelRef.prototype === Date.prototype) {
74
- prop.get = (dates) => dates.map((date) => (0, import_base.dayjs)(date));
51
+ prop.get = (dates) => dates.map((date) => dayjs(date));
75
52
  prop.set = (days) => days.map((day) => day.toDate());
76
53
  }
77
- if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === import_base.ID.prototype) {
54
+ if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === ID.prototype) {
78
55
  prop.get = (ids) => ids.map((id) => id.toString());
79
- prop.set = (ids) => ids.map((id) => new import_mongoose.Types.ObjectId(id));
56
+ prop.set = (ids) => ids.map((id) => new Types.ObjectId(id));
80
57
  }
81
58
  } else {
82
- prop.type = (0, import_base.arraiedModel)(type, fieldMeta.arrDepth);
59
+ prop.type = arraiedModel(type, fieldMeta.arrDepth);
83
60
  prop.required = !fieldMeta.nullable;
84
61
  if (fieldMeta.isMap) {
85
62
  prop.of = scalarMongoTypeMap.get(fieldMeta.of) ?? createSchema(fieldMeta.of);
@@ -90,15 +67,15 @@ const applyMongoProp = (schemaProps, fieldMeta) => {
90
67
  if (typeof fieldMeta.default === "function")
91
68
  prop.default = function() {
92
69
  const def = fieldMeta.default(this);
93
- return (0, import_common.isDayjs)(def) ? def.toDate() : def;
70
+ return isDayjs(def) ? def.toDate() : def;
94
71
  };
95
72
  else
96
- prop.default = (0, import_common.isDayjs)(fieldMeta.default) ? fieldMeta.default.toDate() : fieldMeta.default instanceof import_base.Enum ? [...fieldMeta.default.values] : fieldMeta.default;
73
+ prop.default = isDayjs(fieldMeta.default) ? fieldMeta.default.toDate() : fieldMeta.default instanceof Enum ? [...fieldMeta.default.values] : fieldMeta.default;
97
74
  }
98
75
  if (typeof fieldMeta.immutable !== "undefined")
99
76
  prop.immutable = fieldMeta.immutable;
100
77
  if (fieldMeta.isClass && !fieldMeta.refPath)
101
- prop.ref = (0, import_constant.getClassMeta)(fieldMeta.modelRef).refName;
78
+ prop.ref = getClassMeta(fieldMeta.modelRef).refName;
102
79
  if (fieldMeta.refPath)
103
80
  prop.refPath = fieldMeta.refPath;
104
81
  if (typeof fieldMeta.min === "number")
@@ -118,60 +95,60 @@ const applyMongoProp = (schemaProps, fieldMeta) => {
118
95
  prop.set = (v) => v === null ? void 0 : v;
119
96
  }
120
97
  if (fieldMeta.modelRef.prototype === Date.prototype) {
121
- prop.get = (date) => date ? (0, import_base.dayjs)(date) : void 0;
122
- prop.set = (day) => day ? (0, import_base.dayjs)(day).toDate() : void 0;
98
+ prop.get = (date) => date ? dayjs(date) : void 0;
99
+ prop.set = (day) => day ? dayjs(day).toDate() : void 0;
123
100
  }
124
- if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === import_base.ID.prototype) {
101
+ if (fieldMeta.isClass && !fieldMeta.isScalar || fieldMeta.modelRef.prototype === ID.prototype) {
125
102
  prop.get = (id) => id ? id.toString() : void 0;
126
- prop.set = (id) => id ? new import_mongoose.Types.ObjectId(id) : void 0;
103
+ prop.set = (id) => id ? new Types.ObjectId(id) : void 0;
127
104
  }
128
105
  if (fieldMeta.isClass && fieldMeta.isScalar && fieldMeta.default === null && !fieldMeta.nullable) {
129
- prop.default = (0, import_signal.makeDefault)(fieldMeta.modelRef);
106
+ prop.default = makeDefault(fieldMeta.modelRef);
130
107
  }
131
108
  if (fieldMeta.validate) {
132
109
  prop.validate = function(value) {
133
- return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? (0, import_base.dayjs)() : value, this) ?? true;
110
+ return fieldMeta.validate?.(fieldMeta.name === "Date" && !!value ? dayjs() : value, this) ?? true;
134
111
  };
135
112
  }
136
113
  }
137
114
  schemaProps[fieldMeta.key] = prop;
138
115
  };
139
116
  const createSchema = (modelRef) => {
140
- const classMeta = (0, import_constant.getClassMeta)(modelRef);
117
+ const classMeta = getClassMeta(modelRef);
141
118
  const schemaMeta = Reflect.getMetadata(classMeta.refName, ScalarSchemaStorage.prototype);
142
119
  if (schemaMeta)
143
120
  return schemaMeta;
144
- const fieldMetas = (0, import_constant.getFieldMetas)(modelRef);
121
+ const fieldMetas = getFieldMetas(modelRef);
145
122
  const schemaProps = {};
146
123
  fieldMetas.forEach((fieldMeta) => {
147
124
  applyMongoProp(schemaProps, fieldMeta);
148
125
  });
149
- const schema = new import_mongoose.Schema(schemaProps);
126
+ const schema = new Schema(schemaProps);
150
127
  Reflect.defineMetadata(classMeta.refName, schema, ScalarSchemaStorage.prototype);
151
128
  return schema;
152
129
  };
153
130
  const schemaOf = (modelRef, docRef, middleware) => {
154
- const classMeta = (0, import_constant.getClassMeta)(docRef);
131
+ const classMeta = getClassMeta(docRef);
155
132
  const schemaMeta = Reflect.getMetadata(classMeta.refName, SchemaStorage.prototype);
156
133
  if (schemaMeta)
157
134
  return schemaMeta;
158
- const fieldMetas = (0, import_constant.getFieldMetas)(docRef);
135
+ const fieldMetas = getFieldMetas(docRef);
159
136
  const schemaProps = {
160
137
  createdAt: {
161
138
  type: Date,
162
- get: (date) => date ? (0, import_base.dayjs)(date) : date,
163
- set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
139
+ get: (date) => date ? dayjs(date) : date,
140
+ set: (day) => day ? dayjs(day).toDate() : day
164
141
  },
165
142
  updatedAt: {
166
143
  type: Date,
167
- get: (date) => date ? (0, import_base.dayjs)(date) : date,
168
- set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
144
+ get: (date) => date ? dayjs(date) : date,
145
+ set: (day) => day ? dayjs(day).toDate() : day
169
146
  }
170
147
  };
171
148
  fieldMetas.forEach((fieldMeta) => {
172
149
  applyMongoProp(schemaProps, fieldMeta);
173
150
  });
174
- const schema = new import_mongoose.Schema(schemaProps, (0, import_document.getDefaultSchemaOptions)());
151
+ const schema = new Schema(schemaProps, getDefaultSchemaOptions());
175
152
  schema.methods.refresh = async function() {
176
153
  Object.assign(this, await this.constructor.findById(this._id));
177
154
  return this;
@@ -196,36 +173,36 @@ const schemaOf = (modelRef, docRef, middleware) => {
196
173
  return schema;
197
174
  };
198
175
  const addSchema = (modelRef, docRef, inputRef, middleware) => {
199
- const originDocClassMeta = (0, import_constant.getClassMeta)(docRef);
200
- const originInputClassMeta = (0, import_constant.getClassMeta)(inputRef);
201
- const originDoc = (0, import_constant.getFullModelRef)(originDocClassMeta.refName);
202
- const originInput = (0, import_constant.getInputModelRef)(originInputClassMeta.refName);
203
- const classMeta = (0, import_constant.getClassMeta)(docRef);
176
+ const originDocClassMeta = getClassMeta(docRef);
177
+ const originInputClassMeta = getClassMeta(inputRef);
178
+ const originDoc = getFullModelRef(originDocClassMeta.refName);
179
+ const originInput = getInputModelRef(originInputClassMeta.refName);
180
+ const classMeta = getClassMeta(docRef);
204
181
  const modelSchema = Reflect.getMetadata(classMeta.refName, SchemaStorage.prototype);
205
182
  if (!modelSchema)
206
183
  throw new Error(`Schema of ${classMeta.refName} not found`);
207
- const fieldMetas = (0, import_constant.getFieldMetas)(docRef);
184
+ const fieldMetas = getFieldMetas(docRef);
208
185
  const schemaProps = {
209
186
  createdAt: {
210
187
  type: Date,
211
- get: (date) => date ? (0, import_base.dayjs)(date) : date,
212
- set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
188
+ get: (date) => date ? dayjs(date) : date,
189
+ set: (day) => day ? dayjs(day).toDate() : day
213
190
  },
214
191
  updatedAt: {
215
192
  type: Date,
216
- get: (date) => date ? (0, import_base.dayjs)(date) : date,
217
- set: (day) => day ? (0, import_base.dayjs)(day).toDate() : day
193
+ get: (date) => date ? dayjs(date) : date,
194
+ set: (day) => day ? dayjs(day).toDate() : day
218
195
  }
219
196
  };
220
197
  fieldMetas.forEach((fieldMeta) => {
221
198
  applyMongoProp(schemaProps, fieldMeta);
222
- (0, import__.applyNestField)(originDoc, fieldMeta);
199
+ applyNestField(originDoc, fieldMeta);
223
200
  });
224
- const inputFieldMetas = (0, import_constant.getFieldMetas)(inputRef);
201
+ const inputFieldMetas = getFieldMetas(inputRef);
225
202
  inputFieldMetas.forEach((fieldMeta) => {
226
- (0, import__.applyNestField)(originInput, fieldMeta, "input");
203
+ applyNestField(originInput, fieldMeta, "input");
227
204
  });
228
- const schema = new import_mongoose.Schema(schemaProps, (0, import_document.getDefaultSchemaOptions)());
205
+ const schema = new Schema(schemaProps, getDefaultSchemaOptions());
229
206
  modelSchema.add(schema);
230
207
  Object.getOwnPropertyNames(docRef.prototype).forEach((name) => {
231
208
  if (name === "constructor")
@@ -236,8 +213,7 @@ const addSchema = (modelRef, docRef, inputRef, middleware) => {
236
213
  onSchema?.(modelSchema);
237
214
  return modelSchema;
238
215
  };
239
- // Annotate the CommonJS export names for ESM import in node:
240
- 0 && (module.exports = {
216
+ export {
241
217
  addSchema,
242
218
  schemaOf
243
- });
219
+ };
@@ -1,5 +1,20 @@
1
1
  var __defProp = Object.defineProperty;
2
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);
3
18
  var __decorateClass = (decorators, target, key, kind) => {
4
19
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
20
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -10,19 +25,19 @@ var __decorateClass = (decorators, target, key, kind) => {
10
25
  return result;
11
26
  };
12
27
  var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
13
- import { Logger, lowerlize } from "@akanjs/common";
14
- import {
15
- getCnstMeta,
16
- getFieldMetaMap,
17
- getFieldMetas,
18
- getFilterSortMap,
19
- getFullModelRef
20
- } from "@akanjs/constant";
21
- import { getAllDatabaseModelNames } from "@akanjs/document";
22
- import { Global, Inject, Injectable, Module } from "@nestjs/common";
23
- import { InjectConnection } from "@nestjs/mongoose";
28
+ var searchDaemon_exports = {};
29
+ __export(searchDaemon_exports, {
30
+ SearchDaemonModule: () => SearchDaemonModule,
31
+ makeTextFilter: () => makeTextFilter
32
+ });
33
+ module.exports = __toCommonJS(searchDaemon_exports);
34
+ var import_common = require("@akanjs/common");
35
+ var import_constant = require("@akanjs/constant");
36
+ var import_document = require("@akanjs/document");
37
+ var import_common2 = require("@nestjs/common");
38
+ var import_mongoose = require("@nestjs/mongoose");
24
39
  const hasTextField = (modelRef) => {
25
- const fieldMetas = getFieldMetas(modelRef);
40
+ const fieldMetas = (0, import_constant.getFieldMetas)(modelRef);
26
41
  return fieldMetas.some(
27
42
  (fieldMeta) => !!fieldMeta.text || fieldMeta.isScalar && fieldMeta.isClass && fieldMeta.select && hasTextField(fieldMeta.modelRef)
28
43
  );
@@ -30,7 +45,7 @@ const hasTextField = (modelRef) => {
30
45
  const getTextFieldKeys = (modelRef) => {
31
46
  const allSearchFields = [];
32
47
  const allFilterFields = [];
33
- const fieldMetaMap = getFieldMetaMap(modelRef);
48
+ const fieldMetaMap = (0, import_constant.getFieldMetaMap)(modelRef);
34
49
  const fieldMetas = [...fieldMetaMap.values()];
35
50
  const stringTextFields = fieldMetas.filter((fieldMeta) => !!fieldMeta.text).map((fieldMeta) => {
36
51
  if (fieldMeta.text === "filter")
@@ -65,7 +80,7 @@ const getTextFieldKeys = (modelRef) => {
65
80
  };
66
81
  };
67
82
  const makeTextFilter = (modelRef) => {
68
- const fieldMetaMap = getFieldMetaMap(modelRef);
83
+ const fieldMetaMap = (0, import_constant.getFieldMetaMap)(modelRef);
69
84
  const { stringTextFields, scalarTextFields } = getTextFieldKeys(modelRef);
70
85
  const filterData = (data, assignObj = {}) => {
71
86
  if (Array.isArray(data))
@@ -87,8 +102,8 @@ const makeTextFilter = (modelRef) => {
87
102
  return filterData;
88
103
  };
89
104
  const getSortableAttributes = (refName) => {
90
- const cnst = getCnstMeta(refName);
91
- const sortMap = getFilterSortMap(cnst.Filter);
105
+ const cnst = (0, import_constant.getCnstMeta)(refName);
106
+ const sortMap = (0, import_constant.getFilterSortMap)(cnst.Filter);
92
107
  const sortFields = Object.values(sortMap).filter((val) => typeof val === "object").map((sort) => Object.keys(sort)).flat();
93
108
  return [...new Set(sortFields)];
94
109
  };
@@ -97,16 +112,16 @@ let SearchDaemon = class {
97
112
  this.connection = connection;
98
113
  this.meili = meili;
99
114
  }
100
- logger = new Logger("SearchDaemon");
115
+ logger = new import_common.Logger("SearchDaemon");
101
116
  async onModuleInit() {
102
- const databaseModelNames = getAllDatabaseModelNames();
117
+ const databaseModelNames = (0, import_document.getAllDatabaseModelNames)();
103
118
  const indexes = (await this.meili.getIndexes({ limit: 1e3 })).results;
104
119
  const indexMap = new Map(indexes.map((index) => [index.uid, index]));
105
120
  const indexCreationNames = [];
106
121
  const indexUpdateNames = [];
107
122
  for (const modelName of databaseModelNames) {
108
- const indexName = lowerlize(modelName);
109
- const modelRef = getFullModelRef(modelName);
123
+ const indexName = (0, import_common.lowerlize)(modelName);
124
+ const modelRef = (0, import_constant.getFullModelRef)(modelName);
110
125
  if (!hasTextField(modelRef))
111
126
  continue;
112
127
  const index = indexMap.get(indexName);
@@ -120,9 +135,9 @@ let SearchDaemon = class {
120
135
  for (const indexName of indexUpdateNames)
121
136
  await this.meili.updateIndex(indexName, { primaryKey: "id" });
122
137
  for (const modelName of databaseModelNames) {
123
- const indexName = lowerlize(modelName);
138
+ const indexName = (0, import_common.lowerlize)(modelName);
124
139
  const model = this.connection.models[modelName];
125
- const modelRef = getFullModelRef(modelName);
140
+ const modelRef = (0, import_constant.getFullModelRef)(modelName);
126
141
  if (!hasTextField(modelRef))
127
142
  continue;
128
143
  const searchIndex = this.meili.index(indexName);
@@ -194,19 +209,20 @@ let SearchDaemon = class {
194
209
  }
195
210
  };
196
211
  SearchDaemon = __decorateClass([
197
- Injectable(),
198
- __decorateParam(0, InjectConnection()),
199
- __decorateParam(1, Inject("MEILI_CLIENT"))
212
+ (0, import_common2.Injectable)(),
213
+ __decorateParam(0, (0, import_mongoose.InjectConnection)()),
214
+ __decorateParam(1, (0, import_common2.Inject)("MEILI_CLIENT"))
200
215
  ], SearchDaemon);
201
216
  let SearchDaemonModule = class {
202
217
  };
203
218
  SearchDaemonModule = __decorateClass([
204
- Global(),
205
- Module({
219
+ (0, import_common2.Global)(),
220
+ (0, import_common2.Module)({
206
221
  providers: [SearchDaemon]
207
222
  })
208
223
  ], SearchDaemonModule);
209
- export {
224
+ // Annotate the CommonJS export names for ESM import in node:
225
+ 0 && (module.exports = {
210
226
  SearchDaemonModule,
211
227
  makeTextFilter
212
- };
228
+ });