@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;
}