UNPKG

@stryke/json

Version:

A package containing JSON parsing/stringify utilities used by Storm Software.

39 lines (38 loc) 1.39 kB
import type { JsonPointerPath } from "@stryke/types/json"; /** * Escapes a JSON pointer path segment. * * @param segment - JSON pointer path segment. * @returns Escaped JSON pointer path segment. */ export declare function escapePointerSegment(segment: string): string; /** * Unescapes a JSON pointer path segment. * * @param segment - JSON pointer path segment. * @returns Unescaped JSON pointer path segment. */ export declare function unescapePointerSegment(segment: string): string; /** * Convert JSON pointer like "/foo/bar" to array like ["", "foo", "bar"], while * also un-escaping reserved characters. */ export declare function parseJsonPointer(pointer: string): JsonPointerPath; /** * Escape and format a path array like ["", "foo", "bar"] to JSON pointer * like "/foo/bar". */ export declare function formatJsonPointer(path: JsonPointerPath): string; /** * Returns true if JSON Pointer points to root value, false otherwise. */ export declare const isRoot: (path: string | number | JsonPointerPath) => boolean; /** * Returns parent path, e.g. for ['foo', 'bar', 'baz'] returns ['foo', 'bar']. */ export declare function parent(path: JsonPointerPath): JsonPointerPath; /** * Check if path component can be a valid array index. */ export declare function isValidIndex(index: string | number): boolean; export declare const isInteger: (str: string) => boolean;