@bscotch/stitch
Version:
Stitch: The GameMaker Studio 2 Asset Pipeline Development Kit.
41 lines • 2.08 kB
TypeScript
import { Pathy } from '@bscotch/pathy';
import { type AudioSourceConfig, type SourceConfig, type ConfigFile, GroupedSourceConfig } from './assetSource.types.js';
export declare class AssetSourceConfig<T extends SourceConfig = SourceConfig> {
readonly dir: Pathy;
protected config: T;
constructor(dir: Pathy, config: T);
get id(): string;
get type(): T['type'];
get files(): T['files'];
set files(files: T['files']);
absoluteFilePath(file: T['files'][number]): Pathy;
grouped(): GroupedSourceConfig<T>;
toJSON(): T;
compareFiles(a: T['files'][number], b: T['files'][number]): number;
}
export declare class AssetSourcesConfig {
readonly path: Pathy<ConfigFile>;
constructor(path: string | Pathy<any>);
get dir(): Pathy<unknown>;
listAudioSources(): Promise<AssetSourceConfig<AudioSourceConfig>[]>;
listSources(options?: {
filter: (sources: AssetSourceConfig) => any;
}): Promise<AssetSourceConfig[]>;
findAudioSource(id: string, config?: ConfigFile): Promise<[AssetSourceConfig<AudioSourceConfig>, number]>;
findSource(id: string, config?: ConfigFile): Promise<[source: AssetSourceConfig, idx: number]>;
addAudioSource(info?: Partial<AudioSourceConfig>): Promise<AssetSourceConfig<AudioSourceConfig>>;
removeSource(id: string): Promise<void>;
updateAudioSource(id: string, info: Partial<Omit<AudioSourceConfig, 'id' | 'files'>>): Promise<AudioSourceConfig>;
/**
* Update the config file to reflect the current state
* of all described files.
*/
refreshAudioSource(id: string): Promise<AssetSourceConfig<AudioSourceConfig>>;
toggleImportables(sourceId: string, fileIds: string[], importable: boolean): Promise<void>;
toggleImportable(sourceId: string, fileId: string, importable: boolean): Promise<void>;
load(): Promise<ConfigFile>;
protected write(config: ConfigFile): Promise<void>;
static readonly basename = "stitch.src.json";
static from(path: string | Pathy): AssetSourcesConfig;
}
//# sourceMappingURL=AssetSourcesConfig.d.ts.map