@invinite-org/chartlang-adapter-kit 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +1380 -0
  2. package/LICENSE +21 -0
  3. package/README.md +69 -0
  4. package/dist/base/bufferingAdapter.d.ts +52 -0
  5. package/dist/base/bufferingAdapter.d.ts.map +1 -0
  6. package/dist/base/bufferingAdapter.js +68 -0
  7. package/dist/base/bufferingAdapter.js.map +1 -0
  8. package/dist/base/index.d.ts +3 -0
  9. package/dist/base/index.d.ts.map +1 -0
  10. package/dist/base/index.js +5 -0
  11. package/dist/base/index.js.map +1 -0
  12. package/dist/base/passThroughAdapter.d.ts +49 -0
  13. package/dist/base/passThroughAdapter.d.ts.map +1 -0
  14. package/dist/base/passThroughAdapter.js +61 -0
  15. package/dist/base/passThroughAdapter.js.map +1 -0
  16. package/dist/capabilities/capabilities.d.ts +336 -0
  17. package/dist/capabilities/capabilities.d.ts.map +1 -0
  18. package/dist/capabilities/capabilities.js +616 -0
  19. package/dist/capabilities/capabilities.js.map +1 -0
  20. package/dist/capabilities/index.d.ts +2 -0
  21. package/dist/capabilities/index.d.ts.map +1 -0
  22. package/dist/capabilities/index.js +4 -0
  23. package/dist/capabilities/index.js.map +1 -0
  24. package/dist/defineAdapter.d.ts +74 -0
  25. package/dist/defineAdapter.d.ts.map +1 -0
  26. package/dist/defineAdapter.js +55 -0
  27. package/dist/defineAdapter.js.map +1 -0
  28. package/dist/index.d.ts +12 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +9 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/mocks/index.d.ts +3 -0
  33. package/dist/mocks/index.d.ts.map +1 -0
  34. package/dist/mocks/index.js +4 -0
  35. package/dist/mocks/index.js.map +1 -0
  36. package/dist/mocks/mockCandleSource.d.ts +68 -0
  37. package/dist/mocks/mockCandleSource.d.ts.map +1 -0
  38. package/dist/mocks/mockCandleSource.js +61 -0
  39. package/dist/mocks/mockCandleSource.js.map +1 -0
  40. package/dist/types.d.ts +655 -0
  41. package/dist/types.d.ts.map +1 -0
  42. package/dist/types.js +4 -0
  43. package/dist/types.js.map +1 -0
  44. package/dist/validation/decodeDrawing.d.ts +29 -0
  45. package/dist/validation/decodeDrawing.d.ts.map +1 -0
  46. package/dist/validation/decodeDrawing.js +35 -0
  47. package/dist/validation/decodeDrawing.js.map +1 -0
  48. package/dist/validation/index.d.ts +4 -0
  49. package/dist/validation/index.d.ts.map +1 -0
  50. package/dist/validation/index.js +5 -0
  51. package/dist/validation/index.js.map +1 -0
  52. package/dist/validation/validateEmission.d.ts +70 -0
  53. package/dist/validation/validateEmission.d.ts.map +1 -0
  54. package/dist/validation/validateEmission.js +1481 -0
  55. package/dist/validation/validateEmission.js.map +1 -0
  56. package/package.json +41 -0
