@akanjs/document 0.0.99 → 0.0.101

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.js CHANGED
@@ -1 +1,21 @@
1
- export * from "./src";
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 document_exports = {};
16
+ module.exports = __toCommonJS(document_exports);
17
+ __reExport(document_exports, require("./src"), module.exports);
18
+ // Annotate the CommonJS export names for ESM import in node:
19
+ 0 && (module.exports = {
20
+ ...require("./src")
21
+ });
package/index.mjs ADDED
@@ -0,0 +1 @@
1
+ export * from "./src";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@akanjs/document",
3
- "version": "0.0.99",
4
- "type": "module",
3
+ "version": "0.0.101",
4
+ "type": "commonjs",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -21,8 +21,8 @@
21
21
  },
22
22
  "exports": {
23
23
  ".": {
24
- "require": "./index.cjs",
25
- "import": "./index.js"
24
+ "require": "./index.js",
25
+ "import": "./index.mjs"
26
26
  }
27
27
  },
28
28
  "esbuild": {
package/src/dataLoader.js CHANGED
@@ -1,17 +1,58 @@
1
- import DataLoader from "dataloader";
2
- import { flatMap, get, groupBy, keyBy } from "lodash";
3
- import { Schema, Types } from "mongoose";
4
- const Id = Types.ObjectId;
5
- const ObjectId = Schema.Types.ObjectId;
6
- const Mixed = Schema.Types.Mixed;
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var dataLoader_exports = {};
29
+ __export(dataLoader_exports, {
30
+ DataLoader: () => import_dataloader.default,
31
+ Id: () => Id,
32
+ Loader: () => Loader,
33
+ Mixed: () => Mixed,
34
+ ObjectId: () => ObjectId,
35
+ createArrayElementLoader: () => createArrayElementLoader,
36
+ createArrayLoader: () => createArrayLoader,
37
+ createLoader: () => createLoader,
38
+ createQueryLoader: () => createQueryLoader,
39
+ getLoaderMetas: () => getLoaderMetas
40
+ });
41
+ module.exports = __toCommonJS(dataLoader_exports);
42
+ var import_dataloader = __toESM(require("dataloader"));
43
+ var import_lodash = require("lodash");
44
+ var import_mongoose = require("mongoose");
45
+ const Id = import_mongoose.Types.ObjectId;
46
+ const ObjectId = import_mongoose.Schema.Types.ObjectId;
47
+ const Mixed = import_mongoose.Schema.Types.Mixed;
7
48
  const createLoader = (model, fieldName = "_id", defaultQuery = {}) => {
8
- return new DataLoader(
49
+ return new import_dataloader.default(
9
50
  (fields) => {
10
51
  const query = { ...defaultQuery };
11
52
  query[fieldName] = { $in: fields };
12
53
  const data = model.find(query).then((list) => {
13
- const listByKey = keyBy(list, fieldName);
14
- return fields.map((id) => get(listByKey, id, null));
54
+ const listByKey = (0, import_lodash.keyBy)(list, fieldName);
55
+ return fields.map((id) => (0, import_lodash.get)(listByKey, id, null));
15
56
  });
16
57
  return data;
17
58
  },
@@ -19,7 +60,7 @@ const createLoader = (model, fieldName = "_id", defaultQuery = {}) => {
19
60
  );
20
61
  };
21
62
  const createArrayLoader = (model, fieldName = "_id", defaultQuery = {}) => {
22
- return new DataLoader((fields) => {
63
+ return new import_dataloader.default((fields) => {
23
64
  const query = { ...defaultQuery };
24
65
  query[fieldName] = { $in: fields };
25
66
  const data = model.find(query).then((list) => {
@@ -29,20 +70,20 @@ const createArrayLoader = (model, fieldName = "_id", defaultQuery = {}) => {
29
70
  });
30
71
  };
31
72
  const createArrayElementLoader = (model, fieldName = "_id", defaultQuery = {}) => {
32
- return new DataLoader(
73
+ return new import_dataloader.default(
33
74
  (fields) => {
34
75
  const query = { ...defaultQuery };
35
76
  query[fieldName] = { $in: fields };
36
77
  const data = model.find(query).then((list) => {
37
- const flat = flatMap(
78
+ const flat = (0, import_lodash.flatMap)(
38
79
  list,
39
80
  (dat) => dat[fieldName].map((datField) => ({
40
81
  ...dat.toObject(),
41
82
  key: datField
42
83
  }))
43
84
  );
44
- const listByKey = groupBy(flat, (dat) => dat.key);
45
- return fields.map((id) => get(listByKey, id, null));
85
+ const listByKey = (0, import_lodash.groupBy)(flat, (dat) => dat.key);
86
+ return fields.map((id) => (0, import_lodash.get)(listByKey, id, null));
46
87
  });
47
88
  return data;
48
89
  },
@@ -50,15 +91,15 @@ const createArrayElementLoader = (model, fieldName = "_id", defaultQuery = {}) =
50
91
  );
51
92
  };
52
93
  const createQueryLoader = (model, queryKeys, defaultQuery = {}) => {
53
- return new DataLoader(
94
+ return new import_dataloader.default(
54
95
  (queries) => {
55
96
  const query = {
56
97
  $and: [{ $or: queries }, defaultQuery]
57
98
  };
58
99
  const getQueryKey = (query2) => queryKeys.map((key) => query2[key].toString()).join("");
59
100
  const data = model.find(query).then((list) => {
60
- const listByKey = keyBy(list, getQueryKey);
61
- return queries.map((query2) => get(listByKey, getQueryKey(query2), null));
101
+ const listByKey = (0, import_lodash.keyBy)(list, getQueryKey);
102
+ return queries.map((query2) => (0, import_lodash.get)(listByKey, getQueryKey(query2), null));
62
103
  });
63
104
  return data;
64
105
  },
@@ -96,7 +137,8 @@ const Loader = {
96
137
  };
97
138
  }
98
139
  };
99
- export {
140
+ // Annotate the CommonJS export names for ESM import in node:
141
+ 0 && (module.exports = {
100
142
  DataLoader,
101
143
  Id,
102
144
  Loader,
@@ -107,4 +149,4 @@ export {
107
149
  createLoader,
108
150
  createQueryLoader,
109
151
  getLoaderMetas
110
- };
152
+ });
@@ -0,0 +1,110 @@
1
+ import DataLoader from "dataloader";
2
+ import { flatMap, get, groupBy, keyBy } from "lodash";
3
+ import { Schema, Types } from "mongoose";
4
+ const Id = Types.ObjectId;
5
+ const ObjectId = Schema.Types.ObjectId;
6
+ const Mixed = Schema.Types.Mixed;
7
+ const createLoader = (model, fieldName = "_id", defaultQuery = {}) => {
8
+ return new DataLoader(
9
+ (fields) => {
10
+ const query = { ...defaultQuery };
11
+ query[fieldName] = { $in: fields };
12
+ const data = model.find(query).then((list) => {
13
+ const listByKey = keyBy(list, fieldName);
14
+ return fields.map((id) => get(listByKey, id, null));
15
+ });
16
+ return data;
17
+ },
18
+ { name: "dataloader", cache: false }
19
+ );
20
+ };
21
+ const createArrayLoader = (model, fieldName = "_id", defaultQuery = {}) => {
22
+ return new DataLoader((fields) => {
23
+ const query = { ...defaultQuery };
24
+ query[fieldName] = { $in: fields };
25
+ const data = model.find(query).then((list) => {
26
+ return fields.map((field) => list.filter((item) => field === item[fieldName]));
27
+ });
28
+ return data;
29
+ });
30
+ };
31
+ const createArrayElementLoader = (model, fieldName = "_id", defaultQuery = {}) => {
32
+ return new DataLoader(
33
+ (fields) => {
34
+ const query = { ...defaultQuery };
35
+ query[fieldName] = { $in: fields };
36
+ const data = model.find(query).then((list) => {
37
+ const flat = flatMap(
38
+ list,
39
+ (dat) => dat[fieldName].map((datField) => ({
40
+ ...dat.toObject(),
41
+ key: datField
42
+ }))
43
+ );
44
+ const listByKey = groupBy(flat, (dat) => dat.key);
45
+ return fields.map((id) => get(listByKey, id, null));
46
+ });
47
+ return data;
48
+ },
49
+ { name: "dataloader", cache: false }
50
+ );
51
+ };
52
+ const createQueryLoader = (model, queryKeys, defaultQuery = {}) => {
53
+ return new DataLoader(
54
+ (queries) => {
55
+ const query = {
56
+ $and: [{ $or: queries }, defaultQuery]
57
+ };
58
+ const getQueryKey = (query2) => queryKeys.map((key) => query2[key].toString()).join("");
59
+ const data = model.find(query).then((list) => {
60
+ const listByKey = keyBy(list, getQueryKey);
61
+ return queries.map((query2) => get(listByKey, getQueryKey(query2), null));
62
+ });
63
+ return data;
64
+ },
65
+ { name: "dataloader", cache: false }
66
+ );
67
+ };
68
+ const getLoaderMetaMapByPrototype = (prototype) => {
69
+ const loaderMetaMap = Reflect.getOwnMetadata("loaders", prototype) ?? /* @__PURE__ */ new Map();
70
+ return loaderMetaMap;
71
+ };
72
+ const getLoaderMetas = (target) => {
73
+ const metas = [...getLoaderMetaMapByPrototype(target.prototype).values()];
74
+ return metas;
75
+ };
76
+ const Loader = {
77
+ ByField: (fieldName, defaultQuery = {}) => {
78
+ return function(target, key) {
79
+ const loaderMetaMap = getLoaderMetaMapByPrototype(target);
80
+ loaderMetaMap.set(key, { key, type: "Field", fieldName, defaultQuery });
81
+ Reflect.defineMetadata("loaders", loaderMetaMap, target);
82
+ };
83
+ },
84
+ ByArrayField: (fieldName, defaultQuery = {}) => {
85
+ return function(target, key) {
86
+ const loaderMetaMap = getLoaderMetaMapByPrototype(target);
87
+ loaderMetaMap.set(key, { key, type: "ArrayField", fieldName, defaultQuery });
88
+ Reflect.defineMetadata("loaders", loaderMetaMap, target);
89
+ };
90
+ },
91
+ ByQuery: (queryKeys, defaultQuery = {}) => {
92
+ return function(target, key) {
93
+ const loaderMetaMap = getLoaderMetaMapByPrototype(target);
94
+ loaderMetaMap.set(key, { key, type: "Query", queryKeys, defaultQuery });
95
+ Reflect.defineMetadata("loaders", loaderMetaMap, target);
96
+ };
97
+ }
98
+ };
99
+ export {
100
+ DataLoader,
101
+ Id,
102
+ Loader,
103
+ Mixed,
104
+ ObjectId,
105
+ createArrayElementLoader,
106
+ createArrayLoader,
107
+ createLoader,
108
+ createQueryLoader,
109
+ getLoaderMetas
110
+ };
package/src/database.js CHANGED
@@ -1,20 +1,36 @@
1
- import { dayjs } from "@akanjs/base";
2
- import { capitalize, Logger, lowerlize } from "@akanjs/common";
3
- import {
4
- DEFAULT_PAGE_SIZE,
5
- getFieldMetas,
6
- getFilterKeyMetaMapOnPrototype,
7
- getFilterQuery,
8
- getFilterSort
9
- } from "@akanjs/constant";
10
- import { Transaction } from "@akanjs/nest";
11
- import { createArrayLoader, createLoader, createQueryLoader, getLoaderMetas } from "./dataLoader";
12
- import { convertAggregateMatch } from "./schema";
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 database_exports = {};
19
+ __export(database_exports, {
20
+ databaseModelOf: () => databaseModelOf
21
+ });
22
+ module.exports = __toCommonJS(database_exports);
23
+ var import_base = require("@akanjs/base");
24
+ var import_common = require("@akanjs/common");
25
+ var import_constant = require("@akanjs/constant");
26
+ var import_nest = require("@akanjs/nest");
27
+ var import_dataLoader = require("./dataLoader");
28
+ var import_schema = require("./schema");
13
29
  class CacheDatabase {
14
30
  constructor(refName, redis) {
15
31
  this.refName = refName;
16
32
  this.redis = redis;
17
- this.logger = new Logger(`${refName}Cache`);
33
+ this.logger = new import_common.Logger(`${refName}Cache`);
18
34
  }
19
35
  logger;
20
36
  async set(topic, key, value, option = {}) {
@@ -33,13 +49,13 @@ class SearchDatabase {
33
49
  constructor(refName, meili) {
34
50
  this.refName = refName;
35
51
  this.meili = meili;
36
- this.logger = new Logger(`${refName}Search`);
37
- this.index = meili.index(lowerlize(refName));
52
+ this.logger = new import_common.Logger(`${refName}Search`);
53
+ this.index = meili.index((0, import_common.lowerlize)(refName));
38
54
  }
39
55
  logger;
40
56
  index;
41
57
  async searchIds(searchText, option = {}) {
42
- const { skip = 0, limit = DEFAULT_PAGE_SIZE, sort } = option;
58
+ const { skip = 0, limit = import_constant.DEFAULT_PAGE_SIZE, sort } = option;
43
59
  if (!searchText) {
44
60
  const { results, total } = await this.index.getDocuments({ offset: skip ?? 0, limit: limit ?? 0 });
45
61
  return { ids: results.map((result) => result.id), total };
@@ -54,7 +70,7 @@ class SearchDatabase {
54
70
  return { ids: hits.map((hit) => hit.id), total: estimatedTotalHits };
55
71
  }
56
72
  async count(searchText, option = {}) {
57
- const { skip = 0, limit = DEFAULT_PAGE_SIZE, sort = "" } = option;
73
+ const { skip = 0, limit = import_constant.DEFAULT_PAGE_SIZE, sort = "" } = option;
58
74
  if (!searchText) {
59
75
  const { results, total } = await this.index.getDocuments({ offset: skip ?? 0, limit: limit ?? 0 });
60
76
  return total;
@@ -73,40 +89,40 @@ class DatabaseModelStorage {
73
89
  }
74
90
  const databaseModelOf = (database, model, redis, meili) => {
75
91
  //! 잘되는지 확인 필요
76
- const [modelName, className] = [database.refName, capitalize(database.refName)];
77
- const insightFieldMetas = getFieldMetas(database.Insight);
92
+ const [modelName, className] = [database.refName, (0, import_common.capitalize)(database.refName)];
93
+ const insightFieldMetas = (0, import_constant.getFieldMetas)(database.Insight);
78
94
  const accumulator = Object.fromEntries(insightFieldMetas.map((fieldMeta) => [fieldMeta.key, fieldMeta.accumulate]));
79
95
  const defaultInsight = Object.fromEntries(insightFieldMetas.map((fieldMeta) => [fieldMeta.key, fieldMeta.default]));
80
96
  const makeSafeQuery = (query) => ({ removedAt: { $exists: false }, ...query ?? {} });
81
97
  const makeSafeMatchStage = (query) => ({
82
- $match: { removedAt: { $exists: false }, ...convertAggregateMatch(query) }
98
+ $match: { removedAt: { $exists: false }, ...(0, import_schema.convertAggregateMatch)(query) }
83
99
  });
84
100
  const getListQuery = (query, queryOption) => {
85
101
  const find = makeSafeQuery(query);
86
- const sort = getFilterSort(database.Filter, queryOption?.sort ?? "latest");
102
+ const sort = (0, import_constant.getFilterSort)(database.Filter, queryOption?.sort ?? "latest");
87
103
  const skip = queryOption?.skip ?? 0;
88
- const limit = queryOption?.limit === null ? DEFAULT_PAGE_SIZE : queryOption?.limit ?? 0;
104
+ const limit = queryOption?.limit === null ? import_constant.DEFAULT_PAGE_SIZE : queryOption?.limit ?? 0;
89
105
  const select = queryOption?.select;
90
106
  const sample = queryOption?.sample;
91
107
  return { find, sort, skip, limit, select, sample };
92
108
  };
93
109
  const getFindQuery = (query, queryOption) => {
94
110
  const find = makeSafeQuery(query);
95
- const sort = getFilterSort(database.Filter, queryOption?.sort ?? "latest");
111
+ const sort = (0, import_constant.getFilterSort)(database.Filter, queryOption?.sort ?? "latest");
96
112
  const skip = queryOption?.skip ?? 0;
97
113
  const select = queryOption?.select;
98
114
  const sample = queryOption?.sample ?? false;
99
115
  return { find, sort, skip, select, sample };
100
116
  };
101
117
  const getSearchSort = (sortKey) => {
102
- const sort = getFilterSort(database.Filter, sortKey ?? "latest");
118
+ const sort = (0, import_constant.getFilterSort)(database.Filter, sortKey ?? "latest");
103
119
  return Object.entries(sort).map(([key, value]) => `${key}:${value === 1 ? "asc" : "desc"}`);
104
120
  };
105
- const loader = createLoader(model);
121
+ const loader = (0, import_dataLoader.createLoader)(model);
106
122
  const cacheDatabase = new CacheDatabase(database.refName, redis);
107
123
  const searchDatabase = new SearchDatabase(database.refName, meili);
108
124
  const DatabaseModel = Reflect.getMetadata(database.refName, DatabaseModelStorage.prototype) ?? class DatabaseModel {
109
- logger = new Logger(`${modelName}Model`);
125
+ logger = new import_common.Logger(`${modelName}Model`);
110
126
  __model = model;
111
127
  __cache = cacheDatabase;
112
128
  __search = searchDatabase;
@@ -169,7 +185,7 @@ const databaseModelOf = (database, model, redis, meili) => {
169
185
  async getDefaultSummary(addQuery = {}) {
170
186
  if (!database.Summary)
171
187
  return {};
172
- const fieldMetas = getFieldMetas(database.Summary);
188
+ const fieldMetas = (0, import_constant.getFieldMetas)(database.Summary);
173
189
  const summary = {};
174
190
  await Promise.all(
175
191
  fieldMetas.filter((fieldMeta) => !!fieldMeta.query).map(async (fieldMeta) => {
@@ -200,7 +216,7 @@ const databaseModelOf = (database, model, redis, meili) => {
200
216
  }
201
217
  async [`remove${className}`](id) {
202
218
  const doc = await this.__model.pickById(id);
203
- return await doc.set({ removedAt: dayjs() }).save();
219
+ return await doc.set({ removedAt: (0, import_base.dayjs)() }).save();
204
220
  }
205
221
  async [`search${className}`](searchText, queryOption = {}) {
206
222
  const { skip, limit, sort } = queryOption;
@@ -224,55 +240,55 @@ const databaseModelOf = (database, model, redis, meili) => {
224
240
  const getQueryDataFromKey = (queryKey, args) => {
225
241
  const lastArg = args.at(-1);
226
242
  const hasQueryOption = lastArg && typeof lastArg === "object" && (typeof lastArg.select === "object" || typeof lastArg.skip === "number" || typeof lastArg.limit === "number" || typeof lastArg.sort === "string");
227
- const queryFn = getFilterQuery(database.Filter, queryKey);
243
+ const queryFn = (0, import_constant.getFilterQuery)(database.Filter, queryKey);
228
244
  const query = queryFn(...hasQueryOption ? args.slice(0, -1) : args);
229
245
  const queryOption = hasQueryOption ? lastArg : {};
230
246
  return { query, queryOption };
231
247
  };
232
- const filterKeyMetaMap = getFilterKeyMetaMapOnPrototype(database.Filter.prototype);
248
+ const filterKeyMetaMap = (0, import_constant.getFilterKeyMetaMapOnPrototype)(database.Filter.prototype);
233
249
  const queryKeys = [...filterKeyMetaMap.keys()];
234
250
  queryKeys.forEach((queryKey) => {
235
- const queryFn = getFilterQuery(database.Filter, queryKey);
236
- DatabaseModel.prototype[`list${capitalize(queryKey)}`] = async function(...args) {
251
+ const queryFn = (0, import_constant.getFilterQuery)(database.Filter, queryKey);
252
+ DatabaseModel.prototype[`list${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
237
253
  const { query, queryOption } = getQueryDataFromKey(queryKey, args);
238
254
  return this.__list(query, queryOption);
239
255
  };
240
- DatabaseModel.prototype[`listIds${capitalize(queryKey)}`] = async function(...args) {
256
+ DatabaseModel.prototype[`listIds${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
241
257
  const { query, queryOption } = getQueryDataFromKey(queryKey, args);
242
258
  return this.__listIds(query, queryOption);
243
259
  };
244
- DatabaseModel.prototype[`find${capitalize(queryKey)}`] = async function(...args) {
260
+ DatabaseModel.prototype[`find${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
245
261
  const { query, queryOption } = getQueryDataFromKey(queryKey, args);
246
262
  return this.__find(query, queryOption);
247
263
  };
248
- DatabaseModel.prototype[`findId${capitalize(queryKey)}`] = async function(...args) {
264
+ DatabaseModel.prototype[`findId${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
249
265
  const { query, queryOption } = getQueryDataFromKey(queryKey, args);
250
266
  return this.__findId(query, queryOption);
251
267
  };
252
- DatabaseModel.prototype[`pick${capitalize(queryKey)}`] = async function(...args) {
268
+ DatabaseModel.prototype[`pick${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
253
269
  const { query, queryOption } = getQueryDataFromKey(queryKey, args);
254
270
  return this.__pick(query, queryOption);
255
271
  };
256
- DatabaseModel.prototype[`pickId${capitalize(queryKey)}`] = async function(...args) {
272
+ DatabaseModel.prototype[`pickId${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
257
273
  const { query, queryOption } = getQueryDataFromKey(queryKey, args);
258
274
  return this.__pickId(query, queryOption);
259
275
  };
260
- DatabaseModel.prototype[`exists${capitalize(queryKey)}`] = async function(...args) {
276
+ DatabaseModel.prototype[`exists${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
261
277
  const query = queryFn(...args);
262
278
  return this.__exists(query);
263
279
  };
264
- DatabaseModel.prototype[`count${capitalize(queryKey)}`] = async function(...args) {
280
+ DatabaseModel.prototype[`count${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
265
281
  const query = queryFn(...args);
266
282
  return this.__count(query);
267
283
  };
268
- DatabaseModel.prototype[`insight${capitalize(queryKey)}`] = async function(...args) {
284
+ DatabaseModel.prototype[`insight${(0, import_common.capitalize)(queryKey)}`] = async function(...args) {
269
285
  const query = queryFn(...args);
270
286
  return this.__insight(query);
271
287
  };
272
288
  });
273
- const loaderMetas = getLoaderMetas(database.Model);
289
+ const loaderMetas = (0, import_dataLoader.getLoaderMetas)(database.Model);
274
290
  loaderMetas.forEach((loaderMeta) => {
275
- const loader2 = loaderMeta.type === "Field" ? createLoader(model, loaderMeta.fieldName) : loaderMeta.type === "ArrayField" ? createArrayLoader(model, loaderMeta.fieldName) : loaderMeta.type === "Query" ? createQueryLoader(model, loaderMeta.queryKeys ?? []) : null;
291
+ const loader2 = loaderMeta.type === "Field" ? (0, import_dataLoader.createLoader)(model, loaderMeta.fieldName) : loaderMeta.type === "ArrayField" ? (0, import_dataLoader.createArrayLoader)(model, loaderMeta.fieldName) : loaderMeta.type === "Query" ? (0, import_dataLoader.createQueryLoader)(model, loaderMeta.queryKeys ?? []) : null;
276
292
  DatabaseModel.prototype[loaderMeta.key] = loader2;
277
293
  });
278
294
  Object.getOwnPropertyNames(database.Model.prototype).forEach((key) => {
@@ -280,16 +296,17 @@ const databaseModelOf = (database, model, redis, meili) => {
280
296
  });
281
297
  const createDescriptor = Object.getOwnPropertyDescriptor(DatabaseModel.prototype, `create${className}`);
282
298
  if (createDescriptor)
283
- Transaction()(DatabaseModel.prototype, `create${className}`, createDescriptor);
299
+ (0, import_nest.Transaction)()(DatabaseModel.prototype, `create${className}`, createDescriptor);
284
300
  const updateDescriptor = Object.getOwnPropertyDescriptor(DatabaseModel.prototype, `update${className}`);
285
301
  if (updateDescriptor)
286
- Transaction()(DatabaseModel.prototype, `update${className}`, updateDescriptor);
302
+ (0, import_nest.Transaction)()(DatabaseModel.prototype, `update${className}`, updateDescriptor);
287
303
  const removeDescriptor = Object.getOwnPropertyDescriptor(DatabaseModel.prototype, `remove${className}`);
288
304
  if (removeDescriptor)
289
- Transaction()(DatabaseModel.prototype, `remove${className}`, removeDescriptor);
305
+ (0, import_nest.Transaction)()(DatabaseModel.prototype, `remove${className}`, removeDescriptor);
290
306
  Reflect.defineMetadata(database.refName, DatabaseModel, DatabaseModelStorage.prototype);
291
307
  return new DatabaseModel();
292
308
  };
293
- export {
309
+ // Annotate the CommonJS export names for ESM import in node:
310
+ 0 && (module.exports = {
294
311
  databaseModelOf
295
- };
312
+ });