FieldedText TypeScript Library
    Preparing search index...

    Module Web - v0.2.2

    Fielded Text TypeScript Web Library

    NPM version License

    This library allows you to read (parse) and write (generate) CSV like text data in manner similar to reading and writing from/to databases. It does this by associating a schema (called Meta) with the text data.

    The schema supports a wide variety of text data where lines consist of field values (not just CSV). This includes data with lines that contain different fields depending on the value of key fields - where effectively the data is a database with multiple tables (each having records with different fields).

    Fielded Text is ideal for reading and writing database like text data with complex schemas containing multiple tables.

    Note that this library is designed for applications running in a "browser". For "node" applications use @pbkware/fielded-text-node.

    The structure of this meta/schema is specified by the proposed Fielded Text standard. A schema can be created for text data using a Fielded Text editor and then used by the library to read and write data in a similar fashion to reading and writing to/from database tables.

    Below is a very simple parsing example:

    import { FtReader, FtXmlMetaSerialization } from "@pbkware/fielded-text-web";

    // CSV data to be read
    const csvData = `Name,Age
    John Doe,30
    Jane Smith,25`;

    // Meta describing the schema of the CSV data
    const xmlMeta = `<?xml version="1.0" encoding="utf-8"?>
    <FieldedText HeadingLineCount="1">
    <Field Name="Name"/>
    <Field Name="Age" DataType="Integer"/>
    </FieldedText>`;

    // Load meta data from XML
    const metaReader = new FtXmlMetaSerialization();
    const meta = metaReader.deserialize(xmlMeta);

    const reader = new FtReader(meta, csvData);

    // Read and log the data
    while (reader.read()) {
    console.log(
    reader.fieldList.get(0).asString,
    reader.fieldList.get(1).asBigInt,
    );
    }
    npm install @pbkware/fielded-text-web
    

    See Change Log for changes - including any breaking changes.

    Guides
    Source
    api/ft-reader
    api/ft-serialization
    api/ft-writer
    api/ft-writer-settings
    factory/ft-field-factory
    factory/ft-meta-constructor
    factory/ft-meta-factory
    factory/ft-sequence-constructor
    factory/ft-sequence-factory
    factory/ft-sequence-item-constructor
    factory/ft-sequence-item-factory
    factory/ft-sequence-redirect-constructor
    factory/ft-sequence-redirect-factory
    factory/ft-substitution-constructor
    factory/ft-substitution-factory
    fields/definitions/ft-boolean-field-definition
    fields/definitions/ft-date-time-field-definition
    fields/definitions/ft-decimal-field-definition
    fields/definitions/ft-field-definition
    fields/definitions/ft-field-definition-list
    fields/definitions/ft-float-field-definition
    fields/definitions/ft-generic-field-definition
    fields/definitions/ft-integer-field-definition
    fields/definitions/ft-string-field-definition
    fields/instances/errors/ft-field-null-error
    fields/instances/errors/ft-field-type-error
    fields/instances/ft-boolean-field
    fields/instances/ft-date-time-field
    fields/instances/ft-decimal-field
    fields/instances/ft-field
    fields/instances/ft-field-list
    fields/instances/ft-float-field
    fields/instances/ft-generic-field
    fields/instances/ft-integer-field
    fields/instances/ft-string-field
    meta-serialization/format/ft-json-meta-serialization
    meta-serialization/format/ft-xml-meta-serialization
    meta-serialization/format/meta-serializer-options
    meta-serialization/ft-meta-serialization
    meta-serialization/styles/ft-boolean-styles-meta-serialization
    meta-serialization/styles/ft-date-time-styles-meta-serialization
    meta-serialization/styles/ft-number-styles-meta-serialization
    meta-serialization/types/boolean-meta-serialization
    meta-serialization/types/char-meta-serialization
    meta-serialization/types/date-time-meta-serialization
    meta-serialization/types/decimal-meta-serialization
    meta-serialization/types/enums/data-type-meta-serialisation
    meta-serialization/types/enums/end-of-line-auto-write-type-meta-serialization
    meta-serialization/types/enums/end-of-line-type-meta-serialization
    meta-serialization/types/enums/heading-constraint-meta-serialization
    meta-serialization/types/enums/last-line-ended-type-meta-serialization
    meta-serialization/types/enums/pad-alignment-meta-serialization
    meta-serialization/types/enums/pad-char-type-meta-serialization
    meta-serialization/types/enums/quoted-type-meta-serialization
    meta-serialization/types/enums/sequence-invokation-delay-meta-serialization
    meta-serialization/types/enums/sequence-redirect-type-meta-serialisation
    meta-serialization/types/enums/substitution-type-meta-serialization
    meta-serialization/types/enums/truncate-type-meta-serialization
    meta-serialization/types/float-meta-serialization
    meta-serialization/types/integer-float-meta-serialization
    meta-serialization/types/integer-meta-serialization
    meta-serialization/types/string-meta-serialization
    meta-serialization/utils/implicit-explicit-index-sorter
    meta-serialization/utils/meta-serialization-redirect-sequence-resolver
    meta-serialization/utils/meta-serialization-sequence-name-resolver
    meta-serialization/utils/sequence-item-field-indices
    meta/fields/ft-boolean-meta-field
    meta/fields/ft-date-time-meta-field
    meta/fields/ft-decimal-meta-field
    meta/fields/ft-float-meta-field
    meta/fields/ft-generic-meta-field
    meta/fields/ft-integer-meta-field
    meta/fields/ft-meta-field
    meta/fields/ft-meta-field-list
    meta/fields/ft-string-meta-field
    meta/ft-meta
    meta/ft-meta-defaults
    meta/sequences/core/ft-meta-sequence
    meta/sequences/core/ft-meta-sequence-item
    meta/sequences/core/ft-meta-sequence-item-list
    meta/sequences/core/ft-meta-sequence-list
    meta/sequences/redirects/ft-boolean-meta-sequence-redirect
    meta/sequences/redirects/ft-case-insensitive-string-meta-sequence-redirect
    meta/sequences/redirects/ft-date-meta-sequence-redirect
    meta/sequences/redirects/ft-exact-date-time-meta-sequence-redirect
    meta/sequences/redirects/ft-exact-decimal-meta-sequence-redirect
    meta/sequences/redirects/ft-exact-float-meta-sequence-redirect
    meta/sequences/redirects/ft-exact-integer-meta-sequence-redirect
    meta/sequences/redirects/ft-exact-string-meta-sequence-redirect
    meta/sequences/redirects/ft-meta-sequence-redirect
    meta/sequences/redirects/ft-meta-sequence-redirect-list
    meta/sequences/redirects/ft-null-meta-sequence-redirect
    meta/substitutions/ft-meta-substitution-list
    sequences/core/ft-sequence
    sequences/core/ft-sequence-invokation
    sequences/core/ft-sequence-invokation-list
    sequences/core/ft-sequence-item
    sequences/core/ft-sequence-item-list
    sequences/core/ft-sequence-list
    sequences/redirects/ft-boolean-sequence-redirect
    sequences/redirects/ft-case-insensitive-string-sequence-redirect
    sequences/redirects/ft-date-sequence-redirect
    sequences/redirects/ft-exact-date-time-sequence-redirect
    sequences/redirects/ft-exact-decimal-sequence-redirect
    sequences/redirects/ft-exact-float-sequence-redirect
    sequences/redirects/ft-exact-integer-sequence-redirect
    sequences/redirects/ft-exact-string-sequence-redirect
    sequences/redirects/ft-null-sequence-redirect
    sequences/redirects/ft-sequence-redirect
    sequences/redirects/ft-sequence-redirect-list
    serialization/char-reader
    serialization/declaration-parser
    serialization/delimited-field-parser
    serialization/embedded-meta-parser
    serialization/events/ft-field-heading-ready-event-args
    serialization/events/ft-field-value-ready-event-args
    serialization/events/ft-heading-line-finished-event-args
    serialization/events/ft-heading-line-started-event-args
    serialization/events/ft-record-finished-event-args
    serialization/events/ft-record-started-event-args
    serialization/events/ft-sequence-redirected-event-args
    serialization/fixed-width-field-parser
    serialization/formatting/ft-boolean-field-formatter
    serialization/formatting/ft-date-time-field-formatter
    serialization/formatting/ft-decimal-field-formatter
    serialization/formatting/ft-declared-parameters-formatter
    serialization/formatting/ft-field-formatter
    serialization/formatting/ft-float-field-formatter
    serialization/formatting/ft-integer-field-formatter
    serialization/formatting/ft-string-field-formatter
    serialization/ft-declared-parameters
    serialization/ft-serialization-core
    serialization/ft-serialization-error
    serialization/ft-serialization-error-code
    serialization/ft-serialization-reader
    serialization/ft-serialization-writer
    serialization/ft-text-writer
    serialization/heading-line-record-parser
    serialization/line-parser
    serialization/text-reader/ft-string-reader
    serialization/text-reader/ft-text-reader
    substitutions/ft-substitution-list
    types/enums/ft-boolean-styles
    types/enums/ft-data-type
    types/enums/ft-end-of-line-auto-write-type
    types/enums/ft-end-of-line-type
    types/enums/ft-heading-constraint
    types/enums/ft-last-line-ended-type
    types/enums/ft-line-type
    types/enums/ft-meta-element-type
    types/enums/ft-meta-reference-type
    types/enums/ft-meta-serialization-format
    types/enums/ft-pad-alignment
    types/enums/ft-pad-char-type
    types/enums/ft-quoted-type
    types/enums/ft-read-record-result
    types/enums/ft-sequence-invokation-delay
    types/enums/ft-sequence-redirect-type
    types/enums/ft-substitution-type
    types/enums/ft-truncate-type
    utils/ft-comma-text
    utils/ft-internal-error
    utils/ft-result
    utils/number-parse
    utils/string-builder