@akanjs/server 0.0.99 → 0.0.100

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/module.js CHANGED
@@ -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--)
@@ -9,21 +24,31 @@ var __decorateClass = (decorators, target, key, kind) => {
9
24
  __defProp(target, key, result);
10
25
  return result;
11
26
  };
12
- import { capitalize, lowerlize } from "@akanjs/common";
13
- import { getChildClassRefs, getClassMeta } from "@akanjs/constant";
14
- import { databaseModelOf } from "@akanjs/document";
15
- import { isServiceEnabled, serviceOf } from "@akanjs/service";
16
- import { getGqlMetas, getSigMeta, LogSignal, Signal } from "@akanjs/signal";
17
- import { BullModule, getQueueToken } from "@nestjs/bull";
18
- import { Global, Module } from "@nestjs/common";
19
- import { getModelToken, MongooseModule } from "@nestjs/mongoose";
20
- import { controllerOf } from "./controller";
21
- import { processorOf } from "./processor";
22
- import { resolverOf } from "./resolver";
23
- import { addSchema, schemaOf } from "./schema";
24
- import { websocketOf, websocketServerOf } from "./websocket";
25
- const hasWebsocket = (signal) => getGqlMetas(signal).some((gqlMeta) => ["Message", "Pubsub"].includes(gqlMeta.type));
26
- const hasProcessor = (signal) => getGqlMetas(signal).some((gqlMeta) => gqlMeta.type === "Process");
27
+ var module_exports = {};
28
+ __export(module_exports, {
29
+ batchModuleOf: () => batchModuleOf,
30
+ databaseModuleOf: () => databaseModuleOf,
31
+ scalarModuleOf: () => scalarModuleOf,
32
+ scalarModulesOf: () => scalarModulesOf,
33
+ serviceModuleOf: () => serviceModuleOf,
34
+ useGlobals: () => useGlobals
35
+ });
36
+ module.exports = __toCommonJS(module_exports);
37
+ var import_common = require("@akanjs/common");
38
+ var import_constant = require("@akanjs/constant");
39
+ var import_document = require("@akanjs/document");
40
+ var import_service = require("@akanjs/service");
41
+ var import_signal = require("@akanjs/signal");
42
+ var import_bull = require("@nestjs/bull");
43
+ var import_common2 = require("@nestjs/common");
44
+ var import_mongoose = require("@nestjs/mongoose");
45
+ var import_controller = require("./controller");
46
+ var import_processor = require("./processor");
47
+ var import_resolver = require("./resolver");
48
+ var import_schema = require("./schema");
49
+ var import_websocket = require("./websocket");
50
+ const hasWebsocket = (signal) => (0, import_signal.getGqlMetas)(signal).some((gqlMeta) => ["Message", "Pubsub"].includes(gqlMeta.type));
51
+ const hasProcessor = (signal) => (0, import_signal.getGqlMetas)(signal).some((gqlMeta) => gqlMeta.type === "Process");
27
52
  const filterSrvs = (srvs) => Object.fromEntries(Object.entries(srvs).filter(([_, srv]) => !!srv));
