@shopify/cli-kit
    Preparing search index...

    Interface RuntimeMetadataManager<TPublic, TSensitive>

    interface RuntimeMetadataManager<
        TPublic extends AnyJson,
        TSensitive extends AnyJson,
    > {
        addPublicMetadata: (
            getData: ProvideMetadata<TPublic>,
            onError?: MetadataErrorHandling,
        ) => Promise<void>;
        addSensitiveMetadata: (
            getData: ProvideMetadata<TSensitive>,
            onError?: MetadataErrorHandling,
        ) => Promise<void>;
        getAllPublicMetadata: () => Partial<TPublic>;
        getAllSensitiveMetadata: () => Partial<TSensitive>;
        runWithTimer: (
            field: NumericKeyOf<TPublic>,
        ) => <T>(fn: () => Promise<T>) => Promise<T>;
    }

    Type Parameters

    • TPublic extends AnyJson
    • TSensitive extends AnyJson
    Index

    Properties

    addPublicMetadata: (
        getData: ProvideMetadata<TPublic>,
        onError?: MetadataErrorHandling,
    ) => Promise<void>

    Add some public metadata -- this should not contain any PII.

    addSensitiveMetadata: (
        getData: ProvideMetadata<TSensitive>,
        onError?: MetadataErrorHandling,
    ) => Promise<void>

    Add some potentially sensitive metadata -- this may include PII, but unnecessary data should never be tracked (this is a good fit for command args for instance).

    getAllPublicMetadata: () => Partial<TPublic>

    Get a snapshot of the tracked public data.

    getAllSensitiveMetadata: () => Partial<TSensitive>

    Get a snapshot of the tracked sensitive data.

    runWithTimer: (
        field: NumericKeyOf<TPublic>,
    ) => <T>(fn: () => Promise<T>) => Promise<T>

    Run a function, monitoring how long it takes, and adding the elapsed time to a running total.