vona-module-a-onion 5.0.38 → 5.1.2
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/LICENSE +0 -0
- package/dist/.metadata/index.d.ts +1 -0
- package/dist/.metadata/index.d.ts.map +1 -0
- package/dist/.metadata/this.d.ts +1 -0
- package/dist/.metadata/this.d.ts.map +1 -0
- package/dist/bean/bean.onion.d.ts +2 -1
- package/dist/bean/bean.onion.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/service/onion_.d.ts +2 -1
- package/dist/service/onion_.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/onion.d.ts +4 -3
- package/dist/types/onion.d.ts.map +1 -0
- package/package.json +21 -16
- package/src/.metadata/index.ts +69 -0
- package/src/.metadata/this.ts +2 -0
- package/src/bean/bean.onion.ts +52 -0
- package/src/index.ts +2 -0
- package/src/main.ts +12 -0
- package/src/service/onion_.ts +356 -0
- package/src/types/index.ts +1 -0
- package/src/types/onion.ts +67 -0
package/LICENSE
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,kBAAkB;AAClB,cAAc,uBAAuB,CAAC;AAEtC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,qBAAqB,CAAC;IAE7B,UAAiB,SAAS;KAGzB;CACR;AACD,gBAAgB;AAChB,kBAAkB;AAClB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,iBAAiB;QAChC,OAAO,EAAE,SAAS,CAAC;KACpB;CACF;AACD,gBAAgB;AAChB,qBAAqB;AACrB,cAAc,sBAAsB,CAAC;AAErC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,QAAQ,oBAAoB,CAAC;CAGnC;AACD,OAAO,QAAQ,qBAAqB,CAAC;CAEpC;AACD,mBAAmB;AACnB,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAC3B,gBAAgB;AAChB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAGzD,qBACa,iBAAkB,SAAQ,aAAa;CAAG;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,SAAS,EAAE,iBAAiB,CAAC;KAC9B;IAED,UAAiB,mBAAmB;QAClC,KAAK,EAAE,iBAAiB,CAAC;KAC1B;CAOF;AACD,iBAAiB"}
|
package/dist/.metadata/this.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"this.d.ts","sourceRoot":"","sources":["../../src/.metadata/this.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { IOnionOptionsEnable, IOnionOptionsMatch, IOnionOptionsMeta } from '../types/onion.ts';
|
|
2
1
|
import { BeanBase } from 'vona';
|
|
2
|
+
import type { IOnionOptionsEnable, IOnionOptionsMatch, IOnionOptionsMeta } from '../types/onion.ts';
|
|
3
3
|
export declare class BeanOnion extends BeanBase {
|
|
4
4
|
private __instances;
|
|
5
5
|
protected __get__(prop: string): any;
|
|
6
6
|
checkOnionOptionsEnabled(options: IOnionOptionsEnable & IOnionOptionsMatch<any>, selector?: string | boolean, matchThis?: any, ...matchArgs: any[]): any;
|
|
7
7
|
checkOnionOptionsMeta(meta?: IOnionOptionsMeta): boolean;
|
|
8
8
|
}
|
|
9
|
+
//# sourceMappingURL=bean.onion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bean.onion.d.ts","sourceRoot":"","sources":["../../src/bean/bean.onion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAgB,MAAM,MAAM,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAA8B,MAAM,mBAAmB,CAAC;AAIhI,qBAEa,SAAU,SAAQ,QAAQ;IACrC,OAAO,CAAC,WAAW,CAA2B;IAE9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM;IAOvB,wBAAwB,CAC7B,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,GAAG,CAAC,EACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,EAC3B,SAAS,CAAC,EAAE,GAAG,EACf,GAAG,SAAS,EAAE,GAAG,EAAE;IAad,qBAAqB,CAAC,IAAI,CAAC,EAAE,iBAAiB;CAUtD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,9 @@ import { ProxyDisable, BeanInfo, BeanBase, compose, appMetadata, cast, deepExten
|
|
|
2
2
|
import { __decorate } from 'tslib';
|
|
3
3
|
import { isNil, checkMeta, matchSelector } from '@cabloy/utils';
|
|
4
4
|
import { Service, Bean, Scope } from 'vona-module-a-bean';
|
|
5
|
-
import { isRegExp } from 'node:util/types';
|
|
6
5
|
import { swapDeps } from '@cabloy/deps';
|
|
7
6
|
import { getOnionScenesMeta } from '@cabloy/module-info';
|
|
7
|
+
import { isRegExp } from 'node:util/types';
|
|
8
8
|
|
|
9
9
|
const SymbolUseOnionLocal = Symbol('SymbolUseOnionLocal');
|
|
10
10
|
const SymbolUseOnionOptions = Symbol('SymbolUseOnionOptions');
|
|
@@ -346,3 +346,4 @@ ScopeModuleAOnion = __decorate([Scope(), BeanInfo({
|
|
|
346
346
|
/** scope: end */
|
|
347
347
|
|
|
348
348
|
export { BeanOnion, Main, ScopeModuleAOnion, ServiceOnion, SymbolUseOnionLocal, SymbolUseOnionOptions, SymbolUseOnionOptionsRouteReal };
|
|
349
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types/onion.ts","../src/service/onion_.ts","../src/bean/bean.onion.ts","../src/main.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null],"names":["SymbolUseOnionLocal","Symbol","SymbolUseOnionOptions","SymbolUseOnionOptionsRouteReal","SymbolOnionsEnabled","SymbolOnionsEnabledWrapped","ServiceOnion","BeanBase","constructor","args","sceneName","sceneMeta","onionsNormal","onionsGlobal","_cacheOnionsGlobal","_cacheOnionsHandler","__init__","getOnionScenesMeta","app","meta","modules","load","_loadOnions","_swapOnions","clearCache","undefined","compose","route","fnStart","fnMid","fnEnd","executeCustom","onions","_composeOnionsHandler","getOnionsEnabled","selector","matchThis","matchArgs","filter","onionSlice","onionOptions","beanOptions","options","bean","onion","checkOnionOptionsEnabled","$loggerChild","verbose","selector2","message","JSON","stringify","getOnionsEnabledCached","_selector","getOnionsEnabledOfMeta","useCache","beanName","method","item","name","getOnionSliceEnabled","onionName","find","getOnionSlice","getOnionsEnabledWrapped","wrapFn","map","getOnionsEnabledWrappedCached","composedOnionsGlobal","_composeOnionsGlobal","push","_wrapOnion","beanFullName","controllerBeanFullName","handlerName","action","key","concat","onionsLocal","_collectOnionsHandler","controller","controllerOnionsLocal","appMetadata","getMetadata","actionOnionsLocal","prototype","onionsLocalAll","forEach","includes","Error","getOnionOptions","getOnionOptionsDynamic","optionsCustom","combineOnionOptions","ctx","optionsPrimitive","optionsMetaAndConfig","optionsInstanceConfig","instance","config","scene","optionsRoute","cast","argumentPipe","optionsArgumentPipe","optionsDynamic","onionsDynamic","deepExtend","swapDeps","dependencies","dependents","onionsAll","_loadOnionsAll","hasLocal","SymbolDecoratorGlobal","beanClass","module","modulesArray","_loadOnionsAll_fromMetadata","appResource","scenes","info","relativeName","replace","fn","data","next","_getRoutePathForMatch","beanInstance","_getBean","execute","_name","routePathRaw","isRegExp","inspect","onionSlices","onionNames","$logger","silly","inspectEventListener","eventName","inspectMeta","metaName","onionSlices2","toString","endsWith","__decorate","ProxyDisable","Service","__z_BeanInfo","BeanOnion","__instances","__get__","prop","_getBeanSelector","enable","checkOnionOptionsMeta","isNil","match","ignore","__onionMatchSelector","metaCurrent","Object","assign","instanceName","host","checkMeta","Bean","matchSelector","Main","BeanSimple","moduleLoading","moduleLoaded","configLoaded","_config","ScopeModuleAOnion","BeanScopeBase","Scope"],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,qBAAa,IAAK,SAAQ,UAAW,YAAW,WAAW;IACnD,aAAa;IAIb,YAAY;IACZ,YAAY,CAAC,OAAO,EAAE,GAAG;CAChC"}
|
package/dist/service/onion_.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import type { Next } from 'vona';
|
|
|
3
3
|
import type { IEventRecord } from 'vona-module-a-event';
|
|
4
4
|
import type { IMetaNameRecord } from 'vona-module-a-meta';
|
|
5
5
|
import type { ContextRouteBase } from 'vona-module-a-web';
|
|
6
|
-
import type { IOnionExecuteCustom, IOnionSlice, TypeOnionsNormal } from '../types/onion.ts';
|
|
7
6
|
import { BeanBase } from 'vona';
|
|
7
|
+
import type { IOnionExecuteCustom, IOnionSlice, TypeOnionsNormal } from '../types/onion.ts';
|
|
8
8
|
declare const SymbolOnionsEnabled: unique symbol;
|
|
9
9
|
declare const SymbolOnionsEnabledWrapped: unique symbol;
|
|
10
10
|
export declare class ServiceOnion<ONIONRECORD> extends BeanBase {
|
|
@@ -49,3 +49,4 @@ export declare class ServiceOnion<ONIONRECORD> extends BeanBase {
|
|
|
49
49
|
inspectMeta(metaName: keyof IMetaNameRecord, selector?: string | boolean, matchThis?: any, ...matchArgs: any[]): void;
|
|
50
50
|
}
|
|
51
51
|
export {};
|
|
52
|
+
//# sourceMappingURL=onion_.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onion_.d.ts","sourceRoot":"","sources":["../../src/service/onion_.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/dist/types/onion.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface IOnionOptionsEnable<OmitMetaFields extends string = never> {
|
|
|
16
16
|
export type TypeOnionOptionsEnableSimple = IOnionOptionsEnable<'instanceName' | 'host'>;
|
|
17
17
|
export type TypeOnionOptionsMatchFunction = (this: any, ...args: any[]) => boolean;
|
|
18
18
|
export type TypeOnionOptionsMatchRule<T> = T | RegExp | TypeOnionOptionsMatchFunction;
|
|
19
|
-
export type TypeOnionOptionsMatchRules<T> =
|
|
19
|
+
export type TypeOnionOptionsMatchRules<T> = TypeOnionOptionsMatchRule<T>[] | TypeOnionOptionsMatchRule<T>;
|
|
20
20
|
export interface IOnionOptionsMatch<T> {
|
|
21
21
|
match?: T[] | T;
|
|
22
22
|
ignore?: T[] | T;
|
|
@@ -26,8 +26,8 @@ export interface IOnionOptionsDeps<T> {
|
|
|
26
26
|
dependents?: T[] | T;
|
|
27
27
|
}
|
|
28
28
|
export interface IOnionOptionsMeta extends VonaOnionOptionsMeta {
|
|
29
|
-
instanceName?: keyof IInstanceRecord |
|
|
30
|
-
host?: keyof IHostRecord |
|
|
29
|
+
instanceName?: keyof IInstanceRecord | Array<keyof IInstanceRecord>;
|
|
30
|
+
host?: keyof IHostRecord | Array<keyof IHostRecord>;
|
|
31
31
|
}
|
|
32
32
|
export interface IOnionOptionsBase<T extends string> extends IOnionOptionsEnable, IOnionOptionsMatch<TypeOnionOptionsMatchRule<T>> {
|
|
33
33
|
}
|
|
@@ -51,3 +51,4 @@ declare module 'vona' {
|
|
|
51
51
|
set onionsDynamic(value: PowerPartial<ConfigOnions> | undefined);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
+
//# sourceMappingURL=onion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onion.d.ts","sourceRoot":"","sources":["../../src/types/onion.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-onion",
|
|
3
|
-
"
|
|
4
|
-
"version": "5.0.38",
|
|
5
|
-
"title": "a-onion",
|
|
6
|
-
"vonaModule": {
|
|
7
|
-
"dependencies": {}
|
|
8
|
-
},
|
|
3
|
+
"version": "5.1.2",
|
|
9
4
|
"description": "",
|
|
10
|
-
"author": "",
|
|
11
5
|
"keywords": [
|
|
12
6
|
"Vona Module"
|
|
13
7
|
],
|
|
8
|
+
"author": "",
|
|
9
|
+
"files": [
|
|
10
|
+
"assets",
|
|
11
|
+
"dist",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"type": "module",
|
|
14
15
|
"exports": {
|
|
15
16
|
".": {
|
|
16
17
|
"types": [
|
|
@@ -21,16 +22,20 @@
|
|
|
21
22
|
},
|
|
22
23
|
"./package.json": "./package.json"
|
|
23
24
|
},
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
25
|
+
"scripts": {
|
|
26
|
+
"clean": "rimraf dist tsconfig.build.tsbuildinfo",
|
|
27
|
+
"tsc:publish": "npm run clean && vona :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
|
|
28
|
+
"prepublishOnly": "npm run tsc:publish",
|
|
29
|
+
"prepack": "clean-package",
|
|
30
|
+
"postpack": "clean-package restore && npm run clean"
|
|
31
|
+
},
|
|
28
32
|
"devDependencies": {
|
|
29
33
|
"clean-package": "^2.2.0",
|
|
30
34
|
"rimraf": "^6.0.1"
|
|
31
35
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
}
|
|
36
|
-
|
|
36
|
+
"title": "a-onion",
|
|
37
|
+
"vonaModule": {
|
|
38
|
+
"dependencies": {}
|
|
39
|
+
},
|
|
40
|
+
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d"
|
|
41
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// eslint-disable
|
|
2
|
+
/** bean: begin */
|
|
3
|
+
export * from '../bean/bean.onion.ts';
|
|
4
|
+
|
|
5
|
+
import 'vona';
|
|
6
|
+
declare module 'vona' {
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
}
|
|
10
|
+
declare module 'vona-module-a-onion' {
|
|
11
|
+
|
|
12
|
+
export interface BeanOnion {
|
|
13
|
+
/** @internal */
|
|
14
|
+
get scope(): ScopeModuleAOnion;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** bean: end */
|
|
18
|
+
/** bean: begin */
|
|
19
|
+
import type { BeanOnion } from '../bean/bean.onion.ts';
|
|
20
|
+
import 'vona';
|
|
21
|
+
declare module 'vona' {
|
|
22
|
+
export interface IBeanRecordGlobal {
|
|
23
|
+
'onion': BeanOnion;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** bean: end */
|
|
27
|
+
/** service: begin */
|
|
28
|
+
export * from '../service/onion_.ts';
|
|
29
|
+
|
|
30
|
+
import 'vona-module-a-bean';
|
|
31
|
+
declare module 'vona-module-a-bean' {
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
declare module 'vona-module-a-onion' {
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
/** service: end */
|
|
39
|
+
/** main: begin */
|
|
40
|
+
export * from '../main.ts';
|
|
41
|
+
/** main: end */
|
|
42
|
+
/** scope: begin */
|
|
43
|
+
import { BeanScopeBase, type BeanScopeUtil } from 'vona';
|
|
44
|
+
import { Scope } from 'vona-module-a-bean';
|
|
45
|
+
|
|
46
|
+
@Scope()
|
|
47
|
+
export class ScopeModuleAOnion extends BeanScopeBase {}
|
|
48
|
+
|
|
49
|
+
export interface ScopeModuleAOnion {
|
|
50
|
+
util: BeanScopeUtil;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
import 'vona';
|
|
54
|
+
declare module 'vona' {
|
|
55
|
+
export interface IBeanScopeRecord {
|
|
56
|
+
'a-onion': ScopeModuleAOnion;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface IBeanScopeContainer {
|
|
60
|
+
onion: ScopeModuleAOnion;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
/** scope: end */
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { checkMeta, isNil, matchSelector } from '@cabloy/utils';
|
|
2
|
+
import { BeanBase, ProxyDisable } from 'vona';
|
|
3
|
+
import { Bean } from 'vona-module-a-bean';
|
|
4
|
+
|
|
5
|
+
import type { IOnionOptionsEnable, IOnionOptionsMatch, IOnionOptionsMeta, TypeOnionOptionsMatchRules } from '../types/onion.ts';
|
|
6
|
+
|
|
7
|
+
import { ServiceOnion } from '../service/onion_.ts';
|
|
8
|
+
|
|
9
|
+
@ProxyDisable()
|
|
10
|
+
@Bean()
|
|
11
|
+
export class BeanOnion extends BeanBase {
|
|
12
|
+
private __instances: Record<string, any> = {};
|
|
13
|
+
|
|
14
|
+
protected __get__(prop: string) {
|
|
15
|
+
if (!this.__instances[prop]) {
|
|
16
|
+
this.__instances[prop] = this.bean._getBeanSelector(ServiceOnion, prop);
|
|
17
|
+
}
|
|
18
|
+
return this.__instances[prop];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public checkOnionOptionsEnabled(
|
|
22
|
+
options: IOnionOptionsEnable & IOnionOptionsMatch<any>,
|
|
23
|
+
selector?: string | boolean,
|
|
24
|
+
matchThis?: any,
|
|
25
|
+
...matchArgs: any[]
|
|
26
|
+
) {
|
|
27
|
+
if (options.enable === false) return false;
|
|
28
|
+
if (!this.checkOnionOptionsMeta(options.meta)) return false;
|
|
29
|
+
if (isNil(selector) || selector === false) return true;
|
|
30
|
+
if (isNil(options.match) && isNil(options.ignore)) return true;
|
|
31
|
+
matchThis = matchThis ?? this.app;
|
|
32
|
+
return (
|
|
33
|
+
(!isNil(options.match) && __onionMatchSelector(options.match, selector, matchThis, ...matchArgs)) ||
|
|
34
|
+
(!isNil(options.ignore) && !__onionMatchSelector(options.ignore, selector, matchThis, ...matchArgs))
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public checkOnionOptionsMeta(meta?: IOnionOptionsMeta) {
|
|
39
|
+
let metaCurrent = this.app.config.meta;
|
|
40
|
+
if (this.app.ctx) {
|
|
41
|
+
metaCurrent = Object.assign({}, metaCurrent, {
|
|
42
|
+
instanceName: this.app.ctx.instanceName,
|
|
43
|
+
host: this.app.ctx.host,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return checkMeta(meta, metaCurrent);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function __onionMatchSelector(match: TypeOnionOptionsMatchRules<string>, selector: string | boolean, matchThis: any, ...matchArgs: any[]) {
|
|
51
|
+
return matchSelector(match, selector, matchThis, ...matchArgs);
|
|
52
|
+
}
|
package/src/index.ts
ADDED
package/src/main.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IModuleMain } from 'vona';
|
|
2
|
+
|
|
3
|
+
import { BeanSimple } from 'vona';
|
|
4
|
+
|
|
5
|
+
export class Main extends BeanSimple implements IModuleMain {
|
|
6
|
+
async moduleLoading() {
|
|
7
|
+
if (!this.app.config.onions) this.app.config.onions = {} as any;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async moduleLoaded() {}
|
|
11
|
+
async configLoaded(_config: any) {}
|
|
12
|
+
}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import type { ISwapDepsItem } from '@cabloy/deps';
|
|
2
|
+
import type { IModule, OnionSceneMeta } from '@cabloy/module-info';
|
|
3
|
+
import type { Next, VonaContext } from 'vona';
|
|
4
|
+
import type { IEventRecord } from 'vona-module-a-event';
|
|
5
|
+
import type { IMetaNameRecord } from 'vona-module-a-meta';
|
|
6
|
+
import type { ContextRouteBase } from 'vona-module-a-web';
|
|
7
|
+
|
|
8
|
+
import { swapDeps } from '@cabloy/deps';
|
|
9
|
+
import { getOnionScenesMeta } from '@cabloy/module-info';
|
|
10
|
+
import { isRegExp } from 'node:util/types';
|
|
11
|
+
import { appMetadata, appResource, BeanBase, cast, compose, deepExtend, ProxyDisable, SymbolDecoratorGlobal } from 'vona';
|
|
12
|
+
import { Service } from 'vona-module-a-bean';
|
|
13
|
+
|
|
14
|
+
import type {
|
|
15
|
+
IOnionExecuteCustom,
|
|
16
|
+
IOnionOptionsDeps,
|
|
17
|
+
IOnionOptionsEnable,
|
|
18
|
+
IOnionOptionsMatch,
|
|
19
|
+
IOnionSlice,
|
|
20
|
+
TypeOnionOptionsMatchRule,
|
|
21
|
+
TypeOnionsNormal,
|
|
22
|
+
} from '../types/onion.ts';
|
|
23
|
+
|
|
24
|
+
import { SymbolUseOnionLocal } from '../types/onion.ts';
|
|
25
|
+
|
|
26
|
+
const SymbolOnionsEnabled = Symbol('SymbolOnionsEnabled');
|
|
27
|
+
const SymbolOnionsEnabledWrapped = Symbol('SymbolOnionsEnabledWrapped');
|
|
28
|
+
|
|
29
|
+
@ProxyDisable()
|
|
30
|
+
@Service()
|
|
31
|
+
export class ServiceOnion<ONIONRECORD> extends BeanBase {
|
|
32
|
+
sceneName: string;
|
|
33
|
+
sceneMeta: OnionSceneMeta;
|
|
34
|
+
onionsNormal: TypeOnionsNormal<ONIONRECORD>;
|
|
35
|
+
onionsGlobal: IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[];
|
|
36
|
+
|
|
37
|
+
private [SymbolOnionsEnabled]: Record<string, IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[]> = {};
|
|
38
|
+
private [SymbolOnionsEnabledWrapped]: Record<string, Function[]> = {};
|
|
39
|
+
|
|
40
|
+
private _cacheOnionsGlobal: Function[] | undefined;
|
|
41
|
+
private _cacheOnionsHandler: Record<string, Function[]> = {};
|
|
42
|
+
|
|
43
|
+
protected __init__(sceneName: string) {
|
|
44
|
+
this.sceneName = sceneName;
|
|
45
|
+
this.sceneMeta = getOnionScenesMeta(this.app.meta.modules)[this.sceneName];
|
|
46
|
+
this.load();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
load() {
|
|
50
|
+
this._loadOnions();
|
|
51
|
+
this._swapOnions(this.onionsGlobal);
|
|
52
|
+
this[SymbolOnionsEnabled] = {};
|
|
53
|
+
this[SymbolOnionsEnabledWrapped] = {};
|
|
54
|
+
this.clearCache();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
clearCache() {
|
|
58
|
+
this._cacheOnionsGlobal = undefined;
|
|
59
|
+
this._cacheOnionsHandler = {};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
compose(
|
|
63
|
+
route: ContextRouteBase | undefined,
|
|
64
|
+
fnStart?: Function | Function[],
|
|
65
|
+
fnMid?: Function | Function[],
|
|
66
|
+
fnEnd?: Function | Function[],
|
|
67
|
+
executeCustom?: IOnionExecuteCustom,
|
|
68
|
+
) {
|
|
69
|
+
// compose
|
|
70
|
+
const onions = this._composeOnionsHandler(route, fnStart, fnMid, fnEnd, executeCustom);
|
|
71
|
+
// invoke
|
|
72
|
+
return compose(onions);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
getOnionsEnabled(selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
76
|
+
const onions = this.onionsGlobal.filter(onionSlice => {
|
|
77
|
+
const onionOptions = onionSlice.beanOptions.options as IOnionOptionsEnable & IOnionOptionsMatch<TypeOnionOptionsMatchRule<string>>;
|
|
78
|
+
return this.bean.onion.checkOnionOptionsEnabled(onionOptions, selector, matchThis, ...matchArgs);
|
|
79
|
+
}) as unknown as IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[];
|
|
80
|
+
this.$loggerChild('onion').verbose(() => {
|
|
81
|
+
const selector2 = typeof selector === 'string' ? selector : '';
|
|
82
|
+
const message = `getOnionsEnabled#${this.sceneName}${selector2 ? `#${selector2}` : ''} ${JSON.stringify(onions)}`;
|
|
83
|
+
return message;
|
|
84
|
+
});
|
|
85
|
+
return onions;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
getOnionsEnabledCached(_selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
89
|
+
const selector = typeof _selector === 'string' ? _selector : '';
|
|
90
|
+
if (!this[SymbolOnionsEnabled][selector]) {
|
|
91
|
+
this[SymbolOnionsEnabled][selector] = this.getOnionsEnabled(_selector, matchThis, ...matchArgs);
|
|
92
|
+
}
|
|
93
|
+
return this[SymbolOnionsEnabled][selector];
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
getOnionsEnabledOfMeta(useCache: boolean, beanName: keyof IMetaNameRecord, selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
97
|
+
const method = useCache ? 'getOnionsEnabledCached' : 'getOnionsEnabled';
|
|
98
|
+
return this[method](selector, matchThis, ...matchArgs).filter(item => item.beanOptions.name === beanName);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
getOnionSliceEnabled<T extends keyof ONIONRECORD>(
|
|
102
|
+
useCache: boolean,
|
|
103
|
+
onionName: T,
|
|
104
|
+
selector?: string | boolean,
|
|
105
|
+
matchThis?: any,
|
|
106
|
+
...matchArgs: any[]
|
|
107
|
+
) {
|
|
108
|
+
const method = useCache ? 'getOnionsEnabledCached' : 'getOnionsEnabled';
|
|
109
|
+
return this[method](selector, matchThis, ...matchArgs).find(item => item.name === onionName);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
getOnionSlice<T extends keyof ONIONRECORD>(onionName: T): IOnionSlice<ONIONRECORD, T> {
|
|
113
|
+
return this.onionsNormal[onionName];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
getOnionsEnabledWrapped(wrapFn: Function, selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
117
|
+
const onions = this.getOnionsEnabled(selector, matchThis, ...matchArgs);
|
|
118
|
+
return onions.map(item => {
|
|
119
|
+
return wrapFn(item);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
getOnionsEnabledWrappedCached(wrapFn: Function, _selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
124
|
+
const selector = typeof _selector === 'string' ? _selector : '';
|
|
125
|
+
if (!this[SymbolOnionsEnabledWrapped][selector]) {
|
|
126
|
+
this[SymbolOnionsEnabledWrapped][selector] = this.getOnionsEnabledWrapped(wrapFn, _selector, matchThis, ...matchArgs);
|
|
127
|
+
}
|
|
128
|
+
return this[SymbolOnionsEnabledWrapped][selector];
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
public get composedOnionsGlobal() {
|
|
132
|
+
return this._composeOnionsGlobal();
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
private _composeOnionsGlobal(executeCustom?: IOnionExecuteCustom) {
|
|
136
|
+
if (!this._cacheOnionsGlobal) {
|
|
137
|
+
const onions: Function[] = [];
|
|
138
|
+
for (const item of this.onionsGlobal) {
|
|
139
|
+
onions.push(this._wrapOnion(item, executeCustom));
|
|
140
|
+
}
|
|
141
|
+
this._cacheOnionsGlobal = onions;
|
|
142
|
+
}
|
|
143
|
+
return this._cacheOnionsGlobal;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private _composeOnionsHandler(
|
|
147
|
+
route: ContextRouteBase | undefined,
|
|
148
|
+
fnStart?: Function | Function[],
|
|
149
|
+
fnMid?: Function | Function[],
|
|
150
|
+
fnEnd?: Function | Function[],
|
|
151
|
+
executeCustom?: IOnionExecuteCustom,
|
|
152
|
+
) {
|
|
153
|
+
const beanFullName = route?.controllerBeanFullName;
|
|
154
|
+
const handlerName = route?.action;
|
|
155
|
+
const key = beanFullName ? `${beanFullName}:${handlerName}` : '';
|
|
156
|
+
if (!this._cacheOnionsHandler[key]) {
|
|
157
|
+
let onions: Function[] = [];
|
|
158
|
+
if (fnStart) onions = onions.concat(fnStart);
|
|
159
|
+
// onions: global
|
|
160
|
+
onions = onions.concat(this._composeOnionsGlobal(executeCustom));
|
|
161
|
+
if (fnMid) onions = onions.concat(fnMid);
|
|
162
|
+
// onions: handler
|
|
163
|
+
const onionsLocal = this._collectOnionsHandler(route);
|
|
164
|
+
for (const item of onionsLocal) {
|
|
165
|
+
onions.push(this._wrapOnion(item, executeCustom));
|
|
166
|
+
}
|
|
167
|
+
if (fnEnd) onions = onions.concat(fnEnd);
|
|
168
|
+
this._cacheOnionsHandler[key] = onions;
|
|
169
|
+
}
|
|
170
|
+
return this._cacheOnionsHandler[key];
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
public _collectOnionsHandler(route: ContextRouteBase | undefined) {
|
|
174
|
+
if (!route?.controller) return [];
|
|
175
|
+
// onionsLocal: controller
|
|
176
|
+
const controllerOnionsLocal = appMetadata.getMetadata<Record<string, string[]>>(SymbolUseOnionLocal, route.controller)?.[
|
|
177
|
+
this.sceneName
|
|
178
|
+
] as string[];
|
|
179
|
+
// onionsLocal: action
|
|
180
|
+
const onionsLocal: IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[] = [];
|
|
181
|
+
const actionOnionsLocal = appMetadata.getMetadata<Record<string, string[]>>(SymbolUseOnionLocal, route.controller.prototype, route.action)?.[
|
|
182
|
+
this.sceneName
|
|
183
|
+
] as string[];
|
|
184
|
+
const onionsLocalAll: string[] = [];
|
|
185
|
+
if (actionOnionsLocal) {
|
|
186
|
+
actionOnionsLocal.forEach(item => {
|
|
187
|
+
if (!onionsLocalAll.includes(item)) onionsLocalAll.push(item);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (controllerOnionsLocal) {
|
|
191
|
+
controllerOnionsLocal.forEach(item => {
|
|
192
|
+
if (!onionsLocalAll.includes(item)) onionsLocalAll.push(item);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
for (const onionName of onionsLocalAll) {
|
|
196
|
+
const item = this.onionsNormal[onionName];
|
|
197
|
+
if (!item) throw new Error(`${this.sceneName} not found: ${onionName}`);
|
|
198
|
+
onionsLocal.push(item);
|
|
199
|
+
}
|
|
200
|
+
return onionsLocal;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
getOnionOptions<T extends keyof ONIONRECORD>(onionName: T): ONIONRECORD[T] | undefined {
|
|
204
|
+
return this.getOnionSlice(onionName).beanOptions.options as ONIONRECORD[T] | undefined;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
getOnionOptionsDynamic<T extends keyof ONIONRECORD>(onionName: T, optionsCustom?: Partial<ONIONRECORD[T]>): ONIONRECORD[T] {
|
|
208
|
+
const item = this.getOnionSlice(onionName);
|
|
209
|
+
return this.combineOnionOptions(item, optionsCustom);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
combineOnionOptions<T extends keyof ONIONRECORD>(item: IOnionSlice<ONIONRECORD, T>, optionsCustom?: Partial<ONIONRECORD[T]>): ONIONRECORD[T] {
|
|
213
|
+
const ctx = this.ctx as VonaContext | undefined;
|
|
214
|
+
// optionsPrimitive
|
|
215
|
+
const optionsPrimitive = item.beanOptions.optionsPrimitive;
|
|
216
|
+
// options: meta/config
|
|
217
|
+
const optionsMetaAndConfig = item.beanOptions.options;
|
|
218
|
+
// options: instance config
|
|
219
|
+
const optionsInstanceConfig = ctx?.instance ? ctx?.config.onions[item.beanOptions.scene]?.[item.name] : undefined;
|
|
220
|
+
// options: route
|
|
221
|
+
// not use route options for argument pipe
|
|
222
|
+
let optionsRoute;
|
|
223
|
+
if (!cast(item).argumentPipe && this.sceneMeta.optionsRoute) {
|
|
224
|
+
const route = ctx?.route?.route;
|
|
225
|
+
optionsRoute = route?.meta?.[item.beanOptions.beanFullName];
|
|
226
|
+
}
|
|
227
|
+
// options: argument pipe
|
|
228
|
+
const optionsArgumentPipe = this.sceneMeta.optionsArgumentPipe ? cast(item).argumentPipe?.options : undefined;
|
|
229
|
+
// options: dynamic
|
|
230
|
+
let optionsDynamic;
|
|
231
|
+
if (this.sceneMeta.optionsDynamic) {
|
|
232
|
+
optionsDynamic = ctx?.onionsDynamic?.[item.beanOptions.scene]?.[item.name];
|
|
233
|
+
}
|
|
234
|
+
// final options
|
|
235
|
+
let options;
|
|
236
|
+
if (optionsPrimitive) {
|
|
237
|
+
options = optionsCustom ?? optionsDynamic ?? optionsArgumentPipe ?? optionsRoute ?? optionsInstanceConfig ?? optionsMetaAndConfig;
|
|
238
|
+
} else {
|
|
239
|
+
options = deepExtend({}, optionsMetaAndConfig, optionsInstanceConfig, optionsRoute, optionsArgumentPipe, optionsDynamic, optionsCustom);
|
|
240
|
+
}
|
|
241
|
+
// ok
|
|
242
|
+
return options;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
private _swapOnions(onions: IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[]) {
|
|
246
|
+
swapDeps(onions as ISwapDepsItem[], {
|
|
247
|
+
name: 'name',
|
|
248
|
+
dependencies: item => {
|
|
249
|
+
const onionOptions = cast<IOnionSlice<ONIONRECORD, keyof ONIONRECORD>>(item).beanOptions.options as IOnionOptionsDeps<string>;
|
|
250
|
+
return onionOptions.dependencies as any;
|
|
251
|
+
},
|
|
252
|
+
dependents: item => {
|
|
253
|
+
const onionOptions = cast<IOnionSlice<ONIONRECORD, keyof ONIONRECORD>>(item).beanOptions.options as IOnionOptionsDeps<string>;
|
|
254
|
+
return onionOptions.dependents as any;
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
private _loadOnions() {
|
|
260
|
+
const onionsAll = this._loadOnionsAll();
|
|
261
|
+
this.onionsNormal = {} as TypeOnionsNormal<ONIONRECORD>;
|
|
262
|
+
this.onionsGlobal = [];
|
|
263
|
+
// load
|
|
264
|
+
for (const item of onionsAll) {
|
|
265
|
+
// normal
|
|
266
|
+
this.onionsNormal[item.name] = item;
|
|
267
|
+
// global
|
|
268
|
+
if (!this.sceneMeta.hasLocal || appMetadata.getMetadata<boolean>(SymbolDecoratorGlobal, item.beanOptions.beanClass)) {
|
|
269
|
+
this.onionsGlobal.push(item);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
private _loadOnionsAll() {
|
|
275
|
+
const onionsAll: IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[] = [];
|
|
276
|
+
for (const module of this.app.meta.modulesArray) {
|
|
277
|
+
this._loadOnionsAll_fromMetadata(onionsAll, module);
|
|
278
|
+
}
|
|
279
|
+
return onionsAll;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
private _loadOnionsAll_fromMetadata(onionsAll: IOnionSlice<ONIONRECORD, keyof ONIONRECORD>[], module: IModule) {
|
|
283
|
+
const onions = appResource.scenes[this.sceneName]?.[module.info.relativeName];
|
|
284
|
+
if (!onions) return;
|
|
285
|
+
for (const key in onions) {
|
|
286
|
+
const beanOptions = onions[key];
|
|
287
|
+
const name = key.replace(`.${this.sceneName}.`, ':') as keyof ONIONRECORD;
|
|
288
|
+
// push
|
|
289
|
+
onionsAll.push({
|
|
290
|
+
name,
|
|
291
|
+
beanOptions: beanOptions as any,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/** internal */
|
|
297
|
+
public _wrapOnion<T extends keyof ONIONRECORD>(item: IOnionSlice<ONIONRECORD, T>, executeCustom?: IOnionExecuteCustom) {
|
|
298
|
+
const sceneName = this.sceneName;
|
|
299
|
+
const fn = (data: any, next: Next) => {
|
|
300
|
+
// optionsPrimitive
|
|
301
|
+
const optionsPrimitive = item.beanOptions.optionsPrimitive;
|
|
302
|
+
// options
|
|
303
|
+
const options = this.combineOnionOptions(item);
|
|
304
|
+
// enable match ignore
|
|
305
|
+
if (!optionsPrimitive && !this.bean.onion.checkOnionOptionsEnabled(options as any, this._getRoutePathForMatch())) {
|
|
306
|
+
return next(data);
|
|
307
|
+
}
|
|
308
|
+
// execute
|
|
309
|
+
const beanFullName = item.beanOptions.beanFullName;
|
|
310
|
+
const beanInstance = this.app.bean._getBean(beanFullName as any);
|
|
311
|
+
if (!beanInstance) {
|
|
312
|
+
throw new Error(`${sceneName} bean not found: ${beanFullName}`);
|
|
313
|
+
}
|
|
314
|
+
if (executeCustom) {
|
|
315
|
+
return executeCustom(beanInstance, data, options, next);
|
|
316
|
+
}
|
|
317
|
+
return cast(beanInstance).execute(options, next);
|
|
318
|
+
};
|
|
319
|
+
fn._name = item.name;
|
|
320
|
+
return fn;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// todo: maybe use routePathRaw directly
|
|
324
|
+
private _getRoutePathForMatch() {
|
|
325
|
+
const routePathRaw: string | RegExp | undefined = this.ctx?.route?.routePathRaw;
|
|
326
|
+
if (!routePathRaw || isRegExp(routePathRaw)) return;
|
|
327
|
+
return routePathRaw;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
public inspect(selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
331
|
+
const onionSlices = this.getOnionsEnabled(selector, matchThis, ...matchArgs);
|
|
332
|
+
const onionNames = onionSlices.map(item => item.name);
|
|
333
|
+
this.$logger.silly(JSON.stringify(onionSlices, null, 2));
|
|
334
|
+
this.$logger.silly(JSON.stringify(onionNames, null, 2));
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
public inspectEventListener(eventName: keyof IEventRecord) {
|
|
338
|
+
const onionSlices = this.getOnionsEnabled(eventName);
|
|
339
|
+
const onionNames = onionSlices.map(item => item.name);
|
|
340
|
+
this.$logger.silly(JSON.stringify(onionSlices, null, 2));
|
|
341
|
+
this.$logger.silly(JSON.stringify(onionNames, null, 2));
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
public inspectMeta(metaName: keyof IMetaNameRecord, selector?: string | boolean, matchThis?: any, ...matchArgs: any[]) {
|
|
345
|
+
const onionSlices = this.getOnionsEnabled(selector, matchThis, ...matchArgs);
|
|
346
|
+
const onionSlices2: IOnionSlice[] = [];
|
|
347
|
+
for (const item of onionSlices) {
|
|
348
|
+
if (item.beanOptions.name === metaName) {
|
|
349
|
+
onionSlices2.push(item);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
const onionNames = onionSlices.map(item => item.name).filter(item => item.toString().endsWith(`:${metaName}`));
|
|
353
|
+
this.$logger.silly(JSON.stringify(onionSlices2, null, 2));
|
|
354
|
+
this.$logger.silly(JSON.stringify(onionNames, null, 2));
|
|
355
|
+
}
|
|
356
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './onion.ts';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { VonaOnionOptionsMeta } from '@cabloy/module-info';
|
|
2
|
+
import type { IDecoratorBeanOptionsBase, IHostRecord, IInstanceRecord, PowerPartial } from 'vona';
|
|
3
|
+
|
|
4
|
+
export const SymbolUseOnionLocal = Symbol('SymbolUseOnionLocal');
|
|
5
|
+
export const SymbolUseOnionOptions = Symbol('SymbolUseOnionOptions');
|
|
6
|
+
export const SymbolUseOnionOptionsRouteReal = Symbol('SymbolUseOnionOptionsRouteReal');
|
|
7
|
+
|
|
8
|
+
export type TypeOnionsNormal<ONIONRECORD> = {
|
|
9
|
+
[KEY in keyof ONIONRECORD]: IOnionSlice<ONIONRECORD, KEY>;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type IOnionExecuteCustom = (beanInstance: any, data: any, options: any, next: Function) => any;
|
|
13
|
+
|
|
14
|
+
export type TypeUseOnionOmitOptionsGlobal<T> = Omit<T, 'dependencies' | 'dependents' | 'ignore' | 'match'>;
|
|
15
|
+
export type TypeUseOnionOmitOptionsEnable<T> = Omit<T, 'enable' | 'meta'>;
|
|
16
|
+
|
|
17
|
+
export interface IOnionOptionsEnable<OmitMetaFields extends string = never> {
|
|
18
|
+
enable?: boolean;
|
|
19
|
+
meta?: Omit<IOnionOptionsMeta, OmitMetaFields>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type TypeOnionOptionsEnableSimple = IOnionOptionsEnable<'instanceName' | 'host'>;
|
|
23
|
+
|
|
24
|
+
export type TypeOnionOptionsMatchFunction = (this: any, ...args: any[]) => boolean;
|
|
25
|
+
export type TypeOnionOptionsMatchRule<T> = T | RegExp | TypeOnionOptionsMatchFunction;
|
|
26
|
+
export type TypeOnionOptionsMatchRules<T> = TypeOnionOptionsMatchRule<T>[] | TypeOnionOptionsMatchRule<T>;
|
|
27
|
+
|
|
28
|
+
export interface IOnionOptionsMatch<T> {
|
|
29
|
+
match?: T[] | T;
|
|
30
|
+
ignore?: T[] | T;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface IOnionOptionsDeps<T> {
|
|
34
|
+
dependencies?: T[] | T;
|
|
35
|
+
dependents?: T[] | T;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface IOnionOptionsMeta extends VonaOnionOptionsMeta {
|
|
39
|
+
instanceName?: keyof IInstanceRecord | Array<keyof IInstanceRecord>;
|
|
40
|
+
host?: keyof IHostRecord | Array<keyof IHostRecord>;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface IOnionOptionsBase<T extends string> extends IOnionOptionsEnable, IOnionOptionsMatch<TypeOnionOptionsMatchRule<T>> {}
|
|
44
|
+
export interface TypeOnionOptionsBaseSimple<T extends string>
|
|
45
|
+
extends TypeOnionOptionsEnableSimple, IOnionOptionsMatch<TypeOnionOptionsMatchRule<T>> {}
|
|
46
|
+
|
|
47
|
+
export interface IOnionSlice<ONIONRECORD = unknown, ONIONNAME extends keyof ONIONRECORD = any, T = unknown> {
|
|
48
|
+
name: ONIONNAME;
|
|
49
|
+
beanOptions: IDecoratorBeanOptionsBase<T, ONIONRECORD[ONIONNAME]>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface ConfigOnions {}
|
|
53
|
+
|
|
54
|
+
declare module 'vona' {
|
|
55
|
+
export interface VonaConfig {
|
|
56
|
+
onions: ConfigOnions;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface ILoggerChildRecord {
|
|
60
|
+
onion: never;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface VonaContext {
|
|
64
|
+
get onionsDynamic(): PowerPartial<ConfigOnions> | undefined;
|
|
65
|
+
set onionsDynamic(value: PowerPartial<ConfigOnions> | undefined);
|
|
66
|
+
}
|
|
67
|
+
}
|