@genart-api/adapter-fxhash
Version:
GenArtAPI platform adapter for fxhash.xyz
64 lines (63 loc) • 1.99 kB
TypeScript
import type { Param, ParamSpecs, PlatformAdapter, PRNG, RunMode, ScreenConfig, Traits } from "@genart-api/core";
declare global {
var $fx: {
readonly hash: string;
readonly context: "standalone" | "capture" | "minting";
readonly minter: string;
readonly iteration: number;
params(specs: any[]): void;
getParam(id: string): any;
features(features: Record<string, string | number | boolean>): void;
preview(): void;
on(id: string, pre: (...args: any[]) => boolean | Promise<boolean>, post: (...args: any[]) => void): void;
};
}
/**
* Adapter configuration options. To be used with
* {@link FxhashAdapter.configure}.
*/
export interface FxhashAdapterOpts {
}
interface AdaptedParam {
/**
* Original param ID
*/
id: string;
/**
* Function to convert adapted param value to original type.
*
* @param value
*/
adapt(value: any): any;
}
export declare class FxhashAdapter implements PlatformAdapter {
protected _searchParams: URLSearchParams;
protected _params?: ParamSpecs;
protected _cache: Record<string, any>;
protected _adaptations: Record<string, AdaptedParam>;
protected _prng: PRNG;
protected _screen: ScreenConfig;
constructor();
get id(): string;
get mode(): RunMode;
get screen(): {
width: number;
height: number;
dpr: number;
};
get prng(): PRNG;
get seed(): string;
get collector(): string;
get iteration(): number;
configure(_: Partial<FxhashAdapterOpts>): void;
updateParam(id: string, _: Param<any>): Promise<{
value: any;
} | undefined>;
initParams(params: ParamSpecs): Promise<void>;
setTraits(traits: Traits): void;
capture(_?: HTMLCanvasElement | SVGElement): void;
protected reload(): void;
protected adaptVectorParam(id: string, idx: number): AdaptedParam;
protected warn(msg: string, ...args: any[]): void;
}
export {};