@pbkware/fielded-text-web 0.1.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/dist/api/ft-reader.js +59 -0
- package/dist/api/ft-reader.js.map +1 -0
- package/dist/api/ft-serialization.js +147 -0
- package/dist/api/ft-serialization.js.map +1 -0
- package/dist/api/ft-writer-settings.js +31 -0
- package/dist/api/ft-writer-settings.js.map +1 -0
- package/dist/api/ft-writer.js +22 -0
- package/dist/api/ft-writer.js.map +1 -0
- package/dist/factory/ft-field-factory.js +86 -0
- package/dist/factory/ft-field-factory.js.map +1 -0
- package/dist/factory/ft-meta-constructor.js +16 -0
- package/dist/factory/ft-meta-constructor.js.map +1 -0
- package/dist/factory/ft-meta-factory.js +30 -0
- package/dist/factory/ft-meta-factory.js.map +1 -0
- package/dist/factory/ft-sequence-constructor.js +11 -0
- package/dist/factory/ft-sequence-constructor.js.map +1 -0
- package/dist/factory/ft-sequence-factory.js +18 -0
- package/dist/factory/ft-sequence-factory.js.map +1 -0
- package/dist/factory/ft-sequence-item-constructor.js +11 -0
- package/dist/factory/ft-sequence-item-constructor.js.map +1 -0
- package/dist/factory/ft-sequence-item-factory.js +18 -0
- package/dist/factory/ft-sequence-item-factory.js.map +1 -0
- package/dist/factory/ft-sequence-redirect-constructor.js +13 -0
- package/dist/factory/ft-sequence-redirect-constructor.js.map +1 -0
- package/dist/factory/ft-sequence-redirect-factory.js +176 -0
- package/dist/factory/ft-sequence-redirect-factory.js.map +1 -0
- package/dist/factory/ft-substitution-constructor.js +23 -0
- package/dist/factory/ft-substitution-constructor.js.map +1 -0
- package/dist/factory/ft-substitution-factory.js +37 -0
- package/dist/factory/ft-substitution-factory.js.map +1 -0
- package/dist/fields/definitions/ft-boolean-field-definition.js +36 -0
- package/dist/fields/definitions/ft-boolean-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-date-time-field-definition.js +39 -0
- package/dist/fields/definitions/ft-date-time-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-decimal-field-definition.js +32 -0
- package/dist/fields/definitions/ft-decimal-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-field-definition-list.js +26 -0
- package/dist/fields/definitions/ft-field-definition-list.js.map +1 -0
- package/dist/fields/definitions/ft-field-definition.js +245 -0
- package/dist/fields/definitions/ft-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-float-field-definition.js +32 -0
- package/dist/fields/definitions/ft-float-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-generic-field-definition.js +30 -0
- package/dist/fields/definitions/ft-generic-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-integer-field-definition.js +33 -0
- package/dist/fields/definitions/ft-integer-field-definition.js.map +1 -0
- package/dist/fields/definitions/ft-string-field-definition.js +21 -0
- package/dist/fields/definitions/ft-string-field-definition.js.map +1 -0
- package/dist/fields/instances/ft-boolean-field.js +38 -0
- package/dist/fields/instances/ft-boolean-field.js.map +1 -0
- package/dist/fields/instances/ft-date-time-field.js +35 -0
- package/dist/fields/instances/ft-date-time-field.js.map +1 -0
- package/dist/fields/instances/ft-decimal-field.js +35 -0
- package/dist/fields/instances/ft-decimal-field.js.map +1 -0
- package/dist/fields/instances/ft-field-list.js +56 -0
- package/dist/fields/instances/ft-field-list.js.map +1 -0
- package/dist/fields/instances/ft-field.js +561 -0
- package/dist/fields/instances/ft-field.js.map +1 -0
- package/dist/fields/instances/ft-float-field.js +35 -0
- package/dist/fields/instances/ft-float-field.js.map +1 -0
- package/dist/fields/instances/ft-generic-field.js +173 -0
- package/dist/fields/instances/ft-generic-field.js.map +1 -0
- package/dist/fields/instances/ft-integer-field.js +35 -0
- package/dist/fields/instances/ft-integer-field.js.map +1 -0
- package/dist/fields/instances/ft-string-field.js +34 -0
- package/dist/fields/instances/ft-string-field.js.map +1 -0
- package/dist/index.d.ts +3483 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/meta/fields/ft-boolean-meta-field.js +65 -0
- package/dist/meta/fields/ft-boolean-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-date-time-meta-field.js +55 -0
- package/dist/meta/fields/ft-date-time-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-decimal-meta-field.js +55 -0
- package/dist/meta/fields/ft-decimal-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-float-meta-field.js +55 -0
- package/dist/meta/fields/ft-float-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-generic-meta-field.js +32 -0
- package/dist/meta/fields/ft-generic-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-integer-meta-field.js +55 -0
- package/dist/meta/fields/ft-integer-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-meta-field-list.js +183 -0
- package/dist/meta/fields/ft-meta-field-list.js.map +1 -0
- package/dist/meta/fields/ft-meta-field.js +351 -0
- package/dist/meta/fields/ft-meta-field.js.map +1 -0
- package/dist/meta/fields/ft-string-meta-field.js +27 -0
- package/dist/meta/fields/ft-string-meta-field.js.map +1 -0
- package/dist/meta/ft-meta-defaults.js +152 -0
- package/dist/meta/ft-meta-defaults.js.map +1 -0
- package/dist/meta/ft-meta.js +391 -0
- package/dist/meta/ft-meta.js.map +1 -0
- package/dist/meta/sequences/core/ft-meta-sequence-item-list.js +82 -0
- package/dist/meta/sequences/core/ft-meta-sequence-item-list.js.map +1 -0
- package/dist/meta/sequences/core/ft-meta-sequence-item.js +62 -0
- package/dist/meta/sequences/core/ft-meta-sequence-item.js.map +1 -0
- package/dist/meta/sequences/core/ft-meta-sequence-list.js +164 -0
- package/dist/meta/sequences/core/ft-meta-sequence-list.js.map +1 -0
- package/dist/meta/sequences/core/ft-meta-sequence.js +96 -0
- package/dist/meta/sequences/core/ft-meta-sequence.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-boolean-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-boolean-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-case-insensitive-string-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-case-insensitive-string-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-date-meta-sequence-redirect.js +45 -0
- package/dist/meta/sequences/redirects/ft-date-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-exact-date-time-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-exact-date-time-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-exact-decimal-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-exact-decimal-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-exact-float-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-exact-float-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-exact-integer-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-exact-integer-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-exact-string-meta-sequence-redirect.js +40 -0
- package/dist/meta/sequences/redirects/ft-exact-string-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-meta-sequence-redirect-list.js +85 -0
- package/dist/meta/sequences/redirects/ft-meta-sequence-redirect-list.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-meta-sequence-redirect.js +68 -0
- package/dist/meta/sequences/redirects/ft-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/sequences/redirects/ft-null-meta-sequence-redirect.js +21 -0
- package/dist/meta/sequences/redirects/ft-null-meta-sequence-redirect.js.map +1 -0
- package/dist/meta/substitutions/ft-meta-substitution-list.js +51 -0
- package/dist/meta/substitutions/ft-meta-substitution-list.js.map +1 -0
- package/dist/meta-serialization/format/ft-json-meta-serialization.js +283 -0
- package/dist/meta-serialization/format/ft-json-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/format/ft-xml-meta-serialization.js +706 -0
- package/dist/meta-serialization/format/ft-xml-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/format/meta-serializer-options.js +12 -0
- package/dist/meta-serialization/format/meta-serializer-options.js.map +1 -0
- package/dist/meta-serialization/ft-meta-serialization.js +59 -0
- package/dist/meta-serialization/ft-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/styles/ft-boolean-styles-meta-serialization.js +83 -0
- package/dist/meta-serialization/styles/ft-boolean-styles-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/styles/ft-date-time-styles-meta-serialization.js +54 -0
- package/dist/meta-serialization/styles/ft-date-time-styles-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/styles/ft-number-styles-meta-serialization.js +199 -0
- package/dist/meta-serialization/styles/ft-number-styles-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/boolean-meta-serialization.js +39 -0
- package/dist/meta-serialization/types/boolean-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/char-meta-serialization.js +32 -0
- package/dist/meta-serialization/types/char-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/date-time-meta-serialization.js +227 -0
- package/dist/meta-serialization/types/date-time-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/decimal-meta-serialization.js +12 -0
- package/dist/meta-serialization/types/decimal-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/data-type-meta-serialisation.js +55 -0
- package/dist/meta-serialization/types/enums/data-type-meta-serialisation.js.map +1 -0
- package/dist/meta-serialization/types/enums/end-of-line-auto-write-type-meta-serialization.js +50 -0
- package/dist/meta-serialization/types/enums/end-of-line-auto-write-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/end-of-line-type-meta-serialization.js +49 -0
- package/dist/meta-serialization/types/enums/end-of-line-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/heading-constraint-meta-serialization.js +55 -0
- package/dist/meta-serialization/types/enums/heading-constraint-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/last-line-ended-type-meta-serialization.js +48 -0
- package/dist/meta-serialization/types/enums/last-line-ended-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/pad-alignment-meta-serialization.js +52 -0
- package/dist/meta-serialization/types/enums/pad-alignment-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/pad-char-type-meta-serialization.js +52 -0
- package/dist/meta-serialization/types/enums/pad-char-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/quoted-type-meta-serialization.js +52 -0
- package/dist/meta-serialization/types/enums/quoted-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/sequence-invokation-delay-meta-serialization.js +47 -0
- package/dist/meta-serialization/types/enums/sequence-invokation-delay-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.js +88 -0
- package/dist/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.js.map +1 -0
- package/dist/meta-serialization/types/enums/substitution-type-meta-serialization.js +47 -0
- package/dist/meta-serialization/types/enums/substitution-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/enums/truncate-type-meta-serialization.js +56 -0
- package/dist/meta-serialization/types/enums/truncate-type-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/float-meta-serialization.js +99 -0
- package/dist/meta-serialization/types/float-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/integer-float-meta-serialization.js +52 -0
- package/dist/meta-serialization/types/integer-float-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/integer-meta-serialization.js +50 -0
- package/dist/meta-serialization/types/integer-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/types/string-meta-serialization.js +35 -0
- package/dist/meta-serialization/types/string-meta-serialization.js.map +1 -0
- package/dist/meta-serialization/utils/implicit-explicit-index-sorter.js +57 -0
- package/dist/meta-serialization/utils/implicit-explicit-index-sorter.js.map +1 -0
- package/dist/meta-serialization/utils/meta-serialization-redirect-sequence-resolver.js +33 -0
- package/dist/meta-serialization/utils/meta-serialization-redirect-sequence-resolver.js.map +1 -0
- package/dist/meta-serialization/utils/meta-serialization-sequence-name-resolver.js +67 -0
- package/dist/meta-serialization/utils/meta-serialization-sequence-name-resolver.js.map +1 -0
- package/dist/meta-serialization/utils/sequence-item-field-indices.js +70 -0
- package/dist/meta-serialization/utils/sequence-item-field-indices.js.map +1 -0
- package/dist/sequences/core/ft-sequence-invokation-list.js +91 -0
- package/dist/sequences/core/ft-sequence-invokation-list.js.map +1 -0
- package/dist/sequences/core/ft-sequence-invokation.js +143 -0
- package/dist/sequences/core/ft-sequence-invokation.js.map +1 -0
- package/dist/sequences/core/ft-sequence-item-list.js +34 -0
- package/dist/sequences/core/ft-sequence-item-list.js.map +1 -0
- package/dist/sequences/core/ft-sequence-item.js +46 -0
- package/dist/sequences/core/ft-sequence-item.js.map +1 -0
- package/dist/sequences/core/ft-sequence-list.js +62 -0
- package/dist/sequences/core/ft-sequence-list.js.map +1 -0
- package/dist/sequences/core/ft-sequence.js +59 -0
- package/dist/sequences/core/ft-sequence.js.map +1 -0
- package/dist/sequences/redirects/ft-boolean-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-boolean-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-case-insensitive-string-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-case-insensitive-string-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-date-sequence-redirect.js +37 -0
- package/dist/sequences/redirects/ft-date-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-exact-date-time-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-exact-date-time-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-exact-decimal-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-exact-decimal-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-exact-float-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-exact-float-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-exact-integer-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-exact-integer-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-exact-string-sequence-redirect.js +33 -0
- package/dist/sequences/redirects/ft-exact-string-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-null-sequence-redirect.js +20 -0
- package/dist/sequences/redirects/ft-null-sequence-redirect.js.map +1 -0
- package/dist/sequences/redirects/ft-sequence-redirect-list.js +35 -0
- package/dist/sequences/redirects/ft-sequence-redirect-list.js.map +1 -0
- package/dist/sequences/redirects/ft-sequence-redirect.js +47 -0
- package/dist/sequences/redirects/ft-sequence-redirect.js.map +1 -0
- package/dist/serialization/char-reader.js +178 -0
- package/dist/serialization/char-reader.js.map +1 -0
- package/dist/serialization/declaration-parser.js +176 -0
- package/dist/serialization/declaration-parser.js.map +1 -0
- package/dist/serialization/delimited-field-parser.js +278 -0
- package/dist/serialization/delimited-field-parser.js.map +1 -0
- package/dist/serialization/embedded-meta-parser.js +129 -0
- package/dist/serialization/embedded-meta-parser.js.map +1 -0
- package/dist/serialization/fixed-width-field-parser.js +196 -0
- package/dist/serialization/fixed-width-field-parser.js.map +1 -0
- package/dist/serialization/formatting/ft-boolean-field-formatter.js +113 -0
- package/dist/serialization/formatting/ft-boolean-field-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-date-time-field-formatter.js +54 -0
- package/dist/serialization/formatting/ft-date-time-field-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-decimal-field-formatter.js +46 -0
- package/dist/serialization/formatting/ft-decimal-field-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-declared-parameters-formatter.js +52 -0
- package/dist/serialization/formatting/ft-declared-parameters-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-field-formatter.js +15 -0
- package/dist/serialization/formatting/ft-field-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-float-field-formatter.js +46 -0
- package/dist/serialization/formatting/ft-float-field-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-integer-field-formatter.js +47 -0
- package/dist/serialization/formatting/ft-integer-field-formatter.js.map +1 -0
- package/dist/serialization/formatting/ft-string-field-formatter.js +14 -0
- package/dist/serialization/formatting/ft-string-field-formatter.js.map +1 -0
- package/dist/serialization/ft-declared-parameters.js +199 -0
- package/dist/serialization/ft-declared-parameters.js.map +1 -0
- package/dist/serialization/ft-serialization-reader.js +865 -0
- package/dist/serialization/ft-serialization-reader.js.map +1 -0
- package/dist/serialization/ft-serialization-writer.js +633 -0
- package/dist/serialization/ft-serialization-writer.js.map +1 -0
- package/dist/serialization/ft-text-reader.js +48 -0
- package/dist/serialization/ft-text-reader.js.map +1 -0
- package/dist/serialization/ft-text-writer.js +46 -0
- package/dist/serialization/ft-text-writer.js.map +1 -0
- package/dist/serialization/heading-line-record-parser.js +253 -0
- package/dist/serialization/heading-line-record-parser.js.map +1 -0
- package/dist/serialization/line-parser.js +205 -0
- package/dist/serialization/line-parser.js.map +1 -0
- package/dist/serialization/serialization-core.js +551 -0
- package/dist/serialization/serialization-core.js.map +1 -0
- package/dist/substitutions/ft-substitution-list.js +54 -0
- package/dist/substitutions/ft-substitution-list.js.map +1 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types/enums/ft-boolean-styles.js +12 -0
- package/dist/types/enums/ft-boolean-styles.js.map +1 -0
- package/dist/types/enums/ft-data-type.js +12 -0
- package/dist/types/enums/ft-data-type.js.map +1 -0
- package/dist/types/enums/ft-end-of-line-auto-write-type.js +10 -0
- package/dist/types/enums/ft-end-of-line-auto-write-type.js.map +1 -0
- package/dist/types/enums/ft-end-of-line-type.js +9 -0
- package/dist/types/enums/ft-end-of-line-type.js.map +1 -0
- package/dist/types/enums/ft-heading-constraint.js +11 -0
- package/dist/types/enums/ft-heading-constraint.js.map +1 -0
- package/dist/types/enums/ft-last-line-ended-type.js +9 -0
- package/dist/types/enums/ft-last-line-ended-type.js.map +1 -0
- package/dist/types/enums/ft-line-type.js +13 -0
- package/dist/types/enums/ft-line-type.js.map +1 -0
- package/dist/types/enums/ft-meta-element-type.js +12 -0
- package/dist/types/enums/ft-meta-element-type.js.map +1 -0
- package/dist/types/enums/ft-meta-reference-type.js +10 -0
- package/dist/types/enums/ft-meta-reference-type.js.map +1 -0
- package/dist/types/enums/ft-meta-serialization-format.js +15 -0
- package/dist/types/enums/ft-meta-serialization-format.js.map +1 -0
- package/dist/types/enums/ft-pad-alignment.js +9 -0
- package/dist/types/enums/ft-pad-alignment.js.map +1 -0
- package/dist/types/enums/ft-pad-char-type.js +9 -0
- package/dist/types/enums/ft-pad-char-type.js.map +1 -0
- package/dist/types/enums/ft-quoted-type.js +9 -0
- package/dist/types/enums/ft-quoted-type.js.map +1 -0
- package/dist/types/enums/ft-read-record-result.js +9 -0
- package/dist/types/enums/ft-read-record-result.js.map +1 -0
- package/dist/types/enums/ft-sequence-invokation-delay.js +8 -0
- package/dist/types/enums/ft-sequence-invokation-delay.js.map +1 -0
- package/dist/types/enums/ft-sequence-redirect-type.js +15 -0
- package/dist/types/enums/ft-sequence-redirect-type.js.map +1 -0
- package/dist/types/enums/ft-substitution-type.js +12 -0
- package/dist/types/enums/ft-substitution-type.js.map +1 -0
- package/dist/types/enums/ft-truncate-type.js +11 -0
- package/dist/types/enums/ft-truncate-type.js.map +1 -0
- package/dist/types/errors/ft-internal-error.js +14 -0
- package/dist/types/errors/ft-internal-error.js.map +1 -0
- package/dist/types/errors/ft-serialization-error.js +49 -0
- package/dist/types/errors/ft-serialization-error.js.map +1 -0
- package/dist/types/errors/ft-serialization-exception.js +78 -0
- package/dist/types/errors/ft-serialization-exception.js.map +1 -0
- package/dist/types/events/ft-field-heading-ready-event-args.js +2 -0
- package/dist/types/events/ft-field-heading-ready-event-args.js.map +1 -0
- package/dist/types/events/ft-field-value-ready-event-args.js +2 -0
- package/dist/types/events/ft-field-value-ready-event-args.js.map +1 -0
- package/dist/types/events/ft-heading-line-finished-event-args.js +2 -0
- package/dist/types/events/ft-heading-line-finished-event-args.js.map +1 -0
- package/dist/types/events/ft-heading-line-started-event-args.js +2 -0
- package/dist/types/events/ft-heading-line-started-event-args.js.map +1 -0
- package/dist/types/events/ft-record-finished-event-args.js +2 -0
- package/dist/types/events/ft-record-finished-event-args.js.map +1 -0
- package/dist/types/events/ft-record-started-event-args.js +2 -0
- package/dist/types/events/ft-record-started-event-args.js.map +1 -0
- package/dist/types/events/ft-sequence-redirected-event-args.js +2 -0
- package/dist/types/events/ft-sequence-redirected-event-args.js.map +1 -0
- package/package.json +84 -0
- package/src/api/ft-reader.ts +106 -0
- package/src/api/ft-serialization.ts +216 -0
- package/src/api/ft-writer-settings.ts +76 -0
- package/src/api/ft-writer.ts +26 -0
- package/src/factory/ft-field-factory.ts +94 -0
- package/src/factory/ft-meta-constructor.ts +16 -0
- package/src/factory/ft-meta-factory.ts +34 -0
- package/src/factory/ft-sequence-constructor.ts +11 -0
- package/src/factory/ft-sequence-factory.ts +22 -0
- package/src/factory/ft-sequence-item-constructor.ts +11 -0
- package/src/factory/ft-sequence-item-factory.ts +22 -0
- package/src/factory/ft-sequence-redirect-constructor.ts +19 -0
- package/src/factory/ft-sequence-redirect-factory.ts +197 -0
- package/src/factory/ft-substitution-constructor.ts +24 -0
- package/src/factory/ft-substitution-factory.ts +43 -0
- package/src/fields/definitions/ft-boolean-field-definition.ts +49 -0
- package/src/fields/definitions/ft-date-time-field-definition.ts +52 -0
- package/src/fields/definitions/ft-decimal-field-definition.ts +43 -0
- package/src/fields/definitions/ft-field-definition-list.ts +33 -0
- package/src/fields/definitions/ft-field-definition.ts +276 -0
- package/src/fields/definitions/ft-float-field-definition.ts +43 -0
- package/src/fields/definitions/ft-generic-field-definition.ts +49 -0
- package/src/fields/definitions/ft-integer-field-definition.ts +44 -0
- package/src/fields/definitions/ft-string-field-definition.ts +26 -0
- package/src/fields/instances/ft-boolean-field.ts +49 -0
- package/src/fields/instances/ft-date-time-field.ts +44 -0
- package/src/fields/instances/ft-decimal-field.ts +44 -0
- package/src/fields/instances/ft-field-list.ts +68 -0
- package/src/fields/instances/ft-field.ts +691 -0
- package/src/fields/instances/ft-float-field.ts +44 -0
- package/src/fields/instances/ft-generic-field.ts +219 -0
- package/src/fields/instances/ft-integer-field.ts +44 -0
- package/src/fields/instances/ft-string-field.ts +40 -0
- package/src/index.ts +185 -0
- package/src/meta/fields/ft-boolean-meta-field.ts +79 -0
- package/src/meta/fields/ft-date-time-meta-field.ts +68 -0
- package/src/meta/fields/ft-decimal-meta-field.ts +68 -0
- package/src/meta/fields/ft-float-meta-field.ts +68 -0
- package/src/meta/fields/ft-generic-meta-field.ts +38 -0
- package/src/meta/fields/ft-integer-meta-field.ts +68 -0
- package/src/meta/fields/ft-meta-field-list.ts +208 -0
- package/src/meta/fields/ft-meta-field.ts +399 -0
- package/src/meta/fields/ft-string-meta-field.ts +34 -0
- package/src/meta/ft-meta-defaults.ts +151 -0
- package/src/meta/ft-meta.ts +453 -0
- package/src/meta/sequences/core/ft-meta-sequence-item-list.ts +97 -0
- package/src/meta/sequences/core/ft-meta-sequence-item.ts +78 -0
- package/src/meta/sequences/core/ft-meta-sequence-list.ts +203 -0
- package/src/meta/sequences/core/ft-meta-sequence.ts +127 -0
- package/src/meta/sequences/redirects/ft-boolean-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-case-insensitive-string-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-date-meta-sequence-redirect.ts +54 -0
- package/src/meta/sequences/redirects/ft-exact-date-time-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-exact-decimal-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-exact-float-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-exact-integer-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-exact-string-meta-sequence-redirect.ts +49 -0
- package/src/meta/sequences/redirects/ft-meta-sequence-redirect-list.ts +99 -0
- package/src/meta/sequences/redirects/ft-meta-sequence-redirect.ts +89 -0
- package/src/meta/sequences/redirects/ft-null-meta-sequence-redirect.ts +25 -0
- package/src/meta/substitutions/ft-meta-substitution-list.ts +54 -0
- package/src/meta-serialization/format/ft-json-meta-serialization.ts +288 -0
- package/src/meta-serialization/format/ft-xml-meta-serialization.ts +885 -0
- package/src/meta-serialization/format/meta-serializer-options.ts +21 -0
- package/src/meta-serialization/ft-meta-serialization.ts +60 -0
- package/src/meta-serialization/styles/ft-boolean-styles-meta-serialization.ts +88 -0
- package/src/meta-serialization/styles/ft-date-time-styles-meta-serialization.ts +50 -0
- package/src/meta-serialization/styles/ft-number-styles-meta-serialization.ts +212 -0
- package/src/meta-serialization/types/boolean-meta-serialization.ts +36 -0
- package/src/meta-serialization/types/char-meta-serialization.ts +28 -0
- package/src/meta-serialization/types/date-time-meta-serialization.ts +220 -0
- package/src/meta-serialization/types/decimal-meta-serialization.ts +13 -0
- package/src/meta-serialization/types/enums/data-type-meta-serialisation.ts +52 -0
- package/src/meta-serialization/types/enums/end-of-line-auto-write-type-meta-serialization.ts +47 -0
- package/src/meta-serialization/types/enums/end-of-line-type-meta-serialization.ts +46 -0
- package/src/meta-serialization/types/enums/heading-constraint-meta-serialization.ts +52 -0
- package/src/meta-serialization/types/enums/last-line-ended-type-meta-serialization.ts +45 -0
- package/src/meta-serialization/types/enums/meta-element-type-meta-serialization.ts +36 -0
- package/src/meta-serialization/types/enums/pad-alignment-meta-serialization.ts +54 -0
- package/src/meta-serialization/types/enums/pad-char-type-meta-serialization.ts +54 -0
- package/src/meta-serialization/types/enums/quoted-type-meta-serialization.ts +54 -0
- package/src/meta-serialization/types/enums/sequence-invokation-delay-meta-serialization.ts +44 -0
- package/src/meta-serialization/types/enums/sequence-redirect-type-meta-serialisation.ts +86 -0
- package/src/meta-serialization/types/enums/substitution-type-meta-serialization.ts +44 -0
- package/src/meta-serialization/types/enums/truncate-type-meta-serialization.ts +58 -0
- package/src/meta-serialization/types/float-meta-serialization.ts +96 -0
- package/src/meta-serialization/types/integer-float-meta-serialization.ts +46 -0
- package/src/meta-serialization/types/integer-meta-serialization.ts +44 -0
- package/src/meta-serialization/types/string-meta-serialization.ts +32 -0
- package/src/meta-serialization/utils/implicit-explicit-index-sorter.ts +61 -0
- package/src/meta-serialization/utils/meta-serialization-redirect-sequence-resolver.ts +43 -0
- package/src/meta-serialization/utils/meta-serialization-sequence-name-resolver.ts +85 -0
- package/src/meta-serialization/utils/sequence-item-field-indices.ts +76 -0
- package/src/sequences/core/ft-sequence-invokation-list.ts +109 -0
- package/src/sequences/core/ft-sequence-invokation.ts +166 -0
- package/src/sequences/core/ft-sequence-item-list.ts +40 -0
- package/src/sequences/core/ft-sequence-item.ts +59 -0
- package/src/sequences/core/ft-sequence-list.ts +73 -0
- package/src/sequences/core/ft-sequence.ts +75 -0
- package/src/sequences/redirects/ft-boolean-sequence-redirect.ts +42 -0
- package/src/sequences/redirects/ft-case-insensitive-string-sequence-redirect.ts +46 -0
- package/src/sequences/redirects/ft-date-sequence-redirect.ts +48 -0
- package/src/sequences/redirects/ft-exact-date-time-sequence-redirect.ts +46 -0
- package/src/sequences/redirects/ft-exact-decimal-sequence-redirect.ts +46 -0
- package/src/sequences/redirects/ft-exact-float-sequence-redirect.ts +46 -0
- package/src/sequences/redirects/ft-exact-integer-sequence-redirect.ts +46 -0
- package/src/sequences/redirects/ft-exact-string-sequence-redirect.ts +46 -0
- package/src/sequences/redirects/ft-null-sequence-redirect.ts +27 -0
- package/src/sequences/redirects/ft-sequence-redirect-list.ts +42 -0
- package/src/sequences/redirects/ft-sequence-redirect.ts +68 -0
- package/src/serialization/char-reader.ts +203 -0
- package/src/serialization/declaration-parser.ts +203 -0
- package/src/serialization/delimited-field-parser.ts +296 -0
- package/src/serialization/embedded-meta-parser.ts +147 -0
- package/src/serialization/fixed-width-field-parser.ts +220 -0
- package/src/serialization/formatting/ft-boolean-field-formatter.ts +114 -0
- package/src/serialization/formatting/ft-date-time-field-formatter.ts +61 -0
- package/src/serialization/formatting/ft-decimal-field-formatter.ts +52 -0
- package/src/serialization/formatting/ft-declared-parameters-formatter.ts +60 -0
- package/src/serialization/formatting/ft-field-formatter.ts +18 -0
- package/src/serialization/formatting/ft-float-field-formatter.ts +52 -0
- package/src/serialization/formatting/ft-integer-field-formatter.ts +53 -0
- package/src/serialization/formatting/ft-string-field-formatter.ts +15 -0
- package/src/serialization/formatting/index.ts +7 -0
- package/src/serialization/ft-declared-parameters.ts +232 -0
- package/src/serialization/ft-serialization-reader.ts +953 -0
- package/src/serialization/ft-serialization-writer.ts +760 -0
- package/src/serialization/ft-text-reader.ts +64 -0
- package/src/serialization/ft-text-writer.ts +61 -0
- package/src/serialization/heading-line-record-parser.ts +285 -0
- package/src/serialization/line-parser.ts +231 -0
- package/src/serialization/serialization-core.ts +632 -0
- package/src/substitutions/ft-substitution-list.ts +60 -0
- package/src/types/enums/ft-boolean-styles.ts +17 -0
- package/src/types/enums/ft-data-type.ts +21 -0
- package/src/types/enums/ft-end-of-line-auto-write-type.ts +14 -0
- package/src/types/enums/ft-end-of-line-type.ts +13 -0
- package/src/types/enums/ft-heading-constraint.ts +15 -0
- package/src/types/enums/ft-last-line-ended-type.ts +13 -0
- package/src/types/enums/ft-line-type.ts +17 -0
- package/src/types/enums/ft-meta-element-type.ts +16 -0
- package/src/types/enums/ft-meta-reference-type.ts +14 -0
- package/src/types/enums/ft-meta-serialization-format.ts +19 -0
- package/src/types/enums/ft-pad-alignment.ts +13 -0
- package/src/types/enums/ft-pad-char-type.ts +13 -0
- package/src/types/enums/ft-quoted-type.ts +13 -0
- package/src/types/enums/ft-read-record-result.ts +13 -0
- package/src/types/enums/ft-sequence-invokation-delay.ts +12 -0
- package/src/types/enums/ft-sequence-redirect-type.ts +19 -0
- package/src/types/enums/ft-substitution-type.ts +16 -0
- package/src/types/enums/ft-truncate-type.ts +15 -0
- package/src/types/errors/ft-internal-error.ts +15 -0
- package/src/types/errors/ft-serialization-error.ts +53 -0
- package/src/types/errors/ft-serialization-exception.ts +86 -0
- package/src/types/events/ft-field-heading-ready-event-args.ts +9 -0
- package/src/types/events/ft-field-value-ready-event-args.ts +9 -0
- package/src/types/events/ft-heading-line-finished-event-args.ts +6 -0
- package/src/types/events/ft-heading-line-started-event-args.ts +6 -0
- package/src/types/events/ft-record-finished-event-args.ts +6 -0
- package/src/types/events/ft-record-started-event-args.ts +6 -0
- package/src/types/events/ft-sequence-redirected-event-args.ts +9 -0
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
import { FtDataType } from '../../types/enums/ft-data-type.js';
|
|
2
|
+
import { FtHeadingConstraint } from '../../types/enums/ft-heading-constraint.js';
|
|
3
|
+
import { FtPadAlignment } from '../../types/enums/ft-pad-alignment.js';
|
|
4
|
+
import { FtPadCharType } from '../../types/enums/ft-pad-char-type.js';
|
|
5
|
+
import { FtQuotedType } from '../../types/enums/ft-quoted-type.js';
|
|
6
|
+
import { FtSequenceRedirectType } from '../../types/enums/ft-sequence-redirect-type.js';
|
|
7
|
+
import { FtTruncateType } from '../../types/enums/ft-truncate-type.js';
|
|
8
|
+
import { FtMetaDefaults } from '../ft-meta-defaults.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Abstract base class for meta field definitions.
|
|
12
|
+
* Meta fields define the structure and formatting of fields in a fielded text document.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export abstract class FtMetaField {
|
|
16
|
+
// Event hooks for default heading properties
|
|
17
|
+
onDefaultHeadingConstraintRequired: (() => FtHeadingConstraint) | undefined = undefined;
|
|
18
|
+
onDefaultHeadingQuotedTypeRequired: (() => FtQuotedType) | undefined = undefined;
|
|
19
|
+
onDefaultHeadingAlwaysWriteOptionalQuoteRequired: (() => boolean) | undefined = undefined;
|
|
20
|
+
onDefaultHeadingWritePrefixSpaceRequired: (() => boolean) | undefined = undefined;
|
|
21
|
+
onDefaultHeadingPadAlignmentRequired: (() => FtPadAlignment) | undefined = undefined;
|
|
22
|
+
onDefaultHeadingPadCharTypeRequired: (() => FtPadCharType) | undefined = undefined;
|
|
23
|
+
onDefaultHeadingPadCharRequired: (() => string) | undefined = undefined;
|
|
24
|
+
onDefaultHeadingTruncateTypeRequired: (() => FtTruncateType) | undefined = undefined;
|
|
25
|
+
onDefaultHeadingTruncateCharRequired: (() => string) | undefined = undefined;
|
|
26
|
+
onDefaultHeadingEndOfValueCharRequired: (() => string) | undefined = undefined;
|
|
27
|
+
|
|
28
|
+
private _index = 0;
|
|
29
|
+
private _dataType: FtDataType;
|
|
30
|
+
private _id: number | undefined;
|
|
31
|
+
private _name: string = FtMetaDefaults.Field.Name;
|
|
32
|
+
private _headings: string[];
|
|
33
|
+
private _fixedWidth: boolean = FtMetaDefaults.Field.FixedWidth;
|
|
34
|
+
private _width: number = FtMetaDefaults.Field.Width;
|
|
35
|
+
private _constant: boolean = FtMetaDefaults.Field.Constant;
|
|
36
|
+
private _null: boolean = FtMetaDefaults.Field.Null;
|
|
37
|
+
|
|
38
|
+
// Value formatting properties
|
|
39
|
+
private _valueQuotedType: FtQuotedType = FtMetaDefaults.Field.ValueQuotedType;
|
|
40
|
+
private _valueAlwaysWriteOptionalQuote: boolean = FtMetaDefaults.Field.ValueAlwaysWriteOptionalQuote;
|
|
41
|
+
private _valueWritePrefixSpace: boolean = FtMetaDefaults.Field.ValueWritePrefixSpace;
|
|
42
|
+
private _valuePadAlignment: FtPadAlignment = FtMetaDefaults.Field.ValuePadAlignment;
|
|
43
|
+
private _valuePadCharType: FtPadCharType = FtMetaDefaults.Field.ValuePadCharType;
|
|
44
|
+
private _valuePadChar: string = FtMetaDefaults.Field.ValuePadChar;
|
|
45
|
+
private _valueTruncateType: FtTruncateType = FtMetaDefaults.Field.ValueTruncateType;
|
|
46
|
+
private _valueTruncateChar: string = FtMetaDefaults.Field.ValueTruncateChar;
|
|
47
|
+
private _valueEndOfValueChar: string = FtMetaDefaults.Field.ValueEndOfValueChar;
|
|
48
|
+
private _valueNullChar: string = FtMetaDefaults.Field.ValueNullChar;
|
|
49
|
+
|
|
50
|
+
// Heading formatting properties
|
|
51
|
+
private _headingConstraint: FtHeadingConstraint = FtMetaDefaults.Field.RootOverriding.HeadingConstraint;
|
|
52
|
+
private _headingQuotedType: FtQuotedType = FtMetaDefaults.Field.RootOverriding.HeadingQuotedType;
|
|
53
|
+
private _headingAlwaysWriteOptionalQuote: boolean = FtMetaDefaults.Field.RootOverriding.HeadingAlwaysWriteOptionalQuote;
|
|
54
|
+
private _headingWritePrefixSpace: boolean = FtMetaDefaults.Field.RootOverriding.HeadingWritePrefixSpace;
|
|
55
|
+
private _headingPadAlignment: FtPadAlignment = FtMetaDefaults.Field.RootOverriding.HeadingPadAlignment;
|
|
56
|
+
private _headingPadCharType: FtPadCharType = FtMetaDefaults.Field.RootOverriding.HeadingPadCharType;
|
|
57
|
+
private _headingPadChar: string = FtMetaDefaults.Field.RootOverriding.HeadingPadChar;
|
|
58
|
+
private _headingTruncateType: FtTruncateType = FtMetaDefaults.Field.RootOverriding.HeadingTruncateType;
|
|
59
|
+
private _headingTruncateChar: string = FtMetaDefaults.Field.RootOverriding.HeadingTruncateChar;
|
|
60
|
+
private _headingEndOfValueChar: string = FtMetaDefaults.Field.RootOverriding.HeadingEndOfValueChar;
|
|
61
|
+
|
|
62
|
+
protected constructor(dataType: FtDataType, headingCount: number) {
|
|
63
|
+
this._dataType = dataType;
|
|
64
|
+
this._headings = new Array<string>(headingCount).fill('');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
get index(): number {
|
|
68
|
+
return this._index;
|
|
69
|
+
}
|
|
70
|
+
set index(value: number) {
|
|
71
|
+
this._index = value;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
get dataType(): FtDataType {
|
|
75
|
+
return this._dataType;
|
|
76
|
+
}
|
|
77
|
+
set dataType(value: FtDataType) {
|
|
78
|
+
this._dataType = value;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
get id(): number | undefined {
|
|
82
|
+
return this._id;
|
|
83
|
+
}
|
|
84
|
+
set id(value: number | undefined) {
|
|
85
|
+
this._id = value;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
get name(): string {
|
|
89
|
+
return this._name;
|
|
90
|
+
}
|
|
91
|
+
set name(value: string) {
|
|
92
|
+
this._name = value;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
get headings(): string[] {
|
|
96
|
+
return this._headings;
|
|
97
|
+
}
|
|
98
|
+
set headings(value: string[]) {
|
|
99
|
+
this._headings = value;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
get fixedWidth(): boolean {
|
|
103
|
+
return this._fixedWidth;
|
|
104
|
+
}
|
|
105
|
+
set fixedWidth(value: boolean) {
|
|
106
|
+
this._fixedWidth = value;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
get width(): number {
|
|
110
|
+
return this._width;
|
|
111
|
+
}
|
|
112
|
+
set width(value: number) {
|
|
113
|
+
this._width = value;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
get constant(): boolean {
|
|
117
|
+
return this._constant;
|
|
118
|
+
}
|
|
119
|
+
set constant(value: boolean) {
|
|
120
|
+
this._constant = value;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
get null(): boolean {
|
|
124
|
+
return this._null;
|
|
125
|
+
}
|
|
126
|
+
set null(value: boolean) {
|
|
127
|
+
this._null = value;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
get valueQuotedType(): FtQuotedType {
|
|
131
|
+
return this._valueQuotedType;
|
|
132
|
+
}
|
|
133
|
+
set valueQuotedType(value: FtQuotedType) {
|
|
134
|
+
this._valueQuotedType = value;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
get valueAlwaysWriteOptionalQuote(): boolean {
|
|
138
|
+
return this._valueAlwaysWriteOptionalQuote;
|
|
139
|
+
}
|
|
140
|
+
set valueAlwaysWriteOptionalQuote(value: boolean) {
|
|
141
|
+
this._valueAlwaysWriteOptionalQuote = value;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
get valueWritePrefixSpace(): boolean {
|
|
145
|
+
return this._valueWritePrefixSpace;
|
|
146
|
+
}
|
|
147
|
+
set valueWritePrefixSpace(value: boolean) {
|
|
148
|
+
this._valueWritePrefixSpace = value;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
get valuePadAlignment(): FtPadAlignment {
|
|
152
|
+
return this._valuePadAlignment;
|
|
153
|
+
}
|
|
154
|
+
set valuePadAlignment(value: FtPadAlignment) {
|
|
155
|
+
this._valuePadAlignment = value;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
get valuePadCharType(): FtPadCharType {
|
|
159
|
+
return this._valuePadCharType;
|
|
160
|
+
}
|
|
161
|
+
set valuePadCharType(value: FtPadCharType) {
|
|
162
|
+
this._valuePadCharType = value;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
get valuePadChar(): string {
|
|
166
|
+
return this._valuePadChar;
|
|
167
|
+
}
|
|
168
|
+
set valuePadChar(value: string) {
|
|
169
|
+
this._valuePadChar = value;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
get valueTruncateType(): FtTruncateType {
|
|
173
|
+
return this._valueTruncateType;
|
|
174
|
+
}
|
|
175
|
+
set valueTruncateType(value: FtTruncateType) {
|
|
176
|
+
this._valueTruncateType = value;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
get valueTruncateChar(): string {
|
|
180
|
+
return this._valueTruncateChar;
|
|
181
|
+
}
|
|
182
|
+
set valueTruncateChar(value: string) {
|
|
183
|
+
this._valueTruncateChar = value;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
get valueEndOfValueChar(): string {
|
|
187
|
+
return this._valueEndOfValueChar;
|
|
188
|
+
}
|
|
189
|
+
set valueEndOfValueChar(value: string) {
|
|
190
|
+
this._valueEndOfValueChar = value;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
get valueNullChar(): string {
|
|
194
|
+
return this._valueNullChar;
|
|
195
|
+
}
|
|
196
|
+
set valueNullChar(value: string) {
|
|
197
|
+
this._valueNullChar = value;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
get headingConstraint(): FtHeadingConstraint {
|
|
201
|
+
return this._headingConstraint;
|
|
202
|
+
}
|
|
203
|
+
set headingConstraint(value: FtHeadingConstraint) {
|
|
204
|
+
this._headingConstraint = value;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
get headingQuotedType(): FtQuotedType {
|
|
208
|
+
return this._headingQuotedType;
|
|
209
|
+
}
|
|
210
|
+
set headingQuotedType(value: FtQuotedType) {
|
|
211
|
+
this._headingQuotedType = value;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
get headingAlwaysWriteOptionalQuote(): boolean {
|
|
215
|
+
return this._headingAlwaysWriteOptionalQuote;
|
|
216
|
+
}
|
|
217
|
+
set headingAlwaysWriteOptionalQuote(value: boolean) {
|
|
218
|
+
this._headingAlwaysWriteOptionalQuote = value;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
get headingWritePrefixSpace(): boolean {
|
|
222
|
+
return this._headingWritePrefixSpace;
|
|
223
|
+
}
|
|
224
|
+
set headingWritePrefixSpace(value: boolean) {
|
|
225
|
+
this._headingWritePrefixSpace = value;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
get headingPadAlignment(): FtPadAlignment {
|
|
229
|
+
return this._headingPadAlignment;
|
|
230
|
+
}
|
|
231
|
+
set headingPadAlignment(value: FtPadAlignment) {
|
|
232
|
+
this._headingPadAlignment = value;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
get headingPadCharType(): FtPadCharType {
|
|
236
|
+
return this._headingPadCharType;
|
|
237
|
+
}
|
|
238
|
+
set headingPadCharType(value: FtPadCharType) {
|
|
239
|
+
this._headingPadCharType = value;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
get headingPadChar(): string {
|
|
243
|
+
return this._headingPadChar;
|
|
244
|
+
}
|
|
245
|
+
set headingPadChar(value: string) {
|
|
246
|
+
this._headingPadChar = value;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
get headingTruncateType(): FtTruncateType {
|
|
250
|
+
return this._headingTruncateType;
|
|
251
|
+
}
|
|
252
|
+
set headingTruncateType(value: FtTruncateType) {
|
|
253
|
+
this._headingTruncateType = value;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
get headingTruncateChar(): string {
|
|
257
|
+
return this._headingTruncateChar;
|
|
258
|
+
}
|
|
259
|
+
set headingTruncateChar(value: string) {
|
|
260
|
+
this._headingTruncateChar = value;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
get headingEndOfValueChar(): string {
|
|
264
|
+
return this._headingEndOfValueChar;
|
|
265
|
+
}
|
|
266
|
+
set headingEndOfValueChar(value: string) {
|
|
267
|
+
this._headingEndOfValueChar = value;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
get headingCount(): number {
|
|
271
|
+
return this._headings.length;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
getDefaultHeadings(): string[] {
|
|
275
|
+
return new Array<string>(this.headingCount).fill('');
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
loadDefaults(leaveNameAsIs = true): void {
|
|
279
|
+
if (!leaveNameAsIs) {
|
|
280
|
+
this._name = '';
|
|
281
|
+
}
|
|
282
|
+
this._id = FtMetaDefaults.Field.Id;
|
|
283
|
+
this._headings = this.getDefaultHeadings();
|
|
284
|
+
this._fixedWidth = FtMetaDefaults.Field.FixedWidth;
|
|
285
|
+
this._width = FtMetaDefaults.Field.Width;
|
|
286
|
+
this._constant = FtMetaDefaults.Field.Constant;
|
|
287
|
+
this._null = FtMetaDefaults.Field.Null;
|
|
288
|
+
this._valueQuotedType = FtMetaDefaults.Field.ValueQuotedType;
|
|
289
|
+
this._valueAlwaysWriteOptionalQuote = FtMetaDefaults.Field.ValueAlwaysWriteOptionalQuote;
|
|
290
|
+
this._valueWritePrefixSpace = FtMetaDefaults.Field.ValueWritePrefixSpace;
|
|
291
|
+
this._valuePadAlignment = FtMetaDefaults.Field.ValuePadAlignment;
|
|
292
|
+
this._valuePadCharType = FtMetaDefaults.Field.ValuePadCharType;
|
|
293
|
+
this._valuePadChar = FtMetaDefaults.Field.ValuePadChar;
|
|
294
|
+
this._valueTruncateType = FtMetaDefaults.Field.ValueTruncateType;
|
|
295
|
+
this._valueTruncateChar = FtMetaDefaults.Field.ValueTruncateChar;
|
|
296
|
+
this._valueEndOfValueChar = FtMetaDefaults.Field.ValueEndOfValueChar;
|
|
297
|
+
this._valueNullChar = FtMetaDefaults.Field.ValueNullChar;
|
|
298
|
+
this._headingConstraint = FtMetaDefaults.Field.RootOverriding.HeadingConstraint;
|
|
299
|
+
this._headingQuotedType = FtMetaDefaults.Field.RootOverriding.HeadingQuotedType;
|
|
300
|
+
this._headingAlwaysWriteOptionalQuote = FtMetaDefaults.Field.RootOverriding.HeadingAlwaysWriteOptionalQuote;
|
|
301
|
+
this._headingWritePrefixSpace = FtMetaDefaults.Field.RootOverriding.HeadingWritePrefixSpace;
|
|
302
|
+
this._headingPadAlignment = FtMetaDefaults.Field.RootOverriding.HeadingPadAlignment;
|
|
303
|
+
this._headingPadCharType = FtMetaDefaults.Field.RootOverriding.HeadingPadCharType;
|
|
304
|
+
this._headingPadChar = FtMetaDefaults.Field.RootOverriding.HeadingPadChar;
|
|
305
|
+
this._headingTruncateType = FtMetaDefaults.Field.RootOverriding.HeadingTruncateType;
|
|
306
|
+
this._headingTruncateChar = FtMetaDefaults.Field.RootOverriding.HeadingTruncateChar;
|
|
307
|
+
this._headingEndOfValueChar = FtMetaDefaults.Field.RootOverriding.HeadingEndOfValueChar;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/** @internal */
|
|
311
|
+
setHeadingCount(value: number) {
|
|
312
|
+
const existingCount = this._headings.length;
|
|
313
|
+
if (value < existingCount) {
|
|
314
|
+
this._headings.length = value;
|
|
315
|
+
} else {
|
|
316
|
+
if (value > existingCount) {
|
|
317
|
+
this._headings.length = value;
|
|
318
|
+
for (let i = existingCount; i < value; i++) {
|
|
319
|
+
this._headings[i] = '';
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
validateEndOfLineTypeChar(eolTypeChar: string, headingLineCount: number): { valid: boolean; errorMessage: string } {
|
|
326
|
+
let errorMessage = '';
|
|
327
|
+
|
|
328
|
+
// Only validate if field is fixed width
|
|
329
|
+
if (!this._fixedWidth) {
|
|
330
|
+
return { valid: true, errorMessage: '' };
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
if (this._valueNullChar === eolTypeChar) {
|
|
334
|
+
errorMessage = `Field '${this._name}': ValueNullChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
335
|
+
} else if (this._valuePadChar === eolTypeChar) {
|
|
336
|
+
errorMessage = `Field '${this._name}': ValuePadChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
337
|
+
} else if (this._valueTruncateChar === eolTypeChar) {
|
|
338
|
+
errorMessage = `Field '${this._name}': ValueTruncateChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
339
|
+
} else if (this._valueEndOfValueChar === eolTypeChar) {
|
|
340
|
+
errorMessage = `Field '${this._name}': ValueEndOfValueChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
341
|
+
} else if (headingLineCount > 0 && this._headingPadChar === eolTypeChar) {
|
|
342
|
+
errorMessage = `Field '${this._name}': HeadingPadChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
343
|
+
} else if (headingLineCount > 0 && this._headingTruncateChar === eolTypeChar) {
|
|
344
|
+
errorMessage = `Field '${this._name}': HeadingTruncateChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
345
|
+
} else if (headingLineCount > 0 && this._headingEndOfValueChar === eolTypeChar) {
|
|
346
|
+
errorMessage = `Field '${this._name}': HeadingEndOfValueChar cannot be an EndOfLine char: ${this.endOfLineTypeCharToString(eolTypeChar)}`;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
return { valid: errorMessage === '', errorMessage };
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
protected assignFrom(source: FtMetaField): void {
|
|
353
|
+
this._id = source._id;
|
|
354
|
+
this._name = source._name;
|
|
355
|
+
this._headings = [...source._headings];
|
|
356
|
+
this._fixedWidth = source._fixedWidth;
|
|
357
|
+
this._width = source._width;
|
|
358
|
+
this._constant = source._constant;
|
|
359
|
+
this._null = source._null;
|
|
360
|
+
this._valueQuotedType = source._valueQuotedType;
|
|
361
|
+
this._valueAlwaysWriteOptionalQuote = source._valueAlwaysWriteOptionalQuote;
|
|
362
|
+
this._valueWritePrefixSpace = source._valueWritePrefixSpace;
|
|
363
|
+
this._valuePadAlignment = source._valuePadAlignment;
|
|
364
|
+
this._valuePadCharType = source._valuePadCharType;
|
|
365
|
+
this._valuePadChar = source._valuePadChar;
|
|
366
|
+
this._valueTruncateType = source._valueTruncateType;
|
|
367
|
+
this._valueTruncateChar = source._valueTruncateChar;
|
|
368
|
+
this._valueEndOfValueChar = source._valueEndOfValueChar;
|
|
369
|
+
this._valueNullChar = source._valueNullChar;
|
|
370
|
+
this._headingConstraint = source._headingConstraint;
|
|
371
|
+
this._headingQuotedType = source._headingQuotedType;
|
|
372
|
+
this._headingAlwaysWriteOptionalQuote = source._headingAlwaysWriteOptionalQuote;
|
|
373
|
+
this._headingWritePrefixSpace = source._headingWritePrefixSpace;
|
|
374
|
+
this._headingPadAlignment = source._headingPadAlignment;
|
|
375
|
+
this._headingPadCharType = source._headingPadCharType;
|
|
376
|
+
this._headingPadChar = source._headingPadChar;
|
|
377
|
+
this._headingTruncateType = source._headingTruncateType;
|
|
378
|
+
this._headingTruncateChar = source._headingTruncateChar;
|
|
379
|
+
this._headingEndOfValueChar = source._headingEndOfValueChar;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
private endOfLineTypeCharToString(eolTypeChar: string): string {
|
|
383
|
+
const codePoint = eolTypeChar.charCodeAt(0);
|
|
384
|
+
let result = `\\x${codePoint.toString(16).padStart(4, '0')}`;
|
|
385
|
+
|
|
386
|
+
// Check if it's a control character
|
|
387
|
+
if (codePoint < 32 || codePoint === 127) {
|
|
388
|
+
// It's a control character, don't add the character itself
|
|
389
|
+
} else {
|
|
390
|
+
result += ` [${eolTypeChar}]`;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
return result;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
abstract createCopy(): FtMetaField;
|
|
397
|
+
|
|
398
|
+
protected abstract getDefaultSequenceRedirectType(): FtSequenceRedirectType;
|
|
399
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FtDataType } from '../../types/enums/ft-data-type.js';
|
|
2
|
+
import { FtSequenceRedirectType } from '../../types/enums/ft-sequence-redirect-type.js';
|
|
3
|
+
import { FtMetaDefaults } from '../ft-meta-defaults.js';
|
|
4
|
+
import { FtGenericMetaField } from './ft-generic-meta-field.js';
|
|
5
|
+
import { FtMetaField } from './ft-meta-field.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta field for string values.
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export class FtStringMetaField extends FtGenericMetaField<string> {
|
|
12
|
+
static readonly DATA_TYPE = FtDataType.String;
|
|
13
|
+
|
|
14
|
+
static readonly DEFAULT_VALUE = FtMetaDefaults.StringField.Value;
|
|
15
|
+
static readonly DEFAULT_SEQUENCE_REDIRECT_TYPE = FtMetaDefaults.StringField.SequenceRedirectType;
|
|
16
|
+
|
|
17
|
+
constructor(headingCount = 0) {
|
|
18
|
+
super(FtStringMetaField.DATA_TYPE, headingCount, FtStringMetaField.DEFAULT_VALUE);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static isStringMetaField(field: FtMetaField): field is FtStringMetaField {
|
|
22
|
+
return field.dataType === FtStringMetaField.DATA_TYPE;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
createCopy(): FtMetaField {
|
|
26
|
+
const field = new FtStringMetaField(this.headingCount);
|
|
27
|
+
field.assignFrom(this);
|
|
28
|
+
return field;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
protected getDefaultSequenceRedirectType(): FtSequenceRedirectType {
|
|
32
|
+
return FtStringMetaField.DEFAULT_SEQUENCE_REDIRECT_TYPE;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { DotNetDateTimeStyles, DotNetNumberStyles } from '@pbkware/dot-net-date-number-formatting';
|
|
2
|
+
import { FtBooleanStyles } from '../types/enums/ft-boolean-styles.js';
|
|
3
|
+
import { FtDataType } from '../types/enums/ft-data-type.js';
|
|
4
|
+
import { FtEndOfLineAutoWriteType } from '../types/enums/ft-end-of-line-auto-write-type.js';
|
|
5
|
+
import { FtEndOfLineType } from '../types/enums/ft-end-of-line-type.js';
|
|
6
|
+
import { FtHeadingConstraint } from '../types/enums/ft-heading-constraint.js';
|
|
7
|
+
import { FtLastLineEndedType } from '../types/enums/ft-last-line-ended-type.js';
|
|
8
|
+
import { FtPadAlignment } from '../types/enums/ft-pad-alignment.js';
|
|
9
|
+
import { FtPadCharType } from '../types/enums/ft-pad-char-type.js';
|
|
10
|
+
import { FtQuotedType } from '../types/enums/ft-quoted-type.js';
|
|
11
|
+
import { FtSequenceInvokationDelay } from '../types/enums/ft-sequence-invokation-delay.js';
|
|
12
|
+
import { FtSequenceRedirectType } from '../types/enums/ft-sequence-redirect-type.js';
|
|
13
|
+
import { FtSubstitutionType } from '../types/enums/ft-substitution-type.js';
|
|
14
|
+
import { FtTruncateType } from '../types/enums/ft-truncate-type.js';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export namespace FtMetaDefaults {
|
|
20
|
+
export namespace Root {
|
|
21
|
+
export const CultureName = '';
|
|
22
|
+
export const EndOfLineType = FtEndOfLineType.Auto;
|
|
23
|
+
export const EndOfLineChar = ';';
|
|
24
|
+
export const EndOfLineAutoWriteType = FtEndOfLineAutoWriteType.Local;
|
|
25
|
+
export const LastLineEndedType = FtLastLineEndedType.Optional;
|
|
26
|
+
export const QuoteChar = '"';
|
|
27
|
+
export const DelimiterChar = ',';
|
|
28
|
+
export const LineCommentChar = '\x04';
|
|
29
|
+
export const AllowEndOfLineCharInQuotes = true;
|
|
30
|
+
export const IgnoreBlankLines = true;
|
|
31
|
+
export const IgnoreExtraChars = true;
|
|
32
|
+
export const AllowIncompleteRecords = false;
|
|
33
|
+
export const StuffedEmbeddedQuotes = true;
|
|
34
|
+
export const SubstitutionsEnabled = false;
|
|
35
|
+
export const SubstitutionChar = '\\';
|
|
36
|
+
export const HeadingLineCount = 0;
|
|
37
|
+
export const MainHeadingLineIndex = 0;
|
|
38
|
+
export const HeadingConstraint = FtHeadingConstraint.None;
|
|
39
|
+
export const HeadingQuotedType = FtQuotedType.Optional;
|
|
40
|
+
export const HeadingAlwaysWriteOptionalQuote = false;
|
|
41
|
+
export const HeadingWritePrefixSpace = false;
|
|
42
|
+
export const HeadingPadAlignment = FtPadAlignment.Auto;
|
|
43
|
+
export const HeadingPadCharType = FtPadCharType.EndOfValue;
|
|
44
|
+
export const HeadingPadChar = ' ';
|
|
45
|
+
export const HeadingTruncateType = FtTruncateType.Right;
|
|
46
|
+
export const HeadingTruncateChar = '#';
|
|
47
|
+
export const HeadingEndOfValueChar = '\x03';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export namespace Field {
|
|
51
|
+
export const Id = 0;
|
|
52
|
+
export const Name = '';
|
|
53
|
+
export const DataType = FtDataType.String;
|
|
54
|
+
export const FixedWidth = false;
|
|
55
|
+
export const Width = 1;
|
|
56
|
+
export const Constant = false;
|
|
57
|
+
export const Null = false;
|
|
58
|
+
export const ValueQuotedType = FtQuotedType.Optional;
|
|
59
|
+
export const ValueAlwaysWriteOptionalQuote = false;
|
|
60
|
+
export const ValueWritePrefixSpace = false;
|
|
61
|
+
export const ValuePadAlignment = FtPadAlignment.Auto;
|
|
62
|
+
export const ValuePadCharType = FtPadCharType.EndOfValue;
|
|
63
|
+
export const ValuePadChar = ' ';
|
|
64
|
+
export const ValueTruncateType = FtTruncateType.Exception;
|
|
65
|
+
export const ValueTruncateChar = '#';
|
|
66
|
+
export const ValueEndOfValueChar = '\x03'; // ASCII Control Code: End Of Text
|
|
67
|
+
export const ValueNullChar = '*';
|
|
68
|
+
|
|
69
|
+
export namespace RootOverriding {
|
|
70
|
+
export const HeadingConstraint = Root.HeadingConstraint; // Default is actually value assigned to root
|
|
71
|
+
export const HeadingQuotedType = Root.HeadingQuotedType; // Default is actually value assigned to root
|
|
72
|
+
export const HeadingAlwaysWriteOptionalQuote = Root.HeadingAlwaysWriteOptionalQuote; // Default is actually value assigned to root
|
|
73
|
+
export const HeadingWritePrefixSpace = Root.HeadingWritePrefixSpace; // Default is actually value assigned to root
|
|
74
|
+
export const HeadingPadAlignment = Root.HeadingPadAlignment; // Default is actually value assigned to root
|
|
75
|
+
export const HeadingPadCharType = Root.HeadingPadCharType; // Default is actually value assigned to root
|
|
76
|
+
export const HeadingPadChar = Root.HeadingPadChar; // Default is actually value assigned to root
|
|
77
|
+
export const HeadingTruncateType = Root.HeadingTruncateType; // Default is actually value assigned to root
|
|
78
|
+
export const HeadingTruncateChar = Root.HeadingTruncateChar; // Default is actually value assigned to root
|
|
79
|
+
export const HeadingEndOfValueChar = Root.HeadingEndOfValueChar; // Default is actually value assigned to root
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export namespace StringField {
|
|
84
|
+
export const Value = '';
|
|
85
|
+
export const SequenceRedirectType = FtSequenceRedirectType.ExactString;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export namespace BooleanField {
|
|
89
|
+
export const FalseText = 'False';
|
|
90
|
+
export const TrueText = 'True';
|
|
91
|
+
export const Styles = FtBooleanStyles.IgnoreCase | FtBooleanStyles.MatchFirstCharOnly;
|
|
92
|
+
export const Value = false;
|
|
93
|
+
export const SequenceRedirectType = FtSequenceRedirectType.Boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export namespace IntegerField {
|
|
97
|
+
export const Styles = DotNetNumberStyles.integer;
|
|
98
|
+
export const Format = 'G';
|
|
99
|
+
export const Value = 0n;
|
|
100
|
+
export const SequenceRedirectType = FtSequenceRedirectType.ExactInteger;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export namespace FloatField {
|
|
104
|
+
export const Styles = DotNetNumberStyles.float;
|
|
105
|
+
export const Format = 'G';
|
|
106
|
+
export const Value = 0.0;
|
|
107
|
+
export const SequenceRedirectType = FtSequenceRedirectType.ExactFloat;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export namespace DecimalField {
|
|
111
|
+
export const Styles = DotNetNumberStyles.currency;
|
|
112
|
+
export const Format = 'G';
|
|
113
|
+
export const Value = 0.0;
|
|
114
|
+
export const SequenceRedirectType = FtSequenceRedirectType.ExactDecimal;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export namespace DateTimeField {
|
|
118
|
+
export const Styles = DotNetDateTimeStyles.none;
|
|
119
|
+
export const Format = 'yyyyMMdd';
|
|
120
|
+
const epochDateStamp = new Date().setUTCFullYear(1, 0, 1);
|
|
121
|
+
const epochTimestamp = new Date(epochDateStamp).setUTCHours(0, 0, 0, 0);
|
|
122
|
+
export const Value = new Date(epochTimestamp);
|
|
123
|
+
export const SequenceRedirectType = FtSequenceRedirectType.ExactDateTime;
|
|
124
|
+
|
|
125
|
+
export const DateFormat = 'yyyyMMdd';
|
|
126
|
+
export const DateFormatLength = DateFormat.length;
|
|
127
|
+
export const TimeFormat = 'HHmmss';
|
|
128
|
+
export const TimeFormatLength = TimeFormat.length;
|
|
129
|
+
export const DateTimeFormat = DateFormat + TimeFormat;
|
|
130
|
+
export const DateTimeFormatLength = DateTimeFormat.length;
|
|
131
|
+
export const FractionFormat = 'fffffff';
|
|
132
|
+
export const MaxFractionLength = FractionFormat.length;
|
|
133
|
+
export const TimeAndFractionSeparatorChar = '.';
|
|
134
|
+
export const TimeWithFractionFormat = TimeFormat + TimeAndFractionSeparatorChar + FractionFormat;
|
|
135
|
+
export const DateTimeWithFractionFormat = DateTimeFormat + TimeAndFractionSeparatorChar + FractionFormat;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export namespace Substitution {
|
|
139
|
+
export const Token = '\\';
|
|
140
|
+
export const Type = FtSubstitutionType.String;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export namespace Sequence {
|
|
144
|
+
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
145
|
+
export const Root = false;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export namespace SequenceRedirect {
|
|
149
|
+
export const InvokationDelay = FtSequenceInvokationDelay.AfterField;
|
|
150
|
+
}
|
|
151
|
+
}
|