tairitsu-web 0.5.21

Tairitsu Web Framework - Modular WebAssembly-first framework with SSR, CSR, SSG support
/// Auto-generated interfaces from domain: performance
///
/// AUTO-GENERATED by: scripts/generate_browser_wit.py
/// DO NOT EDIT MANUALLY — changes will be overwritten.
///
/// Source: wit/generated/performance.wit
/// Regenerate with: just wit-gen

interface performance {
    /// Opaque handle to a host-side `Performance` instance.
    type performance-handle = u64;

    /// `now()` operation.
    now: func() -> f64;

    /// `timeOrigin` attribute — getter.
    get-time-origin: func() -> f64;

    /// `toJSON()` operation.
    to-json: func() -> u64;

    /// `timing` attribute — getter.
    get-timing: func() -> u64;

    /// `navigation` attribute — getter.
    get-navigation: func() -> u64;

    /// `getEntries()` operation.
    get-entries: func() -> u64;

    /// `getEntriesByType()` operation.
    get-entries-by-type: func(%type: string) -> u64;

    /// `getEntriesByName()` operation.
    get-entries-by-name: func(name: string, %type: option<string>) -> u64;

    /// `clearResourceTimings()` operation.
    clear-resource-timings: func();

    /// `setResourceTimingBufferSize()` operation.
    set-resource-timing-buffer-size: func(max-size: u32);

    /// `onresourcetimingbufferfull` attribute — getter.
    get-onresourcetimingbufferfull: func() -> u64;
    /// `onresourcetimingbufferfull` attribute — setter.
    set-onresourcetimingbufferfull: func(value: u64);

    /// `mark()` operation.
    mark: func(mark-name: string, mark-options: option<u64>) -> u64;

    /// `clearMarks()` operation.
    clear-marks: func(mark-name: option<string>);

    /// `measure()` operation.
    measure: func(measure-name: string, start-or-measure-options: option<string>, end-mark: option<string>) -> u64;

    /// `clearMeasures()` operation.
    clear-measures: func(measure-name: option<string>);
}

interface performance-navigation-timing {
    /// Opaque handle to a host-side `PerformanceNavigationTiming` instance.
    type performance-navigation-timing-handle = u64;

    /// `unloadEventStart` attribute — getter.
    get-unload-event-start: func(self: performance-navigation-timing-handle) -> f64;

    /// `unloadEventEnd` attribute — getter.
    get-unload-event-end: func(self: performance-navigation-timing-handle) -> f64;

    /// `domInteractive` attribute — getter.
    get-dom-interactive: func(self: performance-navigation-timing-handle) -> f64;

    /// `domContentLoadedEventStart` attribute — getter.
    get-dom-content-loaded-event-start: func(self: performance-navigation-timing-handle) -> f64;

    /// `domContentLoadedEventEnd` attribute — getter.
    get-dom-content-loaded-event-end: func(self: performance-navigation-timing-handle) -> f64;

    /// `domComplete` attribute — getter.
    get-dom-complete: func(self: performance-navigation-timing-handle) -> f64;

    /// `loadEventStart` attribute — getter.
    get-load-event-start: func(self: performance-navigation-timing-handle) -> f64;

    /// `loadEventEnd` attribute — getter.
    get-load-event-end: func(self: performance-navigation-timing-handle) -> f64;

    /// `type` attribute — getter.
    get-type: func(self: performance-navigation-timing-handle) -> u64;

    /// `redirectCount` attribute — getter.
    get-redirect-count: func(self: performance-navigation-timing-handle) -> u16;

    /// `criticalCHRestart` attribute — getter.
    get-critical-ch-restart: func(self: performance-navigation-timing-handle) -> f64;

    /// `notRestoredReasons` attribute — getter.
    get-not-restored-reasons: func(self: performance-navigation-timing-handle) -> option<u64>;

    /// `confidence` attribute — getter.
    get-confidence: func(self: performance-navigation-timing-handle) -> u64;

    /// `toJSON()` operation.
    to-json: func(self: performance-navigation-timing-handle) -> u64;
}

interface performance-timing-confidence {
    /// Opaque handle to a host-side `PerformanceTimingConfidence` instance.
    type performance-timing-confidence-handle = u64;

    /// `randomizedTriggerRate` attribute — getter.
    get-randomized-trigger-rate: func(self: performance-timing-confidence-handle) -> f64;

    /// `value` attribute — getter.
    get-value: func(self: performance-timing-confidence-handle) -> u64;

    /// `toJSON()` operation.
    to-json: func(self: performance-timing-confidence-handle) -> u64;
}

interface performance-timing {
    /// Opaque handle to a host-side `PerformanceTiming` instance.
    type performance-timing-handle = u64;

