@decaf-ts/decoration 0.6.4 → 0.8.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/README.md +49 -1
- package/dist/decoration.cjs +1 -1
- package/dist/decoration.cjs.map +1 -1
- package/dist/decoration.js +1 -1
- package/dist/decoration.js.map +1 -1
- package/lib/constants.cjs +10 -1
- package/lib/constants.d.ts +8 -0
- package/lib/constants.js.map +1 -1
- package/lib/decoration/Decoration.cjs +275 -42
- package/lib/decoration/Decoration.d.ts +19 -12
- package/lib/decoration/Decoration.js.map +1 -1
- package/lib/decorators.cjs +56 -17
- package/lib/decorators.d.ts +3 -2
- package/lib/decorators.js.map +1 -1
- package/lib/esm/constants.d.ts +8 -0
- package/lib/esm/constants.js +9 -0
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/decoration/Decoration.d.ts +19 -12
- package/lib/esm/decoration/Decoration.js +276 -43
- package/lib/esm/decoration/Decoration.js.map +1 -1
- package/lib/esm/decorators.d.ts +3 -2
- package/lib/esm/decorators.js +55 -17
- package/lib/esm/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -8
- package/lib/esm/index.js +1 -10
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/metadata/Metadata.d.ts +4 -0
- package/lib/esm/metadata/Metadata.js +42 -1
- package/lib/esm/metadata/Metadata.js.map +1 -1
- package/lib/esm/metadata/types.d.ts +1 -0
- package/lib/esm/version.d.ts +9 -0
- package/lib/esm/version.js +10 -0
- package/lib/esm/version.js.map +1 -0
- package/lib/index.cjs +1 -11
- package/lib/index.d.ts +1 -8
- package/lib/index.js.map +1 -1
- package/lib/metadata/Metadata.cjs +41 -0
- package/lib/metadata/Metadata.d.ts +4 -0
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/metadata/types.d.ts +1 -0
- package/lib/version.cjs +13 -0
- package/lib/version.d.ts +9 -0
- package/lib/version.js.map +1 -0
- package/package.json +1 -1
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;AAaA,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/constants.d.ts
CHANGED
|
@@ -40,6 +40,10 @@ export declare enum DecorationKeys {
|
|
|
40
40
|
CONSTRUCTOR = "__original",
|
|
41
41
|
/** @description Collected parameter metadata for configured decorators. */
|
|
42
42
|
PARAMETERS = "parameters",
|
|
43
|
+
/** @description identifies the decoration flavour. */
|
|
44
|
+
FLAVOUR = "flavour",
|
|
45
|
+
/** @description identifies if the model has pending decoration. */
|
|
46
|
+
DECORATION = "decoration",
|
|
43
47
|
/** @description Reflect metadata key for a property's design type. */
|
|
44
48
|
DESIGN_TYPE = "design:type",
|
|
45
49
|
/** @description Reflect metadata key for recorded constructor parameter types. */
|
|
@@ -47,6 +51,10 @@ export declare enum DecorationKeys {
|
|
|
47
51
|
/** @description Reflect metadata key for a method's return type. */
|
|
48
52
|
DESIGN_RETURN = "design:returntype"
|
|
49
53
|
}
|
|
54
|
+
export declare enum DecorationState {
|
|
55
|
+
PENDING = "pending",
|
|
56
|
+
ONGOING = "ongoing"
|
|
57
|
+
}
|
|
50
58
|
/**
|
|
51
59
|
* @description Default metadata instance.
|
|
52
60
|
* @summary Provides the default metadata shape used when initialising new metadata entries for a model.
|
package/lib/esm/constants.js
CHANGED
|
@@ -40,6 +40,10 @@ export var DecorationKeys;
|
|
|
40
40
|
DecorationKeys["CONSTRUCTOR"] = "__original";
|
|
41
41
|
/** @description Collected parameter metadata for configured decorators. */
|
|
42
42
|
DecorationKeys["PARAMETERS"] = "parameters";
|
|
43
|
+
/** @description identifies the decoration flavour. */
|
|
44
|
+
DecorationKeys["FLAVOUR"] = "flavour";
|
|
45
|
+
/** @description identifies if the model has pending decoration. */
|
|
46
|
+
DecorationKeys["DECORATION"] = "decoration";
|
|
43
47
|
/** @description Reflect metadata key for a property's design type. */
|
|
44
48
|
DecorationKeys["DESIGN_TYPE"] = "design:type";
|
|
45
49
|
/** @description Reflect metadata key for recorded constructor parameter types. */
|
|
@@ -47,6 +51,11 @@ export var DecorationKeys;
|
|
|
47
51
|
/** @description Reflect metadata key for a method's return type. */
|
|
48
52
|
DecorationKeys["DESIGN_RETURN"] = "design:returntype";
|
|
49
53
|
})(DecorationKeys || (DecorationKeys = {}));
|
|
54
|
+
export var DecorationState;
|
|
55
|
+
(function (DecorationState) {
|
|
56
|
+
DecorationState["PENDING"] = "pending";
|
|
57
|
+
DecorationState["ONGOING"] = "ongoing";
|
|
58
|
+
})(DecorationState || (DecorationState = {}));
|
|
50
59
|
/**
|
|
51
60
|
* @description Default metadata instance.
|
|
52
61
|
* @summary Provides the default metadata shape used when initialising new metadata entries for a model.
|
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,cA2BX;AA3BD,WAAY,cAAc;IACxB,8EAA8E;IAC9E,yCAAuB,CAAA;IACvB,qFAAqF;IACrF,qCAA+B,CAAA;IAC/B,yEAAyE;IACzE,2CAAyB,CAAA;IACzB,uEAAuE;IACvE,qCAAmB,CAAA;IACnB,iFAAiF;IACjF,iCAAe,CAAA;IACf,wEAAwE;IACxE,6CAA2B,CAAA;IAC3B,mFAAmF;IACnF,4CAA0B,CAAA;IAC1B,2EAA2E;IAC3E,2CAAyB,CAAA;IACzB,sDAAsD;IACtD,qCAAmB,CAAA;IACnB,mEAAmE;IACnE,2CAAyB,CAAA;IACzB,sEAAsE;IACtE,6CAA2B,CAAA;IAC3B,kFAAkF;IAClF,qDAAmC,CAAA;IACnC,oEAAoE;IACpE,qDAAmC,CAAA;AACrC,CAAC,EA3BW,cAAc,KAAd,cAAc,QA2BzB;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE;CACC,CAAC"}
|
|
@@ -76,6 +76,8 @@ export type ExtendDecoratorData = DecoratorTypes | Omit<DecoratorFactoryArgs, "a
|
|
|
76
76
|
*/
|
|
77
77
|
export declare class Decoration implements IDecorationBuilder {
|
|
78
78
|
private flavour;
|
|
79
|
+
static defaultFlavour: string;
|
|
80
|
+
private static targetStates;
|
|
79
81
|
/**
|
|
80
82
|
* @description Static map of registered decorators.
|
|
81
83
|
* @summary Stores all registered decorators organised by key and flavour.
|
|
@@ -99,6 +101,20 @@ export declare class Decoration implements IDecorationBuilder {
|
|
|
99
101
|
*/
|
|
100
102
|
private key?;
|
|
101
103
|
constructor(flavour?: string);
|
|
104
|
+
/**
|
|
105
|
+
* Register a decorator operation to be executed after class decorator runs.
|
|
106
|
+
* This solves the execution order issue: property decorators run before class decorators.
|
|
107
|
+
*
|
|
108
|
+
* @param target - The class being decorated
|
|
109
|
+
* @param callback - Function to execute once flavour is resolved
|
|
110
|
+
* @param propertyKey - Optional property key for property decorators
|
|
111
|
+
* @returns Unique key for this registration
|
|
112
|
+
*/
|
|
113
|
+
private static getTargetState;
|
|
114
|
+
private static applyPendingEntry;
|
|
115
|
+
protected static markPending(owner: any): void;
|
|
116
|
+
protected static registerPendingDecorator(owner: any, target: any, callback: (flavour: string, overrides?: Record<number, any[]>) => PropertyDecorator | MethodDecorator, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<any> | number, argsOverride?: Record<number, any[]>): string;
|
|
117
|
+
protected static resolvePendingDecorators(target: any, flavour?: string): void;
|
|
102
118
|
/**
|
|
103
119
|
* @description Sets the key for the decoration builder.
|
|
104
120
|
* @summary Initialises a new decoration chain with the specified key.
|
|
@@ -114,6 +130,7 @@ export declare class Decoration implements IDecorationBuilder {
|
|
|
114
130
|
* @return {this} Current instance for chaining.
|
|
115
131
|
*/
|
|
116
132
|
private decorate;
|
|
133
|
+
private snapshotDecoratorArgs;
|
|
117
134
|
/**
|
|
118
135
|
* @description Defines the base decorators.
|
|
119
136
|
* @summary Sets the primary decorators for the current context.
|
|
@@ -150,11 +167,7 @@ export declare class Decoration implements IDecorationBuilder {
|
|
|
150
167
|
* A->>U: invoke decorator(target, key?, desc?)
|
|
151
168
|
* end
|
|
152
169
|
*/
|
|
153
|
-
protected decoratorFactory(key: string, f?: string): (target: object, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) =>
|
|
154
|
-
target: object;
|
|
155
|
-
propertyKey: any;
|
|
156
|
-
descriptor: TypedPropertyDescriptor<any> | undefined;
|
|
157
|
-
};
|
|
170
|
+
protected decoratorFactory(key: string, f?: string, overrides?: Record<number, any[]>): (target: object, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => object | undefined;
|
|
158
171
|
/**
|
|
159
172
|
* @description Creates the final decorator function.
|
|
160
173
|
* @summary Builds and returns the decorator factory function.
|
|
@@ -171,13 +184,7 @@ export declare class Decoration implements IDecorationBuilder {
|
|
|
171
184
|
* @return {void}
|
|
172
185
|
*/
|
|
173
186
|
private static register;
|
|
174
|
-
|
|
175
|
-
* @description Sets the global flavour resolver.
|
|
176
|
-
* @summary Configures the function used to determine decorator flavours.
|
|
177
|
-
* @param {FlavourResolver} resolver Function to resolve flavours.
|
|
178
|
-
* @return {void}
|
|
179
|
-
*/
|
|
180
|
-
static setFlavourResolver(resolver: FlavourResolver): void;
|
|
187
|
+
static setResolver(resolver: FlavourResolver): void;
|
|
181
188
|
/**
|
|
182
189
|
* @description Convenience static entry to start a decoration builder.
|
|
183
190
|
* @summary Creates a new Decoration instance and initiates the builder chain with the provided key.
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
import { DefaultFlavour } from "./../constants.js";
|
|
1
|
+
import { DecorationKeys, DecorationState, DefaultFlavour } from "./../constants.js";
|
|
2
|
+
import { Metadata } from "./../metadata/Metadata.js";
|
|
3
|
+
import { method, prop, uses } from "./../decorators.js";
|
|
2
4
|
/**
|
|
3
5
|
* @description Default resolver that returns the current default flavour.
|
|
4
6
|
* @summary Resolves the flavour for a given target by always returning the library's `DefaultFlavour` value.
|
|
5
7
|
* @param {object} target Target object being decorated.
|
|
6
8
|
* @return {string} Resolved flavour identifier.
|
|
7
|
-
* @function
|
|
9
|
+
* @function flavourResolver
|
|
8
10
|
* @memberOf module:decoration
|
|
9
11
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
function flavourResolver(target) {
|
|
13
|
+
const owner = Metadata.constr(typeof target === "function" ? target : target?.constructor);
|
|
14
|
+
const meta = Metadata["innerGet"](Metadata.Symbol(owner), DecorationKeys.FLAVOUR);
|
|
15
|
+
if (meta && meta !== Decoration.defaultFlavour)
|
|
16
|
+
return meta;
|
|
17
|
+
const registered = typeof Metadata["registeredFlavour"] === "function"
|
|
18
|
+
? Metadata.registeredFlavour(owner)
|
|
19
|
+
: undefined;
|
|
20
|
+
if (registered && registered !== Decoration.defaultFlavour)
|
|
21
|
+
return registered;
|
|
22
|
+
return meta ?? Decoration.defaultFlavour;
|
|
13
23
|
}
|
|
14
24
|
/**
|
|
15
25
|
* @description A decorator management class that handles flavoured decorators.
|
|
@@ -51,6 +61,8 @@ function defaultFlavourResolver(target) {
|
|
|
51
61
|
* F-->>C: decorated target
|
|
52
62
|
*/
|
|
53
63
|
export class Decoration {
|
|
64
|
+
static { this.defaultFlavour = DefaultFlavour; }
|
|
65
|
+
static { this.targetStates = new WeakMap(); }
|
|
54
66
|
/**
|
|
55
67
|
* @description Static map of registered decorators.
|
|
56
68
|
* @summary Stores all registered decorators organised by key and flavour.
|
|
@@ -60,10 +72,163 @@ export class Decoration {
|
|
|
60
72
|
* @description Function to resolve flavour from a target.
|
|
61
73
|
* @summary Resolver function that determines the appropriate flavour for a given target.
|
|
62
74
|
*/
|
|
63
|
-
static { this.flavourResolver =
|
|
64
|
-
constructor(flavour =
|
|
75
|
+
static { this.flavourResolver = flavourResolver; }
|
|
76
|
+
constructor(flavour = Decoration.defaultFlavour) {
|
|
65
77
|
this.flavour = flavour;
|
|
66
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Register a decorator operation to be executed after class decorator runs.
|
|
81
|
+
* This solves the execution order issue: property decorators run before class decorators.
|
|
82
|
+
*
|
|
83
|
+
* @param target - The class being decorated
|
|
84
|
+
* @param callback - Function to execute once flavour is resolved
|
|
85
|
+
* @param propertyKey - Optional property key for property decorators
|
|
86
|
+
* @returns Unique key for this registration
|
|
87
|
+
*/
|
|
88
|
+
static getTargetState(owner) {
|
|
89
|
+
if (!owner) {
|
|
90
|
+
throw new Error("Invalid target provided to Decoration state tracker");
|
|
91
|
+
}
|
|
92
|
+
let state = this.targetStates.get(owner);
|
|
93
|
+
if (!state) {
|
|
94
|
+
state = { pending: [], flavour: undefined, directApply: false };
|
|
95
|
+
this.targetStates.set(owner, state);
|
|
96
|
+
}
|
|
97
|
+
return state;
|
|
98
|
+
}
|
|
99
|
+
static applyPendingEntry(entry, flavour) {
|
|
100
|
+
try {
|
|
101
|
+
const descriptorResult = entry.callback(flavour, entry.argsOverride)(entry.target, entry.propertyKey, entry.descriptor);
|
|
102
|
+
if (typeof entry.propertyKey !== "undefined" &&
|
|
103
|
+
descriptorResult &&
|
|
104
|
+
entry.target) {
|
|
105
|
+
Object.defineProperty(entry.target, entry.propertyKey, descriptorResult);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.error(`Error resolving pending decorator for ${entry.owner?.name || "anonymous"}.${String(entry.propertyKey)}`, error);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
static markPending(owner) {
|
|
113
|
+
if (!owner)
|
|
114
|
+
return;
|
|
115
|
+
const state = this.getTargetState(owner);
|
|
116
|
+
state.resolved = false;
|
|
117
|
+
if (!state.flavour)
|
|
118
|
+
state.flavour = Decoration.defaultFlavour;
|
|
119
|
+
Metadata.set(owner, DecorationKeys.DECORATION, DecorationState.PENDING);
|
|
120
|
+
}
|
|
121
|
+
static registerPendingDecorator(owner, target, callback, propertyKey, descriptor, argsOverride) {
|
|
122
|
+
const key = `${owner?.name || "anonymous"}:${String(propertyKey || "class")}:${Date.now()}:${Math.random()}`;
|
|
123
|
+
const state = this.getTargetState(owner);
|
|
124
|
+
const entry = {
|
|
125
|
+
owner,
|
|
126
|
+
target,
|
|
127
|
+
propertyKey,
|
|
128
|
+
descriptor,
|
|
129
|
+
callback,
|
|
130
|
+
argsOverride,
|
|
131
|
+
key,
|
|
132
|
+
};
|
|
133
|
+
const applyImmediately = () => {
|
|
134
|
+
const flavourToUse = state.flavour ||
|
|
135
|
+
Metadata.get(owner, DecorationKeys.FLAVOUR) ||
|
|
136
|
+
Decoration.defaultFlavour;
|
|
137
|
+
this.applyPendingEntry(entry, flavourToUse);
|
|
138
|
+
entry.lastAppliedPass = state.passId;
|
|
139
|
+
return flavourToUse;
|
|
140
|
+
};
|
|
141
|
+
if (state.directApply) {
|
|
142
|
+
const flavourToUse = applyImmediately();
|
|
143
|
+
state.flavour = flavourToUse;
|
|
144
|
+
Metadata.set(owner, DecorationKeys.DECORATION, true);
|
|
145
|
+
return key;
|
|
146
|
+
}
|
|
147
|
+
state.pending.push(entry);
|
|
148
|
+
if (state.applying) {
|
|
149
|
+
applyImmediately();
|
|
150
|
+
}
|
|
151
|
+
if (Decoration.flavourResolver !== flavourResolver) {
|
|
152
|
+
try {
|
|
153
|
+
const eagerFlavour = Decoration.flavourResolver(owner);
|
|
154
|
+
if (eagerFlavour && eagerFlavour !== Decoration.defaultFlavour) {
|
|
155
|
+
this.resolvePendingDecorators(owner, eagerFlavour);
|
|
156
|
+
return key;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
// Ignore resolver errors during eager resolution attempts.
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return key;
|
|
164
|
+
}
|
|
165
|
+
static resolvePendingDecorators(target, flavour) {
|
|
166
|
+
const owner = typeof target === "function" ? target : target?.constructor || target;
|
|
167
|
+
if (!owner)
|
|
168
|
+
return;
|
|
169
|
+
const state = this.getTargetState(owner);
|
|
170
|
+
if (!state.pending.length && !flavour)
|
|
171
|
+
return;
|
|
172
|
+
const resolvedFlavour = flavour ||
|
|
173
|
+
state.flavour ||
|
|
174
|
+
Metadata.get(owner, DecorationKeys.FLAVOUR) ||
|
|
175
|
+
Decoration.defaultFlavour;
|
|
176
|
+
if (state.applying)
|
|
177
|
+
return;
|
|
178
|
+
const cursor = state.appliedCount || 0;
|
|
179
|
+
if (!flavour &&
|
|
180
|
+
state.lastAppliedFlavour === resolvedFlavour &&
|
|
181
|
+
cursor >= state.pending.length) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const shouldFinalize = Boolean(flavour && flavour !== Decoration.defaultFlavour) ||
|
|
185
|
+
state.directApply;
|
|
186
|
+
if (!state.pending.length)
|
|
187
|
+
return;
|
|
188
|
+
const currentPass = (state.passId || 0) + 1;
|
|
189
|
+
state.passId = currentPass;
|
|
190
|
+
state.applying = true;
|
|
191
|
+
try {
|
|
192
|
+
if (shouldFinalize) {
|
|
193
|
+
while (state.pending.length) {
|
|
194
|
+
const entry = state.pending.shift();
|
|
195
|
+
if (!entry)
|
|
196
|
+
continue;
|
|
197
|
+
if (entry.lastAppliedPass === currentPass)
|
|
198
|
+
continue;
|
|
199
|
+
this.applyPendingEntry(entry, resolvedFlavour);
|
|
200
|
+
entry.lastAppliedPass = currentPass;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
let index = cursor;
|
|
205
|
+
while (index < state.pending.length) {
|
|
206
|
+
const entry = state.pending[index++];
|
|
207
|
+
if (!entry)
|
|
208
|
+
continue;
|
|
209
|
+
if (entry.lastAppliedPass === currentPass)
|
|
210
|
+
continue;
|
|
211
|
+
this.applyPendingEntry(entry, resolvedFlavour);
|
|
212
|
+
entry.lastAppliedPass = currentPass;
|
|
213
|
+
}
|
|
214
|
+
state.appliedCount = state.pending.length;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
finally {
|
|
218
|
+
state.applying = false;
|
|
219
|
+
}
|
|
220
|
+
state.flavour = resolvedFlavour;
|
|
221
|
+
state.resolved = true;
|
|
222
|
+
state.lastAppliedFlavour = resolvedFlavour;
|
|
223
|
+
if (shouldFinalize) {
|
|
224
|
+
state.pending.length = 0;
|
|
225
|
+
state.appliedCount = 0;
|
|
226
|
+
if (resolvedFlavour !== Decoration.defaultFlavour) {
|
|
227
|
+
state.directApply = true;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
Metadata.set(owner, DecorationKeys.DECORATION, true);
|
|
231
|
+
}
|
|
67
232
|
/**
|
|
68
233
|
* @description Sets the key for the decoration builder.
|
|
69
234
|
* @summary Initialises a new decoration chain with the specified key.
|
|
@@ -86,14 +251,34 @@ export class Decoration {
|
|
|
86
251
|
throw new Error("key must be provided before decorators can be added");
|
|
87
252
|
if ((!decorators || !decorators.length) &&
|
|
88
253
|
!addon &&
|
|
89
|
-
this.flavour !==
|
|
254
|
+
this.flavour !== Decoration.defaultFlavour)
|
|
90
255
|
throw new Error("Must provide overrides or addons to override or extend decaf's decorators");
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
256
|
+
// For addon (extend) we merge with existing extras; for base (define) we replace
|
|
257
|
+
if (addon) {
|
|
258
|
+
this.extras = new Set([
|
|
259
|
+
...(this.extras || new Set()).values(),
|
|
260
|
+
...decorators,
|
|
261
|
+
]);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
// replace any previously configured base decorators on this builder
|
|
265
|
+
this.decorators = new Set([...decorators]);
|
|
266
|
+
}
|
|
95
267
|
return this;
|
|
96
268
|
}
|
|
269
|
+
snapshotDecoratorArgs() {
|
|
270
|
+
if (!this.decorators || !this.decorators.size)
|
|
271
|
+
return undefined;
|
|
272
|
+
const overrides = {};
|
|
273
|
+
Array.from(this.decorators.values()).forEach((entry, index) => {
|
|
274
|
+
if (typeof entry === "object" &&
|
|
275
|
+
"args" in entry &&
|
|
276
|
+
Array.isArray(entry.args)) {
|
|
277
|
+
overrides[index] = [...entry.args];
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
return Object.keys(overrides).length ? overrides : undefined;
|
|
281
|
+
}
|
|
97
282
|
/**
|
|
98
283
|
* @description Defines the base decorators.
|
|
99
284
|
* @summary Sets the primary decorators for the current context.
|
|
@@ -140,14 +325,14 @@ export class Decoration {
|
|
|
140
325
|
* A->>U: invoke decorator(target, key?, desc?)
|
|
141
326
|
* end
|
|
142
327
|
*/
|
|
143
|
-
decoratorFactory(key, f
|
|
328
|
+
decoratorFactory(key, f, overrides) {
|
|
144
329
|
function contextDecorator(target, propertyKey, descriptor) {
|
|
145
|
-
const flavour = Decoration.flavourResolver(target);
|
|
330
|
+
const flavour = f ?? Decoration.flavourResolver(target);
|
|
146
331
|
const cache = Decoration.decorators[key];
|
|
147
332
|
let decorators;
|
|
148
333
|
const extras = cache[flavour]
|
|
149
334
|
? cache[flavour].extras
|
|
150
|
-
: cache[
|
|
335
|
+
: cache[Decoration.defaultFlavour].extras;
|
|
151
336
|
if (cache &&
|
|
152
337
|
cache[flavour] &&
|
|
153
338
|
cache[flavour].decorators &&
|
|
@@ -155,11 +340,11 @@ export class Decoration {
|
|
|
155
340
|
decorators = cache[flavour].decorators;
|
|
156
341
|
}
|
|
157
342
|
else {
|
|
158
|
-
decorators = cache[
|
|
343
|
+
decorators = cache[Decoration.defaultFlavour].decorators;
|
|
159
344
|
}
|
|
160
345
|
const baseDecoratorsList = [...(decorators ? decorators.values() : [])];
|
|
161
346
|
const defaultDecoratorsList = [
|
|
162
|
-
...(cache[
|
|
347
|
+
...(cache[Decoration.defaultFlavour]?.decorators || new Set()).values(),
|
|
163
348
|
];
|
|
164
349
|
const baseArgsByIndex = baseDecoratorsList.reduce((accum, entry, index) => {
|
|
165
350
|
if (typeof entry === "object" &&
|
|
@@ -182,28 +367,46 @@ export class Decoration {
|
|
|
182
367
|
...(extras ? extras.values() : []),
|
|
183
368
|
];
|
|
184
369
|
const baseLength = baseDecoratorsList.length;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
370
|
+
const argsOverrides = overrides || {};
|
|
371
|
+
let currentTarget = target;
|
|
372
|
+
let currentDescriptor = descriptor;
|
|
373
|
+
toApply.forEach((d, index) => {
|
|
374
|
+
let decoratorFn;
|
|
375
|
+
if (typeof d === "object") {
|
|
376
|
+
const entry = d;
|
|
377
|
+
const candidateIndex = index < baseLength ? index : 0;
|
|
378
|
+
const overrideArgs = index < baseLength ? argsOverrides[candidateIndex] : undefined;
|
|
379
|
+
const args = overrideArgs ||
|
|
380
|
+
("args" in entry && Array.isArray(entry.args)
|
|
191
381
|
? entry.args
|
|
192
382
|
: (baseArgsByIndex[candidateIndex] ??
|
|
193
383
|
defaultArgsByIndex[candidateIndex] ??
|
|
194
384
|
defaultArgsByIndex[0] ??
|
|
195
|
-
[]);
|
|
196
|
-
|
|
385
|
+
[]));
|
|
386
|
+
decoratorFn = entry.decorator(...args);
|
|
387
|
+
}
|
|
388
|
+
else if (typeof d === "function") {
|
|
389
|
+
decoratorFn = d;
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
throw new Error(`Unexpected decorator type: ${typeof d}`);
|
|
393
|
+
}
|
|
394
|
+
const result = decoratorFn(typeof propertyKey === "undefined" ? currentTarget : target, propertyKey, currentDescriptor);
|
|
395
|
+
if (typeof propertyKey === "undefined") {
|
|
396
|
+
if (typeof result === "function") {
|
|
397
|
+
currentTarget = result;
|
|
197
398
|
}
|
|
198
|
-
case "function":
|
|
199
|
-
return d(target, propertyKey, descriptor);
|
|
200
|
-
default:
|
|
201
|
-
throw new Error(`Unexpected decorator type: ${typeof d}`);
|
|
202
399
|
}
|
|
203
|
-
|
|
400
|
+
else if (typeof result !== "undefined") {
|
|
401
|
+
currentDescriptor = result;
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
return typeof propertyKey === "undefined"
|
|
405
|
+
? currentTarget
|
|
406
|
+
: currentDescriptor;
|
|
204
407
|
}
|
|
205
408
|
Object.defineProperty(contextDecorator, "name", {
|
|
206
|
-
value: [f, key].join("_decorator_for_"),
|
|
409
|
+
value: [f || "dynamic", key].join("_decorator_for_"),
|
|
207
410
|
writable: false,
|
|
208
411
|
});
|
|
209
412
|
return contextDecorator;
|
|
@@ -216,10 +419,46 @@ export class Decoration {
|
|
|
216
419
|
apply() {
|
|
217
420
|
if (!this.key)
|
|
218
421
|
throw new Error("No key provided for the decoration builder");
|
|
422
|
+
const key = this.key;
|
|
219
423
|
const existingDecorators = Decoration.decorators[this.key]?.[this.flavour]?.decorators;
|
|
220
424
|
const decoratorsToRegister = this.decorators || existingDecorators || new Set();
|
|
221
|
-
|
|
222
|
-
|
|
425
|
+
const extrasToRegister = typeof this.extras !== "undefined" ? this.extras : undefined;
|
|
426
|
+
Decoration.register(this.key, this.flavour, decoratorsToRegister, extrasToRegister);
|
|
427
|
+
const wrapper = (target, propertyKey, descriptor) => {
|
|
428
|
+
const isMember = typeof propertyKey !== "undefined";
|
|
429
|
+
const owner = typeof target === "function" ? target : target?.constructor || target;
|
|
430
|
+
if (owner && isMember) {
|
|
431
|
+
const currentFlavour = Metadata["innerGet"](Metadata.Symbol(owner), DecorationKeys.FLAVOUR);
|
|
432
|
+
if (!currentFlavour)
|
|
433
|
+
uses(Decoration.defaultFlavour)(owner);
|
|
434
|
+
const argsOverride = this.snapshotDecoratorArgs();
|
|
435
|
+
Decoration.registerPendingDecorator(owner, target, (resolvedFlavour) => {
|
|
436
|
+
return this.decoratorFactory(key, resolvedFlavour, argsOverride);
|
|
437
|
+
}, propertyKey, descriptor, argsOverride);
|
|
438
|
+
Decoration.resolvePendingDecorators(owner);
|
|
439
|
+
if (propertyKey && !descriptor) {
|
|
440
|
+
prop()(owner, propertyKey); // auto tag as a property
|
|
441
|
+
}
|
|
442
|
+
if (propertyKey && descriptor) {
|
|
443
|
+
// TODO this probably needs refining. under some compilation processes, the descriptor can exit on a prop
|
|
444
|
+
method()(owner, propertyKey, descriptor); // auto tag as a method
|
|
445
|
+
}
|
|
446
|
+
return descriptor;
|
|
447
|
+
}
|
|
448
|
+
const flavourHint = this.flavour === Decoration.defaultFlavour ? undefined : this.flavour;
|
|
449
|
+
return this.decoratorFactory(key, flavourHint)(target, propertyKey, descriptor);
|
|
450
|
+
};
|
|
451
|
+
try {
|
|
452
|
+
Object.defineProperty(wrapper, "name", {
|
|
453
|
+
value: [this.flavour, key].join("_decorator_for_"),
|
|
454
|
+
writable: false,
|
|
455
|
+
});
|
|
456
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
457
|
+
}
|
|
458
|
+
catch (e) {
|
|
459
|
+
// Ignore environments that forbid redefining function name
|
|
460
|
+
}
|
|
461
|
+
return wrapper;
|
|
223
462
|
}
|
|
224
463
|
/**
|
|
225
464
|
* @description Registers decorators for a specific key and flavour.
|
|
@@ -242,18 +481,12 @@ export class Decoration {
|
|
|
242
481
|
Decoration.decorators[key] = {};
|
|
243
482
|
if (!Decoration.decorators[key][flavour])
|
|
244
483
|
Decoration.decorators[key][flavour] = {};
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
if (extras)
|
|
484
|
+
Decoration.decorators[key][flavour].decorators = decorators;
|
|
485
|
+
if (typeof extras !== "undefined") {
|
|
248
486
|
Decoration.decorators[key][flavour].extras = extras;
|
|
487
|
+
}
|
|
249
488
|
}
|
|
250
|
-
|
|
251
|
-
* @description Sets the global flavour resolver.
|
|
252
|
-
* @summary Configures the function used to determine decorator flavours.
|
|
253
|
-
* @param {FlavourResolver} resolver Function to resolve flavours.
|
|
254
|
-
* @return {void}
|
|
255
|
-
*/
|
|
256
|
-
static setFlavourResolver(resolver) {
|
|
489
|
+
static setResolver(resolver) {
|
|
257
490
|
Decoration.flavourResolver = resolver;
|
|
258
491
|
}
|
|
259
492
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decoration.js","sourceRoot":"","sources":["../../../src/decoration/Decoration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Decoration.js","sourceRoot":"","sources":["../../../src/decoration/Decoration.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,0BAAqB;AAC/E,OAAO,EAAE,QAAQ,EAAE,kCAA6B;AAChD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,2BAAsB;AAEnD;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAC3B,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,EAAE,WAAW,CACrE,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAC/B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,cAAc,CAAC,OAAO,CACvB,CAAC;IACF,IAAI,IAAI,IAAI,IAAI,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,UAAU,GACd,OAAO,QAAQ,CAAC,mBAAmB,CAAC,KAAK,UAAU;QACjD,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC,cAAc;QAAE,OAAO,UAAU,CAAC;IAC9E,OAAO,IAAI,IAAI,UAAU,CAAC,cAAc,CAAC;AAC3C,CAAC;AAyED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,OAAO,UAAU;aACd,mBAAc,GAAG,cAAc,CAAC;aAExB,iBAAY,GACzB,IAAI,OAAO,EAAE,CAAC;IAEhB;;;OAGG;aACY,eAAU,GASrB,EAAE,CAAC;IAEP;;;OAGG;aACY,oBAAe,GAAoB,eAAe,CAAC;IAiBlE,YAAoB,UAAkB,UAAU,CAAC,cAAc;QAA3C,YAAO,GAAP,OAAO,CAAoC;IAAG,CAAC;IAEnE;;;;;;;;OAQG;IACK,MAAM,CAAC,cAAc,CAAC,KAAU;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,KAAuB,EACvB,OAAe;QAEf,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAClE,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAA8B,EACpC,KAAK,CAAC,UAA0C,CACjD,CAAC;YAEF,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW;gBACxC,gBAAgB;gBAChB,KAAK,CAAC,MAAM,EACZ,CAAC;gBACD,MAAM,CAAC,cAAc,CACnB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,WAAW,EACjB,gBAAsC,CACvC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,yCACE,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,WACvB,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAC/B,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAES,MAAM,CAAC,WAAW,CAAC,KAAU;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;QAC9D,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAES,MAAM,CAAC,wBAAwB,CACvC,KAAU,EACV,MAAW,EACX,QAGwC,EACxC,WAA6B,EAC7B,UAAkD,EAClD,YAAoC;QAEpC,MAAM,GAAG,GAAG,GACV,KAAK,EAAE,IAAI,IAAI,WACjB,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAEpE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,KAAK,GAAqB;YAC9B,KAAK;YACL,MAAM;YACN,WAAW;YACX,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,GAAG;SACJ,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,MAAM,YAAY,GAChB,KAAK,CAAC,OAAO;gBACb,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC;gBAC3C,UAAU,CAAC,cAAc,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC5C,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;YACrC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;YACxC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,gBAAgB,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,UAAU,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,YAAY,IAAI,YAAY,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC/D,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBACnD,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,MAAM,CAAC,wBAAwB,CACvC,MAAW,EACX,OAAgB;QAEhB,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;QACxE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO;QAE9C,MAAM,eAAe,GACnB,OAAO;YACP,KAAK,CAAC,OAAO;YACb,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC;YAC3C,UAAU,CAAC,cAAc,CAAC;QAE5B,IAAI,KAAK,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QACvC,IACE,CAAC,OAAO;YACR,KAAK,CAAC,kBAAkB,KAAK,eAAe;YAC5C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAC9B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC,cAAc,CAAC;YACzD,KAAK,CAAC,WAAW,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAElC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW;wBAAE,SAAS;oBACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,GAAG,MAAM,CAAC;gBACnB,OAAO,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW;wBAAE,SAAS;oBACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBAC/C,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC;gBACtC,CAAC;gBACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5C,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC;QAC3C,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YACvB,IAAI,eAAe,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CACd,QAAiB,KAAK,EACtB,GAAG,UAAiC;QAEpC,IAAI,CAAC,IAAI,CAAC,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,IACE,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACnC,CAAC,KAAK;YACN,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc;YAE1C,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;QACJ,iFAAiF;QACjF,IAAI,KAAK,EAAE,CAAC;YACT,IAAY,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;gBACtC,GAAG,UAAU;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oEAAoE;YACnE,IAAY,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAChE,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5D,IACE,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAI,KAAK;gBACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EACzB,CAAC;gBACD,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,GAAG,UAA2B;QAE9B,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7C,UAAU,CAAC,MAAM,KAAK,CAAC;YAEvB,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,UAAiC;QACzC,IACE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7C,UAAU,CAAC,MAAM,KAAK,CAAC;YAEvB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACO,gBAAgB,CACxB,GAAW,EACX,CAAU,EACV,SAAiC;QAEjC,SAAS,gBAAgB,CACvB,MAAc,EACd,WAAiB,EACjB,UAAyC;YAEzC,MAAM,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,UAAU,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM;gBACvB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;YAE5C,IACE,KAAK;gBACL,KAAK,CAAC,OAAO,CAAC;gBACd,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAC9B,CAAC;gBACD,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;YAC3D,CAAC;YAED,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAExE,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,UAAU,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;aACxE,CAAC;YAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAC/C,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAa;oBACxB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACtB,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,MAAM,IAAK,KAAa;oBACxB,KAAK,CAAC,OAAO,CAAE,KAAa,CAAC,IAAI,CAAC,EAClC,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,GAAI,KAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD,EAA2B,CAC5B,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,GAAG,kBAAkB;gBACrB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnC,CAAC;YAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC;YAC7C,MAAM,aAAa,GAAG,SAAS,IAAI,EAAE,CAAC;YAEtC,IAAI,aAAa,GAAG,MAAM,CAAC;YAC3B,IAAI,iBAAiB,GAAG,UAAU,CAAC;YAEnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC3B,IAAI,WAA2B,CAAC;gBAChC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,CAAQ,CAAC;oBACvB,MAAM,cAAc,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,MAAM,YAAY,GAChB,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjE,MAAM,IAAI,GACR,YAAY;wBACZ,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC3C,CAAC,CAAC,KAAK,CAAC,IAAI;4BACZ,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC;gCAChC,kBAAkB,CAAC,cAAc,CAAC;gCAClC,kBAAkB,CAAC,CAAC,CAAC;gCACrB,EAAE,CAAC,CAAC,CAAC;oBACX,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAmB,CAAC;gBAC3D,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;oBACnC,WAAW,GAAG,CAAmB,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,MAAM,GAAI,WAAmB,CACjC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAC3D,WAAW,EACX,iBAAiB,CAClB,CAAC;gBAEF,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;oBACvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;wBACjC,aAAa,GAAG,MAAM,CAAC;oBACzB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzC,iBAAiB,GAAG,MAAM,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,WAAW,KAAK,WAAW;gBACvC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,iBAAiB,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE;YAC9C,KAAK,EAAE,CAAC,CAAC,IAAI,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACpD,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,KAAK;QAKH,IAAI,CAAC,IAAI,CAAC,GAAG;YACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAErB,MAAM,kBAAkB,GACtB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAC9D,MAAM,oBAAoB,GACxB,IAAI,CAAC,UAAU,IAAI,kBAAkB,IAAI,IAAI,GAAG,EAAiB,CAAC;QAEpE,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,UAAU,CAAC,QAAQ,CACjB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,EACZ,oBAAoB,EACpB,gBAAgB,CACjB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,WAAiB,EAAE,UAAgB,EAAE,EAAE;YACnE,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC;YACpD,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,MAAM,CAAC;YACxE,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,CACzC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACtB,cAAc,CAAC,OAAO,CACvB,CAAC;gBACF,IAAI,CAAC,cAAc;oBAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAClD,UAAU,CAAC,wBAAwB,CACjC,KAAK,EACL,MAAM,EACN,CAAC,eAAuB,EAAE,EAAE;oBAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;gBACnE,CAAC,EACD,WAAW,EACX,UAAU,EACV,YAAY,CACb,CAAC;gBACF,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC/B,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;gBACvD,CAAC;gBACD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;oBAC9B,yGAAyG;oBACzG,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,uBAAuB;gBACnE,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,WAAW,GACf,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACxE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAa,EAAE,WAAW,CAAC,CACtD,MAAM,EACN,WAAW,EACX,UAAU,CACX,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;gBACrC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAClD,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,6DAA6D;QAC/D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,2DAA2D;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,QAAQ,CACrB,GAAW,EACX,OAAe,EACf,UAA+B,EAC/B,MAAiC;QAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACtD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,QAAyB;QAC1C,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,OAAO,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,OAAe;QAChC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC"}
|
package/lib/esm/decorators.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function metadata(key: string, value: any): (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
11
11
|
export declare function metadataArray(key: string, ...data: any[]): (target: any, propertyKey?: any, descriptor?: any) => void;
|
|
12
|
+
export declare function uses(flavour: string): (object: any) => any;
|
|
12
13
|
/**
|
|
13
14
|
* @description Captures and stores a property's design type.
|
|
14
15
|
* @summary Decorator factory that reads the reflected `design:type` for a property and registers it in the metadata store under the properties map.
|
|
@@ -16,7 +17,7 @@ export declare function metadataArray(key: string, ...data: any[]): (target: any
|
|
|
16
17
|
* @function prop
|
|
17
18
|
* @category Property Decorators
|
|
18
19
|
*/
|
|
19
|
-
export declare function prop(): (
|
|
20
|
+
export declare function prop(): (model: object, prop?: any) => void;
|
|
20
21
|
/**
|
|
21
22
|
* @description Captures a single parameter type for the decorated method.
|
|
22
23
|
* @summary Decorator factory that ensures the method metadata is initialised and stores the reflected parameter constructor at the provided index.
|
|
@@ -35,7 +36,7 @@ export declare function prop(): (target: any, propertyKey?: any, descriptor?: Ty
|
|
|
35
36
|
* P->>M: set(methods.key.index, constructor)
|
|
36
37
|
* P-->>U: parameter recorded
|
|
37
38
|
*/
|
|
38
|
-
export declare function param(): (model: object, prop
|
|
39
|
+
export declare function param(): (model: object, prop?: any, index?: number) => void;
|
|
39
40
|
/**
|
|
40
41
|
* @description Extends a parameter decorator with additional metadata.
|
|
41
42
|
* @summary Applies the default `param()` decorator and augments the stored metadata with an arbitrary key/value pair.
|