@tradecanvas/core 2.9.0 → 2.10.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.
@@ -0,0 +1,46 @@
1
+ import { DataFeed, TimeFrame } from '@tradecanvas/commons';
2
+ import { JsApiDatafeed } from './jsApiTypes.js';
3
+ export interface JsApiFeedOptions {
4
+ /** The feed's name (default `'jsapi'`). */
5
+ name?: string;
6
+ /**
7
+ * The timeframes the datafeed serves; the chart builds the others from
8
+ * them. Default: the datafeed's `supported_resolutions` once `onReady`
9
+ * has answered, and every timeframe until then.
10
+ */
11
+ supportedTimeframes?: readonly TimeFrame[];
12
+ /** Results a symbol search keeps (default 50). */
13
+ searchLimit?: number;
14
+ }
15
+ /** A `DataFeed` over a JS API datafeed, and the moment the datafeed has said what it serves. */
16
+ export type JsApiFeed = DataFeed & {
17
+ /**
18
+ * Resolves once `onReady` has answered, with the timeframes the datafeed
19
+ * serves (none: every one). Await it before handing the feed to a chart
20
+ * when `supportedTimeframes` isn't given: a chart reads them when it connects.
21
+ */
22
+ ready(): Promise<readonly TimeFrame[] | undefined>;
23
+ };
24
+ /**
25
+ * A `DataFeed` over a datafeed written for the callback-style JS API that
26
+ * several charting libraries use: `onReady`, `resolveSymbol`, `getBars`,
27
+ * `subscribeBars`/`unsubscribeBars`, and `searchSymbols`, `getQuotes`,
28
+ * `subscribeQuotes` when it has them. The datafeed stays as it is: this
29
+ * resolves each symbol once and hands its symbol info back to `getBars`,
30
+ * turns timeframes into resolutions (`'1h'` → `'60'`), the chart's
31
+ * `countBack`/`before` into `from`/`to` in seconds, callbacks into promises,
32
+ * and a guid to unsubscribe with into the function `subscribeBars` returns.
33
+ * A datafeed's `onResetCacheNeeded` makes the chart load the series again.
34
+ *
35
+ * The timeframes it serves come from `onReady`, which answers later: give
36
+ * them as `supportedTimeframes`, or await `feed.ready()` before the chart
37
+ * connects, so the chart builds the others from them.
38
+ *
39
+ * ```ts
40
+ * const feed = feedFromJsApi(myDatafeed);
41
+ * await feed.ready();
42
+ * new ChartWidget(el, { feed, symbol: 'AAPL', timeframe: '1d' })
43
+ * ```
44
+ */
45
+ export declare function feedFromJsApi(datafeed: JsApiDatafeed, options?: JsApiFeedOptions): JsApiFeed;
46
+ //# sourceMappingURL=jsApiFeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsApiFeed.d.ts","sourceRoot":"","sources":["../../../src/realtime/feeds/jsApiFeed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,QAAQ,EAMR,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAgC,aAAa,EAAmB,MAAM,iBAAiB,CAAC;AAEpG,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3C,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gGAAgG;AAChG,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG;IACjC;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,SAAS,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;CACpD,CAAC;AA8CF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAE,gBAAqB,GAAG,SAAS,CA2LhG"}
@@ -0,0 +1,18 @@
1
+ import { Quote, SymbolInfo, SymbolSession } from '@tradecanvas/commons';
2
+ import { JsApiQuoteData, JsApiSearchResult, JsApiSymbolInfo } from './jsApiTypes.js';
3
+ /**
4
+ * A session string's trading hours (`'0930-1600'`, `'0930-1400,1430-1700'`,
5
+ * `'0900-1400:23|0900-1200:4'`, `'1700F-1600'`), or undefined for around
6
+ * the clock (`'24x7'`, none, or one this can't read). Days in the string
7
+ * count 1 for Sunday; a schedule without days covers Monday to Friday, less
8
+ * the days another one names. Of a session's history only the current
9
+ * schedule is read.
10
+ */
11
+ export declare function sessionsFromJsApi(session: string | undefined): SymbolSession[] | undefined;
12
+ /** What TradeCanvas knows of a symbol a JS API datafeed resolved. */
13
+ export declare function symbolInfoFromJsApi(info: JsApiSymbolInfo): SymbolInfo;
14
+ /** A symbol search's row, as TradeCanvas lists it. */
15
+ export declare function symbolFromSearchResult(item: JsApiSearchResult): SymbolInfo;
16
+ /** The quotes of a JS API answer that carry a symbol and a last price. */
17
+ export declare function quotesFromJsApi(data: readonly JsApiQuoteData[]): Quote[];
18
+ //# sourceMappingURL=jsApiSymbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsApiSymbols.d.ts","sourceRoot":"","sources":["../../../src/realtime/feeds/jsApiSymbols.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAqC1F;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,EAAE,GAAG,SAAS,CAuB1F;AASD,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,UAAU,CAsBrE;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAW1E;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,KAAK,EAAE,CAqBxE"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * The shape of a datafeed written for the callback-style JS API that
3
+ * several charting libraries use (`onReady`, `resolveSymbol`, `getBars`,
4
+ * `subscribeBars`…), as far as `feedFromJsApi` reads it. Only the fields it
5
+ * reads are named, with no index signatures, so a datafeed typed with that
6
+ * API's own, fuller interfaces fits them.
7
+ */
8
+ /** What `onReady` hands back. */
9
+ export interface JsApiConfiguration {
10
+ supported_resolutions?: readonly string[];
11
+ supports_search?: boolean;
12
+ supports_group_request?: boolean;
13
+ }
14
+ /** A symbol as `resolveSymbol` describes it. */
15
+ export interface JsApiSymbolInfo {
16
+ /** The name the user sees. */
17
+ name: string;
18
+ /** The unique name the datafeed is asked with, when it differs from `name`. */
19
+ ticker?: string;
20
+ description?: string;
21
+ type?: string;
22
+ exchange?: string;
23
+ listed_exchange?: string;
24
+ /** IANA zone of the exchange, `'America/New_York'`. */
25
+ timezone?: string;
26
+ /** Trading hours: `'0930-1600'`, `'24x7'`, `'0930-1600:23456'`. */
27
+ session?: string;
28
+ /** Prices move by `minmov / pricescale`: 100 is two decimals. */
29
+ pricescale?: number;
30
+ minmov?: number;
31
+ currency_code?: string;
32
+ logo_urls?: readonly string[];
33
+ }
34
+ /** One row a symbol search hands back. */
35
+ export interface JsApiSearchResult {
36
+ symbol: string;
37
+ full_name?: string;
38
+ description?: string;
39
+ exchange?: string;
40
+ ticker?: string;
41
+ type?: string;
42
+ logo_urls?: readonly string[];
43
+ }
44
+ /** A bar; `time` in milliseconds. */
45
+ export interface JsApiBar {
46
+ time: number;
47
+ open: number;
48
+ high: number;
49
+ low: number;
50
+ close: number;
51
+ volume?: number;
52
+ }
53
+ /** Which bars `getBars` is asked for; `from` and `to` in seconds, `to` not included. */
54
+ export interface JsApiPeriodParams {
55
+ from: number;
56
+ to: number;
57
+ countBack: number;
58
+ firstDataRequest: boolean;
59
+ }
60
+ /** What `getBars` says with its bars: `noData` when there are no more; `nextTime` (ms) the newest older bar. */
61
+ export interface JsApiHistoryMetadata {
62
+ noData?: boolean;
63
+ nextTime?: number | null;
64
+ }
65
+ /** A quote as `getQuotes` and `subscribeQuotes` send it. */
66
+ export interface JsApiQuoteData {
67
+ s: string;
68
+ n: string;
69
+ v: {
70
+ lp?: number;
71
+ ch?: number;
72
+ chp?: number;
73
+ open_price?: number;
74
+ high_price?: number;
75
+ low_price?: number;
76
+ prev_close_price?: number;
77
+ volume?: number;
78
+ bid?: number;
79
+ ask?: number;
80
+ };
81
+ }
82
+ /**
83
+ * A datafeed for the JS API. Methods are written as methods so a datafeed
84
+ * typed with that API's own, narrower parameter types still fits.
85
+ */
86
+ export interface JsApiDatafeed {
87
+ onReady(callback: (configuration: JsApiConfiguration) => void): void;
88
+ resolveSymbol(symbolName: string, onResolve: (symbolInfo: JsApiSymbolInfo) => void, onError: (reason: string) => void, extension?: unknown): void;
89
+ getBars(symbolInfo: JsApiSymbolInfo, resolution: string, periodParams: JsApiPeriodParams, onResult: (bars: JsApiBar[], meta?: JsApiHistoryMetadata) => void, onError: (reason: string) => void): void;
90
+ subscribeBars(symbolInfo: JsApiSymbolInfo, resolution: string, onTick: (bar: JsApiBar) => void, listenerGuid: string, onResetCacheNeeded: () => void): void;
91
+ unsubscribeBars(listenerGuid: string): void;
92
+ searchSymbols?(userInput: string, exchange: string, symbolType: string, onResult: (items: JsApiSearchResult[]) => void): void;
93
+ getQuotes?(symbols: string[], onData: (data: JsApiQuoteData[]) => void, onError: (reason: string) => void): void;
94
+ subscribeQuotes?(symbols: string[], fastSymbols: string[], onRealtime: (data: JsApiQuoteData[]) => void, listenerGuid: string): void;
95
+ unsubscribeQuotes?(listenerGuid: string): void;
96
+ }
97
+ //# sourceMappingURL=jsApiTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsApiTypes.d.ts","sourceRoot":"","sources":["../../../src/realtime/feeds/jsApiTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { TimeFrame } from '@tradecanvas/commons';
2
+ import { JsApiFeed } from './jsApiFeed.js';
3
+ export interface UdfFeedOptions {
4
+ /** The server's address; the endpoints (`/config`, `/history`…) are read below it. */
5
+ url: string;
6
+ /** The feed's name (default `'udf'`). */
7
+ name?: string;
8
+ /** Headers sent with every request (a key, a token of your own). */
9
+ headers?: Record<string, string>;
10
+ /** How often live bars and quotes are asked for, in ms (default 10 000). */
11
+ updateFrequency?: number;
12
+ /** The timeframes the server serves. Default: its `/config`'s `supported_resolutions`. */
13
+ supportedTimeframes?: readonly TimeFrame[];
14
+ /** Results a symbol search asks for (default 50). */
15
+ searchLimit?: number;
16
+ /** The `fetch` to call (default the global one). */
17
+ fetch?: typeof fetch;
18
+ }
19
+ /**
20
+ * A `DataFeed` reading a UDF server: `/config`, `/symbols`, `/search`,
21
+ * `/history` and `/quotes`, times in seconds. UDF has no push, so live bars
22
+ * and quotes are asked for again every `updateFrequency` ms.
23
+ *
24
+ * Await `feed.ready()` before the chart connects to have the timeframes of
25
+ * the server's `/config` (or give `supportedTimeframes`).
26
+ *
27
+ * ```ts
28
+ * const feed = udfFeed({ url: 'https://example.com/udf' });
29
+ * await feed.ready();
30
+ * new ChartWidget(el, { feed, symbol: 'AAPL', timeframe: '1d' })
31
+ * ```
32
+ */
33
+ export declare function udfFeed(options: UdfFeedOptions): JsApiFeed;
34
+ //# sourceMappingURL=udfFeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udfFeed.d.ts","sourceRoot":"","sources":["../../../src/realtime/feeds/udfFeed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG/D,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,4EAA4E;IAC5E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3C,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AA+KD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,CAM1D"}
@@ -10,4 +10,8 @@ export type { ReplayBarEvent, ReplayEventMap, ReplayOptions, ReplayStateChangeEv
10
10
  export * from './adapters/index.js';
11
11
  export { adapterFromFeed, feedFromAdapter, isDataFeed, streamAdapterOf } from './feeds/feedAdapter.js';
12
12
  export { ManualFeed } from './feeds/ManualFeed.js';
13
+ export { feedFromJsApi, type JsApiFeed, type JsApiFeedOptions } from './feeds/jsApiFeed.js';
14
+ export { udfFeed, type UdfFeedOptions } from './feeds/udfFeed.js';
15
+ export { sessionsFromJsApi, symbolInfoFromJsApi } from './feeds/jsApiSymbols.js';
16
+ export type * from './feeds/jsApiTypes.js';
13
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACxF,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACxF,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjF,mBAAmB,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradecanvas/core",
3
- "version": "2.9.0",
3
+ "version": "2.10.0",
4
4
  "type": "module",
5
5
  "description": "The rendering engine of @tradecanvas/chart, the open-source trading chart library: viewport, Canvas 2D and WebGL renderers, indicators, drawing tools.",
6
6
  "license": "MIT",
@@ -44,7 +44,7 @@
44
44
  "README.md"
45
45
  ],
46
46
  "dependencies": {
47
- "@tradecanvas/commons": "2.9.0"
47
+ "@tradecanvas/commons": "2.10.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "jsdom": "^25.0.1",