28
53
  const databaseModuleOf = ({
29
54
  constant,
@@ -35,85 +60,85 @@ const databaseModuleOf = ({
35
60
  providers = [],
36
61
  extended
37
62
  }, allSrvs) => {
38
- if (!isServiceEnabled(service))
63
+ if (!(0, import_service.isServiceEnabled)(service))
39
64
  return null;
40
- const [modelName, className] = [lowerlize(constant.refName), capitalize(constant.refName)];
41
- const mongoToken = getModelToken(className);
65
+ const [modelName, className] = [(0, import_common.lowerlize)(constant.refName), (0, import_common.capitalize)(constant.refName)];
66
+ const mongoToken = (0, import_mongoose.getModelToken)(className);
42
67
  let DatabaseModule = class {
43
68
  };
44
69
  DatabaseModule = __decorateClass([
45
- Global(),
46
- Module({
70
+ (0, import_common2.Global)(),
71
+ (0, import_common2.Module)({
47
72
  imports: [
48
- MongooseModule.forFeature([
73
+ import_mongoose.MongooseModule.forFeature([
49
74
  {
50
75
  name: className,
51
- schema: extended ? addSchema(database.Model, database.Doc, database.Input, database.Middleware) : schemaOf(database.Model, database.Doc, database.Middleware)
76
+ schema: extended ? (0, import_schema.addSchema)(database.Model, database.Doc, database.Input, database.Middleware) : (0, import_schema.schemaOf)(database.Model, database.Doc, database.Middleware)
52
77
  }
53
78
  ]),
54
79
  ...hasProcessor(signal) ? [
55
- BullModule.registerQueue({
80
+ import_bull.BullModule.registerQueue({
56
81
  name: modelName,
57
82
  defaultJobOptions: { removeOnComplete: true, removeOnFail: true }
58
83
  })
59
84
  ] : []
60
85
  ],
61
86
  providers: [
62
- serviceOf(service),
63
- resolverOf(signal, filterSrvs(allSrvs)),
87
+ (0, import_service.serviceOf)(service),
88
+ (0, import_resolver.resolverOf)(signal, filterSrvs(allSrvs)),
64
89
  ...hasProcessor(signal) ? [
65
- processorOf(signal, filterSrvs(allSrvs)),
66
- { provide: `${className}Queue`, useFactory: (queue) => queue, inject: [getQueueToken(modelName)] }
90
+ (0, import_processor.processorOf)(signal, filterSrvs(allSrvs)),
91
+ { provide: `${className}Queue`, useFactory: (queue) => queue, inject: [(0, import_bull.getQueueToken)(modelName)] }
67
92
  ] : [],
68
- ...hasWebsocket(signal) ? [websocketOf(signal, filterSrvs(allSrvs)), { provide: "Websocket", useClass: websocketServerOf(signal) }] : [],
69
- ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
70
- ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
93
+ ...hasWebsocket(signal) ? [(0, import_websocket.websocketOf)(signal, filterSrvs(allSrvs)), { provide: "Websocket", useClass: (0, import_websocket.websocketServerOf)(signal) }] : [],
94
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: (0, import_common.capitalize)(key), useValue })),
95
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: (0, import_common.capitalize)(key), useFactory })),
71
96
  {
72
97
  provide: `${modelName}Model`,
73
98
  useFactory: (model, redis, meili) => {
74
- return databaseModelOf(database, model, redis, meili);
99
+ return (0, import_document.databaseModelOf)(database, model, redis, meili);
75
100
  },
76
101
  inject: [mongoToken, "REDIS_CLIENT", "MEILI_CLIENT"]
77
102
  },
78
103
  ...providers
79
104
  ],
80
- controllers: [controllerOf(signal, filterSrvs(allSrvs))],
105
+ controllers: [(0, import_controller.controllerOf)(signal, filterSrvs(allSrvs))],
81
106
  exports: [service]
82
107
  })
83
108
  ], DatabaseModule);
84
109
  return DatabaseModule;
85
110
  };
86
111
  const serviceModuleOf = ({ signal, service, uses = {}, useAsyncs = {}, providers = [] }, allSrvs) => {
87
- if (!isServiceEnabled(service))
112
+ if (!(0, import_service.isServiceEnabled)(service))
88
113
  return null;
89
- const sigMeta = getSigMeta(signal);
90
- const [modelName, className] = [lowerlize(sigMeta.refName), capitalize(sigMeta.refName)];
114
+ const sigMeta = (0, import_signal.getSigMeta)(signal);
115
+ const [modelName, className] = [(0, import_common.lowerlize)(sigMeta.refName), (0, import_common.capitalize)(sigMeta.refName)];
91
116
  let ServiceModule = class {
92
117
  };
93
118
  ServiceModule = __decorateClass([
94
- Global(),
95
- Module({
119
+ (0, import_common2.Global)(),
120
+ (0, import_common2.Module)({
96
121
  imports: [
97
122
  ...hasProcessor(signal) ? [
98
- BullModule.registerQueue({
123
+ import_bull.BullModule.registerQueue({
99
124
  name: modelName,
100
125
  defaultJobOptions: { removeOnComplete: true, removeOnFail: true }
101
126
  })
102
127
  ] : []
103
128
  ],
104
129
  providers: [
105
- serviceOf(service),
106
- resolverOf(signal, filterSrvs(allSrvs)),
107
- ...hasWebsocket(signal) ? [websocketOf(signal, filterSrvs(allSrvs)), { provide: "Websocket", useClass: websocketServerOf(signal) }] : [],
130
+ (0, import_service.serviceOf)(service),
131
+ (0, import_resolver.resolverOf)(signal, filterSrvs(allSrvs)),
132
+ ...hasWebsocket(signal) ? [(0, import_websocket.websocketOf)(signal, filterSrvs(allSrvs)), { provide: "Websocket", useClass: (0, import_websocket.websocketServerOf)(signal) }] : [],
108
133
  ...hasProcessor(signal) ? [
109
- processorOf(signal, filterSrvs(allSrvs)),
110
- { provide: `${className}Queue`, useFactory: (queue) => queue, inject: [getQueueToken(modelName)] }
134
+ (0, import_processor.processorOf)(signal, filterSrvs(allSrvs)),
135
+ { provide: `${className}Queue`, useFactory: (queue) => queue, inject: [(0, import_bull.getQueueToken)(modelName)] }
111
136
  ] : [],
112
- ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
113
- ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
137
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: (0, import_common.capitalize)(key), useValue })),
138
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: (0, import_common.capitalize)(key), useFactory })),
114
139
  ...providers
115
140
  ],
116
- controllers: [controllerOf(signal, filterSrvs(allSrvs))],
141
+ controllers: [(0, import_controller.controllerOf)(signal, filterSrvs(allSrvs))],
117
142
  exports: [service]
118
143
  })
119
144
  ], ServiceModule);
@@ -125,46 +150,46 @@ const scalarModuleOf = ({ signals, uses = {}, useAsyncs = {}, providers = [], en
125
150
  let ScalarModule = class {
126
151
  };
127
152
  ScalarModule = __decorateClass([
128
- Global(),
129
- Module({
153
+ (0, import_common2.Global)(),
154
+ (0, import_common2.Module)({
130
155
  imports: [],
131
156
  providers: [
132
- ...signals.map((signal) => resolverOf(signal, filterSrvs(allSrvs))),
157
+ ...signals.map((signal) => (0, import_resolver.resolverOf)(signal, filterSrvs(allSrvs))),
133
158
  ...signals.filter(hasWebsocket).map((signal) => [
134
- websocketOf(signal, filterSrvs(allSrvs)),
135
- { provide: "Websocket", useClass: websocketServerOf(signal) }
159
+ (0, import_websocket.websocketOf)(signal, filterSrvs(allSrvs)),
160
+ { provide: "Websocket", useClass: (0, import_websocket.websocketServerOf)(signal) }
136
161
  ]).flat(),
137
- ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
138
- ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
162
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: (0, import_common.capitalize)(key), useValue })),
163
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: (0, import_common.capitalize)(key), useFactory })),
139
164
  ...providers
140
165
  ],
141
- controllers: signals.map((signal) => controllerOf(signal, filterSrvs(allSrvs)))
166
+ controllers: signals.map((signal) => (0, import_controller.controllerOf)(signal, filterSrvs(allSrvs)))
142
167
  })
143
168
  ], ScalarModule);
