@bscotch/gml-parser
Version:
A parser for GML (GameMaker Language) files for programmatic manipulation and analysis of GameMaker projects.
21 lines • 1.4 kB
TypeScript
import { type FeatherType, type FeatherTypeUnion } from './jsdoc.feather.js';
import type { JsdocSummary } from './jsdoc.js';
import { Type } from './types.js';
export type KnownTypesMap = Map<string, Type>;
export type GenericsMap = Record<string, Type[]>;
export type KnownOrGenerics = KnownTypesMap | GenericsMap;
export declare function typeFromFeatherString(typeString: string, knownTypes: KnownTypesMap | KnownOrGenerics[], addMissing: boolean): Type[];
/**
* Given a type identifier, get a parsed Type instance. Useful for
* the "leaves" of a type tree, e.g. "String" or "Struct.Mystruct".
* Only creates primitive types, e.g. "Struct.MyStruct" will return
* a plain `Type<"Struct">` instance.
*
* When knownTypes are provided, will return a known type by exact
* identifier match if it exists. Otherwise a new type instance will
* be created *and added to the knownTypes map*.
*/
export declare function typeFromIdentifier(identifier: string, knownTypes: KnownTypesMap | KnownOrGenerics[], addMissing: boolean, __isRootRequest?: boolean): Type;
export declare function typeFromParsedJsdocs(jsdoc: JsdocSummary, knownTypes: Map<string, Type>, addMissing: boolean): Type[];
export declare function typeFromParsedFeatherString(node: FeatherTypeUnion | FeatherType, knownTypes: KnownTypesMap | KnownOrGenerics[], addMissing: boolean): Type[];
//# sourceMappingURL=types.feather.d.ts.map