@etohq/modules-sdk 1.0.0
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/dist/definitions.d.ts +7 -0
- package/dist/definitions.d.ts.map +1 -0
- package/dist/definitions.js +290 -0
- package/dist/definitions.js.map +1 -0
- package/dist/eto-app.d.ts +79 -0
- package/dist/eto-app.d.ts.map +1 -0
- package/dist/eto-app.js +382 -0
- package/dist/eto-app.js.map +1 -0
- package/dist/eto-module.d.ts +136 -0
- package/dist/eto-module.d.ts.map +1 -0
- package/dist/eto-module.js +496 -0
- package/dist/eto-module.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/link.d.ts +53 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +320 -0
- package/dist/link.js.map +1 -0
- package/dist/loaders/index.d.ts +4 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js +20 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/module-loader.d.ts +9 -0
- package/dist/loaders/module-loader.d.ts.map +1 -0
- package/dist/loaders/module-loader.js +53 -0
- package/dist/loaders/module-loader.js.map +1 -0
- package/dist/loaders/module-provider-loader.d.ts +8 -0
- package/dist/loaders/module-provider-loader.d.ts.map +1 -0
- package/dist/loaders/module-provider-loader.js +53 -0
- package/dist/loaders/module-provider-loader.js.map +1 -0
- package/dist/loaders/register-modules.d.ts +4 -0
- package/dist/loaders/register-modules.d.ts.map +1 -0
- package/dist/loaders/register-modules.js +102 -0
- package/dist/loaders/register-modules.js.map +1 -0
- package/dist/loaders/utils/index.d.ts +2 -0
- package/dist/loaders/utils/index.d.ts.map +1 -0
- package/dist/loaders/utils/index.js +18 -0
- package/dist/loaders/utils/index.js.map +1 -0
- package/dist/loaders/utils/load-internal.d.ts +44 -0
- package/dist/loaders/utils/load-internal.d.ts.map +1 -0
- package/dist/loaders/utils/load-internal.js +488 -0
- package/dist/loaders/utils/load-internal.js.map +1 -0
- package/dist/remote-query/index.d.ts +3 -0
- package/dist/remote-query/index.d.ts.map +1 -0
- package/dist/remote-query/index.js +19 -0
- package/dist/remote-query/index.js.map +1 -0
- package/dist/remote-query/parse-filters.d.ts +15 -0
- package/dist/remote-query/parse-filters.d.ts.map +1 -0
- package/dist/remote-query/parse-filters.js +178 -0
- package/dist/remote-query/parse-filters.js.map +1 -0
- package/dist/remote-query/query.d.ts +42 -0
- package/dist/remote-query/query.d.ts.map +1 -0
- package/dist/remote-query/query.js +115 -0
- package/dist/remote-query/query.js.map +1 -0
- package/dist/remote-query/remote-query.d.ts +41 -0
- package/dist/remote-query/remote-query.d.ts.map +1 -0
- package/dist/remote-query/remote-query.js +175 -0
- package/dist/remote-query/remote-query.js.map +1 -0
- package/dist/remote-query/to-remote-query.d.ts +27 -0
- package/dist/remote-query/to-remote-query.d.ts.map +1 -0
- package/dist/remote-query/to-remote-query.js +96 -0
- package/dist/remote-query/to-remote-query.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/convert-data-to-link-definition.d.ts +3 -0
- package/dist/utils/convert-data-to-link-definition.d.ts.map +1 -0
- package/dist/utils/convert-data-to-link-definition.js +28 -0
- package/dist/utils/convert-data-to-link-definition.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/linking-error.d.ts +14 -0
- package/dist/utils/linking-error.d.ts.map +1 -0
- package/dist/utils/linking-error.js +18 -0
- package/dist/utils/linking-error.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EtoModule = void 0;
|
|
4
|
+
const utils_1 = require("@etohq/utils");
|
|
5
|
+
const awilix_1 = require("awilix");
|
|
6
|
+
const os_1 = require("os");
|
|
7
|
+
const loaders_1 = require("./loaders");
|
|
8
|
+
const utils_2 = require("./loaders/utils");
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const logger = {
|
|
11
|
+
log: (a) => console.log(a),
|
|
12
|
+
info: (a) => console.log(a),
|
|
13
|
+
warn: (a) => console.warn(a),
|
|
14
|
+
error: (a) => console.error(a),
|
|
15
|
+
};
|
|
16
|
+
class EtoModule {
|
|
17
|
+
static getLoadedModules(aliases) {
|
|
18
|
+
return [...EtoModule.modules_.entries()].map(([key]) => {
|
|
19
|
+
if (aliases?.has(key)) {
|
|
20
|
+
return EtoModule.getModuleInstance(key, aliases.get(key));
|
|
21
|
+
}
|
|
22
|
+
return EtoModule.getModuleInstance(key);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
static onApplicationStart(onApplicationStartCb) {
|
|
26
|
+
for (const instances of EtoModule.instances_.values()) {
|
|
27
|
+
for (const instance of Object.values(instances)) {
|
|
28
|
+
if (instance?.__hooks) {
|
|
29
|
+
instance.__hooks?.onApplicationStart
|
|
30
|
+
?.bind(instance)()
|
|
31
|
+
.then(() => {
|
|
32
|
+
onApplicationStartCb?.();
|
|
33
|
+
})
|
|
34
|
+
.catch(() => {
|
|
35
|
+
// The module should handle this and log it
|
|
36
|
+
return void 0;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
static async onApplicationShutdown() {
|
|
43
|
+
await (0, utils_1.promiseAll)([...EtoModule.instances_.values()]
|
|
44
|
+
.map((instances) => {
|
|
45
|
+
return Object.values(instances).map((instance) => {
|
|
46
|
+
return instance.__hooks?.onApplicationShutdown
|
|
47
|
+
?.bind(instance)()
|
|
48
|
+
.catch(() => {
|
|
49
|
+
// The module should handle this and log it
|
|
50
|
+
return void 0;
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
})
|
|
54
|
+
.flat());
|
|
55
|
+
}
|
|
56
|
+
static async onApplicationPrepareShutdown() {
|
|
57
|
+
await (0, utils_1.promiseAll)([...EtoModule.instances_.values()]
|
|
58
|
+
.map((instances) => {
|
|
59
|
+
return Object.values(instances).map((instance) => {
|
|
60
|
+
return instance.__hooks?.onApplicationPrepareShutdown
|
|
61
|
+
?.bind(instance)()
|
|
62
|
+
.catch(() => {
|
|
63
|
+
// The module should handle this and log it
|
|
64
|
+
return void 0;
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
})
|
|
68
|
+
.flat());
|
|
69
|
+
}
|
|
70
|
+
static clearInstances() {
|
|
71
|
+
EtoModule.instances_.clear();
|
|
72
|
+
EtoModule.modules_.clear();
|
|
73
|
+
EtoModule.joinerConfig_.clear();
|
|
74
|
+
EtoModule.moduleResolutions_.clear();
|
|
75
|
+
EtoModule.customLinks_.length = 0;
|
|
76
|
+
}
|
|
77
|
+
static isInstalled(moduleKey, alias) {
|
|
78
|
+
if (alias) {
|
|
79
|
+
return (EtoModule.modules_.has(moduleKey) &&
|
|
80
|
+
EtoModule.modules_.get(moduleKey).some((m) => m.alias === alias));
|
|
81
|
+
}
|
|
82
|
+
return EtoModule.modules_.has(moduleKey);
|
|
83
|
+
}
|
|
84
|
+
static getJoinerConfig(moduleKey) {
|
|
85
|
+
return EtoModule.joinerConfig_.get(moduleKey);
|
|
86
|
+
}
|
|
87
|
+
static getAllJoinerConfigs() {
|
|
88
|
+
return [...EtoModule.joinerConfig_.values()];
|
|
89
|
+
}
|
|
90
|
+
static getModuleResolutions(moduleKey) {
|
|
91
|
+
return EtoModule.moduleResolutions_.get(moduleKey);
|
|
92
|
+
}
|
|
93
|
+
static getAllModuleResolutions() {
|
|
94
|
+
return [...EtoModule.moduleResolutions_.values()];
|
|
95
|
+
}
|
|
96
|
+
static setModuleResolution(moduleKey, resolution) {
|
|
97
|
+
EtoModule.moduleResolutions_.set(moduleKey, resolution);
|
|
98
|
+
return resolution;
|
|
99
|
+
}
|
|
100
|
+
static setJoinerConfig(moduleKey, config) {
|
|
101
|
+
EtoModule.joinerConfig_.set(moduleKey, config);
|
|
102
|
+
return config;
|
|
103
|
+
}
|
|
104
|
+
static setCustomLink(config) {
|
|
105
|
+
EtoModule.customLinks_.push(config);
|
|
106
|
+
}
|
|
107
|
+
static getCustomLinks() {
|
|
108
|
+
return EtoModule.customLinks_;
|
|
109
|
+
}
|
|
110
|
+
static getModuleInstance(moduleKey, alias) {
|
|
111
|
+
if (!EtoModule.modules_.has(moduleKey)) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
let mod;
|
|
115
|
+
const modules = EtoModule.modules_.get(moduleKey);
|
|
116
|
+
if (alias) {
|
|
117
|
+
mod = modules.find((m) => m.alias === alias);
|
|
118
|
+
return EtoModule.instances_.get(mod?.hash);
|
|
119
|
+
}
|
|
120
|
+
mod = modules.find((m) => m.main) ?? modules[0];
|
|
121
|
+
return EtoModule.instances_.get(mod?.hash);
|
|
122
|
+
}
|
|
123
|
+
static registerModule(moduleKey, loadedModule) {
|
|
124
|
+
if (!EtoModule.modules_.has(moduleKey)) {
|
|
125
|
+
EtoModule.modules_.set(moduleKey, []);
|
|
126
|
+
}
|
|
127
|
+
const modules = EtoModule.modules_.get(moduleKey);
|
|
128
|
+
if (modules.some((m) => m.alias === loadedModule.alias)) {
|
|
129
|
+
throw new Error(`Module ${moduleKey} already registed as '${loadedModule.alias}'. Please choose a different alias.`);
|
|
130
|
+
}
|
|
131
|
+
if (loadedModule.main) {
|
|
132
|
+
if (modules.some((m) => m.main)) {
|
|
133
|
+
throw new Error(`Module ${moduleKey} already have a 'main' registered.`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
modules.push(loadedModule);
|
|
137
|
+
EtoModule.modules_.set(moduleKey, modules);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Load all modules and resolve them once they are loaded
|
|
141
|
+
* @param modulesOptions
|
|
142
|
+
* @param migrationOnly
|
|
143
|
+
* @param loaderOnly
|
|
144
|
+
* @param workerMode
|
|
145
|
+
*/
|
|
146
|
+
static async bootstrapAll(modulesOptions, { migrationOnly, loaderOnly, workerMode, }) {
|
|
147
|
+
return await EtoModule.bootstrap_(modulesOptions, {
|
|
148
|
+
migrationOnly,
|
|
149
|
+
loaderOnly,
|
|
150
|
+
workerMode,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Load a single module and resolve it once it is loaded
|
|
155
|
+
* @param moduleKey
|
|
156
|
+
* @param defaultPath
|
|
157
|
+
* @param declaration
|
|
158
|
+
* @param moduleExports
|
|
159
|
+
* @param sharedContainer
|
|
160
|
+
* @param moduleDefinition
|
|
161
|
+
* @param injectedDependencies
|
|
162
|
+
* @param migrationOnly
|
|
163
|
+
* @param loaderOnly
|
|
164
|
+
* @param workerMode
|
|
165
|
+
*/
|
|
166
|
+
static async bootstrap({ moduleKey, defaultPath, declaration, moduleExports, sharedContainer, moduleDefinition, injectedDependencies, migrationOnly, loaderOnly, workerMode, }) {
|
|
167
|
+
const [service] = await EtoModule.bootstrap_([
|
|
168
|
+
{
|
|
169
|
+
moduleKey,
|
|
170
|
+
defaultPath,
|
|
171
|
+
declaration,
|
|
172
|
+
moduleExports,
|
|
173
|
+
sharedContainer,
|
|
174
|
+
moduleDefinition,
|
|
175
|
+
injectedDependencies,
|
|
176
|
+
},
|
|
177
|
+
], {
|
|
178
|
+
migrationOnly,
|
|
179
|
+
loaderOnly,
|
|
180
|
+
workerMode,
|
|
181
|
+
});
|
|
182
|
+
return service;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Load all modules and then resolve them once they are loaded
|
|
186
|
+
*
|
|
187
|
+
* @param modulesOptions
|
|
188
|
+
* @param migrationOnly
|
|
189
|
+
* @param loaderOnly
|
|
190
|
+
* @param workerMode
|
|
191
|
+
* @protected
|
|
192
|
+
*/
|
|
193
|
+
static async bootstrap_(modulesOptions, { migrationOnly, loaderOnly, workerMode, }) {
|
|
194
|
+
let loadedModules = [];
|
|
195
|
+
const services = [];
|
|
196
|
+
for (const moduleOptions of modulesOptions) {
|
|
197
|
+
const { moduleKey, defaultPath, declaration, moduleExports, sharedContainer, moduleDefinition, injectedDependencies, } = moduleOptions;
|
|
198
|
+
const hashKey = (0, utils_1.simpleHash)((0, utils_1.stringifyCircular)({ moduleKey, defaultPath, declaration }));
|
|
199
|
+
let finishLoading;
|
|
200
|
+
let errorLoading;
|
|
201
|
+
const loadingPromise = new Promise((resolve, reject) => {
|
|
202
|
+
finishLoading = resolve;
|
|
203
|
+
errorLoading = reject;
|
|
204
|
+
});
|
|
205
|
+
if (!loaderOnly && EtoModule.instances_.has(hashKey)) {
|
|
206
|
+
services.push(EtoModule.instances_.get(hashKey));
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (!loaderOnly && EtoModule.loading_.has(hashKey)) {
|
|
210
|
+
services.push(await EtoModule.loading_.get(hashKey));
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
if (!loaderOnly) {
|
|
214
|
+
EtoModule.loading_.set(hashKey, loadingPromise);
|
|
215
|
+
}
|
|
216
|
+
let modDeclaration = declaration ??
|
|
217
|
+
{};
|
|
218
|
+
if (declaration?.scope !== types_1.MODULE_SCOPE.EXTERNAL) {
|
|
219
|
+
modDeclaration = {
|
|
220
|
+
scope: declaration?.scope || types_1.MODULE_SCOPE.INTERNAL,
|
|
221
|
+
resolve: defaultPath,
|
|
222
|
+
options: declaration?.options ?? declaration,
|
|
223
|
+
dependencies: declaration?.dependencies ?? [],
|
|
224
|
+
alias: declaration?.alias,
|
|
225
|
+
main: declaration?.main,
|
|
226
|
+
worker_mode: workerMode,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
const container = sharedContainer ?? (0, utils_1.createEtoContainer)();
|
|
230
|
+
if (injectedDependencies) {
|
|
231
|
+
for (const service in injectedDependencies) {
|
|
232
|
+
container.register(service, (0, awilix_1.asValue)(injectedDependencies[service]));
|
|
233
|
+
if (!container.hasRegistration(service)) {
|
|
234
|
+
container.register(service, (0, awilix_1.asValue)(injectedDependencies[service]));
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const moduleResolutions = (0, loaders_1.registerEtoModule)(moduleKey, modDeclaration, moduleExports, moduleDefinition);
|
|
239
|
+
const logger_ = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER, {
|
|
240
|
+
allowUnregistered: true,
|
|
241
|
+
}) ?? logger;
|
|
242
|
+
try {
|
|
243
|
+
await (0, loaders_1.moduleLoader)({
|
|
244
|
+
container,
|
|
245
|
+
moduleResolutions,
|
|
246
|
+
logger: logger_,
|
|
247
|
+
migrationOnly,
|
|
248
|
+
loaderOnly,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
errorLoading(err);
|
|
253
|
+
throw err;
|
|
254
|
+
}
|
|
255
|
+
loadedModules.push({
|
|
256
|
+
hashKey,
|
|
257
|
+
modDeclaration,
|
|
258
|
+
moduleResolutions,
|
|
259
|
+
container,
|
|
260
|
+
finishLoading,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
if (loaderOnly) {
|
|
264
|
+
loadedModules.forEach(({ finishLoading }) => finishLoading({}));
|
|
265
|
+
return [{}];
|
|
266
|
+
}
|
|
267
|
+
for (const { hashKey, modDeclaration, moduleResolutions, container, finishLoading, } of loadedModules) {
|
|
268
|
+
const service = await EtoModule.resolveLoadedModule({
|
|
269
|
+
hashKey,
|
|
270
|
+
modDeclaration,
|
|
271
|
+
moduleResolutions,
|
|
272
|
+
container,
|
|
273
|
+
});
|
|
274
|
+
EtoModule.instances_.set(hashKey, service);
|
|
275
|
+
finishLoading(service);
|
|
276
|
+
EtoModule.loading_.delete(hashKey);
|
|
277
|
+
services.push(service);
|
|
278
|
+
}
|
|
279
|
+
return services;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Resolve all the modules once they all have been loaded through the bootstrap
|
|
283
|
+
* and store their references in the instances_ map and return them
|
|
284
|
+
*
|
|
285
|
+
* @param hashKey
|
|
286
|
+
* @param modDeclaration
|
|
287
|
+
* @param moduleResolutions
|
|
288
|
+
* @param container
|
|
289
|
+
* @private
|
|
290
|
+
*/
|
|
291
|
+
static async resolveLoadedModule({ hashKey, modDeclaration, moduleResolutions, container, }) {
|
|
292
|
+
const logger_ = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER, {
|
|
293
|
+
allowUnregistered: true,
|
|
294
|
+
}) ?? logger;
|
|
295
|
+
const services = {};
|
|
296
|
+
for (const resolution of Object.values(moduleResolutions)) {
|
|
297
|
+
const keyName = resolution.definition.key;
|
|
298
|
+
services[keyName] = container.resolve(keyName);
|
|
299
|
+
services[keyName].__definition = resolution.definition;
|
|
300
|
+
services[keyName].__definition.resolvePath =
|
|
301
|
+
"resolve" in modDeclaration &&
|
|
302
|
+
typeof modDeclaration.resolve === "string"
|
|
303
|
+
? modDeclaration.resolve
|
|
304
|
+
: undefined;
|
|
305
|
+
if (resolution.definition.isQueryable) {
|
|
306
|
+
let joinerConfig;
|
|
307
|
+
try {
|
|
308
|
+
// TODO: rework that to store on a separate property
|
|
309
|
+
joinerConfig = await services[keyName].__joinerConfig?.();
|
|
310
|
+
}
|
|
311
|
+
catch {
|
|
312
|
+
// noop
|
|
313
|
+
}
|
|
314
|
+
if (!joinerConfig) {
|
|
315
|
+
throw new Error(`Your module is missing a joiner config: ${keyName}. If this module is not queryable, please set { definition: { isQueryable: false } } in your module configuration.`);
|
|
316
|
+
}
|
|
317
|
+
if (!joinerConfig.primaryKeys) {
|
|
318
|
+
logger_.warn(`Primary keys are not defined by the module ${keyName}. Setting default primary key to 'id'${os_1.EOL}`);
|
|
319
|
+
joinerConfig.primaryKeys = ["id"];
|
|
320
|
+
}
|
|
321
|
+
services[keyName].__joinerConfig = joinerConfig;
|
|
322
|
+
EtoModule.setJoinerConfig(keyName, joinerConfig);
|
|
323
|
+
}
|
|
324
|
+
EtoModule.setModuleResolution(keyName, resolution);
|
|
325
|
+
EtoModule.registerModule(keyName, {
|
|
326
|
+
key: keyName,
|
|
327
|
+
hash: hashKey,
|
|
328
|
+
alias: modDeclaration.alias ?? hashKey,
|
|
329
|
+
main: !!modDeclaration.main,
|
|
330
|
+
isLink: false,
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
return services;
|
|
334
|
+
}
|
|
335
|
+
static async bootstrapLink({ definition, declaration, moduleExports, injectedDependencies, }) {
|
|
336
|
+
const moduleKey = definition.key;
|
|
337
|
+
const hashKey = (0, utils_1.simpleHash)((0, utils_1.stringifyCircular)({ moduleKey, declaration }));
|
|
338
|
+
if (EtoModule.instances_.has(hashKey)) {
|
|
339
|
+
return { [moduleKey]: EtoModule.instances_.get(hashKey) };
|
|
340
|
+
}
|
|
341
|
+
if (EtoModule.loading_.has(hashKey)) {
|
|
342
|
+
return await EtoModule.loading_.get(hashKey);
|
|
343
|
+
}
|
|
344
|
+
let finishLoading;
|
|
345
|
+
let errorLoading;
|
|
346
|
+
EtoModule.loading_.set(hashKey, new Promise((resolve, reject) => {
|
|
347
|
+
finishLoading = resolve;
|
|
348
|
+
errorLoading = reject;
|
|
349
|
+
}));
|
|
350
|
+
let modDeclaration = declaration ?? {};
|
|
351
|
+
const moduleDefinition = {
|
|
352
|
+
key: definition.key,
|
|
353
|
+
dependencies: definition.dependencies,
|
|
354
|
+
defaultPackage: "",
|
|
355
|
+
label: definition.label,
|
|
356
|
+
isRequired: false,
|
|
357
|
+
isQueryable: true,
|
|
358
|
+
defaultModuleDeclaration: definition.defaultModuleDeclaration,
|
|
359
|
+
};
|
|
360
|
+
modDeclaration = {
|
|
361
|
+
resolve: "",
|
|
362
|
+
options: declaration,
|
|
363
|
+
alias: declaration?.alias,
|
|
364
|
+
main: declaration?.main,
|
|
365
|
+
};
|
|
366
|
+
const container = (0, utils_1.createEtoContainer)();
|
|
367
|
+
if (injectedDependencies) {
|
|
368
|
+
for (const service in injectedDependencies) {
|
|
369
|
+
container.register(service, (0, awilix_1.asValue)(injectedDependencies[service]));
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
const moduleResolutions = (0, loaders_1.registerEtoLinkModule)(moduleDefinition, modDeclaration, moduleExports);
|
|
373
|
+
const logger_ = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER, {
|
|
374
|
+
allowUnregistered: true,
|
|
375
|
+
}) ?? logger;
|
|
376
|
+
try {
|
|
377
|
+
await (0, loaders_1.moduleLoader)({
|
|
378
|
+
container,
|
|
379
|
+
moduleResolutions,
|
|
380
|
+
logger: logger_,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
catch (err) {
|
|
384
|
+
errorLoading(err);
|
|
385
|
+
throw err;
|
|
386
|
+
}
|
|
387
|
+
const services = {};
|
|
388
|
+
for (const resolution of Object.values(moduleResolutions)) {
|
|
389
|
+
const keyName = resolution.definition.key;
|
|
390
|
+
services[keyName] = container.resolve(keyName);
|
|
391
|
+
services[keyName].__definition = resolution.definition;
|
|
392
|
+
if (resolution.definition.isQueryable) {
|
|
393
|
+
let joinerConfig;
|
|
394
|
+
try {
|
|
395
|
+
joinerConfig = await services[keyName].__joinerConfig?.();
|
|
396
|
+
}
|
|
397
|
+
catch {
|
|
398
|
+
// noop
|
|
399
|
+
}
|
|
400
|
+
if (!joinerConfig) {
|
|
401
|
+
throw new Error(`Your module is missing a joiner config: ${keyName}. If this module is not queryable, please set { definition: { isQueryable: false } } in your module configuration.`);
|
|
402
|
+
}
|
|
403
|
+
services[keyName].__joinerConfig = joinerConfig;
|
|
404
|
+
EtoModule.setJoinerConfig(keyName, joinerConfig);
|
|
405
|
+
if (!joinerConfig.isLink) {
|
|
406
|
+
throw new Error("EtoModule.bootstrapLink must be used only for Link Modules");
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
EtoModule.setModuleResolution(keyName, resolution);
|
|
410
|
+
EtoModule.registerModule(keyName, {
|
|
411
|
+
key: keyName,
|
|
412
|
+
hash: hashKey,
|
|
413
|
+
alias: modDeclaration.alias ?? hashKey,
|
|
414
|
+
main: !!modDeclaration.main,
|
|
415
|
+
isLink: true,
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
EtoModule.instances_.set(hashKey, services);
|
|
419
|
+
finishLoading(services);
|
|
420
|
+
EtoModule.loading_.delete(hashKey);
|
|
421
|
+
return services;
|
|
422
|
+
}
|
|
423
|
+
static async migrateGenerate({ options, container, moduleExports, moduleKey, modulePath, }) {
|
|
424
|
+
const moduleResolutions = (0, loaders_1.registerEtoModule)(moduleKey, {
|
|
425
|
+
scope: types_1.MODULE_SCOPE.INTERNAL,
|
|
426
|
+
resolve: modulePath,
|
|
427
|
+
options,
|
|
428
|
+
});
|
|
429
|
+
const logger_ = container?.resolve(utils_1.ContainerRegistrationKeys.LOGGER, {
|
|
430
|
+
allowUnregistered: true,
|
|
431
|
+
}) ?? logger;
|
|
432
|
+
container ??= (0, utils_1.createEtoContainer)();
|
|
433
|
+
for (const mod in moduleResolutions) {
|
|
434
|
+
const { generateMigration } = await (0, utils_2.loadModuleMigrations)(moduleResolutions[mod], moduleExports);
|
|
435
|
+
if (typeof generateMigration === "function") {
|
|
436
|
+
await generateMigration({
|
|
437
|
+
options,
|
|
438
|
+
container: container,
|
|
439
|
+
logger: logger_,
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
static async migrateUp({ options, container, moduleExports, moduleKey, modulePath, }) {
|
|
445
|
+
const moduleResolutions = (0, loaders_1.registerEtoModule)(moduleKey, {
|
|
446
|
+
scope: types_1.MODULE_SCOPE.INTERNAL,
|
|
447
|
+
resolve: modulePath,
|
|
448
|
+
options,
|
|
449
|
+
});
|
|
450
|
+
const logger_ = container?.resolve(utils_1.ContainerRegistrationKeys.LOGGER, {
|
|
451
|
+
allowUnregistered: true,
|
|
452
|
+
}) ?? logger;
|
|
453
|
+
container ??= (0, utils_1.createEtoContainer)();
|
|
454
|
+
for (const mod in moduleResolutions) {
|
|
455
|
+
const { runMigrations } = await (0, utils_2.loadModuleMigrations)(moduleResolutions[mod], moduleExports);
|
|
456
|
+
if (typeof runMigrations === "function") {
|
|
457
|
+
await runMigrations({
|
|
458
|
+
options,
|
|
459
|
+
container: container,
|
|
460
|
+
logger: logger_,
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
static async migrateDown({ options, container, moduleExports, moduleKey, modulePath, }) {
|
|
466
|
+
const moduleResolutions = (0, loaders_1.registerEtoModule)(moduleKey, {
|
|
467
|
+
scope: types_1.MODULE_SCOPE.INTERNAL,
|
|
468
|
+
resolve: modulePath,
|
|
469
|
+
options,
|
|
470
|
+
});
|
|
471
|
+
const logger_ = container?.resolve(utils_1.ContainerRegistrationKeys.LOGGER, {
|
|
472
|
+
allowUnregistered: true,
|
|
473
|
+
}) ?? logger;
|
|
474
|
+
container ??= (0, utils_1.createEtoContainer)();
|
|
475
|
+
for (const mod in moduleResolutions) {
|
|
476
|
+
const { revertMigration } = await (0, utils_2.loadModuleMigrations)(moduleResolutions[mod], moduleExports);
|
|
477
|
+
if (typeof revertMigration === "function") {
|
|
478
|
+
await revertMigration({
|
|
479
|
+
options,
|
|
480
|
+
container: container,
|
|
481
|
+
logger: logger_,
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
EtoModule.instances_ = new Map();
|
|
488
|
+
EtoModule.modules_ = new Map();
|
|
489
|
+
EtoModule.customLinks_ = [];
|
|
490
|
+
EtoModule.loading_ = new Map();
|
|
491
|
+
EtoModule.joinerConfig_ = new Map();
|
|
492
|
+
EtoModule.moduleResolutions_ = new Map();
|
|
493
|
+
global.EtoModule ??= EtoModule;
|
|
494
|
+
const GlobalEtoModule = global.EtoModule;
|
|
495
|
+
exports.EtoModule = GlobalEtoModule;
|
|
496
|
+
//# sourceMappingURL=eto-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eto-module.js","sourceRoot":"","sources":["../src/eto-module.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./definitions";
|
|
2
|
+
export * from "./loaders";
|
|
3
|
+
export * from "./eto-app";
|
|
4
|
+
export * from "./eto-module";
|
|
5
|
+
export * from "./link";
|
|
6
|
+
export * from "./remote-query";
|
|
7
|
+
export * from "./types";
|
|
8
|
+
export * from "./utils";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./definitions"), exports);
|
|
18
|
+
__exportStar(require("./loaders"), exports);
|
|
19
|
+
__exportStar(require("./eto-app"), exports);
|
|
20
|
+
__exportStar(require("./eto-module"), exports);
|
|
21
|
+
__exportStar(require("./link"), exports);
|
|
22
|
+
__exportStar(require("./remote-query"), exports);
|
|
23
|
+
__exportStar(require("./types"), exports);
|
|
24
|
+
__exportStar(require("./utils"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B;AAC7B,4CAAyB;AACzB,4CAAyB;AACzB,+CAA4B;AAC5B,yCAAsB;AACtB,iDAA8B;AAC9B,0CAAuB;AACvB,0CAAuB"}
|
package/dist/link.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ILinkModule, LinkDefinition, LoadedModule, ModuleJoinerRelationship } from "@etohq/types";
|
|
2
|
+
import { Modules } from "@etohq/utils";
|
|
3
|
+
/**
|
|
4
|
+
* The details of a data model's record whose linked records should be deleted. Usually used after the
|
|
5
|
+
* data model's record is deleted.
|
|
6
|
+
*
|
|
7
|
+
* The key is the data model's name. Its value is an object that has the ID of the data model's record.
|
|
8
|
+
*/
|
|
9
|
+
export type DeleteEntityInput = {
|
|
10
|
+
[moduleName: string | Modules]: Record<string, string | string[]>;
|
|
11
|
+
};
|
|
12
|
+
export type RestoreEntityInput = DeleteEntityInput;
|
|
13
|
+
type RemoteRelationship = ModuleJoinerRelationship & {
|
|
14
|
+
isPrimary: boolean;
|
|
15
|
+
isForeign: boolean;
|
|
16
|
+
};
|
|
17
|
+
type LoadedLinkModule = LoadedModule & ILinkModule;
|
|
18
|
+
type DeleteEntities = {
|
|
19
|
+
[key: string]: string[];
|
|
20
|
+
};
|
|
21
|
+
type RemovedIds = {
|
|
22
|
+
[serviceName: string]: DeleteEntities;
|
|
23
|
+
};
|
|
24
|
+
type RestoredIds = RemovedIds;
|
|
25
|
+
type CascadeError = {
|
|
26
|
+
serviceName: string;
|
|
27
|
+
method: String;
|
|
28
|
+
args: any;
|
|
29
|
+
error: Error;
|
|
30
|
+
};
|
|
31
|
+
export declare class Link {
|
|
32
|
+
private modulesMap;
|
|
33
|
+
private relationsPairs;
|
|
34
|
+
private relations;
|
|
35
|
+
constructor(modulesLoaded?: LoadedModule[]);
|
|
36
|
+
addModule(mod: LoadedModule): void;
|
|
37
|
+
private addRelationship;
|
|
38
|
+
getLinkModule(moduleA: string, moduleAKey: string, moduleB: string, moduleBKey: string): LoadedLinkModule | undefined;
|
|
39
|
+
getRelationships(): Map<string, Map<string, RemoteRelationship[]>>;
|
|
40
|
+
private getLinkableKeys;
|
|
41
|
+
private executeCascade;
|
|
42
|
+
private getLinkModuleOrThrow;
|
|
43
|
+
private getLinkDataConfig;
|
|
44
|
+
create(link: LinkDefinition | LinkDefinition[]): Promise<unknown[]>;
|
|
45
|
+
dismiss(link: LinkDefinition | LinkDefinition[]): Promise<unknown[]>;
|
|
46
|
+
delete(removedServices: DeleteEntityInput): Promise<[CascadeError[] | null, RemovedIds]>;
|
|
47
|
+
restore(removedServices: DeleteEntityInput): Promise<[CascadeError[] | null, RestoredIds]>;
|
|
48
|
+
list(link: LinkDefinition | LinkDefinition[], options?: {
|
|
49
|
+
asLinkDefinition?: boolean;
|
|
50
|
+
}): Promise<(object | LinkDefinition)[]>;
|
|
51
|
+
}
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,wBAAwB,EACzB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAY,OAAO,EAA4B,MAAM,cAAc,CAAA;AAK1E;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;CAClE,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAElD,KAAK,kBAAkB,GAAG,wBAAwB,GAAG;IACnD,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAA;AAClD,KAAK,cAAc,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAA;AACjD,KAAK,UAAU,GAAG;IAChB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAAA;CACtC,CAAA;AACD,KAAK,WAAW,GAAG,UAAU,CAAA;AAE7B,KAAK,YAAY,GAAG;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAUD,qBAAa,IAAI;IACf,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,SAAS,CAA4D;gBAEjE,aAAa,CAAC,EAAE,YAAY,EAAE;IAYnC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAwDzC,OAAO,CAAC,eAAe;IAmBvB,aAAa,CACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM;IAMpB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAIlE,OAAO,CAAC,eAAe;YAST,cAAc;IA2K5B,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,iBAAiB;IAgBnB,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyCnE,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkCpE,MAAM,CACV,eAAe,EAAE,iBAAiB,GACjC,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;IAIzC,OAAO,CACX,eAAe,EAAE,iBAAiB,GACjC,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;IAI1C,IAAI,CACR,IAAI,EAAE,cAAc,GAAG,cAAc,EAAE,EACvC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GACvC,OAAO,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;CAoCxC"}
|