UNPKG

@bscotch/stitch

Version:

Stitch: The GameMaker Studio 2 Asset Pipeline Development Kit.

211 lines 11 kB
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