@shopify/react-async
Version:
Tools for creating powerful, asynchronously-loaded React components.
20 lines (19 loc) • 634 B
TypeScript
import * as React from 'react';
import { EffectKind } from '@shopify/react-effect';
import { AssetTiming } from '../types';
export interface AssetSelector {
id: string;
styles: boolean;
scripts: boolean;
}
export declare const EFFECT_ID: unique symbol;
export declare class AsyncAssetManager {
readonly effect: EffectKind;
private assets;
used(timing?: AssetTiming | AssetTiming[]): AssetSelector[];
markAsUsed(id: string, timing?: AssetTiming | {
scripts?: AssetTiming;
styles?: AssetTiming;
}): void;
}
export declare const AsyncAssetContext: React.Context<AsyncAssetManager | null>;