@tsgonest/runtime 0.1.0 → 0.2.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/discovery.d.ts +21 -18
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +9 -15
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/discovery.d.ts
CHANGED
|
@@ -9,22 +9,29 @@ export interface RouteMapping {
|
|
|
9
9
|
isArray?: boolean;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* A companion entry in the manifest, pointing to a single .tsgonest.js file
|
|
13
|
+
* that exports validate, assert, serialize, and schema functions.
|
|
14
14
|
*/
|
|
15
|
-
export interface
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
export interface CompanionEntry {
|
|
16
|
+
/** Relative path to the companion JS file. */
|
|
17
|
+
file: string;
|
|
18
|
+
/** Name of the exported validate function. */
|
|
19
|
+
validate: string;
|
|
20
|
+
/** Name of the exported assert function. */
|
|
21
|
+
assert: string;
|
|
22
|
+
/** Name of the exported serialize function. */
|
|
23
|
+
serialize: string;
|
|
24
|
+
/** Name of the exported schema function. */
|
|
25
|
+
schema: string;
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
|
-
*
|
|
28
|
+
* The manifest file generated by tsgonest during compilation.
|
|
29
|
+
* Maps DTO type names to their companion entries.
|
|
22
30
|
*/
|
|
23
|
-
export interface
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
fn: string;
|
|
31
|
+
export interface TsgonestManifest {
|
|
32
|
+
version: number;
|
|
33
|
+
companions: Record<string, CompanionEntry>;
|
|
34
|
+
routes?: Record<string, RouteMapping>;
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* Discovers and loads companion file functions from the tsgonest manifest.
|
|
@@ -62,13 +69,9 @@ export declare class CompanionDiscovery {
|
|
|
62
69
|
*/
|
|
63
70
|
hasSerializer(typeName: string): boolean;
|
|
64
71
|
/**
|
|
65
|
-
* Get all registered
|
|
66
|
-
*/
|
|
67
|
-
getValidatorTypes(): string[];
|
|
68
|
-
/**
|
|
69
|
-
* Get all registered serializer type names.
|
|
72
|
+
* Get all registered companion type names.
|
|
70
73
|
*/
|
|
71
|
-
|
|
74
|
+
getCompanionTypes(): string[];
|
|
72
75
|
/**
|
|
73
76
|
* Look up the return type for a controller method from the route map.
|
|
74
77
|
* @param controllerName The controller class name (e.g., "UserController").
|
package/dist/discovery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACvC;AAUD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAGX;IAEF;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAgBtC;;;OAGG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAU5D;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,IAAI;IAyBpE;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,GAAG,IAAI;IAyBpE;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;;;OAKG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAMhF;;;;OAIG;IACH,qBAAqB,CACnB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB;QAAE,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;CASvE"}
|
package/dist/discovery.js
CHANGED
|
@@ -57,14 +57,14 @@ class CompanionDiscovery {
|
|
|
57
57
|
return cached;
|
|
58
58
|
if (!this.manifest)
|
|
59
59
|
return null;
|
|
60
|
-
const entry = this.manifest.
|
|
60
|
+
const entry = this.manifest.companions[typeName];
|
|
61
61
|
if (!entry)
|
|
62
62
|
return null;
|
|
63
63
|
try {
|
|
64
64
|
const filePath = (0, path_1.join)(this.manifestDir, entry.file);
|
|
65
65
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
66
66
|
const mod = require(filePath);
|
|
67
|
-
const fn = mod[entry.
|
|
67
|
+
const fn = mod[entry.assert];
|
|
68
68
|
if (typeof fn === 'function') {
|
|
69
69
|
this.cache.validators.set(typeName, fn);
|
|
70
70
|
return fn;
|
|
@@ -86,14 +86,14 @@ class CompanionDiscovery {
|
|
|
86
86
|
return cached;
|
|
87
87
|
if (!this.manifest)
|
|
88
88
|
return null;
|
|
89
|
-
const entry = this.manifest.
|
|
89
|
+
const entry = this.manifest.companions[typeName];
|
|
90
90
|
if (!entry)
|
|
91
91
|
return null;
|
|
92
92
|
try {
|
|
93
93
|
const filePath = (0, path_1.join)(this.manifestDir, entry.file);
|
|
94
94
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
95
95
|
const mod = require(filePath);
|
|
96
|
-
const fn = mod[entry.
|
|
96
|
+
const fn = mod[entry.serialize];
|
|
97
97
|
if (typeof fn === 'function') {
|
|
98
98
|
this.cache.serializers.set(typeName, fn);
|
|
99
99
|
return fn;
|
|
@@ -108,25 +108,19 @@ class CompanionDiscovery {
|
|
|
108
108
|
* Check if a validator exists for a type.
|
|
109
109
|
*/
|
|
110
110
|
hasValidator(typeName) {
|
|
111
|
-
return this.manifest?.
|
|
111
|
+
return this.manifest?.companions[typeName]?.validate != null;
|
|
112
112
|
}
|
|
113
113
|
/**
|
|
114
114
|
* Check if a serializer exists for a type.
|
|
115
115
|
*/
|
|
116
116
|
hasSerializer(typeName) {
|
|
117
|
-
return this.manifest?.
|
|
117
|
+
return this.manifest?.companions[typeName]?.serialize != null;
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
* Get all registered
|
|
120
|
+
* Get all registered companion type names.
|
|
121
121
|
*/
|
|
122
|
-
|
|
123
|
-
return this.manifest ? Object.keys(this.manifest.
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get all registered serializer type names.
|
|
127
|
-
*/
|
|
128
|
-
getSerializerTypes() {
|
|
129
|
-
return this.manifest ? Object.keys(this.manifest.serializers) : [];
|
|
122
|
+
getCompanionTypes() {
|
|
123
|
+
return this.manifest ? Object.keys(this.manifest.companions) : [];
|
|
130
124
|
}
|
|
131
125
|
/**
|
|
132
126
|
* Look up the return type for a controller method from the route map.
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":";;;AAAA,+BAAqC;AACrC,2BAA8C;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":";;;AAAA,+BAAqC;AACrC,2BAA8C;AAgD9C;;GAEG;AACH,MAAa,kBAAkB;IACrB,QAAQ,GAA4B,IAAI,CAAC;IACzC,WAAW,GAAW,EAAE,CAAC;IACzB,KAAK,GAAkB;QAC7B,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;IAEF;;;OAGG;IACH,YAAY,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAqB,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,IAAY,EAAE,OAAe;QAChD,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,QAAgB;QAC3B,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,8DAA8D;YAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,QAAgB;QAC5B,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,8DAA8D;YAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,cAAsB,EAAE,UAAkB;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,cAAc,IAAI,UAAU,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,cAAsB,EACtB,UAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;IAC3D,CAAC;CACF;AAtJD,gDAsJC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type { FastInterceptorOptions } from './fast-interceptor';
|
|
|
7
7
|
export { TsgonestValidationError } from './errors';
|
|
8
8
|
export type { ValidationErrorDetail } from './errors';
|
|
9
9
|
export { CompanionDiscovery } from './discovery';
|
|
10
|
-
export type { TsgonestManifest,
|
|
10
|
+
export type { TsgonestManifest, CompanionEntry, RouteMapping } from './discovery';
|
|
11
11
|
export { defineConfig } from './config';
|
|
12
12
|
export type { TsgonestConfig } from './config';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
|
package/package.json
CHANGED