@pbkware/fielded-text-web 0.1.2 → 0.2.1
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 +19 -41
- package/dist/api/ft-reader.js +1 -1
- package/dist/api/ft-reader.js.map +1 -1
- package/dist/api/ft-serialization.js +4 -4
- package/dist/api/ft-serialization.js.map +1 -1
- package/dist/factory/ft-field-factory.js +1 -1
- package/dist/factory/ft-field-factory.js.map +1 -1
- package/dist/factory/ft-sequence-redirect-factory.js +3 -3
- package/dist/factory/ft-sequence-redirect-factory.js.map +1 -1
- package/dist/fields/definitions/ft-boolean-field-definition.js +1 -1
- package/dist/fields/definitions/ft-boolean-field-definition.js.map +1 -1
- package/dist/fields/definitions/ft-date-time-field-definition.js +1 -1
- package/dist/fields/definitions/ft-date-time-field-definition.js.map +1 -1
- package/dist/fields/definitions/ft-decimal-field-definition.js +1 -1
- package/dist/fields/definitions/ft-decimal-field-definition.js.map +1 -1
- package/dist/fields/definitions/ft-field-definition.js +1 -1
- package/dist/fields/definitions/ft-field-definition.js.map +1 -1
- package/dist/fields/definitions/ft-float-field-definition.js +1 -1
- package/dist/fields/definitions/ft-float-field-definition.js.map +1 -1
- package/dist/fields/definitions/ft-integer-field-definition.js +1 -1
- package/dist/fields/definitions/ft-integer-field-definition.js.map +1 -1
- package/dist/fields/definitions/ft-string-field-definition.js +1 -1
- package/dist/fields/definitions/ft-string-field-definition.js.map +1 -1
- package/dist/fields/instances/errors/ft-field-null-error.js +11 -0
- package/dist/fields/instances/errors/ft-field-null-error.js.map +1 -0
- package/dist/fields/instances/errors/ft-field-type-error.js +11 -0
- package/dist/fields/instances/errors/ft-field-type-error.js.map +1 -0
- package/dist/fields/instances/ft-boolean-field.js +14 -6
- package/dist/fields/instances/ft-boolean-field.js.map +1 -1
- package/dist/fields/instances/ft-date-time-field.js +26 -8
- package/dist/fields/instances/ft-date-time-field.js.map +1 -1
- package/dist/fields/instances/ft-decimal-field.js +14 -6
- package/dist/fields/instances/ft-decimal-field.js.map +1 -1
- package/dist/fields/instances/ft-field.js +315 -123
- package/dist/fields/instances/ft-field.js.map +1 -1
- package/dist/fields/instances/ft-float-field.js +14 -6
- package/dist/fields/instances/ft-float-field.js.map +1 -1
- package/dist/fields/instances/ft-generic-field.js +29 -67
- package/dist/fields/instances/ft-generic-field.js.map +1 -1
- package/dist/fields/instances/ft-integer-field.js +24 -8
- package/dist/fields/instances/ft-integer-field.js.map +1 -1
- package/dist/fields/instances/ft-string-field.js +13 -13
- package/dist/fields/instances/ft-string-field.js.map +1 -1
- package/dist/index.d.ts +616 -288
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/meta/sequences/core/ft-meta-sequence-list.js +4 -2
- package/dist/meta/sequences/core/ft-meta-sequence-list.js.map +1 -1
- package/dist/meta/sequences/redirects/ft-meta-sequence-redirect-list.js +1 -1
- package/dist/meta/sequences/redirects/ft-meta-sequence-redirect-list.js.map +1 -1
- package/dist/meta-serialization/format/ft-xml-meta-serialization.js +4 -6
- package/dist/meta-serialization/format/ft-xml-meta-serialization.js.map +1 -1
- package/dist/meta-serialization/styles/ft-number-styles-meta-serialization.js +1 -1
- package/dist/meta-serialization/styles/ft-number-styles-meta-serialization.js.map +1 -1
- package/dist/meta-serialization/types/date-time-meta-serialization.js +1 -1
- package/dist/meta-serialization/types/date-time-meta-serialization.js.map +1 -1
- package/dist/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.js +1 -1
- package/dist/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.js.map +1 -1
- package/dist/meta-serialization/types/float-meta-serialization.js +2 -2
- package/dist/meta-serialization/types/float-meta-serialization.js.map +1 -1
- package/dist/meta-serialization/types/integer-float-meta-serialization.js +2 -2
- package/dist/meta-serialization/types/integer-float-meta-serialization.js.map +1 -1
- package/dist/meta-serialization/utils/implicit-explicit-index-sorter.js +4 -10
- package/dist/meta-serialization/utils/implicit-explicit-index-sorter.js.map +1 -1
- package/dist/meta-serialization/utils/meta-serialization-sequence-name-resolver.js +25 -2
- package/dist/meta-serialization/utils/meta-serialization-sequence-name-resolver.js.map +1 -1
- package/dist/meta-serialization/utils/sequence-item-field-indices.js +2 -2
- package/dist/meta-serialization/utils/sequence-item-field-indices.js.map +1 -1
- package/dist/sequences/redirects/ft-case-insensitive-string-sequence-redirect.js +3 -1
- package/dist/sequences/redirects/ft-case-insensitive-string-sequence-redirect.js.map +1 -1
- package/dist/serialization/char-reader.js +2 -2
- package/dist/serialization/char-reader.js.map +1 -1
- package/dist/serialization/declaration-parser.js +1 -1
- package/dist/serialization/declaration-parser.js.map +1 -1
- package/dist/serialization/delimited-field-parser.js.map +1 -1
- package/dist/serialization/events/ft-field-heading-ready-event-args.js.map +1 -0
- package/dist/serialization/events/ft-field-value-ready-event-args.js.map +1 -0
- package/dist/serialization/events/ft-heading-line-finished-event-args.js.map +1 -0
- package/dist/serialization/events/ft-heading-line-started-event-args.js.map +1 -0
- package/dist/serialization/events/ft-record-finished-event-args.js.map +1 -0
- package/dist/serialization/events/ft-record-started-event-args.js.map +1 -0
- package/dist/serialization/events/ft-sequence-redirected-event-args.js.map +1 -0
- package/dist/serialization/fixed-width-field-parser.js +1 -1
- package/dist/serialization/fixed-width-field-parser.js.map +1 -1
- package/dist/serialization/ft-declared-parameters.js +9 -8
- package/dist/serialization/ft-declared-parameters.js.map +1 -1
- package/dist/serialization/{serialization-core.js → ft-serialization-core.js} +114 -11
- package/dist/serialization/ft-serialization-core.js.map +1 -0
- package/dist/{types/errors/ft-serialization-error.js → serialization/ft-serialization-error-code.js} +2 -2
- package/dist/serialization/ft-serialization-error-code.js.map +1 -0
- package/dist/{types/errors/ft-serialization-exception.js → serialization/ft-serialization-error.js} +7 -7
- package/dist/serialization/ft-serialization-error.js.map +1 -0
- package/dist/serialization/ft-serialization-reader.js +19 -47
- package/dist/serialization/ft-serialization-reader.js.map +1 -1
- package/dist/serialization/ft-serialization-writer.js +86 -49
- package/dist/serialization/ft-serialization-writer.js.map +1 -1
- package/dist/serialization/heading-line-record-parser.js +7 -7
- package/dist/serialization/heading-line-record-parser.js.map +1 -1
- package/dist/serialization/line-parser.js +1 -1
- package/dist/serialization/line-parser.js.map +1 -1
- package/dist/serialization/{ft-text-reader.js → text-reader/ft-string-reader.js} +1 -13
- package/dist/serialization/text-reader/ft-string-reader.js.map +1 -0
- package/dist/serialization/text-reader/ft-text-reader.js +13 -0
- package/dist/serialization/text-reader/ft-text-reader.js.map +1 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types/enums/ft-heading-constraint.js +5 -0
- package/dist/types/enums/ft-heading-constraint.js.map +1 -1
- package/dist/utils/ft-comma-text.js +247 -0
- package/dist/utils/ft-comma-text.js.map +1 -0
- package/dist/utils/ft-internal-error.js +129 -0
- package/dist/utils/ft-internal-error.js.map +1 -0
- package/dist/utils/ft-result.js +2 -0
- package/dist/utils/ft-result.js.map +1 -0
- package/dist/utils/number-parse.js +33 -0
- package/dist/utils/number-parse.js.map +1 -0
- package/dist/utils/string-builder.js +40 -0
- package/dist/utils/string-builder.js.map +1 -0
- package/package.json +25 -27
- package/src/api/ft-reader.ts +2 -1
- package/src/api/ft-serialization.ts +13 -13
- package/src/factory/ft-field-factory.ts +1 -1
- package/src/factory/ft-sequence-redirect-factory.ts +4 -4
- package/src/fields/definitions/ft-boolean-field-definition.ts +1 -1
- package/src/fields/definitions/ft-date-time-field-definition.ts +1 -1
- package/src/fields/definitions/ft-decimal-field-definition.ts +1 -1
- package/src/fields/definitions/ft-field-definition.ts +1 -1
- package/src/fields/definitions/ft-float-field-definition.ts +1 -1
- package/src/fields/definitions/ft-generic-field-definition.ts +1 -1
- package/src/fields/definitions/ft-integer-field-definition.ts +1 -1
- package/src/fields/definitions/ft-string-field-definition.ts +1 -1
- package/src/fields/instances/errors/ft-field-null-error.ts +10 -0
- package/src/fields/instances/errors/ft-field-type-error.ts +10 -0
- package/src/fields/instances/ft-boolean-field.ts +17 -6
- package/src/fields/instances/ft-date-time-field.ts +28 -7
- package/src/fields/instances/ft-decimal-field.ts +17 -6
- package/src/fields/instances/ft-field.ts +329 -145
- package/src/fields/instances/ft-float-field.ts +17 -6
- package/src/fields/instances/ft-generic-field.ts +32 -88
- package/src/fields/instances/ft-integer-field.ts +29 -7
- package/src/fields/instances/ft-string-field.ts +15 -12
- package/src/index.ts +21 -12
- package/src/meta/sequences/core/ft-meta-sequence-list.ts +4 -3
- package/src/meta/sequences/redirects/ft-meta-sequence-redirect-list.ts +1 -1
- package/src/meta-serialization/format/ft-xml-meta-serialization.ts +4 -7
- package/src/meta-serialization/styles/ft-number-styles-meta-serialization.ts +1 -1
- package/src/meta-serialization/types/date-time-meta-serialization.ts +1 -1
- package/src/meta-serialization/types/enums/meta-element-type-meta-serialization.ts +4 -4
- package/src/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.ts +1 -1
- package/src/meta-serialization/types/float-meta-serialization.ts +2 -2
- package/src/meta-serialization/types/integer-float-meta-serialization.ts +2 -2
- package/src/meta-serialization/utils/implicit-explicit-index-sorter.ts +18 -12
- package/src/meta-serialization/utils/meta-serialization-sequence-name-resolver.ts +25 -2
- package/src/meta-serialization/utils/sequence-item-field-indices.ts +2 -2
- package/src/sequences/redirects/ft-case-insensitive-string-sequence-redirect.ts +3 -1
- package/src/serialization/char-reader.ts +2 -2
- package/src/serialization/declaration-parser.ts +1 -1
- package/src/serialization/delimited-field-parser.ts +3 -3
- package/src/serialization/fixed-width-field-parser.ts +4 -4
- package/src/serialization/ft-declared-parameters.ts +12 -11
- package/src/serialization/{serialization-core.ts → ft-serialization-core.ts} +133 -17
- package/src/{types/errors/ft-serialization-error.ts → serialization/ft-serialization-error-code.ts} +2 -2
- package/src/{types/errors/ft-serialization-exception.ts → serialization/ft-serialization-error.ts} +14 -9
- package/src/serialization/ft-serialization-reader.ts +21 -54
- package/src/serialization/ft-serialization-writer.ts +97 -64
- package/src/serialization/heading-line-record-parser.ts +10 -10
- package/src/serialization/line-parser.ts +1 -1
- package/src/serialization/{ft-text-reader.ts → text-reader/ft-string-reader.ts} +1 -24
- package/src/serialization/text-reader/ft-text-reader.ts +24 -0
- package/src/types/enums/ft-heading-constraint.ts +5 -0
- package/src/utils/ft-comma-text.ts +285 -0
- package/src/utils/ft-internal-error.ts +143 -0
- package/src/utils/ft-result.ts +1 -0
- package/src/utils/number-parse.ts +35 -0
- package/src/utils/string-builder.ts +47 -0
- package/LICENSE +0 -21
- package/dist/serialization/ft-text-reader.js.map +0 -1
- package/dist/serialization/serialization-core.js.map +0 -1
- package/dist/types/errors/ft-internal-error.js +0 -14
- package/dist/types/errors/ft-internal-error.js.map +0 -1
- package/dist/types/errors/ft-serialization-error.js.map +0 -1
- package/dist/types/errors/ft-serialization-exception.js.map +0 -1
- package/dist/types/events/ft-field-heading-ready-event-args.js.map +0 -1
- package/dist/types/events/ft-field-value-ready-event-args.js.map +0 -1
- package/dist/types/events/ft-heading-line-finished-event-args.js.map +0 -1
- package/dist/types/events/ft-heading-line-started-event-args.js.map +0 -1
- package/dist/types/events/ft-record-finished-event-args.js.map +0 -1
- package/dist/types/events/ft-record-started-event-args.js.map +0 -1
- package/dist/types/events/ft-sequence-redirected-event-args.js.map +0 -1
- package/src/types/errors/ft-internal-error.ts +0 -15
- /package/dist/{types → serialization}/events/ft-field-heading-ready-event-args.js +0 -0
- /package/dist/{types → serialization}/events/ft-field-value-ready-event-args.js +0 -0
- /package/dist/{types → serialization}/events/ft-heading-line-finished-event-args.js +0 -0
- /package/dist/{types → serialization}/events/ft-heading-line-started-event-args.js +0 -0
- /package/dist/{types → serialization}/events/ft-record-finished-event-args.js +0 -0
- /package/dist/{types → serialization}/events/ft-record-started-event-args.js +0 -0
- /package/dist/{types → serialization}/events/ft-sequence-redirected-event-args.js +0 -0
- /package/src/{types → serialization}/events/ft-field-heading-ready-event-args.ts +0 -0
- /package/src/{types → serialization}/events/ft-field-value-ready-event-args.ts +0 -0
- /package/src/{types → serialization}/events/ft-heading-line-finished-event-args.ts +0 -0
- /package/src/{types → serialization}/events/ft-heading-line-started-event-args.ts +0 -0
- /package/src/{types → serialization}/events/ft-record-finished-event-args.ts +0 -0
- /package/src/{types → serialization}/events/ft-record-started-event-args.ts +0 -0
- /package/src/{types → serialization}/events/ft-sequence-redirected-event-args.ts +0 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import { FtUnreachableCaseError } from './ft-internal-error.js';
|
|
2
|
+
import { FtErr, FtOk, FtResult } from './ft-result.js';
|
|
3
|
+
import { StringBuilder } from './string-builder.js';
|
|
4
|
+
|
|
5
|
+
/** @public */
|
|
6
|
+
export namespace FtCommaText {
|
|
7
|
+
const enum InQuotes {
|
|
8
|
+
NotIn,
|
|
9
|
+
In,
|
|
10
|
+
CheckingStuffed,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const delimiterChar = ',';
|
|
14
|
+
export const quoteChar = '"';
|
|
15
|
+
export const pairQuoteChar = quoteChar + quoteChar;
|
|
16
|
+
const quoteCharGlobalRegEx = /"/g;
|
|
17
|
+
const pairQuoteCharGlobalRegEx = /""/g;
|
|
18
|
+
|
|
19
|
+
export function from2Values(value1: string, value2: string): string {
|
|
20
|
+
const array: string[] = new Array<string>(2);
|
|
21
|
+
array[0] = value1;
|
|
22
|
+
array[1] = value2;
|
|
23
|
+
return fromStringArray(array);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function from3Values(value1: string, value2: string, value3: string): string {
|
|
27
|
+
const array: string[] = new Array<string>(3);
|
|
28
|
+
array[0] = value1;
|
|
29
|
+
array[1] = value2;
|
|
30
|
+
array[2] = value3;
|
|
31
|
+
return fromStringArray(array);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function from4Values(value1: string, value2: string, value3: string, value4: string): string {
|
|
35
|
+
const array: string[] = new Array<string>(4);
|
|
36
|
+
array[0] = value1;
|
|
37
|
+
array[1] = value2;
|
|
38
|
+
array[2] = value3;
|
|
39
|
+
array[3] = value4;
|
|
40
|
+
return fromStringArray(array);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function fromStringArray(value: readonly string[]): string {
|
|
44
|
+
function appendQuotedString(unquotedValue: string) {
|
|
45
|
+
resultBldr.append(quoteChar);
|
|
46
|
+
const quoteStuffedValue = unquotedValue.replace(quoteCharGlobalRegEx, pairQuoteChar);
|
|
47
|
+
resultBldr.append(quoteStuffedValue);
|
|
48
|
+
resultBldr.append(quoteChar);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const resultBldr = new StringBuilder();
|
|
52
|
+
|
|
53
|
+
for (let i = 0; i < value.length; i++) {
|
|
54
|
+
if (i > 0) {
|
|
55
|
+
resultBldr.append(delimiterChar);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const element = value[i];
|
|
59
|
+
|
|
60
|
+
if (element.includes(delimiterChar)) {
|
|
61
|
+
appendQuotedString(element);
|
|
62
|
+
} else {
|
|
63
|
+
const trimmedValue = element.trim();
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
|
|
65
|
+
if (trimmedValue.length > 0 && trimmedValue[0] === quoteChar) {
|
|
66
|
+
appendQuotedString(element);
|
|
67
|
+
} else {
|
|
68
|
+
resultBldr.append(element);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return resultBldr.toString();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function fromIntegerArray(value: number[]): string {
|
|
77
|
+
const strArray = new Array<string>(value.length);
|
|
78
|
+
for (let i = 0; i < value.length; i++) {
|
|
79
|
+
strArray[i] = value[i].toString(10);
|
|
80
|
+
}
|
|
81
|
+
return fromStringArray(strArray);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function toStringArray(value: string): string[] {
|
|
85
|
+
const toResult = tryToStringArray(value, false);
|
|
86
|
+
if (toResult.isOk()) {
|
|
87
|
+
return toResult.value;
|
|
88
|
+
} else {
|
|
89
|
+
const errorIdPlusExtra = toResult.error;
|
|
90
|
+
const errorId = errorIdPlusExtra.errorId;
|
|
91
|
+
const message = `CommaText error: ${errorIdToEnglish(errorId)}: ${value}`;
|
|
92
|
+
throw new Error(message, errorId, errorIdPlusExtra.extraInfo);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function tryToStringArray(
|
|
97
|
+
value: string,
|
|
98
|
+
strict = true,
|
|
99
|
+
): FtResult<string[], ErrorIdPlusExtra<typeof ErrorId.QuotesNotClosedInLastElement | typeof ErrorId.UnexpectedCharAfterQuotedElement>> {
|
|
100
|
+
function addElement(endPos: number, removeStuffedQuotes: boolean) {
|
|
101
|
+
let elemStr = value.substring(startPos, endPos + 1);
|
|
102
|
+
if (removeStuffedQuotes) {
|
|
103
|
+
elemStr = elemStr.replace(pairQuoteCharGlobalRegEx, quoteChar);
|
|
104
|
+
}
|
|
105
|
+
resultArray.push(elemStr.trim());
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const resultArray: string[] = [];
|
|
109
|
+
let inQuotes = InQuotes.NotIn;
|
|
110
|
+
let waitingForDelimiter = false;
|
|
111
|
+
let startPos = 0;
|
|
112
|
+
const valueLength = value.length;
|
|
113
|
+
|
|
114
|
+
for (let i = 0; i < valueLength; i++) {
|
|
115
|
+
const valueChar = value[i];
|
|
116
|
+
if (waitingForDelimiter) {
|
|
117
|
+
if (valueChar === delimiterChar) {
|
|
118
|
+
waitingForDelimiter = false;
|
|
119
|
+
startPos = i + 1;
|
|
120
|
+
} else {
|
|
121
|
+
if (strict && !/\s/.test(valueChar)) {
|
|
122
|
+
return new FtErr({ errorId: ErrorId.UnexpectedCharAfterQuotedElement, extraInfo: `${i}` });
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
} else {
|
|
126
|
+
switch (inQuotes) {
|
|
127
|
+
case InQuotes.NotIn:
|
|
128
|
+
switch (valueChar) {
|
|
129
|
+
case delimiterChar:
|
|
130
|
+
addElement(i - 1, false);
|
|
131
|
+
startPos = i + 1;
|
|
132
|
+
break;
|
|
133
|
+
case quoteChar:
|
|
134
|
+
if (value.substring(startPos, i).trim().length === 0) {
|
|
135
|
+
inQuotes = InQuotes.In;
|
|
136
|
+
startPos = i + 1;
|
|
137
|
+
}
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
case InQuotes.In:
|
|
142
|
+
if (valueChar === quoteChar) {
|
|
143
|
+
inQuotes = InQuotes.CheckingStuffed;
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
case InQuotes.CheckingStuffed:
|
|
147
|
+
switch (valueChar) {
|
|
148
|
+
case quoteChar:
|
|
149
|
+
inQuotes = InQuotes.In;
|
|
150
|
+
break;
|
|
151
|
+
case delimiterChar:
|
|
152
|
+
inQuotes = InQuotes.NotIn;
|
|
153
|
+
addElement(i - 2, true);
|
|
154
|
+
startPos = i + 1;
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
inQuotes = InQuotes.NotIn;
|
|
158
|
+
addElement(i - 2, true);
|
|
159
|
+
waitingForDelimiter = true;
|
|
160
|
+
|
|
161
|
+
if (strict && !/\s/g.test(valueChar)) {
|
|
162
|
+
return new FtErr({ errorId: ErrorId.UnexpectedCharAfterQuotedElement, extraInfo: `${i}` });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
break;
|
|
166
|
+
default:
|
|
167
|
+
throw new FtUnreachableCaseError('CTTTSA66699', inQuotes);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (!waitingForDelimiter) {
|
|
173
|
+
switch (inQuotes) {
|
|
174
|
+
case InQuotes.NotIn:
|
|
175
|
+
if (startPos <= valueLength) {
|
|
176
|
+
addElement(valueLength, false);
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
case InQuotes.In:
|
|
180
|
+
if (!strict) {
|
|
181
|
+
addElement(valueLength, true);
|
|
182
|
+
} else {
|
|
183
|
+
return new FtErr({ errorId: ErrorId.QuotesNotClosedInLastElement, extraInfo: value });
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
case InQuotes.CheckingStuffed:
|
|
187
|
+
addElement(valueLength - 2, true);
|
|
188
|
+
break;
|
|
189
|
+
default:
|
|
190
|
+
throw new FtUnreachableCaseError('CTTSAWR24240', inQuotes);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return new FtOk(resultArray);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export interface ToIntegerArrayResult {
|
|
198
|
+
success: boolean;
|
|
199
|
+
array: number[];
|
|
200
|
+
errorText: string;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export function toIntegerArrayWithResult(
|
|
204
|
+
value: string,
|
|
205
|
+
): FtResult<
|
|
206
|
+
number[],
|
|
207
|
+
ErrorIdPlusExtra<
|
|
208
|
+
typeof ErrorId.QuotesNotClosedInLastElement | typeof ErrorId.UnexpectedCharAfterQuotedElement | typeof ErrorId.InvalidIntegerString
|
|
209
|
+
>
|
|
210
|
+
> {
|
|
211
|
+
const strResult = tryToStringArray(value, true);
|
|
212
|
+
if (strResult.isErr()) {
|
|
213
|
+
return strResult.createType();
|
|
214
|
+
} else {
|
|
215
|
+
const strArray = strResult.value;
|
|
216
|
+
const intResult = new Array<number>(strArray.length);
|
|
217
|
+
for (let i = 0; i < strArray.length; i++) {
|
|
218
|
+
intResult[i] = +strArray[i];
|
|
219
|
+
if (isNaN(intResult[i])) {
|
|
220
|
+
return new FtErr({ errorId: ErrorId.InvalidIntegerString, extraInfo: `${i}, ${strArray[i]}` });
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
return new FtOk(intResult);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export interface StrictValidateResult {
|
|
229
|
+
success: boolean;
|
|
230
|
+
errorText: string;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
export function strictValidate(
|
|
234
|
+
value: string,
|
|
235
|
+
): FtResult<boolean, ErrorIdPlusExtra<typeof ErrorId.QuotesNotClosedInLastElement | typeof ErrorId.UnexpectedCharAfterQuotedElement>> {
|
|
236
|
+
const stringResult = tryToStringArray(value, true);
|
|
237
|
+
if (stringResult.isErr()) {
|
|
238
|
+
return stringResult.createType();
|
|
239
|
+
} else {
|
|
240
|
+
return new FtOk(true);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export const ErrorId = {
|
|
245
|
+
UnexpectedCharAfterQuotedElement: 'UnexpectedCharAfterQuotedElement',
|
|
246
|
+
QuotesNotClosedInLastElement: 'QuotesNotClosedInLastElement',
|
|
247
|
+
InvalidIntegerString: 'InvalidIntegerString',
|
|
248
|
+
} as const;
|
|
249
|
+
|
|
250
|
+
export type ErrorId = (typeof ErrorId)[keyof typeof ErrorId];
|
|
251
|
+
|
|
252
|
+
export function errorIdToEnglish(errorId: ErrorId) {
|
|
253
|
+
switch (errorId) {
|
|
254
|
+
case ErrorId.UnexpectedCharAfterQuotedElement:
|
|
255
|
+
return 'Unexpected char after quoted element';
|
|
256
|
+
case ErrorId.QuotesNotClosedInLastElement:
|
|
257
|
+
return 'Quotes not closed in last element';
|
|
258
|
+
case ErrorId.InvalidIntegerString:
|
|
259
|
+
return 'Invalid integer string';
|
|
260
|
+
default:
|
|
261
|
+
throw new FtUnreachableCaseError('CTEOITE98114', errorId);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export interface ErrorIdPlusExtra<T extends ErrorId> {
|
|
266
|
+
readonly errorId: T;
|
|
267
|
+
readonly extraInfo: string;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export namespace ErrorIdPlusExtra {
|
|
271
|
+
export function toEnglish(errorIdPlusExtra: ErrorIdPlusExtra<ErrorId>) {
|
|
272
|
+
return `${errorIdToEnglish(errorIdPlusExtra.errorId)}: ${errorIdPlusExtra.extraInfo}`;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
export class Error extends globalThis.Error {
|
|
277
|
+
constructor(
|
|
278
|
+
message: string,
|
|
279
|
+
readonly errorId: ErrorId,
|
|
280
|
+
readonly extraInfo: string,
|
|
281
|
+
) {
|
|
282
|
+
super(message);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/** @public */
|
|
2
|
+
export abstract class FtInternalError extends Error {
|
|
3
|
+
constructor(
|
|
4
|
+
readonly code: string,
|
|
5
|
+
message: string | undefined,
|
|
6
|
+
errorType: string,
|
|
7
|
+
) {
|
|
8
|
+
super(message === undefined || message === '' ? `${errorType}: ${code}` : `${errorType}: ${code}: ${message}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @public */
|
|
13
|
+
export namespace FtInternalError {
|
|
14
|
+
export const AssertErrorType = 'FtAssert';
|
|
15
|
+
export const UnreachableCaseErrorType = 'FtUnreachableCase';
|
|
16
|
+
|
|
17
|
+
export const ExtraFormatting = {
|
|
18
|
+
Ignore: 'Ignore',
|
|
19
|
+
PrependWithColonSpace: 'PrependWithColonSpace',
|
|
20
|
+
PrependWithColonSpaceQuoteError: 'PrependWithColonSpaceQuoteError',
|
|
21
|
+
Postpend: 'Postpend',
|
|
22
|
+
PostpendColonSpace: 'PostpendColonSpace',
|
|
23
|
+
PostpendColonSpaceQuoted: 'PostpendColonSpaceQuoted',
|
|
24
|
+
} as const;
|
|
25
|
+
|
|
26
|
+
export type ExtraFormatting = (typeof ExtraFormatting)[keyof typeof ExtraFormatting];
|
|
27
|
+
|
|
28
|
+
export function formatExtra(existingMessage: string, extraMessage: string, extraFormatting: ExtraFormatting) {
|
|
29
|
+
switch (extraFormatting) {
|
|
30
|
+
case ExtraFormatting.Ignore:
|
|
31
|
+
return existingMessage;
|
|
32
|
+
case ExtraFormatting.PrependWithColonSpace:
|
|
33
|
+
return `${extraMessage}: ${existingMessage}`;
|
|
34
|
+
case ExtraFormatting.PrependWithColonSpaceQuoteError:
|
|
35
|
+
return `${extraMessage}: "${existingMessage}"`;
|
|
36
|
+
case ExtraFormatting.Postpend:
|
|
37
|
+
return `${existingMessage}${extraMessage}`;
|
|
38
|
+
case ExtraFormatting.PostpendColonSpace:
|
|
39
|
+
return `${existingMessage}: ${extraMessage}`;
|
|
40
|
+
case ExtraFormatting.PostpendColonSpaceQuoted:
|
|
41
|
+
return `${existingMessage}: "${extraMessage}"`;
|
|
42
|
+
default:
|
|
43
|
+
throw new FtUnreachableCaseError('IEAIECINE87339', extraFormatting);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function appendToErrorMessage(e: unknown, appendText: string) {
|
|
48
|
+
if (e instanceof Error) {
|
|
49
|
+
e.message += appendText;
|
|
50
|
+
return e;
|
|
51
|
+
} else {
|
|
52
|
+
if (typeof e === 'string') {
|
|
53
|
+
e += appendText;
|
|
54
|
+
return e;
|
|
55
|
+
} else {
|
|
56
|
+
return e; // Do not know how to append
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function prependErrorMessage(e: unknown, prependText: string) {
|
|
62
|
+
if (e instanceof Error) {
|
|
63
|
+
e.message = prependText + e.message;
|
|
64
|
+
return e;
|
|
65
|
+
} else {
|
|
66
|
+
if (typeof e === 'string') {
|
|
67
|
+
e = prependText + e;
|
|
68
|
+
return e;
|
|
69
|
+
} else {
|
|
70
|
+
return e; // Do not know how to prepend
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function createTypeIfNotError<E extends Error>(
|
|
76
|
+
e: unknown,
|
|
77
|
+
code: string,
|
|
78
|
+
errorConstructor: new (code: string, message?: string) => E,
|
|
79
|
+
extraMessage?: string,
|
|
80
|
+
extraFormatting?: FtInternalError.ExtraFormatting,
|
|
81
|
+
): Error | E {
|
|
82
|
+
if (e instanceof Error) {
|
|
83
|
+
let message: string;
|
|
84
|
+
if (extraMessage === undefined) {
|
|
85
|
+
message = `${code}: ${e.message}`;
|
|
86
|
+
} else {
|
|
87
|
+
if (extraFormatting === undefined) {
|
|
88
|
+
extraFormatting = FtInternalError.ExtraFormatting.PostpendColonSpaceQuoted;
|
|
89
|
+
}
|
|
90
|
+
const formattedMessage = FtInternalError.formatExtra(e.message, extraMessage, extraFormatting);
|
|
91
|
+
if (formattedMessage.length === 0) {
|
|
92
|
+
message = code;
|
|
93
|
+
} else {
|
|
94
|
+
message = `${code}: ${formattedMessage}`;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
e.message = message;
|
|
98
|
+
return e;
|
|
99
|
+
} else {
|
|
100
|
+
if (typeof e === 'string' && extraFormatting !== undefined) {
|
|
101
|
+
if (extraMessage === undefined) {
|
|
102
|
+
extraMessage = code;
|
|
103
|
+
}
|
|
104
|
+
const message = FtInternalError.formatExtra(e, extraMessage, extraFormatting);
|
|
105
|
+
return new errorConstructor(code, message);
|
|
106
|
+
} else {
|
|
107
|
+
return new errorConstructor(code, extraMessage);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function throwErrorTypeIfPromiseRejected<T>(
|
|
113
|
+
promise: Promise<T>,
|
|
114
|
+
code: string,
|
|
115
|
+
errorConstructor: new (code: string, message?: string) => Error,
|
|
116
|
+
extraMessage?: string,
|
|
117
|
+
extraFormatting?: FtInternalError.ExtraFormatting,
|
|
118
|
+
): void {
|
|
119
|
+
promise.then(
|
|
120
|
+
() => {
|
|
121
|
+
/**/
|
|
122
|
+
},
|
|
123
|
+
(reason: unknown) => {
|
|
124
|
+
throw FtInternalError.createTypeIfNotError(reason, code, errorConstructor, extraMessage, extraFormatting);
|
|
125
|
+
},
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** @public */
|
|
131
|
+
export class FtAssertError extends FtInternalError {
|
|
132
|
+
constructor(code: string, message?: string) {
|
|
133
|
+
super(code, message, 'FtAssert');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/** @public */
|
|
138
|
+
export class FtUnreachableCaseError extends FtInternalError {
|
|
139
|
+
constructor(code: string, value: never) {
|
|
140
|
+
const errorText = `"${String(value)}"`;
|
|
141
|
+
super(code, errorText, 'FtUnreachableCase');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Err as FtErr, Ok as FtOk, Result as FtResult } from '@pbkware/dot-net-date-number-formatting';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function parseIntStrict(value: string) {
|
|
2
|
+
return isStringifiedInteger(value) ? parseInt(value, 10) : undefined;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export function isStringifiedInteger(value: string) {
|
|
6
|
+
const length = value.length;
|
|
7
|
+
|
|
8
|
+
let gotDigit = false;
|
|
9
|
+
|
|
10
|
+
for (let i = 0; i < length; i++) {
|
|
11
|
+
const char = value[i];
|
|
12
|
+
switch (char) {
|
|
13
|
+
case '-': {
|
|
14
|
+
if (i !== 0) {
|
|
15
|
+
return false;
|
|
16
|
+
} else {
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
default: {
|
|
21
|
+
if (!isDigitCharCode(char.charCodeAt(0))) {
|
|
22
|
+
return false;
|
|
23
|
+
} else {
|
|
24
|
+
gotDigit = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return gotDigit;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function isDigitCharCode(charCode: number) {
|
|
34
|
+
return charCode >= 48 && charCode <= 57;
|
|
35
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class StringBuilder {
|
|
2
|
+
private static readonly _defaultInitialCapacity = 10;
|
|
3
|
+
|
|
4
|
+
private _initialCapacity: number;
|
|
5
|
+
private _count = 0;
|
|
6
|
+
private _values: string[];
|
|
7
|
+
|
|
8
|
+
constructor(initialCapacity: number = StringBuilder._defaultInitialCapacity) {
|
|
9
|
+
this._initialCapacity = initialCapacity;
|
|
10
|
+
this._values = new Array<string>(this._initialCapacity);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
get capacity() {
|
|
14
|
+
return this._values.length;
|
|
15
|
+
}
|
|
16
|
+
set capacity(newCapacity: number) {
|
|
17
|
+
this._values.length = newCapacity;
|
|
18
|
+
if (this._count > newCapacity) {
|
|
19
|
+
this._count = newCapacity;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
toString() {
|
|
24
|
+
this.capacity = this._count;
|
|
25
|
+
return this._values.join('');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
append(value: string) {
|
|
29
|
+
if (this._count >= this.capacity) {
|
|
30
|
+
this.growCapacity(1);
|
|
31
|
+
}
|
|
32
|
+
this._values[this._count++] = value;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
appendLine(value = '') {
|
|
36
|
+
this.append(value + '\n');
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
clear() {
|
|
40
|
+
this._count = 0;
|
|
41
|
+
this._values.length = this._initialCapacity;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
private growCapacity(byAtLeast: number) {
|
|
45
|
+
this._values.length += (this._values.length + byAtLeast) * 2;
|
|
46
|
+
}
|
|
47
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 PBKware
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-text-reader.js","sourceRoot":"","sources":["../../src/serialization/ft-text-reader.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,KAAW,YAAY,CAM5B;AAND,WAAiB,YAAY;IAC3B;;;OAGG;IACU,0BAAa,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC,EANgB,YAAY,KAAZ,YAAY,QAM5B;AAED;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,KAAK,CAAS;IACd,SAAS,CAAS;IAE1B;;;OAGG;IACH,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialization-core.js","sourceRoot":"","sources":["../../src/serialization/serialization-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { InternalError, UnreachableCaseInternalError } from '@pbkware/js-utils';
|
|
2
|
-
/** @public */
|
|
3
|
-
export class FtAssertError extends InternalError {
|
|
4
|
-
constructor(code, message) {
|
|
5
|
-
super(code, message, 'Ft:Assert');
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
/** @public */
|
|
9
|
-
export class FtUnreachableCaseError extends UnreachableCaseInternalError {
|
|
10
|
-
constructor(code, value) {
|
|
11
|
-
super(code, value, undefined, 'Ft:UnreachableCase');
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ft-internal-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-internal-error.js","sourceRoot":"","sources":["../../../src/types/errors/ft-internal-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEhF,cAAc;AACd,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,YAAY,IAAY,EAAE,OAAgB;QACxC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;CACF;AAED,cAAc;AACd,MAAM,OAAO,sBAAuB,SAAQ,4BAA4B;IACtE,YAAY,IAAY,EAAE,KAAY;QACpC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-serialization-error.js","sourceRoot":"","sources":["../../../src/types/errors/ft-serialization-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO;IACd,oCAAoC,EAAE,sCAAsC;IAC5E,sCAAsC,EAAE,wCAAwC;IAChF,qCAAqC,EAAE,uCAAuC;IAC9E,gCAAgC,EAAE,kCAAkC;IACpE,kCAAkC,EAAE,oCAAoC;IACxE,sCAAsC,EAAE,wCAAwC;IAChF,mCAAmC,EAAE,qCAAqC;IAC1E,qCAAqC,EAAE,uCAAuC;IAC9E,kCAAkC,EAAE,oCAAoC;IACxE,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,qBAAqB,EAAE,uBAAuB;IAC9C,wBAAwB,EAAE,0BAA0B;IACpD,mBAAmB,EAAE,qBAAqB;IAC1C,qCAAqC,EAAE,uCAAuC;IAC9E,mCAAmC,EAAE,qCAAqC;IAC1E,0CAA0C,EAAE,4CAA4C;IACxF,wCAAwC,EAAE,0CAA0C;IACpF,yCAAyC,EAAE,2CAA2C;IACtF,uCAAuC,EAAE,yCAAyC;IAClF,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,0BAA0B,EAAE,4BAA4B;IACxD,6BAA6B,EAAE,+BAA+B;IAC9D,cAAc,EAAE,gBAAgB;IAChC,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,wBAAwB,EAAE,0BAA0B;IACpD,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,0BAA0B,EAAE,4BAA4B;IACxD,gBAAgB,EAAE,kBAAkB;IACpC,yBAAyB,EAAE,2BAA2B;IACtD,eAAe,EAAE,iBAAiB;CAC1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-serialization-exception.js","sourceRoot":"","sources":["../../../src/types/errors/ft-serialization-exception.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAChC,MAAM,CAAuB;IAC7B,UAAU,CAAqB;IAC/B,WAAW,CAAS;IACpB,aAAa,CAAqB;IAClC,kBAAkB,CAAS;IAE5C,YAAY,KAA2B,EAAE,cAA4C,EAAE,cAA+B,EAAE,cAAsB;QAC5I,IAAI,OAAe,CAAC;QACpB,IAAI,KAAK,GAAwB,SAAS,CAAC;QAC3C,IAAI,KAAK,GAAsB,SAAS,CAAC;QAEzC,sBAAsB;QACtB,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,uDAAuD;YACvD,OAAO,GAAG,cAAc,CAAC;YACzB,IAAI,cAAc,YAAY,KAAK,EAAE,CAAC;gBACpC,KAAK,GAAG,cAAc,CAAC;YACzB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uGAAuG;YACvG,KAAK,GAAG,cAAc,CAAC;YACvB,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,GAAG,cAAc,CAAC;gBACzB,KAAK,GAAG,cAAc,CAAC;YACzB,CAAC;iBAAM,IAAI,cAAc,YAAY,KAAK,EAAE,CAAC;gBAC3C,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;gBACjC,KAAK,GAAG,cAAc,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-field-heading-ready-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-field-heading-ready-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-field-value-ready-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-field-value-ready-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-heading-line-finished-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-heading-line-finished-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-heading-line-started-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-heading-line-started-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-record-finished-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-record-finished-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-record-started-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-record-started-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ft-sequence-redirected-event-args.js","sourceRoot":"","sources":["../../../src/types/events/ft-sequence-redirected-event-args.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InternalError, UnreachableCaseInternalError } from '@pbkware/js-utils';
|
|
2
|
-
|
|
3
|
-
/** @public */
|
|
4
|
-
export class FtAssertError extends InternalError {
|
|
5
|
-
constructor(code: string, message?: string) {
|
|
6
|
-
super(code, message, 'Ft:Assert');
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/** @public */
|
|
11
|
-
export class FtUnreachableCaseError extends UnreachableCaseInternalError {
|
|
12
|
-
constructor(code: string, value: never) {
|
|
13
|
-
super(code, value, undefined, 'Ft:UnreachableCase');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|