@stryke/json
Version:
A package containing JSON parsing/stringify utilities used by Storm Software.
39 lines (38 loc) • 1.39 kB
TypeScript
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;