@pbkware/fielded-text-web 0.1.2 → 0.2.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 (203) hide show
  1. package/README.md +20 -42
  2. package/dist/api/ft-reader.js +1 -1
  3. package/dist/api/ft-reader.js.map +1 -1
  4. package/dist/api/ft-serialization.js +4 -4
  5. package/dist/api/ft-serialization.js.map +1 -1
  6. package/dist/factory/ft-field-factory.js +1 -1
  7. package/dist/factory/ft-field-factory.js.map +1 -1
  8. package/dist/factory/ft-sequence-redirect-factory.js +3 -3
  9. package/dist/factory/ft-sequence-redirect-factory.js.map +1 -1
  10. package/dist/fields/definitions/ft-boolean-field-definition.js +1 -1
  11. package/dist/fields/definitions/ft-boolean-field-definition.js.map +1 -1
  12. package/dist/fields/definitions/ft-date-time-field-definition.js +1 -1
  13. package/dist/fields/definitions/ft-date-time-field-definition.js.map +1 -1
  14. package/dist/fields/definitions/ft-decimal-field-definition.js +1 -1
  15. package/dist/fields/definitions/ft-decimal-field-definition.js.map +1 -1
  16. package/dist/fields/definitions/ft-field-definition.js +1 -1
  17. package/dist/fields/definitions/ft-field-definition.js.map +1 -1
  18. package/dist/fields/definitions/ft-float-field-definition.js +1 -1
  19. package/dist/fields/definitions/ft-float-field-definition.js.map +1 -1
  20. package/dist/fields/definitions/ft-integer-field-definition.js +1 -1
  21. package/dist/fields/definitions/ft-integer-field-definition.js.map +1 -1
  22. package/dist/fields/definitions/ft-string-field-definition.js +1 -1
  23. package/dist/fields/definitions/ft-string-field-definition.js.map +1 -1
  24. package/dist/fields/instances/errors/ft-field-null-error.js +11 -0
  25. package/dist/fields/instances/errors/ft-field-null-error.js.map +1 -0
  26. package/dist/fields/instances/errors/ft-field-type-error.js +11 -0
  27. package/dist/fields/instances/errors/ft-field-type-error.js.map +1 -0
  28. package/dist/fields/instances/ft-boolean-field.js +14 -6
  29. package/dist/fields/instances/ft-boolean-field.js.map +1 -1
  30. package/dist/fields/instances/ft-date-time-field.js +26 -8
  31. package/dist/fields/instances/ft-date-time-field.js.map +1 -1
  32. package/dist/fields/instances/ft-decimal-field.js +14 -6
  33. package/dist/fields/instances/ft-decimal-field.js.map +1 -1
  34. package/dist/fields/instances/ft-field.js +315 -123
  35. package/dist/fields/instances/ft-field.js.map +1 -1
  36. package/dist/fields/instances/ft-float-field.js +14 -6
  37. package/dist/fields/instances/ft-float-field.js.map +1 -1
  38. package/dist/fields/instances/ft-generic-field.js +29 -67
  39. package/dist/fields/instances/ft-generic-field.js.map +1 -1
  40. package/dist/fields/instances/ft-integer-field.js +24 -8
  41. package/dist/fields/instances/ft-integer-field.js.map +1 -1
  42. package/dist/fields/instances/ft-string-field.js +13 -13
  43. package/dist/fields/instances/ft-string-field.js.map +1 -1
  44. package/dist/index.d.ts +616 -288
  45. package/dist/index.js +12 -3
  46. package/dist/index.js.map +1 -1
  47. package/dist/meta/sequences/core/ft-meta-sequence-list.js +4 -2
  48. package/dist/meta/sequences/core/ft-meta-sequence-list.js.map +1 -1
  49. package/dist/meta/sequences/redirects/ft-meta-sequence-redirect-list.js +1 -1
  50. package/dist/meta/sequences/redirects/ft-meta-sequence-redirect-list.js.map +1 -1
  51. package/dist/meta-serialization/format/ft-xml-meta-serialization.js +4 -6
  52. package/dist/meta-serialization/format/ft-xml-meta-serialization.js.map +1 -1
  53. package/dist/meta-serialization/styles/ft-number-styles-meta-serialization.js +1 -1
  54. package/dist/meta-serialization/styles/ft-number-styles-meta-serialization.js.map +1 -1
  55. package/dist/meta-serialization/types/date-time-meta-serialization.js +1 -1
  56. package/dist/meta-serialization/types/date-time-meta-serialization.js.map +1 -1
  57. package/dist/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.js +1 -1
  58. package/dist/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.js.map +1 -1
  59. package/dist/meta-serialization/types/float-meta-serialization.js +2 -2
  60. package/dist/meta-serialization/types/float-meta-serialization.js.map +1 -1
  61. package/dist/meta-serialization/types/integer-float-meta-serialization.js +2 -2
  62. package/dist/meta-serialization/types/integer-float-meta-serialization.js.map +1 -1
  63. package/dist/meta-serialization/utils/implicit-explicit-index-sorter.js +4 -10
  64. package/dist/meta-serialization/utils/implicit-explicit-index-sorter.js.map +1 -1
  65. package/dist/meta-serialization/utils/meta-serialization-sequence-name-resolver.js +25 -2
  66. package/dist/meta-serialization/utils/meta-serialization-sequence-name-resolver.js.map +1 -1
  67. package/dist/meta-serialization/utils/sequence-item-field-indices.js +2 -2
  68. package/dist/meta-serialization/utils/sequence-item-field-indices.js.map +1 -1
  69. package/dist/sequences/redirects/ft-case-insensitive-string-sequence-redirect.js +3 -1
  70. package/dist/sequences/redirects/ft-case-insensitive-string-sequence-redirect.js.map +1 -1
  71. package/dist/serialization/char-reader.js +2 -2
  72. package/dist/serialization/char-reader.js.map +1 -1
  73. package/dist/serialization/declaration-parser.js +1 -1
  74. package/dist/serialization/declaration-parser.js.map +1 -1
  75. package/dist/serialization/delimited-field-parser.js.map +1 -1
  76. package/dist/serialization/events/ft-field-heading-ready-event-args.js.map +1 -0
  77. package/dist/serialization/events/ft-field-value-ready-event-args.js.map +1 -0
  78. package/dist/serialization/events/ft-heading-line-finished-event-args.js.map +1 -0
  79. package/dist/serialization/events/ft-heading-line-started-event-args.js.map +1 -0
  80. package/dist/serialization/events/ft-record-finished-event-args.js.map +1 -0
  81. package/dist/serialization/events/ft-record-started-event-args.js.map +1 -0
  82. package/dist/serialization/events/ft-sequence-redirected-event-args.js.map +1 -0
  83. package/dist/serialization/fixed-width-field-parser.js +1 -1
  84. package/dist/serialization/fixed-width-field-parser.js.map +1 -1
  85. package/dist/serialization/ft-declared-parameters.js +9 -8
  86. package/dist/serialization/ft-declared-parameters.js.map +1 -1
  87. package/dist/serialization/{serialization-core.js → ft-serialization-core.js} +114 -11
  88. package/dist/serialization/ft-serialization-core.js.map +1 -0
  89. package/dist/{types/errors/ft-serialization-error.js → serialization/ft-serialization-error-code.js} +2 -2
  90. package/dist/serialization/ft-serialization-error-code.js.map +1 -0
  91. package/dist/{types/errors/ft-serialization-exception.js → serialization/ft-serialization-error.js} +7 -7
  92. package/dist/serialization/ft-serialization-error.js.map +1 -0
  93. package/dist/serialization/ft-serialization-reader.js +19 -47
  94. package/dist/serialization/ft-serialization-reader.js.map +1 -1
  95. package/dist/serialization/ft-serialization-writer.js +86 -49
  96. package/dist/serialization/ft-serialization-writer.js.map +1 -1
  97. package/dist/serialization/heading-line-record-parser.js +7 -7
  98. package/dist/serialization/heading-line-record-parser.js.map +1 -1
  99. package/dist/serialization/line-parser.js +1 -1
  100. package/dist/serialization/line-parser.js.map +1 -1
  101. package/dist/serialization/{ft-text-reader.js → text-reader/ft-string-reader.js} +1 -13
  102. package/dist/serialization/text-reader/ft-string-reader.js.map +1 -0
  103. package/dist/serialization/text-reader/ft-text-reader.js +13 -0
  104. package/dist/serialization/text-reader/ft-text-reader.js.map +1 -0
  105. package/dist/tsdoc-metadata.json +1 -1
  106. package/dist/types/enums/ft-heading-constraint.js +5 -0
  107. package/dist/types/enums/ft-heading-constraint.js.map +1 -1
  108. package/dist/utils/ft-comma-text.js +247 -0
  109. package/dist/utils/ft-comma-text.js.map +1 -0
  110. package/dist/utils/ft-internal-error.js +129 -0
  111. package/dist/utils/ft-internal-error.js.map +1 -0
  112. package/dist/utils/ft-result.js +2 -0
  113. package/dist/utils/ft-result.js.map +1 -0
  114. package/dist/utils/number-parse.js +33 -0
  115. package/dist/utils/number-parse.js.map +1 -0
  116. package/dist/utils/string-builder.js +40 -0
  117. package/dist/utils/string-builder.js.map +1 -0
  118. package/package.json +25 -27
  119. package/src/api/ft-reader.ts +2 -1
  120. package/src/api/ft-serialization.ts +13 -13
  121. package/src/factory/ft-field-factory.ts +1 -1
  122. package/src/factory/ft-sequence-redirect-factory.ts +4 -4
  123. package/src/fields/definitions/ft-boolean-field-definition.ts +1 -1
  124. package/src/fields/definitions/ft-date-time-field-definition.ts +1 -1
  125. package/src/fields/definitions/ft-decimal-field-definition.ts +1 -1
  126. package/src/fields/definitions/ft-field-definition.ts +1 -1
  127. package/src/fields/definitions/ft-float-field-definition.ts +1 -1
  128. package/src/fields/definitions/ft-generic-field-definition.ts +1 -1
  129. package/src/fields/definitions/ft-integer-field-definition.ts +1 -1
  130. package/src/fields/definitions/ft-string-field-definition.ts +1 -1
  131. package/src/fields/instances/errors/ft-field-null-error.ts +10 -0
  132. package/src/fields/instances/errors/ft-field-type-error.ts +10 -0
  133. package/src/fields/instances/ft-boolean-field.ts +17 -6
  134. package/src/fields/instances/ft-date-time-field.ts +28 -7
  135. package/src/fields/instances/ft-decimal-field.ts +17 -6
  136. package/src/fields/instances/ft-field.ts +329 -145
  137. package/src/fields/instances/ft-float-field.ts +17 -6
  138. package/src/fields/instances/ft-generic-field.ts +32 -88
  139. package/src/fields/instances/ft-integer-field.ts +29 -7
  140. package/src/fields/instances/ft-string-field.ts +15 -12
  141. package/src/index.ts +21 -12
  142. package/src/meta/sequences/core/ft-meta-sequence-list.ts +4 -3
  143. package/src/meta/sequences/redirects/ft-meta-sequence-redirect-list.ts +1 -1
  144. package/src/meta-serialization/format/ft-xml-meta-serialization.ts +4 -7
  145. package/src/meta-serialization/styles/ft-number-styles-meta-serialization.ts +1 -1
  146. package/src/meta-serialization/types/date-time-meta-serialization.ts +1 -1
  147. package/src/meta-serialization/types/enums/meta-element-type-meta-serialization.ts +4 -4
  148. package/src/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.ts +1 -1
  149. package/src/meta-serialization/types/float-meta-serialization.ts +2 -2
  150. package/src/meta-serialization/types/integer-float-meta-serialization.ts +2 -2
  151. package/src/meta-serialization/utils/implicit-explicit-index-sorter.ts +18 -12
  152. package/src/meta-serialization/utils/meta-serialization-sequence-name-resolver.ts +25 -2
  153. package/src/meta-serialization/utils/sequence-item-field-indices.ts +2 -2
  154. package/src/sequences/redirects/ft-case-insensitive-string-sequence-redirect.ts +3 -1
  155. package/src/serialization/char-reader.ts +2 -2
  156. package/src/serialization/declaration-parser.ts +1 -1
  157. package/src/serialization/delimited-field-parser.ts +3 -3
  158. package/src/serialization/fixed-width-field-parser.ts +4 -4
  159. package/src/serialization/ft-declared-parameters.ts +12 -11
  160. package/src/serialization/{serialization-core.ts → ft-serialization-core.ts} +133 -17
  161. package/src/{types/errors/ft-serialization-error.ts → serialization/ft-serialization-error-code.ts} +2 -2
  162. package/src/{types/errors/ft-serialization-exception.ts → serialization/ft-serialization-error.ts} +14 -9
  163. package/src/serialization/ft-serialization-reader.ts +21 -54
  164. package/src/serialization/ft-serialization-writer.ts +97 -64
  165. package/src/serialization/heading-line-record-parser.ts +10 -10
  166. package/src/serialization/line-parser.ts +1 -1
  167. package/src/serialization/{ft-text-reader.ts → text-reader/ft-string-reader.ts} +1 -24
  168. package/src/serialization/text-reader/ft-text-reader.ts +24 -0
  169. package/src/types/enums/ft-heading-constraint.ts +5 -0
  170. package/src/utils/ft-comma-text.ts +285 -0
  171. package/src/utils/ft-internal-error.ts +143 -0
  172. package/src/utils/ft-result.ts +1 -0
  173. package/src/utils/number-parse.ts +35 -0
  174. package/src/utils/string-builder.ts +47 -0
  175. package/LICENSE +0 -21
  176. package/dist/serialization/ft-text-reader.js.map +0 -1
  177. package/dist/serialization/serialization-core.js.map +0 -1
  178. package/dist/types/errors/ft-internal-error.js +0 -14
  179. package/dist/types/errors/ft-internal-error.js.map +0 -1
  180. package/dist/types/errors/ft-serialization-error.js.map +0 -1
  181. package/dist/types/errors/ft-serialization-exception.js.map +0 -1
  182. package/dist/types/events/ft-field-heading-ready-event-args.js.map +0 -1
  183. package/dist/types/events/ft-field-value-ready-event-args.js.map +0 -1
  184. package/dist/types/events/ft-heading-line-finished-event-args.js.map +0 -1
  185. package/dist/types/events/ft-heading-line-started-event-args.js.map +0 -1
  186. package/dist/types/events/ft-record-finished-event-args.js.map +0 -1
  187. package/dist/types/events/ft-record-started-event-args.js.map +0 -1
  188. package/dist/types/events/ft-sequence-redirected-event-args.js.map +0 -1
  189. package/src/types/errors/ft-internal-error.ts +0 -15
  190. /package/dist/{types → serialization}/events/ft-field-heading-ready-event-args.js +0 -0
  191. /package/dist/{types → serialization}/events/ft-field-value-ready-event-args.js +0 -0
  192. /package/dist/{types → serialization}/events/ft-heading-line-finished-event-args.js +0 -0
  193. /package/dist/{types → serialization}/events/ft-heading-line-started-event-args.js +0 -0
  194. /package/dist/{types → serialization}/events/ft-record-finished-event-args.js +0 -0
  195. /package/dist/{types → serialization}/events/ft-record-started-event-args.js +0 -0
  196. /package/dist/{types → serialization}/events/ft-sequence-redirected-event-args.js +0 -0
  197. /package/src/{types → serialization}/events/ft-field-heading-ready-event-args.ts +0 -0
  198. /package/src/{types → serialization}/events/ft-field-value-ready-event-args.ts +0 -0
  199. /package/src/{types → serialization}/events/ft-heading-line-finished-event-args.ts +0 -0
  200. /package/src/{types → serialization}/events/ft-heading-line-started-event-args.ts +0 -0
  201. /package/src/{types → serialization}/events/ft-record-finished-event-args.ts +0 -0
  202. /package/src/{types → serialization}/events/ft-record-started-event-args.ts +0 -0
  203. /package/src/{types → serialization}/events/ft-sequence-redirected-event-args.ts +0 -0
