import { JsonPointerString, JsonPointerStructureArray } from "./MetaInfoProducer.js"; export type DescentCallback = (value: any, jsonPointer: JsonPointerString) => boolean; export type DescentIterator = (value: any, localFieldName: string) => void; export default class JsonPointer { /** * Convenience wrapper around jp. * Calls `.get` when called with an `object` and a `pointer`. * Calls `.set` when also called with `value`. * If only supplied `object`, returns a partially applied function, mapped to the object. * * @param {Object} obj * @param {String|Array} pointer * @param value * @returns {*} */ static api(obj: any, pointer: JsonPointerString | JsonPointerStructureArray, value: any): any; /** * Lookup a JSON pointer in an object * * @param {Object} obj * @param {String|Array} pointer * @returns {*} */ static get(obj: object, pointer: JsonPointerString | JsonPointerStructureArray): object; /** * Sets a value on an object * * @param {Object} obj * @param {String|Array} pointer * @param value */ static set(obj: object, pointer: JsonPointerString | JsonPointerStructureArray, value: any): typeof JsonPointer; /** * Removes an attribute * * @param {Object} obj * @param {String|Array} pointer */ static remove(obj: object, pointer: JsonPointerString | JsonPointerStructureArray): void; /** * Returns a (pointer -> value) dictionary for an object * * @param obj * @param {function} descend * @returns {} */ static dict(obj: object, descend: DescentCallback): {}; /** * Iterates over an object * Iterator: function (value, pointer) {} * * @param obj * @param {function} iterator * @param {function} descend */ static walk(obj: object, iterator: DescentIterator, descend?: DescentCallback): void; /** * Tests if an object has a value for a JSON pointer * * @param obj * @param pointer * @returns {boolean} */ static has(obj: object, pointer: JsonPointerString | JsonPointerStructureArray): boolean; /** * Escapes a reference token * * @param str * @returns {string} */ static escape(str: JsonPointerString | number): string; /** * Unescapes a reference token * * @param str * @returns {string} */ static unescape(str: JsonPointerString): string; /** * Converts a JSON pointer into an array of reference tokens * * @param pointer * @returns {Array} */ static parse(pointer: JsonPointerString): string[]; /** * Builds a JSON pointer from an array of reference tokens * * @param refTokens * @returns {string} */ static compile(refTokens: JsonPointerStructureArray): string; static parent(pointer: JsonPointerString | JsonPointerStructureArray): string | (string | number)[]; /** * Returns true if potentialAncestor is an ancestor of jsonPtr. * For example, if jsonPtr is /a/b/c/d and potentialAncestor is /a/b, this returns true. * @param jsonPtr - The JSON pointer to check. * @param potentialAncestor - The potential ancestor JSON pointer. */ static isAncestor(jsonPtr: JsonPointerString, potentialAncestor: JsonPointerString): boolean; static rootish(ptrString: JsonPointerString): boolean; } //# sourceMappingURL=JsonPointer.d.ts.map