    /// `navigationStart` attribute — getter.
    get-navigation-start: func(self: performance-timing-handle) -> u64;

    /// `unloadEventStart` attribute — getter.
    get-unload-event-start: func(self: performance-timing-handle) -> u64;

    /// `unloadEventEnd` attribute — getter.
    get-unload-event-end: func(self: performance-timing-handle) -> u64;

    /// `redirectStart` attribute — getter.
    get-redirect-start: func(self: performance-timing-handle) -> u64;

    /// `redirectEnd` attribute — getter.
    get-redirect-end: func(self: performance-timing-handle) -> u64;

    /// `fetchStart` attribute — getter.
    get-fetch-start: func(self: performance-timing-handle) -> u64;

    /// `domainLookupStart` attribute — getter.
    get-domain-lookup-start: func(self: performance-timing-handle) -> u64;

    /// `domainLookupEnd` attribute — getter.
    get-domain-lookup-end: func(self: performance-timing-handle) -> u64;

    /// `connectStart` attribute — getter.
    get-connect-start: func(self: performance-timing-handle) -> u64;

    /// `connectEnd` attribute — getter.
    get-connect-end: func(self: performance-timing-handle) -> u64;

    /// `secureConnectionStart` attribute — getter.
    get-secure-connection-start: func(self: performance-timing-handle) -> u64;

    /// `requestStart` attribute — getter.
    get-request-start: func(self: performance-timing-handle) -> u64;

    /// `responseStart` attribute — getter.
    get-response-start: func(self: performance-timing-handle) -> u64;

    /// `responseEnd` attribute — getter.
    get-response-end: func(self: performance-timing-handle) -> u64;

    /// `domLoading` attribute — getter.
    get-dom-loading: func(self: performance-timing-handle) -> u64;

    /// `domInteractive` attribute — getter.
    get-dom-interactive: func(self: performance-timing-handle) -> u64;

    /// `domContentLoadedEventStart` attribute — getter.
    get-dom-content-loaded-event-start: func(self: performance-timing-handle) -> u64;

    /// `domContentLoadedEventEnd` attribute — getter.
    get-dom-content-loaded-event-end: func(self: performance-timing-handle) -> u64;

    /// `domComplete` attribute — getter.
    get-dom-complete: func(self: performance-timing-handle) -> u64;

    /// `loadEventStart` attribute — getter.
    get-load-event-start: func(self: performance-timing-handle) -> u64;

    /// `loadEventEnd` attribute — getter.
    get-load-event-end: func(self: performance-timing-handle) -> u64;

    /// `toJSON()` operation.
    to-json: func(self: performance-timing-handle) -> u64;
}

interface performance-navigation {
    /// Opaque handle to a host-side `PerformanceNavigation` instance.
    type performance-navigation-handle = u64;

    /// `type` attribute — getter.
    get-type: func(self: performance-navigation-handle) -> u16;

    /// `redirectCount` attribute — getter.
    get-redirect-count: func(self: performance-navigation-handle) -> u16;

    /// `toJSON()` operation.
    to-json: func(self: performance-navigation-handle) -> u64;
}

interface performance-entry {
    /// Opaque handle to a host-side `PerformanceEntry` instance.
    type performance-entry-handle = u64;

    /// `id` attribute — getter.
    get-id: func(self: performance-entry-handle) -> u64;

    /// `name` attribute — getter.
    get-name: func(self: performance-entry-handle) -> string;

    /// `entryType` attribute — getter.
    get-entry-type: func(self: performance-entry-handle) -> string;

    /// `startTime` attribute — getter.
    get-start-time: func(self: performance-entry-handle) -> f64;

    /// `duration` attribute — getter.
    get-duration: func(self: performance-entry-handle) -> f64;

    /// `navigationId` attribute — getter.
    get-navigation-id: func(self: performance-entry-handle) -> u64;

    /// `toJSON()` operation.
    to-json: func(self: performance-entry-handle) -> u64;
}

interface performance-observer {
    /// Opaque handle to a host-side `PerformanceObserver` instance.
    type performance-observer-handle = u64;

    /// `observe()` operation.
    observe: func(self: performance-observer-handle, options: option<u64>);

    /// `disconnect()` operation.
    disconnect: func(self: performance-observer-handle);

    /// `takeRecords()` operation.
    take-records: func(self: performance-observer-handle) -> u64;

    /// `supportedEntryTypes` attribute — getter.
    get-supported-entry-types: func() -> list<string>;
}

interface performance-observer-entry-list {
    /// Opaque handle to a host-side `PerformanceObserverEntryList` instance.
    type performance-observer-entry-list-handle = u64;

    /// `getEntries()` operation.
    get-entries: func(self: performance-observer-entry-list-handle) -> u64;

