@xyo-network/tzero-stock-market-plugin 2.95.4

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.
Files changed (170) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +13 -0
  3. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Config.d.cts +6 -0
  4. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Config.d.cts.map +1 -0
  5. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Config.d.mts +6 -0
  6. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Config.d.mts.map +1 -0
  7. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Config.d.ts +6 -0
  8. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Config.d.ts.map +1 -0
  9. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.cts +14 -0
  10. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.cts.map +1 -0
  11. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.mts +14 -0
  12. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.mts.map +1 -0
  13. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.ts +14 -0
  14. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.ts.map +1 -0
  15. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Schema.d.cts +3 -0
  16. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Schema.d.cts.map +1 -0
  17. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Schema.d.mts +3 -0
  18. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Schema.d.mts.map +1 -0
  19. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Schema.d.ts +3 -0
  20. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/Schema.d.ts.map +1 -0
  21. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/index.d.cts +4 -0
  22. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/index.d.cts.map +1 -0
  23. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/index.d.mts +4 -0
  24. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/index.d.mts.map +1 -0
  25. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/index.d.ts +4 -0
  26. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/index.d.ts.map +1 -0
  27. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.cts +2 -0
  28. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.cts.map +1 -0
  29. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.mts +2 -0
  30. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.mts.map +1 -0
  31. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.ts +2 -0
  32. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.ts.map +1 -0
  33. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.cts +3 -0
  34. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.cts.map +1 -0
  35. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.mts +3 -0
  36. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.mts.map +1 -0
  37. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.ts +3 -0
  38. package/dist/browser/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.ts.map +1 -0
  39. package/dist/browser/Diviner/index.d.cts +2 -0
  40. package/dist/browser/Diviner/index.d.cts.map +1 -0
  41. package/dist/browser/Diviner/index.d.mts +2 -0
  42. package/dist/browser/Diviner/index.d.mts.map +1 -0
  43. package/dist/browser/Diviner/index.d.ts +2 -0
  44. package/dist/browser/Diviner/index.d.ts.map +1 -0
  45. package/dist/browser/index.cjs +81 -0
  46. package/dist/browser/index.cjs.map +1 -0
  47. package/dist/browser/index.d.cts +2 -0
  48. package/dist/browser/index.d.cts.map +1 -0
  49. package/dist/browser/index.d.mts +2 -0
  50. package/dist/browser/index.d.mts.map +1 -0
  51. package/dist/browser/index.d.ts +2 -0
  52. package/dist/browser/index.d.ts.map +1 -0
  53. package/dist/browser/index.js +58 -0
  54. package/dist/browser/index.js.map +1 -0
  55. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Config.d.cts +6 -0
  56. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Config.d.cts.map +1 -0
  57. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Config.d.mts +6 -0
  58. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Config.d.mts.map +1 -0
  59. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Config.d.ts +6 -0
  60. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Config.d.ts.map +1 -0
  61. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.cts +14 -0
  62. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.cts.map +1 -0
  63. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.mts +14 -0
  64. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.mts.map +1 -0
  65. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.ts +14 -0
  66. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.ts.map +1 -0
  67. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Schema.d.cts +3 -0
  68. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Schema.d.cts.map +1 -0
  69. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Schema.d.mts +3 -0
  70. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Schema.d.mts.map +1 -0
  71. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Schema.d.ts +3 -0
  72. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/Schema.d.ts.map +1 -0
  73. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/index.d.cts +4 -0
  74. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/index.d.cts.map +1 -0
  75. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/index.d.mts +4 -0
  76. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/index.d.mts.map +1 -0
  77. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/index.d.ts +4 -0
  78. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/index.d.ts.map +1 -0
  79. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.cts +2 -0
  80. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.cts.map +1 -0
  81. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.mts +2 -0
  82. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.mts.map +1 -0
  83. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.ts +2 -0
  84. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.ts.map +1 -0
  85. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.cts +3 -0
  86. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.cts.map +1 -0
  87. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.mts +3 -0
  88. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.mts.map +1 -0
  89. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.ts +3 -0
  90. package/dist/neutral/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.ts.map +1 -0
  91. package/dist/neutral/Diviner/index.d.cts +2 -0
  92. package/dist/neutral/Diviner/index.d.cts.map +1 -0
  93. package/dist/neutral/Diviner/index.d.mts +2 -0
  94. package/dist/neutral/Diviner/index.d.mts.map +1 -0
  95. package/dist/neutral/Diviner/index.d.ts +2 -0
  96. package/dist/neutral/Diviner/index.d.ts.map +1 -0
  97. package/dist/neutral/index.cjs +81 -0
  98. package/dist/neutral/index.cjs.map +1 -0
  99. package/dist/neutral/index.d.cts +2 -0
  100. package/dist/neutral/index.d.cts.map +1 -0
  101. package/dist/neutral/index.d.mts +2 -0
  102. package/dist/neutral/index.d.mts.map +1 -0
  103. package/dist/neutral/index.d.ts +2 -0
  104. package/dist/neutral/index.d.ts.map +1 -0
  105. package/dist/neutral/index.js +58 -0
  106. package/dist/neutral/index.js.map +1 -0
  107. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Config.d.cts +6 -0
  108. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Config.d.cts.map +1 -0
  109. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Config.d.mts +6 -0
  110. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Config.d.mts.map +1 -0
  111. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Config.d.ts +6 -0
  112. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Config.d.ts.map +1 -0
  113. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.cts +14 -0
  114. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.cts.map +1 -0
  115. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.mts +14 -0
  116. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.mts.map +1 -0
  117. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.ts +14 -0
  118. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Diviner.d.ts.map +1 -0
  119. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Schema.d.cts +3 -0
  120. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Schema.d.cts.map +1 -0
  121. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Schema.d.mts +3 -0
  122. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Schema.d.mts.map +1 -0
  123. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Schema.d.ts +3 -0
  124. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/Schema.d.ts.map +1 -0
  125. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/index.d.cts +4 -0
  126. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/index.d.cts.map +1 -0
  127. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/index.d.mts +4 -0
  128. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/index.d.mts.map +1 -0
  129. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/index.d.ts +4 -0
  130. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/index.d.ts.map +1 -0
  131. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.cts +2 -0
  132. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.cts.map +1 -0
  133. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.mts +2 -0
  134. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.mts.map +1 -0
  135. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.ts +2 -0
  136. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/index.d.ts.map +1 -0
  137. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.cts +3 -0
  138. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.cts.map +1 -0
  139. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.mts +3 -0
  140. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.mts.map +1 -0
  141. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.ts +3 -0
  142. package/dist/node/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.d.ts.map +1 -0
  143. package/dist/node/Diviner/index.d.cts +2 -0
  144. package/dist/node/Diviner/index.d.cts.map +1 -0
  145. package/dist/node/Diviner/index.d.mts +2 -0
  146. package/dist/node/Diviner/index.d.mts.map +1 -0
  147. package/dist/node/Diviner/index.d.ts +2 -0
  148. package/dist/node/Diviner/index.d.ts.map +1 -0
  149. package/dist/node/index.cjs +86 -0
  150. package/dist/node/index.cjs.map +1 -0
  151. package/dist/node/index.d.cts +2 -0
  152. package/dist/node/index.d.cts.map +1 -0
  153. package/dist/node/index.d.mts +2 -0
  154. package/dist/node/index.d.mts.map +1 -0
  155. package/dist/node/index.d.ts +2 -0
  156. package/dist/node/index.d.ts.map +1 -0
  157. package/dist/node/index.js +58 -0
  158. package/dist/node/index.js.map +1 -0
  159. package/package.json +76 -0
  160. package/src/Diviner/ApiCallJsonResultToSnapshot/Config.ts +7 -0
  161. package/src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts +26 -0
  162. package/src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts +3 -0
  163. package/src/Diviner/ApiCallJsonResultToSnapshot/index.ts +3 -0
  164. package/src/Diviner/ApiCallJsonResultToSnapshot/lib/index.ts +1 -0
  165. package/src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts +37 -0
  166. package/src/Diviner/ApiCallJsonResultToSnapshot/spec/ApiCallWitnessManifest.json +50 -0
  167. package/src/Diviner/index.ts +1 -0
  168. package/src/index.ts +1 -0
  169. package/typedoc.json +5 -0
  170. package/xy.config.ts +14 -0
