@bscotch/stitch-launcher
Version:
Manage GameMaker IDE and runtime installations for fast switching between versions.
95 lines • 3.66 kB
TypeScript
import type { Pathy } from '@bscotch/pathy';
import { z } from 'zod';
import type { GameMakerChannel } from './GameMakerFeeds.types.js';
export { gameMakerChannelSchema, gameMakerFeedOptionsSchema, type GameMakerChannel, type GameMakerFeedOptions, type GameMakerSearch, } from './GameMakerFeeds.types.js';
export type GameMakerKnownPathId = z.infer<typeof gameMakerKnownPathIdSchema>;
declare const gameMakerKnownPathIdSchema: z.ZodEnum<{
gameMakerDataDir: "gameMakerDataDir";
defaultMacrosFile: "defaultMacrosFile";
runtimeFeedsConfigFile: "runtimeFeedsConfigFile";
initialDefaultMacrosFile: "initialDefaultMacrosFile";
runtimesCacheDir: "runtimesCacheDir";
gameMakerIdeDir: "gameMakerIdeDir";
gameMakerIdeExe: "gameMakerIdeExe";
gameMakerUserDir: "gameMakerUserDir";
activeUserFile: "activeUserFile";
uiLogFile: "uiLogFile";
activeRuntimeConfigFile: "activeRuntimeConfigFile";
}>;
export type GameMakerKnownPath = z.infer<typeof gameMakerKnownPathSchema>;
export declare const gameMakerKnownPathSchema: z.ZodObject<{
id: z.ZodEnum<{
gameMakerDataDir: "gameMakerDataDir";
defaultMacrosFile: "defaultMacrosFile";
runtimeFeedsConfigFile: "runtimeFeedsConfigFile";
initialDefaultMacrosFile: "initialDefaultMacrosFile";
runtimesCacheDir: "runtimesCacheDir";
gameMakerIdeDir: "gameMakerIdeDir";
gameMakerIdeExe: "gameMakerIdeExe";
gameMakerUserDir: "gameMakerUserDir";
activeUserFile: "activeUserFile";
uiLogFile: "uiLogFile";
activeRuntimeConfigFile: "activeRuntimeConfigFile";
}>;
path: z.ZodString;
name: z.ZodString;
description: z.ZodString;
}, z.core.$strip>;
/**
* The subset of Stitch's `Gms2Project`
* interface that the launcher needs access to.
*/
export interface GameMakerProject {
readonly name: string;
readonly yypPathAbsolute: string;
readonly yypDirAbsolute: string;
}
export interface GameMakerInstalledVersion {
version: string;
executablePath: Pathy;
directory: Pathy;
channel?: GameMakerChannel;
publishedAt?: Date;
feedUrl?: string;
}
export type GameMakerParsedFeed = z.output<typeof gameMakerParsedFeedSchema>;
export declare const gameMakerParsedFeedSchema: z.ZodObject<{
rss: z.ZodObject<{
channel: z.ZodObject<{
title: z.ZodString;
description: z.ZodString;
link: z.ZodString;
item: z.ZodPipe<z.ZodTransform<any[], unknown>, z.ZodArray<z.ZodObject<{
title: z.ZodString;
pubDate: z.ZodString;
link: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>>;
}, z.core.$strip>;
}, z.core.$strip>;
}, z.core.$strip>;
export interface GameMakerLogOptions {
logDir?: string;
/**
* If `true`, will not include the timestamp
* in the logfile names. This is useful when
* you want to clobber the logs files with the
* latest logs.
*/
excludeLogFileTimestamps?: boolean;
}
export declare const gameMakerUserTokenPayloadSchema: z.ZodObject<{
exp: z.ZodNumber;
}, z.core.$loose>;
export declare const gameMakerUserDataSchema: z.ZodObject<{
deviceID: z.ZodOptional<z.ZodString>;
login: z.ZodOptional<z.ZodString>;
userID: z.ZodOptional<z.ZodString>;
accessToken: z.ZodOptional<z.ZodString>;
refreshToken: z.ZodOptional<z.ZodString>;
}, z.core.$loose>;
export type GameMakerUserData = z.output<typeof gameMakerUserDataSchema>;
export interface GameMakerDefaultMacros {
updateURI?: string;
runtimeURI?: string;
}
//# sourceMappingURL=GameMakerLauncher.types.d.ts.map