Class EventDataschemaUtil

Manages event dataschema strings for versioned contracts. Handles creation and parsing of dataschema identifiers.

Constructors

Methods

  • Creates a dataschema string from a versioned contract. Format: {contract.uri}/{contract.version}

    Type Parameters

    Parameters

    • contract: T

      Versioned contract instance

    Returns `${T["uri"]}/${T["version"]}`

    Formatted dataschema string

    const schema = EventDataschema.create(versionedContract);
    // Returns: "my-contract/1.0.0"
  • Creates dataschema string with wildcard version.

    Type Parameters

    Parameters

    • contract: T

      Versioned contract

    Returns `${T["uri"]}/0.0.0`

    {contract.uri}/{WildCardArvoSemanticVersion}

  • Validates if a given ArvoEvent or dataschema string represents a valid dataschema. A valid dataschema must:

    • Follow the format {uri}/{version}
    • Have a valid semantic version component
    • Contain a non-empty URI

    Parameters

    • data: string | ArvoEvent<Record<string, any>, Record<string,
          | null
          | string
          | number
          | boolean>, string>

      ArvoEvent object or dataschema string to validate

    Returns boolean

    boolean - True if dataschema is valid, false otherwise

  • Extracts URI and version from dataschema string.

    Parameters

    • data: string | ArvoEvent<Record<string, any>, Record<string,
          | null
          | string
          | number
          | boolean>, string>

      Event object or dataschema string

    Returns null | {
        uri: string;
        version: `${number}.${number}.${number}`;
    }

    Parsed URI and version, or null if invalid

    const result = EventDataschema.parse("my-contract/1.0.0");
    // Returns: { uri: "my-contract", version: "1.0.0" }

    const invalid = EventDataschema.parse("invalid-schema");
    // Returns: null