@@ -0,0 +1,3 @@
1
+ import { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin';
2
+ export declare const tryMapToSnapshot: (response?: unknown) => Snapshot | undefined;
3
+ //# sourceMappingURL=tryMapToSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tryMapToSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAkC,MAAM,gDAAgD,CAAA;AAQzG,eAAO,MAAM,gBAAgB,cAAe,OAAO,KAAG,QAAQ,GAAG,SA0BhE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin';
2
+ export declare const tryMapToSnapshot: (response?: unknown) => Snapshot | undefined;
3
+ //# sourceMappingURL=tryMapToSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tryMapToSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAkC,MAAM,gDAAgD,CAAA;AAQzG,eAAO,MAAM,gBAAgB,cAAe,OAAO,KAAG,QAAQ,GAAG,SA0BhE,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin';
2
+ export declare const tryMapToSnapshot: (response?: unknown) => Snapshot | undefined;
3
+ //# sourceMappingURL=tryMapToSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tryMapToSnapshot.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/ApiCallJsonResultToSnapshot/lib/tryMapToSnapshot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAkC,MAAM,gDAAgD,CAAA;AAQzG,eAAO,MAAM,gBAAgB,cAAe,OAAO,KAAG,QAAQ,GAAG,SA0BhE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ApiCallJsonResultToSnapshot';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ApiCallJsonResultToSnapshot';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ApiCallJsonResultToSnapshot';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Diviner/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,86 @@
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 || !timestamp || !volume)
42
+ return void 0;
43
+ const fields = {
44
+ askPrice: numberOrNull(data.askPrice),
45
+ askPriceRate: numberOrNull(data.askPriceRate),
46
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
47
+ askQuantity: numberOrNull(data.askQuantity),
48
+ bidPrice: numberOrNull(data.bidPrice),
49
+ bidPriceRate: numberOrNull(data.bidPriceRate),
50
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
51
+ bidQuantity: numberOrNull(data.bidQuantity),
52
+ high: numberOrNull(data.high),
53
+ lastPrice: numberOrNull(data.lastPrice),
54
+ lastQuantity: numberOrNull(data.lastQuantity),
55
+ low: numberOrNull(data.low),
56
+ open: numberOrNull(data.open),
57
+ prevClosePx: numberOrNull(data.prevClosePx),
58
+ symbol,
59
+ timestamp,
60
+ volume
61
+ };
62
+ return { ...fields, schema: import_tzero_stock_market_payload_plugin.SnapshotSchema };
63
+ }
64
+ };
65
+
66
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
67
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
68
+
69
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
70
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends import_diviner_abstract.AbstractDiviner {
71
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
72
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
73
+ divineHandler(payloads) {
74
+ if (!payloads)
75
+ return [];
76
+ if (payloads.length === 0)
77
+ return [];
78
+ return payloads.map(tryMapToSnapshot).filter(import_exists.exists);
79
+ }
80
+ };
81
+ // Annotate the CommonJS export names for ESM import in node:
82
+ 0 && (module.exports = {
83
+ TZeroApiCallJsonResultToSnapshotDiviner,
84
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
85
+ });
86
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +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 || !timestamp || !volume) 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,CAAC,UAAU,CAAC,aAAa,CAAC;AAAQ,aAAO;AAC7C,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;AAAU,aAAO,CAAC;AACvB,QAAI,SAAS,WAAW;AAAG,aAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,oBAAM;AAAA,EACrD;AACF;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './Diviner';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
@@ -0,0 +1,58 @@
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 || !timestamp || !volume)
15
+ return void 0;
16
+ const fields = {
17
+ askPrice: numberOrNull(data.askPrice),
18
+ askPriceRate: numberOrNull(data.askPriceRate),
19
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
20
+ askQuantity: numberOrNull(data.askQuantity),
21
+ bidPrice: numberOrNull(data.bidPrice),
22
+ bidPriceRate: numberOrNull(data.bidPriceRate),
23
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
24
+ bidQuantity: numberOrNull(data.bidQuantity),
25
+ high: numberOrNull(data.high),
26
+ lastPrice: numberOrNull(data.lastPrice),
27
+ lastQuantity: numberOrNull(data.lastQuantity),
28
+ low: numberOrNull(data.low),
29
+ open: numberOrNull(data.open),
30
+ prevClosePx: numberOrNull(data.prevClosePx),
31
+ symbol,
32
+ timestamp,
33
+ volume
34
+ };
35
+ return { ...fields, schema: SnapshotSchema };
36
+ }
37
+ };
38
+
39
+ // src/Diviner/ApiCallJsonResultToSnapshot/Schema.ts
40
+ var TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = "network.xyo.stock.market.tzero.api.snapshot.diviner.config";
41
+
42
+ // src/Diviner/ApiCallJsonResultToSnapshot/Diviner.ts
43
+ var TZeroApiCallJsonResultToSnapshotDiviner = class extends AbstractDiviner {
44
+ static configSchemas = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema];
45
+ static defaultConfigSchema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema;
46
+ divineHandler(payloads) {
47
+ if (!payloads)
48
+ return [];
49
+ if (payloads.length === 0)
50
+ return [];
51
+ return payloads.map(tryMapToSnapshot).filter(exists);
52
+ }
53
+ };
54
+ export {
55
+ TZeroApiCallJsonResultToSnapshotDiviner,
56
+ TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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 || !timestamp || !volume) 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,CAAC,UAAU,CAAC,aAAa,CAAC;AAAQ,aAAO;AAC7C,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;AAAU,aAAO,CAAC;AACvB,QAAI,SAAS,WAAW;AAAG,aAAO,CAAC;AACnC,WAAO,SAAS,IAAI,gBAAgB,EAAE,OAAO,MAAM;AAAA,EACrD;AACF;","names":[]}
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@xyo-network/tzero-stock-market-plugin",
3
+ "author": {
4
+ "email": "support@xyo.network",
5
+ "name": "XYO Development Team",
6
+ "url": "https://xyo.network"
7
+ },
8
+ "bugs": {
9
+ "email": "support@xyo.network",
10
+ "url": "https://github.com/XYOracleNetwork/plugins/issues"
11
+ },
12
+ "dependencies": {
13
+ "@xylabs/exists": "^3.5.1",
14
+ "@xylabs/object": "^3.5.1",
15
+ "@xylabs/promise": "^3.5.1",
16
+ "@xyo-network/api-call-witness": "^2.95.4",
17
+ "@xyo-network/diviner-abstract": "^2.104.0",
18
+ "@xyo-network/diviner-model": "^2.104.0",
19
+ "@xyo-network/module-model": "^2.103.1",
20
+ "@xyo-network/payload-model": "^2.103.1",
21
+ "@xyo-network/tzero-stock-market-payload-plugin": "^2.95.4"
22
+ },
23
+ "devDependencies": {
24
+ "@xylabs/assert": "^3.5.1",
25
+ "@xylabs/jest-helpers": "^3.5.1",
26
+ "@xylabs/ts-scripts-yarn3": "^3.10.4",
27
+ "@xylabs/tsconfig": "^3.10.4",
28
+ "@xyo-network/account": "^2.103.1",
29
+ "@xyo-network/manifest": "^2.104.0",
30
+ "@xyo-network/module-factory-locator": "^2.104.0",
31
+ "@xyo-network/sentinel-model": "^2.104.0",
32
+ "@xyo-network/witness-model": "^2.103.1",
33
+ "typescript": "^5.4.5"
34
+ },
35
+ "description": "Typescript/Javascript Plugins for XYO Platform",
36
+ "types": "dist/node/index.d.ts",
37
+ "exports": {
38
+ ".": {
39
+ "browser": {
40
+ "require": {
41
+ "types": "./dist/browser/index.d.cts",
42
+ "default": "./dist/browser/index.cjs"
43
+ },
44
+ "import": {
45
+ "types": "./dist/browser/index.d.mts",
46
+ "default": "./dist/browser/index.js"
47
+ }
48
+ },
49
+ "node": {
50
+ "require": {
51
+ "types": "./dist/node/index.d.cts",
52
+ "default": "./dist/node/index.cjs"
53
+ },
54
+ "import": {
55
+ "types": "./dist/node/index.d.mts",
56
+ "default": "./dist/node/index.js"
57
+ }
58
+ }
59
+ },
60
+ "./package.json": "./package.json"
61
+ },
62
+ "main": "dist/node/index.cjs",
63
+ "module": "dist/node/index.js",
64
+ "homepage": "https://xyo.network",
65
+ "license": "LGPL-3.0-only",
66
+ "publishConfig": {
67
+ "access": "public"
68
+ },
69
+ "repository": {
70
+ "type": "git",
71
+ "url": "https://github.com/XYOracleNetwork/plugins.git"
72
+ },
73
+ "sideEffects": false,
74
+ "version": "2.95.4",
75
+ "type": "module"
76
+ }
@@ -0,0 +1,7 @@
1
+ import { DivinerConfig } from '@xyo-network/diviner-model'
2
+
3
+ import { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'
4
+
5
+ export type TZeroStockMarketDivinerConfig = DivinerConfig<{
6
+ schema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
7
+ }>
@@ -0,0 +1,26 @@
1
+ import { exists } from '@xylabs/exists'
2
+ import { Promisable } from '@xylabs/promise'
3
+ import { AbstractDiviner } from '@xyo-network/diviner-abstract'
4
+ import { DivinerParams } from '@xyo-network/diviner-model'
5
+ import { AnyConfigSchema } from '@xyo-network/module-model'
6
+ import { Payload, Schema, WithSources } from '@xyo-network/payload-model'
7
+ import { Snapshot } from '@xyo-network/tzero-stock-market-payload-plugin'
8
+
9
+ import { TZeroStockMarketDivinerConfig } from './Config'
10
+ import { tryMapToSnapshot } from './lib'
11
+ import { TZeroApiCallJsonResultToSnapshotDivinerConfigSchema } from './Schema'
12
+
13
+ export type TZeroApiCallJsonResultToSnapshotDivinerParams = DivinerParams<AnyConfigSchema<TZeroStockMarketDivinerConfig>>
14
+
15
+ export class TZeroApiCallJsonResultToSnapshotDiviner<
16
+ TParams extends TZeroApiCallJsonResultToSnapshotDivinerParams = TZeroApiCallJsonResultToSnapshotDivinerParams,
17
+ > extends AbstractDiviner<TParams> {
18
+ static override readonly configSchemas: Schema[] = [...super.configSchemas, TZeroApiCallJsonResultToSnapshotDivinerConfigSchema]
19
+ static override readonly defaultConfigSchema: Schema = TZeroApiCallJsonResultToSnapshotDivinerConfigSchema
20
+
21
+ protected override divineHandler(payloads?: Payload[]): Promisable<WithSources<Snapshot>[]> {
22
+ if (!payloads) return []
23
+ if (payloads.length === 0) return []
24
+ return payloads.map(tryMapToSnapshot).filter(exists)
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ export type TZeroApiCallJsonResultToSnapshotDivinerConfigSchema = 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'
2
+ export const TZeroApiCallJsonResultToSnapshotDivinerConfigSchema: TZeroApiCallJsonResultToSnapshotDivinerConfigSchema =
3
+ 'network.xyo.stock.market.tzero.api.snapshot.diviner.config'
@@ -0,0 +1,3 @@
1
+ export * from './Config'
2
+ export * from './Diviner'
3
+ export * from './Schema'
@@ -0,0 +1 @@
1
+ export * from './tryMapToSnapshot'
@@ -0,0 +1,37 @@
1
+ import { JsonObject } from '@xylabs/object'
2
+ import { isApiCallJsonResult } from '@xyo-network/api-call-witness'
3
+ import { Snapshot, SnapshotFields, SnapshotSchema } from '@xyo-network/tzero-stock-market-payload-plugin'
4
+
5
+ interface SnapshotJson extends JsonObject, SnapshotFields {}
6
+
7
+ const isSnapshotApiCallJsonResult = isApiCallJsonResult<SnapshotJson>
8
+
9
+ const numberOrNull = (value: unknown): number | null => (typeof value === 'number' ? value : null)
10
+
11
+ export const tryMapToSnapshot = (response?: unknown): Snapshot | undefined => {
12
+ if (isSnapshotApiCallJsonResult(response)) {
13
+ const data: Partial<SnapshotFields> = response.data
14
+ const { symbol, timestamp, volume } = data
15
+ if (!symbol || !timestamp || !volume) return undefined
16
+ const fields = {
17
+ askPrice: numberOrNull(data.askPrice),
18
+ askPriceRate: numberOrNull(data.askPriceRate),
19
+ askQtyBookTotal: numberOrNull(data.askQtyBookTotal),
20
+ askQuantity: numberOrNull(data.askQuantity),
21
+ bidPrice: numberOrNull(data.bidPrice),
22
+ bidPriceRate: numberOrNull(data.bidPriceRate),
23
+ bidQtyBookTotal: numberOrNull(data.bidQtyBookTotal),
24
+ bidQuantity: numberOrNull(data.bidQuantity),
25
+ high: numberOrNull(data.high),
26
+ lastPrice: numberOrNull(data.lastPrice),
27
+ lastQuantity: numberOrNull(data.lastQuantity),
28
+ low: numberOrNull(data.low),
29
+ open: numberOrNull(data.open),
30
+ prevClosePx: numberOrNull(data.prevClosePx),
31
+ symbol,
32
+ timestamp,
33
+ volume,
34
+ }
35
+ return { ...fields, schema: SnapshotSchema }
36
+ }
37
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/a5a229a767e3998e13cce8160fd1c2b027317424/packages/manifest/src/schema.json",
3
+ "nodes": [
4
+ {
5
+ "config": {
6
+ "accountPath": "0",
7
+ "name": "ApiCall",
8
+ "schema": "network.xyo.node.config"
9
+ },
10
+ "modules": {
11
+ "public": [
12
+ {
13
+ "config": {
14
+ "accountPath": "0/0",
15
+ "name": "ApiCallWitness",
16
+ "schema": "network.xyo.api.call.witness.config",
17
+ "uriTemplate": "https://gateway-web-markets.tzero.com/mdt/public-snapshots/${symbol}"
18
+ }
19
+ },
20
+ {
21
+ "config": {
22
+ "accountPath": "0/1",
23
+ "name": "TZeroApiCallJsonResultToSnapshotDiviner",
24
+ "schema": "network.xyo.stock.market.tzero.api.snapshot.diviner.config"
25
+ }
26
+ },
27
+ {
28
+ "config": {
29
+ "accountPath": "0/2",
30
+ "name": "ApiCallSentinel",
31
+ "schema": "network.xyo.sentinel.config",
32
+ "synchronous": "true",
33
+ "tasks": [
34
+ {
35
+ "input": true,
36
+ "module": "ApiCallWitness"
37
+ },
38
+ {
39
+ "input": ["ApiCallWitness"],
40
+ "module": "TZeroApiCallJsonResultToSnapshotDiviner"
41
+ }
42
+ ]
43
+ }
44
+ }
45
+ ]
46
+ }
47
+ }
48
+ ],
49
+ "schema": "network.xyo.manifest"
50
+ }
@@ -0,0 +1 @@
1
+ export * from './ApiCallJsonResultToSnapshot'
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './Diviner'
package/typedoc.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://typedoc.org/schema.json",
3
+ "entryPoints": ["./src/index.ts"],
4
+ "tsconfig": "./tsconfig.typedoc.json"
5
+ }
package/xy.config.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
+ const config: XyTsupConfig = {
3
+ compile: {
4
+ browser: {
5
+ src: true,
6
+ },
7
+ node: {
8
+ src: true,
9
+ },
10
+ },
11
+ }
12
+
13
+ // eslint-disable-next-line import/no-default-export
14
+ export default config