@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,203 @@
|
|
|
1
|
+
// Meta sequence list - manages all sequences in metadata
|
|
2
|
+
|
|
3
|
+
import type { FtMetaFieldList } from '../../fields/ft-meta-field-list.js';
|
|
4
|
+
import type { FtMetaField } from '../../fields/ft-meta-field.js';
|
|
5
|
+
import { FtMetaSequence } from './ft-meta-sequence.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export class FtMetaSequenceList {
|
|
11
|
+
private readonly _list: FtMetaSequence[] = [];
|
|
12
|
+
|
|
13
|
+
get count(): number {
|
|
14
|
+
return this._list.length;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
get(index: number): FtMetaSequence {
|
|
18
|
+
return this._list[index];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getByName(name: string): FtMetaSequence {
|
|
22
|
+
const index = this.indexOfName(name);
|
|
23
|
+
if (index < 0) {
|
|
24
|
+
throw new Error(`Meta sequence not found: ${name}`);
|
|
25
|
+
}
|
|
26
|
+
return this._list[index];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
set(value: readonly FtMetaSequence[]): void {
|
|
30
|
+
this.clear();
|
|
31
|
+
const count = value.length;
|
|
32
|
+
for (let i = 0; i < count; i++) {
|
|
33
|
+
this.add(value[i]);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
new(name?: string): FtMetaSequence {
|
|
38
|
+
const sequence = new FtMetaSequence();
|
|
39
|
+
if (name !== undefined) {
|
|
40
|
+
sequence.name = name;
|
|
41
|
+
}
|
|
42
|
+
this.add(sequence);
|
|
43
|
+
return sequence;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
removeAt(index: number): void {
|
|
47
|
+
this.unbindSequenceEvents(this._list[index]);
|
|
48
|
+
this._list.splice(index, 1);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
remove(sequence: FtMetaSequence): void {
|
|
52
|
+
const index = this._list.indexOf(sequence);
|
|
53
|
+
if (index >= 0) {
|
|
54
|
+
this.removeAt(index);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
clear(): void {
|
|
59
|
+
for (const sequence of this._list) {
|
|
60
|
+
this.unbindSequenceEvents(sequence);
|
|
61
|
+
}
|
|
62
|
+
this._list.length = 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
removeField(field: FtMetaField): void {
|
|
66
|
+
for (const sequence of this._list) {
|
|
67
|
+
sequence.removeItemsWithField(field);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
removeAllFields(): void {
|
|
72
|
+
for (const sequence of this._list) {
|
|
73
|
+
sequence.removeAllItems();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
indexOf(sequence: FtMetaSequence): number {
|
|
78
|
+
return this._list.indexOf(sequence);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
indexOfName(name: string): number {
|
|
82
|
+
for (let i = 0; i < this._list.length; i++) {
|
|
83
|
+
if (FtMetaSequence.sameName(this._list[i].name, name)) {
|
|
84
|
+
return i;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return -1;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
indexOfRoot(): number {
|
|
91
|
+
for (let i = 0; i < this._list.length; i++) {
|
|
92
|
+
if (this._list[i].root) {
|
|
93
|
+
return i;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return -1;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
assign(source: FtMetaSequenceList, fieldList: FtMetaFieldList, sourceFieldList: FtMetaFieldList): void {
|
|
100
|
+
this._list.length = 0;
|
|
101
|
+
|
|
102
|
+
// Create copies of sequences (excluding redirects)
|
|
103
|
+
for (let i = 0; i < source.count; i++) {
|
|
104
|
+
const sequence = source.get(i).createCopyExcludingRedirects(fieldList, sourceFieldList);
|
|
105
|
+
this.add(sequence);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// All sequences need to be created before we can assign redirects
|
|
109
|
+
for (let i = 0; i < this.count; i++) {
|
|
110
|
+
this._list[i].assignRedirects(this, source);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
isMoreThanOneRoot(): {
|
|
115
|
+
found: boolean;
|
|
116
|
+
firstRootSequenceName: string;
|
|
117
|
+
secondRootSequenceName: string;
|
|
118
|
+
} {
|
|
119
|
+
let firstRootSequenceName = '';
|
|
120
|
+
let secondRootSequenceName = '';
|
|
121
|
+
let firstSequenceRootFound = false;
|
|
122
|
+
|
|
123
|
+
for (let i = 0; i < this.count; i++) {
|
|
124
|
+
if (this._list[i].root) {
|
|
125
|
+
if (!firstSequenceRootFound) {
|
|
126
|
+
firstRootSequenceName = this._list[i].name;
|
|
127
|
+
firstSequenceRootFound = true;
|
|
128
|
+
} else {
|
|
129
|
+
secondRootSequenceName = this._list[i].name;
|
|
130
|
+
return {
|
|
131
|
+
found: true,
|
|
132
|
+
firstRootSequenceName,
|
|
133
|
+
secondRootSequenceName,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return {
|
|
140
|
+
found: false,
|
|
141
|
+
firstRootSequenceName,
|
|
142
|
+
secondRootSequenceName,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
hasDuplicateName(): { found: boolean; duplicateName: string } {
|
|
147
|
+
for (let i = 0; i < this.count; i++) {
|
|
148
|
+
if (this.indexOfName(this._list[i].name) !== i) {
|
|
149
|
+
return {
|
|
150
|
+
found: true,
|
|
151
|
+
duplicateName: this._list[i].name,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return {
|
|
157
|
+
found: false,
|
|
158
|
+
duplicateName: '',
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
anyItemWithUndefinedField(sequenceIndex: number): {
|
|
163
|
+
found: boolean;
|
|
164
|
+
itemIndex: number;
|
|
165
|
+
} {
|
|
166
|
+
if (sequenceIndex >= 0 && sequenceIndex < this.count) {
|
|
167
|
+
return this._list[sequenceIndex].anyItemWithUndefinedField();
|
|
168
|
+
}
|
|
169
|
+
return { found: false, itemIndex: -1 };
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
anyItemWithConstantFieldHasRedirects(sequenceIndex: number): {
|
|
173
|
+
found: boolean;
|
|
174
|
+
itemIndex: number;
|
|
175
|
+
} {
|
|
176
|
+
if (sequenceIndex >= 0 && sequenceIndex < this.count) {
|
|
177
|
+
return this._list[sequenceIndex].anyItemWithConstantFieldHasRedirects();
|
|
178
|
+
}
|
|
179
|
+
return { found: false, itemIndex: -1 };
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
private add(sequence: FtMetaSequence): void {
|
|
183
|
+
this._list.push(sequence);
|
|
184
|
+
this.bindSequenceEvents(sequence);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
private bindSequenceEvents(sequence: FtMetaSequence): void {
|
|
188
|
+
sequence.rootedEvent = (rootedSequence) => this.handleSequenceRootedEvent(rootedSequence);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
private unbindSequenceEvents(sequence: FtMetaSequence): void {
|
|
192
|
+
sequence.rootedEvent = undefined;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
private handleSequenceRootedEvent(rootedSequence: FtMetaSequence): void {
|
|
196
|
+
// When one sequence becomes root, all others must be unrooted
|
|
197
|
+
for (const sequence of this._list) {
|
|
198
|
+
if (sequence !== rootedSequence && sequence.root) {
|
|
199
|
+
sequence.root = false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// Meta sequence - defines a repeating sequence of fields
|
|
2
|
+
|
|
3
|
+
import type { FtMetaFieldList } from '../../fields/ft-meta-field-list.js';
|
|
4
|
+
import type { FtMetaField } from '../../fields/ft-meta-field.js';
|
|
5
|
+
import { FtMetaSequenceItemList } from './ft-meta-sequence-item-list.js';
|
|
6
|
+
import { FtMetaSequenceItem } from './ft-meta-sequence-item.js';
|
|
7
|
+
import type { FtMetaSequenceList } from './ft-meta-sequence-list.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export const DEFAULT_SEQUENCE_NAME = '';
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export const DEFAULT_ROOT = false;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
export type RootedEventHandler = (sequence: FtMetaSequence) => void;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
export class FtMetaSequence {
|
|
27
|
+
// Event handler for when this sequence becomes root
|
|
28
|
+
rootedEvent: RootedEventHandler | undefined;
|
|
29
|
+
|
|
30
|
+
private readonly _itemList: FtMetaSequenceItemList;
|
|
31
|
+
private _name: string;
|
|
32
|
+
private _root: boolean;
|
|
33
|
+
|
|
34
|
+
constructor() {
|
|
35
|
+
this._itemList = new FtMetaSequenceItemList();
|
|
36
|
+
this._name = DEFAULT_SEQUENCE_NAME;
|
|
37
|
+
this._root = DEFAULT_ROOT;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get name(): string {
|
|
41
|
+
return this._name;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
set name(value: string) {
|
|
45
|
+
this._name = value;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get root(): boolean {
|
|
49
|
+
return this._root;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
set root(value: boolean) {
|
|
53
|
+
this._root = value;
|
|
54
|
+
if (this._root && this.rootedEvent) {
|
|
55
|
+
this.rootedEvent(this);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
get itemList(): FtMetaSequenceItemList {
|
|
60
|
+
return this._itemList;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static sameName(left: string, right: string): boolean {
|
|
64
|
+
return left.toLowerCase() === right.toLowerCase();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
setItemList(items: readonly FtMetaSequenceItem[]): void {
|
|
68
|
+
this._itemList.set(items);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
loadDefaults(): void {
|
|
72
|
+
this._name = DEFAULT_SEQUENCE_NAME;
|
|
73
|
+
this._root = DEFAULT_ROOT;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
removeItemsWithField(field: FtMetaField): void {
|
|
77
|
+
for (let i = this._itemList.count - 1; i >= 0; i--) {
|
|
78
|
+
if (this._itemList.get(i).field === field) {
|
|
79
|
+
this._itemList.removeAt(i);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
removeAllItems(): void {
|
|
85
|
+
this._itemList.clear();
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
createCopyExcludingRedirects(fieldList: FtMetaFieldList, sourceFieldList: FtMetaFieldList): FtMetaSequence {
|
|
89
|
+
const sequence = new FtMetaSequence();
|
|
90
|
+
sequence.assignExcludingRedirects(this, fieldList, sourceFieldList);
|
|
91
|
+
return sequence;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
assignExcludingRedirects(source: FtMetaSequence, fieldList: FtMetaFieldList, sourceFieldList: FtMetaFieldList): void {
|
|
95
|
+
this._name = source._name;
|
|
96
|
+
this._root = source._root;
|
|
97
|
+
this._itemList.assignExcludingRedirects(source._itemList, fieldList, sourceFieldList);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
assignRedirects(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
101
|
+
this._itemList.assignRedirects(sequenceList, sourceSequenceList);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
anyItemWithUndefinedField(): { found: boolean; itemIndex: number } {
|
|
105
|
+
for (let i = 0; i < this._itemList.count; i++) {
|
|
106
|
+
const item = this._itemList.get(i);
|
|
107
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
108
|
+
if (!item.field) {
|
|
109
|
+
return { found: true, itemIndex: i };
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return { found: false, itemIndex: -1 };
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
anyItemWithConstantFieldHasRedirects(): {
|
|
116
|
+
found: boolean;
|
|
117
|
+
itemIndex: number;
|
|
118
|
+
} {
|
|
119
|
+
for (let i = 0; i < this._itemList.count; i++) {
|
|
120
|
+
const item = this._itemList.get(i);
|
|
121
|
+
if (item.hasConstantFieldAndHasRedirects()) {
|
|
122
|
+
return { found: true, itemIndex: i };
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return { found: false, itemIndex: -1 };
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Boolean meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field value matches a specific boolean value.
|
|
9
|
+
* Used in metadata to define sequence transitions based on boolean field values.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtBooleanMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for boolean redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.Boolean;
|
|
15
|
+
/** Default boolean value */
|
|
16
|
+
static readonly DEFAULT_VALUE = false;
|
|
17
|
+
|
|
18
|
+
private _value: boolean;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtBooleanMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = FtBooleanMetaSequenceRedirect.DEFAULT_VALUE;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The boolean value to match for triggering the redirect */
|
|
26
|
+
get value(): boolean {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: boolean) {
|
|
31
|
+
this._value = val;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override loadDefaults(): void {
|
|
35
|
+
super.loadDefaults();
|
|
36
|
+
this._value = FtBooleanMetaSequenceRedirect.DEFAULT_VALUE;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
40
|
+
const redirect = new FtBooleanMetaSequenceRedirect();
|
|
41
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
42
|
+
return redirect;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
46
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
47
|
+
this._value = (source as FtBooleanMetaSequenceRedirect)._value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Case-insensitive string meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field value matches a specific string (case-insensitive).
|
|
9
|
+
* Used in metadata to define sequence transitions based on string field values without case sensitivity.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtCaseInsensitiveStringMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for case-insensitive string redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.CaseInsensitiveString;
|
|
15
|
+
/** Default string value */
|
|
16
|
+
static readonly DEFAULT_VALUE = '';
|
|
17
|
+
|
|
18
|
+
private _value: string;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtCaseInsensitiveStringMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = FtCaseInsensitiveStringMetaSequenceRedirect.DEFAULT_VALUE;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The string value to match (case-insensitive) for triggering the redirect */
|
|
26
|
+
get value(): string {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: string) {
|
|
31
|
+
this._value = val;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override loadDefaults(): void {
|
|
35
|
+
super.loadDefaults();
|
|
36
|
+
this._value = FtCaseInsensitiveStringMetaSequenceRedirect.DEFAULT_VALUE;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
40
|
+
const redirect = new FtCaseInsensitiveStringMetaSequenceRedirect();
|
|
41
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
42
|
+
return redirect;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
46
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
47
|
+
this._value = (source as FtCaseInsensitiveStringMetaSequenceRedirect)._value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Date meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field's date part matches a specific date (ignoring time).
|
|
9
|
+
* Used in metadata to define sequence transitions based on date field values (time component ignored).
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtDateMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for date redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.Date;
|
|
15
|
+
/** Default date value (Unix epoch) */
|
|
16
|
+
static readonly DEFAULT_VALUE = new Date(0);
|
|
17
|
+
|
|
18
|
+
private _value: Date;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtDateMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = new Date(FtDateMetaSequenceRedirect.DEFAULT_VALUE);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The date value to match (time component ignored) for triggering the redirect */
|
|
26
|
+
get value(): Date {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: Date) {
|
|
31
|
+
// Store only the date part (set time to midnight)
|
|
32
|
+
const dateOnly = new Date(val);
|
|
33
|
+
dateOnly.setHours(0, 0, 0, 0);
|
|
34
|
+
this._value = dateOnly;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
override loadDefaults(): void {
|
|
38
|
+
super.loadDefaults();
|
|
39
|
+
const dateOnly = new Date(FtDateMetaSequenceRedirect.DEFAULT_VALUE);
|
|
40
|
+
dateOnly.setHours(0, 0, 0, 0);
|
|
41
|
+
this._value = dateOnly;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
45
|
+
const redirect = new FtDateMetaSequenceRedirect();
|
|
46
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
47
|
+
return redirect;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
51
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
52
|
+
this._value = new Date((source as FtDateMetaSequenceRedirect)._value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Exact date-time meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field value exactly matches a specific date-time value.
|
|
9
|
+
* Used in metadata to define sequence transitions based on exact date-time field values (including time component).
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtExactDateTimeMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for exact date-time redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.ExactDateTime;
|
|
15
|
+
/** Default date-time value (Unix epoch) */
|
|
16
|
+
static readonly DEFAULT_VALUE = new Date(0);
|
|
17
|
+
|
|
18
|
+
private _value: Date;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtExactDateTimeMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = new Date(FtExactDateTimeMetaSequenceRedirect.DEFAULT_VALUE);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The date-time value to match exactly for triggering the redirect */
|
|
26
|
+
get value(): Date {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: Date) {
|
|
31
|
+
this._value = val;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override loadDefaults(): void {
|
|
35
|
+
super.loadDefaults();
|
|
36
|
+
this._value = new Date(FtExactDateTimeMetaSequenceRedirect.DEFAULT_VALUE);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
40
|
+
const redirect = new FtExactDateTimeMetaSequenceRedirect();
|
|
41
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
42
|
+
return redirect;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
46
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
47
|
+
this._value = new Date((source as FtExactDateTimeMetaSequenceRedirect)._value);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Exact decimal meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field value exactly matches a specific decimal value.
|
|
9
|
+
* Used in metadata to define sequence transitions based on decimal field values.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtExactDecimalMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for exact decimal redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.ExactDecimal;
|
|
15
|
+
/** Default decimal value */
|
|
16
|
+
static readonly DEFAULT_VALUE = 0;
|
|
17
|
+
|
|
18
|
+
private _value: number;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtExactDecimalMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = FtExactDecimalMetaSequenceRedirect.DEFAULT_VALUE;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The decimal value to match exactly for triggering the redirect */
|
|
26
|
+
get value(): number {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: number) {
|
|
31
|
+
this._value = val;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override loadDefaults(): void {
|
|
35
|
+
super.loadDefaults();
|
|
36
|
+
this._value = FtExactDecimalMetaSequenceRedirect.DEFAULT_VALUE;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
40
|
+
const redirect = new FtExactDecimalMetaSequenceRedirect();
|
|
41
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
42
|
+
return redirect;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
46
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
47
|
+
this._value = (source as FtExactDecimalMetaSequenceRedirect)._value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Exact float meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field value exactly matches a specific float value.
|
|
9
|
+
* Used in metadata to define sequence transitions based on floating-point field values.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtExactFloatMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for exact float redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.ExactFloat;
|
|
15
|
+
/** Default float value */
|
|
16
|
+
static readonly DEFAULT_VALUE = 0;
|
|
17
|
+
|
|
18
|
+
private _value: number;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtExactFloatMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = FtExactFloatMetaSequenceRedirect.DEFAULT_VALUE;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The float value to match exactly for triggering the redirect */
|
|
26
|
+
get value(): number {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: number) {
|
|
31
|
+
this._value = val;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override loadDefaults(): void {
|
|
35
|
+
super.loadDefaults();
|
|
36
|
+
this._value = FtExactFloatMetaSequenceRedirect.DEFAULT_VALUE;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
40
|
+
const redirect = new FtExactFloatMetaSequenceRedirect();
|
|
41
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
42
|
+
return redirect;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
46
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
47
|
+
this._value = (source as FtExactFloatMetaSequenceRedirect)._value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Exact integer meta sequence redirect
|
|
2
|
+
|
|
3
|
+
import { FtSequenceRedirectType } from '../../../types/enums/ft-sequence-redirect-type.js';
|
|
4
|
+
import type { FtMetaSequenceList } from '../core/ft-meta-sequence-list.js';
|
|
5
|
+
import { FtMetaSequenceRedirect } from './ft-meta-sequence-redirect.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Meta sequence redirect that triggers when a field value exactly matches a specific integer value.
|
|
9
|
+
* Used in metadata to define sequence transitions based on integer field values.
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export class FtExactIntegerMetaSequenceRedirect extends FtMetaSequenceRedirect {
|
|
13
|
+
/** The standard type identifier for exact integer redirects */
|
|
14
|
+
static readonly TYPE = FtSequenceRedirectType.ExactInteger;
|
|
15
|
+
/** Default integer value */
|
|
16
|
+
static readonly DEFAULT_VALUE = 0n;
|
|
17
|
+
|
|
18
|
+
private _value: bigint;
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
super(FtExactIntegerMetaSequenceRedirect.TYPE);
|
|
22
|
+
this._value = FtExactIntegerMetaSequenceRedirect.DEFAULT_VALUE;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** The integer value to match exactly for triggering the redirect */
|
|
26
|
+
get value(): bigint {
|
|
27
|
+
return this._value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set value(val: bigint) {
|
|
31
|
+
this._value = val;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
override loadDefaults(): void {
|
|
35
|
+
super.loadDefaults();
|
|
36
|
+
this._value = FtExactIntegerMetaSequenceRedirect.DEFAULT_VALUE;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createCopy(sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): FtMetaSequenceRedirect {
|
|
40
|
+
const redirect = new FtExactIntegerMetaSequenceRedirect();
|
|
41
|
+
redirect.assign(this, sequenceList, sourceSequenceList);
|
|
42
|
+
return redirect;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
protected override assign(source: FtMetaSequenceRedirect, sequenceList: FtMetaSequenceList, sourceSequenceList: FtMetaSequenceList): void {
|
|
46
|
+
super.assign(source, sequenceList, sourceSequenceList);
|
|
47
|
+
this._value = (source as FtExactIntegerMetaSequenceRedirect)._value;
|
|
48
|
+
}
|
|
49
|
+
}
|