@venizia/ignis-kernel 0.2.0-14 → 0.2.0-16
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/cjs/base/applications/artifact-index.d.ts +25 -0
- package/dist/cjs/base/applications/artifact-index.d.ts.map +1 -0
- package/dist/cjs/base/applications/artifact-index.js +91 -0
- package/dist/cjs/base/applications/artifact-index.js.map +1 -0
- package/dist/cjs/base/applications/boot-sequence.d.ts +1 -0
- package/dist/cjs/base/applications/boot-sequence.d.ts.map +1 -1
- package/dist/cjs/base/applications/boot-sequence.js +2 -0
- package/dist/cjs/base/applications/boot-sequence.js.map +1 -1
- package/dist/cjs/base/applications/common/types/application.d.ts +8 -0
- package/dist/cjs/base/applications/common/types/application.d.ts.map +1 -1
- package/dist/cjs/base/applications/rest.d.ts +7 -5
- package/dist/cjs/base/applications/rest.d.ts.map +1 -1
- package/dist/cjs/base/applications/rest.js +76 -60
- package/dist/cjs/base/applications/rest.js.map +1 -1
- package/dist/cjs/base/controllers/common/constants.d.ts +8 -0
- package/dist/cjs/base/controllers/common/constants.d.ts.map +1 -1
- package/dist/cjs/base/controllers/common/constants.js +11 -1
- package/dist/cjs/base/controllers/common/constants.js.map +1 -1
- package/dist/cjs/base/controllers/factory/controller.d.ts +17 -11
- package/dist/cjs/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/cjs/base/controllers/factory/crud/abstract.d.ts +2 -25
- package/dist/cjs/base/controllers/factory/crud/abstract.d.ts.map +1 -1
- package/dist/cjs/base/controllers/factory/crud/abstract.js +1 -21
- package/dist/cjs/base/controllers/factory/crud/abstract.js.map +1 -1
- package/dist/cjs/base/controllers/factory/crud/persistable.d.ts.map +1 -1
- package/dist/cjs/base/controllers/factory/crud/persistable.js +11 -10
- package/dist/cjs/base/controllers/factory/crud/persistable.js.map +1 -1
- package/dist/cjs/base/controllers/factory/crud/readable.d.ts.map +1 -1
- package/dist/cjs/base/controllers/factory/crud/readable.js +8 -8
- package/dist/cjs/base/controllers/factory/crud/readable.js.map +1 -1
- package/dist/cjs/base/controllers/rest/base.d.ts +34 -2
- package/dist/cjs/base/controllers/rest/base.d.ts.map +1 -1
- package/dist/cjs/base/controllers/rest/base.js +35 -0
- package/dist/cjs/base/controllers/rest/base.js.map +1 -1
- package/dist/cjs/base/metadata/injectable.d.ts.map +1 -1
- package/dist/cjs/base/metadata/injectable.js.map +1 -1
- package/dist/esm/base/applications/artifact-index.d.ts +25 -0
- package/dist/esm/base/applications/artifact-index.d.ts.map +1 -0
- package/dist/esm/base/applications/artifact-index.js +87 -0
- package/dist/esm/base/applications/artifact-index.js.map +1 -0
- package/dist/esm/base/applications/boot-sequence.d.ts +1 -0
- package/dist/esm/base/applications/boot-sequence.d.ts.map +1 -1
- package/dist/esm/base/applications/boot-sequence.js +2 -0
- package/dist/esm/base/applications/boot-sequence.js.map +1 -1
- package/dist/esm/base/applications/common/types/application.d.ts +8 -0
- package/dist/esm/base/applications/common/types/application.d.ts.map +1 -1
- package/dist/esm/base/applications/rest.d.ts +7 -5
- package/dist/esm/base/applications/rest.d.ts.map +1 -1
- package/dist/esm/base/applications/rest.js +76 -60
- package/dist/esm/base/applications/rest.js.map +1 -1
- package/dist/esm/base/controllers/common/constants.d.ts +8 -0
- package/dist/esm/base/controllers/common/constants.d.ts.map +1 -1
- package/dist/esm/base/controllers/common/constants.js +9 -0
- package/dist/esm/base/controllers/common/constants.js.map +1 -1
- package/dist/esm/base/controllers/factory/controller.d.ts +17 -11
- package/dist/esm/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/esm/base/controllers/factory/crud/abstract.d.ts +2 -25
- package/dist/esm/base/controllers/factory/crud/abstract.d.ts.map +1 -1
- package/dist/esm/base/controllers/factory/crud/abstract.js +1 -21
- package/dist/esm/base/controllers/factory/crud/abstract.js.map +1 -1
- package/dist/esm/base/controllers/factory/crud/persistable.d.ts.map +1 -1
- package/dist/esm/base/controllers/factory/crud/persistable.js +11 -10
- package/dist/esm/base/controllers/factory/crud/persistable.js.map +1 -1
- package/dist/esm/base/controllers/factory/crud/readable.d.ts.map +1 -1
- package/dist/esm/base/controllers/factory/crud/readable.js +8 -8
- package/dist/esm/base/controllers/factory/crud/readable.js.map +1 -1
- package/dist/esm/base/controllers/rest/base.d.ts +34 -2
- package/dist/esm/base/controllers/rest/base.d.ts.map +1 -1
- package/dist/esm/base/controllers/rest/base.js +36 -1
- package/dist/esm/base/controllers/rest/base.js.map +1 -1
- package/dist/esm/base/metadata/injectable.d.ts.map +1 -1
- package/dist/esm/base/metadata/injectable.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
2
|
+
import type { IArtifactIndex, TArtifactIndexInput } from './common';
|
|
3
|
+
/** Turns a `configs.artifacts` input into the classes to register: flattens nested indexes, drops the classes whose `when` says no, orders the rest. It never touches the container - `registerArtifacts` does the binding. */
|
|
4
|
+
export declare class ArtifactIndexHelper extends BaseHelper {
|
|
5
|
+
static readonly SINGLETON_REALM_KEY = "artifact-index-helper";
|
|
6
|
+
private constructor();
|
|
7
|
+
static getInstance(): ArtifactIndexHelper;
|
|
8
|
+
/** Every kind of the input, each already filtered by `when` and sorted by `order`, keyed the way `IArtifactIndex` is. */
|
|
9
|
+
resolve(opts: {
|
|
10
|
+
input: TArtifactIndexInput;
|
|
11
|
+
application: unknown;
|
|
12
|
+
}): Promise<Required<IArtifactIndex>>;
|
|
13
|
+
/** One index, or arrays nested to any depth, as a flat list in input order. */
|
|
14
|
+
flatten(opts: {
|
|
15
|
+
input: TArtifactIndexInput;
|
|
16
|
+
}): IArtifactIndex[];
|
|
17
|
+
/** The classes of one kind across every index, minus those whose `when` says no, sorted by `order` (stable). The `when` conditions run concurrently: each reads config and environment, never another artifact. */
|
|
18
|
+
select<Field extends keyof IArtifactIndex>(opts: {
|
|
19
|
+
indexes: IArtifactIndex[];
|
|
20
|
+
field: Field;
|
|
21
|
+
application: unknown;
|
|
22
|
+
}): Promise<NonNullable<IArtifactIndex[Field]>[number][]>;
|
|
23
|
+
private isSelected;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=artifact-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-index.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/artifact-index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpE,+NAA+N;AAC/N,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,QAAQ,CAAC,mBAAmB,2BAA2B;IAE9D,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC,yHAAyH;IACnH,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,mBAAmB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAiCrC,+EAA+E;IAC/E,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,mBAAmB,CAAA;KAAE,GAAG,cAAc,EAAE;IAS/D,mNAAmN;IAC7M,MAAM,CAAC,KAAK,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE;QACrD,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YA0B3C,UAAU;CAYzB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArtifactIndexHelper = void 0;
|
|
4
|
+
const inversion_1 = require("../../helpers/inversion");
|
|
5
|
+
const singleton_realm_1 = require("../../helpers/singleton-realm");
|
|
6
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
7
|
+
const common_1 = require("./common");
|
|
8
|
+
/** Turns a `configs.artifacts` input into the classes to register: flattens nested indexes, drops the classes whose `when` says no, orders the rest. It never touches the container - `registerArtifacts` does the binding. */
|
|
9
|
+
class ArtifactIndexHelper extends core_1.BaseHelper {
|
|
10
|
+
static { this.SINGLETON_REALM_KEY = 'artifact-index-helper'; }
|
|
11
|
+
constructor() {
|
|
12
|
+
super({ scope: ArtifactIndexHelper.name });
|
|
13
|
+
}
|
|
14
|
+
static getInstance() {
|
|
15
|
+
return singleton_realm_1.SingletonRealm.resolve({
|
|
16
|
+
key: ArtifactIndexHelper.SINGLETON_REALM_KEY,
|
|
17
|
+
create: () => new ArtifactIndexHelper(),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/** Every kind of the input, each already filtered by `when` and sorted by `order`, keyed the way `IArtifactIndex` is. */
|
|
21
|
+
async resolve(opts) {
|
|
22
|
+
const { input, application } = opts;
|
|
23
|
+
const indexes = this.flatten({ input });
|
|
24
|
+
const dataSources = await this.select({
|
|
25
|
+
indexes,
|
|
26
|
+
field: common_1.ArtifactIndexFields.DATA_SOURCES,
|
|
27
|
+
application,
|
|
28
|
+
});
|
|
29
|
+
const components = await this.select({
|
|
30
|
+
indexes,
|
|
31
|
+
field: common_1.ArtifactIndexFields.COMPONENTS,
|
|
32
|
+
application,
|
|
33
|
+
});
|
|
34
|
+
const repositories = await this.select({
|
|
35
|
+
indexes,
|
|
36
|
+
field: common_1.ArtifactIndexFields.REPOSITORIES,
|
|
37
|
+
application,
|
|
38
|
+
});
|
|
39
|
+
const services = await this.select({
|
|
40
|
+
indexes,
|
|
41
|
+
field: common_1.ArtifactIndexFields.SERVICES,
|
|
42
|
+
application,
|
|
43
|
+
});
|
|
44
|
+
const controllers = await this.select({
|
|
45
|
+
indexes,
|
|
46
|
+
field: common_1.ArtifactIndexFields.CONTROLLERS,
|
|
47
|
+
application,
|
|
48
|
+
});
|
|
49
|
+
return { dataSources, components, repositories, services, controllers };
|
|
50
|
+
}
|
|
51
|
+
/** One index, or arrays nested to any depth, as a flat list in input order. */
|
|
52
|
+
flatten(opts) {
|
|
53
|
+
const { input } = opts;
|
|
54
|
+
if (Array.isArray(input)) {
|
|
55
|
+
return input.flatMap(entry => this.flatten({ input: entry }));
|
|
56
|
+
}
|
|
57
|
+
return [input];
|
|
58
|
+
}
|
|
59
|
+
/** The classes of one kind across every index, minus those whose `when` says no, sorted by `order` (stable). The `when` conditions run concurrently: each reads config and environment, never another artifact. */
|
|
60
|
+
async select(opts) {
|
|
61
|
+
const { indexes, field, application } = opts;
|
|
62
|
+
const registry = inversion_1.MetadataRegistry.getInstance();
|
|
63
|
+
const listed = indexes.flatMap(index => [...(index[field] ?? [])]);
|
|
64
|
+
const decisions = await Promise.all(listed.map(ctor => this.isSelected({ ctor, application })));
|
|
65
|
+
const kept = listed.filter((ctor, position) => {
|
|
66
|
+
if (decisions[position]) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
this.logger.debug('Skipped by condition | kind: %s | class: %s', field, ctor.name);
|
|
70
|
+
return false;
|
|
71
|
+
});
|
|
72
|
+
return kept
|
|
73
|
+
.map((ctor, position) => ({
|
|
74
|
+
ctor,
|
|
75
|
+
position,
|
|
76
|
+
order: registry.getArtifactMetadata({ target: ctor })?.order ?? 0,
|
|
77
|
+
}))
|
|
78
|
+
.sort((a, b) => a.order - b.order || a.position - b.position)
|
|
79
|
+
.map(entry => entry.ctor);
|
|
80
|
+
}
|
|
81
|
+
async isSelected(opts) {
|
|
82
|
+
const { ctor, application } = opts;
|
|
83
|
+
const when = inversion_1.MetadataRegistry.getInstance().getArtifactMetadata({ target: ctor })?.when;
|
|
84
|
+
if (!when) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
return when({ application });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.ArtifactIndexHelper = ArtifactIndexHelper;
|
|
91
|
+
//# sourceMappingURL=artifact-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-index.js","sourceRoot":"","sources":["../../../../src/base/applications/artifact-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export declare class BootSteps {
|
|
|
10
10
|
static readonly REGISTER_CONTRIBUTED_DATA_SOURCES = "registerContributedDataSources";
|
|
11
11
|
static readonly REGISTER_CONTROLLERS = "registerControllers";
|
|
12
12
|
static readonly POST_CONFIGURE = "postConfigure";
|
|
13
|
+
static readonly VERIFY_BINDINGS = "verifyBindings";
|
|
13
14
|
static readonly SCHEME_SET: Set<string>;
|
|
14
15
|
static isValid(value: string): boolean;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-sequence.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGjF,+LAA+L;AAC/L,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qBAAqB;IACrD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,uBAAuB;IACzD,MAAM,CAAC,QAAQ,CAAC,aAAa,kBAAkB;IAC/C,MAAM,CAAC,QAAQ,CAAC,4BAA4B,gCAAgC;IAC5E,MAAM,CAAC,QAAQ,CAAC,qBAAqB,yBAAyB;IAC9D,MAAM,CAAC,QAAQ,CAAC,mBAAmB,wBAAwB;IAC3D,MAAM,CAAC,QAAQ,CAAC,iCAAiC,oCAAoC;IACrF,MAAM,CAAC,QAAQ,CAAC,oBAAoB,yBAAyB;IAC7D,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAAmB;
|
|
1
|
+
{"version":3,"file":"boot-sequence.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGjF,+LAA+L;AAC/L,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qBAAqB;IACrD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,uBAAuB;IACzD,MAAM,CAAC,QAAQ,CAAC,aAAa,kBAAkB;IAC/C,MAAM,CAAC,QAAQ,CAAC,4BAA4B,gCAAgC;IAC5E,MAAM,CAAC,QAAQ,CAAC,qBAAqB,yBAAyB;IAC9D,MAAM,CAAC,QAAQ,CAAC,mBAAmB,wBAAwB;IAC3D,MAAM,CAAC,QAAQ,CAAC,iCAAiC,oCAAoC;IACrF,MAAM,CAAC,QAAQ,CAAC,oBAAoB,yBAAyB;IAC7D,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IAEnD,MAAM,CAAC,QAAQ,CAAC,UAAU,cAWvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,2KAA2K;AAC3K,qBAAa,YAAY;IACvB,2IAA2I;IAC3I,OAAO,CAAC,MAAM,CAAC,OAAO;IAsBtB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACvB,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,iBAAiB,CAAC;KACzB,GAAG,iBAAiB,EAAE;CAMxB"}
|
|
@@ -13,6 +13,7 @@ class BootSteps {
|
|
|
13
13
|
static { this.REGISTER_CONTRIBUTED_DATA_SOURCES = 'registerContributedDataSources'; }
|
|
14
14
|
static { this.REGISTER_CONTROLLERS = 'registerControllers'; }
|
|
15
15
|
static { this.POST_CONFIGURE = 'postConfigure'; }
|
|
16
|
+
static { this.VERIFY_BINDINGS = 'verifyBindings'; }
|
|
16
17
|
static { this.SCHEME_SET = new Set([
|
|
17
18
|
this.STATIC_CONFIGURE,
|
|
18
19
|
this.REGISTER_ARTIFACTS,
|
|
@@ -23,6 +24,7 @@ class BootSteps {
|
|
|
23
24
|
this.REGISTER_CONTRIBUTED_DATA_SOURCES,
|
|
24
25
|
this.REGISTER_CONTROLLERS,
|
|
25
26
|
this.POST_CONFIGURE,
|
|
27
|
+
this.VERIFY_BINDINGS,
|
|
26
28
|
]); }
|
|
27
29
|
static isValid(value) {
|
|
28
30
|
return this.SCHEME_SET.has(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-sequence.js","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":";;;AACA,sDAAuD;AAEvD,+LAA+L;AAC/L,MAAa,SAAS;aACJ,qBAAgB,GAAG,iBAAiB,CAAC;aACrC,uBAAkB,GAAG,mBAAmB,CAAC;aACzC,kBAAa,GAAG,cAAc,CAAC;aAC/B,iCAA4B,GAAG,4BAA4B,CAAC;aAC5D,0BAAqB,GAAG,qBAAqB,CAAC;aAC9C,wBAAmB,GAAG,oBAAoB,CAAC;aAC3C,sCAAiC,GAAG,gCAAgC,CAAC;aACrE,yBAAoB,GAAG,qBAAqB,CAAC;aAC7C,mBAAc,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"boot-sequence.js","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":";;;AACA,sDAAuD;AAEvD,+LAA+L;AAC/L,MAAa,SAAS;aACJ,qBAAgB,GAAG,iBAAiB,CAAC;aACrC,uBAAkB,GAAG,mBAAmB,CAAC;aACzC,kBAAa,GAAG,cAAc,CAAC;aAC/B,iCAA4B,GAAG,4BAA4B,CAAC;aAC5D,0BAAqB,GAAG,qBAAqB,CAAC;aAC9C,wBAAmB,GAAG,oBAAoB,CAAC;aAC3C,sCAAiC,GAAG,gCAAgC,CAAC;aACrE,yBAAoB,GAAG,qBAAqB,CAAC;aAC7C,mBAAc,GAAG,eAAe,CAAC;aACjC,oBAAe,GAAG,gBAAgB,CAAC;aAEnC,eAAU,GAAG,IAAI,GAAG,CAAS;QAC3C,IAAI,CAAC,gBAAgB;QACrB,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,4BAA4B;QACjC,IAAI,CAAC,qBAAqB;QAC1B,IAAI,CAAC,mBAAmB;QACxB,IAAI,CAAC,iCAAiC;QACtC,IAAI,CAAC,oBAAoB;QACzB,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,eAAe;KACrB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AA3BH,8BA4BC;AASD,2KAA2K;AAC3K,MAAa,YAAY;IACvB,2IAA2I;IACnI,MAAM,CAAC,OAAO,CAAC,IAAoD;QACzE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,iCAAiC,MAAM,oBAAoB,KAAK,EAAE;iBAC5E,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAA,eAAQ,EAAC;oBACb,OAAO,EAAE,mCAAmC,MAAM,aAAa,OAAO,CAAC,MAAM,yBAAyB,KAAK,EAAE;iBAC9G,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAIlB;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAlCD,oCAkCC"}
|
|
@@ -24,6 +24,14 @@ export interface IApplicationConfigs {
|
|
|
24
24
|
};
|
|
25
25
|
/** Generated indexes to register before `preConfigure` - one, or an array composed from several packages. */
|
|
26
26
|
artifacts?: TArtifactIndexInput;
|
|
27
|
+
/** Boot-time checks. Without `binding`, nothing is verified, and hand registration and same-key override stay allowed. */
|
|
28
|
+
bootChecks?: {
|
|
29
|
+
binding?: {
|
|
30
|
+
doVerify: boolean;
|
|
31
|
+
allowManual: boolean;
|
|
32
|
+
allowOverride: boolean;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
27
35
|
debug?: {
|
|
28
36
|
shouldShowRoutes?: boolean;
|
|
29
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../src/base/applications/common/types/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qNAAqN;AACrN,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4PAA4P;IAC5P,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,6GAA6G;IAC7G,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,KAAK,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,yOAAyO;AACzO,MAAM,WAAW,YAAY,CAC3B,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,MAAM,GAAG,GAAG;IAE7B,cAAc,IAAI,MAAM,CAAC;IACzB,iBAAiB,IAAI,mBAAmB,CAAC;IACzC,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE1D,gBAAgB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBACf,SACE,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB;CAAG"}
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../src/base/applications/common/types/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qNAAqN;AACrN,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4PAA4P;IAC5P,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,6GAA6G;IAC7G,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,0HAA0H;IAC1H,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,OAAO,CAAC;YAAC,aAAa,EAAE,OAAO,CAAA;SAAE,CAAC;KAC/E,CAAC;IACF,KAAK,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,yOAAyO;AACzO,MAAM,WAAW,YAAY,CAC3B,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,MAAM,GAAG,GAAG;IAE7B,cAAc,IAAI,MAAM,CAAC;IACzB,iBAAiB,IAAI,mBAAmB,CAAC;IACzC,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE1D,gBAAgB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBACf,SACE,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB;CAAG"}
|
|
@@ -56,6 +56,11 @@ export declare abstract class RestApplication<AppEnv extends Env = Env, AppSchem
|
|
|
56
56
|
*/
|
|
57
57
|
protected getBootSequence(): IBootSequenceStep[];
|
|
58
58
|
initialize(): Promise<void>;
|
|
59
|
+
/** The application hook currently running, so `registerArtifact` can tell a hand registration inside `preConfigure`/`postConfigure` from one the index step made. */
|
|
60
|
+
private runningApplicationHook;
|
|
61
|
+
private runApplicationHook;
|
|
62
|
+
/** `bootChecks.binding.doVerify`: resolve every service and repository once, collect every failure, throw once with the whole list - a made-up `@inject` key or a dependency a `when` excluded then fails the boot, not the first request. */
|
|
63
|
+
protected verifyBindings(): void;
|
|
59
64
|
/** One measured log line per step, and a failure names its step before rethrowing, so a hung or failed boot is attributable without reading the sequence. */
|
|
60
65
|
protected runBootSequence(opts: {
|
|
61
66
|
steps: IBootSequenceStep[];
|
|
@@ -74,7 +79,7 @@ export declare abstract class RestApplication<AppEnv extends Env = Env, AppSchem
|
|
|
74
79
|
}) => Promise<void>;
|
|
75
80
|
}): Promise<void>;
|
|
76
81
|
protected registerDynamicBindings<T extends IConfigurable = IConfigurable>(opts: IRegisterDynamicBindingsOptions<T>): Promise<void>;
|
|
77
|
-
/** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource
|
|
82
|
+
/** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`). `allowOverride` defaults true to match `bind()`'s overwrite behavior; `allowOverride: false` on one registration, or `bootChecks.binding.allowOverride: false` for the whole application, opts into strict mode. */
|
|
78
83
|
protected assertNoBindingCollision(opts: {
|
|
79
84
|
key: string;
|
|
80
85
|
allowOverride?: boolean;
|
|
@@ -97,13 +102,10 @@ export declare abstract class RestApplication<AppEnv extends Env = Env, AppSchem
|
|
|
97
102
|
service<Base extends IService>(ctor: TClass<Base>, opts?: TMixinOpts): Binding<Base>;
|
|
98
103
|
repository<Base extends IRepository>(ctor: TClass<Base>, opts?: TMixinOpts): Binding<Base>;
|
|
99
104
|
dataSource<Base extends IDataSource>(ctor: TClass<Base>, opts?: TMixinOpts): Binding<Base>;
|
|
100
|
-
/**
|
|
105
|
+
/** The boot step body behind `configs.artifacts`, also callable by hand: registers every kind in dependency order across the given indexes. */
|
|
101
106
|
registerArtifacts(index: TArtifactIndexInput): Promise<void>;
|
|
102
107
|
/** The boot step behind `configs.artifacts`; an application with none configured registers nothing here. */
|
|
103
108
|
protected registerConfiguredArtifacts(): Promise<void>;
|
|
104
|
-
private flattenArtifactIndex;
|
|
105
|
-
/** The classes of one kind across every index, minus those whose `when` says no, sorted by `order` (stable). */
|
|
106
|
-
private selectArtifacts;
|
|
107
109
|
/** Each `@provide` method becomes a lazy provider: the component is resolved (SINGLETON) and the method called on first `get`, so a provided value may depend on datasources or secrets that do not exist yet at registration time. */
|
|
108
110
|
private bindProvidedKeys;
|
|
109
111
|
registerDataSources(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAGL,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@ const constants_1 = require("../controllers/common/constants");
|
|
|
12
12
|
const app_error_middleware_1 = require("../middlewares/app-error/app-error.middleware");
|
|
13
13
|
const not_found_middleware_1 = require("../middlewares/not-found/not-found.middleware");
|
|
14
14
|
const abstract_1 = require("./abstract");
|
|
15
|
+
const artifact_index_1 = require("./artifact-index");
|
|
15
16
|
const boot_sequence_1 = require("./boot-sequence");
|
|
16
|
-
const common_1 = require("./common");
|
|
17
17
|
/** Adds the `OpenAPIHono` router surface on top of `AbstractApplication` - no listening server, so this is the layer a browser Worker or gRPC-only host can extend without pulling in `Bun.serve` / `@hono/node-server`. */
|
|
18
18
|
class RestApplication extends abstract_1.AbstractApplication {
|
|
19
19
|
constructor(opts) {
|
|
@@ -78,7 +78,13 @@ class RestApplication extends abstract_1.AbstractApplication {
|
|
|
78
78
|
return [
|
|
79
79
|
{ name: boot_sequence_1.BootSteps.STATIC_CONFIGURE, run: () => this.staticConfigure() },
|
|
80
80
|
{ name: boot_sequence_1.BootSteps.REGISTER_ARTIFACTS, run: () => this.registerConfiguredArtifacts() },
|
|
81
|
-
{
|
|
81
|
+
{
|
|
82
|
+
name: boot_sequence_1.BootSteps.PRE_CONFIGURE,
|
|
83
|
+
run: () => this.runApplicationHook({
|
|
84
|
+
name: boot_sequence_1.BootSteps.PRE_CONFIGURE,
|
|
85
|
+
hook: () => this.preConfigure(),
|
|
86
|
+
}),
|
|
87
|
+
},
|
|
82
88
|
{ name: boot_sequence_1.BootSteps.REGISTER_DATA_SOURCES, run: () => this.registerDataSources() },
|
|
83
89
|
{ name: boot_sequence_1.BootSteps.REGISTER_COMPONENTS, run: () => this.registerComponents() },
|
|
84
90
|
{
|
|
@@ -86,12 +92,56 @@ class RestApplication extends abstract_1.AbstractApplication {
|
|
|
86
92
|
run: () => this.registerContributedDataSources(),
|
|
87
93
|
},
|
|
88
94
|
{ name: boot_sequence_1.BootSteps.REGISTER_CONTROLLERS, run: () => this.registerControllers() },
|
|
89
|
-
{
|
|
95
|
+
{
|
|
96
|
+
name: boot_sequence_1.BootSteps.POST_CONFIGURE,
|
|
97
|
+
run: () => this.runApplicationHook({
|
|
98
|
+
name: boot_sequence_1.BootSteps.POST_CONFIGURE,
|
|
99
|
+
hook: () => this.postConfigure(),
|
|
100
|
+
}),
|
|
101
|
+
},
|
|
102
|
+
{ name: boot_sequence_1.BootSteps.VERIFY_BINDINGS, run: () => this.verifyBindings() },
|
|
90
103
|
];
|
|
91
104
|
}
|
|
92
105
|
async initialize() {
|
|
93
106
|
await this.runBootSequence({ steps: this.getBootSequence() });
|
|
94
107
|
}
|
|
108
|
+
async runApplicationHook(opts) {
|
|
109
|
+
this.runningApplicationHook = opts.name;
|
|
110
|
+
try {
|
|
111
|
+
await opts.hook();
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
this.runningApplicationHook = undefined;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/** `bootChecks.binding.doVerify`: resolve every service and repository once, collect every failure, throw once with the whole list - a made-up `@inject` key or a dependency a `when` excluded then fails the boot, not the first request. */
|
|
118
|
+
verifyBindings() {
|
|
119
|
+
if (!this.configs.bootChecks?.binding?.doVerify) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const logger = this.logger.for(this.verifyBindings.name);
|
|
123
|
+
const tags = [bindings_1.BindingNamespaces.SERVICE, bindings_1.BindingNamespaces.REPOSITORY];
|
|
124
|
+
const failures = [];
|
|
125
|
+
let verified = 0;
|
|
126
|
+
for (const tag of tags) {
|
|
127
|
+
const bindings = this.findByTag({ tag });
|
|
128
|
+
for (const binding of bindings) {
|
|
129
|
+
try {
|
|
130
|
+
this.get({ key: binding.key });
|
|
131
|
+
verified += 1;
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
failures.push(`${binding.key}: ${error instanceof Error ? error.message : String(error)}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (failures.length > 0) {
|
|
139
|
+
throw (0, core_1.getError)({
|
|
140
|
+
message: `[${this.verifyBindings.name}] ${failures.length} binding(s) cannot be resolved | ${failures.join(' | ')}`,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
logger.info('Every service and repository binding resolves | verified: %d', verified);
|
|
144
|
+
}
|
|
95
145
|
/** One measured log line per step, and a failure names its step before rethrowing, so a hung or failed boot is attributable without reading the sequence. */
|
|
96
146
|
async runBootSequence(opts) {
|
|
97
147
|
const { steps } = opts;
|
|
@@ -177,20 +227,31 @@ class RestApplication extends abstract_1.AbstractApplication {
|
|
|
177
227
|
},
|
|
178
228
|
});
|
|
179
229
|
}
|
|
180
|
-
/** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource
|
|
230
|
+
/** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`). `allowOverride` defaults true to match `bind()`'s overwrite behavior; `allowOverride: false` on one registration, or `bootChecks.binding.allowOverride: false` for the whole application, opts into strict mode. */
|
|
181
231
|
assertNoBindingCollision(opts) {
|
|
182
|
-
const { key,
|
|
232
|
+
const { key, caller } = opts;
|
|
233
|
+
const allowOverride = opts.allowOverride ?? this.configs.bootChecks?.binding?.allowOverride ?? true;
|
|
183
234
|
if (allowOverride || !this.isBound({ key })) {
|
|
184
235
|
return;
|
|
185
236
|
}
|
|
237
|
+
const reason = opts.allowOverride === false
|
|
238
|
+
? `'allowOverride: false' was set and this key collides with an existing binding | Use a distinct 'opts.binding' key, or drop 'allowOverride: false' if overriding is intentional`
|
|
239
|
+
: `'bootChecks.binding.allowOverride' is false and this key collides with an existing binding | Use a distinct 'opts.binding' key, or set 'allowOverride: true' on this registration if overriding is intentional`;
|
|
186
240
|
throw (0, core_1.getError)({
|
|
187
|
-
message: `[${caller}] Binding key already registered: '${key}' |
|
|
241
|
+
message: `[${caller}] Binding key already registered: '${key}' | ${reason}`,
|
|
188
242
|
});
|
|
189
243
|
}
|
|
190
244
|
/** Resolution order for every registration: explicit `opts` > the class's `@injectable` defaults > the derived key and the kind's default scope. `order` and `when` are `registerArtifacts`' concern, not this one. */
|
|
191
245
|
registerArtifact(opts) {
|
|
192
246
|
const { ctor, namespace, defaultScope, caller } = opts;
|
|
193
247
|
const declared = inversion_1.MetadataRegistry.getInstance().getArtifactMetadata({ target: ctor });
|
|
248
|
+
if (this.runningApplicationHook &&
|
|
249
|
+
this.configs.artifacts &&
|
|
250
|
+
this.configs.bootChecks?.binding?.allowManual === false) {
|
|
251
|
+
throw (0, core_1.getError)({
|
|
252
|
+
message: `[${caller}] '${ctor.name}' is registered by hand inside ${this.runningApplicationHook}() while 'configs.artifacts' is set and 'bootChecks.binding.allowManual' is false | Move the class into the generated index (or an explicit entry of 'configs.artifacts'), or allow manual registration`,
|
|
253
|
+
});
|
|
254
|
+
}
|
|
194
255
|
const key = inversion_1.BindingKeys.build(opts.opts?.binding ?? declared?.binding ?? { namespace, key: ctor.name });
|
|
195
256
|
this.assertNoBindingCollision({
|
|
196
257
|
key,
|
|
@@ -288,40 +349,26 @@ class RestApplication extends abstract_1.AbstractApplication {
|
|
|
288
349
|
opts,
|
|
289
350
|
});
|
|
290
351
|
}
|
|
291
|
-
/**
|
|
352
|
+
/** The boot step body behind `configs.artifacts`, also callable by hand: registers every kind in dependency order across the given indexes. */
|
|
292
353
|
async registerArtifacts(index) {
|
|
293
|
-
const
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
field: common_1.ArtifactIndexFields.DATA_SOURCES,
|
|
354
|
+
const resolved = await artifact_index_1.ArtifactIndexHelper.getInstance().resolve({
|
|
355
|
+
input: index,
|
|
356
|
+
application: this,
|
|
297
357
|
});
|
|
298
|
-
for (const ctor of dataSources) {
|
|
358
|
+
for (const ctor of resolved.dataSources) {
|
|
299
359
|
this.dataSource(ctor);
|
|
300
360
|
}
|
|
301
|
-
const
|
|
302
|
-
indexes,
|
|
303
|
-
field: common_1.ArtifactIndexFields.COMPONENTS,
|
|
304
|
-
});
|
|
305
|
-
for (const ctor of components) {
|
|
361
|
+
for (const ctor of resolved.components) {
|
|
306
362
|
this.component(ctor);
|
|
307
363
|
this.bindProvidedKeys({ ctor });
|
|
308
364
|
}
|
|
309
|
-
const
|
|
310
|
-
indexes,
|
|
311
|
-
field: common_1.ArtifactIndexFields.REPOSITORIES,
|
|
312
|
-
});
|
|
313
|
-
for (const ctor of repositories) {
|
|
365
|
+
for (const ctor of resolved.repositories) {
|
|
314
366
|
this.repository(ctor);
|
|
315
367
|
}
|
|
316
|
-
|
|
317
|
-
for (const ctor of services) {
|
|
368
|
+
for (const ctor of resolved.services) {
|
|
318
369
|
this.service(ctor);
|
|
319
370
|
}
|
|
320
|
-
const
|
|
321
|
-
indexes,
|
|
322
|
-
field: common_1.ArtifactIndexFields.CONTROLLERS,
|
|
323
|
-
});
|
|
324
|
-
for (const ctor of controllers) {
|
|
371
|
+
for (const ctor of resolved.controllers) {
|
|
325
372
|
this.controller(ctor);
|
|
326
373
|
}
|
|
327
374
|
}
|
|
@@ -333,37 +380,6 @@ class RestApplication extends abstract_1.AbstractApplication {
|
|
|
333
380
|
}
|
|
334
381
|
await this.registerArtifacts(artifacts);
|
|
335
382
|
}
|
|
336
|
-
flattenArtifactIndex(opts) {
|
|
337
|
-
const { input } = opts;
|
|
338
|
-
if (Array.isArray(input)) {
|
|
339
|
-
return input.flatMap(entry => this.flattenArtifactIndex({ input: entry }));
|
|
340
|
-
}
|
|
341
|
-
return [input];
|
|
342
|
-
}
|
|
343
|
-
/** The classes of one kind across every index, minus those whose `when` says no, sorted by `order` (stable). */
|
|
344
|
-
async selectArtifacts(opts) {
|
|
345
|
-
const { indexes, field } = opts;
|
|
346
|
-
const logger = this.logger.for(this.registerArtifacts.name);
|
|
347
|
-
const registry = inversion_1.MetadataRegistry.getInstance();
|
|
348
|
-
const listed = indexes.flatMap(index => [...(index[field] ?? [])]);
|
|
349
|
-
const kept = [];
|
|
350
|
-
for (const ctor of listed) {
|
|
351
|
-
const when = registry.getArtifactMetadata({ target: ctor })?.when;
|
|
352
|
-
if (!when || (await when({ application: this }))) {
|
|
353
|
-
kept.push(ctor);
|
|
354
|
-
continue;
|
|
355
|
-
}
|
|
356
|
-
logger.debug('Skipped by condition | kind: %s | class: %s', field, ctor.name);
|
|
357
|
-
}
|
|
358
|
-
return kept
|
|
359
|
-
.map((ctor, position) => ({
|
|
360
|
-
ctor,
|
|
361
|
-
position,
|
|
362
|
-
order: registry.getArtifactMetadata({ target: ctor })?.order ?? 0,
|
|
363
|
-
}))
|
|
364
|
-
.sort((a, b) => a.order - b.order || a.position - b.position)
|
|
365
|
-
.map(entry => entry.ctor);
|
|
366
|
-
}
|
|
367
383
|
/** Each `@provide` method becomes a lazy provider: the component is resolved (SINGLETON) and the method called on first `get`, so a provided value may depend on datasources or secrets that do not exist yet at registration time. */
|
|
368
384
|
bindProvidedKeys(opts) {
|
|
369
385
|
const { ctor } = opts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,14 @@ export declare class ControllerTransports {
|
|
|
7
7
|
static readonly GRPC = "grpc";
|
|
8
8
|
}
|
|
9
9
|
export type TControllerTransport = TConstValue<typeof ControllerTransports>;
|
|
10
|
+
/** Shape of `data` in a `{ count, data }` response, echoed in the `X-Response-Format` header. */
|
|
11
|
+
export declare class ResponseFormats {
|
|
12
|
+
static readonly OBJECT = "object";
|
|
13
|
+
static readonly ARRAY = "array";
|
|
14
|
+
static readonly SCHEME_SET: Set<string>;
|
|
15
|
+
static isValid(value: string): boolean;
|
|
16
|
+
}
|
|
17
|
+
export type TResponseFormat = TConstValue<typeof ResponseFormats>;
|
|
10
18
|
/** Standard REST API path constants for CRUD controllers. */
|
|
11
19
|
export declare class RestPaths {
|
|
12
20
|
static readonly ROOT = "/";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,oDAAoD;AACpD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,6DAA6D;AAC7D,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC;AAED,eAAO,MAAM,gBAAgB;;;;iBAkB3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAS3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAAkD,CAAC;AAErF,eAAO,MAAM,qBAAqB,EAAE,gBAanC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,oDAAoD;AACpD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,iGAAiG;AACjG,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA8C;IAExE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,6DAA6D;AAC7D,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC;AAED,eAAO,MAAM,gBAAgB;;;;iBAkB3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAS3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAAkD,CAAC;AAErF,eAAO,MAAM,qBAAqB,EAAE,gBAanC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findResponseHeaders = exports.commonResponseHeaders = exports.defaultRequestHeaders = exports.countableHeaders = exports.trackableHeaders = exports.RestPaths = exports.ControllerTransports = void 0;
|
|
3
|
+
exports.findResponseHeaders = exports.commonResponseHeaders = exports.defaultRequestHeaders = exports.countableHeaders = exports.trackableHeaders = exports.RestPaths = exports.ResponseFormats = exports.ControllerTransports = void 0;
|
|
4
4
|
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
5
5
|
const common_1 = require("@venizia/ignis-helpers/common");
|
|
6
6
|
/** Transport protocol constants for controllers. */
|
|
@@ -9,6 +9,16 @@ class ControllerTransports {
|
|
|
9
9
|
static { this.GRPC = 'grpc'; }
|
|
10
10
|
}
|
|
11
11
|
exports.ControllerTransports = ControllerTransports;
|
|
12
|
+
/** Shape of `data` in a `{ count, data }` response, echoed in the `X-Response-Format` header. */
|
|
13
|
+
class ResponseFormats {
|
|
14
|
+
static { this.OBJECT = 'object'; }
|
|
15
|
+
static { this.ARRAY = 'array'; }
|
|
16
|
+
static { this.SCHEME_SET = new Set([this.OBJECT, this.ARRAY]); }
|
|
17
|
+
static isValid(value) {
|
|
18
|
+
return this.SCHEME_SET.has(value);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.ResponseFormats = ResponseFormats;
|
|
12
22
|
/** Standard REST API path constants for CRUD controllers. */
|
|
13
23
|
class RestPaths {
|
|
14
24
|
static { this.ROOT = '/'; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":";;;AAAA,mDAAsC;AAEtC,0DAAqD;AAGrD,oDAAoD;AACpD,MAAa,oBAAoB;aACf,SAAI,GAAG,MAAM,CAAC;aACd,SAAI,GAAG,MAAM,CAAC;;AAFhC,oDAGC;AAID,6DAA6D;AAC7D,MAAa,SAAS;aACJ,SAAI,GAAG,GAAG,CAAC;aACX,UAAK,GAAG,QAAQ,CAAC;aACjB,aAAQ,GAAG,WAAW,CAAC;;AAHzC,8BAIC;AAEY,QAAA,gBAAgB,GAAG,eAAC,CAAC,MAAM,CAAC;IACvC,CAAC,aAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,eAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC/D,WAAW,EAAE,qBAAqB;KACnC,CAAC;IACF,CAAC,aAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,eAAC;SAC9B,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;KACvC,CAAC;IACJ,CAAC,aAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,eAAC;SAClC,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC;KACjD,CAAC;CACL,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,eAAC,CAAC,MAAM,CAAC;IACvC,CAAC,aAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,eAAC;SACjC,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EACT,0GAA0G;QAC5G,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC;KACtC,CAAC;CACL,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,wBAAgB,CAAC,MAAM,CAAC,wBAAgB,CAAC,KAAK,CAAC,CAAC;AAExE,QAAA,qBAAqB,GAAqB;IACrD,CAAC,aAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QACjC,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,CAAC,aAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAClC,WAAW,EAAE,+BAA+B;QAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;KACzD;IACD,CAAC,aAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC9B,WAAW,EAAE,2BAA2B;QACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;KAC1D;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAqB;IACnD,GAAG,6BAAqB;IACxB,CAAC,aAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC5B,WAAW,EAAE,yDAAyD;QACtE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE;KAChF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"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"}
|