Class ArvoEvent<TData, TExtension, TType>

Represents an ArvoEvent, which extends the CloudEvent specification.

Type Parameters

Constructors

  • Creates an instance of ArvoEvent.

    Type Parameters

    • TData extends Record<string, any> = Record<string, any>
    • TExtension extends Record<string,
          | null
          | string
          | number
          | boolean> = Record<string,
          | null
          | string
          | number
          | boolean>
    • TType extends string = string

    Parameters

    • context: {
          datacontenttype: string;
          dataschema: null | string;
          id: string;
          source: string;
          specversion: "1.0";
          subject: string;
          time: string;
          type: string;
      } & {
          accesscontrol: null | string;
          executionunits: null | number;
          redirectto: null | string;
          to: null | string;
      } & {
          traceparent: null | string;
          tracestate: null | string;
      }

      The CloudEvent context along with Arvo and OpenTelemetry extensions.

    • data: TData

      The event data.

    • Optionalextensions: TExtension

      Optional additional extensions.

    Returns ArvoEvent<TData, TExtension, TType>

    If the datacontenttype is ArvoDataContentType but the to field is not defined

Properties

data: TData
datacontenttype: string
dataschema: null | string
id: string
source: string
specversion: string
subject: string
time: string
type: TType

Accessors

  • get cloudevent(): {
        default: {
            data: TData;
            datacontenttype: string;
            dataschema: null | string;
            id: string;
            source: string;
            specversion: string;
            subject: string;
            time: string;
            type: TType;
        };
        extensions: TExtension & {
            accesscontrol: null | string;
            executionunits: null | number;
            redirectto: null | string;
            to: null | string;
        } & {
            traceparent: null | string;
            tracestate: null | string;
        };
    }
  • Gets the CloudEvent-specified default fields and extensions.

    Returns {
        default: {
            data: TData;
            datacontenttype: string;
            dataschema: null | string;
            id: string;
            source: string;
            specversion: string;
            subject: string;
            time: string;
            type: TType;
        };
        extensions: TExtension & {
            accesscontrol: null | string;
            executionunits: null | number;
            redirectto: null | string;
            to: null | string;
        } & {
            traceparent: null | string;
            tracestate: null | string;
        };
    }

    An object containing the base CloudEvent default fields and extensions. default fields are the standard CloudEvents attributes, which include: extension fields are additional attributes that provide extra context or functionality:

    • ArvoExtension: Arvo-specific extensions (to, accesscontrol, redirectto, executionunits)
    • OpenTelemetryExtension: OpenTelemetry-specific extensions (traceparent, tracestate)
    • TExtension: Any additional custom extensions
    • default: {
          data: TData;
          datacontenttype: string;
          dataschema: null | string;
          id: string;
          source: string;
          specversion: string;
          subject: string;
          time: string;
          type: TType;
      }
      • data: TData
      • datacontenttype: string
      • dataschema: null | string
      • id: string
      • source: string
      • specversion: string
      • subject: string
      • time: string
      • type: TType
    • extensions: TExtension & {
          accesscontrol: null | string;
          executionunits: null | number;
          redirectto: null | string;
          to: null | string;
      } & {
          traceparent: null | string;
          tracestate: null | string;
      }
  • get extensions(): TExtension
  • Gets the custom extensions of the ArvoEvent.

    Returns TExtension

    This getter returns only the custom extensions (TExtension) added to the ArvoEvent, excluding the standard Arvo and OpenTelemetry extensions. For accessing all extensions including Arvo and OpenTelemetry, use <ArvoEvent>.cloudevent.extensions. For accessing the basic CloudEvent fields, use <ArvoEvent>.cloudevent.default.

  • get otelAttributes(): {
        cloudevents.arvo.event_executionunits: string | number;
        cloudevents.arvo.event_redirectto: string;
        cloudevents.arvo.event_to: string;
        cloudevents.event_datacontenttype: string;
        cloudevents.event_dataschema: string;
        cloudevents.event_id: string;
        cloudevents.event_source: string;
        cloudevents.event_spec_version: string;
        cloudevents.event_subject: string;
        cloudevents.event_time: string;
        cloudevents.event_type: string | TType;
    }
  • Gets OpenTelemetry attributes derived from the ArvoEvent.

    Returns {
        cloudevents.arvo.event_executionunits: string | number;
        cloudevents.arvo.event_redirectto: string;
        cloudevents.arvo.event_to: string;
        cloudevents.event_datacontenttype: string;
        cloudevents.event_dataschema: string;
        cloudevents.event_id: string;
        cloudevents.event_source: string;
        cloudevents.event_spec_version: string;
        cloudevents.event_subject: string;
        cloudevents.event_time: string;
        cloudevents.event_type: string | TType;
    }

    An object containing OpenTelemetry attributes. The OpenTelemetry attributes for CloudEvents is as per the spec provided in the official documentation. Additionally, the Arvo extension attributed are also returned as cloudevents.arvo.event_* fields.

    • cloudevents.arvo.event_executionunits: string | number
    • cloudevents.arvo.event_redirectto: string
    • cloudevents.arvo.event_to: string
    • cloudevents.event_datacontenttype: string
    • cloudevents.event_dataschema: string
    • cloudevents.event_id: string
    • cloudevents.event_source: string
    • cloudevents.event_spec_version: string
    • cloudevents.event_subject: string
    • cloudevents.event_time: string
    • cloudevents.event_type: string | TType

Methods

  • Converts the ArvoEvent to a JSON string.

    Parameters

    • Optionalspacing: number = 0

      The number of spaces to use for indentation in the resulting JSON string.

    Returns string

    A JSON string representation of the ArvoEvent.