@xyo-network/diviner-abstract 2.111.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/index.d.ts +22 -2
- package/package.json +19 -38
- package/xy.config.ts +12 -0
- package/dist/browser/AbstractDiviner.d.cts +0 -20
- package/dist/browser/AbstractDiviner.d.cts.map +0 -1
- package/dist/browser/AbstractDiviner.d.mts +0 -20
- package/dist/browser/AbstractDiviner.d.mts.map +0 -1
- package/dist/browser/AbstractDiviner.d.ts +0 -20
- package/dist/browser/AbstractDiviner.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -98
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -2
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -2
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts +0 -2
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.mjs +0 -77
- package/dist/browser/index.mjs.map +0 -1
- package/dist/neutral/AbstractDiviner.d.cts +0 -20
- package/dist/neutral/AbstractDiviner.d.cts.map +0 -1
- package/dist/neutral/AbstractDiviner.d.mts +0 -20
- package/dist/neutral/AbstractDiviner.d.mts.map +0 -1
- package/dist/neutral/AbstractDiviner.d.ts +0 -20
- package/dist/neutral/AbstractDiviner.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -98
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -2
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -2
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/node/AbstractDiviner.d.cts +0 -20
- package/dist/node/AbstractDiviner.d.cts.map +0 -1
- package/dist/node/AbstractDiviner.d.mts +0 -20
- package/dist/node/AbstractDiviner.d.mts.map +0 -1
- package/dist/node/AbstractDiviner.d.ts +0 -20
- package/dist/node/AbstractDiviner.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -106
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -2
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -2
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts +0 -2
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.mjs +0 -81
- package/dist/node/index.mjs.map +0 -1
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { Promisable } from '@xylabs/promise';
|
|
2
|
+
import { RetryConfigWithComplete, RetryConfig } from '@xylabs/retry';
|
|
3
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
+
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
+
import { DivinerParams, DivinerModuleEventData, DivinerInstance, AttachableDivinerInstance } from '@xyo-network/diviner-model';
|
|
6
|
+
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
+
import { ModuleQueryResult, ModuleConfig, ModuleQueryHandlerResult } from '@xyo-network/module-model';
|
|
8
|
+
import { Payload, Schema, WithSources, WithMeta } from '@xyo-network/payload-model';
|
|
9
|
+
|
|
10
|
+
declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
11
|
+
static readonly configSchemas: Schema[];
|
|
12
|
+
static readonly defaultConfigSchema: Schema;
|
|
13
|
+
static targetSchema: string;
|
|
14
|
+
static readonly uniqueName: string;
|
|
15
|
+
get queries(): string[];
|
|
16
|
+
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
17
|
+
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
18
|
+
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
19
|
+
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { AbstractDiviner };
|
package/package.json
CHANGED
|
@@ -10,53 +10,34 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^3.6.
|
|
14
|
-
"@xylabs/object": "^3.6.
|
|
15
|
-
"@xylabs/promise": "^3.6.
|
|
16
|
-
"@xylabs/retry": "^3.6.
|
|
17
|
-
"@xyo-network/account-model": "^
|
|
18
|
-
"@xyo-network/boundwitness-model": "^
|
|
19
|
-
"@xyo-network/boundwitness-wrapper": "^
|
|
20
|
-
"@xyo-network/diviner-model": "^
|
|
21
|
-
"@xyo-network/module-abstract": "^
|
|
22
|
-
"@xyo-network/module-model": "^
|
|
23
|
-
"@xyo-network/payload-builder": "^
|
|
24
|
-
"@xyo-network/payload-model": "^
|
|
13
|
+
"@xylabs/assert": "^3.6.12",
|
|
14
|
+
"@xylabs/object": "^3.6.12",
|
|
15
|
+
"@xylabs/promise": "^3.6.12",
|
|
16
|
+
"@xylabs/retry": "^3.6.12",
|
|
17
|
+
"@xyo-network/account-model": "^3.0.0",
|
|
18
|
+
"@xyo-network/boundwitness-model": "^3.0.0",
|
|
19
|
+
"@xyo-network/boundwitness-wrapper": "^3.0.0",
|
|
20
|
+
"@xyo-network/diviner-model": "^3.0.0",
|
|
21
|
+
"@xyo-network/module-abstract": "^3.0.0",
|
|
22
|
+
"@xyo-network/module-model": "^3.0.0",
|
|
23
|
+
"@xyo-network/payload-builder": "^3.0.0",
|
|
24
|
+
"@xyo-network/payload-model": "^3.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@xylabs/ts-scripts-yarn3": "
|
|
28
|
-
"@xylabs/tsconfig": "
|
|
27
|
+
"@xylabs/ts-scripts-yarn3": "next",
|
|
28
|
+
"@xylabs/tsconfig": "next",
|
|
29
29
|
"typescript": "^5.5.4"
|
|
30
30
|
},
|
|
31
31
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
32
|
-
"types": "dist/
|
|
32
|
+
"types": "dist/neutral/index.d.ts",
|
|
33
33
|
"exports": {
|
|
34
34
|
".": {
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
"types": "./dist/browser/index.d.cts",
|
|
38
|
-
"default": "./dist/browser/index.cjs"
|
|
39
|
-
},
|
|
40
|
-
"import": {
|
|
41
|
-
"types": "./dist/browser/index.d.mts",
|
|
42
|
-
"default": "./dist/browser/index.mjs"
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"node": {
|
|
46
|
-
"require": {
|
|
47
|
-
"types": "./dist/node/index.d.cts",
|
|
48
|
-
"default": "./dist/node/index.cjs"
|
|
49
|
-
},
|
|
50
|
-
"import": {
|
|
51
|
-
"types": "./dist/node/index.d.mts",
|
|
52
|
-
"default": "./dist/node/index.mjs"
|
|
53
|
-
}
|
|
54
|
-
}
|
|
35
|
+
"types": "./dist/neutral/index.d.ts",
|
|
36
|
+
"default": "./dist/neutral/index.mjs"
|
|
55
37
|
},
|
|
56
38
|
"./package.json": "./package.json"
|
|
57
39
|
},
|
|
58
|
-
"
|
|
59
|
-
"module": "dist/node/index.mjs",
|
|
40
|
+
"module": "dist/neutral/index.mjs",
|
|
60
41
|
"homepage": "https://xyo.network",
|
|
61
42
|
"license": "LGPL-3.0-only",
|
|
62
43
|
"publishConfig": {
|
|
@@ -67,6 +48,6 @@
|
|
|
67
48
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
68
49
|
},
|
|
69
50
|
"sideEffects": false,
|
|
70
|
-
"version": "
|
|
51
|
+
"version": "3.0.0",
|
|
71
52
|
"type": "module"
|
|
72
53
|
}
|
package/xy.config.ts
ADDED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
package/dist/browser/index.cjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/index.ts
|
|
22
|
-
var src_exports = {};
|
|
23
|
-
__export(src_exports, {
|
|
24
|
-
AbstractDiviner: () => AbstractDiviner
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(src_exports);
|
|
27
|
-
|
|
28
|
-
// src/AbstractDiviner.ts
|
|
29
|
-
var import_assert = require("@xylabs/assert");
|
|
30
|
-
var import_object = require("@xylabs/object");
|
|
31
|
-
var import_retry = require("@xylabs/retry");
|
|
32
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
33
|
-
var import_diviner_model = require("@xyo-network/diviner-model");
|
|
34
|
-
var import_module_abstract = require("@xyo-network/module-abstract");
|
|
35
|
-
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
36
|
-
var AbstractDiviner = class _AbstractDiviner extends import_module_abstract.AbstractModuleInstance {
|
|
37
|
-
static {
|
|
38
|
-
__name(this, "AbstractDiviner");
|
|
39
|
-
}
|
|
40
|
-
static configSchemas = [
|
|
41
|
-
...super.configSchemas,
|
|
42
|
-
import_diviner_model.DivinerConfigSchema
|
|
43
|
-
];
|
|
44
|
-
static defaultConfigSchema = import_diviner_model.DivinerConfigSchema;
|
|
45
|
-
static targetSchema;
|
|
46
|
-
static uniqueName = (0, import_object.globallyUnique)("AbstractDiviner", _AbstractDiviner, "xyo");
|
|
47
|
-
get queries() {
|
|
48
|
-
return [
|
|
49
|
-
import_diviner_model.DivinerDivineQuerySchema,
|
|
50
|
-
...super.queries
|
|
51
|
-
];
|
|
52
|
-
}
|
|
53
|
-
/** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */
|
|
54
|
-
divine(payloads = [], retryConfigIn) {
|
|
55
|
-
this._noOverride("divine");
|
|
56
|
-
return this.busy(async () => {
|
|
57
|
-
const retryConfig = retryConfigIn ?? this.config.retry;
|
|
58
|
-
await this.started("throw");
|
|
59
|
-
await this.emit("divineStart", {
|
|
60
|
-
inPayloads: payloads,
|
|
61
|
-
mod: this
|
|
62
|
-
});
|
|
63
|
-
const resultPayloads = (retryConfig ? await (0, import_retry.retry)(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? [];
|
|
64
|
-
await this.emit("divineEnd", {
|
|
65
|
-
errors: [],
|
|
66
|
-
inPayloads: payloads,
|
|
67
|
-
mod: this,
|
|
68
|
-
outPayloads: resultPayloads
|
|
69
|
-
});
|
|
70
|
-
return await Promise.all(resultPayloads.map((payload) => import_payload_builder.PayloadBuilder.build(payload)));
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async divineQuery(payloads, account, _retry) {
|
|
74
|
-
const queryPayload = {
|
|
75
|
-
schema: import_diviner_model.DivinerDivineQuerySchema
|
|
76
|
-
};
|
|
77
|
-
return await this.sendQueryRaw(queryPayload, payloads, account);
|
|
78
|
-
}
|
|
79
|
-
/** @function queryHandler Calls divine for a divine query. Override to support additional queries. */
|
|
80
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
81
|
-
const wrapper = await import_boundwitness_wrapper.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
82
|
-
const cleanPayloads = await import_payload_builder.PayloadBuilder.filterExclude(payloads, query.query);
|
|
83
|
-
const queryPayload = await wrapper.getQuery();
|
|
84
|
-
(0, import_assert.assertEx)(await this.queryable(query, payloads, queryConfig));
|
|
85
|
-
const resultPayloads = [];
|
|
86
|
-
switch (queryPayload.schema) {
|
|
87
|
-
case import_diviner_model.DivinerDivineQuerySchema: {
|
|
88
|
-
resultPayloads.push(...await this.divine(cleanPayloads));
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
default: {
|
|
92
|
-
return super.queryHandler(query, payloads);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return resultPayloads;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/AbstractDiviner.ts"],"sourcesContent":["export * from './AbstractDiviner.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { retry, RetryConfig, RetryConfigWithComplete } from '@xylabs/retry'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport {\n AttachableDivinerInstance,\n DivinerConfigSchema,\n DivinerDivineQuery,\n DivinerDivineQuerySchema,\n DivinerInstance,\n DivinerModuleEventData,\n DivinerParams,\n DivinerQueries,\n} from '@xyo-network/diviner-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model'\n\nexport abstract class AbstractDiviner<\n TParams extends DivinerParams = DivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n>\n extends AbstractModuleInstance<TParams, TEventData>\n implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static targetSchema: string\n static override readonly uniqueName = globallyUnique('AbstractDiviner', AbstractDiviner, 'xyo')\n\n override get queries(): string[] {\n return [DivinerDivineQuerySchema, ...super.queries]\n }\n\n /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */\n divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]> {\n this._noOverride('divine')\n return this.busy(async () => {\n const retryConfig = retryConfigIn ?? this.config.retry\n await this.started('throw')\n await this.emit('divineStart', { inPayloads: payloads, mod: this })\n const resultPayloads: TOut[]\n = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? []\n await this.emit('divineEnd', { errors: [], inPayloads: payloads, mod: this, outPayloads: resultPayloads })\n return await Promise.all(resultPayloads.map(payload => PayloadBuilder.build(payload)))\n })\n }\n\n async divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>> {\n const queryPayload: DivinerDivineQuery = { schema: DivinerDivineQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n /** @function queryHandler Calls divine for a divine query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<DivinerQueries>(query, payloads)\n // remove the query payload\n const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case DivinerDivineQuerySchema: {\n resultPayloads.push(...(await this.divine(cleanPayloads as TIn[])))\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function divineHandler Implement or override to add custom functionality to a diviner */\n protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AACzB,oBAA+B;AAE/B,mBAA4D;AAG5D,kCAAyC;AACzC,2BASO;AACP,6BAAuC;AAEvC,6BAA+B;AAGxB,IAAeA,kBAAf,MAAeA,yBAUZC,8CAAAA;EAhCV,OAgCUA;;;EAER,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EACvD,OAAOE;EACP,OAAyBC,iBAAaC,8BAAe,mBAAmBP,kBAAiB,KAAA;EAEzF,IAAaQ,UAAoB;AAC/B,WAAO;MAACC;SAA6B,MAAMD;;EAC7C;;EAGAE,OAAOC,WAAkB,CAAA,GAAIC,eAAiF;AAC5G,SAAKC,YAAY,QAAA;AACjB,WAAO,KAAKC,KAAK,YAAA;AACf,YAAMC,cAAcH,iBAAiB,KAAKI,OAAOC;AACjD,YAAM,KAAKC,QAAQ,OAAA;AACnB,YAAM,KAAKC,KAAK,eAAe;QAAEC,YAAYT;QAAUU,KAAK;MAAK,CAAA;AACjE,YAAMC,kBACDP,cAAc,UAAME,oBAAM,MAAM,KAAKM,cAAcZ,QAAAA,GAAWI,WAAAA,IAAe,MAAM,KAAKQ,cAAcZ,QAAAA,MAAc,CAAA;AACzH,YAAM,KAAKQ,KAAK,aAAa;QAAEK,QAAQ,CAAA;QAAIJ,YAAYT;QAAUU,KAAK;QAAMI,aAAaH;MAAe,CAAA;AACxG,aAAO,MAAMI,QAAQC,IAAIL,eAAeM,IAAIC,CAAAA,YAAWC,sCAAeC,MAAMF,OAAAA,CAAAA,CAAAA;IAC9E,CAAA;EACF;EAEA,MAAMG,YAAYrB,UAAkBsB,SAA2BC,QAAwD;AACrH,UAAMC,eAAmC;MAAEC,QAAQ3B;IAAyB;AAC5E,WAAO,MAAM,KAAK4B,aAAaF,cAAcxB,UAAUsB,OAAAA;EACzD;;EAGA,MAAyBK,aACvBC,OACA5B,UACA6B,aACmC;AACnC,UAAMC,UAAU,MAAMC,qDAAyBC,WAA2BJ,OAAO5B,QAAAA;AAEjF,UAAMiC,gBAAgB,MAAMd,sCAAee,cAAclC,UAAU4B,MAAMA,KAAK;AAC9E,UAAMJ,eAAe,MAAMM,QAAQK,SAAQ;AAC3CC,gCAAS,MAAM,KAAKC,UAAUT,OAAO5B,UAAU6B,WAAAA,CAAAA;AAC/C,UAAMlB,iBAA4B,CAAA;AAClC,YAAQa,aAAaC,QAAM;MACzB,KAAK3B,+CAA0B;AAC7Ba,uBAAe2B,KAAI,GAAK,MAAM,KAAKvC,OAAOkC,aAAAA,CAAAA;AAC1C;MACF;MACA,SAAS;AACP,eAAO,MAAMN,aAAaC,OAAO5B,QAAAA;MACnC;IACF;AACA,WAAOW;EACT;AAIF;","names":["AbstractDiviner","AbstractModuleInstance","configSchemas","DivinerConfigSchema","defaultConfigSchema","targetSchema","uniqueName","globallyUnique","queries","DivinerDivineQuerySchema","divine","payloads","retryConfigIn","_noOverride","busy","retryConfig","config","retry","started","emit","inPayloads","mod","resultPayloads","divineHandler","errors","outPayloads","Promise","all","map","payload","PayloadBuilder","build","divineQuery","account","_retry","queryPayload","schema","sendQueryRaw","queryHandler","query","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","cleanPayloads","filterExclude","getQuery","assertEx","queryable","push"]}
|
package/dist/browser/index.d.cts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/browser/index.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/browser/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/browser/index.mjs
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/AbstractDiviner.ts
|
|
5
|
-
import { assertEx } from "@xylabs/assert";
|
|
6
|
-
import { globallyUnique } from "@xylabs/object";
|
|
7
|
-
import { retry } from "@xylabs/retry";
|
|
8
|
-
import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
9
|
-
import { DivinerConfigSchema, DivinerDivineQuerySchema } from "@xyo-network/diviner-model";
|
|
10
|
-
import { AbstractModuleInstance } from "@xyo-network/module-abstract";
|
|
11
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
12
|
-
var AbstractDiviner = class _AbstractDiviner extends AbstractModuleInstance {
|
|
13
|
-
static {
|
|
14
|
-
__name(this, "AbstractDiviner");
|
|
15
|
-
}
|
|
16
|
-
static configSchemas = [
|
|
17
|
-
...super.configSchemas,
|
|
18
|
-
DivinerConfigSchema
|
|
19
|
-
];
|
|
20
|
-
static defaultConfigSchema = DivinerConfigSchema;
|
|
21
|
-
static targetSchema;
|
|
22
|
-
static uniqueName = globallyUnique("AbstractDiviner", _AbstractDiviner, "xyo");
|
|
23
|
-
get queries() {
|
|
24
|
-
return [
|
|
25
|
-
DivinerDivineQuerySchema,
|
|
26
|
-
...super.queries
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
/** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */
|
|
30
|
-
divine(payloads = [], retryConfigIn) {
|
|
31
|
-
this._noOverride("divine");
|
|
32
|
-
return this.busy(async () => {
|
|
33
|
-
const retryConfig = retryConfigIn ?? this.config.retry;
|
|
34
|
-
await this.started("throw");
|
|
35
|
-
await this.emit("divineStart", {
|
|
36
|
-
inPayloads: payloads,
|
|
37
|
-
mod: this
|
|
38
|
-
});
|
|
39
|
-
const resultPayloads = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? [];
|
|
40
|
-
await this.emit("divineEnd", {
|
|
41
|
-
errors: [],
|
|
42
|
-
inPayloads: payloads,
|
|
43
|
-
mod: this,
|
|
44
|
-
outPayloads: resultPayloads
|
|
45
|
-
});
|
|
46
|
-
return await Promise.all(resultPayloads.map((payload) => PayloadBuilder.build(payload)));
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async divineQuery(payloads, account, _retry) {
|
|
50
|
-
const queryPayload = {
|
|
51
|
-
schema: DivinerDivineQuerySchema
|
|
52
|
-
};
|
|
53
|
-
return await this.sendQueryRaw(queryPayload, payloads, account);
|
|
54
|
-
}
|
|
55
|
-
/** @function queryHandler Calls divine for a divine query. Override to support additional queries. */
|
|
56
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
57
|
-
const wrapper = await QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
58
|
-
const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query);
|
|
59
|
-
const queryPayload = await wrapper.getQuery();
|
|
60
|
-
assertEx(await this.queryable(query, payloads, queryConfig));
|
|
61
|
-
const resultPayloads = [];
|
|
62
|
-
switch (queryPayload.schema) {
|
|
63
|
-
case DivinerDivineQuerySchema: {
|
|
64
|
-
resultPayloads.push(...await this.divine(cleanPayloads));
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
default: {
|
|
68
|
-
return super.queryHandler(query, payloads);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return resultPayloads;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
export {
|
|
75
|
-
AbstractDiviner
|
|
76
|
-
};
|
|
77
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { retry, RetryConfig, RetryConfigWithComplete } from '@xylabs/retry'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport {\n AttachableDivinerInstance,\n DivinerConfigSchema,\n DivinerDivineQuery,\n DivinerDivineQuerySchema,\n DivinerInstance,\n DivinerModuleEventData,\n DivinerParams,\n DivinerQueries,\n} from '@xyo-network/diviner-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model'\n\nexport abstract class AbstractDiviner<\n TParams extends DivinerParams = DivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n>\n extends AbstractModuleInstance<TParams, TEventData>\n implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static targetSchema: string\n static override readonly uniqueName = globallyUnique('AbstractDiviner', AbstractDiviner, 'xyo')\n\n override get queries(): string[] {\n return [DivinerDivineQuerySchema, ...super.queries]\n }\n\n /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */\n divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]> {\n this._noOverride('divine')\n return this.busy(async () => {\n const retryConfig = retryConfigIn ?? this.config.retry\n await this.started('throw')\n await this.emit('divineStart', { inPayloads: payloads, mod: this })\n const resultPayloads: TOut[]\n = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? []\n await this.emit('divineEnd', { errors: [], inPayloads: payloads, mod: this, outPayloads: resultPayloads })\n return await Promise.all(resultPayloads.map(payload => PayloadBuilder.build(payload)))\n })\n }\n\n async divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>> {\n const queryPayload: DivinerDivineQuery = { schema: DivinerDivineQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n /** @function queryHandler Calls divine for a divine query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<DivinerQueries>(query, payloads)\n // remove the query payload\n const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case DivinerDivineQuerySchema: {\n resultPayloads.push(...(await this.divine(cleanPayloads as TIn[])))\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function divineHandler Implement or override to add custom functionality to a diviner */\n protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,sBAAsB;AAE/B,SAASC,aAAmD;AAG5D,SAASC,gCAAgC;AACzC,SAEEC,qBAEAC,gCAKK;AACP,SAASC,8BAA8B;AAEvC,SAASC,sBAAsB;AAGxB,IAAeC,kBAAf,MAAeA,yBAUZC,uBAAAA;EAhCV,OAgCUA;;;EAER,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EACvD,OAAOE;EACP,OAAyBC,aAAaC,eAAe,mBAAmBP,kBAAiB,KAAA;EAEzF,IAAaQ,UAAoB;AAC/B,WAAO;MAACC;SAA6B,MAAMD;;EAC7C;;EAGAE,OAAOC,WAAkB,CAAA,GAAIC,eAAiF;AAC5G,SAAKC,YAAY,QAAA;AACjB,WAAO,KAAKC,KAAK,YAAA;AACf,YAAMC,cAAcH,iBAAiB,KAAKI,OAAOC;AACjD,YAAM,KAAKC,QAAQ,OAAA;AACnB,YAAM,KAAKC,KAAK,eAAe;QAAEC,YAAYT;QAAUU,KAAK;MAAK,CAAA;AACjE,YAAMC,kBACDP,cAAc,MAAME,MAAM,MAAM,KAAKM,cAAcZ,QAAAA,GAAWI,WAAAA,IAAe,MAAM,KAAKQ,cAAcZ,QAAAA,MAAc,CAAA;AACzH,YAAM,KAAKQ,KAAK,aAAa;QAAEK,QAAQ,CAAA;QAAIJ,YAAYT;QAAUU,KAAK;QAAMI,aAAaH;MAAe,CAAA;AACxG,aAAO,MAAMI,QAAQC,IAAIL,eAAeM,IAAIC,CAAAA,YAAWC,eAAeC,MAAMF,OAAAA,CAAAA,CAAAA;IAC9E,CAAA;EACF;EAEA,MAAMG,YAAYrB,UAAkBsB,SAA2BC,QAAwD;AACrH,UAAMC,eAAmC;MAAEC,QAAQ3B;IAAyB;AAC5E,WAAO,MAAM,KAAK4B,aAAaF,cAAcxB,UAAUsB,OAAAA;EACzD;;EAGA,MAAyBK,aACvBC,OACA5B,UACA6B,aACmC;AACnC,UAAMC,UAAU,MAAMC,yBAAyBC,WAA2BJ,OAAO5B,QAAAA;AAEjF,UAAMiC,gBAAgB,MAAMd,eAAee,cAAclC,UAAU4B,MAAMA,KAAK;AAC9E,UAAMJ,eAAe,MAAMM,QAAQK,SAAQ;AAC3CC,aAAS,MAAM,KAAKC,UAAUT,OAAO5B,UAAU6B,WAAAA,CAAAA;AAC/C,UAAMlB,iBAA4B,CAAA;AAClC,YAAQa,aAAaC,QAAM;MACzB,KAAK3B,0BAA0B;AAC7Ba,uBAAe2B,KAAI,GAAK,MAAM,KAAKvC,OAAOkC,aAAAA,CAAAA;AAC1C;MACF;MACA,SAAS;AACP,eAAO,MAAMN,aAAaC,OAAO5B,QAAAA;MACnC;IACF;AACA,WAAOW;EACT;AAIF;","names":["assertEx","globallyUnique","retry","QueryBoundWitnessWrapper","DivinerConfigSchema","DivinerDivineQuerySchema","AbstractModuleInstance","PayloadBuilder","AbstractDiviner","AbstractModuleInstance","configSchemas","DivinerConfigSchema","defaultConfigSchema","targetSchema","uniqueName","globallyUnique","queries","DivinerDivineQuerySchema","divine","payloads","retryConfigIn","_noOverride","busy","retryConfig","config","retry","started","emit","inPayloads","mod","resultPayloads","divineHandler","errors","outPayloads","Promise","all","map","payload","PayloadBuilder","build","divineQuery","account","_retry","queryPayload","schema","sendQueryRaw","queryHandler","query","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","cleanPayloads","filterExclude","getQuery","assertEx","queryable","push"]}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
package/dist/neutral/index.cjs
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
-
|
|
21
|
-
// src/index.ts
|
|
22
|
-
var src_exports = {};
|
|
23
|
-
__export(src_exports, {
|
|
24
|
-
AbstractDiviner: () => AbstractDiviner
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(src_exports);
|
|
27
|
-
|
|
28
|
-
// src/AbstractDiviner.ts
|
|
29
|
-
var import_assert = require("@xylabs/assert");
|
|
30
|
-
var import_object = require("@xylabs/object");
|
|
31
|
-
var import_retry = require("@xylabs/retry");
|
|
32
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
33
|
-
var import_diviner_model = require("@xyo-network/diviner-model");
|
|
34
|
-
var import_module_abstract = require("@xyo-network/module-abstract");
|
|
35
|
-
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
36
|
-
var AbstractDiviner = class _AbstractDiviner extends import_module_abstract.AbstractModuleInstance {
|
|
37
|
-
static {
|
|
38
|
-
__name(this, "AbstractDiviner");
|
|
39
|
-
}
|
|
40
|
-
static configSchemas = [
|
|
41
|
-
...super.configSchemas,
|
|
42
|
-
import_diviner_model.DivinerConfigSchema
|
|
43
|
-
];
|
|
44
|
-
static defaultConfigSchema = import_diviner_model.DivinerConfigSchema;
|
|
45
|
-
static targetSchema;
|
|
46
|
-
static uniqueName = (0, import_object.globallyUnique)("AbstractDiviner", _AbstractDiviner, "xyo");
|
|
47
|
-
get queries() {
|
|
48
|
-
return [
|
|
49
|
-
import_diviner_model.DivinerDivineQuerySchema,
|
|
50
|
-
...super.queries
|
|
51
|
-
];
|
|
52
|
-
}
|
|
53
|
-
/** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */
|
|
54
|
-
divine(payloads = [], retryConfigIn) {
|
|
55
|
-
this._noOverride("divine");
|
|
56
|
-
return this.busy(async () => {
|
|
57
|
-
const retryConfig = retryConfigIn ?? this.config.retry;
|
|
58
|
-
await this.started("throw");
|
|
59
|
-
await this.emit("divineStart", {
|
|
60
|
-
inPayloads: payloads,
|
|
61
|
-
mod: this
|
|
62
|
-
});
|
|
63
|
-
const resultPayloads = (retryConfig ? await (0, import_retry.retry)(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? [];
|
|
64
|
-
await this.emit("divineEnd", {
|
|
65
|
-
errors: [],
|
|
66
|
-
inPayloads: payloads,
|
|
67
|
-
mod: this,
|
|
68
|
-
outPayloads: resultPayloads
|
|
69
|
-
});
|
|
70
|
-
return await Promise.all(resultPayloads.map((payload) => import_payload_builder.PayloadBuilder.build(payload)));
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async divineQuery(payloads, account, _retry) {
|
|
74
|
-
const queryPayload = {
|
|
75
|
-
schema: import_diviner_model.DivinerDivineQuerySchema
|
|
76
|
-
};
|
|
77
|
-
return await this.sendQueryRaw(queryPayload, payloads, account);
|
|
78
|
-
}
|
|
79
|
-
/** @function queryHandler Calls divine for a divine query. Override to support additional queries. */
|
|
80
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
81
|
-
const wrapper = await import_boundwitness_wrapper.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
82
|
-
const cleanPayloads = await import_payload_builder.PayloadBuilder.filterExclude(payloads, query.query);
|
|
83
|
-
const queryPayload = await wrapper.getQuery();
|
|
84
|
-
(0, import_assert.assertEx)(await this.queryable(query, payloads, queryConfig));
|
|
85
|
-
const resultPayloads = [];
|
|
86
|
-
switch (queryPayload.schema) {
|
|
87
|
-
case import_diviner_model.DivinerDivineQuerySchema: {
|
|
88
|
-
resultPayloads.push(...await this.divine(cleanPayloads));
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
default: {
|
|
92
|
-
return super.queryHandler(query, payloads);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return resultPayloads;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/AbstractDiviner.ts"],"sourcesContent":["export * from './AbstractDiviner.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { retry, RetryConfig, RetryConfigWithComplete } from '@xylabs/retry'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport {\n AttachableDivinerInstance,\n DivinerConfigSchema,\n DivinerDivineQuery,\n DivinerDivineQuerySchema,\n DivinerInstance,\n DivinerModuleEventData,\n DivinerParams,\n DivinerQueries,\n} from '@xyo-network/diviner-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model'\n\nexport abstract class AbstractDiviner<\n TParams extends DivinerParams = DivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n>\n extends AbstractModuleInstance<TParams, TEventData>\n implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static targetSchema: string\n static override readonly uniqueName = globallyUnique('AbstractDiviner', AbstractDiviner, 'xyo')\n\n override get queries(): string[] {\n return [DivinerDivineQuerySchema, ...super.queries]\n }\n\n /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */\n divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]> {\n this._noOverride('divine')\n return this.busy(async () => {\n const retryConfig = retryConfigIn ?? this.config.retry\n await this.started('throw')\n await this.emit('divineStart', { inPayloads: payloads, mod: this })\n const resultPayloads: TOut[]\n = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? []\n await this.emit('divineEnd', { errors: [], inPayloads: payloads, mod: this, outPayloads: resultPayloads })\n return await Promise.all(resultPayloads.map(payload => PayloadBuilder.build(payload)))\n })\n }\n\n async divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>> {\n const queryPayload: DivinerDivineQuery = { schema: DivinerDivineQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n /** @function queryHandler Calls divine for a divine query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<DivinerQueries>(query, payloads)\n // remove the query payload\n const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case DivinerDivineQuerySchema: {\n resultPayloads.push(...(await this.divine(cleanPayloads as TIn[])))\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function divineHandler Implement or override to add custom functionality to a diviner */\n protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AACzB,oBAA+B;AAE/B,mBAA4D;AAG5D,kCAAyC;AACzC,2BASO;AACP,6BAAuC;AAEvC,6BAA+B;AAGxB,IAAeA,kBAAf,MAAeA,yBAUZC,8CAAAA;EAhCV,OAgCUA;;;EAER,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EACvD,OAAOE;EACP,OAAyBC,iBAAaC,8BAAe,mBAAmBP,kBAAiB,KAAA;EAEzF,IAAaQ,UAAoB;AAC/B,WAAO;MAACC;SAA6B,MAAMD;;EAC7C;;EAGAE,OAAOC,WAAkB,CAAA,GAAIC,eAAiF;AAC5G,SAAKC,YAAY,QAAA;AACjB,WAAO,KAAKC,KAAK,YAAA;AACf,YAAMC,cAAcH,iBAAiB,KAAKI,OAAOC;AACjD,YAAM,KAAKC,QAAQ,OAAA;AACnB,YAAM,KAAKC,KAAK,eAAe;QAAEC,YAAYT;QAAUU,KAAK;MAAK,CAAA;AACjE,YAAMC,kBACDP,cAAc,UAAME,oBAAM,MAAM,KAAKM,cAAcZ,QAAAA,GAAWI,WAAAA,IAAe,MAAM,KAAKQ,cAAcZ,QAAAA,MAAc,CAAA;AACzH,YAAM,KAAKQ,KAAK,aAAa;QAAEK,QAAQ,CAAA;QAAIJ,YAAYT;QAAUU,KAAK;QAAMI,aAAaH;MAAe,CAAA;AACxG,aAAO,MAAMI,QAAQC,IAAIL,eAAeM,IAAIC,CAAAA,YAAWC,sCAAeC,MAAMF,OAAAA,CAAAA,CAAAA;IAC9E,CAAA;EACF;EAEA,MAAMG,YAAYrB,UAAkBsB,SAA2BC,QAAwD;AACrH,UAAMC,eAAmC;MAAEC,QAAQ3B;IAAyB;AAC5E,WAAO,MAAM,KAAK4B,aAAaF,cAAcxB,UAAUsB,OAAAA;EACzD;;EAGA,MAAyBK,aACvBC,OACA5B,UACA6B,aACmC;AACnC,UAAMC,UAAU,MAAMC,qDAAyBC,WAA2BJ,OAAO5B,QAAAA;AAEjF,UAAMiC,gBAAgB,MAAMd,sCAAee,cAAclC,UAAU4B,MAAMA,KAAK;AAC9E,UAAMJ,eAAe,MAAMM,QAAQK,SAAQ;AAC3CC,gCAAS,MAAM,KAAKC,UAAUT,OAAO5B,UAAU6B,WAAAA,CAAAA;AAC/C,UAAMlB,iBAA4B,CAAA;AAClC,YAAQa,aAAaC,QAAM;MACzB,KAAK3B,+CAA0B;AAC7Ba,uBAAe2B,KAAI,GAAK,MAAM,KAAKvC,OAAOkC,aAAAA,CAAAA;AAC1C;MACF;MACA,SAAS;AACP,eAAO,MAAMN,aAAaC,OAAO5B,QAAAA;MACnC;IACF;AACA,WAAOW;EACT;AAIF;","names":["AbstractDiviner","AbstractModuleInstance","configSchemas","DivinerConfigSchema","defaultConfigSchema","targetSchema","uniqueName","globallyUnique","queries","DivinerDivineQuerySchema","divine","payloads","retryConfigIn","_noOverride","busy","retryConfig","config","retry","started","emit","inPayloads","mod","resultPayloads","divineHandler","errors","outPayloads","Promise","all","map","payload","PayloadBuilder","build","divineQuery","account","_retry","queryPayload","schema","sendQueryRaw","queryHandler","query","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","cleanPayloads","filterExclude","getQuery","assertEx","queryable","push"]}
|
package/dist/neutral/index.d.cts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/neutral/index.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Promisable } from '@xylabs/promise';
|
|
2
|
-
import { RetryConfig, RetryConfigWithComplete } from '@xylabs/retry';
|
|
3
|
-
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
-
import { AttachableDivinerInstance, DivinerInstance, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
6
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
7
|
-
import { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractModuleInstance<TParams, TEventData> implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {
|
|
10
|
-
static readonly configSchemas: Schema[];
|
|
11
|
-
static readonly defaultConfigSchema: Schema;
|
|
12
|
-
static targetSchema: string;
|
|
13
|
-
static readonly uniqueName: string;
|
|
14
|
-
get queries(): string[];
|
|
15
|
-
divine(payloads?: TIn[], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]>;
|
|
16
|
-
divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>>;
|
|
17
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
18
|
-
protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAS,WAAW,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAEnE,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEnF,8BAAsB,eAAe,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CAED,SAAQ,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAClD,YAAW,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACpE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAgD;IAChG,gBAAyB,mBAAmB,EAAE,MAAM,CAAsB;IAC1E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAC3B,gBAAyB,UAAU,SAA4D;IAE/F,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAGD,MAAM,CAAC,QAAQ,GAAE,GAAG,EAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAavG,WAAW,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAM7F,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,wBAAwB,CAAC;IAoBpC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;CACpF"}
|
package/dist/node/index.cjs
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __reflectGet = Reflect.get;
|
|
8
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name in all)
|
|
12
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
24
|
-
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
25
|
-
|
|
26
|
-
// src/index.ts
|
|
27
|
-
var src_exports = {};
|
|
28
|
-
__export(src_exports, {
|
|
29
|
-
AbstractDiviner: () => AbstractDiviner
|
|
30
|
-
});
|
|
31
|
-
module.exports = __toCommonJS(src_exports);
|
|
32
|
-
|
|
33
|
-
// src/AbstractDiviner.ts
|
|
34
|
-
var import_assert = require("@xylabs/assert");
|
|
35
|
-
var import_object = require("@xylabs/object");
|
|
36
|
-
var import_retry = require("@xylabs/retry");
|
|
37
|
-
var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
|
|
38
|
-
var import_diviner_model = require("@xyo-network/diviner-model");
|
|
39
|
-
var import_module_abstract = require("@xyo-network/module-abstract");
|
|
40
|
-
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
41
|
-
var _AbstractDiviner = class _AbstractDiviner extends import_module_abstract.AbstractModuleInstance {
|
|
42
|
-
get queries() {
|
|
43
|
-
return [
|
|
44
|
-
import_diviner_model.DivinerDivineQuerySchema,
|
|
45
|
-
...super.queries
|
|
46
|
-
];
|
|
47
|
-
}
|
|
48
|
-
/** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */
|
|
49
|
-
divine(payloads = [], retryConfigIn) {
|
|
50
|
-
this._noOverride("divine");
|
|
51
|
-
return this.busy(async () => {
|
|
52
|
-
const retryConfig = retryConfigIn ?? this.config.retry;
|
|
53
|
-
await this.started("throw");
|
|
54
|
-
await this.emit("divineStart", {
|
|
55
|
-
inPayloads: payloads,
|
|
56
|
-
mod: this
|
|
57
|
-
});
|
|
58
|
-
const resultPayloads = (retryConfig ? await (0, import_retry.retry)(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? [];
|
|
59
|
-
await this.emit("divineEnd", {
|
|
60
|
-
errors: [],
|
|
61
|
-
inPayloads: payloads,
|
|
62
|
-
mod: this,
|
|
63
|
-
outPayloads: resultPayloads
|
|
64
|
-
});
|
|
65
|
-
return await Promise.all(resultPayloads.map((payload) => import_payload_builder.PayloadBuilder.build(payload)));
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
async divineQuery(payloads, account, _retry) {
|
|
69
|
-
const queryPayload = {
|
|
70
|
-
schema: import_diviner_model.DivinerDivineQuerySchema
|
|
71
|
-
};
|
|
72
|
-
return await this.sendQueryRaw(queryPayload, payloads, account);
|
|
73
|
-
}
|
|
74
|
-
/** @function queryHandler Calls divine for a divine query. Override to support additional queries. */
|
|
75
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
76
|
-
const wrapper = await import_boundwitness_wrapper.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
77
|
-
const cleanPayloads = await import_payload_builder.PayloadBuilder.filterExclude(payloads, query.query);
|
|
78
|
-
const queryPayload = await wrapper.getQuery();
|
|
79
|
-
(0, import_assert.assertEx)(await this.queryable(query, payloads, queryConfig));
|
|
80
|
-
const resultPayloads = [];
|
|
81
|
-
switch (queryPayload.schema) {
|
|
82
|
-
case import_diviner_model.DivinerDivineQuerySchema: {
|
|
83
|
-
resultPayloads.push(...await this.divine(cleanPayloads));
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
default: {
|
|
87
|
-
return super.queryHandler(query, payloads);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return resultPayloads;
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
__name(_AbstractDiviner, "AbstractDiviner");
|
|
94
|
-
__publicField(_AbstractDiviner, "configSchemas", [
|
|
95
|
-
...__superGet(_AbstractDiviner, _AbstractDiviner, "configSchemas"),
|
|
96
|
-
import_diviner_model.DivinerConfigSchema
|
|
97
|
-
]);
|
|
98
|
-
__publicField(_AbstractDiviner, "defaultConfigSchema", import_diviner_model.DivinerConfigSchema);
|
|
99
|
-
__publicField(_AbstractDiviner, "targetSchema");
|
|
100
|
-
__publicField(_AbstractDiviner, "uniqueName", (0, import_object.globallyUnique)("AbstractDiviner", _AbstractDiviner, "xyo"));
|
|
101
|
-
var AbstractDiviner = _AbstractDiviner;
|
|
102
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
103
|
-
0 && (module.exports = {
|
|
104
|
-
AbstractDiviner
|
|
105
|
-
});
|
|
106
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/node/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/AbstractDiviner.ts"],"sourcesContent":["export * from './AbstractDiviner.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { retry, RetryConfig, RetryConfigWithComplete } from '@xylabs/retry'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport {\n AttachableDivinerInstance,\n DivinerConfigSchema,\n DivinerDivineQuery,\n DivinerDivineQuerySchema,\n DivinerInstance,\n DivinerModuleEventData,\n DivinerParams,\n DivinerQueries,\n} from '@xyo-network/diviner-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model'\n\nexport abstract class AbstractDiviner<\n TParams extends DivinerParams = DivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n>\n extends AbstractModuleInstance<TParams, TEventData>\n implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static targetSchema: string\n static override readonly uniqueName = globallyUnique('AbstractDiviner', AbstractDiviner, 'xyo')\n\n override get queries(): string[] {\n return [DivinerDivineQuerySchema, ...super.queries]\n }\n\n /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */\n divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]> {\n this._noOverride('divine')\n return this.busy(async () => {\n const retryConfig = retryConfigIn ?? this.config.retry\n await this.started('throw')\n await this.emit('divineStart', { inPayloads: payloads, mod: this })\n const resultPayloads: TOut[]\n = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? []\n await this.emit('divineEnd', { errors: [], inPayloads: payloads, mod: this, outPayloads: resultPayloads })\n return await Promise.all(resultPayloads.map(payload => PayloadBuilder.build(payload)))\n })\n }\n\n async divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>> {\n const queryPayload: DivinerDivineQuery = { schema: DivinerDivineQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n /** @function queryHandler Calls divine for a divine query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<DivinerQueries>(query, payloads)\n // remove the query payload\n const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case DivinerDivineQuerySchema: {\n resultPayloads.push(...(await this.divine(cleanPayloads as TIn[])))\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function divineHandler Implement or override to add custom functionality to a diviner */\n protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACAA,oBAAyB;AACzB,oBAA+B;AAE/B,mBAA4D;AAG5D,kCAAyC;AACzC,2BASO;AACP,6BAAuC;AAEvC,6BAA+B;AAGxB,IAAeA,mBAAf,MAAeA,yBAUZC,8CAAAA;EAOR,IAAaC,UAAoB;AAC/B,WAAO;MAACC;SAA6B,MAAMD;;EAC7C;;EAGAE,OAAOC,WAAkB,CAAA,GAAIC,eAAiF;AAC5G,SAAKC,YAAY,QAAA;AACjB,WAAO,KAAKC,KAAK,YAAA;AACf,YAAMC,cAAcH,iBAAiB,KAAKI,OAAOC;AACjD,YAAM,KAAKC,QAAQ,OAAA;AACnB,YAAM,KAAKC,KAAK,eAAe;QAAEC,YAAYT;QAAUU,KAAK;MAAK,CAAA;AACjE,YAAMC,kBACDP,cAAc,UAAME,oBAAM,MAAM,KAAKM,cAAcZ,QAAAA,GAAWI,WAAAA,IAAe,MAAM,KAAKQ,cAAcZ,QAAAA,MAAc,CAAA;AACzH,YAAM,KAAKQ,KAAK,aAAa;QAAEK,QAAQ,CAAA;QAAIJ,YAAYT;QAAUU,KAAK;QAAMI,aAAaH;MAAe,CAAA;AACxG,aAAO,MAAMI,QAAQC,IAAIL,eAAeM,IAAIC,CAAAA,YAAWC,sCAAeC,MAAMF,OAAAA,CAAAA,CAAAA;IAC9E,CAAA;EACF;EAEA,MAAMG,YAAYrB,UAAkBsB,SAA2BC,QAAwD;AACrH,UAAMC,eAAmC;MAAEC,QAAQ3B;IAAyB;AAC5E,WAAO,MAAM,KAAK4B,aAAaF,cAAcxB,UAAUsB,OAAAA;EACzD;;EAGA,MAAyBK,aACvBC,OACA5B,UACA6B,aACmC;AACnC,UAAMC,UAAU,MAAMC,qDAAyBC,WAA2BJ,OAAO5B,QAAAA;AAEjF,UAAMiC,gBAAgB,MAAMd,sCAAee,cAAclC,UAAU4B,MAAMA,KAAK;AAC9E,UAAMJ,eAAe,MAAMM,QAAQK,SAAQ;AAC3CC,gCAAS,MAAM,KAAKC,UAAUT,OAAO5B,UAAU6B,WAAAA,CAAAA;AAC/C,UAAMlB,iBAA4B,CAAA;AAClC,YAAQa,aAAaC,QAAM;MACzB,KAAK3B,+CAA0B;AAC7Ba,uBAAe2B,KAAI,GAAK,MAAM,KAAKvC,OAAOkC,aAAAA,CAAAA;AAC1C;MACF;MACA,SAAS;AACP,eAAO,MAAMN,aAAaC,OAAO5B,QAAAA;MACnC;IACF;AACA,WAAOW;EACT;AAIF;AAxDUf;AAER,cAZoBD,kBAYK4C,iBAA0B;KAAI,+CAAMA;EAAeC;;AAC5E,cAboB7C,kBAaK8C,uBAA8BD;AACvD,cAdoB7C,kBAcb+C;AACP,cAfoB/C,kBAeKgD,kBAAaC,8BAAe,mBAAmBjD,kBAAiB,KAAA;AAfpF,IAAeA,kBAAf;","names":["AbstractDiviner","AbstractModuleInstance","queries","DivinerDivineQuerySchema","divine","payloads","retryConfigIn","_noOverride","busy","retryConfig","config","retry","started","emit","inPayloads","mod","resultPayloads","divineHandler","errors","outPayloads","Promise","all","map","payload","PayloadBuilder","build","divineQuery","account","_retry","queryPayload","schema","sendQueryRaw","queryHandler","query","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","cleanPayloads","filterExclude","getQuery","assertEx","queryable","push","configSchemas","DivinerConfigSchema","defaultConfigSchema","targetSchema","uniqueName","globallyUnique"]}
|
package/dist/node/index.d.cts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/node/index.d.mts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/node/index.d.ts
DELETED
package/dist/node/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
package/dist/node/index.mjs
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __reflectGet = Reflect.get;
|
|
4
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
7
|
-
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
8
|
-
|
|
9
|
-
// src/AbstractDiviner.ts
|
|
10
|
-
import { assertEx } from "@xylabs/assert";
|
|
11
|
-
import { globallyUnique } from "@xylabs/object";
|
|
12
|
-
import { retry } from "@xylabs/retry";
|
|
13
|
-
import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
14
|
-
import { DivinerConfigSchema, DivinerDivineQuerySchema } from "@xyo-network/diviner-model";
|
|
15
|
-
import { AbstractModuleInstance } from "@xyo-network/module-abstract";
|
|
16
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
17
|
-
var _AbstractDiviner = class _AbstractDiviner extends AbstractModuleInstance {
|
|
18
|
-
get queries() {
|
|
19
|
-
return [
|
|
20
|
-
DivinerDivineQuerySchema,
|
|
21
|
-
...super.queries
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
/** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */
|
|
25
|
-
divine(payloads = [], retryConfigIn) {
|
|
26
|
-
this._noOverride("divine");
|
|
27
|
-
return this.busy(async () => {
|
|
28
|
-
const retryConfig = retryConfigIn ?? this.config.retry;
|
|
29
|
-
await this.started("throw");
|
|
30
|
-
await this.emit("divineStart", {
|
|
31
|
-
inPayloads: payloads,
|
|
32
|
-
mod: this
|
|
33
|
-
});
|
|
34
|
-
const resultPayloads = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? [];
|
|
35
|
-
await this.emit("divineEnd", {
|
|
36
|
-
errors: [],
|
|
37
|
-
inPayloads: payloads,
|
|
38
|
-
mod: this,
|
|
39
|
-
outPayloads: resultPayloads
|
|
40
|
-
});
|
|
41
|
-
return await Promise.all(resultPayloads.map((payload) => PayloadBuilder.build(payload)));
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
async divineQuery(payloads, account, _retry) {
|
|
45
|
-
const queryPayload = {
|
|
46
|
-
schema: DivinerDivineQuerySchema
|
|
47
|
-
};
|
|
48
|
-
return await this.sendQueryRaw(queryPayload, payloads, account);
|
|
49
|
-
}
|
|
50
|
-
/** @function queryHandler Calls divine for a divine query. Override to support additional queries. */
|
|
51
|
-
async queryHandler(query, payloads, queryConfig) {
|
|
52
|
-
const wrapper = await QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
53
|
-
const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query);
|
|
54
|
-
const queryPayload = await wrapper.getQuery();
|
|
55
|
-
assertEx(await this.queryable(query, payloads, queryConfig));
|
|
56
|
-
const resultPayloads = [];
|
|
57
|
-
switch (queryPayload.schema) {
|
|
58
|
-
case DivinerDivineQuerySchema: {
|
|
59
|
-
resultPayloads.push(...await this.divine(cleanPayloads));
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
default: {
|
|
63
|
-
return super.queryHandler(query, payloads);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return resultPayloads;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
__name(_AbstractDiviner, "AbstractDiviner");
|
|
70
|
-
__publicField(_AbstractDiviner, "configSchemas", [
|
|
71
|
-
...__superGet(_AbstractDiviner, _AbstractDiviner, "configSchemas"),
|
|
72
|
-
DivinerConfigSchema
|
|
73
|
-
]);
|
|
74
|
-
__publicField(_AbstractDiviner, "defaultConfigSchema", DivinerConfigSchema);
|
|
75
|
-
__publicField(_AbstractDiviner, "targetSchema");
|
|
76
|
-
__publicField(_AbstractDiviner, "uniqueName", globallyUnique("AbstractDiviner", _AbstractDiviner, "xyo"));
|
|
77
|
-
var AbstractDiviner = _AbstractDiviner;
|
|
78
|
-
export {
|
|
79
|
-
AbstractDiviner
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/node/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractDiviner.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { retry, RetryConfig, RetryConfigWithComplete } from '@xylabs/retry'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport {\n AttachableDivinerInstance,\n DivinerConfigSchema,\n DivinerDivineQuery,\n DivinerDivineQuerySchema,\n DivinerInstance,\n DivinerModuleEventData,\n DivinerParams,\n DivinerQueries,\n} from '@xyo-network/diviner-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { ModuleConfig, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema, WithMeta, WithSources } from '@xyo-network/payload-model'\n\nexport abstract class AbstractDiviner<\n TParams extends DivinerParams = DivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n>\n extends AbstractModuleInstance<TParams, TEventData>\n implements AttachableDivinerInstance<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, DivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = DivinerConfigSchema\n static targetSchema: string\n static override readonly uniqueName = globallyUnique('AbstractDiviner', AbstractDiviner, 'xyo')\n\n override get queries(): string[] {\n return [DivinerDivineQuerySchema, ...super.queries]\n }\n\n /** @function divine The main entry point for a diviner. Do not override this function. Implement/override divineHandler for custom functionality */\n divine(payloads: TIn[] = [], retryConfigIn?: RetryConfigWithComplete): Promise<WithSources<WithMeta<TOut>>[]> {\n this._noOverride('divine')\n return this.busy(async () => {\n const retryConfig = retryConfigIn ?? this.config.retry\n await this.started('throw')\n await this.emit('divineStart', { inPayloads: payloads, mod: this })\n const resultPayloads: TOut[]\n = (retryConfig ? await retry(() => this.divineHandler(payloads), retryConfig) : await this.divineHandler(payloads)) ?? []\n await this.emit('divineEnd', { errors: [], inPayloads: payloads, mod: this, outPayloads: resultPayloads })\n return await Promise.all(resultPayloads.map(payload => PayloadBuilder.build(payload)))\n })\n }\n\n async divineQuery(payloads?: TIn[], account?: AccountInstance, _retry?: RetryConfig): Promise<ModuleQueryResult<TOut>> {\n const queryPayload: DivinerDivineQuery = { schema: DivinerDivineQuerySchema }\n return await this.sendQueryRaw(queryPayload, payloads, account)\n }\n\n /** @function queryHandler Calls divine for a divine query. Override to support additional queries. */\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<DivinerQueries>(query, payloads)\n // remove the query payload\n const cleanPayloads = await PayloadBuilder.filterExclude(payloads, query.query)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case DivinerDivineQuerySchema: {\n resultPayloads.push(...(await this.divine(cleanPayloads as TIn[])))\n break\n }\n default: {\n return super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n /** @function divineHandler Implement or override to add custom functionality to a diviner */\n protected abstract divineHandler(payloads?: TIn[]): Promisable<WithSources<TOut>[]>\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,gBAAgB;AACzB,SAASC,sBAAsB;AAE/B,SAASC,aAAmD;AAG5D,SAASC,gCAAgC;AACzC,SAEEC,qBAEAC,gCAKK;AACP,SAASC,8BAA8B;AAEvC,SAASC,sBAAsB;AAGxB,IAAeC,mBAAf,MAAeA,yBAUZC,uBAAAA;EAOR,IAAaC,UAAoB;AAC/B,WAAO;MAACC;SAA6B,MAAMD;;EAC7C;;EAGAE,OAAOC,WAAkB,CAAA,GAAIC,eAAiF;AAC5G,SAAKC,YAAY,QAAA;AACjB,WAAO,KAAKC,KAAK,YAAA;AACf,YAAMC,cAAcH,iBAAiB,KAAKI,OAAOC;AACjD,YAAM,KAAKC,QAAQ,OAAA;AACnB,YAAM,KAAKC,KAAK,eAAe;QAAEC,YAAYT;QAAUU,KAAK;MAAK,CAAA;AACjE,YAAMC,kBACDP,cAAc,MAAME,MAAM,MAAM,KAAKM,cAAcZ,QAAAA,GAAWI,WAAAA,IAAe,MAAM,KAAKQ,cAAcZ,QAAAA,MAAc,CAAA;AACzH,YAAM,KAAKQ,KAAK,aAAa;QAAEK,QAAQ,CAAA;QAAIJ,YAAYT;QAAUU,KAAK;QAAMI,aAAaH;MAAe,CAAA;AACxG,aAAO,MAAMI,QAAQC,IAAIL,eAAeM,IAAIC,CAAAA,YAAWC,eAAeC,MAAMF,OAAAA,CAAAA,CAAAA;IAC9E,CAAA;EACF;EAEA,MAAMG,YAAYrB,UAAkBsB,SAA2BC,QAAwD;AACrH,UAAMC,eAAmC;MAAEC,QAAQ3B;IAAyB;AAC5E,WAAO,MAAM,KAAK4B,aAAaF,cAAcxB,UAAUsB,OAAAA;EACzD;;EAGA,MAAyBK,aACvBC,OACA5B,UACA6B,aACmC;AACnC,UAAMC,UAAU,MAAMC,yBAAyBC,WAA2BJ,OAAO5B,QAAAA;AAEjF,UAAMiC,gBAAgB,MAAMd,eAAee,cAAclC,UAAU4B,MAAMA,KAAK;AAC9E,UAAMJ,eAAe,MAAMM,QAAQK,SAAQ;AAC3CC,aAAS,MAAM,KAAKC,UAAUT,OAAO5B,UAAU6B,WAAAA,CAAAA;AAC/C,UAAMlB,iBAA4B,CAAA;AAClC,YAAQa,aAAaC,QAAM;MACzB,KAAK3B,0BAA0B;AAC7Ba,uBAAe2B,KAAI,GAAK,MAAM,KAAKvC,OAAOkC,aAAAA,CAAAA;AAC1C;MACF;MACA,SAAS;AACP,eAAO,MAAMN,aAAaC,OAAO5B,QAAAA;MACnC;IACF;AACA,WAAOW;EACT;AAIF;AAxDUf;AAER,cAZoBD,kBAYK4C,iBAA0B;KAAI,+CAAMA;EAAeC;;AAC5E,cAboB7C,kBAaK8C,uBAA8BD;AACvD,cAdoB7C,kBAcb+C;AACP,cAfoB/C,kBAeKgD,cAAaC,eAAe,mBAAmBjD,kBAAiB,KAAA;AAfpF,IAAeA,kBAAf;","names":["assertEx","globallyUnique","retry","QueryBoundWitnessWrapper","DivinerConfigSchema","DivinerDivineQuerySchema","AbstractModuleInstance","PayloadBuilder","AbstractDiviner","AbstractModuleInstance","queries","DivinerDivineQuerySchema","divine","payloads","retryConfigIn","_noOverride","busy","retryConfig","config","retry","started","emit","inPayloads","mod","resultPayloads","divineHandler","errors","outPayloads","Promise","all","map","payload","PayloadBuilder","build","divineQuery","account","_retry","queryPayload","schema","sendQueryRaw","queryHandler","query","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","cleanPayloads","filterExclude","getQuery","assertEx","queryable","push","configSchemas","DivinerConfigSchema","defaultConfigSchema","targetSchema","uniqueName","globallyUnique"]}
|