arvo-core
    Preparing search index...

    Class EventDataschemaUtil

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

    Index

    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, string | number | boolean | null>,
                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, string | number | boolean | null>,
                string,
            >

        Event object or dataschema string

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

      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