@omegagrid/core 0.10.0 → 0.10.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.
Files changed (317) hide show
  1. package/package.json +2 -2
  2. package/dist/common/actions.d.ts +0 -16
  3. package/dist/common/actions.d.ts.map +0 -1
  4. package/dist/common/actions.js +0 -14
  5. package/dist/common/actions.js.map +0 -1
  6. package/dist/common/colors.d.ts +0 -39
  7. package/dist/common/colors.d.ts.map +0 -1
  8. package/dist/common/colors.js +0 -59
  9. package/dist/common/colors.js.map +0 -1
  10. package/dist/common/csv.d.ts +0 -23
  11. package/dist/common/csv.d.ts.map +0 -1
  12. package/dist/common/csv.js +0 -93
  13. package/dist/common/csv.js.map +0 -1
  14. package/dist/common/dates.d.ts +0 -32
  15. package/dist/common/dates.d.ts.map +0 -1
  16. package/dist/common/dates.js +0 -172
  17. package/dist/common/dates.js.map +0 -1
  18. package/dist/common/device.d.ts +0 -2
  19. package/dist/common/device.d.ts.map +0 -1
  20. package/dist/common/device.js +0 -13
  21. package/dist/common/device.js.map +0 -1
  22. package/dist/common/dom.d.ts +0 -90
  23. package/dist/common/dom.d.ts.map +0 -1
  24. package/dist/common/dom.js +0 -308
  25. package/dist/common/dom.js.map +0 -1
  26. package/dist/common/events.d.ts +0 -15
  27. package/dist/common/events.d.ts.map +0 -1
  28. package/dist/common/events.js +0 -33
  29. package/dist/common/events.js.map +0 -1
  30. package/dist/common/html.d.ts +0 -3
  31. package/dist/common/html.d.ts.map +0 -1
  32. package/dist/common/html.js +0 -25
  33. package/dist/common/html.js.map +0 -1
  34. package/dist/common/index.d.ts +0 -19
  35. package/dist/common/index.d.ts.map +0 -1
  36. package/dist/common/index.js +0 -19
  37. package/dist/common/index.js.map +0 -1
  38. package/dist/common/linkedList.d.ts +0 -24
  39. package/dist/common/linkedList.d.ts.map +0 -1
  40. package/dist/common/linkedList.js +0 -65
  41. package/dist/common/linkedList.js.map +0 -1
  42. package/dist/common/loaders.d.ts +0 -17
  43. package/dist/common/loaders.d.ts.map +0 -1
  44. package/dist/common/loaders.js +0 -54
  45. package/dist/common/loaders.js.map +0 -1
  46. package/dist/common/logger.d.ts +0 -25
  47. package/dist/common/logger.d.ts.map +0 -1
  48. package/dist/common/logger.js +0 -57
  49. package/dist/common/logger.js.map +0 -1
  50. package/dist/common/matrix.d.ts +0 -6
  51. package/dist/common/matrix.d.ts.map +0 -1
  52. package/dist/common/matrix.js +0 -17
  53. package/dist/common/matrix.js.map +0 -1
  54. package/dist/common/numbers.d.ts +0 -26
  55. package/dist/common/numbers.d.ts.map +0 -1
  56. package/dist/common/numbers.js +0 -239
  57. package/dist/common/numbers.js.map +0 -1
  58. package/dist/common/options.d.ts +0 -17
  59. package/dist/common/options.d.ts.map +0 -1
  60. package/dist/common/options.js +0 -29
  61. package/dist/common/options.js.map +0 -1
  62. package/dist/common/paper.d.ts +0 -8
  63. package/dist/common/paper.d.ts.map +0 -1
  64. package/dist/common/paper.js +0 -17
  65. package/dist/common/paper.js.map +0 -1
  66. package/dist/common/shortcutManager.d.ts +0 -17
  67. package/dist/common/shortcutManager.d.ts.map +0 -1
  68. package/dist/common/shortcutManager.js +0 -49
  69. package/dist/common/shortcutManager.js.map +0 -1
  70. package/dist/common/tree.d.ts +0 -87
  71. package/dist/common/tree.d.ts.map +0 -1
  72. package/dist/common/tree.js +0 -204
  73. package/dist/common/tree.js.map +0 -1
  74. package/dist/common/utils.d.ts +0 -30
  75. package/dist/common/utils.d.ts.map +0 -1
  76. package/dist/common/utils.js +0 -136
  77. package/dist/common/utils.js.map +0 -1
  78. package/dist/constants.d.ts +0 -48
  79. package/dist/constants.d.ts.map +0 -1
  80. package/dist/constants.js +0 -24
  81. package/dist/constants.js.map +0 -1
  82. package/dist/index.d.ts +0 -8
  83. package/dist/index.d.ts.map +0 -1
  84. package/dist/index.js +0 -8
  85. package/dist/index.js.map +0 -1
  86. package/dist/model/adapter.d.ts +0 -8
  87. package/dist/model/adapter.d.ts.map +0 -1
  88. package/dist/model/adapter.js +0 -13
  89. package/dist/model/adapter.js.map +0 -1
  90. package/dist/model/component.d.ts +0 -19
  91. package/dist/model/component.d.ts.map +0 -1
  92. package/dist/model/component.js +0 -84
  93. package/dist/model/component.js.map +0 -1
  94. package/dist/model/componentSlice.d.ts +0 -8
  95. package/dist/model/componentSlice.d.ts.map +0 -1
  96. package/dist/model/componentSlice.js +0 -10
  97. package/dist/model/componentSlice.js.map +0 -1
  98. package/dist/model/componentStore.d.ts +0 -12
  99. package/dist/model/componentStore.d.ts.map +0 -1
  100. package/dist/model/componentStore.js +0 -26
  101. package/dist/model/componentStore.js.map +0 -1
  102. package/dist/model/index.d.ts +0 -6
  103. package/dist/model/index.d.ts.map +0 -1
  104. package/dist/model/index.js +0 -6
  105. package/dist/model/index.js.map +0 -1
  106. package/dist/model/plugins.d.ts +0 -13
  107. package/dist/model/plugins.d.ts.map +0 -1
  108. package/dist/model/plugins.js +0 -27
  109. package/dist/model/plugins.js.map +0 -1
  110. package/dist/themes/definitions/tmDark.d.ts +0 -4
  111. package/dist/themes/definitions/tmDark.d.ts.map +0 -1
  112. package/dist/themes/definitions/tmDark.js +0 -83
  113. package/dist/themes/definitions/tmDark.js.map +0 -1
  114. package/dist/themes/definitions/tmLight.d.ts +0 -4
  115. package/dist/themes/definitions/tmLight.d.ts.map +0 -1
  116. package/dist/themes/definitions/tmLight.js +0 -83
  117. package/dist/themes/definitions/tmLight.js.map +0 -1
  118. package/dist/themes/helpers.d.ts +0 -7
  119. package/dist/themes/helpers.d.ts.map +0 -1
  120. package/dist/themes/helpers.js +0 -34
  121. package/dist/themes/helpers.js.map +0 -1
  122. package/dist/themes/index.d.ts +0 -18
  123. package/dist/themes/index.d.ts.map +0 -1
  124. package/dist/themes/index.js +0 -48
  125. package/dist/themes/index.js.map +0 -1
  126. package/dist/themes/mixins.d.ts +0 -10
  127. package/dist/themes/mixins.d.ts.map +0 -1
  128. package/dist/themes/mixins.js +0 -39
  129. package/dist/themes/mixins.js.map +0 -1
  130. package/dist/themes/transformations.d.ts +0 -9
  131. package/dist/themes/transformations.d.ts.map +0 -1
  132. package/dist/themes/transformations.js +0 -48
  133. package/dist/themes/transformations.js.map +0 -1
  134. package/dist/types.d.ts +0 -130
  135. package/dist/types.d.ts.map +0 -1
  136. package/dist/types.js +0 -12
  137. package/dist/types.js.map +0 -1
  138. package/dist/ui/accordion.d.ts +0 -16
  139. package/dist/ui/accordion.d.ts.map +0 -1
  140. package/dist/ui/accordion.js +0 -209
  141. package/dist/ui/accordion.js.map +0 -1
  142. package/dist/ui/alert.d.ts +0 -15
  143. package/dist/ui/alert.d.ts.map +0 -1
  144. package/dist/ui/alert.js +0 -101
  145. package/dist/ui/alert.js.map +0 -1
  146. package/dist/ui/baseElement.d.ts +0 -7
  147. package/dist/ui/baseElement.d.ts.map +0 -1
  148. package/dist/ui/baseElement.js +0 -10
  149. package/dist/ui/baseElement.js.map +0 -1
  150. package/dist/ui/button.d.ts +0 -21
  151. package/dist/ui/button.d.ts.map +0 -1
  152. package/dist/ui/button.js +0 -100
  153. package/dist/ui/button.js.map +0 -1
  154. package/dist/ui/button.style.d.ts +0 -2
  155. package/dist/ui/button.style.d.ts.map +0 -1
  156. package/dist/ui/button.style.js +0 -60
  157. package/dist/ui/button.style.js.map +0 -1
  158. package/dist/ui/checkbox.d.ts +0 -14
  159. package/dist/ui/checkbox.d.ts.map +0 -1
  160. package/dist/ui/checkbox.js +0 -47
  161. package/dist/ui/checkbox.js.map +0 -1
  162. package/dist/ui/close.d.ts +0 -6
  163. package/dist/ui/close.d.ts.map +0 -1
  164. package/dist/ui/close.js +0 -33
  165. package/dist/ui/close.js.map +0 -1
  166. package/dist/ui/colorpicker.d.ts +0 -24
  167. package/dist/ui/colorpicker.d.ts.map +0 -1
  168. package/dist/ui/colorpicker.js +0 -228
  169. package/dist/ui/colorpicker.js.map +0 -1
  170. package/dist/ui/container.d.ts +0 -39
  171. package/dist/ui/container.d.ts.map +0 -1
  172. package/dist/ui/container.js +0 -313
  173. package/dist/ui/container.js.map +0 -1
  174. package/dist/ui/dropdown.d.ts +0 -48
  175. package/dist/ui/dropdown.d.ts.map +0 -1
  176. package/dist/ui/dropdown.js +0 -300
  177. package/dist/ui/dropdown.js.map +0 -1
  178. package/dist/ui/dropdownColorPicker.d.ts +0 -12
  179. package/dist/ui/dropdownColorPicker.d.ts.map +0 -1
  180. package/dist/ui/dropdownColorPicker.js +0 -60
  181. package/dist/ui/dropdownColorPicker.js.map +0 -1
  182. package/dist/ui/dropdownList.d.ts +0 -8
  183. package/dist/ui/dropdownList.d.ts.map +0 -1
  184. package/dist/ui/dropdownList.js +0 -48
  185. package/dist/ui/dropdownList.js.map +0 -1
  186. package/dist/ui/dropdownMenu.d.ts +0 -11
  187. package/dist/ui/dropdownMenu.d.ts.map +0 -1
  188. package/dist/ui/dropdownMenu.js +0 -61
  189. package/dist/ui/dropdownMenu.js.map +0 -1
  190. package/dist/ui/expander.d.ts +0 -28
  191. package/dist/ui/expander.d.ts.map +0 -1
  192. package/dist/ui/expander.js +0 -144
  193. package/dist/ui/expander.js.map +0 -1
  194. package/dist/ui/fileInput.d.ts +0 -24
  195. package/dist/ui/fileInput.d.ts.map +0 -1
  196. package/dist/ui/fileInput.js +0 -130
  197. package/dist/ui/fileInput.js.map +0 -1
  198. package/dist/ui/fileInput.style.d.ts +0 -2
  199. package/dist/ui/fileInput.style.d.ts.map +0 -1
  200. package/dist/ui/fileInput.style.js +0 -73
  201. package/dist/ui/fileInput.style.js.map +0 -1
  202. package/dist/ui/floatingWindow.d.ts +0 -19
  203. package/dist/ui/floatingWindow.d.ts.map +0 -1
  204. package/dist/ui/floatingWindow.js +0 -87
  205. package/dist/ui/floatingWindow.js.map +0 -1
  206. package/dist/ui/icon.d.ts +0 -46
  207. package/dist/ui/icon.d.ts.map +0 -1
  208. package/dist/ui/icon.js +0 -189
  209. package/dist/ui/icon.js.map +0 -1
  210. package/dist/ui/icon.style.d.ts +0 -2
  211. package/dist/ui/icon.style.d.ts.map +0 -1
  212. package/dist/ui/icon.style.js +0 -556
  213. package/dist/ui/icon.style.js.map +0 -1
  214. package/dist/ui/images.d.ts +0 -2
  215. package/dist/ui/images.d.ts.map +0 -1
  216. package/dist/ui/images.js +0 -14
  217. package/dist/ui/images.js.map +0 -1
  218. package/dist/ui/index.d.ts +0 -32
  219. package/dist/ui/index.d.ts.map +0 -1
  220. package/dist/ui/index.js +0 -32
  221. package/dist/ui/index.js.map +0 -1
  222. package/dist/ui/input.d.ts +0 -12
  223. package/dist/ui/input.d.ts.map +0 -1
  224. package/dist/ui/input.js +0 -45
  225. package/dist/ui/input.js.map +0 -1
  226. package/dist/ui/input.style.d.ts +0 -2
  227. package/dist/ui/input.style.d.ts.map +0 -1
  228. package/dist/ui/input.style.js +0 -36
  229. package/dist/ui/input.style.js.map +0 -1
  230. package/dist/ui/label.d.ts +0 -16
  231. package/dist/ui/label.d.ts.map +0 -1
  232. package/dist/ui/label.js +0 -90
  233. package/dist/ui/label.js.map +0 -1
  234. package/dist/ui/list.d.ts +0 -87
  235. package/dist/ui/list.d.ts.map +0 -1
  236. package/dist/ui/list.js +0 -427
  237. package/dist/ui/list.js.map +0 -1
  238. package/dist/ui/list.style.d.ts +0 -2
  239. package/dist/ui/list.style.d.ts.map +0 -1
  240. package/dist/ui/list.style.js +0 -35
  241. package/dist/ui/list.style.js.map +0 -1
  242. package/dist/ui/loader.d.ts +0 -6
  243. package/dist/ui/loader.d.ts.map +0 -1
  244. package/dist/ui/loader.js +0 -25
  245. package/dist/ui/loader.js.map +0 -1
  246. package/dist/ui/menu.d.ts +0 -41
  247. package/dist/ui/menu.d.ts.map +0 -1
  248. package/dist/ui/menu.js +0 -154
  249. package/dist/ui/menu.js.map +0 -1
  250. package/dist/ui/menu.style.d.ts +0 -3
  251. package/dist/ui/menu.style.d.ts.map +0 -1
  252. package/dist/ui/menu.style.js +0 -50
  253. package/dist/ui/menu.style.js.map +0 -1
  254. package/dist/ui/numericInput.d.ts +0 -37
  255. package/dist/ui/numericInput.d.ts.map +0 -1
  256. package/dist/ui/numericInput.js +0 -175
  257. package/dist/ui/numericInput.js.map +0 -1
  258. package/dist/ui/numericInput.style.d.ts +0 -2
  259. package/dist/ui/numericInput.style.d.ts.map +0 -1
  260. package/dist/ui/numericInput.style.js +0 -29
  261. package/dist/ui/numericInput.style.js.map +0 -1
  262. package/dist/ui/overlay.d.ts +0 -17
  263. package/dist/ui/overlay.d.ts.map +0 -1
  264. package/dist/ui/overlay.js +0 -87
  265. package/dist/ui/overlay.js.map +0 -1
  266. package/dist/ui/overlay.style.d.ts +0 -2
  267. package/dist/ui/overlay.style.d.ts.map +0 -1
  268. package/dist/ui/overlay.style.js +0 -46
  269. package/dist/ui/overlay.style.js.map +0 -1
  270. package/dist/ui/panel.d.ts +0 -25
  271. package/dist/ui/panel.d.ts.map +0 -1
  272. package/dist/ui/panel.js +0 -151
  273. package/dist/ui/panel.js.map +0 -1
  274. package/dist/ui/panel.style.d.ts +0 -2
  275. package/dist/ui/panel.style.d.ts.map +0 -1
  276. package/dist/ui/panel.style.js +0 -73
  277. package/dist/ui/panel.style.js.map +0 -1
  278. package/dist/ui/sizer.d.ts +0 -53
  279. package/dist/ui/sizer.d.ts.map +0 -1
  280. package/dist/ui/sizer.js +0 -203
  281. package/dist/ui/sizer.js.map +0 -1
  282. package/dist/ui/slider.d.ts +0 -52
  283. package/dist/ui/slider.d.ts.map +0 -1
  284. package/dist/ui/slider.js +0 -213
  285. package/dist/ui/slider.js.map +0 -1
  286. package/dist/ui/slider.style.d.ts +0 -2
  287. package/dist/ui/slider.style.d.ts.map +0 -1
  288. package/dist/ui/slider.style.js +0 -61
  289. package/dist/ui/slider.style.js.map +0 -1
  290. package/dist/ui/sortableList.d.ts +0 -39
  291. package/dist/ui/sortableList.d.ts.map +0 -1
  292. package/dist/ui/sortableList.js +0 -167
  293. package/dist/ui/sortableList.js.map +0 -1
  294. package/dist/ui/splitContainer.d.ts +0 -52
  295. package/dist/ui/splitContainer.d.ts.map +0 -1
  296. package/dist/ui/splitContainer.js +0 -252
  297. package/dist/ui/splitContainer.js.map +0 -1
  298. package/dist/ui/splitContainer.style.d.ts +0 -2
  299. package/dist/ui/splitContainer.style.d.ts.map +0 -1
  300. package/dist/ui/splitContainer.style.js +0 -62
  301. package/dist/ui/splitContainer.style.js.map +0 -1
  302. package/dist/ui/switch.d.ts +0 -22
  303. package/dist/ui/switch.d.ts.map +0 -1
  304. package/dist/ui/switch.js +0 -83
  305. package/dist/ui/switch.js.map +0 -1
  306. package/dist/ui/switch.style.d.ts +0 -2
  307. package/dist/ui/switch.style.d.ts.map +0 -1
  308. package/dist/ui/switch.style.js +0 -149
  309. package/dist/ui/switch.style.js.map +0 -1
  310. package/dist/ui/tooltip.d.ts +0 -24
  311. package/dist/ui/tooltip.d.ts.map +0 -1
  312. package/dist/ui/tooltip.js +0 -143
  313. package/dist/ui/tooltip.js.map +0 -1
  314. package/dist/ui/tooltip.style.d.ts +0 -2
  315. package/dist/ui/tooltip.style.d.ts.map +0 -1
  316. package/dist/ui/tooltip.style.js +0 -112
  317. package/dist/ui/tooltip.style.js.map +0 -1
