@logic-pad/core
Version:
56 lines (55 loc) • 2.24 kB
TypeScript
import GridData from '../grid.js';
import GridConnections from '../gridConnections.js';
import Rule from '../rules/rule.js';
import TileData from '../tile.js';
import Symbol from '../symbols/symbol.js';
import Instruction from '../instruction.js';
import { AnyConfig } from '../config.js';
import SerializerBase from './serializerBase.js';
import { Puzzle, PuzzleData } from '../puzzle.js';
import { ControlLine } from '../rules/musicControlLine.js';
import GridZones from '../gridZones.js';
export declare const OFFSETS: {
x: number;
y: number;
}[];
export declare const orientationChars: {
up: string;
"up-right": string;
right: string;
"down-right": string;
down: string;
"down-left": string;
left: string;
"up-left": string;
};
export default class SerializerV0 extends SerializerBase {
readonly version: number;
stringifyTile(tile: TileData): string;
parseTile(str: string): TileData;
stringifyControlLine(line: ControlLine): string;
parseControlLine(str: string): ControlLine;
stringifyConfig(instruction: Instruction, config: AnyConfig): string;
parseConfig(configs: readonly AnyConfig[], entry: string): [string, unknown];
stringifyInstruction(instruction: Instruction): string;
stringifyRule(rule: Rule): string;
stringifySymbol(symbol: Symbol): string;
parseRule(str: string): Rule;
parseSymbol(str: string): Symbol;
stringifyConnections(connections: GridConnections): string;
parseConnections(input: string): GridConnections;
stringifyZones(zones: GridZones): string;
parseZones(input: string): GridZones;
stringifyTiles(tiles: readonly (readonly TileData[])[]): string;
parseTiles(input: string): TileData[][];
stringifyRules(rules: readonly Rule[]): string;
parseRules(input: string): Rule[];
stringifySymbols(symbols: ReadonlyMap<string, readonly Symbol[]>): string;
parseSymbols(input: string): Map<string, Symbol[]>;
stringifyGrid(grid: GridData): string;
parseGrid(input: string): GridData;
stringifyGridWithSolution(puzzle: PuzzleData): string;
parseGridWithSolution(input: string): PuzzleData;
stringifyPuzzle(puzzle: Puzzle): string;
parsePuzzle(input: string): Puzzle;
}