-
-
Notifications
You must be signed in to change notification settings - Fork 900
Expand file tree
/
Copy pathOptions.ts
More file actions
108 lines (88 loc) · 2.61 KB
/
Options.ts
File metadata and controls
108 lines (88 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/**
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import type { KLineData } from './common/Data'
import type DeepPartial from './common/DeepPartial'
import type { Styles } from './common/Styles'
import type { IndicatorCreate } from './component/Indicator'
import type { PaneOptions } from './pane/types'
export type FormatDateType = 'tooltip' | 'crosshair' | 'xAxis'
export interface FormatDateParams {
dateTimeFormat: Intl.DateTimeFormat
timestamp: number
template: string
type: FormatDateType
}
export type FormatDate = (params: FormatDateParams) => string
export type FormatBigNumber = (value: string | number) => string
export type ExtendTextType = 'last_price'
export interface FormatExtendTextParams {
type: ExtendTextType
data: KLineData
index: number
}
export type FormatExtendText = (params: FormatExtendTextParams) => string
export interface Formatter {
formatDate: FormatDate
formatBigNumber: FormatBigNumber
formatExtendText: FormatExtendText
}
export interface Locales {
time: string
open: string
high: string
low: string
close: string
volume: string
change: string
turnover: string
second: string
minute: string
hour: string
day: string
week: string
month: string
year: string
[key: string]: string
}
export type LayoutChildType = 'candle' | 'indicator' | 'xAxis'
export interface LayoutChild {
type: LayoutChildType
content?: Array<string | IndicatorCreate>
options?: PaneOptions
}
export interface DecimalFold {
threshold: number
format: (value: string | number) => string
}
export interface ThousandsSeparator {
sign: string
format: (value: string | number) => string
}
export interface ZoomAnchor {
main: 'cursor_point' | 'last_bar'
xAxis: 'cursor_point' | 'last_bar'
}
export interface BarSpaceLimit {
min: number
max: number
}
export interface Options {
locale?: string
timezone?: string
styles?: string | DeepPartial<Styles>
formatter?: Partial<Formatter>
thousandsSeparator?: Partial<ThousandsSeparator>
decimalFold?: Partial<DecimalFold>
layout?: LayoutChild[]
zoomAnchor?: Partial<ZoomAnchor>
barSpaceLimit?: Partial<BarSpaceLimit>
}