UNPKG

@aws-lambda-powertools/jmespath

Version:

A type safe and modern jmespath module to parse and extract data from JSON documents using JMESPath

50 lines 1.42 kB
import type { JMESPathParsingOptions, JSONObject } from './types.js'; /** * Search for data in a JSON object using a JMESPath expression. * * @example * ```typescript * import { search } from '@aws-lambda-powertools/jmespath'; * * const data = { * foo: { * bar: { * baz: 1 * } * } * }; * * const result = search('foo.bar.baz', data); * console.log(result); // 1 * ``` * * By default the search function will use all the built-in functions * present in the [JMESPath specification](https://jmespath.org/specification.html). * * Powertools for AWS Lambda provides some additional functions that can be used * by passing them in the `customFunctions` option. * * @example * ```typescript * import { search } from '@aws-lambda-powertools/jmespath'; * import { PowertoolsFunctions } from '@aws-lambda-powertools/jmespath/functions'; * * const data = { * body: "{\"foo\": \"bar\"}" * }; * * const result = search( * 'powertools_json(body)', * data, * { customFunctions: new PowertoolsFunctions() } * ); * console.log(result); // { foo: 'bar' } * ``` * * @param expression The JMESPath expression to use * @param data The JSON object to search * @param options The parsing options to use */ declare const search: (expression: string, data: JSONObject, options?: JMESPathParsingOptions) => unknown; export { search }; //# sourceMappingURL=search.d.ts.map