@@ -0,0 +1,74 @@
1
+ import type { Adapter } from "./types.js";
2
+ /**
3
+ * Options accepted by {@link defineAdapter}. `dispose` is optional —
4
+ * `defineAdapter` substitutes a no-op when omitted.
5
+ *
6
+ * @since 0.1
7
+ * @stable
8
+ * @example
9
+ * const opts: DefineAdapterOpts = {
10
+ * id: "demo",
11
+ * name: "Demo",
12
+ * capabilities: {
13
+ * plots: new Set(),
14
+ * drawings: new Set(),
15
+ * alerts: new Set(),
16
+ * alertConditions: false,
17
+ * logs: false,
18
+ * inputs: new Set(),
19
+ * intervals: [],
20
+ * multiTimeframe: false,
21
+ * subPanes: 0,
22
+ * symInfoFields: new Set(),
23
+ * maxDrawingsPerScript: {
24
+ * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,
25
+ * },
26
+ * maxLookback: 0,
27
+ * maxTickHz: 0,
28
+ * },
29
+ * candles: () => ({ async *[Symbol.asyncIterator]() {} }),
30
+ * onEmissions: () => {},
31
+ * };
32
+ */
33
+ export type DefineAdapterOpts = Omit<Adapter, "dispose"> & {
34
+ readonly dispose?: () => void;
35
+ };
36
+ /**
37
+ * Wrap an adapter description in a stable factory so consumer-repo
38
+ * adapters get a single entry point + a default no-op `dispose`. The
39
+ * returned object aliases the supplied callbacks by reference — no
40
+ * normalisation, no cloning.
41
+ *
42
+ * @since 0.1
43
+ * @stable
44
+ * @example
45
+ * import { defineAdapter, capabilities, mockCandleSource }
46
+ * from "@invinite-org/chartlang-adapter-kit";
47
+ *
48
+ * const adapter = defineAdapter({
49
+ * id: "demo",
50
+ * name: "Demo",
51
+ * capabilities: {
52
+ * plots: capabilities.allLines(),
53
+ * drawings: new Set(),
54
+ * alerts: new Set(),
55
+ * alertConditions: false,
56
+ * logs: false,
57
+ * inputs: new Set(),
58
+ * intervals: [],
59
+ * multiTimeframe: false,
60
+ * subPanes: 0,
61
+ * symInfoFields: new Set(),
62
+ * maxDrawingsPerScript: {
63
+ * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,
64
+ * },
65
+ * maxLookback: 5000,
66
+ * maxTickHz: 10,
67
+ * },
68
+ * candles: () => mockCandleSource([]),
69
+ * onEmissions: () => {},
70
+ * });
71
+ * void adapter;
72
+ */
73
+ export declare function defineAdapter(opts: DefineAdapterOpts): Adapter;
74
+ //# sourceMappingURL=defineAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineAdapter.d.ts","sourceRoot":"","sources":["../src/defineAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAW9D"}
@@ -0,0 +1,55 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ /**
4
+ * Wrap an adapter description in a stable factory so consumer-repo
5
+ * adapters get a single entry point + a default no-op `dispose`. The
6
+ * returned object aliases the supplied callbacks by reference — no
7
+ * normalisation, no cloning.
8
+ *
9
+ * @since 0.1
10
+ * @stable
11
+ * @example
12
+ * import { defineAdapter, capabilities, mockCandleSource }
13
+ * from "@invinite-org/chartlang-adapter-kit";
14
+ *
15
+ * const adapter = defineAdapter({
16
+ * id: "demo",
17
+ * name: "Demo",
18
+ * capabilities: {
19
+ * plots: capabilities.allLines(),
20
+ * drawings: new Set(),
21
+ * alerts: new Set(),
22
+ * alertConditions: false,
23
+ * logs: false,
24
+ * inputs: new Set(),
25
+ * intervals: [],
26
+ * multiTimeframe: false,
27
+ * subPanes: 0,
28
+ * symInfoFields: new Set(),
29
+ * maxDrawingsPerScript: {
30
+ * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,
31
+ * },
32
+ * maxLookback: 5000,
33
+ * maxTickHz: 10,
34
+ * },
35
+ * candles: () => mockCandleSource([]),
36
+ * onEmissions: () => {},
37
+ * });
38
+ * void adapter;
39
+ */
40
+ export function defineAdapter(opts) {
41
+ return {
42
+ id: opts.id,
43
+ name: opts.name,
44
+ capabilities: opts.capabilities,
45
+ ...(opts.resolveInputs !== undefined ? { resolveInputs: opts.resolveInputs } : {}),
46
+ ...(opts.symInfo !== undefined ? { symInfo: opts.symInfo } : {}),
47
+ candles: opts.candles,
48
+ onEmissions: opts.onEmissions,
49
+ dispose: opts.dispose ?? noopDispose,
50
+ };
51
+ }
52
+ function noopDispose() {
53
+ // intentional no-op
54
+ }
55
+ //# sourceMappingURL=defineAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineAdapter.js","sourceRoot":"","sources":["../src/defineAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAuC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,aAAa,CAAC,IAAuB;IACjD,OAAO;QACH,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,WAAW;KACvC,CAAC;AACN,CAAC;AAED,SAAS,WAAW;IAChB,oBAAoB;AACxB,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { KIND_BUCKET, bucketFor } from "@invinite-org/chartlang-core";
2
+ export type { DrawingBucket, DrawingState } from "@invinite-org/chartlang-core";
3
+ export { defineAdapter } from "./defineAdapter.js";
4
+ export type { DefineAdapterOpts } from "./defineAdapter.js";
5
+ export { PHASE_5_PLOT_KINDS, capabilities } from "./capabilities/index.js";
6
+ export { decodeDrawing, validateEmission } from "./validation/index.js";
7
+ export type { ValidationFail, ValidationOk, ValidationResult } from "./validation/index.js";
8
+ export { mockCandleSource } from "./mocks/index.js";
9
+ export type { MockCandleSourceMode, MockCandleSourceOpts } from "./mocks/index.js";
10
+ export { BufferingAdapter, PassThroughAdapter } from "./base/index.js";
11
+ export type { Adapter, AdapterSymInfo, AlertChannel, AlertConditionEmission, AlertEmission, Capabilities, CandleEvent, DiagnosticCode, DrawingCounts, DrawingEmission, DrawingKind, InputKind, LogEmission, PlotEmission, PlotKind, PlotStyle, RunnerEmissions, RuntimeDiagnostic, SymInfoField, } from "./types.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,YAAY,EACR,OAAO,EACP,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,YAAY,GACf,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ export { KIND_BUCKET, bucketFor } from "@invinite-org/chartlang-core";
4
+ export { defineAdapter } from "./defineAdapter.js";
5
+ export { PHASE_5_PLOT_KINDS, capabilities } from "./capabilities/index.js";
6
+ export { decodeDrawing, validateEmission } from "./validation/index.js";
7
+ export { mockCandleSource } from "./mocks/index.js";
8
+ export { BufferingAdapter, PassThroughAdapter } from "./base/index.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { mockCandleSource } from "./mockCandleSource.js";
2
+ export type { MockCandleSourceMode, MockCandleSourceOpts } from "./mockCandleSource.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ export { mockCandleSource } from "./mockCandleSource.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { Bar } from "@invinite-org/chartlang-core";
2
+ import type { CandleEvent } from "../types.js";
3
+ /**
4
+ * How a {@link mockCandleSource} surfaces the supplied bars:
5
+ *
6
+ * - `history` — yields one warm-up batch with every bar.
7
+ * - `stream` — yields one `close` event per bar in array order.
8
+ * - `history-then-stream` — yields one history batch containing all
9
+ * but the last `streamTail` bars, then a `close` event per
10
+ * remaining bar. Lets a consumer paint a chart instantly from
11
+ * the warm-up batch and still receive per-bar ticks afterwards.
12
+ *
13
+ * @since 0.5
14
+ * @stable
15
+ * @example
16
+ * const m: MockCandleSourceMode = "history-then-stream";
17
+ */
18
+ export type MockCandleSourceMode = "history" | "stream" | "history-then-stream";
19
+ /**
20
+ * Options accepted by {@link mockCandleSource}. `interval` mirrors the
21
+ * `Bar.interval` field; `mode` defaults to `"history"`. `streamTail`
22
+ * applies only when `mode === "history-then-stream"` and defaults to
23
+ * `1` — the smallest non-zero value, leaving a single tail bar to
24
+ * stream after the warm-up batch. `streamTail` is clamped to
25
+ * `[0, bars.length]`.
26
+ *
27
+ * @since 0.5
28
+ * @stable
29
+ * @example
30
+ * const o: MockCandleSourceOpts = {
31
+ * interval: "1D",
32
+ * mode: "history-then-stream",
33
+ * streamTail: 20,
34
+ * };
35
+ */
36
+ export type MockCandleSourceOpts = {
37
+ readonly interval: string;
38
+ readonly mode?: MockCandleSourceMode;
39
+ readonly streamTail?: number;
40
+ };
41
+ /**
42
+ * Wrap a static `Bar[]` array in an `AsyncIterable<CandleEvent>` the
43
+ * runtime + conformance tests can drive directly.
44
+ *
45
+ * - `"history"` (default) — yields exactly one
46
+ * `{ kind: "history", bars }` event.
47
+ * - `"stream"` — yields one `{ kind: "close", bar }` per bar in array
48
+ * order.
49
+ * - `"history-then-stream"` — yields a single
50
+ * `{ kind: "history", bars }` event for all but the trailing
51
+ * `streamTail` bars (default `1`), then one `{ kind: "close", bar }`
52
+ * per remaining bar. With `streamTail` clamped to `[0, bars.length]`,
53
+ * `streamTail === 0` degenerates to a pure history batch and
54
+ * `streamTail >= bars.length` yields an empty history batch followed
55
+ * by a close-per-bar.
56
+ *
57
+ * @since 0.1
58
+ * @stable
59
+ * @example
60
+ * import { mockCandleSource } from "@invinite-org/chartlang-adapter-kit";
61
+ *
62
+ * const source = mockCandleSource([], { interval: "1D" });
63
+ * for await (const e of source) {
64
+ * void e;
65
+ * }
66
+ */
67
+ export declare function mockCandleSource(bars: ReadonlyArray<Bar>, opts?: MockCandleSourceOpts): AsyncIterable<CandleEvent>;
68
+ //# sourceMappingURL=mockCandleSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockCandleSource.d.ts","sourceRoot":"","sources":["../../src/mocks/mockCandleSource.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,qBAAqB,CAAC;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,IAAI,GAAE,oBAAyC,GAChD,aAAa,CAAC,WAAW,CAAC,CAuB5B"}
@@ -0,0 +1,61 @@
1
+ // Copyright (c) 2026 Invinite. Licensed under the MIT License.
2
+ // See the LICENSE file in the repo root for full license text.
3
+ const DEFAULT_STREAM_TAIL = 1;
4
+ /**
5
+ * Wrap a static `Bar[]` array in an `AsyncIterable<CandleEvent>` the
6
+ * runtime + conformance tests can drive directly.
7
+ *
8
+ * - `"history"` (default) — yields exactly one
9
+ * `{ kind: "history", bars }` event.
10
+ * - `"stream"` — yields one `{ kind: "close", bar }` per bar in array
11
+ * order.
12
+ * - `"history-then-stream"` — yields a single
13
+ * `{ kind: "history", bars }` event for all but the trailing
14
+ * `streamTail` bars (default `1`), then one `{ kind: "close", bar }`
15
+ * per remaining bar. With `streamTail` clamped to `[0, bars.length]`,
16
+ * `streamTail === 0` degenerates to a pure history batch and
17
+ * `streamTail >= bars.length` yields an empty history batch followed
18
+ * by a close-per-bar.
19
+ *
20
+ * @since 0.1
21
+ * @stable
22
+ * @example
23
+ * import { mockCandleSource } from "@invinite-org/chartlang-adapter-kit";
24
+ *
25
+ * const source = mockCandleSource([], { interval: "1D" });
26
+ * for await (const e of source) {
27
+ * void e;
28
+ * }
29
+ */
30
+ export function mockCandleSource(bars, opts = { interval: "1D" }) {
31
+ const mode = opts.mode ?? "history";
32
+ const streamTail = clampTail(opts.streamTail ?? DEFAULT_STREAM_TAIL, bars.length);
33
+ return {
34
+ async *[Symbol.asyncIterator]() {
35
+ if (mode === "history") {
36
+ yield { kind: "history", bars };
37
+ return;
38
+ }
39
+ if (mode === "stream") {
40
+ for (const bar of bars) {
41
+ yield { kind: "close", bar };
42
+ }
43
+ return;
44
+ }
45
+ // history-then-stream
46
+ const splitAt = bars.length - streamTail;
47
+ yield { kind: "history", bars: bars.slice(0, splitAt) };
48
+ for (let i = splitAt; i < bars.length; i += 1) {
49
+ yield { kind: "close", bar: bars[i] };
50
+ }
51
+ },
52
+ };
53
+ }
54
+ function clampTail(value, total) {
55
+ if (!Number.isFinite(value) || value < 0)
56
+ return 0;
57
+ if (value > total)
58
+ return total;
59
+ return Math.floor(value);
60
+ }
61
+ //# sourceMappingURL=mockCandleSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockCandleSource.js","sourceRoot":"","sources":["../../src/mocks/mockCandleSource.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AA6C/D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gBAAgB,CAC5B,IAAwB,EACxB,OAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE/C,MAAM,IAAI,GAAyB,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;IAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO;QACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBACjC,CAAC;gBACD,OAAO;YACX,CAAC;YACD,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}