UNPKG

@pixture/engine

Version:

Pixture

87 lines 3 kB
import spellu from "./spellu-engine"; import scriptkit from "./spellu-scriptkit"; import dom from "./pixture-dom"; declare type Dictionary<V = any> = spellu.Dictionary<V>; declare namespace pixture { function pluck<V extends Dictionary<any>>(array: V[], keyName: string): Dictionary<V>; function stepGeneratorOf<T, V extends T = T>(array: T[]): (condition: (item: T) => boolean) => Generator<V, void, unknown>; } declare namespace pixture { interface Environment { readText(path: string): string; writeText(path: string, data: string): void; universeGlobals(): Dictionary<any>; universeConstructors(): Function[]; } type ConfigDataFormat = { data?: string; pages?: PageRecipe[]; }; type Config = { data: string; components: [string]; pages: PageRecipe[]; }; type PageRecipe = { in: string; out: string; }; type Input = { document: dom.PageDocument; components: Dictionary<dom.Component>; dimensions: scriptkit.Dimension[]; constructors: Function[]; }; type Output = { document: dom.PageDocument; text: string; }; type GenerateResult = {}; type TranspileResult = {}; } declare namespace pixture { function loadConfig(): void; } declare namespace pixture { function generate(env: Environment, config: Config): TranspileResult; } declare namespace pixture { type Source = { source: string; location: string; }; export function transpile(page: string | Source, components: (string | Source)[], dimensions: scriptkit.Dimension[], constructors: Function[]): string; export {}; } declare namespace pixture { function load(env: Environment, config: Config, recipe: PageRecipe): Input; } declare namespace pixture { function save(env: Environment, config: Config, recipe: PageRecipe, output: Output): TranspileResult; } declare namespace pixture { function process(input: Input): Output; } declare namespace pixture { function applyComponent(world: scriptkit.World, page: dom.PageDocument, components: Dictionary<dom.Component>): void; } declare namespace pixture { function applyControl(world: scriptkit.World, page: dom.PageDocument): void; /** * ノードの子要素・テキストに対し、applyString()を実行する。 * * @param world * @param node * @param context */ function evaluateInterpolationCode(world: scriptkit.World, node: dom.Node, context: Dictionary<any>): void; } declare namespace pixture { function applyString(world: scriptkit.ScriptWorld, context: Dictionary<any>, string: string, location?: string): string; } declare namespace pixture { function evaluateExpression(world: scriptkit.ScriptWorld, context: Dictionary<any>, string: string, location?: string): any; } export default pixture; export { spellu, scriptkit, dom }; //# sourceMappingURL=pixture-engine.d.ts.map