@drincs/pixi-vn-ink
Version:
Pixi'VN gives you the ability to write your own narrative using Ink
52 lines (50 loc) • 1.17 kB
TypeScript
type CompileSharedType = {
labelToRemove: string[];
initialVarsToRemove: string[];
functions: {
name: string;
args: number;
}[];
enums: {
[key: string]: Record<string, number>;
};
textSource: string;
};
/**
* Serializable representation of a handler `validation` rule used by
* {@link HashtagCommands} and {@link TextReplaces}.
*/
type InkValidationInfo = {
/**
* Validation based on regular expression.
*/
type: "regexp";
/**
* The regex source pattern.
*/
source: string;
/**
* Regex flags (for example `"i"` or `"gi"`).
*/
flags: string;
} | {
/**
* Validation based on a Zod schema serialized to JSON Schema.
*/
type: "zod";
/**
* JSON Schema representation of the original Zod validation.
*/
schema: Record<string, unknown>;
} | {
/**
* Validation represented by a string literal value
* (e.g. `"all"` or `"characterId"`).
*/
type: "literal";
/**
* The original literal validation value.
*/
value: string;
};
export type { CompileSharedType as C, InkValidationInfo as I };