timescope 0.0.0-alpha.1 → 0.0.0-alpha.2
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/README.md +1 -1
- package/browser.js +1 -1
- package/index.d.ts +59 -59
- package/index.js +1 -1
- package/package.json +11 -2
package/index.d.ts
CHANGED
|
@@ -105,7 +105,7 @@ declare namespace Decimal {
|
|
|
105
105
|
type NumberLike = string | bigint | number | DecimalInstance;
|
|
106
106
|
//#endregion
|
|
107
107
|
//#region src/core/range.d.ts
|
|
108
|
-
type Range<T
|
|
108
|
+
type Range<T> = [T, T];
|
|
109
109
|
//#endregion
|
|
110
110
|
//#region src/core/chunk.d.ts
|
|
111
111
|
/**
|
|
@@ -132,7 +132,7 @@ type TimescopeDataChunkLoaderApi = {
|
|
|
132
132
|
/**
|
|
133
133
|
* Loader function that receives a chunk descriptor and returns its payload.
|
|
134
134
|
*/
|
|
135
|
-
type TimescopeDataChunkLoader<T
|
|
135
|
+
type TimescopeDataChunkLoader<T> = (chunk: TimescopeDataChunkDesc, api: TimescopeDataChunkLoaderApi) => Promise<T | undefined>;
|
|
136
136
|
//#endregion
|
|
137
137
|
//#region src/core/animation.d.ts
|
|
138
138
|
type TimescopeAnimationType = 'in-out' | 'linear' | 'out';
|
|
@@ -143,22 +143,22 @@ type TimescopeAnimationInput = false | TimescopeAnimationType | {
|
|
|
143
143
|
};
|
|
144
144
|
//#endregion
|
|
145
145
|
//#region src/core/event.d.ts
|
|
146
|
-
type ExtractEventValue<E, T
|
|
146
|
+
type ExtractEventValue<E, T extends string> = E extends TimescopeEvent<T, infer R> ? TimescopeEvent<T, R> : E extends T ? E : never;
|
|
147
147
|
type ExtractEventName<E> = E extends TimescopeEvent<infer T, any> ? T : E extends string ? E : never;
|
|
148
148
|
declare class TimescopeEventEmitter<E extends TimescopeEvent<string, unknown> | string> {
|
|
149
149
|
#private;
|
|
150
150
|
uid: string;
|
|
151
|
-
dispatchEvent<T
|
|
152
|
-
on<T
|
|
153
|
-
un<T
|
|
151
|
+
dispatchEvent<T extends string>(event: ExtractEventValue<E, T>): void;
|
|
152
|
+
on<T extends ExtractEventName<E>>(type: T, cb: (e: ExtractEventValue<E, T>) => void): () => void;
|
|
153
|
+
un<T extends ExtractEventName<E>>(type: T, cb: (e: ExtractEventValue<E, T>) => void): void;
|
|
154
154
|
}
|
|
155
|
-
declare class TimescopeEvent<T
|
|
156
|
-
type: T
|
|
155
|
+
declare class TimescopeEvent<T extends string, V = any> {
|
|
156
|
+
type: T;
|
|
157
157
|
value: V;
|
|
158
158
|
origin?: string;
|
|
159
159
|
stopped: boolean;
|
|
160
160
|
prevented: boolean;
|
|
161
|
-
constructor(type: T
|
|
161
|
+
constructor(type: T, value: V, origin?: string);
|
|
162
162
|
stopPropagation(): void;
|
|
163
163
|
preventDefaults(): void;
|
|
164
164
|
}
|
|
@@ -204,71 +204,71 @@ interface TimescopeStateOptions {
|
|
|
204
204
|
}
|
|
205
205
|
//#endregion
|
|
206
206
|
//#region src/core/types.d.ts
|
|
207
|
-
type MaybeFn<R$1, T
|
|
207
|
+
type MaybeFn<R$1, T> = T extends unknown[] ? ((...args: T) => R$1) | R$1 : R$1;
|
|
208
208
|
type UsingElement<V extends [string, string]> = `${V[1]}@${V[0]}` | V[1] | `@${V[0]}`;
|
|
209
209
|
type Using1<V extends [string, string]> = UsingElement<V> | [UsingElement<V>];
|
|
210
210
|
type Using2<V extends [string, string]> = [UsingElement<V>, UsingElement<V>];
|
|
211
211
|
type Using<V extends [string, string] = [string, string]> = Using1<V> | Using2<V>;
|
|
212
|
-
type StrokeStyle<T
|
|
213
|
-
lineWidth?: MaybeFn<number, T
|
|
214
|
-
lineColor?: MaybeFn<string, T
|
|
215
|
-
lineDashArray?: MaybeFn<number[], T
|
|
216
|
-
lineDashOffset?: MaybeFn<number, T
|
|
212
|
+
type StrokeStyle<T = false> = {
|
|
213
|
+
lineWidth?: MaybeFn<number, T>;
|
|
214
|
+
lineColor?: MaybeFn<string, T>;
|
|
215
|
+
lineDashArray?: MaybeFn<number[], T>;
|
|
216
|
+
lineDashOffset?: MaybeFn<number, T>;
|
|
217
217
|
};
|
|
218
|
-
type FillStyle<T
|
|
219
|
-
fillColor?: MaybeFn<string, T
|
|
220
|
-
fillOpacity?: MaybeFn<number, T
|
|
218
|
+
type FillStyle<T = false> = {
|
|
219
|
+
fillColor?: MaybeFn<string, T>;
|
|
220
|
+
fillOpacity?: MaybeFn<number, T>;
|
|
221
221
|
fillPost?: boolean;
|
|
222
222
|
};
|
|
223
|
-
type SizeStyle<T
|
|
224
|
-
size?: MaybeFn<number, T
|
|
223
|
+
type SizeStyle<T = false> = {
|
|
224
|
+
size?: MaybeFn<number, T>;
|
|
225
225
|
};
|
|
226
|
-
type AngleStyle<T
|
|
227
|
-
angle?: MaybeFn<number, T
|
|
226
|
+
type AngleStyle<T = false> = {
|
|
227
|
+
angle?: MaybeFn<number, T>;
|
|
228
228
|
};
|
|
229
|
-
type PathStyle<T
|
|
230
|
-
path?: MaybeFn<string, T
|
|
229
|
+
type PathStyle<T = false> = {
|
|
230
|
+
path?: MaybeFn<string, T>;
|
|
231
231
|
origin?: [number, number];
|
|
232
232
|
scale?: number;
|
|
233
233
|
};
|
|
234
|
-
type TextStyle<T
|
|
235
|
-
fontWeight?: MaybeFn<string, T
|
|
236
|
-
fontFamily?: MaybeFn<string, T
|
|
237
|
-
textAlign?: MaybeFn<'start' | 'center' | 'end' | 'left' | 'right', T
|
|
238
|
-
textBaseline?: MaybeFn<'top' | 'middle' | 'bottom' | 'hanging' | 'alphabetic' | 'ideographic', T
|
|
239
|
-
textColor?: MaybeFn<string, T
|
|
240
|
-
textOpacity?: MaybeFn<number, T
|
|
241
|
-
textOutline?: MaybeFn<boolean, T
|
|
242
|
-
textOutlineColor?: MaybeFn<string, T
|
|
243
|
-
textOutlineWidth?: MaybeFn<number, T
|
|
244
|
-
text?: MaybeFn<string, T
|
|
234
|
+
type TextStyle<T = false> = {
|
|
235
|
+
fontWeight?: MaybeFn<string, T>;
|
|
236
|
+
fontFamily?: MaybeFn<string, T>;
|
|
237
|
+
textAlign?: MaybeFn<'start' | 'center' | 'end' | 'left' | 'right', T>;
|
|
238
|
+
textBaseline?: MaybeFn<'top' | 'middle' | 'bottom' | 'hanging' | 'alphabetic' | 'ideographic', T>;
|
|
239
|
+
textColor?: MaybeFn<string, T>;
|
|
240
|
+
textOpacity?: MaybeFn<number, T>;
|
|
241
|
+
textOutline?: MaybeFn<boolean, T>;
|
|
242
|
+
textOutlineColor?: MaybeFn<string, T>;
|
|
243
|
+
textOutlineWidth?: MaybeFn<number, T>;
|
|
244
|
+
text?: MaybeFn<string, T>;
|
|
245
245
|
};
|
|
246
|
-
type IconStyle<T
|
|
247
|
-
iconFontWeight?: MaybeFn<string, T
|
|
248
|
-
iconFontFamily?: MaybeFn<string, T
|
|
249
|
-
iconAlign?: MaybeFn<'start' | 'center' | 'end' | 'left' | 'right', T
|
|
250
|
-
iconBaseline?: MaybeFn<'top' | 'middle' | 'bottom' | 'hanging' | 'alphabetic' | 'ideographic', T
|
|
251
|
-
iconColor?: MaybeFn<string, T
|
|
252
|
-
iconOpacity?: MaybeFn<number, T
|
|
253
|
-
iconOutline?: MaybeFn<boolean, T
|
|
254
|
-
iconOutlineColor?: MaybeFn<string, T
|
|
255
|
-
iconOutlineWidth?: MaybeFn<number, T
|
|
256
|
-
icon?: MaybeFn<string, T
|
|
246
|
+
type IconStyle<T = false> = {
|
|
247
|
+
iconFontWeight?: MaybeFn<string, T>;
|
|
248
|
+
iconFontFamily?: MaybeFn<string, T>;
|
|
249
|
+
iconAlign?: MaybeFn<'start' | 'center' | 'end' | 'left' | 'right', T>;
|
|
250
|
+
iconBaseline?: MaybeFn<'top' | 'middle' | 'bottom' | 'hanging' | 'alphabetic' | 'ideographic', T>;
|
|
251
|
+
iconColor?: MaybeFn<string, T>;
|
|
252
|
+
iconOpacity?: MaybeFn<number, T>;
|
|
253
|
+
iconOutline?: MaybeFn<boolean, T>;
|
|
254
|
+
iconOutlineColor?: MaybeFn<string, T>;
|
|
255
|
+
iconOutlineWidth?: MaybeFn<number, T>;
|
|
256
|
+
icon?: MaybeFn<string, T>;
|
|
257
257
|
};
|
|
258
|
-
type BoxStyle<T
|
|
259
|
-
padding?: MaybeFn<number | [number, number?, number?, number?], T
|
|
260
|
-
radius?: MaybeFn<number, T
|
|
258
|
+
type BoxStyle<T = false> = {
|
|
259
|
+
padding?: MaybeFn<number | [number, number?, number?, number?], T>;
|
|
260
|
+
radius?: MaybeFn<number, T>;
|
|
261
261
|
};
|
|
262
|
-
type OffsetStyle<T
|
|
263
|
-
offset?: MaybeFn<[number, number], T
|
|
262
|
+
type OffsetStyle<T = false> = {
|
|
263
|
+
offset?: MaybeFn<[number, number], T>;
|
|
264
264
|
};
|
|
265
|
-
type TimescopeChartStyleEntry<D extends string, U extends boolean, S, T
|
|
266
|
-
draw: MaybeFn<D, T
|
|
267
|
-
using?: MaybeFn<U extends true ? Using2<V> : Using1<V>, T
|
|
268
|
-
style?: MaybeFn<S, T
|
|
265
|
+
type TimescopeChartStyleEntry<D extends string, U extends boolean, S, T extends unknown[] | false, V extends [string, string]> = {
|
|
266
|
+
draw: MaybeFn<D, T>;
|
|
267
|
+
using?: MaybeFn<U extends true ? Using2<V> : Using1<V>, T>;
|
|
268
|
+
style?: MaybeFn<S, T>;
|
|
269
269
|
};
|
|
270
|
-
type TimescopeChartMark<T
|
|
271
|
-
type TimescopeChartLink<T
|
|
270
|
+
type TimescopeChartMark<T extends unknown[] | false, V extends [string, string] = [string, string]> = TimescopeChartStyleEntry<'circle', false, StrokeStyle<T> & FillStyle<T> & SizeStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'triangle' | 'square' | 'diamond' | 'star', false, StrokeStyle<T> & FillStyle<T> & SizeStyle<T> & AngleStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'plus' | 'cross' | 'minus', false, StrokeStyle<T> & SizeStyle<T> & AngleStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'text', false, SizeStyle<T> & AngleStyle<T> & TextStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'icon', false, SizeStyle<T> & AngleStyle<T> & IconStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'path', false, SizeStyle<T> & AngleStyle<T> & PathStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'line', true, StrokeStyle<T> & SizeStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'section', true, StrokeStyle<T> & SizeStyle<T> & OffsetStyle<T>, T, V> | TimescopeChartStyleEntry<'box', true, StrokeStyle<T> & FillStyle<T> & SizeStyle<T> & BoxStyle<T> & OffsetStyle<T>, T, V>;
|
|
271
|
+
type TimescopeChartLink<T extends unknown[] | false, V extends [string, string] = [string, string]> = TimescopeChartStyleEntry<'line' | 'curve' | 'step' | 'step-start' | 'step-end', false, StrokeStyle<T>, T, V> | TimescopeChartStyleEntry<'area' | 'curve-area' | 'step-area' | 'step-area-start' | 'step-area-end', true, StrokeStyle<T> & FillStyle<T>, T, V>;
|
|
272
272
|
type TimescopeChartType = 'lines' | 'lines:filled' | 'curves' | 'curves:filled' | 'steps-start' | 'steps-start:filled' | 'steps' | 'steps:filled' | 'steps-end' | 'steps-end:filled' | 'points' | 'linespoints' | 'linespoints:filled' | 'curvespoints' | 'curvespoints:filled' | 'stepspoints-start' | 'stepspoints-start:filled' | 'stepspoints' | 'stepspoints:filled' | 'stepspoints-end' | 'stepspoints-end:filled' | 'impulses' | 'impulsespoints' | 'boxes' | 'boxes:filled';
|
|
273
273
|
type CalendarLevel = 'subsecond' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'relative';
|
|
274
274
|
type TimeFormatFuncOptions = {
|
|
@@ -293,8 +293,8 @@ type TimescopeSourceOptions = TimescopeSourceCommonOptions & ({
|
|
|
293
293
|
loader: TimescopeDataChunkLoader<unknown>;
|
|
294
294
|
});
|
|
295
295
|
type TimescopeSourceInput = string | unknown[] | object | TimescopeDataChunkLoader<unknown> | TimescopeSourceOptions;
|
|
296
|
-
type InferTimeKey<T
|
|
297
|
-
type InferValueKey<T
|
|
296
|
+
type InferTimeKey<T> = T extends string[] ? T[number] : T extends Record<string, unknown> ? keyof T : 'time';
|
|
297
|
+
type InferValueKey<T> = T extends string[] ? T[number] : T extends Record<string, unknown> ? keyof T : 'value';
|
|
298
298
|
type InferSourceType<S> = S extends unknown[] ? S : S extends TimescopeDataChunkLoader<infer X> ? X : S extends {
|
|
299
299
|
url: string;
|
|
300
300
|
} ? unknown : S extends string ? unknown : S extends {
|