@xyo-network/tzero-stock-market-plugin 2.97.0 → 2.97.1

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.
@@ -1,2 +1,78 @@
1
- "use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var k=(e,o)=>{for(var r in o)s(e,r,{get:o[r],enumerable:!0})},P=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of u(o))!S.call(e,i)&&i!==r&&s(e,i,{get:()=>o[i],enumerable:!(n=d(o,i))||n.enumerable});return e};var y=e=>P(s({},"__esModule",{value:!0}),e);var v={};k(v,{TZeroApiCallJsonResultToSnapshotDiviner:()=>m,TZeroApiCallJsonResultToSnapshotDivinerConfigSchema:()=>a});module.exports=y(v);var f=require("@xylabs/exists"),h=require("@xyo-network/diviner-abstract");var p=require("@xyo-network/api-call-witness"),l=require("@xyo-network/tzero-stock-market-payload-plugin"),T=p.isApiCallJsonResult,t=e=>typeof e=="number"?e:null,c=e=>{if(T(e)){let o=e.data,{symbol:r,timestamp:n,volume:i}=o;return r===void 0||n===void 0||i===void 0?void 0:{...{askPrice:t(o.askPrice),askPriceRate:t(o.askPriceRate),askQtyBookTotal:t(o.askQtyBookTotal),askQuantity:t(o.askQuantity),bidPrice:t(o.bidPrice),bidPriceRate:t(o.bidPriceRate),bidQtyBookTotal:t(o.bidQtyBookTotal),bidQuantity:t(o.bidQuantity),high:t(o.high),lastPrice:t(o.lastPrice),lastQuantity:t(o.lastQuantity),low:t(o.low),open:t(o.open),prevClosePx:t(o.prevClosePx),symbol:r,timestamp:n,volume:i},schema:l.SnapshotSchema}}};var a="network.xyo.stock.market.tzero.api.snapshot.diviner.config";var m=class extends h.AbstractDiviner{static configSchemas=[...super.configSchemas,a];static defaultConfigSchema=a;divineHandler(o){return o?o.length===0?[]:o.map(c).filter(f.exists):[]}};
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ TZeroApiCallJsonResultToSnapshotDiviner: () => TZeroApiCallJsonResultToSnapshotDiviner,
24
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: () => TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
29
+ var import_exists = require("@xylabs/exists");
30
+ var import_diviner_abstract = require("@xyo-network/diviner-abstract");
31
+
32
+ // src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts
33
+ var import_api_call_witness = require("@xyo-network/api-call-witness");
34
+ var import_tzero_stock_market_payload_plugin = require("@xyo-network/tzero-stock-market-payload-plugin");
35
+ var isSnapshotApiCallJsonResult = import_api_call_witness.isApiCallJsonResult;
36
+ var numberOrNull = (value) => typeof value === "number" ? value : null;
37
+ var tryMapToSnapshot = (response) => {
38
+ if (isSnapshotApiCallJsonResult(response)) {
39
+ const data = response.data;
40
+ const { symbol, timestamp, volume } = data;
41
+ if (symbol === void 0 || timestamp === void 0 || volume === void 0) return void 0;
42
+ const fields = {
43
+ askPrice: numberOrNull(data.askPrice),
44
+ askPriceRate: numberOrNull(data.askPriceRate),
45
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
46
+ askQuantity: numberOrNull(data.askQuantity),
47
+ bidPrice: numberOrNull(data.bidPrice),
48
+ bidPriceRate: numberOrNull(data.bidPriceRate),
49
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
50
+ bidQuantity: numberOrNull(data.bidQuantity),
51
+ high: numberOrNull(data.high),
52
+ lastPrice: numberOrNull(data.lastPrice),
53
+ lastQuantity: numberOrNull(data.lastQuantity),
54
+ low: numberOrNull(data.low),
55
+ open: numberOrNull(data.open),
56
+ prevClosePx: numberOrNull(data.prevClosePx),
57
+ symbol,
58
+ timestamp,
59
+ volume
60
+ };
61
+ return { ...fields, schema: import_tzero_stock_market_payload_plugin.SnapshotSchema };
62
+ }
63
+ };
64
+
65
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
66
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
67
+
68
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
69
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends import_diviner_abstract.AbstractDiviner {
70
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
71
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
72
+ divineHandler(payloads) {
73
+ if (!payloads) return [];
74
+ if (payloads.length === 0) return [];
75
+ return payloads.map(tryMapToSnapshot).filter(import_exists.exists);
76
+ }
77
+ };
2
78
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["export * from './Diviner'\n","import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6CAAAE,EAAA,wDAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAAuB,0BAEvBC,EAAgC,yCCDhC,IAAAC,EAAoC,yCACpCC,EAAyD,0DAInDC,EAA8B,sBAE9BC,EAAgBC,GAAmC,OAAOA,GAAU,SAAWA,EAAQ,KAEhFC,EAAoBC,GAA6C,CAC5E,GAAIJ,EAA4BI,CAAQ,EAAG,CACzC,IAAMC,EAAgCD,EAAS,KACzC,CAAE,OAAAE,EAAQ,UAAAC,EAAW,OAAAC,CAAO,EAAIH,EACtC,OAAIC,IAAW,QAAaC,IAAc,QAAaC,IAAW,OAAW,OAoBtE,CAAE,GAnBM,CACb,SAAUP,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,SAAUJ,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,UAAWJ,EAAaI,EAAK,SAAS,EACtC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,IAAKJ,EAAaI,EAAK,GAAG,EAC1B,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,OAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EACoB,OAAQ,gBAAe,CAC7C,CACF,ECnCO,IAAMC,EACX,6DFYK,IAAMC,EAAN,cAEG,iBAAyB,CACjC,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAmD,EAC/H,OAAyB,oBAA8BA,EAEpC,cAAcC,EAA2D,CAC1F,OAAKA,EACDA,EAAS,SAAW,EAAU,CAAC,EAC5BA,EAAS,IAAIC,CAAgB,EAAE,OAAO,QAAM,EAF7B,CAAC,CAGzB,CACF","names":["src_exports","__export","TZeroApiCallJsonResultToSnapshotDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","__toCommonJS","import_exists","import_diviner_abstract","import_api_call_witness","import_tzero_stock_market_payload_plugin","isSnapshotApiCallJsonResult","numberOrNull","value","tryMapToSnapshot","response","data","symbol","timestamp","volume","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","TZeroApiCallJsonResultToSnapshotDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","payloads","tryMapToSnapshot"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["export * from './Diviner'\n","import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAuB;AAEvB,8BAAgC;;;ACDhC,8BAAoC;AACpC,+CAAyD;AAIzD,IAAM,8BAA8B;AAEpC,IAAM,eAAe,CAAC,UAAmC,OAAO,UAAU,WAAW,QAAQ;AAEtF,IAAM,mBAAmB,CAAC,aAA6C;AAC5E,MAAI,4BAA4B,QAAQ,GAAG;AACzC,UAAM,OAAgC,SAAS;AAC/C,UAAM,EAAE,QAAQ,WAAW,OAAO,IAAI;AACtC,QAAI,WAAW,UAAa,cAAc,UAAa,WAAW,OAAW,QAAO;AACpF,UAAM,SAAS;AAAA,MACb,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,WAAW,aAAa,KAAK,SAAS;AAAA,MACtC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,KAAK,aAAa,KAAK,GAAG;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,QAAQ,wDAAe;AAAA,EAC7C;AACF;;;ACnCO,IAAM,sDACX;;;AFYK,IAAM,0CAAN,cAEG,wCAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,mDAAmD;AAAA,EAC/H,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA2D;AAC1F,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,QAAI,SAAS,WAAW,EAAG,QAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,oBAAM;AAAA,EACrD;AACF;","names":[]}
@@ -1,2 +1,55 @@
1
- import{exists as f}from"@xylabs/exists";import{AbstractDiviner as h}from"@xyo-network/diviner-abstract";import{isApiCallJsonResult as p}from"@xyo-network/api-call-witness";import{SnapshotSchema as l}from"@xyo-network/tzero-stock-market-payload-plugin";var c=p,e=t=>typeof t=="number"?t:null,s=t=>{if(c(t)){let o=t.data,{symbol:r,timestamp:n,volume:a}=o;return r===void 0||n===void 0||a===void 0?void 0:{...{askPrice:e(o.askPrice),askPriceRate:e(o.askPriceRate),askQtyBookTotal:e(o.askQtyBookTotal),askQuantity:e(o.askQuantity),bidPrice:e(o.bidPrice),bidPriceRate:e(o.bidPriceRate),bidQtyBookTotal:e(o.bidQtyBookTotal),bidQuantity:e(o.bidQuantity),high:e(o.high),lastPrice:e(o.lastPrice),lastQuantity:e(o.lastQuantity),low:e(o.low),open:e(o.open),prevClosePx:e(o.prevClosePx),symbol:r,timestamp:n,volume:a},schema:l}}};var i="network.xyo.stock.market.tzero.api.snapshot.diviner.config";var m=class extends h{static configSchemas=[...super.configSchemas,i];static defaultConfigSchema=i;divineHandler(o){return o?o.length===0?[]:o.map(s).filter(f):[]}};export{m as TZeroApiCallJsonResultToSnapshotDiviner,i as TZeroApiCallJsonResultToSnapshotDivinerConfigSchema};
1
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
2
+ import { exists } from "@xylabs/exists";
3
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
4
+
5
+ // src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts
6
+ import { isApiCallJsonResult } from "@xyo-network/api-call-witness";
7
+ import { SnapshotSchema } from "@xyo-network/tzero-stock-market-payload-plugin";
8
+ var isSnapshotApiCallJsonResult = isApiCallJsonResult;
9
+ var numberOrNull = (value) => typeof value === "number" ? value : null;
10
+ var tryMapToSnapshot = (response) => {
11
+ if (isSnapshotApiCallJsonResult(response)) {
12
+ const data = response.data;
13
+ const { symbol, timestamp, volume } = data;
14
+ if (symbol === void 0 || timestamp === void 0 || volume === void 0) return void 0;
15
+ const fields = {
16
+ askPrice: numberOrNull(data.askPrice),
17
+ askPriceRate: numberOrNull(data.askPriceRate),
18
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
19
+ askQuantity: numberOrNull(data.askQuantity),
20
+ bidPrice: numberOrNull(data.bidPrice),
21
+ bidPriceRate: numberOrNull(data.bidPriceRate),
22
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
23
+ bidQuantity: numberOrNull(data.bidQuantity),
24
+ high: numberOrNull(data.high),
25
+ lastPrice: numberOrNull(data.lastPrice),
26
+ lastQuantity: numberOrNull(data.lastQuantity),
27
+ low: numberOrNull(data.low),
28
+ open: numberOrNull(data.open),
29
+ prevClosePx: numberOrNull(data.prevClosePx),
30
+ symbol,
31
+ timestamp,
32
+ volume
33
+ };
34
+ return { ...fields, schema: SnapshotSchema };
35
+ }
36
+ };
37
+
38
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
39
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
40
+
41
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
42
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends AbstractDiviner {
43
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
44
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
45
+ divineHandler(payloads) {
46
+ if (!payloads) return [];
47
+ if (payloads.length === 0) return [];
48
+ return payloads.map(tryMapToSnapshot).filter(exists);
49
+ }
50
+ };
51
+ export {
52
+ TZeroApiCallJsonResultToSnapshotDiviner,
53
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
54
+ };
2
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":"AAAA,OAAS,UAAAA,MAAc,iBAEvB,OAAS,mBAAAC,MAAuB,gCCDhC,OAAS,uBAAAC,MAA2B,gCACpC,OAAmC,kBAAAC,MAAsB,iDAIzD,IAAMC,EAA8BF,EAE9BG,EAAgBC,GAAmC,OAAOA,GAAU,SAAWA,EAAQ,KAEhFC,EAAoBC,GAA6C,CAC5E,GAAIJ,EAA4BI,CAAQ,EAAG,CACzC,IAAMC,EAAgCD,EAAS,KACzC,CAAE,OAAAE,EAAQ,UAAAC,EAAW,OAAAC,CAAO,EAAIH,EACtC,OAAIC,IAAW,QAAaC,IAAc,QAAaC,IAAW,OAAW,OAoBtE,CAAE,GAnBM,CACb,SAAUP,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,SAAUJ,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,UAAWJ,EAAaI,EAAK,SAAS,EACtC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,IAAKJ,EAAaI,EAAK,GAAG,EAC1B,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,OAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EACoB,OAAQT,CAAe,CAC7C,CACF,ECnCO,IAAMU,EACX,6DFYK,IAAMC,EAAN,cAEGC,CAAyB,CACjC,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAmD,EAC/H,OAAyB,oBAA8BA,EAEpC,cAAcC,EAA2D,CAC1F,OAAKA,EACDA,EAAS,SAAW,EAAU,CAAC,EAC5BA,EAAS,IAAIC,CAAgB,EAAE,OAAOC,CAAM,EAF7B,CAAC,CAGzB,CACF","names":["exists","AbstractDiviner","isApiCallJsonResult","SnapshotSchema","isSnapshotApiCallJsonResult","numberOrNull","value","tryMapToSnapshot","response","data","symbol","timestamp","volume","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","TZeroApiCallJsonResultToSnapshotDiviner","AbstractDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","payloads","tryMapToSnapshot","exists"]}
1
+ {"version":3,"sources":["../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":";AAAA,SAAS,cAAc;AAEvB,SAAS,uBAAuB;;;ACDhC,SAAS,2BAA2B;AACpC,SAAmC,sBAAsB;AAIzD,IAAM,8BAA8B;AAEpC,IAAM,eAAe,CAAC,UAAmC,OAAO,UAAU,WAAW,QAAQ;AAEtF,IAAM,mBAAmB,CAAC,aAA6C;AAC5E,MAAI,4BAA4B,QAAQ,GAAG;AACzC,UAAM,OAAgC,SAAS;AAC/C,UAAM,EAAE,QAAQ,WAAW,OAAO,IAAI;AACtC,QAAI,WAAW,UAAa,cAAc,UAAa,WAAW,OAAW,QAAO;AACpF,UAAM,SAAS;AAAA,MACb,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,WAAW,aAAa,KAAK,SAAS;AAAA,MACtC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,KAAK,aAAa,KAAK,GAAG;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,QAAQ,eAAe;AAAA,EAC7C;AACF;;;ACnCO,IAAM,sDACX;;;AFYK,IAAM,0CAAN,cAEG,gBAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,mDAAmD;AAAA,EAC/H,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA2D;AAC1F,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,QAAI,SAAS,WAAW,EAAG,QAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,MAAM;AAAA,EACrD;AACF;","names":[]}
@@ -1,2 +1,78 @@
1
- "use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var k=(e,o)=>{for(var r in o)s(e,r,{get:o[r],enumerable:!0})},P=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of u(o))!S.call(e,i)&&i!==r&&s(e,i,{get:()=>o[i],enumerable:!(n=d(o,i))||n.enumerable});return e};var y=e=>P(s({},"__esModule",{value:!0}),e);var v={};k(v,{TZeroApiCallJsonResultToSnapshotDiviner:()=>m,TZeroApiCallJsonResultToSnapshotDivinerConfigSchema:()=>a});module.exports=y(v);var f=require("@xylabs/exists"),h=require("@xyo-network/diviner-abstract");var p=require("@xyo-network/api-call-witness"),l=require("@xyo-network/tzero-stock-market-payload-plugin"),T=p.isApiCallJsonResult,t=e=>typeof e=="number"?e:null,c=e=>{if(T(e)){let o=e.data,{symbol:r,timestamp:n,volume:i}=o;return r===void 0||n===void 0||i===void 0?void 0:{...{askPrice:t(o.askPrice),askPriceRate:t(o.askPriceRate),askQtyBookTotal:t(o.askQtyBookTotal),askQuantity:t(o.askQuantity),bidPrice:t(o.bidPrice),bidPriceRate:t(o.bidPriceRate),bidQtyBookTotal:t(o.bidQtyBookTotal),bidQuantity:t(o.bidQuantity),high:t(o.high),lastPrice:t(o.lastPrice),lastQuantity:t(o.lastQuantity),low:t(o.low),open:t(o.open),prevClosePx:t(o.prevClosePx),symbol:r,timestamp:n,volume:i},schema:l.SnapshotSchema}}};var a="network.xyo.stock.market.tzero.api.snapshot.diviner.config";var m=class extends h.AbstractDiviner{static configSchemas=[...super.configSchemas,a];static defaultConfigSchema=a;divineHandler(o){return o?o.length===0?[]:o.map(c).filter(f.exists):[]}};
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ TZeroApiCallJsonResultToSnapshotDiviner: () => TZeroApiCallJsonResultToSnapshotDiviner,
24
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: () => TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
29
+ var import_exists = require("@xylabs/exists");
30
+ var import_diviner_abstract = require("@xyo-network/diviner-abstract");
31
+
32
+ // src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts
33
+ var import_api_call_witness = require("@xyo-network/api-call-witness");
34
+ var import_tzero_stock_market_payload_plugin = require("@xyo-network/tzero-stock-market-payload-plugin");
35
+ var isSnapshotApiCallJsonResult = import_api_call_witness.isApiCallJsonResult;
36
+ var numberOrNull = (value) => typeof value === "number" ? value : null;
37
+ var tryMapToSnapshot = (response) => {
38
+ if (isSnapshotApiCallJsonResult(response)) {
39
+ const data = response.data;
40
+ const { symbol, timestamp, volume } = data;
41
+ if (symbol === void 0 || timestamp === void 0 || volume === void 0) return void 0;
42
+ const fields = {
43
+ askPrice: numberOrNull(data.askPrice),
44
+ askPriceRate: numberOrNull(data.askPriceRate),
45
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
46
+ askQuantity: numberOrNull(data.askQuantity),
47
+ bidPrice: numberOrNull(data.bidPrice),
48
+ bidPriceRate: numberOrNull(data.bidPriceRate),
49
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
50
+ bidQuantity: numberOrNull(data.bidQuantity),
51
+ high: numberOrNull(data.high),
52
+ lastPrice: numberOrNull(data.lastPrice),
53
+ lastQuantity: numberOrNull(data.lastQuantity),
54
+ low: numberOrNull(data.low),
55
+ open: numberOrNull(data.open),
56
+ prevClosePx: numberOrNull(data.prevClosePx),
57
+ symbol,
58
+ timestamp,
59
+ volume
60
+ };
61
+ return { ...fields, schema: import_tzero_stock_market_payload_plugin.SnapshotSchema };
62
+ }
63
+ };
64
+
65
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
66
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
67
+
68
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
69
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends import_diviner_abstract.AbstractDiviner {
70
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
71
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
72
+ divineHandler(payloads) {
73
+ if (!payloads) return [];
74
+ if (payloads.length === 0) return [];
75
+ return payloads.map(tryMapToSnapshot).filter(import_exists.exists);
76
+ }
77
+ };
2
78
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["export * from './Diviner'\n","import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6CAAAE,EAAA,wDAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAAuB,0BAEvBC,EAAgC,yCCDhC,IAAAC,EAAoC,yCACpCC,EAAyD,0DAInDC,EAA8B,sBAE9BC,EAAgBC,GAAmC,OAAOA,GAAU,SAAWA,EAAQ,KAEhFC,EAAoBC,GAA6C,CAC5E,GAAIJ,EAA4BI,CAAQ,EAAG,CACzC,IAAMC,EAAgCD,EAAS,KACzC,CAAE,OAAAE,EAAQ,UAAAC,EAAW,OAAAC,CAAO,EAAIH,EACtC,OAAIC,IAAW,QAAaC,IAAc,QAAaC,IAAW,OAAW,OAoBtE,CAAE,GAnBM,CACb,SAAUP,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,SAAUJ,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,UAAWJ,EAAaI,EAAK,SAAS,EACtC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,IAAKJ,EAAaI,EAAK,GAAG,EAC1B,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,OAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EACoB,OAAQ,gBAAe,CAC7C,CACF,ECnCO,IAAMC,EACX,6DFYK,IAAMC,EAAN,cAEG,iBAAyB,CACjC,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAmD,EAC/H,OAAyB,oBAA8BA,EAEpC,cAAcC,EAA2D,CAC1F,OAAKA,EACDA,EAAS,SAAW,EAAU,CAAC,EAC5BA,EAAS,IAAIC,CAAgB,EAAE,OAAO,QAAM,EAF7B,CAAC,CAGzB,CACF","names":["src_exports","__export","TZeroApiCallJsonResultToSnapshotDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","__toCommonJS","import_exists","import_diviner_abstract","import_api_call_witness","import_tzero_stock_market_payload_plugin","isSnapshotApiCallJsonResult","numberOrNull","value","tryMapToSnapshot","response","data","symbol","timestamp","volume","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","TZeroApiCallJsonResultToSnapshotDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","payloads","tryMapToSnapshot"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["export * from './Diviner'\n","import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAuB;AAEvB,8BAAgC;;;ACDhC,8BAAoC;AACpC,+CAAyD;AAIzD,IAAM,8BAA8B;AAEpC,IAAM,eAAe,CAAC,UAAmC,OAAO,UAAU,WAAW,QAAQ;AAEtF,IAAM,mBAAmB,CAAC,aAA6C;AAC5E,MAAI,4BAA4B,QAAQ,GAAG;AACzC,UAAM,OAAgC,SAAS;AAC/C,UAAM,EAAE,QAAQ,WAAW,OAAO,IAAI;AACtC,QAAI,WAAW,UAAa,cAAc,UAAa,WAAW,OAAW,QAAO;AACpF,UAAM,SAAS;AAAA,MACb,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,WAAW,aAAa,KAAK,SAAS;AAAA,MACtC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,KAAK,aAAa,KAAK,GAAG;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,QAAQ,wDAAe;AAAA,EAC7C;AACF;;;ACnCO,IAAM,sDACX;;;AFYK,IAAM,0CAAN,cAEG,wCAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,mDAAmD;AAAA,EAC/H,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA2D;AAC1F,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,QAAI,SAAS,WAAW,EAAG,QAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,oBAAM;AAAA,EACrD;AACF;","names":[]}
@@ -1,2 +1,55 @@
1
- import{exists as f}from"@xylabs/exists";import{AbstractDiviner as h}from"@xyo-network/diviner-abstract";import{isApiCallJsonResult as p}from"@xyo-network/api-call-witness";import{SnapshotSchema as l}from"@xyo-network/tzero-stock-market-payload-plugin";var c=p,e=t=>typeof t=="number"?t:null,s=t=>{if(c(t)){let o=t.data,{symbol:r,timestamp:n,volume:a}=o;return r===void 0||n===void 0||a===void 0?void 0:{...{askPrice:e(o.askPrice),askPriceRate:e(o.askPriceRate),askQtyBookTotal:e(o.askQtyBookTotal),askQuantity:e(o.askQuantity),bidPrice:e(o.bidPrice),bidPriceRate:e(o.bidPriceRate),bidQtyBookTotal:e(o.bidQtyBookTotal),bidQuantity:e(o.bidQuantity),high:e(o.high),lastPrice:e(o.lastPrice),lastQuantity:e(o.lastQuantity),low:e(o.low),open:e(o.open),prevClosePx:e(o.prevClosePx),symbol:r,timestamp:n,volume:a},schema:l}}};var i="network.xyo.stock.market.tzero.api.snapshot.diviner.config";var m=class extends h{static configSchemas=[...super.configSchemas,i];static defaultConfigSchema=i;divineHandler(o){return o?o.length===0?[]:o.map(s).filter(f):[]}};export{m as TZeroApiCallJsonResultToSnapshotDiviner,i as TZeroApiCallJsonResultToSnapshotDivinerConfigSchema};
1
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
2
+ import { exists } from "@xylabs/exists";
3
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
4
+
5
+ // src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts
6
+ import { isApiCallJsonResult } from "@xyo-network/api-call-witness";
7
+ import { SnapshotSchema } from "@xyo-network/tzero-stock-market-payload-plugin";
8
+ var isSnapshotApiCallJsonResult = isApiCallJsonResult;
9
+ var numberOrNull = (value) => typeof value === "number" ? value : null;
10
+ var tryMapToSnapshot = (response) => {
11
+ if (isSnapshotApiCallJsonResult(response)) {
12
+ const data = response.data;
13
+ const { symbol, timestamp, volume } = data;
14
+ if (symbol === void 0 || timestamp === void 0 || volume === void 0) return void 0;
15
+ const fields = {
16
+ askPrice: numberOrNull(data.askPrice),
17
+ askPriceRate: numberOrNull(data.askPriceRate),
18
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
19
+ askQuantity: numberOrNull(data.askQuantity),
20
+ bidPrice: numberOrNull(data.bidPrice),
21
+ bidPriceRate: numberOrNull(data.bidPriceRate),
22
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
23
+ bidQuantity: numberOrNull(data.bidQuantity),
24
+ high: numberOrNull(data.high),
25
+ lastPrice: numberOrNull(data.lastPrice),
26
+ lastQuantity: numberOrNull(data.lastQuantity),
27
+ low: numberOrNull(data.low),
28
+ open: numberOrNull(data.open),
29
+ prevClosePx: numberOrNull(data.prevClosePx),
30
+ symbol,
31
+ timestamp,
32
+ volume
33
+ };
34
+ return { ...fields, schema: SnapshotSchema };
35
+ }
36
+ };
37
+
38
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
39
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
40
+
41
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
42
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends AbstractDiviner {
43
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
44
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
45
+ divineHandler(payloads) {
46
+ if (!payloads) return [];
47
+ if (payloads.length === 0) return [];
48
+ return payloads.map(tryMapToSnapshot).filter(exists);
49
+ }
50
+ };
51
+ export {
52
+ TZeroApiCallJsonResultToSnapshotDiviner,
53
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
54
+ };
2
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":"AAAA,OAAS,UAAAA,MAAc,iBAEvB,OAAS,mBAAAC,MAAuB,gCCDhC,OAAS,uBAAAC,MAA2B,gCACpC,OAAmC,kBAAAC,MAAsB,iDAIzD,IAAMC,EAA8BF,EAE9BG,EAAgBC,GAAmC,OAAOA,GAAU,SAAWA,EAAQ,KAEhFC,EAAoBC,GAA6C,CAC5E,GAAIJ,EAA4BI,CAAQ,EAAG,CACzC,IAAMC,EAAgCD,EAAS,KACzC,CAAE,OAAAE,EAAQ,UAAAC,EAAW,OAAAC,CAAO,EAAIH,EACtC,OAAIC,IAAW,QAAaC,IAAc,QAAaC,IAAW,OAAW,OAoBtE,CAAE,GAnBM,CACb,SAAUP,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,SAAUJ,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,UAAWJ,EAAaI,EAAK,SAAS,EACtC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,IAAKJ,EAAaI,EAAK,GAAG,EAC1B,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,OAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EACoB,OAAQT,CAAe,CAC7C,CACF,ECnCO,IAAMU,EACX,6DFYK,IAAMC,EAAN,cAEGC,CAAyB,CACjC,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAmD,EAC/H,OAAyB,oBAA8BA,EAEpC,cAAcC,EAA2D,CAC1F,OAAKA,EACDA,EAAS,SAAW,EAAU,CAAC,EAC5BA,EAAS,IAAIC,CAAgB,EAAE,OAAOC,CAAM,EAF7B,CAAC,CAGzB,CACF","names":["exists","AbstractDiviner","isApiCallJsonResult","SnapshotSchema","isSnapshotApiCallJsonResult","numberOrNull","value","tryMapToSnapshot","response","data","symbol","timestamp","volume","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","TZeroApiCallJsonResultToSnapshotDiviner","AbstractDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","payloads","tryMapToSnapshot","exists"]}
1
+ {"version":3,"sources":["../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":";AAAA,SAAS,cAAc;AAEvB,SAAS,uBAAuB;;;ACDhC,SAAS,2BAA2B;AACpC,SAAmC,sBAAsB;AAIzD,IAAM,8BAA8B;AAEpC,IAAM,eAAe,CAAC,UAAmC,OAAO,UAAU,WAAW,QAAQ;AAEtF,IAAM,mBAAmB,CAAC,aAA6C;AAC5E,MAAI,4BAA4B,QAAQ,GAAG;AACzC,UAAM,OAAgC,SAAS;AAC/C,UAAM,EAAE,QAAQ,WAAW,OAAO,IAAI;AACtC,QAAI,WAAW,UAAa,cAAc,UAAa,WAAW,OAAW,QAAO;AACpF,UAAM,SAAS;AAAA,MACb,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,WAAW,aAAa,KAAK,SAAS;AAAA,MACtC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,KAAK,aAAa,KAAK,GAAG;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,QAAQ,eAAe;AAAA,EAC7C;AACF;;;ACnCO,IAAM,sDACX;;;AFYK,IAAM,0CAAN,cAEG,gBAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,mDAAmD;AAAA,EAC/H,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA2D;AAC1F,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,QAAI,SAAS,WAAW,EAAG,QAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,MAAM;AAAA,EACrD;AACF;","names":[]}
@@ -1,2 +1,83 @@
1
- "use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var k=(e,o)=>{for(var r in o)s(e,r,{get:o[r],enumerable:!0})},P=(e,o,r,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of u(o))!S.call(e,i)&&i!==r&&s(e,i,{get:()=>o[i],enumerable:!(n=d(o,i))||n.enumerable});return e};var y=e=>P(s({},"__esModule",{value:!0}),e);var v={};k(v,{TZeroApiCallJsonResultToSnapshotDiviner:()=>m,TZeroApiCallJsonResultToSnapshotDivinerConfigSchema:()=>a});module.exports=y(v);var f=require("@xylabs/exists"),h=require("@xyo-network/diviner-abstract");var p=require("@xyo-network/api-call-witness"),l=require("@xyo-network/tzero-stock-market-payload-plugin"),T=p.isApiCallJsonResult,t=e=>typeof e=="number"?e:null,c=e=>{if(T(e)){let o=e.data,{symbol:r,timestamp:n,volume:i}=o;return r===void 0||n===void 0||i===void 0?void 0:{...{askPrice:t(o.askPrice),askPriceRate:t(o.askPriceRate),askQtyBookTotal:t(o.askQtyBookTotal),askQuantity:t(o.askQuantity),bidPrice:t(o.bidPrice),bidPriceRate:t(o.bidPriceRate),bidQtyBookTotal:t(o.bidQtyBookTotal),bidQuantity:t(o.bidQuantity),high:t(o.high),lastPrice:t(o.lastPrice),lastQuantity:t(o.lastQuantity),low:t(o.low),open:t(o.open),prevClosePx:t(o.prevClosePx),symbol:r,timestamp:n,volume:i},schema:l.SnapshotSchema}}};var a="network.xyo.stock.market.tzero.api.snapshot.diviner.config";var m=class extends h.AbstractDiviner{static configSchemas=[...super.configSchemas,a];static defaultConfigSchema=a;divineHandler(o){return o?o.length===0?[]:o.map(c).filter(f.exists):[]}};0&&(module.exports={TZeroApiCallJsonResultToSnapshotDiviner,TZeroApiCallJsonResultToSnapshotDivinerConfigSchema});
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ TZeroApiCallJsonResultToSnapshotDiviner: () => TZeroApiCallJsonResultToSnapshotDiviner,
24
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: () => TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
29
+ var import_exists = require("@xylabs/exists");
30
+ var import_diviner_abstract = require("@xyo-network/diviner-abstract");
31
+
32
+ // src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts
33
+ var import_api_call_witness = require("@xyo-network/api-call-witness");
34
+ var import_tzero_stock_market_payload_plugin = require("@xyo-network/tzero-stock-market-payload-plugin");
35
+ var isSnapshotApiCallJsonResult = import_api_call_witness.isApiCallJsonResult;
36
+ var numberOrNull = (value) => typeof value === "number" ? value : null;
37
+ var tryMapToSnapshot = (response) => {
38
+ if (isSnapshotApiCallJsonResult(response)) {
39
+ const data = response.data;
40
+ const { symbol, timestamp, volume } = data;
41
+ if (symbol === void 0 || timestamp === void 0 || volume === void 0) return void 0;
42
+ const fields = {
43
+ askPrice: numberOrNull(data.askPrice),
44
+ askPriceRate: numberOrNull(data.askPriceRate),
45
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
46
+ askQuantity: numberOrNull(data.askQuantity),
47
+ bidPrice: numberOrNull(data.bidPrice),
48
+ bidPriceRate: numberOrNull(data.bidPriceRate),
49
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
50
+ bidQuantity: numberOrNull(data.bidQuantity),
51
+ high: numberOrNull(data.high),
52
+ lastPrice: numberOrNull(data.lastPrice),
53
+ lastQuantity: numberOrNull(data.lastQuantity),
54
+ low: numberOrNull(data.low),
55
+ open: numberOrNull(data.open),
56
+ prevClosePx: numberOrNull(data.prevClosePx),
57
+ symbol,
58
+ timestamp,
59
+ volume
60
+ };
61
+ return { ...fields, schema: import_tzero_stock_market_payload_plugin.SnapshotSchema };
62
+ }
63
+ };
64
+
65
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
66
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
67
+
68
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
69
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends import_diviner_abstract.AbstractDiviner {
70
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
71
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
72
+ divineHandler(payloads) {
73
+ if (!payloads) return [];
74
+ if (payloads.length === 0) return [];
75
+ return payloads.map(tryMapToSnapshot).filter(import_exists.exists);
76
+ }
77
+ };
78
+ // Annotate the CommonJS export names for ESM import in node:
79
+ 0 && (module.exports = {
80
+ TZeroApiCallJsonResultToSnapshotDiviner,
81
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
82
+ });
2
83
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["export * from './Diviner'\n","import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":"yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6CAAAE,EAAA,wDAAAC,IAAA,eAAAC,EAAAJ,GCAA,IAAAK,EAAuB,0BAEvBC,EAAgC,yCCDhC,IAAAC,EAAoC,yCACpCC,EAAyD,0DAInDC,EAA8B,sBAE9BC,EAAgBC,GAAmC,OAAOA,GAAU,SAAWA,EAAQ,KAEhFC,EAAoBC,GAA6C,CAC5E,GAAIJ,EAA4BI,CAAQ,EAAG,CACzC,IAAMC,EAAgCD,EAAS,KACzC,CAAE,OAAAE,EAAQ,UAAAC,EAAW,OAAAC,CAAO,EAAIH,EACtC,OAAIC,IAAW,QAAaC,IAAc,QAAaC,IAAW,OAAW,OAoBtE,CAAE,GAnBM,CACb,SAAUP,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,SAAUJ,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,UAAWJ,EAAaI,EAAK,SAAS,EACtC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,IAAKJ,EAAaI,EAAK,GAAG,EAC1B,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,OAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EACoB,OAAQ,gBAAe,CAC7C,CACF,ECnCO,IAAMC,EACX,6DFYK,IAAMC,EAAN,cAEG,iBAAyB,CACjC,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAmD,EAC/H,OAAyB,oBAA8BA,EAEpC,cAAcC,EAA2D,CAC1F,OAAKA,EACDA,EAAS,SAAW,EAAU,CAAC,EAC5BA,EAAS,IAAIC,CAAgB,EAAE,OAAO,QAAM,EAF7B,CAAC,CAGzB,CACF","names":["src_exports","__export","TZeroApiCallJsonResultToSnapshotDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","__toCommonJS","import_exists","import_diviner_abstract","import_api_call_witness","import_tzero_stock_market_payload_plugin","isSnapshotApiCallJsonResult","numberOrNull","value","tryMapToSnapshot","response","data","symbol","timestamp","volume","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","TZeroApiCallJsonResultToSnapshotDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","payloads","tryMapToSnapshot"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["export * from './Diviner'\n","import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAuB;AAEvB,8BAAgC;;;ACDhC,8BAAoC;AACpC,+CAAyD;AAIzD,IAAM,8BAA8B;AAEpC,IAAM,eAAe,CAAC,UAAmC,OAAO,UAAU,WAAW,QAAQ;AAEtF,IAAM,mBAAmB,CAAC,aAA6C;AAC5E,MAAI,4BAA4B,QAAQ,GAAG;AACzC,UAAM,OAAgC,SAAS;AAC/C,UAAM,EAAE,QAAQ,WAAW,OAAO,IAAI;AACtC,QAAI,WAAW,UAAa,cAAc,UAAa,WAAW,OAAW,QAAO;AACpF,UAAM,SAAS;AAAA,MACb,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,WAAW,aAAa,KAAK,SAAS;AAAA,MACtC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,KAAK,aAAa,KAAK,GAAG;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,QAAQ,wDAAe;AAAA,EAC7C;AACF;;;ACnCO,IAAM,sDACX;;;AFYK,IAAM,0CAAN,cAEG,wCAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,mDAAmD;AAAA,EAC/H,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA2D;AAC1F,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,QAAI,SAAS,WAAW,EAAG,QAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,oBAAM;AAAA,EACrD;AACF;","names":[]}
@@ -1,2 +1,55 @@
1
- import{exists as f}from"@xylabs/exists";import{AbstractDiviner as h}from"@xyo-network/diviner-abstract";import{isApiCallJsonResult as p}from"@xyo-network/api-call-witness";import{SnapshotSchema as l}from"@xyo-network/tzero-stock-market-payload-plugin";var c=p,e=t=>typeof t=="number"?t:null,s=t=>{if(c(t)){let o=t.data,{symbol:r,timestamp:n,volume:a}=o;return r===void 0||n===void 0||a===void 0?void 0:{...{askPrice:e(o.askPrice),askPriceRate:e(o.askPriceRate),askQtyBookTotal:e(o.askQtyBookTotal),askQuantity:e(o.askQuantity),bidPrice:e(o.bidPrice),bidPriceRate:e(o.bidPriceRate),bidQtyBookTotal:e(o.bidQtyBookTotal),bidQuantity:e(o.bidQuantity),high:e(o.high),lastPrice:e(o.lastPrice),lastQuantity:e(o.lastQuantity),low:e(o.low),open:e(o.open),prevClosePx:e(o.prevClosePx),symbol:r,timestamp:n,volume:a},schema:l}}};var i="network.xyo.stock.market.tzero.api.snapshot.diviner.config";var m=class extends h{static configSchemas=[...super.configSchemas,i];static defaultConfigSchema=i;divineHandler(o){return o?o.length===0?[]:o.map(s).filter(f):[]}};export{m as TZeroApiCallJsonResultToSnapshotDiviner,i as TZeroApiCallJsonResultToSnapshotDivinerConfigSchema};
1
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
2
+ import { exists } from "@xylabs/exists";
3
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
4
+
5
+ // src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts
6
+ import { isApiCallJsonResult } from "@xyo-network/api-call-witness";
7
+ import { SnapshotSchema } from "@xyo-network/tzero-stock-market-payload-plugin";
8
+ var isSnapshotApiCallJsonResult = isApiCallJsonResult;
9
+ var numberOrNull = (value) => typeof value === "number" ? value : null;
10
+ var tryMapToSnapshot = (response) => {
11
+ if (isSnapshotApiCallJsonResult(response)) {
12
+ const data = response.data;
13
+ const { symbol, timestamp, volume } = data;
14
+ if (symbol === void 0 || timestamp === void 0 || volume === void 0) return void 0;
15
+ const fields = {
16
+ askPrice: numberOrNull(data.askPrice),
17
+ askPriceRate: numberOrNull(data.askPriceRate),
18
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
19
+ askQuantity: numberOrNull(data.askQuantity),
20
+ bidPrice: numberOrNull(data.bidPrice),
21
+ bidPriceRate: numberOrNull(data.bidPriceRate),
22
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
23
+ bidQuantity: numberOrNull(data.bidQuantity),
24
+ high: numberOrNull(data.high),
25
+ lastPrice: numberOrNull(data.lastPrice),
26
+ lastQuantity: numberOrNull(data.lastQuantity),
27
+ low: numberOrNull(data.low),
28
+ open: numberOrNull(data.open),
29
+ prevClosePx: numberOrNull(data.prevClosePx),
30
+ symbol,
31
+ timestamp,
32
+ volume
33
+ };
34
+ return { ...fields, schema: SnapshotSchema };
35
+ }
36
+ };
37
+
38
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
39
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
40
+
41
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
42
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends AbstractDiviner {
43
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
44
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
45
+ divineHandler(payloads) {
46
+ if (!payloads) return [];
47
+ if (payloads.length === 0) return [];
48
+ return payloads.map(tryMapToSnapshot).filter(exists);
49
+ }
50
+ };
51
+ export {
52
+ TZeroApiCallJsonResultToSnapshotDiviner,
53
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
54
+ };
2
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":"AAAA,OAAS,UAAAA,MAAc,iBAEvB,OAAS,mBAAAC,MAAuB,gCCDhC,OAAS,uBAAAC,MAA2B,gCACpC,OAAmC,kBAAAC,MAAsB,iDAIzD,IAAMC,EAA8BF,EAE9BG,EAAgBC,GAAmC,OAAOA,GAAU,SAAWA,EAAQ,KAEhFC,EAAoBC,GAA6C,CAC5E,GAAIJ,EAA4BI,CAAQ,EAAG,CACzC,IAAMC,EAAgCD,EAAS,KACzC,CAAE,OAAAE,EAAQ,UAAAC,EAAW,OAAAC,CAAO,EAAIH,EACtC,OAAIC,IAAW,QAAaC,IAAc,QAAaC,IAAW,OAAW,OAoBtE,CAAE,GAnBM,CACb,SAAUP,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,SAAUJ,EAAaI,EAAK,QAAQ,EACpC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,gBAAiBJ,EAAaI,EAAK,eAAe,EAClD,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,UAAWJ,EAAaI,EAAK,SAAS,EACtC,aAAcJ,EAAaI,EAAK,YAAY,EAC5C,IAAKJ,EAAaI,EAAK,GAAG,EAC1B,KAAMJ,EAAaI,EAAK,IAAI,EAC5B,YAAaJ,EAAaI,EAAK,WAAW,EAC1C,OAAAC,EACA,UAAAC,EACA,OAAAC,CACF,EACoB,OAAQT,CAAe,CAC7C,CACF,ECnCO,IAAMU,EACX,6DFYK,IAAMC,EAAN,cAEGC,CAAyB,CACjC,OAAyB,cAA0B,CAAC,GAAG,MAAM,cAAeC,CAAmD,EAC/H,OAAyB,oBAA8BA,EAEpC,cAAcC,EAA2D,CAC1F,OAAKA,EACDA,EAAS,SAAW,EAAU,CAAC,EAC5BA,EAAS,IAAIC,CAAgB,EAAE,OAAOC,CAAM,EAF7B,CAAC,CAGzB,CACF","names":["exists","AbstractDiviner","isApiCallJsonResult","SnapshotSchema","isSnapshotApiCallJsonResult","numberOrNull","value","tryMapToSnapshot","response","data","symbol","timestamp","volume","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","TZeroApiCallJsonResultToSnapshotDiviner","AbstractDiviner","TZeroApiCallJsonResultToSnapshotDivinerConfigSchema","payloads","tryMapToSnapshot","exists"]}
1
+ {"version":3,"sources":["../../src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts","../../src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { Promisable } from '@xylabs/promise'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema, WithSources } from '@xyo-network/payload-model'\nimport { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'\n\nimport { TZeroStockMarketDivinerConfig } from './Config'\nimport { tryMapToSnapshot } from './lib'\nimport { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'\n\nexport type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>\n\nexport class TZeroApiCallJsonResultToSnapshotDiviner<\n TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,\n> extends AbstractDiviner<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {\n if (!payloads) return []\n if (payloads.length === 0) return []\n return payloads.map(tryMapToSnapshot).filter(exists)\n }\n}\n","import { JsonObject } from '@xylabs/object'\nimport { isApiCallJsonResult } from '@xyo-network/api-call-witness'\nimport { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'\n\ninterface SnapshotJson extends JsonObject, SnapshotFields {}\n\nconst isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>\n\nconst numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)\n\nexport const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {\n if (isSnapshotApiCallJsonResult(response)) {\n const data: Partial<SnapshotFields> = response.data\n const { symbol, timestamp, volume } = data\n if (symbol === undefined || timestamp === undefined || volume === undefined) return undefined\n const fields = {\n askPrice: numberOrNull(data.askPrice),\n askPriceRate: numberOrNull(data.askPriceRate),\n askQtyBookTotal: numberOrNull(data.askQtyBookTotal),\n askQuantity: numberOrNull(data.askQuantity),\n bidPrice: numberOrNull(data.bidPrice),\n bidPriceRate: numberOrNull(data.bidPriceRate),\n bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),\n bidQuantity: numberOrNull(data.bidQuantity),\n high: numberOrNull(data.high),\n lastPrice: numberOrNull(data.lastPrice),\n lastQuantity: numberOrNull(data.lastQuantity),\n low: numberOrNull(data.low),\n open: numberOrNull(data.open),\n prevClosePx: numberOrNull(data.prevClosePx),\n symbol,\n timestamp,\n volume,\n }\n return { ...fields, schema: SnapshotSchema }\n }\n}\n","export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\nexport const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =\n 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'\n"],"mappings":";AAAA,SAAS,cAAc;AAEvB,SAAS,uBAAuB;;;ACDhC,SAAS,2BAA2B;AACpC,SAAmC,sBAAsB;AAIzD,IAAM,8BAA8B;AAEpC,IAAM,eAAe,CAAC,UAAmC,OAAO,UAAU,WAAW,QAAQ;AAEtF,IAAM,mBAAmB,CAAC,aAA6C;AAC5E,MAAI,4BAA4B,QAAQ,GAAG;AACzC,UAAM,OAAgC,SAAS;AAC/C,UAAM,EAAE,QAAQ,WAAW,OAAO,IAAI;AACtC,QAAI,WAAW,UAAa,cAAc,UAAa,WAAW,OAAW,QAAO;AACpF,UAAM,SAAS;AAAA,MACb,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,UAAU,aAAa,KAAK,QAAQ;AAAA,MACpC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,iBAAiB,aAAa,KAAK,eAAe;AAAA,MAClD,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,WAAW,aAAa,KAAK,SAAS;AAAA,MACtC,cAAc,aAAa,KAAK,YAAY;AAAA,MAC5C,KAAK,aAAa,KAAK,GAAG;AAAA,MAC1B,MAAM,aAAa,KAAK,IAAI;AAAA,MAC5B,aAAa,aAAa,KAAK,WAAW;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO,EAAE,GAAG,QAAQ,QAAQ,eAAe;AAAA,EAC7C;AACF;;;ACnCO,IAAM,sDACX;;;AFYK,IAAM,0CAAN,cAEG,gBAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,mDAAmD;AAAA,EAC/H,OAAyB,sBAA8B;AAAA,EAEpC,cAAc,UAA2D;AAC1F,QAAI,CAAC,SAAU,QAAO,CAAC;AACvB,QAAI,SAAS,WAAW,EAAG,QAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,MAAM;AAAA,EACrD;AACF;","names":[]}
package/package.json CHANGED
@@ -13,23 +13,23 @@
13
13
  "@xylabs/exists": "^3.5.1",
14
14
  "@xylabs/object": "^3.5.1",
15
15
  "@xylabs/promise": "^3.5.1",
16
- "@xyo-network/api-call-witness": "^2.97.0",
17
- "@xyo-network/diviner-abstract": "^2.107.0",
18
- "@xyo-network/diviner-model": "^2.107.0",
19
- "@xyo-network/module-model": "^2.107.0",
20
- "@xyo-network/payload-model": "^2.107.0",
21
- "@xyo-network/tzero-stock-market-payload-plugin": "^2.97.0"
16
+ "@xyo-network/api-call-witness": "^2.97.1",
17
+ "@xyo-network/diviner-abstract": "^2.107.4",
18
+ "@xyo-network/diviner-model": "^2.107.4",
19
+ "@xyo-network/module-model": "^2.107.4",
20
+ "@xyo-network/payload-model": "^2.107.4",
21
+ "@xyo-network/tzero-stock-market-payload-plugin": "^2.97.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@xylabs/assert": "^3.5.1",
25
25
  "@xylabs/jest-helpers": "^3.5.1",
26
- "@xylabs/ts-scripts-yarn3": "^3.11.8",
27
- "@xylabs/tsconfig": "^3.11.8",
28
- "@xyo-network/account": "^2.107.0",
29
- "@xyo-network/manifest": "^2.107.0",
30
- "@xyo-network/module-factory-locator": "^2.107.0",
31
- "@xyo-network/sentinel-model": "^2.107.0",
32
- "@xyo-network/witness-model": "^2.107.0",
26
+ "@xylabs/ts-scripts-yarn3": "^3.11.10",
27
+ "@xylabs/tsconfig": "^3.11.10",
28
+ "@xyo-network/account": "^2.107.4",
29
+ "@xyo-network/manifest": "^2.107.4",
30
+ "@xyo-network/module-factory-locator": "^2.107.4",
31
+ "@xyo-network/sentinel-model": "^2.107.4",
32
+ "@xyo-network/witness-model": "^2.107.4",
33
33
  "typescript": "^5.5.2"
34
34
  },
35
35
  "description": "Typescript/Javascript Plugins for XYO Platform",
@@ -71,6 +71,6 @@
71
71
  "url": "https://github.com/XYOracleNetwork/plugins.git"
72
72
  },
73
73
  "sideEffects": false,
74
- "version": "2.97.0",
74
+ "version": "2.97.1",
75
75
  "type": "module"
76
76
  }