@@ -1,65 +0,0 @@
1
- export class LinkedListNode {
2
- constructor(data) {
3
- this.data = data;
4
- this.next = null;
5
- this.prev = null;
6
- }
7
- }
8
- export class LinkedList {
9
- constructor() {
10
- this.head = null;
11
- }
12
- insertAtEnd(data) {
13
- const node = new LinkedListNode(data);
14
- if (!this.head)
15
- this.head = node;
16
- else {
17
- const getLast = (node) => node.next ? getLast(node.next) : node;
18
- const lastNode = getLast(this.head);
19
- node.prev = lastNode;
20
- lastNode.next = node;
21
- }
22
- return node;
23
- }
24
- insertInBegin(data) {
25
- const node = new LinkedListNode(data);
26
- if (!this.head)
27
- this.head = node;
28
- else {
29
- this.head.prev = node;
30
- node.next = this.head;
31
- this.head = node;
32
- }
33
- return node;
34
- }
35
- deleteNode(node) {
36
- if (!node.prev)
37
- this.head = node.next;
38
- else {
39
- const prevNode = node.prev;
40
- prevNode.next = node.next;
41
- }
42
- }
43
- search(comparator) {
44
- const checkNext = (node) => {
45
- if (comparator(node.data))
46
- return node;
47
- return node.next ? checkNext(node.next) : null;
48
- };
49
- return this.head ? checkNext(this.head) : null;
50
- }
51
- traverse() {
52
- const array = [];
53
- if (!this.head)
54
- return array;
55
- const addToArray = (node) => {
56
- array.push(node.data);
57
- return node.next ? addToArray(node.next) : array;
58
- };
59
- return addToArray(this.head);
60
- }
61
- size() {
62
- return this.traverse().length;
63
- }
64
- }
65
- //# sourceMappingURL=linkedList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linkedList.js","sourceRoot":"","sources":["../../src/common/linkedList.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAG1B,YAAmB,IAAO;QAAP,SAAI,GAAJ,IAAI,CAAG;QAFnB,SAAI,GAA6B,IAAI,CAAC;QACtC,SAAI,GAA6B,IAAI,CAAC;IAChB,CAAC;CAC9B;AAWD,MAAM,OAAO,UAAU;IAAvB;QACS,SAAI,GAA6B,IAAI,CAAC;IAsD/C,CAAC;IApDO,WAAW,CAAC,IAAO;QACzB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAC5B,CAAC;YACL,MAAM,OAAO,GAAG,CAAC,IAAuB,EAAqB,EAAE,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvG,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,aAAa,CAAC,IAAO;QAC3B,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAC5B,CAAC;YACL,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,UAAU,CAAC,IAAuB;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aACjC,CAAC;YACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;IACF,CAAC;IAEM,MAAM,CAAC,UAAgC;QAC7C,MAAM,SAAS,GAAG,CAAC,IAAuB,EAA4B,EAAE;YACvE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAEM,QAAQ;QACd,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAO,EAAE;YACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEM,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;IAC/B,CAAC;CACD","sourcesContent":["export class LinkedListNode<T> {\n\tpublic next: LinkedListNode<T> | null = null;\n\tpublic prev: LinkedListNode<T> | null = null;\n\tconstructor(public data: T) {}\n}\n\nexport interface ILinkedList<T> {\n\tinsertInBegin(data: T): LinkedListNode<T>;\n\tinsertAtEnd(data: T): LinkedListNode<T>;\n\tdeleteNode(node: LinkedListNode<T>): void;\n\ttraverse(): T[];\n\tsize(): number;\n\tsearch(comparator: (data: T) => boolean): LinkedListNode<T> | null;\n}\n\nexport class LinkedList<T> implements ILinkedList<T> {\n\tprivate head: LinkedListNode<T> | null = null;\n\t\n\tpublic insertAtEnd(data: T): LinkedListNode<T> {\n\t\tconst node = new LinkedListNode(data);\n\t\tif (!this.head) this.head = node;\n\t\telse {\n\t\t\tconst getLast = (node: LinkedListNode<T>): LinkedListNode<T> => node.next ? getLast(node.next) : node;\n\t\t\tconst lastNode = getLast(this.head);\n\t\t\tnode.prev = lastNode;\n\t\t\tlastNode.next = node;\n\t\t}\n\t\treturn node;\n\t}\n\t\n\tpublic insertInBegin(data: T): LinkedListNode<T> {\n\t\tconst node = new LinkedListNode(data);\n\t\tif (!this.head) this.head = node;\n\t\telse {\n\t\t\tthis.head.prev = node;\n\t\t\tnode.next = this.head;\n\t\t\tthis.head = node;\n\t\t}\n\t\treturn node;\n\t}\n\t\n\tpublic deleteNode(node: LinkedListNode<T>): void {\n\t\tif (!node.prev) this.head = node.next;\n\t\telse {\n\t\t\tconst prevNode = node.prev;\n\t\t\tprevNode.next = node.next;\n\t\t}\n\t}\n\t\n\tpublic search(comparator: (data: T) => boolean): LinkedListNode<T> | null {\n\t\tconst checkNext = (node: LinkedListNode<T>): LinkedListNode<T> | null => {\n\t\t\tif (comparator(node.data)) return node;\n\t\t\treturn node.next ? checkNext(node.next) : null;\n\t\t};\n\t\treturn this.head ? checkNext(this.head) : null;\n\t}\n\t\n\tpublic traverse(): T[] {\n\t\tconst array: T[] = [];\n\t\tif (!this.head) return array;\n\t\tconst addToArray = (node: LinkedListNode<T>): T[] => {\n\t\t\tarray.push(node.data);\n\t\t\treturn node.next ? addToArray(node.next) : array;\n\t\t};\n\t\treturn addToArray(this.head);\n\t}\n\t\n\tpublic size(): number {\n\t\treturn this.traverse().length;\n\t}\n}"]}
@@ -1,17 +0,0 @@
1
- export interface Require {
2
- (paths: string[], callback?: () => void): void;
3
- config: (options: {
4
- [key: string]: unknown;
5
- }) => void;
6
- }
7
- export declare class AMD {
8
- static require: Require;
9
- }
10
- export declare class ScriptLoader {
11
- #private;
12
- static scripts: Map<string, boolean>;
13
- static load(url: string, doc?: Document & {
14
- __ogid?: string;
15
- }): Promise<void>;
16
- }
17
- //# sourceMappingURL=loaders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loaders.d.ts","sourceRoot":"","sources":["../../src/common/loaders.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACvB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,CAAC,OAAO,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;CACpD;AAED,qBAAa,GAAG;IACf,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,YAAY;;IAExB,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;WAGxB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC;CAqCjE"}
@@ -1,54 +0,0 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
- if (kind === "m") throw new TypeError("Private method is not writable");
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
- };
12
- var _a, _ScriptLoader_resolutions;
13
- import { isString } from "./utils";
14
- export class AMD {
15
- }
16
- export class ScriptLoader {
17
- static async load(url, doc) {
18
- doc = doc || document;
19
- let id = doc.__ogid;
20
- if (!id) {
21
- id = Math.random().toString(36).slice(2);
22
- doc.__ogid = id;
23
- }
24
- const urlId = `${id}-${url}`;
25
- if (!__classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions))
26
- __classPrivateFieldSet(this, _a, new Map(), "f", _ScriptLoader_resolutions);
27
- if (!this.scripts)
28
- this.scripts = new Map();
29
- if (this.scripts.has(urlId))
30
- return;
31
- return new Promise((resolve, reject) => {
32
- const resolutions = __classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions).get(urlId) || [];
33
- resolutions.push([resolve, reject]);
34
- __classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions).set(urlId, resolutions);
35
- if (resolutions.length > 1)
36
- return;
37
- const script = doc.createElement('script');
38
- script.src = url;
39
- script.onload = () => {
40
- __classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions).get(urlId).forEach(([resolve]) => resolve());
41
- __classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions).delete(urlId);
42
- };
43
- script.onerror = (error) => {
44
- const err = isString(error) ? new Error(error) : error;
45
- __classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions).get(urlId).forEach(([_, reject]) => reject(err));
46
- __classPrivateFieldGet(this, _a, "f", _ScriptLoader_resolutions).delete(urlId);
47
- };
48
- doc.head.appendChild(script);
49
- });
50
- }
51
- }
52
- _a = ScriptLoader;
53
- _ScriptLoader_resolutions = { value: void 0 };
54
- //# sourceMappingURL=loaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../src/common/loaders.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOnC,MAAM,OAAO,GAAG;CAEf;AAED,MAAM,OAAO,YAAY;IAKxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,GAAkC;QAChE,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC;QACtB,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,uBAAA,IAAI,qCAAa;YAAE,uBAAA,IAAI,MAAgB,IAAI,GAAG,EAAE,iCAAA,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QAEpC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,uBAAA,IAAI,qCAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YACpC,uBAAA,IAAI,qCAAa,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAE1C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAEnC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YACjB,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACpB,uBAAA,IAAI,qCAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,uBAAA,IAAI,qCAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAA;YACD,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;gBAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAe,CAAC,CAAC,CAAC,CAAE,KAA0B,CAAC;gBACvF,uBAAA,IAAI,qCAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnE,uBAAA,IAAI,qCAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACJ,CAAC;CAGD;;AAvCO,6CAAY,CAAkD","sourcesContent":["import { isString } from \"./utils\";\n\nexport interface Require {\n\t(paths: string[], callback?: () => void): void;\n\tconfig: (options: {[key: string]: unknown}) => void;\n}\n\nexport class AMD {\n\tstatic require: Require;\n}\n\nexport class ScriptLoader {\n\n\tstatic scripts: Map<string, boolean>;\n\tstatic #resolutions: Map<string, [() => void, (e: Error) => void][]>;\n\n\tstatic async load(url: string, doc?: Document & {__ogid?: string}) {\n\t\tdoc = doc || document;\n\t\tlet id = doc.__ogid;\n\t\tif (!id) {\n\t\t\tid = Math.random().toString(36).slice(2);\n\t\t\tdoc.__ogid = id;\n\t\t}\n\n\t\tconst urlId = `${id}-${url}`;\n\n\t\tif (!this.#resolutions) this.#resolutions = new Map();\n\t\tif (!this.scripts) this.scripts = new Map();\n\t\tif (this.scripts.has(urlId)) return;\n\n\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\tconst resolutions = this.#resolutions.get(urlId) || [];\n\t\t\tresolutions.push([resolve, reject]);\n\t\t\tthis.#resolutions.set(urlId, resolutions);\n\n\t\t\tif (resolutions.length > 1) return;\n\n\t\t\tconst script = doc.createElement('script');\n\t\t\tscript.src = url;\n\t\t\tscript.onload = () => {\n\t\t\t\tthis.#resolutions.get(urlId).forEach(([resolve]) => resolve());\n\t\t\t\tthis.#resolutions.delete(urlId);\n\t\t\t}\n\t\t\tscript.onerror = (error) => {\n\t\t\t\tconst err = isString(error) ? new Error(error as string) : (error as unknown as Error);\n\t\t\t\tthis.#resolutions.get(urlId).forEach(([_, reject]) => reject(err));\n\t\t\t\tthis.#resolutions.delete(urlId);\n\t\t\t};\n\t\t\tdoc.head.appendChild(script);\n\t\t});\n\t}\n\n\n}"]}
@@ -1,25 +0,0 @@
1
- export declare enum LogLevel {
2
- Info = "i",
3
- Warn = "w",
4
- Error = "e",
5
- Debug = "d",
6
- Trace = "t"
7
- }
8
- export declare class Logger {
9
- readonly id: string;
10
- readonly name?: string;
11
- styles: string[];
12
- errorStyles: string[];
13
- defaultLevel: LogLevel;
14
- constructor(id: string, name?: string);
15
- private format;
16
- log(message: string): void;
17
- info(message: string): void;
18
- warn(message: string): void;
19
- error(message: string, exception?: Error): void;
20
- debug(message: string): void;
21
- trace(message: string): void;
22
- }
23
- export declare function registerLogger(id: string, name?: string): Logger;
24
- export declare function getLogger(id?: string): Logger;
25
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IACnB,IAAI,MAAM;IACV,IAAI,MAAM;IACV,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,MAAM;CACX;AAED,qBAAa,MAAM;IAOjB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IANhB,MAAM,WAA0D;IAChE,WAAW,WAA0D;IACrE,YAAY,WAAiB;gBAG1B,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,MAAM;IAKvB,OAAO,CAAC,MAAM;IAIP,GAAG,CAAC,OAAO,EAAE,MAAM;IAInB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK;IAKxC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,OAAO,EAAE,MAAM;CAI5B;AAID,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM7C"}
@@ -1,57 +0,0 @@
1
- export var LogLevel;
2
- (function (LogLevel) {
3
- LogLevel["Info"] = "i";
4
- LogLevel["Warn"] = "w";
5
- LogLevel["Error"] = "e";
6
- LogLevel["Debug"] = "d";
7
- LogLevel["Trace"] = "t";
8
- })(LogLevel || (LogLevel = {}));
9
- export class Logger {
10
- constructor(id, name) {
11
- this.id = id;
12
- this.name = name;
13
- this.styles = ['color: #ffff00', 'color: #00955d', 'color: #aaaaaa'];
14
- this.errorStyles = ['color: #ff0000', 'color: #00955d', 'color: #aaaaaa'];
15
- this.defaultLevel = LogLevel.Info;
16
- this.name = name || id;
17
- }
18
- format(message, level) {
19
- return `%c[${level}] %c${this.name.padEnd(20, ' ')} %c${message.padEnd(50, ' ')}`;
20
- }
21
- log(message) {
22
- console.log(message, ...this.styles);
23
- }
24
- info(message) {
25
- console.info(this.format(message, LogLevel.Info), ...this.styles);
26
- }
27
- warn(message) {
28
- console.info(this.format(message, LogLevel.Warn), ...this.styles);
29
- }
30
- error(message, exception) {
31
- console.error(this.format(message, LogLevel.Error), ...this.errorStyles);
32
- if (exception)
33
- console.error(exception);
34
- }
35
- debug(message) {
36
- console.info(this.format(message, LogLevel.Debug), ...this.styles);
37
- }
38
- trace(message) {
39
- console.trace(this.format(message, LogLevel.Trace), ...this.styles);
40
- }
41
- }
42
- const staticLoggers = new Map();
43
- export function registerLogger(id, name) {
44
- if (!staticLoggers.has(id)) {
45
- staticLoggers.set(id, new Logger(id, name));
46
- }
47
- return staticLoggers.get(id);
48
- }
49
- export function getLogger(id) {
50
- if (id == null) {
51
- id = (staticLoggers.size > 0 ? Array.from(staticLoggers.keys())[0] : null);
52
- if (id == null)
53
- return registerLogger('omega', 'Ω');
54
- }
55
- return registerLogger(id);
56
- }
57
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/common/logger.ts"],"names":[],"mappings":"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","sourcesContent":["export enum LogLevel {\n\tInfo = 'i',\n\tWarn = 'w',\n\tError = 'e',\n\tDebug = 'd',\n\tTrace = 't'\n}\n\nexport class Logger {\n\n\tpublic styles = ['color: #ffff00', 'color: #00955d', 'color: #aaaaaa'];\n\tpublic errorStyles = ['color: #ff0000', 'color: #00955d', 'color: #aaaaaa'];\n\tpublic defaultLevel = LogLevel.Info;\n\n\tconstructor(\n\t\treadonly id: string,\n\t\treadonly name?: string\n\t) {\n\t\tthis.name = name || id;\n\t}\n\n\tprivate format(message: string, level: LogLevel) : string {\n\t\treturn `%c[${level}] %c${this.name.padEnd(20, ' ')} %c${message.padEnd(50, ' ')}`;\n\t}\n\n\tpublic log(message: string) {\n\t\tconsole.log(message, ...this.styles);\n\t}\n\n\tpublic info(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Info), ...this.styles);\n\t}\n\n\tpublic warn(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Warn), ...this.styles);\n\t}\n\n\tpublic error(message: string, exception?: Error) {\n\t\tconsole.error(this.format(message, LogLevel.Error), ...this.errorStyles);\n\t\tif (exception) console.error(exception);\n\t}\n\n\tpublic debug(message: string) {\n\t\tconsole.info(this.format(message, LogLevel.Debug), ...this.styles);\n\t}\n\n\tpublic trace(message: string) {\n\t\tconsole.trace(this.format(message, LogLevel.Trace), ...this.styles);\n\t}\n\t\n}\n\nconst staticLoggers = new Map<string, Logger>();\n\nexport function registerLogger(id: string, name?: string): Logger {\n\tif (!staticLoggers.has(id)) {\n\t\tstaticLoggers.set(id, new Logger(id, name));\n\t}\n\treturn staticLoggers.get(id);\n}\n\nexport function getLogger(id?: string): Logger {\n\tif (id == null) {\n\t\tid = (staticLoggers.size > 0 ? Array.from(staticLoggers.keys())[0] : null);\n\t\tif (id == null) return registerLogger('omega', 'Ω');\n\t}\n\treturn registerLogger(id);\n}"]}
@@ -1,6 +0,0 @@
1
- import { Matrix } from "../types";
2
- export declare function reverseColumns<T>(m: Matrix<T>): T[][];
3
- export declare function reverseRows<T>(m: Matrix<T>): T[][];
4
- export declare function transpose<T>(m: Matrix<T>): Matrix<T>;
5
- export declare function clone<T>(m: Matrix<T>): T[][];
6
- //# sourceMappingURL=matrix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/common/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAE7C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAE1C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,aAMxC;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAEpC"}
@@ -1,17 +0,0 @@
1
- export function reverseColumns(m) {
2
- return m.map(v => [...v].reverse());
3
- }
4
- export function reverseRows(m) {
5
- return m.map(v => [...v]).reverse();
6
- }
7
- export function transpose(m) {
8
- const t = Array(m[0].length).fill(null).map(() => Array(m.length));
9
- for (let i = 0; i < m.length; i++)
10
- for (let j = 0; j < m[i].length; j++)
11
- t[j][i] = m[i][j];
12
- return t;
13
- }
14
- export function clone(m) {
15
- return m.map(v => [...v]);
16
- }
17
- //# sourceMappingURL=matrix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/common/matrix.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAI,CAAY;IAC7C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,CAAY;IAC1C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,CAAY;IACxC,MAAM,CAAC,GAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;YACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,KAAK,CAAI,CAAY;IACpC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import { Matrix } from \"../types\";\n\nexport function reverseColumns<T>(m: Matrix<T>) {\n\treturn m.map(v => [...v].reverse());\n}\n\nexport function reverseRows<T>(m: Matrix<T>) {\n\treturn m.map(v => [...v]).reverse();\n}\n\nexport function transpose<T>(m: Matrix<T>) {\n\tconst t: Matrix<T> = Array(m[0].length).fill(null).map(() => Array(m.length));\n\tfor (let i = 0; i < m.length; i++)\n\t\tfor (let j = 0; j < m[i].length; j++)\n\t\t\tt[j][i] = m[i][j];\n\treturn t;\n}\n\nexport function clone<T>(m: Matrix<T>) {\n\treturn m.map(v => [...v]);\n}"]}
@@ -1,26 +0,0 @@
1
- import { DecimalSeparator, LocaleId, ValueFormatter } from "../types";
2
- export type NumberFormatOptions = {
3
- /** number color */
4
- color?: string;
5
- /** unit of measure */
6
- text?: string;
7
- /** Sign display method. */
8
- signDisplay?: 'auto' | 'never' | 'always' | 'exceptZero' | 'negative';
9
- /** display brackets for negative values */
10
- brackets?: boolean;
11
- /** empty string format */
12
- empty?: boolean;
13
- } & Intl.NumberFormatOptions;
14
- export type NumberFormatterFunction = ValueFormatter<number>;
15
- export type NumberFormatString = string;
16
- export declare const isExtendedNumberFormat: (options: NumberFormatOptions) => string | boolean;
17
- export declare function mod(n: number, d: number): number;
18
- export declare function romanize(num: number): string | number;
19
- export declare function isNumberFormat(format: string): boolean;
20
- export declare function getNumberFormatter(locale: LocaleId, format?: NumberFormatString, fixFormat?: boolean): NumberFormatterFunction;
21
- export declare function createNumberFormatter(locale: LocaleId, format?: NumberFormatString, fixFormat?: boolean): NumberFormatterFunction;
22
- export declare function stringFormatToNumberFormat(xlFormat: NumberFormatString): (string | NumberFormatOptions)[];
23
- export type FormatType = 'd' | 'n';
24
- export declare function fixNumberFormat(format: string, type: FormatType): string;
25
- export declare function getLocalDecimalSeparator(locale: LocaleId): DecimalSeparator;
26
- //# sourceMappingURL=numbers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numbers.d.ts","sourceRoot":"","sources":["../../src/common/numbers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGtE,MAAM,MAAM,mBAAmB,GAAG;IACjC,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAC,OAAO,GAAC,QAAQ,GAAC,YAAY,GAAC,UAAU,CAAC;IAC9D,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AAC7B,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC,eAAO,MAAM,sBAAsB,GAAI,SAAS,mBAAmB,qBAElE,CAAC;AAEF,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAIvC;AAQD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,mBAOnC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,WAE5C;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAE,kBAAuB,EAAE,SAAS,CAAC,EAAE,OAAO,GAAI,uBAAuB,CAInI;AAcD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAE,kBAAuB,EAAE,SAAS,CAAC,EAAE,OAAO,GAAI,uBAAuB,CA2CtI;AAUD,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB,oCAqGtE;AAaD,MAAM,MAAM,UAAU,GAAG,GAAG,GAAC,GAAG,CAAC;AAMjC,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,UAG/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,GAI5B,gBAAgB,CAC5C"}
@@ -1,239 +0,0 @@
1
- import { getDateFormatter } from "./dates";
2
- import { isObject, isCharLetter, isString, isNumber } from "./utils";
3
- export const isExtendedNumberFormat = (options) => {
4
- return options.text || options.color || options.brackets || options.empty;
5
- };
6
- export function mod(n, d) {
7
- let r = n % d;
8
- if (r < 0)
9
- r += Math.abs(d);
10
- return r;
11
- }
12
- const ROMAN_KEYS = [
13
- "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM",
14
- "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC",
15
- "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"
16
- ];
17
- export function romanize(num) {
18
- if (isNaN(num))
19
- return NaN;
20
- const digits = String(+num).split("");
21
- let roman = "";
22
- let i = 3;
23
- while (i--)
24
- roman = (ROMAN_KEYS[+digits.pop() + (i * 10)] || "") + roman;
25
- return Array(+digits.join("") + 1).join("M") + roman;
26
- }
27
- export function isNumberFormat(format) {
28
- return ['0', '#'].includes(format[0]);
29
- }
30
- const formatterMap = new Map();
31
- export function getNumberFormatter(locale, format = '', fixFormat) {
32
- const map = formatterMap.has(locale) ? formatterMap.get(locale) : formatterMap.set(locale, new Map()).get(locale);
33
- if (!map.has(format))
34
- map.set(format, createNumberFormatter(locale, format, fixFormat));
35
- return map.get(format);
36
- }
37
- function createExtendedNumberFormatter(locale, format) {
38
- const formatter = new Intl.NumberFormat(locale, format);
39
- return { format: (value) => {
40
- let str = isNumber(value) ? formatter.format(value) : '';
41
- if (format.text)
42
- str += (format.text || '');
43
- if (format.brackets)
44
- str = `(${str})`;
45
- if (format.color)
46
- str = `<span style="color:${format.color}">${str}</span>`;
47
- return str;
48
- } };
49
- }
50
- export function createNumberFormatter(locale, format = '', fixFormat) {
51
- const formats = (format ? stringFormatToNumberFormat(fixFormat ? fixNumberFormat(format, 'n') : format) : [{ maximumFractionDigits: 3 }]);
52
- const formatters = formats.map(options => {
53
- if (isObject(options)) {
54
- if ((isExtendedNumberFormat(options))) {
55
- return createExtendedNumberFormatter(locale, options);
56
- }
57
- else {
58
- return new Intl.NumberFormat(locale, options);
59
- // const f = new Intl.NumberFormat(locale, options as NumberFormatOptions);
60
- // return {format: (value: number) => {
61
- // console.log(value);
62
- // return isNumber(value) ? f.format(value) : null;
63
- // }};
64
- }
65
- }
66
- else {
67
- return { format: getDateFormatter(locale, options) };
68
- }
69
- });
70
- if (formatters.length == 1)
71
- formatters.push(formatters[0]);
72
- if (formatters.length == 2)
73
- formatters.push(formatters[0]);
74
- const formatter = (value) => {
75
- if (value == null)
76
- return '';
77
- // string format
78
- if (isString(value))
79
- return formatters[3] ? formatters[3].format(value) : value;
80
- // positive format
81
- if (isNaN(value))
82
- return '#NaN';
83
- // positive format
84
- if (value > 0)
85
- return formatters[0].format(value);
86
- // negative format
87
- if (value < 0)
88
- return formatters[1].format(value);
89
- // zero format
90
- if (value == 0)
91
- return formatters[2].format(value);
92
- };
93
- return formatter;
94
- }
95
- const DEFAULT_NUMBER_FORMAT = {
96
- useGrouping: false,
97
- maximumFractionDigits: 0,
98
- // https://caniuse.com/mdn-javascript_builtins_intl_numberformat_numberformat_options_parameter_options_signdisplay_parameter_negative
99
- signDisplay: 'negative',
100
- empty: true
101
- };
102
- export function stringFormatToNumberFormat(xlFormat) {
103
- const formats = [];
104
- let format = Object.assign({}, DEFAULT_NUMBER_FORMAT);
105
- let inFraction = false;
106
- let offset = 0, ch, min, max;
107
- while (offset < xlFormat.length) {
108
- ch = xlFormat.charAt(offset);
109
- if (ch != ';' && format.empty)
110
- delete format.empty;
111
- switch (ch.toLowerCase()) {
112
- case '(':
113
- format.brackets = true;
114
- ++offset;
115
- break;
116
- case '[':
117
- format.color = '';
118
- while (++offset < xlFormat.length) {
119
- ch = xlFormat.charAt(offset);
120
- if (ch === ']')
121
- break;
122
- format.color += ch;
123
- }
124
- break;
125
- case ';':
126
- formats.push(format);
127
- format = Object.assign({}, DEFAULT_NUMBER_FORMAT);
128
- if (formats.length == 1)
129
- format.signDisplay = 'never';
130
- inFraction = false;
131
- ++offset;
132
- break;
133
- case '0':
134
- case '#':
135
- min = null;
136
- max = null;
137
- while (offset < xlFormat.length) {
138
- ch = xlFormat.charAt(offset);
139
- if (ch === '0')
140
- min = min === null ? 1 : (min + 1);
141
- else if (ch === '#')
142
- max = max === null ? 1 : (max + 1);
143
- else if (ch === ',')
144
- format.useGrouping = true;
145
- else
146
- break;
147
- ++offset;
148
- }
149
- if (inFraction) {
150
- if (min !== null) {
151
- format.minimumFractionDigits = min;
152
- if (max == null)
153
- format.maximumFractionDigits = min;
154
- }
155
- if (max !== null)
156
- format.maximumFractionDigits = (max + (min || 0));
157
- }
158
- else {
159
- if (min !== null)
160
- format.minimumIntegerDigits = min;
161
- }
162
- break;
163
- case '"':
164
- format.text = '';
165
- while (++offset < xlFormat.length) {
166
- ch = xlFormat.charAt(offset);
167
- if (ch === '"')
168
- break;
169
- format.text += ch;
170
- }
171
- ++offset;
172
- break;
173
- case '.':
174
- inFraction = true;
175
- ++offset;
176
- break;
177
- case '+':
178
- format.signDisplay = 'exceptZero';
179
- ++offset;
180
- break;
181
- case '-':
182
- if (formats.length == 1)
183
- format.signDisplay = 'always';
184
- ++offset;
185
- break;
186
- case '$':
187
- format.style = 'currency';
188
- ++offset;
189
- break;
190
- case '%':
191
- format.style = 'percent';
192
- ++offset;
193
- break;
194
- default:
195
- if (isCharLetter(ch)) {
196
- let dateFormat = ch;
197
- format = null;
198
- while (++offset < xlFormat.length) {
199
- ch = xlFormat.charAt(offset);
200
- if (ch === ';') {
201
- format = Object.assign({}, DEFAULT_NUMBER_FORMAT);
202
- break;
203
- }
204
- else
205
- dateFormat += ch;
206
- }
207
- formats.push(dateFormat);
208
- }
209
- ++offset;
210
- break;
211
- }
212
- }
213
- if (format)
214
- formats.push(format);
215
- return formats;
216
- }
217
- const dateFormatReplaces = [
218
- [/\\/g, ''],
219
- [/m/g, 'M'],
220
- [/ddd/g, 'eee']
221
- ];
222
- const numberFormatReplaces = [
223
- [/0,/g, '#,']
224
- ];
225
- const formatReplaces = {
226
- 'd': dateFormatReplaces,
227
- 'n': numberFormatReplaces
228
- };
229
- export function fixNumberFormat(format, type) {
230
- formatReplaces[type].forEach(([regex, s]) => format = format.replace(regex, s));
231
- return format;
232
- }
233
- export function getLocalDecimalSeparator(locale) {
234
- return Intl.NumberFormat(locale, {
235
- minimumIntegerDigits: 1,
236
- minimumFractionDigits: 1
237
- }).format(1.1).charAt(1);
238
- }
239
- //# sourceMappingURL=numbers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numbers.js","sourceRoot":"","sources":["../../src/common/numbers.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDateFormatter } from \"./dates\";\nimport { DecimalSeparator, LocaleId, ValueFormatter } from \"../types\";\nimport { isObject, isCharLetter, isString, isNumber } from \"./utils\";\n\nexport type NumberFormatOptions = {\n\t/** number color */\n\tcolor?: string,\n\t/** unit of measure */\n\ttext?: string,\n\t/** Sign display method. */\n\tsignDisplay?: 'auto'|'never'|'always'|'exceptZero'|'negative',\n\t/** display brackets for negative values */\n\tbrackets?: boolean,\n\t/** empty string format */\n\tempty?: boolean,\n} & Intl.NumberFormatOptions;\nexport type NumberFormatterFunction = ValueFormatter<number>;\nexport type NumberFormatString = string;\n\nexport const isExtendedNumberFormat = (options: NumberFormatOptions) => {\n\treturn options.text || options.color || options.brackets || options.empty \n};\n\nexport function mod(n: number, d: number) {\n\tlet r = n % d;\n\tif (r < 0) r += Math.abs(d);\n\treturn r;\n}\n\nconst ROMAN_KEYS = [\n\t\"\",\"C\",\"CC\",\"CCC\",\"CD\",\"D\",\"DC\",\"DCC\",\"DCCC\",\"CM\",\n\t\"\",\"X\",\"XX\",\"XXX\",\"XL\",\"L\",\"LX\",\"LXX\",\"LXXX\",\"XC\",\n\t\"\",\"I\",\"II\",\"III\",\"IV\",\"V\",\"VI\",\"VII\",\"VIII\",\"IX\"\n];\n\nexport function romanize(num: number) {\n\tif (isNaN(num)) return NaN;\n\tconst digits = String(+num).split(\"\");\n let roman = \"\";\n\tlet i = 3;\n while (i--) roman = (ROMAN_KEYS[+digits.pop() + (i * 10)] || \"\") + roman;\n return Array(+digits.join(\"\") + 1).join(\"M\") + roman;\n}\n\nexport function isNumberFormat(format: string) {\n\treturn ['0', '#'].includes(format[0]);\n}\n\nconst formatterMap = new Map<LocaleId, Map<NumberFormatString, NumberFormatterFunction>>();\n\nexport function getNumberFormatter(locale: LocaleId, format: NumberFormatString = '', fixFormat?: boolean) : NumberFormatterFunction {\n\tconst map = formatterMap.has(locale) ? formatterMap.get(locale) : formatterMap.set(locale, new Map()).get(locale);\n\tif (!map.has(format)) map.set(format, createNumberFormatter(locale, format, fixFormat));\n\treturn map.get(format);\n}\n\n\nfunction createExtendedNumberFormatter(locale: LocaleId, format: NumberFormatOptions) {\n\tconst formatter = new Intl.NumberFormat(locale, format);\n\treturn {format: (value: number) => {\n\t\tlet str = isNumber(value) ? formatter.format(value) : '';\n\t\tif (format.text) str += (format.text || '');\n\t\tif (format.brackets) str = `(${str})`;\n\t\tif (format.color) str = `<span style=\"color:${format.color}\">${str}</span>`;\n\t\treturn str;\n\t}};\n}\n\nexport function createNumberFormatter(locale: LocaleId, format: NumberFormatString = '', fixFormat?: boolean) : NumberFormatterFunction {\n\tconst formats = (format ? stringFormatToNumberFormat(fixFormat ? fixNumberFormat(format, 'n') : format) : [{maximumFractionDigits: 3}]);\n\n\tconst formatters = formats.map(options => {\n\t\tif (isObject(options)) {\n\t\t\tif ((isExtendedNumberFormat(options as NumberFormatOptions))) {\n\t\t\t\treturn createExtendedNumberFormatter(locale, options as NumberFormatOptions);\n\t\t\t} else {\n\t\t\t\treturn new Intl.NumberFormat(locale, options as NumberFormatOptions);\n\t\t\t\t// const f = new Intl.NumberFormat(locale, options as NumberFormatOptions);\n\t\t\t\t// return {format: (value: number) => {\n\t\t\t\t// \tconsole.log(value);\n\t\t\t\t// \treturn isNumber(value) ? f.format(value) : null;\n\t\t\t\t// }};\n\t\t\t}\n\t\t} else {\n\t\t\treturn {format: getDateFormatter(locale, options as string)}\n\t\t}\n\t});\n\n\tif (formatters.length == 1) formatters.push(formatters[0]);\n\tif (formatters.length == 2) formatters.push(formatters[0]);\n\t\n\tconst formatter = (value: number|string) => {\n\t\tif (value == null) return '';\n\n\t\t// string format\n\t\tif (isString(value)) return formatters[3] ? formatters[3].format(value as unknown as number) : (value as string);\n\n\t\t// positive format\n\t\tif (isNaN(value as number)) return '#NaN';\n\n\t\t// positive format\n\t\tif (value as number > 0) return formatters[0].format(value as number);\n\n\t\t// negative format\n\t\tif (value as number < 0) return formatters[1].format(value as number);\n\n\t\t// zero format\n\t\tif (value == 0) return formatters[2].format(value);\n\t};\n\n\treturn formatter;\n}\n\nconst DEFAULT_NUMBER_FORMAT: NumberFormatOptions = {\n\tuseGrouping: false,\n\tmaximumFractionDigits: 0,\n\t// https://caniuse.com/mdn-javascript_builtins_intl_numberformat_numberformat_options_parameter_options_signdisplay_parameter_negative\n\tsignDisplay: 'negative',\n\tempty: true\n} as unknown as NumberFormatOptions;\n\nexport function stringFormatToNumberFormat(xlFormat: NumberFormatString) {\n\tconst formats: (NumberFormatOptions|string)[] = [];\n\tlet format: NumberFormatOptions = Object.assign({}, DEFAULT_NUMBER_FORMAT);\n\tlet inFraction = false;\n\tlet offset = 0, ch: string, min: number, max: number;\n\twhile (offset < xlFormat.length) {\n\t\tch = xlFormat.charAt(offset);\n\t\tif (ch != ';' && format.empty) delete format.empty;\n\t\t\n\t\tswitch (ch.toLowerCase()) {\n\t\t\tcase '(':\n\t\t\t\tformat.brackets = true;\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '[':\n\t\t\t\tformat.color = '';\n\t\t\t\twhile (++offset < xlFormat.length) {\n\t\t\t\t\tch = xlFormat.charAt(offset);\n\t\t\t\t\tif (ch === ']') break;\n\t\t\t\t\tformat.color += ch;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ';':\n\t\t\t\tformats.push(format);\n\t\t\t\tformat = Object.assign({}, DEFAULT_NUMBER_FORMAT);\n\t\t\t\tif (formats.length == 1) format.signDisplay = 'never';\n\t\t\t\tinFraction = false;\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '0':\n\t\t\tcase '#':\n\t\t\t\tmin = null;\n\t\t\t\tmax = null;\n\t\t\t\twhile (offset < xlFormat.length) {\n\t\t\t\t\tch = xlFormat.charAt(offset);\n\t\t\t\t\tif (ch === '0') min = min === null ? 1 : (min + 1);\n\t\t\t\t\telse if (ch === '#') max = max === null ? 1 : (max + 1);\n\t\t\t\t\telse if (ch === ',') format.useGrouping = true;\n\t\t\t\t\telse break;\n\t\t\t\t\t++offset;\n\t\t\t\t}\n\t\t\t\tif (inFraction) {\n\t\t\t\t\tif (min !== null) {\n\t\t\t\t\t\tformat.minimumFractionDigits = min;\n\t\t\t\t\t\tif (max == null) format.maximumFractionDigits = min;\n\t\t\t\t\t}\n\t\t\t\t\tif (max !== null) format.maximumFractionDigits = (max + (min || 0));\n\t\t\t\t} else {\n\t\t\t\t\tif (min !== null) format.minimumIntegerDigits = min;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase '\"':\n\t\t\t\tformat.text = '';\n\t\t\t\twhile (++offset < xlFormat.length) {\n\t\t\t\t\tch = xlFormat.charAt(offset);\n\t\t\t\t\tif (ch === '\"') break;\n\t\t\t\t\tformat.text += ch;\n\t\t\t\t}\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\tinFraction = true;\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '+':\n\t\t\t\tformat.signDisplay = 'exceptZero';\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '-':\n\t\t\t\tif (formats.length == 1) format.signDisplay = 'always';\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '$':\n\t\t\t\tformat.style = 'currency';\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tcase '%':\n\t\t\t\tformat.style = 'percent';\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif (isCharLetter(ch)) {\n\t\t\t\t\tlet dateFormat = ch;\n\t\t\t\t\tformat = null;\n\t\t\t\t\twhile (++offset < xlFormat.length) {\n\t\t\t\t\t\tch = xlFormat.charAt(offset);\n\t\t\t\t\t\tif (ch === ';') {\n\t\t\t\t\t\t\tformat = Object.assign({}, DEFAULT_NUMBER_FORMAT);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse dateFormat += ch;\n\t\t\t\t\t}\n\t\t\t\t\tformats.push(dateFormat);\n\t\t\t\t}\n\t\t\t\t++offset;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tif (format) formats.push(format);\n\treturn formats;\n}\n\n\nconst dateFormatReplaces: [RegExp, string][] = [\n\t[/\\\\/g, ''],\n\t[/m/g, 'M'],\n\t[/ddd/g, 'eee']\n];\n\nconst numberFormatReplaces: [RegExp, string][] = [\n\t[/0,/g, '#,']\n];\n\nexport type FormatType = 'd'|'n';\nconst formatReplaces: Record<FormatType, typeof dateFormatReplaces> = {\n\t'd': dateFormatReplaces,\n\t'n': numberFormatReplaces\n};\n\nexport function fixNumberFormat(format: string, type: FormatType) {\n\tformatReplaces[type].forEach(([regex, s]) => format = format.replace(regex, s));\n\treturn format;\n}\n\nexport function getLocalDecimalSeparator(locale: LocaleId) {\n\treturn Intl.NumberFormat(locale, {\n\t\tminimumIntegerDigits: 1,\n\t\tminimumFractionDigits: 1\n\t}).format(1.1).charAt(1) as DecimalSeparator;\n}\n"]}
@@ -1,17 +0,0 @@
1
- import { DecimalSeparator, User } from "../types";
2
- import { DateFormatString, DateFormatterFunction } from "./dates";
3
- export type Options = {
4
- /** formatting, numbers, dates, etc */
5
- formatLocale?: string;
6
- /** translation */
7
- locale?: string;
8
- dateFormat?: DateFormatString;
9
- dateFormatter?: DateFormatterFunction;
10
- systemDecimalSeparator?: DecimalSeparator;
11
- fontSize?: number;
12
- user?: User;
13
- };
14
- export declare const setDefaultOptions: (options: Partial<Options>) => void;
15
- export declare const getDefaultOptions: () => Partial<Options>;
16
- export declare function initOptions<T extends Partial<Options>>(options?: T, origOptions?: T): T;
17
- //# sourceMappingURL=options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/common/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAuB,gBAAgB,EAAE,qBAAqB,EAAiB,MAAM,SAAS,CAAC;AAKtG,MAAM,MAAM,OAAO,GAAG;IACrB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAA;CACX,CAAA;AAID,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,OAAO,CAAC,SAG1D,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,OAAO,CAUlC,CAAC;AAEnB,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,WAAW,GAAE,CAAQ,GAAG,CAAC,CAK7F"}