@pbkware/dot-net-date-number-formatting 0.2.0 → 0.3.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/README.md +5 -0
- package/dist/code/{datetime-formatter.js → date-time-formatter.js} +29 -16
- package/dist/code/date-time-formatter.js.map +1 -0
- package/dist/code/date-time-styles.js +157 -0
- package/dist/code/date-time-styles.js.map +1 -0
- package/dist/code/index.js +3 -3
- package/dist/code/index.js.map +1 -1
- package/dist/code/number-formatter.js +34 -26
- package/dist/code/number-formatter.js.map +1 -1
- package/dist/code/number-styles.js +204 -0
- package/dist/code/number-styles.js.map +1 -0
- package/dist/types/dot-net-date-number-formatting-untrimmed.d.ts +147 -86
- package/dist/types/public-api.d.ts +203 -61
- package/dist/types/tsdoc-metadata.json +1 -1
- package/package.json +4 -4
- package/src/code/{datetime-formatter.ts → date-time-formatter.ts} +29 -17
- package/src/code/date-time-styles.ts +200 -0
- package/src/code/index.ts +3 -3
- package/src/code/number-formatter.ts +46 -30
- package/src/code/number-styles.ts +265 -0
- package/dist/code/datetime-formatter.js.map +0 -1
- package/dist/code/datetime-style.js +0 -101
- package/dist/code/datetime-style.js.map +0 -1
- package/dist/code/number-style.js +0 -211
- package/dist/code/number-style.js.map +0 -1
- package/src/code/datetime-style.ts +0 -128
- package/src/code/number-style.ts +0 -247
package/README.md
CHANGED
|
@@ -134,6 +134,11 @@ npm run docs:build
|
|
|
134
134
|
|
|
135
135
|
For issues, questions, or contributions, please visit the [GitHub repository](https://github.com/pbkware/dot-net-date-number-formatting).
|
|
136
136
|
|
|
137
|
+
## Recent Releases
|
|
138
|
+
|
|
139
|
+
- **0.3.0**\
|
|
140
|
+
Rename and rework DotNetNumberStyles and DotNetDateTimeStyles so that they are const objects instead of enums and better align with Dot Net equivalents.
|
|
141
|
+
|
|
137
142
|
## History
|
|
138
143
|
|
|
139
144
|
This library was created by porting the relevant portions of the Delphi library [TFieldedText](https://sourceforge.net/projects/tfieldedtext/) (at [SourceForge](https://sourceforge.net/projects/tfieldedtext/)) (Note that the commit attributions are incorrect in TFieldedText - they should be attributed to Paul Klink.) The porting and documentation was carried out with AI (GitHub co-pilot).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Err, Ok } from "@pbkware/js-utils";
|
|
2
|
-
import {
|
|
2
|
+
import { DotNetDateTimeStyleFlags, DotNetDateTimeStyles, } from "./date-time-styles.js";
|
|
3
3
|
import { DotNetLocaleSettings } from "./locale-settings.js";
|
|
4
4
|
const dayNamesShort = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
5
5
|
const dayNamesLong = [
|
|
@@ -252,21 +252,34 @@ function tokenizeCustom(format) {
|
|
|
252
252
|
*/
|
|
253
253
|
export class DotNetDateTimeFormatter {
|
|
254
254
|
/**
|
|
255
|
-
*
|
|
255
|
+
* Array of date/time style flags that are not currently supported by this implementation.
|
|
256
256
|
* Operations using these styles will fail.
|
|
257
257
|
*/
|
|
258
|
-
static unsupportedStyles =
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
]
|
|
258
|
+
static unsupportedStyles = [
|
|
259
|
+
DotNetDateTimeStyleFlags.adjustToUniversal,
|
|
260
|
+
DotNetDateTimeStyleFlags.assumeLocal,
|
|
261
|
+
DotNetDateTimeStyleFlags.assumeUniversal,
|
|
262
|
+
DotNetDateTimeStyleFlags.roundTripKind,
|
|
263
|
+
];
|
|
264
264
|
format = "";
|
|
265
265
|
/**
|
|
266
|
-
* The
|
|
267
|
-
*
|
|
266
|
+
* The {@link (DotNetDateTimeStyles:type)} flags that control date/time parsing behavior.
|
|
267
|
+
*
|
|
268
|
+
* Use predefined combinations from {@link (DotNetDateTimeStyles:variable)} or combine
|
|
269
|
+
* {@link (DotNetDateTimeStyleFlags:variable)} using bitwise OR.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```typescript
|
|
273
|
+
* // Use predefined combination
|
|
274
|
+
* formatter.styles = DotNetDateTimeStyles.allowWhiteSpaces;
|
|
275
|
+
*
|
|
276
|
+
* // Combine individual flags
|
|
277
|
+
* formatter.styles =
|
|
278
|
+
* DotNetDateTimeStyleFlags.allowLeadingWhite |
|
|
279
|
+
* DotNetDateTimeStyleFlags.allowTrailingWhite;
|
|
280
|
+
* ```
|
|
268
281
|
*/
|
|
269
|
-
styles =
|
|
282
|
+
styles = DotNetDateTimeStyles.none;
|
|
270
283
|
/**
|
|
271
284
|
* The locale settings that determine date/time separators and formatting conventions.
|
|
272
285
|
*/
|
|
@@ -441,14 +454,14 @@ export class DotNetDateTimeFormatter {
|
|
|
441
454
|
}
|
|
442
455
|
tryFromString(strValue) {
|
|
443
456
|
let parseText = strValue;
|
|
444
|
-
if (this.styles.
|
|
445
|
-
this.styles.
|
|
457
|
+
if (this.styles & DotNetDateTimeStyles.allowLeadingWhite &&
|
|
458
|
+
this.styles & DotNetDateTimeStyles.allowTrailingWhite) {
|
|
446
459
|
parseText = parseText.trim();
|
|
447
460
|
}
|
|
448
|
-
else if (this.styles.
|
|
461
|
+
else if (this.styles & DotNetDateTimeStyles.allowLeadingWhite) {
|
|
449
462
|
parseText = parseText.trimStart();
|
|
450
463
|
}
|
|
451
|
-
else if (this.styles.
|
|
464
|
+
else if (this.styles & DotNetDateTimeStyles.allowTrailingWhite) {
|
|
452
465
|
parseText = parseText.trimEnd();
|
|
453
466
|
}
|
|
454
467
|
if (parseText.length === 0) {
|
|
@@ -601,4 +614,4 @@ export class DotNetDateTimeFormatter {
|
|
|
601
614
|
return new Ok(value);
|
|
602
615
|
}
|
|
603
616
|
}
|
|
604
|
-
//# sourceMappingURL=
|
|
617
|
+
//# sourceMappingURL=date-time-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-formatter.js","sourceRoot":"","sources":["../../src/code/date-time-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Individual style flags that control date/time parsing behavior.
|
|
3
|
+
*
|
|
4
|
+
* These flags can be combined using bitwise OR to create custom parsing rules.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const formatter = new DotNetDateTimeFormatter();
|
|
9
|
+
*
|
|
10
|
+
* // Combine multiple flags using bitwise OR
|
|
11
|
+
* formatter.styles =
|
|
12
|
+
* DotNetDateTimeStyleFlags.allowLeadingWhite |
|
|
13
|
+
* DotNetDateTimeStyleFlags.allowTrailingWhite;
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @category DateTime Styles
|
|
18
|
+
*/
|
|
19
|
+
export const DotNetDateTimeStyleFlags = {
|
|
20
|
+
/** Allow leading whitespace characters. */
|
|
21
|
+
allowLeadingWhite: 1,
|
|
22
|
+
/** Allow trailing whitespace characters. */
|
|
23
|
+
allowTrailingWhite: 2,
|
|
24
|
+
/** Allow whitespace within the date/time string. */
|
|
25
|
+
allowInnerWhite: 4,
|
|
26
|
+
/** Do not use current date for missing date components. */
|
|
27
|
+
noCurrentDateDefault: 8,
|
|
28
|
+
/** Adjust date/time to UTC (not implemented). */
|
|
29
|
+
adjustToUniversal: 16,
|
|
30
|
+
/** Assume local time zone if not specified (not implemented). */
|
|
31
|
+
assumeLocal: 32,
|
|
32
|
+
/** Assume UTC time zone if not specified (not implemented). */
|
|
33
|
+
assumeUniversal: 64,
|
|
34
|
+
/** Preserve DateTimeKind when parsing (not implemented). */
|
|
35
|
+
roundTripKind: 128,
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Predefined date/time style combinations for common parsing scenarios.
|
|
39
|
+
*
|
|
40
|
+
* Contains individual {@link (DotNetDateTimeStyleFlags:variable)} as well as common combinations.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const formatter = new DotNetDateTimeFormatter();
|
|
45
|
+
*
|
|
46
|
+
* // Use a predefined combination
|
|
47
|
+
* formatter.styles = DotNetDateTimeStyles.allowWhiteSpaces;
|
|
48
|
+
*
|
|
49
|
+
* // Or use individual flags
|
|
50
|
+
* formatter.styles = DotNetDateTimeStyles.allowLeadingWhite;
|
|
51
|
+
*
|
|
52
|
+
* // Or combine flags manually
|
|
53
|
+
* formatter.styles =
|
|
54
|
+
* DotNetDateTimeStyleFlags.allowLeadingWhite |
|
|
55
|
+
* DotNetDateTimeStyleFlags.noCurrentDateDefault;
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @category DateTime Styles
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export const DotNetDateTimeStyles = {
|
|
62
|
+
/** No styles - strict parsing. */
|
|
63
|
+
none: 0,
|
|
64
|
+
allowLeadingWhite: DotNetDateTimeStyleFlags.allowLeadingWhite,
|
|
65
|
+
allowTrailingWhite: DotNetDateTimeStyleFlags.allowTrailingWhite,
|
|
66
|
+
allowInnerWhite: DotNetDateTimeStyleFlags.allowInnerWhite,
|
|
67
|
+
/**
|
|
68
|
+
* Allow whitespace in date/time strings.
|
|
69
|
+
* Includes: allowLeadingWhite, allowTrailingWhite, allowInnerWhite.
|
|
70
|
+
*/
|
|
71
|
+
allowWhiteSpaces: DotNetDateTimeStyleFlags.allowLeadingWhite |
|
|
72
|
+
DotNetDateTimeStyleFlags.allowTrailingWhite |
|
|
73
|
+
DotNetDateTimeStyleFlags.allowInnerWhite,
|
|
74
|
+
noCurrentDateDefault: DotNetDateTimeStyleFlags.noCurrentDateDefault,
|
|
75
|
+
/** Adjust date/time to UTC (not implemented). */
|
|
76
|
+
adjustToUniversal: DotNetDateTimeStyleFlags.adjustToUniversal,
|
|
77
|
+
/** Assume local time zone if not specified (not implemented). */
|
|
78
|
+
assumeLocal: DotNetDateTimeStyleFlags.assumeLocal,
|
|
79
|
+
/** Assume UTC time zone if not specified (not implemented). */
|
|
80
|
+
assumeUniversal: DotNetDateTimeStyleFlags.assumeUniversal,
|
|
81
|
+
/** Preserve DateTimeKind when parsing (not implemented). */
|
|
82
|
+
roundTripKind: DotNetDateTimeStyleFlags.roundTripKind,
|
|
83
|
+
};
|
|
84
|
+
// const flagEntries = Object.entries(DotNetDateTimeStyleFlags);
|
|
85
|
+
// const flagEntriesCount = flagEntries.length;
|
|
86
|
+
// type LowercaseKeys<T extends Record<string, number>> = {
|
|
87
|
+
// [K in keyof T as Lowercase<string>]: T[K];
|
|
88
|
+
// };
|
|
89
|
+
// function lowercaseKeys<T extends Record<string, number>>(
|
|
90
|
+
// obj: T,
|
|
91
|
+
// ): LowercaseKeys<T> {
|
|
92
|
+
// const result = {} as Record<string, number>;
|
|
93
|
+
// for (const key in obj) {
|
|
94
|
+
// result[key.toLowerCase()] = obj[key];
|
|
95
|
+
// }
|
|
96
|
+
// return result as LowercaseKeys<T>;
|
|
97
|
+
// }
|
|
98
|
+
// const DotNetLowerCaseDateTimeStyleFlags: LowercaseKeys<
|
|
99
|
+
// typeof DotNetDateTimeStyleFlags
|
|
100
|
+
// > = lowercaseKeys(DotNetDateTimeStyleFlags);
|
|
101
|
+
// /** @public */
|
|
102
|
+
// export class DotNetDateTimeStylesStringify {
|
|
103
|
+
// static toString(styles: DotNetDateTimeStyles): string {
|
|
104
|
+
// if (styles === DotNetDateTimeStyles.none) {
|
|
105
|
+
// return "";
|
|
106
|
+
// } else {
|
|
107
|
+
// if (styles === DotNetDateTimeStyles.allowWhiteSpaces) {
|
|
108
|
+
// return "allowWhiteSpaces";
|
|
109
|
+
// } else {
|
|
110
|
+
// // For other combinations, we convert the numeric value to the corresponding flags.
|
|
111
|
+
// const keys = new Array<string>(flagEntriesCount);
|
|
112
|
+
// let count = 0;
|
|
113
|
+
// for (const [key, keyValue] of flagEntries) {
|
|
114
|
+
// if ((styles & keyValue) === keyValue) {
|
|
115
|
+
// keys[count++] = key;
|
|
116
|
+
// }
|
|
117
|
+
// }
|
|
118
|
+
// keys.length = count;
|
|
119
|
+
// return CommaText.fromStringArray(keys);
|
|
120
|
+
// }
|
|
121
|
+
// }
|
|
122
|
+
// }
|
|
123
|
+
// static tryFromString(value: string): Result<DotNetDateTimeStyles> {
|
|
124
|
+
// const trimmedValue = value.trim();
|
|
125
|
+
// if (trimmedValue.length === 0) {
|
|
126
|
+
// return new Ok(DotNetDateTimeStyles.none);
|
|
127
|
+
// } else {
|
|
128
|
+
// const lowerCasedValue = trimmedValue.toLowerCase();
|
|
129
|
+
// if (lowerCasedValue === "none") {
|
|
130
|
+
// return new Ok(DotNetDateTimeStyles.none);
|
|
131
|
+
// } else {
|
|
132
|
+
// if (lowerCasedValue === "allowwhitespaces") {
|
|
133
|
+
// return new Ok(DotNetDateTimeStyles.allowWhiteSpaces);
|
|
134
|
+
// } else {
|
|
135
|
+
// const toStringArrayResult = CommaText.tryToStringArray(value);
|
|
136
|
+
// if (toStringArrayResult.isErr()) {
|
|
137
|
+
// return new Err(`Invalid comma-separated list: ${value}`);
|
|
138
|
+
// } else {
|
|
139
|
+
// let result: DotNetDateTimeStyles = DotNetDateTimeStyles.none;
|
|
140
|
+
// const lowercaseFlagXmlValues =
|
|
141
|
+
// toStringArrayResult.value as (keyof typeof DotNetLowerCaseDateTimeStyleFlags)[];
|
|
142
|
+
// for (const flagXmlValue of lowercaseFlagXmlValues) {
|
|
143
|
+
// const flag = DotNetLowerCaseDateTimeStyleFlags[flagXmlValue];
|
|
144
|
+
// if (flag !== undefined) {
|
|
145
|
+
// result |= flag;
|
|
146
|
+
// } else {
|
|
147
|
+
// return new Err(`Invalid flag XmlValue: ${flagXmlValue}`);
|
|
148
|
+
// }
|
|
149
|
+
// }
|
|
150
|
+
// return new Ok(result);
|
|
151
|
+
// }
|
|
152
|
+
// }
|
|
153
|
+
// }
|
|
154
|
+
// }
|
|
155
|
+
// }
|
|
156
|
+
// }
|
|
157
|
+
//# sourceMappingURL=date-time-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-time-styles.js","sourceRoot":"","sources":["../../src/code/date-time-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,2CAA2C;IAC3C,iBAAiB,EAAE,CAAC;IAEpB,4CAA4C;IAC5C,kBAAkB,EAAE,CAAC;IAErB,oDAAoD;IACpD,eAAe,EAAE,CAAC;IAElB,2DAA2D;IAC3D,oBAAoB,EAAE,CAAC;IAEvB,iDAAiD;IACjD,iBAAiB,EAAE,EAAE;IAErB,iEAAiE;IACjE,WAAW,EAAE,EAAE;IAEf,+DAA+D;IAC/D,eAAe,EAAE,EAAE;IAEnB,4DAA4D;IAC5D,aAAa,EAAE,GAAG;CACV,CAAC;AAaX;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kCAAkC;IAClC,IAAI,EAAE,CAAC;IAEP,iBAAiB,EAAE,wBAAwB,CAAC,iBAAiB;IAC7D,kBAAkB,EAAE,wBAAwB,CAAC,kBAAkB;IAC/D,eAAe,EAAE,wBAAwB,CAAC,eAAe;IAEzD;;;OAGG;IACH,gBAAgB,EACd,wBAAwB,CAAC,iBAAiB;QAC1C,wBAAwB,CAAC,kBAAkB;QAC3C,wBAAwB,CAAC,eAAe;IAE1C,oBAAoB,EAAE,wBAAwB,CAAC,oBAAoB;IAEnE,iDAAiD;IACjD,iBAAiB,EAAE,wBAAwB,CAAC,iBAAiB;IAE7D,iEAAiE;IACjE,WAAW,EAAE,wBAAwB,CAAC,WAAW;IAEjD,+DAA+D;IAC/D,eAAe,EAAE,wBAAwB,CAAC,eAAe;IAEzD,4DAA4D;IAC5D,aAAa,EAAE,wBAAwB,CAAC,aAAa;CAC7C,CAAC;AAaX,gEAAgE;AAChE,+CAA+C;AAE/C,2DAA2D;AAC3D,+CAA+C;AAC/C,KAAK;AAEL,4DAA4D;AAC5D,YAAY;AACZ,wBAAwB;AACxB,iDAAiD;AACjD,6BAA6B;AAC7B,4CAA4C;AAC5C,MAAM;AACN,uCAAuC;AACvC,IAAI;AAEJ,0DAA0D;AAC1D,oCAAoC;AACpC,+CAA+C;AAE/C,iBAAiB;AACjB,+CAA+C;AAC/C,4DAA4D;AAC5D,kDAAkD;AAClD,mBAAmB;AACnB,eAAe;AACf,gEAAgE;AAChE,qCAAqC;AACrC,iBAAiB;AACjB,8FAA8F;AAC9F,4DAA4D;AAC5D,yBAAyB;AACzB,uDAAuD;AACvD,oDAAoD;AACpD,mCAAmC;AACnC,cAAc;AACd,YAAY;AACZ,+BAA+B;AAC/B,kDAAkD;AAClD,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,wEAAwE;AACxE,yCAAyC;AACzC,uCAAuC;AACvC,kDAAkD;AAClD,eAAe;AACf,4DAA4D;AAC5D,0CAA0C;AAC1C,oDAAoD;AACpD,iBAAiB;AACjB,wDAAwD;AACxD,kEAAkE;AAClE,mBAAmB;AACnB,2EAA2E;AAC3E,+CAA+C;AAC/C,wEAAwE;AACxE,qBAAqB;AACrB,4EAA4E;AAC5E,6CAA6C;AAC7C,iGAAiG;AACjG,mEAAmE;AACnE,8EAA8E;AAC9E,0CAA0C;AAC1C,kCAAkC;AAClC,yBAAyB;AACzB,4EAA4E;AAC5E,kBAAkB;AAClB,gBAAgB;AAChB,qCAAqC;AACrC,cAAc;AACd,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI"}
|
package/dist/code/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
1
|
+
export * from "./date-time-formatter.js";
|
|
2
|
+
export * from "./date-time-styles.js";
|
|
3
3
|
export * from "./locale-settings.js";
|
|
4
4
|
export * from "./number-formatter.js";
|
|
5
|
-
export * from "./number-
|
|
5
|
+
export * from "./number-styles.js";
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/code/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Err, Ok } from "@pbkware/js-utils";
|
|
2
2
|
import { DotNetLocaleSettings } from "./locale-settings.js";
|
|
3
|
-
import {
|
|
3
|
+
import { DotNetNumberStyles } from "./number-styles.js";
|
|
4
4
|
/**
|
|
5
5
|
* Base class for formatting and parsing numbers using .NET-compatible format strings.
|
|
6
6
|
*
|
|
@@ -29,21 +29,14 @@ export class DotNetNumberFormatter {
|
|
|
29
29
|
precision = 0;
|
|
30
30
|
sections = [];
|
|
31
31
|
/**
|
|
32
|
-
* The
|
|
32
|
+
* The {@link (DotNetNumberStyles:variable)} that control which number formats are allowed during parsing.
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
35
35
|
* ```typescript
|
|
36
|
-
*
|
|
37
|
-
* formatter.styles = DotNetNumberStyles.number;
|
|
38
|
-
*
|
|
39
|
-
* // Or combine individual flags
|
|
40
|
-
* formatter.styles = new Set([
|
|
41
|
-
* DotNetNumberStyleId.AllowLeadingSign,
|
|
42
|
-
* DotNetNumberStyleId.AllowDecimalPoint
|
|
43
|
-
* ]);
|
|
36
|
+
* formatter.styles = DotNetNumberStyles.allowLeadingSign | DotNetNumberStyles.allowDecimalPoint;
|
|
44
37
|
* ```
|
|
45
38
|
*/
|
|
46
|
-
styles =
|
|
39
|
+
styles = DotNetNumberStyles.number;
|
|
47
40
|
/**
|
|
48
41
|
* The locale settings that determine decimal/thousands separators and other culture-specific formatting.
|
|
49
42
|
*/
|
|
@@ -589,17 +582,22 @@ export class DotNetNumberFormatter {
|
|
|
589
582
|
}
|
|
590
583
|
unstyleNumberString(value) {
|
|
591
584
|
let unstyled = value;
|
|
592
|
-
if (this.styles
|
|
593
|
-
|
|
585
|
+
if ((this.styles &
|
|
586
|
+
(DotNetNumberStyles.allowLeadingWhite |
|
|
587
|
+
DotNetNumberStyles.allowTrailingWhite)) >
|
|
588
|
+
0) {
|
|
594
589
|
unstyled = unstyled.trim();
|
|
595
590
|
}
|
|
596
|
-
else if (this.styles.
|
|
591
|
+
else if ((this.styles & DotNetNumberStyles.allowLeadingWhite) ===
|
|
592
|
+
DotNetNumberStyles.allowLeadingWhite) {
|
|
597
593
|
unstyled = unstyled.trimStart();
|
|
598
594
|
}
|
|
599
|
-
else if (this.styles.
|
|
595
|
+
else if ((this.styles & DotNetNumberStyles.allowTrailingWhite) ===
|
|
596
|
+
DotNetNumberStyles.allowTrailingWhite) {
|
|
600
597
|
unstyled = unstyled.trimEnd();
|
|
601
598
|
}
|
|
602
|
-
if (this.styles.
|
|
599
|
+
if ((this.styles & DotNetNumberStyles.allowThousands) ===
|
|
600
|
+
DotNetNumberStyles.allowThousands) {
|
|
603
601
|
unstyled = unstyled.split(this.localeSettings.thousandSeparator).join("");
|
|
604
602
|
}
|
|
605
603
|
if (unstyled.length === 0) {
|
|
@@ -611,7 +609,8 @@ export class DotNetNumberFormatter {
|
|
|
611
609
|
if (/\s$/.test(unstyled)) {
|
|
612
610
|
return new Err("Unallowed trailing whitespace characters");
|
|
613
611
|
}
|
|
614
|
-
if (this.styles.
|
|
612
|
+
if ((this.styles & DotNetNumberStyles.allowCurrencySymbol) ===
|
|
613
|
+
DotNetNumberStyles.allowCurrencySymbol &&
|
|
615
614
|
unstyled.startsWith(this.localeSettings.currencyString)) {
|
|
616
615
|
unstyled = unstyled.slice(this.localeSettings.currencyString.length);
|
|
617
616
|
}
|
|
@@ -619,13 +618,15 @@ export class DotNetNumberFormatter {
|
|
|
619
618
|
return new Err("No digit character");
|
|
620
619
|
}
|
|
621
620
|
let negated = false;
|
|
622
|
-
if (this.styles.
|
|
621
|
+
if ((this.styles & DotNetNumberStyles.allowParentheses) ===
|
|
622
|
+
DotNetNumberStyles.allowParentheses &&
|
|
623
623
|
unstyled.startsWith("(") &&
|
|
624
624
|
unstyled.endsWith(")")) {
|
|
625
625
|
unstyled = unstyled.slice(1, -1);
|
|
626
626
|
negated = true;
|
|
627
627
|
}
|
|
628
|
-
else if (this.styles.
|
|
628
|
+
else if ((this.styles & DotNetNumberStyles.allowTrailingSign) ===
|
|
629
|
+
DotNetNumberStyles.allowTrailingSign) {
|
|
629
630
|
if (unstyled.endsWith("+")) {
|
|
630
631
|
unstyled = unstyled.slice(0, -1);
|
|
631
632
|
negated = false;
|
|
@@ -705,8 +706,10 @@ export class DotNetIntegerFormatter extends DotNetNumberFormatter {
|
|
|
705
706
|
return unstyled.createOuter("Invalid number format");
|
|
706
707
|
}
|
|
707
708
|
let { unstyled: text, negated } = unstyled.value;
|
|
708
|
-
if (this.styles.
|
|
709
|
-
|
|
709
|
+
if ((this.styles & DotNetNumberStyles.allowHexSpecifier) ===
|
|
710
|
+
DotNetNumberStyles.allowHexSpecifier) {
|
|
711
|
+
if ((this.styles & DotNetNumberStyles.allowLeadingSign) ===
|
|
712
|
+
DotNetNumberStyles.allowLeadingSign) {
|
|
710
713
|
if (text.startsWith("+")) {
|
|
711
714
|
text = text.slice(1);
|
|
712
715
|
}
|
|
@@ -722,13 +725,16 @@ export class DotNetIntegerFormatter extends DotNetNumberFormatter {
|
|
|
722
725
|
return new Ok(negated ? -hex.value : hex.value);
|
|
723
726
|
}
|
|
724
727
|
const hasLeadingSign = text.startsWith("+") || text.startsWith("-");
|
|
725
|
-
if (
|
|
728
|
+
if ((this.styles & DotNetNumberStyles.allowLeadingSign) !==
|
|
729
|
+
DotNetNumberStyles.allowLeadingSign &&
|
|
726
730
|
hasLeadingSign) {
|
|
727
731
|
return new Err("Unallowed leading sign character");
|
|
728
732
|
}
|
|
729
|
-
const parseAsFloat = (this.styles.
|
|
733
|
+
const parseAsFloat = ((this.styles & DotNetNumberStyles.allowExponent) ===
|
|
734
|
+
DotNetNumberStyles.allowExponent &&
|
|
730
735
|
this.hasExponentChar(text)) ||
|
|
731
|
-
(this.styles.
|
|
736
|
+
((this.styles & DotNetNumberStyles.allowDecimalPoint) ===
|
|
737
|
+
DotNetNumberStyles.allowDecimalPoint &&
|
|
732
738
|
this.hasDecimalChar(text));
|
|
733
739
|
if (parseAsFloat) {
|
|
734
740
|
const normalized = text.replace(this.localeSettings.decimalSeparator, ".");
|
|
@@ -822,14 +828,16 @@ export class DotNetFloatFormatter extends DotNetNumberFormatter {
|
|
|
822
828
|
}
|
|
823
829
|
const { unstyled: text, negated } = unstyled.value;
|
|
824
830
|
const hasLeadingSign = text.startsWith("+") || text.startsWith("-");
|
|
825
|
-
if (
|
|
831
|
+
if ((this.styles & DotNetNumberStyles.allowLeadingSign) !==
|
|
832
|
+
DotNetNumberStyles.allowLeadingSign &&
|
|
826
833
|
hasLeadingSign) {
|
|
827
834
|
return new Err("Unallowed leading sign character");
|
|
828
835
|
}
|
|
829
836
|
// Note: We always allow exponent characters during input parsing, regardless of format.
|
|
830
837
|
// The format string only affects output formatting, not input parsing capabilities.
|
|
831
838
|
// Scientific notation like "1.23e5" should always be parseable.
|
|
832
|
-
if (
|
|
839
|
+
if ((this.styles & DotNetNumberStyles.allowDecimalPoint) !==
|
|
840
|
+
DotNetNumberStyles.allowDecimalPoint &&
|
|
833
841
|
this.hasDecimalChar(text)) {
|
|
834
842
|
return new Err("Unallowed decimal point character");
|
|
835
843
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/code/number-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EAEnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AA+B3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,qBAAqB;IACtB,MAAM,GAAG,EAAE,CAAC;IACd,gBAAgB,GAAG,KAAK,CAAC;IACzB,SAAS,GAAG,CAAC,CAAC;IACd,QAAQ,GAAoB,EAAE,CAAC;IAEvC;;;;;;;;;;;;;;OAcG;IACH,MAAM,GAAyB,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAElE;;OAEG;IACH,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC;IAE9C;;;OAGG;IACH,cAAc,GAAG,EAAE,CAAC;IAEV,iBAAiB,CAAC,KAAa;QACvC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,gBAAgB;YACnB,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,4CAA4C;YAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;YAClD,MAAM,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;YAExG,sCAAsC;YACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG;gBACd;oBACE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB;oBAC1E,UAAU,EAAE,KAAK;oBACjB,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;oBAChB,KAAK,EAAE,CAAC;iBACT;aACF,CAAC;YACF,OAAO,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,UAAU,EAAQ,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,OAAO,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,IAAI,cAAc,GAAc,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnD,cAAc,GAAG,EAAE,CAAC;gBACpB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,mBAAmB;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC1B,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC9D,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBAC9C,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,iBAAiB;gBACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;oBACpB,OAAO,IAAI,GAAG,CACZ,oDAAoD,CAAC,EAAE,CACxD,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBACD,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC9D,KAAK,EAAE,CAAC;gBACV,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7C,CAAC,IAAI,KAAK,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC9D,KAAK,EAAE,CAAC;gBACV,CAAC;gBACD,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9C,CAAC,IAAI,KAAK,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC3C,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC1C,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD,IAAI,YAAY,GAAuB,MAAM,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEd,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBAClE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAc,CAAC;oBACtC,CAAC,EAAE,CAAC;gBACN,CAAC;gBAED,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC9C,cAAc,EAAE,CAAC;oBACjB,CAAC,EAAE,CAAC;gBACN,CAAC;gBAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;oBACvB,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,UAAU;wBAChB,YAAY;wBACZ,YAAY;wBACZ,cAAc;qBACf,CAAC,CAAC;oBACH,CAAC,GAAG,CAAC,CAAC;oBACN,SAAS;gBACX,CAAC;YACH,CAAC;YAED,4CAA4C;YAC5C,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,CAAC,EAAE,CAAC;QACN,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAEO,cAAc,CAAC,QAAmB;QACxC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,UAAU,GAAG,IAAI,CAAC;gBAClB,YAAY,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,IAAI,aAAa,GACf,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7D,OAAO,aAAa,IAAI,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1E,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,+CAA+C;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClD,IAAI,UAAU,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;oBACnC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;oBAC3C,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACvE,CAAC;IAES,YAAY,CACpB,KAAsB,EACtB,eAAwB,IAAI;QAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEnE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,YAAqB;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,QAAQ,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,KAAK,GAAG,EAAE,WAAW;gBACnB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/C,KAAK,GAAG,EAAE,0BAA0B;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9C,KAAK,GAAG,EAAE,cAAc;gBACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC;YACtE,KAAK,GAAG,EAAE,cAAc;gBACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACjD,KAAK,GAAG,EAAE,UAAU;gBAClB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC;YAClE,KAAK,GAAG,EAAE,+BAA+B;gBACvC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9C,KAAK,GAAG,EAAE,UAAU;gBAClB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9C,KAAK,GAAG,EAAE,aAAa;gBACrB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,GAAG,EAAE,cAAc;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC;YAC9D,KAAK,GAAG,EAAE,SAAS;gBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC;YACjE;gBACE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,SAAiB;QACrD,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAChE,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,KAAK;YACf,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,SAAiB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAEO,iBAAiB,CACvB,KAAa,EACb,SAAiB,EACjB,SAAkB;QAElB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACvE,CAAC;IAEO,gBAAgB,CAAC,KAAa,EAAE,SAAiB;QACvD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAEO,aAAa,CACnB,KAAa,EACb,SAAiB,EACjB,SAAkB;QAElB,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzC,uDAAuD;QACvD,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,MAAM,GAAG,SAAS;gBACpB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACzB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5B,sCAAsC;YACtC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,kBAAkB;QAClB,IAAI,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrC,4CAA4C;QAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,SAAiB;QACpD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YACrD,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;YACxB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,SAAiB;QACpD,MAAM,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YACrD,KAAK,EAAE,SAAS;YAChB,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,SAAS,CACf,KAAa,EACb,SAAiB,EACjB,SAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3D,CAAC;IAEO,YAAY,CAClB,KAAa,EACb,SAAiB,EACjB,SAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,KAAa,EAAE,YAAqB;QACvD,gDAAgD;QAChD,IAAI,OAAsB,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAEO,iBAAiB,CACvB,KAAa,EACb,OAAsB,EACtB,YAAqB;QAErB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,UAAU,GAAG,IAAI,CAAC;gBAClB,YAAY,IAAI,GAAG,CAAC;YACtB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,WAAW,GAAG,IAAI,CAAC;gBACnB,YAAY,IAAI,IAAI,CAAC;YACvB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACtB,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,uDAAuD;QACvD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GACX,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC;YAC7C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEtC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,IAAI,GAAG,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,IAAI,EAAE,CAAC;QAE/B,mDAAmD;QACnD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,wBAAwB;QACxB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3C,UAAU,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7C,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAEjC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACjD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,CAAC;YAChB,CAAC;iBAAM,IACL,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;gBAC/C,CAAC,UAAU;gBACX,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,EACrC,CAAC;gBACD,qEAAqE;gBACrE,IAAI,YAAY,GAAG,MAAM,CAAC;gBAE1B,qCAAqC;gBACrC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;wBACjC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;gBACnE,CAAC;gBAED,MAAM,IAAI,YAAY,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IACL,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;gBAC/C,CAAC,WAAW;gBACZ,UAAU,IAAI,CAAC;gBACf,CAAC,GAAG,UAAU,EACd,CAAC;gBACD,2EAA2E;gBAC3E,MAAM,IAAI,OAAO,CAAC;gBAClB,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,qDAAqD;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,uBAAuB,CAC7B,KAAa,EACb,OAAsB;QAEtB,wBAAwB;QACxB,IAAI,YAAiC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE3C,uDAAuD;QACvD,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;QACvC,eAAe,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAC7B,CAAC;QAEF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAErE,eAAe;QACf,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM;aAClB,QAAQ,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAEnD,IAAI,YAAY,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;YACtC,MAAM,IAAI,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;QACvC,CAAC;aAAM,IAAI,YAAY,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;YAC7C,MAAM,IAAI,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,oBAAoB,CAAC,KAAa;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,GAAG,GAAG,UAAU,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,eAAe,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC/B,eAAe,GAAG,GAAG,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,eAAe,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACzC,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACpD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CACpB,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAW;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IACE,OAAO,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO,CAAC,MAAM,GAAG,EAAE;YACnB,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC/B,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAES,mBAAmB,CAC3B,KAAa;QAEb,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EACvD,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClE,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACnE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,IACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;YACxD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EACvD,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YACrD,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EACtB,CAAC;YACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClE,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,sBAAuB,SAAQ,qBAAqB;IAC/D;;;;;OAKG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpE,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YACtD,cAAc,EACd,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,YAAY,GAChB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;gBACrD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/B,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,IAAI,CAAC,cAAc,CAAC,gBAAgB,EACpC,GAAG,CACJ,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,OAAO,IAAI,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,oBAAqB,SAAQ,qBAAqB;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEpE,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YACtD,cAAc,EACd,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QACD,wFAAwF;QACxF,oFAAoF;QACpF,gEAAgE;QAChE,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EACzB,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QAED,+FAA+F;QAC/F,kFAAkF;QAClF,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,QAAQ,EAAE,CAAC;YACb,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE1C,uEAAuE;YACvE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CACzC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EACpC,GAAG,CACJ,CAAC;YACF,UAAU,GAAG,kBAAkB,GAAG,QAAQ,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,sBAAuB,SAAQ,qBAAqB;IAC/D;;;;;;OAMG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,oBAAoB,CAC9B,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CACjD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,QAAgB;QAC5B,MAAM,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACnD,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAErD,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"number-formatter.js","sourceRoot":"","sources":["../../src/code/number-formatter.ts"],"names":[],"mappings":"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"}
|