@@ -2,7 +2,7 @@
2
2
  * Enumeration of serialization error codes.
3
3
  * @public
4
4
  */
5
- export const FtSerializationError = {
5
+ export const FtSerializationErrorCode = {
6
6
  Abort: 'Abort',
7
7
  DeclarationParameterNameIsZeroLength: 'DeclarationParameterNameIsZeroLength',
8
8
  DeclaredParameterNameContainsSeparator: 'DeclaredParameterNameContainsSeparator',
@@ -46,4 +46,4 @@ export const FtSerializationError = {
46
46
  MetaReferenceUrlNoHandler: 'MetaReferenceUrlNoHandler',
47
47
  LoadMetaFromUrl: 'LoadMetaFromUrl',
48
48
  };
49
- //# sourceMappingURL=ft-serialization-error.js.map
49
+ //# sourceMappingURL=ft-serialization-error-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ft-serialization-error-code.js","sourceRoot":"","sources":["../../src/serialization/ft-serialization-error-code.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,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,15 +1,15 @@
1
- import { FtSerializationError } from './ft-serialization-error.js';
1
+ import { FtSerializationErrorCode } from './ft-serialization-error-code.js';
2
2
  /**
3
3
  * Exception thrown during fielded text serialization/deserialization.
4
4
  * @public
5
5
  */
6
- export class FtSerializationException extends Error {
6
+ export class FtSerializationError extends Error {
7
7
  _error;
8
8
  _fieldName;
9
9
  _fieldIndex;
10
10
  _sequenceName;
11
11
  _sequenceItemIndex;
12
- constructor(error, fieldOrMessage, messageOrInner, innerException) {
12
+ constructor(errorCode, fieldOrMessage, messageOrInner, innerException) {
13
13
  let message;
14
14
  let field = undefined;
15
15
  let inner = undefined;
@@ -36,11 +36,11 @@ export class FtSerializationException extends Error {
36
36
  message = '';
37
37
  }
38
38
  }
39
- const errorName = FtSerializationError[error];
39
+ const errorName = FtSerializationErrorCode[errorCode];
40
40
  const fullMessage = errorName + (message ? ': ' + message : '');
41
41
  super(fullMessage);
42
- this.name = 'FtSerializationException';
43
- this._error = error;
42
+ this.name = 'FtSerializationError';
43
+ this._error = errorCode;
44
44
  if (field === undefined) {
45
45
  this._fieldName = undefined;
46
46
  this._fieldIndex = -1;
@@ -75,4 +75,4 @@ export class FtSerializationException extends Error {
75
75
  return this._sequenceItemIndex;
76
76
  }
77
77
  }
78
- //# sourceMappingURL=ft-serialization-exception.js.map
78
+ //# sourceMappingURL=ft-serialization-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ft-serialization-error.js","sourceRoot":"","sources":["../../src/serialization/ft-serialization-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC5B,MAAM,CAA2B;IACjC,UAAU,CAAqB;IAC/B,WAAW,CAAS;IACpB,aAAa,CAAqB;IAClC,kBAAkB,CAAS;IAE5C,YACE,SAAmC,EACnC,cAA4C,EAC5C,cAA+B,EAC/B,cAAsB;QAEtB,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,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACtD,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,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,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"}
@@ -4,22 +4,22 @@ import { FtLineType } from '../types/enums/ft-line-type.js';
4
4
  import { FtMetaReferenceType } from '../types/enums/ft-meta-reference-type.js';
5
5
  import { FtMetaSerializationFormat } from '../types/enums/ft-meta-serialization-format.js';
6
6
  import { FtReadRecordResult } from '../types/enums/ft-read-record-result.js';
7
- import { FtUnreachableCaseError } from '../types/errors/ft-internal-error.js';
8
- import { FtSerializationError } from '../types/errors/ft-serialization-error.js';
9
- import { FtSerializationException } from '../types/errors/ft-serialization-exception.js';
7
+ import { FtUnreachableCaseError } from '../utils/ft-internal-error.js';
10
8
  import { CharReader } from './char-reader.js';
11
9
  import { DeclarationParser } from './declaration-parser.js';
12
10
  import { EmbeddedMetaParser } from './embedded-meta-parser.js';
13
11
  import { FtDeclaredParameters } from './ft-declared-parameters.js';
14
- import { FtTextReader } from './ft-text-reader.js';
12
+ import { FtSerializationCore } from './ft-serialization-core.js';
13
+ import { FtSerializationErrorCode } from './ft-serialization-error-code.js';
14
+ import { FtSerializationError } from './ft-serialization-error.js';
15
15
  import { HeadingLineRecordParser } from './heading-line-record-parser.js';
16
16
  import { LineEndedType, LineParser } from './line-parser.js';
17
- import { SerializationCore } from './serialization-core.js';
17
+ import { FtTextReader } from './text-reader/ft-text-reader.js';
18
18
  /**
19
19
  * Reader for fielded text streams. Coordinates all parsing components.
20
20
  * @public
21
21
  */
22
- export class FtSerializationReader extends SerializationCore {
22
+ export class FtSerializationReader extends FtSerializationCore {
23
23
  /**
24
24
  * Event fired when seeking through records.
25
25
  */
@@ -368,34 +368,6 @@ export class FtSerializationReader extends SerializationCore {
368
368
  this.setSeeking(false);
369
369
  }
370
370
  }
371
- /**
372
- * Get a field object by index.
373
- */
374
- getField(idx) {
375
- return this.fieldList.get(idx);
376
- }
377
- /**
378
- * Get a field object by name.
379
- */
380
- getFieldByName(name) {
381
- return this.fieldList.getByName(name);
382
- }
383
- /**
384
- * Get a field value by index.
385
- */
386
- getFieldValue(idx) {
387
- return this.fieldList.get(idx).asObject;
388
- }
389
- /**
390
- * Get a field value by name.
391
- */
392
- getFieldValueByName(name) {
393
- const field = this.fieldList.getByName(name);
394
- if (!field) {
395
- throw new Error(`Field not found: ${name}`);
396
- }
397
- return field.asObject;
398
- }
399
371
  /**
400
372
  * Load metadata from a pre-parsed FtMeta object.
401
373
  * @param meta - The metadata to load.
@@ -443,7 +415,7 @@ export class FtSerializationReader extends SerializationCore {
443
415
  getFileMetaAsText(fileMetaReference) {
444
416
  // Descendants can override this method. Clients can subscribe to onRequireFileMetaAsText event
445
417
  if (!this.onRequireFileMetaAsText) {
446
- throw new FtSerializationException(FtSerializationError.MetaReferenceFileNoHandler, 'Meta reference is file but no handler provided to retrieve file content');
418
+ throw new FtSerializationError(FtSerializationErrorCode.MetaReferenceFileNoHandler, 'Meta reference is file but no handler provided to retrieve file content');
447
419
  }
448
420
  else {
449
421
  return this.onRequireFileMetaAsText(fileMetaReference);
@@ -452,7 +424,7 @@ export class FtSerializationReader extends SerializationCore {
452
424
  getUrlMetaAsText(urlMetaReference) {
453
425
  // Descendants can override this method. Clients can subscribe to onRequireUrlMetaAsText event
454
426
  if (!this.onRequireUrlMetaAsText) {
455
- throw new FtSerializationException(FtSerializationError.MetaReferenceUrlNoHandler, 'Meta reference is URL but no handler provided to retrieve URL content');
427
+ throw new FtSerializationError(FtSerializationErrorCode.MetaReferenceUrlNoHandler, 'Meta reference is URL but no handler provided to retrieve URL content');
456
428
  }
457
429
  else {
458
430
  return this.onRequireUrlMetaAsText(urlMetaReference);
@@ -556,7 +528,7 @@ export class FtSerializationReader extends SerializationCore {
556
528
  // Must be a heading line
557
529
  this._lineType = FtLineType.Heading;
558
530
  if (this._metaEmbedded && !this._embeddedMetaRead) {
559
- throw new FtSerializationException(FtSerializationError.EmbeddedMetaNotFound, 'Embedded meta line not blank or comment');
531
+ throw new FtSerializationError(FtSerializationErrorCode.EmbeddedMetaNotFound, 'Embedded meta line not blank or comment');
560
532
  }
561
533
  else {
562
534
  if (!(this.headingLineCount > 0 && !this._headingLinesRead)) {
@@ -587,7 +559,7 @@ export class FtSerializationReader extends SerializationCore {
587
559
  }
588
560
  else {
589
561
  if (!this.ignoreBlankLines) {
590
- throw new FtSerializationException(FtSerializationError.RecordNotEnoughFields, 'Blank records not allowed');
562
+ throw new FtSerializationError(FtSerializationErrorCode.RecordNotEnoughFields, 'Blank records not allowed');
591
563
  }
592
564
  }
593
565
  }
@@ -674,7 +646,7 @@ export class FtSerializationReader extends SerializationCore {
674
646
  if (this._lineParser.inLine) {
675
647
  this.finishLastLine();
676
648
  if (this.lastLineEndedType === FtLastLineEndedType.Always) {
677
- throw new FtSerializationException(FtSerializationError.LastLineEndedError, 'Always ended but in line');
649
+ throw new FtSerializationError(FtSerializationErrorCode.LastLineEndedError, 'Always ended but in line');
678
650
  }
679
651
  else {
680
652
  this._lineParser.exitLine();
@@ -687,17 +659,17 @@ export class FtSerializationReader extends SerializationCore {
687
659
  }
688
660
  else {
689
661
  if (!this.ignoreBlankLines) {
690
- throw new FtSerializationException(FtSerializationError.LastLineEndedError, 'Never ended but out of line');
662
+ throw new FtSerializationError(FtSerializationErrorCode.LastLineEndedError, 'Never ended but out of line');
691
663
  }
692
664
  else {
693
665
  // Since last line cannot be ended, there is another ignored blank line
694
666
  // Throw exception if blank line not allowed
695
667
  switch (this._lineType) {
696
668
  case FtLineType.Signature:
697
- throw new FtSerializationException(FtSerializationError.IncompleteDeclaration, 'Declaration missing second line');
669
+ throw new FtSerializationError(FtSerializationErrorCode.IncompleteDeclaration, 'Declaration missing second line');
698
670
  case FtLineType.Heading:
699
671
  if (!this._headingLinesRead) {
700
- throw new FtSerializationException(FtSerializationError.InsufficientHeadingLines, '');
672
+ throw new FtSerializationError(FtSerializationErrorCode.InsufficientHeadingLines, '');
701
673
  }
702
674
  break;
703
675
  }
@@ -727,7 +699,7 @@ export class FtSerializationReader extends SerializationCore {
727
699
  case FtLineType.Comment:
728
700
  if (!this._headerRead) {
729
701
  if (this._metaEmbedded && !this._embeddedMetaRead) {
730
- throw new FtSerializationException(FtSerializationError.EmbeddedMetaNotFound, 'End of file encountered');
702
+ throw new FtSerializationError(FtSerializationErrorCode.EmbeddedMetaNotFound, 'End of file encountered');
731
703
  }
732
704
  }
733
705
  break;
@@ -736,7 +708,7 @@ export class FtSerializationReader extends SerializationCore {
736
708
  this.finishEmbeddedMeta();
737
709
  }
738
710
  else {
739
- throw new FtSerializationException(FtSerializationError.IncompleteEmbeddedMeta, 'End of file encountered');
711
+ throw new FtSerializationError(FtSerializationErrorCode.IncompleteEmbeddedMeta, 'End of file encountered');
740
712
  }
741
713
  break;
742
714
  case FtLineType.Blank:
@@ -843,15 +815,15 @@ export class FtSerializationReader extends SerializationCore {
843
815
  checkCompleteness() {
844
816
  if (!this._headerRead) {
845
817
  if (this._declared && !this._declarationRead) {
846
- throw new FtSerializationException(FtSerializationError.IncompleteDeclaration, '');
818
+ throw new FtSerializationError(FtSerializationErrorCode.IncompleteDeclaration, '');
847
819
  }
848
820
  else {
849
821
  if (this._metaEmbedded && !this._embeddedMetaRead) {
850
- throw new FtSerializationException(FtSerializationError.IncompleteEmbeddedMeta, '');
822
+ throw new FtSerializationError(FtSerializationErrorCode.IncompleteEmbeddedMeta, '');
851
823
  }
852
824
  else {
853
825
  if (this.headingLineCount > 0 && !this._headingLinesRead) {
854
- throw new FtSerializationException(FtSerializationError.InsufficientHeadingLines, this._headingLineReadCount.toString());
826
+ throw new FtSerializationError(FtSerializationErrorCode.InsufficientHeadingLines, this._headingLineReadCount.toString());
855
827
  }
856
828
  }
857
829
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ft-serialization-reader.js","sourceRoot":"","sources":["../../src/serialization/ft-serialization-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ft-serialization-reader.js","sourceRoot":"","sources":["../../src/serialization/ft-serialization-reader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { FtWriterSettings } from '../api/ft-writer-settings.js';
2
2
  import { FtXmlMetaSerialization } from '../meta-serialization/format/ft-xml-meta-serialization.js';
3
- import { FtDataType } from '../types/enums/ft-data-type.js';
4
3
  import { FtEndOfLineAutoWriteType } from '../types/enums/ft-end-of-line-auto-write-type.js';
5
4
  import { FtEndOfLineType } from '../types/enums/ft-end-of-line-type.js';
6
5
  import { FtLastLineEndedType } from '../types/enums/ft-last-line-ended-type.js';
@@ -9,17 +8,17 @@ import { FtPadAlignment } from '../types/enums/ft-pad-alignment.js';
9
8
  import { FtPadCharType } from '../types/enums/ft-pad-char-type.js';
10
9
  import { FtQuotedType } from '../types/enums/ft-quoted-type.js';
11
10
  import { FtTruncateType } from '../types/enums/ft-truncate-type.js';
12
- import { FtUnreachableCaseError } from '../types/errors/ft-internal-error.js';
13
- import { FtSerializationError } from '../types/errors/ft-serialization-error.js';
14
- import { FtSerializationException } from '../types/errors/ft-serialization-exception.js';
11
+ import { FtUnreachableCaseError } from '../utils/ft-internal-error.js';
15
12
  import { FtDeclaredParametersFormatter } from './formatting/ft-declared-parameters-formatter.js';
16
13
  import { FtDeclaredParameters } from './ft-declared-parameters.js';
17
- import { SerializationCore } from './serialization-core.js';
14
+ import { FtSerializationCore } from './ft-serialization-core.js';
15
+ import { FtSerializationErrorCode } from './ft-serialization-error-code.js';
16
+ import { FtSerializationError } from './ft-serialization-error.js';
18
17
  /**
19
18
  * Writer for fielded text streams. Coordinates all writing logic.
20
19
  * @public
21
20
  */
22
- export class FtSerializationWriter extends SerializationCore {
21
+ export class FtSerializationWriter extends FtSerializationCore {
23
22
  static DECLARATION_LINE2_BEFORE_COMMENT_CHARS = ' ';
24
23
  static EMBEDDED_META_BEFORE_COMMENT_CHARS = ' ';
25
24
  _loadedMeta = undefined;
@@ -77,7 +76,7 @@ export class FtSerializationWriter extends SerializationCore {
77
76
  */
78
77
  writeHeader() {
79
78
  if (this._headerWritten) {
80
- throw new FtSerializationException(FtSerializationError.HeaderAlreadyWritten, 'Header already written');
79
+ throw new FtSerializationError(FtSerializationErrorCode.HeaderAlreadyWritten, 'Header already written');
81
80
  }
82
81
  if (this._settings?.declared) {
83
82
  this.writeDeclaration();
@@ -111,96 +110,134 @@ export class FtSerializationWriter extends SerializationCore {
111
110
  this._writer?.flush();
112
111
  }
113
112
  /**
114
- * Set a field value by index.
113
+ * Set a field value by index. Accepts `null` to set the field to null.
114
+ *
115
+ * @param idx - The 0-based index of the field to set.
116
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
117
+ *
118
+ * @throws FtTypeError if the value being set is not of the field's expected type.
115
119
  */
116
120
  setFieldValue(idx, value) {
117
- this.fieldList.get(idx).asObject = value;
121
+ this.fieldList.get(idx).nullableValue = value;
118
122
  }
119
123
  /**
120
124
  * Set a field value by name.
125
+ *
126
+ * @param name - The name of the field to set.
127
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
128
+ *
129
+ * @throws FtTypeError if the value being set is not of the field's expected type.
121
130
  */
122
131
  setFieldValueByName(name, value) {
123
132
  const field = this.fieldList.getByName(name);
124
133
  if (!field) {
125
134
  throw new Error(`Field not found: ${name}`);
126
135
  }
127
- field.asObject = value;
136
+ field.nullableValue = value;
128
137
  }
129
138
  /**
130
139
  * Set a field to null.
140
+ *
141
+ * @param idx - The 0-based index of the field to set.
131
142
  */
132
143
  setNull(idx) {
133
144
  this.fieldList.get(idx).setNull();
134
145
  }
146
+ /**
147
+ * Set a field to null.
148
+ *
149
+ * @param name - The name of the field to set.
150
+ */
151
+ setNullByName(name) {
152
+ const field = this.fieldList.getByName(name);
153
+ if (!field) {
154
+ throw new Error(`Field not found: ${name}`);
155
+ }
156
+ field.setNull();
157
+ }
135
158
  /**
136
159
  * Set a boolean field.
160
+ *
161
+ * @param idx - The 0-based index of the field to set.
162
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
137
163
  */
138
164
  setBoolean(idx, value) {
139
165
  const field = this.fieldList.get(idx);
140
- if (field.dataType !== FtDataType.Boolean) {
141
- throw new Error(`Invalid cast: field ${idx} is not boolean`);
142
- }
143
- field.value = value;
166
+ field.asNullableBoolean = value;
144
167
  }
145
168
  /**
146
- * Set a date/time field.
169
+ * Set a DateTime field's value.
170
+ *
171
+ * @param idx - The 0-based index of the field to set.
172
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
147
173
  */
148
174
  setDateTime(idx, value) {
149
175
  const field = this.fieldList.get(idx);
150
- if (field.dataType !== FtDataType.DateTime) {
151
- throw new Error(`Invalid cast: field ${idx} is not datetime`);
152
- }
153
- field.value = value;
176
+ field.asNullableDateTime = value;
154
177
  }
155
178
  /**
156
179
  * Set a decimal field.
180
+ *
181
+ * @param idx - The 0-based index of the field to set.
182
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
157
183
  */
158
184
  setDecimal(idx, value) {
159
185
  const field = this.fieldList.get(idx);
160
- if (field.dataType !== FtDataType.Decimal) {
161
- throw new Error(`Invalid cast: field ${idx} is not decimal`);
162
- }
163
- field.value = value;
186
+ field.asNullableDecimal = value;
164
187
  }
165
188
  /**
166
189
  * Set a float field.
190
+ *
191
+ * @param idx - The 0-based index of the field to set.
192
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
167
193
  */
168
194
  setFloat(idx, value) {
169
195
  const field = this.fieldList.get(idx);
170
- if (field.dataType !== FtDataType.Float) {
171
- throw new Error(`Invalid cast: field ${idx} is not float`);
172
- }
173
- field.value = value;
196
+ field.asNullableFloat = value;
174
197
  }
175
198
  /**
176
199
  * Set an integer field.
200
+ *
201
+ * @param idx - The 0-based index of the field to set.
202
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
177
203
  */
178
204
  setInteger(idx, value) {
179
205
  const field = this.fieldList.get(idx);
180
- if (field.dataType !== FtDataType.Integer) {
181
- throw new Error(`Invalid cast: field ${idx} is not integer`);
206
+ switch (typeof value) {
207
+ case 'bigint':
208
+ field.asBigInt = value;
209
+ break;
210
+ case 'number':
211
+ field.asInteger = value;
212
+ break;
213
+ default:
214
+ field.setNull();
215
+ break;
182
216
  }
183
- field.value = typeof value === 'bigint' ? value : BigInt(value);
184
217
  }
185
218
  /**
186
219
  * Set a string field.
220
+ *
221
+ * @param idx - The 0-based index of the field to set.
222
+ * @param value - The value to set for the field. Can be `null` to set the field to null.
187
223
  */
188
224
  setString(idx, value) {
189
225
  const field = this.fieldList.get(idx);
190
- if (field.dataType !== FtDataType.String) {
191
- throw new Error(`Invalid cast: field ${idx} is not string`);
192
- }
193
- field.value = value;
226
+ field.asNullableString = value;
194
227
  }
195
228
  /**
196
229
  * Set multiple field values.
230
+ *
231
+ * @param values - An array of values to set for the fields. The length of the array must not exceed the number of fields. Array elements can be null to set the corresponding field to null.
232
+ *
233
+ * @throws FtTypeError if any of the values being set is not of the corresponding field's expected type.
197
234
  */
198
235
  setValues(values) {
199
236
  if (values.length > this.fieldCount) {
200
237
  throw new Error(`Values length ${values.length} exceeds field count ${this.fieldCount}`);
201
238
  }
202
239
  for (let i = 0; i < values.length; i++) {
203
- this.fieldList.get(i).asObject = values[i];
240
+ this.fieldList.get(i).nullableValue = values[i];
204
241
  }
205
242
  }
206
243
  reset() {
@@ -264,15 +301,15 @@ export class FtSerializationWriter extends SerializationCore {
264
301
  case FtEndOfLineType.Char:
265
302
  return this.endOfLineChar;
266
303
  case FtEndOfLineType.CrLf:
267
- return SerializationCore.CarriageReturnLineFeedString;
304
+ return FtSerializationCore.CarriageReturnLineFeedString;
268
305
  case FtEndOfLineType.Auto:
269
306
  switch (this.endOfLineAutoWriteType) {
270
307
  case FtEndOfLineAutoWriteType.CrLf:
271
- return SerializationCore.CarriageReturnLineFeedString;
308
+ return FtSerializationCore.CarriageReturnLineFeedString;
272
309
  case FtEndOfLineAutoWriteType.Cr:
273
- return SerializationCore.CarriageReturnChar;
310
+ return FtSerializationCore.CarriageReturnChar;
274
311
  case FtEndOfLineAutoWriteType.Lf:
275
- return SerializationCore.LineFeedChar;
312
+ return FtSerializationCore.LineFeedChar;
276
313
  case FtEndOfLineAutoWriteType.Local:
277
314
  return '\n'; // Use platform default
278
315
  default:
@@ -311,8 +348,8 @@ export class FtSerializationWriter extends SerializationCore {
311
348
  switch (this.endOfLineType) {
312
349
  case FtEndOfLineType.Auto:
313
350
  case FtEndOfLineType.CrLf:
314
- searchChars.push(SerializationCore.CarriageReturnChar);
315
- searchChars.push(SerializationCore.LineFeedChar);
351
+ searchChars.push(FtSerializationCore.CarriageReturnChar);
352
+ searchChars.push(FtSerializationCore.LineFeedChar);
316
353
  break;
317
354
  case FtEndOfLineType.Char:
318
355
  searchChars.push(this.endOfLineChar);
@@ -347,11 +384,11 @@ export class FtSerializationWriter extends SerializationCore {
347
384
  throw new Error('Writer settings not set');
348
385
  }
349
386
  const parameters = new FtDeclaredParameters();
350
- parameters.setVersion(SerializationCore.VersionMajor, SerializationCore.VersionMinor);
387
+ parameters.setVersion(FtSerializationCore.VersionMajor, FtSerializationCore.VersionMinor);
351
388
  const metaReferenceType = this._settings.metaReferenceType ?? FtWriterSettings.DEFAULT_META_REFERENCE_TYPE;
352
389
  const metaReference = this._settings.metaReference ?? FtWriterSettings.DEFAULT_META_REFERENCE;
353
390
  parameters.setMetaReference(metaReferenceType, metaReference);
354
- this.writeComment(SerializationCore.Signature + ' ' + FtDeclaredParametersFormatter.toSignatureLineText(parameters), '');
391
+ this.writeComment(FtSerializationCore.Signature + ' ' + FtDeclaredParametersFormatter.toSignatureLineText(parameters), '');
355
392
  this.writeComment(FtDeclaredParametersFormatter.toLine2Text(parameters), FtSerializationWriter.DECLARATION_LINE2_BEFORE_COMMENT_CHARS);
356
393
  }
357
394
  writeEmbeddedMeta() {
@@ -408,7 +445,7 @@ export class FtSerializationWriter extends SerializationCore {
408
445
  throw new FtUnreachableCaseError('SWCQTT22113', field.headingQuotedType);
409
446
  }
410
447
  if (field.headingWritePrefixSpace) {
411
- this._writer?.write(SerializationCore.PrefixSpaceChar);
448
+ this._writer?.write(FtSerializationCore.PrefixSpaceChar);
412
449
  }
413
450
  if (fieldQuoted) {
414
451
  this._writer?.write(this.quoteChar);
@@ -447,7 +484,7 @@ export class FtSerializationWriter extends SerializationCore {
447
484
  this._writer?.write(field.definition.fixedWidthNullValueText);
448
485
  }
449
486
  else {
450
- const valueText = field.getValueText();
487
+ const valueText = field.formatValue();
451
488
  const rawText = this.encodeFixedWidthValueText(valueText, field);
452
489
  this._writer?.write(rawText);
453
490
  }
@@ -457,7 +494,7 @@ export class FtSerializationWriter extends SerializationCore {
457
494
  this._writer?.write('');
458
495
  }
459
496
  else {
460
- const valueText = field.getValueText();
497
+ const valueText = field.formatValue();
461
498
  let fieldQuoted;
462
499
  switch (field.valueQuotedType) {
463
500
  case FtQuotedType.Never:
@@ -478,7 +515,7 @@ export class FtSerializationWriter extends SerializationCore {
478
515
  throw new FtUnreachableCaseError('SWCQTT22114', field.valueQuotedType);
479
516
  }
480
517
  if (field.valueWritePrefixSpace) {
481
- this._writer?.write(SerializationCore.PrefixSpaceChar);
518
+ this._writer?.write(FtSerializationCore.PrefixSpaceChar);
482
519
  }
483
520
  if (fieldQuoted) {
484
521
  this._writer?.write(this.quoteChar);
@@ -490,7 +527,7 @@ export class FtSerializationWriter extends SerializationCore {
490
527
  }
491
528
  }
492
529
  }
493
- if (!field.constant && !field.isValueAssigned()) {
530
+ if (!field.constant && !field.valueAssigned) {
494
531
  // Field was not assigned a value, check null sequence redirects
495
532
  if (!field.isNull()) {
496
533
  throw new Error('Field value not assigned');
@@ -624,7 +661,7 @@ export class FtSerializationWriter extends SerializationCore {
624
661
  case FtTruncateType.NullChar:
625
662
  return nullChar.repeat(definition.width);
626
663
  case FtTruncateType.Exception:
627
- throw new FtSerializationException(FtSerializationError.FieldTruncated, `Text truncation: ${text}`);
664
+ throw new FtSerializationError(FtSerializationErrorCode.FieldTruncated, `Text truncation: ${text}`);
628
665
  default:
629
666
  throw new FtUnreachableCaseError('SWCTTT22117', truncateType);
630
667
  }