@bscotch/stitch
Version:
Stitch: The GameMaker Studio 2 Asset Pipeline Development Kit.
211 lines • 11 kB
TypeScript
import { Pathy } from '@bscotch/pathy';
import { z } from 'zod';
import { StitchStorage } from './StitchStorage.js';
export type StitchProjectConfigFile = z.infer<(typeof StitchProjectConfig)['fileSchema']>;
/** The Project Config lives alongside the .yyp file */
export declare class StitchProjectConfig {
readonly storage: StitchStorage;
static readonly fileSchema: z.ZodObject<{
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>;
textureGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
audioGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
runtimeVersion: z.ZodOptional<z.ZodString>;
newSpriteRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>>;
newSoundRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>;
textureGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
audioGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
runtimeVersion: z.ZodOptional<z.ZodString>;
newSpriteRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>>;
newSoundRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>;
textureGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
audioGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
runtimeVersion: z.ZodOptional<z.ZodString>;
newSpriteRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>>;
newSoundRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>;
protected constructor(storage: StitchStorage);
get filePathAbsolute(): string;
getRuntimeVersion(): Promise<string | undefined>;
setRuntimeVersion(version: string | undefined): Promise<void>;
getTextureGroupAssignments(): Promise<Record<string, string>>;
getTextureGroupsWithAssignedFolders(): Promise<string[]>;
/**
* The folders that have an assigned texture group,
* sorted from *least* to *most* specific (allowing
* texture groups of contained sprites to be assigned
* in order).
*/
getFoldersWithAssignedTextureGroups(): Promise<string[]>;
getAudioGroupAssignments(): Promise<Record<string, string>>;
getAudioGroupsWithAssignedFolders(): Promise<string[]>;
/**
* The folders that have an assigned texture group,
* sorted from *least* to *most* specific (allowing
* texture groups of contained sprites to be assigned
* in order).
*/
getFoldersWithAssignedAudioGroups(): Promise<string[]>;
private addGroupAssignment;
private deleteGroupAssignment;
private getGroupAssignmentForPath;
findTextureGroupForPath(path: string): Promise<string | undefined>;
addTextureGroupAssignment(folder: string, textureGroup: string): Promise<void>;
deleteTextureGroupAssignment(folder: string): Promise<void>;
addAudioGroupAssignment(folder: string, textureGroup: string): Promise<void>;
findAudioGroupForPath(path: string): Promise<string | undefined>;
deleteAudioGroupAssignment(folder: string): Promise<void>;
load(): Promise<z.objectOutputType<{
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>;
textureGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
audioGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
runtimeVersion: z.ZodOptional<z.ZodString>;
newSpriteRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, z.ZodTypeAny, "passthrough">>>;
newSoundRules: z.ZodOptional<z.ZodObject<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
mono: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
mono?: boolean | undefined;
}, {
mono?: boolean | undefined;
}>>>;
}, z.ZodTypeAny, "passthrough">>>;
}, z.ZodTypeAny, "passthrough">>;
private loadField;
private saveField;
private save;
/**
* Given a path to a `.yyp` file, stitch config file, or folder containing a yyp file,
* get a StitchProjectConfig instance.
*/
static from(path: string | Pathy): StitchProjectConfig;
static from(storage: StitchStorage): StitchProjectConfig;
}
//# sourceMappingURL=StitchProjectConfig.d.ts.map