    /// `getEntriesByType()` operation.
    get-entries-by-type: func(self: performance-observer-entry-list-handle, %type: string) -> u64;

    /// `getEntriesByName()` operation.
    get-entries-by-name: func(self: performance-observer-entry-list-handle, name: string, %type: option<string>) -> u64;
}

interface performance-resource-timing {
    /// Opaque handle to a host-side `PerformanceResourceTiming` instance.
    type performance-resource-timing-handle = u64;

    /// `initiatorType` attribute — getter.
    get-initiator-type: func(self: performance-resource-timing-handle) -> string;

    /// `deliveryType` attribute — getter.
    get-delivery-type: func(self: performance-resource-timing-handle) -> string;

    /// `nextHopProtocol` attribute — getter.
    get-next-hop-protocol: func(self: performance-resource-timing-handle) -> string;

    /// `workerStart` attribute — getter.
    get-worker-start: func(self: performance-resource-timing-handle) -> f64;

    /// `redirectStart` attribute — getter.
    get-redirect-start: func(self: performance-resource-timing-handle) -> f64;

    /// `redirectEnd` attribute — getter.
    get-redirect-end: func(self: performance-resource-timing-handle) -> f64;

    /// `fetchStart` attribute — getter.
    get-fetch-start: func(self: performance-resource-timing-handle) -> f64;

    /// `domainLookupStart` attribute — getter.
    get-domain-lookup-start: func(self: performance-resource-timing-handle) -> f64;

    /// `domainLookupEnd` attribute — getter.
    get-domain-lookup-end: func(self: performance-resource-timing-handle) -> f64;

    /// `connectStart` attribute — getter.
    get-connect-start: func(self: performance-resource-timing-handle) -> f64;

    /// `connectEnd` attribute — getter.
    get-connect-end: func(self: performance-resource-timing-handle) -> f64;

    /// `secureConnectionStart` attribute — getter.
    get-secure-connection-start: func(self: performance-resource-timing-handle) -> f64;

    /// `requestStart` attribute — getter.
    get-request-start: func(self: performance-resource-timing-handle) -> f64;

    /// `finalResponseHeadersStart` attribute — getter.
    get-final-response-headers-start: func(self: performance-resource-timing-handle) -> f64;

    /// `firstInterimResponseStart` attribute — getter.
    get-first-interim-response-start: func(self: performance-resource-timing-handle) -> f64;

    /// `responseStart` attribute — getter.
    get-response-start: func(self: performance-resource-timing-handle) -> f64;

    /// `responseEnd` attribute — getter.
    get-response-end: func(self: performance-resource-timing-handle) -> f64;

    /// `workerRouterEvaluationStart` attribute — getter.
    get-worker-router-evaluation-start: func(self: performance-resource-timing-handle) -> f64;

    /// `workerCacheLookupStart` attribute — getter.
    get-worker-cache-lookup-start: func(self: performance-resource-timing-handle) -> f64;

    /// `workerMatchedRouterSource` attribute — getter.
    get-worker-matched-router-source: func(self: performance-resource-timing-handle) -> string;

    /// `workerFinalRouterSource` attribute — getter.
    get-worker-final-router-source: func(self: performance-resource-timing-handle) -> string;

    /// `transferSize` attribute — getter.
    get-transfer-size: func(self: performance-resource-timing-handle) -> u64;

    /// `encodedBodySize` attribute — getter.
    get-encoded-body-size: func(self: performance-resource-timing-handle) -> u64;

    /// `decodedBodySize` attribute — getter.
    get-decoded-body-size: func(self: performance-resource-timing-handle) -> u64;

    /// `responseStatus` attribute — getter.
    get-response-status: func(self: performance-resource-timing-handle) -> u16;

    /// `renderBlockingStatus` attribute — getter.
    get-render-blocking-status: func(self: performance-resource-timing-handle) -> u64;

    /// `contentType` attribute — getter.
    get-content-type: func(self: performance-resource-timing-handle) -> string;

    /// `contentEncoding` attribute — getter.
    get-content-encoding: func(self: performance-resource-timing-handle) -> string;

    /// `toJSON()` operation.
    to-json: func(self: performance-resource-timing-handle) -> u64;
}

interface performance-mark {
    /// Opaque handle to a host-side `PerformanceMark` instance.
    type performance-mark-handle = u64;

    /// `detail` attribute — getter.
    get-detail: func(self: performance-mark-handle) -> string;
}

interface performance-measure {
    /// Opaque handle to a host-side `PerformanceMeasure` instance.
    type performance-measure-handle = u64;

    /// `detail` attribute — getter.
    get-detail: func(self: performance-measure-handle) -> string;
}