@xyo-network/module-model 2.72.2 → 2.72.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/CreatableModule.js.map +1 -1
- package/dist/cjs/ModuleFactory.js +16 -0
- package/dist/cjs/ModuleFactory.js.map +1 -1
- package/dist/docs.json +5003 -4807
- package/dist/esm/CreatableModule.js.map +1 -1
- package/dist/esm/ModuleFactory.js +16 -0
- package/dist/esm/ModuleFactory.js.map +1 -1
- package/dist/types/CreatableModule.d.ts +1 -0
- package/dist/types/CreatableModule.d.ts.map +1 -1
- package/dist/types/ModuleFactory.d.ts +2 -0
- package/dist/types/ModuleFactory.d.ts.map +1 -1
- package/package.json +14 -13
- package/src/CreatableModule.ts +1 -0
- package/src/ModuleFactory.ts +18 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatableModule.js","sourceRoot":"","sources":["../../src/CreatableModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreatableModule.js","sourceRoot":"","sources":["../../src/CreatableModule.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAqC,WAAc,EAAE,EAAE;QAC5D,WAAW,CAAA;IACb,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
1
2
|
import merge from 'lodash/merge';
|
|
2
3
|
export class ModuleFactory {
|
|
3
4
|
configSchemas;
|
|
@@ -15,6 +16,21 @@ export class ModuleFactory {
|
|
|
15
16
|
static withParams(creatableModule, params) {
|
|
16
17
|
return new ModuleFactory(creatableModule, params);
|
|
17
18
|
}
|
|
19
|
+
_getRootFunction(funcName) {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
+
let anyThis = this;
|
|
22
|
+
while (anyThis.__proto__[funcName]) {
|
|
23
|
+
anyThis = anyThis.__proto__;
|
|
24
|
+
}
|
|
25
|
+
return anyThis[funcName];
|
|
26
|
+
}
|
|
27
|
+
_noOverride(functionName) {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
const thisFunc = this[functionName];
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
|
+
const rootFunc = this._getRootFunction(functionName);
|
|
32
|
+
assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
|
|
33
|
+
}
|
|
18
34
|
create(params) {
|
|
19
35
|
const factory = this;
|
|
20
36
|
const schema = factory.creatableModule.configSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactory.js","sourceRoot":"","sources":["../../src/ModuleFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModuleFactory.js","sourceRoot":"","sources":["../../src/ModuleFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,cAAc,CAAA;AAKhC,MAAM,OAAO,aAAa;IACxB,aAAa,CAAkD;IAE/D,eAAe,CAA0B;IAEzC,aAAa,CAAqB;IAElC,aAAa,CAA+E;IAE5F,YAAY,eAAyC,EAAE,MAAqF;QAC1I,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,aAAa,CAAA;IACpD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,UAAU,CACf,eAAmC,EACnC,MAAyE;QAEzE,OAAO,IAAI,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAC/B,8DAA8D;QAC9D,IAAI,OAAO,GAAG,IAAW,CAAA;QACzB,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAA;SAC5B;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAED,WAAW,CAAC,YAAoB;QAC9B,8DAA8D;QAC9D,MAAM,QAAQ,GAAI,IAAY,CAAC,YAAY,CAAC,CAAA;QAC5C,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;QACpD,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,6BAA6B,YAAY,gBAAgB,YAAY,iBAAiB,CAAC,CAAA;IACzH,CAAC;IAED,MAAM,CAA4D,MAAsC;QACtG,MAAM,OAAO,GAAG,IAAwB,CAAA;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAA;QACnD,MAAM,YAAY,GAAsB,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE;YAC/E,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;SAC7E,CAAC,CAAA;QACF,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAI,YAAY,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CAAqD,OAAiC;QAC3F,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF"}
|
|
@@ -6,6 +6,7 @@ export interface CreatableModule<T extends ModuleInstance = ModuleInstance> {
|
|
|
6
6
|
configSchemas: string[];
|
|
7
7
|
defaultLogger?: Logger;
|
|
8
8
|
new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T;
|
|
9
|
+
_noOverride(functionName: string): void;
|
|
9
10
|
create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>;
|
|
10
11
|
factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatableModule.d.ts","sourceRoot":"","sources":["../../src/CreatableModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACxE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,CAAC,CAAA;IACrF,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5F,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAC7G;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG;IAChI,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACpG,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,kEAI9E"}
|
|
1
|
+
{"version":3,"file":"CreatableModule.d.ts","sourceRoot":"","sources":["../../src/CreatableModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;IACxE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,CAAC,CAAA;IACrF,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5F,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAC7G;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG;IAChI,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACpG,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,kEAI9E"}
|
|
@@ -15,6 +15,8 @@ export declare class ModuleFactory<TModule extends ModuleInstance> implements Cr
|
|
|
15
15
|
static withParams<T extends ModuleInstance>(creatableModule: CreatableModule<T>, params?: Omit<T['params'], 'config'> & {
|
|
16
16
|
config?: T['params']['config'];
|
|
17
17
|
}): ModuleFactory<T>;
|
|
18
|
+
_getRootFunction(funcName: string): any;
|
|
19
|
+
_noOverride(functionName: string): void;
|
|
18
20
|
create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T>;
|
|
19
21
|
factory<T extends ModuleInstance>(this: CreatableModule<T>, _params?: T['params'] | undefined): CreatableModuleFactory<T>;
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleFactory.d.ts","sourceRoot":"","sources":["../../src/ModuleFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModuleFactory.d.ts","sourceRoot":"","sources":["../../src/ModuleFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAG5C,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,qBAAa,aAAa,CAAC,OAAO,SAAS,cAAc,CAAE,YAAW,sBAAsB,CAAC,OAAO,CAAC;IACnG,aAAa,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAA;IAE/D,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAEzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAElC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAA;gBAEhF,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE;IAM5I,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,cAAc,EACxC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EACnC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;KAAE;IAK3E,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IASjC,WAAW,CAAC,YAAY,EAAE,MAAM;IAQhC,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IASrH,OAAO,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,sBAAsB,CAAC,CAAC,CAAC;CAG1H"}
|
package/package.json
CHANGED
|
@@ -10,18 +10,19 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@xyo-network/
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/boundwitness-
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"@xyo-network/
|
|
23
|
-
"@xyo-network/
|
|
24
|
-
"@xyo-network/
|
|
13
|
+
"@xylabs/assert": "^2.9.3",
|
|
14
|
+
"@xyo-network/account-model": "~2.72.5",
|
|
15
|
+
"@xyo-network/address-payload-plugin": "~2.72.5",
|
|
16
|
+
"@xyo-network/boundwitness-builder": "~2.72.5",
|
|
17
|
+
"@xyo-network/boundwitness-model": "~2.72.5",
|
|
18
|
+
"@xyo-network/core": "~2.72.5",
|
|
19
|
+
"@xyo-network/logger": "~2.72.5",
|
|
20
|
+
"@xyo-network/manifest-model": "~2.72.5",
|
|
21
|
+
"@xyo-network/module-events": "~2.72.5",
|
|
22
|
+
"@xyo-network/object-identity": "~2.72.5",
|
|
23
|
+
"@xyo-network/payload-model": "~2.72.5",
|
|
24
|
+
"@xyo-network/promise": "~2.72.5",
|
|
25
|
+
"@xyo-network/wallet-model": "~2.72.5",
|
|
25
26
|
"lodash": "^4.17.21"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
@@ -62,5 +63,5 @@
|
|
|
62
63
|
},
|
|
63
64
|
"sideEffects": false,
|
|
64
65
|
"types": "dist/types/index.d.ts",
|
|
65
|
-
"version": "2.72.
|
|
66
|
+
"version": "2.72.5"
|
|
66
67
|
}
|
package/src/CreatableModule.ts
CHANGED
|
@@ -8,6 +8,7 @@ export interface CreatableModule<T extends ModuleInstance = ModuleInstance> {
|
|
|
8
8
|
configSchemas: string[]
|
|
9
9
|
defaultLogger?: Logger
|
|
10
10
|
new (privateConstructorKey: string, params: T['params'], account: AccountInstance): T
|
|
11
|
+
_noOverride(functionName: string): void
|
|
11
12
|
create<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): Promise<T>
|
|
12
13
|
factory<T extends ModuleInstance>(this: CreatableModule<T>, params?: T['params']): CreatableModuleFactory<T>
|
|
13
14
|
}
|
package/src/ModuleFactory.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
1
2
|
import { Logger } from '@xyo-network/logger'
|
|
2
3
|
import merge from 'lodash/merge'
|
|
3
4
|
|
|
@@ -30,6 +31,23 @@ export class ModuleFactory<TModule extends ModuleInstance> implements CreatableM
|
|
|
30
31
|
return new ModuleFactory(creatableModule, params)
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
_getRootFunction(funcName: string) {
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
let anyThis = this as any
|
|
37
|
+
while (anyThis.__proto__[funcName]) {
|
|
38
|
+
anyThis = anyThis.__proto__
|
|
39
|
+
}
|
|
40
|
+
return anyThis[funcName]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
_noOverride(functionName: string) {
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
+
const thisFunc = (this as any)[functionName]
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
47
|
+
const rootFunc = this._getRootFunction(functionName)
|
|
48
|
+
assertEx(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`)
|
|
49
|
+
}
|
|
50
|
+
|
|
33
51
|
create<T extends ModuleInstance>(this: CreatableModuleFactory<T>, params?: TModule['params'] | undefined): Promise<T> {
|
|
34
52
|
const factory = this as ModuleFactory<T>
|
|
35
53
|
const schema = factory.creatableModule.configSchema
|