@tradecanvas/core 1.0.3 → 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.
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +180 -173
- package/dist/index.js.map +1 -1
- package/dist/ui/SessionShading.d.ts.map +1 -1
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/sessionHours.d.ts +26 -3
- package/dist/ui/sessionHours.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionShading.d.ts","sourceRoot":"","sources":["../../src/ui/SessionShading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAoB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"SessionShading.d.ts","sourceRoot":"","sources":["../../src/ui/SessionShading.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,mBAAmB,CAAC;AAElG,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,kBAInC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAoD;IAElE,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;IAG5B,SAAS,IAAI,OAAO;IAGpB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAMpD,SAAS,IAAI,kBAAkB;IAO/B,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CA+BrG"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export { BarCountdown } from './BarCountdown.js';
|
|
|
6
6
|
export { SessionBreaks } from './SessionBreaks.js';
|
|
7
7
|
export type { SessionBreakConfig } from './SessionBreaks.js';
|
|
8
8
|
export { SessionShading, DEFAULT_SESSION_HOURS } from './SessionShading.js';
|
|
9
|
-
export { isRegularSession, minuteOfDay } from './sessionHours.js';
|
|
10
|
-
export type { SessionHoursConfig } from './sessionHours.js';
|
|
9
|
+
export { isRegularSession, isInWindow, minuteOfDay } from './sessionHours.js';
|
|
10
|
+
export type { SessionHoursConfig, SessionWindow } from './sessionHours.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/** One in-session window, minutes-of-day in the session's timezone. */
|
|
2
|
+
export interface SessionWindow {
|
|
3
|
+
/** Window start, minutes from midnight (e.g. 570 = 09:30). */
|
|
4
|
+
startMinute: number;
|
|
5
|
+
/** Window end, minutes from midnight. `endMinute < startMinute` wraps past midnight. */
|
|
6
|
+
endMinute: number;
|
|
7
|
+
}
|
|
1
8
|
export interface SessionHoursConfig {
|
|
2
9
|
/** Session start, minutes from midnight in the session's timezone (e.g. 570 = 09:30). */
|
|
3
10
|
startMinute: number;
|
|
@@ -5,13 +12,29 @@ export interface SessionHoursConfig {
|
|
|
5
12
|
endMinute: number;
|
|
6
13
|
/** Timezone offset applied to UTC before deriving minute-of-day (e.g. -300 for EST). */
|
|
7
14
|
tzOffsetMinutes: number;
|
|
15
|
+
/**
|
|
16
|
+
* Optional split session: a list of in-session windows within the day. When
|
|
17
|
+
* present and non-empty, `startMinute`/`endMinute` are ignored and a
|
|
18
|
+
* timestamp counts as in-session only if it lands inside one of these
|
|
19
|
+
* windows. This lets a market with a midday recess — e.g. SET's
|
|
20
|
+
* 10:00–12:30 and 14:30–16:30 — dim the lunch break the same way
|
|
21
|
+
* pre-/post-market is dimmed.
|
|
22
|
+
*/
|
|
23
|
+
windows?: SessionWindow[];
|
|
8
24
|
}
|
|
9
25
|
/** Minute-of-day (0–1439) for a timestamp in the configured timezone. */
|
|
10
26
|
export declare function minuteOfDay(timeMs: number, tzOffsetMinutes: number): number;
|
|
11
27
|
/**
|
|
12
|
-
* Whether a
|
|
13
|
-
*
|
|
14
|
-
*
|
|
28
|
+
* Whether a minute-of-day falls inside a single window. `start === end` is a
|
|
29
|
+
* 24h window; `end < start` wraps past midnight (e.g. a 17:00–16:00 futures
|
|
30
|
+
* session).
|
|
31
|
+
*/
|
|
32
|
+
export declare function isInWindow(minute: number, startMinute: number, endMinute: number): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Whether a timestamp falls inside the regular session. With `config.windows`
|
|
35
|
+
* set, the timestamp is in-session if it lands in any window (split-session
|
|
36
|
+
* markets with a midday recess). Otherwise the single `startMinute`–`endMinute`
|
|
37
|
+
* window is used, which still handles overnight sessions that wrap midnight.
|
|
15
38
|
*/
|
|
16
39
|
export declare function isRegularSession(timeMs: number, config: SessionHoursConfig): boolean;
|
|
17
40
|
//# sourceMappingURL=sessionHours.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionHours.d.ts","sourceRoot":"","sources":["../../src/ui/sessionHours.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sessionHours.d.ts","sourceRoot":"","sources":["../../src/ui/sessionHours.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAID,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAMpF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradecanvas/core",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Canvas rendering engine for @tradecanvas/chart",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tradecanvas/commons": "1.0
|
|
37
|
+
"@tradecanvas/commons": "1.1.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"vitest": "^2.1.8"
|