Whiteflag JavaScript Library - v1.0.0
    Preparing search index...

    Module @whiteflagprotocol/main

    WFJSL Main Interface

    The Whiteflag JavaScript Library (WFJSL) is an implementation of the Whiteflag Protocol written in TypeScript, and compiled to JavaScript, to support the development of Whiteflag-enabled applications in JavaScript.

    The @whiteflagprotocol/main package provides all classes and functions required to implement the Whiteflag protocol. This should normally be the only dependency for projects implementing Whiteflag.

    This description provides a generic overview of the Whiteflag main package. Please refer to the WFJSL TypeDoc documentation for a detailed description of all classes and functions.

    The Whiteflag message class WfMessage defined in the message module represents a Whiteflag message.

    This class extends the core Whiteflag message class WfCoreMessage by adding metadata to the message, additional data conversions (such as to and from JSON), and specific Whiteflag protocol features. This allows the class to be used and integrated in larger functional applications in accordance with the Whiteflag protocol specification.

    A new message may be created using the constructor, or by using a static factory method. For example, creating a new FreeText message (message code F) and set the Text field, may be done as follows:

    let wfMessage = new WfMessage('F');
    wfMessage.set('Text', 'Example text to be sent with the FreeText message');
    

    The encode() method encodes the message. It automatically verifies the fields and values when encoding and decoding. Encoding and decoding are asynchronous, meaning the functions return Promises. Once encoded, the methods toHex() and toU8a() may be used to obtain the encoded message as a hexadecimal string or a UInt8array, respectively.

    await wfMessage.encode();
    const hexMessage = wfMessage.toHex();
    

    If a message is encoded, or decoded, the message is "final", meaning its content cannot be changed. Decoding a message is done using a one of the static factory methods such as fromHex(...) or fromU8a(...), since the message type is probably not known before decoding.

    wfMessage = await WfMessage.fromHex(hexMessage);
    

    Encryption and decryption is automatically performed upon encoding and decoding, based on the value of the EncryptionIndicator field in the message header.

    Currently, only one version of the Whiteflag protocol has been developed. For ease of implementation of future Whiteflag versions, WFJSL functions and classes take the Whiteflag version into account. The available Whiteflag versions are defined with the WfVersions enum.

    Enumerations

    WfVersion

    Classes

    WfMessage

    Interfaces

    WfMetaHeader