144
169
  return ScalarModule;
145
170
  };
146
171
  const scalarModulesOf = ({ constants }, allSrvs) => {
147
172
  const signals = constants.filter((modelRef) => {
148
- const childRefs = getChildClassRefs(modelRef);
173
+ const childRefs = (0, import_constant.getChildClassRefs)(modelRef);
149
174
  return childRefs.some((childRef) => {
150
- const classMeta = getClassMeta(childRef);
175
+ const classMeta = (0, import_constant.getClassMeta)(childRef);
151
176
  return ["full", "light"].includes(classMeta.type);
152
177
  });
153
178
  }).map((modelRef) => {
154
- let ScalarSignal = class extends LogSignal({}) {
179
+ let ScalarSignal = class extends (0, import_signal.LogSignal)({}) {
155
180
  };
156
181
  ScalarSignal = __decorateClass([
157
- Signal(() => modelRef)
182
+ (0, import_signal.Signal)(() => modelRef)
158
183
  ], ScalarSignal);
159
184
  return ScalarSignal;
160
185
  });
161
186
  let ScalarModule = class {
162
187
  };
163
188
  ScalarModule = __decorateClass([
164
- Global(),
165
- Module({
189
+ (0, import_common2.Global)(),
190
+ (0, import_common2.Module)({
166
191
  imports: [],
167
- providers: [...signals.map((signal) => resolverOf(signal, filterSrvs(allSrvs)))]
192
+ providers: [...signals.map((signal) => (0, import_resolver.resolverOf)(signal, filterSrvs(allSrvs)))]
168
193
  // controllers: signals.map((signal) => controllerOf(signal, filterSrvs(allSrvs))),
169
194
  })
170
195
  ], ScalarModule);
@@ -176,18 +201,18 @@ const batchModuleOf = ({
176
201
  useAsyncs = {},
177
202
  providers = []
178
203
  }) => {
179
- if (!isServiceEnabled(service))
204
+ if (!(0, import_service.isServiceEnabled)(service))
180
205
  return null;
181
206
  let BatchModule = class {
182
207
  };
183
208
  BatchModule = __decorateClass([
184
- Global(),
185
- Module({
209
+ (0, import_common2.Global)(),
210
+ (0, import_common2.Module)({
186
211
  imports: [],
187
212
  providers: [
188
- serviceOf(service),
189
- ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
190
- ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
213
+ (0, import_service.serviceOf)(service),
214
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: (0, import_common.capitalize)(key), useValue })),
215
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: (0, import_common.capitalize)(key), useFactory })),
191
216
  ...providers
192
217
  ],
193
218
  exports: [service]
@@ -199,31 +224,32 @@ const useGlobals = ({ uses, useAsyncs, injects }) => {
199
224
  let GlobalsModule = class {
200
225
  };
201
226
  GlobalsModule = __decorateClass([
202
- Global(),
203
- Module({
227
+ (0, import_common2.Global)(),
228
+ (0, import_common2.Module)({
204
229
  imports: [],
205
230
  providers: [
206
231
  ...Object.entries(uses ?? {}).map(([key, useValue]) => ({
207
- provide: capitalize(key),
232
+ provide: (0, import_common.capitalize)(key),
208
233
  useValue
209
234
  })),
210
- ...Object.entries(useAsyncs ?? {}).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
211
- ...Object.entries(injects ?? {}).map(([key, inject]) => ({ provide: capitalize(key), useClass: inject }))
235
+ ...Object.entries(useAsyncs ?? {}).map(([key, useFactory]) => ({ provide: (0, import_common.capitalize)(key), useFactory })),
236
+ ...Object.entries(injects ?? {}).map(([key, inject]) => ({ provide: (0, import_common.capitalize)(key), useClass: inject }))
212
237
  ],
213
238
  exports: [
214
- ...Object.keys(uses ?? {}).map((key) => capitalize(key)),
215
- ...Object.keys(useAsyncs ?? {}).map((key) => capitalize(key)),
216
- ...Object.keys(injects ?? {}).map((key) => capitalize(key))
239
+ ...Object.keys(uses ?? {}).map((key) => (0, import_common.capitalize)(key)),
240
+ ...Object.keys(useAsyncs ?? {}).map((key) => (0, import_common.capitalize)(key)),
241
+ ...Object.keys(injects ?? {}).map((key) => (0, import_common.capitalize)(key))
217
242
  ]
218
243
  })
219
244
  ], GlobalsModule);
220
245
  return GlobalsModule;
221
246
  };
222
- export {
247
+ // Annotate the CommonJS export names for ESM import in node:
248
+ 0 && (module.exports = {
223
249
  batchModuleOf,
224
250
  databaseModuleOf,
225
251
  scalarModuleOf,
226
252
  scalarModulesOf,
227
253
  serviceModuleOf,
228
254
  useGlobals
229
- };
255
+ });
package/src/module.mjs ADDED
@@ -0,0 +1,229 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __decorateClass = (decorators, target, key, kind) => {
4
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
5
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
6
+ if (decorator = decorators[i])
7
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
8
+ if (kind && result)
9
+ __defProp(target, key, result);
10
+ return result;
11
+ };
12
+ import { capitalize, lowerlize } from "@akanjs/common";
13
+ import { getChildClassRefs, getClassMeta } from "@akanjs/constant";
14
+ import { databaseModelOf } from "@akanjs/document";
15
+ import { isServiceEnabled, serviceOf } from "@akanjs/service";
16
+ import { getGqlMetas, getSigMeta, LogSignal, Signal } from "@akanjs/signal";
17
+ import { BullModule, getQueueToken } from "@nestjs/bull";
18
+ import { Global, Module } from "@nestjs/common";
19
+ import { getModelToken, MongooseModule } from "@nestjs/mongoose";
20
+ import { controllerOf } from "./controller";
21
+ import { processorOf } from "./processor";
22
+ import { resolverOf } from "./resolver";
23
+ import { addSchema, schemaOf } from "./schema";
24
+ import { websocketOf, websocketServerOf } from "./websocket";
25
+ const hasWebsocket = (signal) => getGqlMetas(signal).some((gqlMeta) => ["Message", "Pubsub"].includes(gqlMeta.type));
26
+ const hasProcessor = (signal) => getGqlMetas(signal).some((gqlMeta) => gqlMeta.type === "Process");
27
+ const filterSrvs = (srvs) => Object.fromEntries(Object.entries(srvs).filter(([_, srv]) => !!srv));
28
+ const databaseModuleOf = ({
29
+ constant,
30
+ database,
31
+ signal,
32
+ service,
33
+ uses = {},
34
+ useAsyncs = {},
35
+ providers = [],
36
+ extended
37
+ }, allSrvs) => {
38
+ if (!isServiceEnabled(service))
39
+ return null;
40
+ const [modelName, className] = [lowerlize(constant.refName), capitalize(constant.refName)];
41
+ const mongoToken = getModelToken(className);
42
+ let DatabaseModule = class {
43
+ };
44
+ DatabaseModule = __decorateClass([
45
+ Global(),
46
+ Module({
47
+ imports: [
48
+ MongooseModule.forFeature([
49
+ {
50
+ name: className,
51
+ schema: extended ? addSchema(database.Model, database.Doc, database.Input, database.Middleware) : schemaOf(database.Model, database.Doc, database.Middleware)
52
+ }
53
+ ]),
54
+ ...hasProcessor(signal) ? [
55
+ BullModule.registerQueue({
56
+ name: modelName,
57
+ defaultJobOptions: { removeOnComplete: true, removeOnFail: true }
58
+ })
59
+ ] : []
60
+ ],
61
+ providers: [
62
+ serviceOf(service),
63
+ resolverOf(signal, filterSrvs(allSrvs)),
64
+ ...hasProcessor(signal) ? [
65
+ processorOf(signal, filterSrvs(allSrvs)),
66
+ { provide: `${className}Queue`, useFactory: (queue) => queue, inject: [getQueueToken(modelName)] }
67
+ ] : [],
68
+ ...hasWebsocket(signal) ? [websocketOf(signal, filterSrvs(allSrvs)), { provide: "Websocket", useClass: websocketServerOf(signal) }] : [],
69
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
70
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
71
+ {
72
+ provide: `${modelName}Model`,
73
+ useFactory: (model, redis, meili) => {
74
+ return databaseModelOf(database, model, redis, meili);
75
+ },
76
+ inject: [mongoToken, "REDIS_CLIENT", "MEILI_CLIENT"]
77
+ },
78
+ ...providers
79
+ ],
80
+ controllers: [controllerOf(signal, filterSrvs(allSrvs))],
81
+ exports: [service]
82
+ })
83
+ ], DatabaseModule);
84
+ return DatabaseModule;
85
+ };
86
+ const serviceModuleOf = ({ signal, service, uses = {}, useAsyncs = {}, providers = [] }, allSrvs) => {
87
+ if (!isServiceEnabled(service))
88
+ return null;
89
+ const sigMeta = getSigMeta(signal);
90
+ const [modelName, className] = [lowerlize(sigMeta.refName), capitalize(sigMeta.refName)];
91
+ let ServiceModule = class {
92
+ };
93
+ ServiceModule = __decorateClass([
94
+ Global(),
95
+ Module({
96
+ imports: [
97
+ ...hasProcessor(signal) ? [
98
+ BullModule.registerQueue({
99
+ name: modelName,
100
+ defaultJobOptions: { removeOnComplete: true, removeOnFail: true }
101
+ })
102
+ ] : []
103
+ ],
104
+ providers: [
105
+ serviceOf(service),
106
+ resolverOf(signal, filterSrvs(allSrvs)),
107
+ ...hasWebsocket(signal) ? [websocketOf(signal, filterSrvs(allSrvs)), { provide: "Websocket", useClass: websocketServerOf(signal) }] : [],
108
+ ...hasProcessor(signal) ? [
109
+ processorOf(signal, filterSrvs(allSrvs)),
110
+ { provide: `${className}Queue`, useFactory: (queue) => queue, inject: [getQueueToken(modelName)] }
111
+ ] : [],
112
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
113
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
114
+ ...providers
115
+ ],
116
+ controllers: [controllerOf(signal, filterSrvs(allSrvs))],
117
+ exports: [service]
118
+ })
119
+ ], ServiceModule);
120
+ return ServiceModule;
121
+ };
122
+ const scalarModuleOf = ({ signals, uses = {}, useAsyncs = {}, providers = [], enabled = true }, allSrvs) => {
123
+ if (!enabled)
124
+ return null;
125
+ let ScalarModule = class {
126
+ };
127
+ ScalarModule = __decorateClass([
128
+ Global(),
129
+ Module({
130
+ imports: [],
131
+ providers: [
132
+ ...signals.map((signal) => resolverOf(signal, filterSrvs(allSrvs))),
133
+ ...signals.filter(hasWebsocket).map((signal) => [
134
+ websocketOf(signal, filterSrvs(allSrvs)),
135
+ { provide: "Websocket", useClass: websocketServerOf(signal) }
136
+ ]).flat(),
137
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
138
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
139
+ ...providers
140
+ ],
141
+ controllers: signals.map((signal) => controllerOf(signal, filterSrvs(allSrvs)))
142
+ })
143
+ ], ScalarModule);
144
+ return ScalarModule;
145
+ };
146
+ const scalarModulesOf = ({ constants }, allSrvs) => {
147
+ const signals = constants.filter((modelRef) => {
148
+ const childRefs = getChildClassRefs(modelRef);
149
+ return childRefs.some((childRef) => {
150
+ const classMeta = getClassMeta(childRef);
151
+ return ["full", "light"].includes(classMeta.type);
152
+ });
153
+ }).map((modelRef) => {
154
+ let ScalarSignal = class extends LogSignal({}) {
155
+ };
156
+ ScalarSignal = __decorateClass([
157
+ Signal(() => modelRef)
158
+ ], ScalarSignal);
159
+ return ScalarSignal;
160
+ });
161
+ let ScalarModule = class {
162
+ };
163
+ ScalarModule = __decorateClass([
164
+ Global(),
165
+ Module({
166
+ imports: [],
167
+ providers: [...signals.map((signal) => resolverOf(signal, filterSrvs(allSrvs)))]
168
+ // controllers: signals.map((signal) => controllerOf(signal, filterSrvs(allSrvs))),
169
+ })
170
+ ], ScalarModule);
171
+ return ScalarModule;
172
+ };
173
+ const batchModuleOf = ({
174
+ service,
175
+ uses = {},
176
+ useAsyncs = {},
177
+ providers = []
178
+ }) => {
179
+ if (!isServiceEnabled(service))
180
+ return null;
181
+ let BatchModule = class {
182
+ };
183
+ BatchModule = __decorateClass([
184
+ Global(),
185
+ Module({
186
+ imports: [],
187
+ providers: [
188
+ serviceOf(service),
189
+ ...Object.entries(uses).map(([key, useValue]) => ({ provide: capitalize(key), useValue })),
190
+ ...Object.entries(useAsyncs).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
191
+ ...providers
192
+ ],
193
+ exports: [service]
194
+ })
195
+ ], BatchModule);
196
+ return BatchModule;
197
+ };
198
+ const useGlobals = ({ uses, useAsyncs, injects }) => {
199
+ let GlobalsModule = class {
200
+ };
201
+ GlobalsModule = __decorateClass([
202
+ Global(),
203
+ Module({
204
+ imports: [],
205
+ providers: [
206
+ ...Object.entries(uses ?? {}).map(([key, useValue]) => ({
207
+ provide: capitalize(key),
208
+ useValue
209
+ })),
210
+ ...Object.entries(useAsyncs ?? {}).map(([key, useFactory]) => ({ provide: capitalize(key), useFactory })),
211
+ ...Object.entries(injects ?? {}).map(([key, inject]) => ({ provide: capitalize(key), useClass: inject }))
212
+ ],
213
+ exports: [
214
+ ...Object.keys(uses ?? {}).map((key) => capitalize(key)),
215
+ ...Object.keys(useAsyncs ?? {}).map((key) => capitalize(key)),
216
+ ...Object.keys(injects ?? {}).map((key) => capitalize(key))
217
+ ]
218
+ })
219
+ ], GlobalsModule);
220
+ return GlobalsModule;
221
+ };
222
+ export {
223
+ batchModuleOf,
224
+ databaseModuleOf,
225
+ scalarModuleOf,
226
+ scalarModulesOf,
227
+ serviceModuleOf,
228
+ useGlobals
229
+ };
package/src/processor.js CHANGED
@@ -1,19 +1,37 @@
1
- import { lowerlize } from "@akanjs/common";
2
- import { isServiceEnabled } from "@akanjs/service";
3
- import {
4
- deserializeArg,
5
- getArgMetas,
6
- getGqlMetas,
7
- getSigMeta
8
- } from "@akanjs/signal";
9
- import { Process, Processor } from "@nestjs/bull";
10
- import { Inject } from "@nestjs/common";
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 processor_exports = {};
19
+ __export(processor_exports, {
20
+ processorOf: () => processorOf,
21
+ queueOf: () => queueOf
22
+ });
23
+ module.exports = __toCommonJS(processor_exports);
24
+ var import_common = require("@akanjs/common");
25
+ var import_service = require("@akanjs/service");
26
+ var import_signal = require("@akanjs/signal");
27
+ var import_bull = require("@nestjs/bull");
28
+ var import_common2 = require("@nestjs/common");
11
29
  const convertProcessFunction = (gqlMeta, argMetas, internalArgMetas, fn) => {
12
30
  return async function(job, done) {
13
31
  const args = [];
14
32
  argMetas.forEach((argMeta) => {
15
33
  if (argMeta.type === "Msg")
16
- args[argMeta.idx] = deserializeArg(argMeta, job.data[argMeta.idx]);
34
+ args[argMeta.idx] = (0, import_signal.deserializeArg)(argMeta, job.data[argMeta.idx]);
17
35
  else
18
36
  throw new Error(`Invalid ArgMeta Type ${argMeta.type}`);
19
37
  });
@@ -30,20 +48,20 @@ const convertProcessFunction = (gqlMeta, argMetas, internalArgMetas, fn) => {
30
48
  };
31
49
  };
32
50
  const processorOf = (sigRef, allSrvs) => {
33
- const sigMeta = getSigMeta(sigRef);
51
+ const sigMeta = (0, import_signal.getSigMeta)(sigRef);
34
52
  const serverMode = process.env.SERVER_MODE ?? "federation";
35
- const gqlMetas = getGqlMetas(sigRef).filter((gqlMeta) => gqlMeta.type === "Process").filter(
53
+ const gqlMetas = (0, import_signal.getGqlMetas)(sigRef).filter((gqlMeta) => gqlMeta.type === "Process").filter(
36
54
  (gqlMeta) => gqlMeta.signalOption.serverType === "all" || serverMode === "all" || gqlMeta.signalOption.serverType === serverMode
37
55
  );
38
56
  class QueueProcessor {
39
57
  }
40
58
  Object.keys(allSrvs).forEach((srv) => {
41
- if (!isServiceEnabled(allSrvs[srv]))
59
+ if (!(0, import_service.isServiceEnabled)(allSrvs[srv]))
42
60
  return;
43
- Inject(allSrvs[srv])(QueueProcessor.prototype, lowerlize(srv));
61
+ (0, import_common2.Inject)(allSrvs[srv])(QueueProcessor.prototype, (0, import_common.lowerlize)(srv));
44
62
  });
45
63
  for (const gqlMeta of gqlMetas) {
46
- const [argMetas, internalArgMetas] = getArgMetas(sigRef, gqlMeta.key);
64
+ const [argMetas, internalArgMetas] = (0, import_signal.getArgMetas)(sigRef, gqlMeta.key);
47
65
  const descriptor = { ...Object.getOwnPropertyDescriptor(sigRef.prototype, gqlMeta.key) ?? {} };
48
66
  descriptor.value = convertProcessFunction(
49
67
  gqlMeta,
@@ -52,14 +70,14 @@ const processorOf = (sigRef, allSrvs) => {
52
70
  descriptor.value
53
71
  );
54
72
  Object.defineProperty(QueueProcessor.prototype, gqlMeta.key, descriptor);
55
- Process(gqlMeta.key)(QueueProcessor.prototype, gqlMeta.key, descriptor);
73
+ (0, import_bull.Process)(gqlMeta.key)(QueueProcessor.prototype, gqlMeta.key, descriptor);
56
74
  }
57
- Processor(sigMeta.refName)(QueueProcessor);
75
+ (0, import_bull.Processor)(sigMeta.refName)(QueueProcessor);
58
76
  return QueueProcessor;
59
77
  };
60
78
  const queueOf = (sigRef, queue) => {
61
- const sigMeta = getSigMeta(sigRef);
62
- const gqlMetas = getGqlMetas(sigRef).filter((gqlMeta) => gqlMeta.type === "Process");
79
+ const sigMeta = (0, import_signal.getSigMeta)(sigRef);
80
+ const gqlMetas = (0, import_signal.getGqlMetas)(sigRef).filter((gqlMeta) => gqlMeta.type === "Process");
63
81
  for (const gqlMeta of gqlMetas) {
64
82
  if (queue[gqlMeta.key])
65
83
  throw new Error(`Queue already has ${gqlMeta.key} in ${sigMeta.refName}`);
@@ -67,7 +85,8 @@ const queueOf = (sigRef, queue) => {
67
85
  }
68
86
  return queue;
69
87
  };
70
- export {
88
+ // Annotate the CommonJS export names for ESM import in node:
89
+ 0 && (module.exports = {
71
90
  processorOf,
72
91
  queueOf
73
- };
92
+ });