@logic-pad/core
Version:
36 lines (35 loc) • 1.26 kB
TypeScript
import GridData from '../grid.js';
import { Puzzle, PuzzleData } from '../puzzle.js';
import Rule from '../rules/rule.js';
import Symbol from '../symbols/symbol.js';
import TileData from '../tile.js';
/**
* The master serializer for puzzles.
*
* It uses the default serializer when stringifying puzzles, and select the correct deserializer when parsing puzzles.
*/
declare const Serializer: {
stringifyTiles(tiles: readonly (readonly TileData[])[]): string;
parseTiles(input: string): TileData[][];
stringifyRule(rule: Rule): string;
parseRule(input: string): Rule;
stringifySymbol(symbol: Symbol): string;
parseSymbol(input: string): Symbol;
stringifyGrid(grid: GridData): string;
parseGrid(input: string): GridData;
stringifyGridWithSolution(puzzle: PuzzleData): string;
parseGridWithSolution(input: string): PuzzleData;
/**
* Convert a puzzle to a string.
* @param puzzle The puzzle to convert.
* @returns The string representation of the puzzle.
*/
stringifyPuzzle(puzzle: Puzzle): string;
/**
* Parse a puzzle from a string.
* @param input The string to parse.
* @returns The parsed puzzle.
*/
parsePuzzle(input: string): Puzzle;
};
export { Serializer };