oas
Version:
Comprehensive tooling for working with OpenAPI definitions
1 lines • 2.23 kB
Source Map (JSON)
{"version":3,"sources":["/Users/erunion/code/readme/oas/packages/oas/dist/chunk-W6GBV2JT.cjs","../src/analyzer/util.ts"],"names":[],"mappings":"AAAA;ACAA,6CAAyB;AAiBlB,SAAS,KAAA,CAAM,OAAA,EAAmB,UAAA,EAAmC;AAC1E,EAAA,MAAM,QAAA,EAAU,OAAA,CACb,GAAA,CAAI,CAAA,CAAA,EAAA,GAAK,oCAAA,EAAW,IAAA,EAAM,CAAA,EAAG,IAAA,EAAM,UAAA,EAAY,UAAA,EAAY,MAAM,CAAC,CAAC,CAAA,CACnE,MAAA,CAAO,CAAA,GAAA,EAAA,GAAQ,GAAA,CAAI,OAAA,EAAS,IAAA,EAAM,KAAM,CAAA,CACxC,MAAA,CAAO,CAAC,IAAA,EAAM,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,EAAG,CAAC,CAAC,CAAA;AAG/C,EAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,EAAmB,CAAA,EAAA,GAAsB;AACrD,IAAA,GAAA,CAAI,CAAA,CAAE,QAAA,EAAU,CAAA,CAAE,OAAA,EAAS;AACzB,MAAA,OAAO,CAAA,CAAA;AAAA,IACT,EAAA,KAAA,GAAA,CAAW,CAAA,CAAE,QAAA,EAAU,CAAA,CAAE,OAAA,EAAS;AAChC,MAAA,OAAO,CAAA;AAAA,IACT;AAEA,IAAA,OAAO,CAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,OAAO,OAAA;AACT;AAOO,SAAS,aAAA,CAAc,OAAA,EAAiB;AAC7C,EAAA,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA;AACpB;AD3BqB;AACA;AACA;AACA;AACA","file":"/Users/erunion/code/readme/oas/packages/oas/dist/chunk-W6GBV2JT.cjs","sourcesContent":[null,"import { JSONPath } from 'jsonpath-plus';\n\ninterface JSONPathResult {\n hasArrExpr?: boolean;\n parent: any;\n parentProperty: string;\n path: string;\n pointer: string;\n value: any;\n}\n\n/**\n * Run a set of JSONPath queries against an API definition.\n *\n * @see {@link https://jsonpath.com/}\n * @see {@link https://npm.im/jsonpath-plus}\n */\nexport function query(queries: string[], definition: any): JSONPathResult[] {\n const results = queries\n .map(q => JSONPath({ path: q, json: definition, resultType: 'all' }))\n .filter(res => (res.length ? res : false))\n .reduce((prev, next) => prev.concat(next), []);\n\n // Always alphabetize our results by the JSON pointer.\n results.sort((a: JSONPathResult, b: JSONPathResult) => {\n if (a.pointer < b.pointer) {\n return -1;\n } else if (a.pointer > b.pointer) {\n return 1;\n }\n\n return 0;\n });\n\n return results;\n}\n\n/**\n * Transform a JSON pointer into a JSON Schema `$ref`-compatible pointer.\n *\n * @example `/paths/~1streams/post/callbacks` -> `#/paths/~1streams/post/callbacks`\n */\nexport function refizePointer(pointer: string) {\n return `#${pointer}`;\n}\n"]}