UNPKG

api-ref-bundler

Version:

Bundle all external $ref in Json based API document into single document

1 lines 39.2 kB
{"version":3,"file":"index.mjs","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/json-crawl/dist/index.mjs","../src/normalize.ts","../src/utils.ts","../src/resolver.ts","../src/rules/jsonSchema.ts","../src/rules/asyncapi.ts","../src/rules/openapi.ts","../src/rules/swagger.ts","../src/rules/index.ts","../src/bundle.ts","../src/dereference.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*!\n * json-crawl v0.4.2\n * Copyright (C) 2012-2023 Damir Yusipov\n * Date: Wed, 13 Dec 2023 19:13:27 GMT\n */\nfunction e(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(n[o[s]]=e[o[s]])}return n}function t(e,t,n,o){return new(n||(n=Promise))((function(s,a){function r(e){try{i(o.next(e))}catch(e){a(e)}}function l(e){try{i(o.throw(e))}catch(e){a(e)}}function i(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,l)}i((o=o.apply(e,t||[])).next())}))}const n=(e={},t,n,o)=>{const s=`/${t}`,a=\"function\"==typeof e[\"/**\"]?e[\"/**\"]({key:t,path:n,value:o}):e[\"/**\"],r=\"function\"==typeof e[\"/*\"]?e[\"/*\"]({key:t,path:n,value:o}):e[\"/*\"];let l={};if(s in e)l=e[s];else if(!a&&!r)return;return l=\"function\"==typeof l?l({key:t,path:n,value:o}):l,r&&(l=Object.assign(Object.assign({},r),l)),a?Object.assign(Object.assign({\"/**\":e[\"/**\"]},a),l):l},o=e=>{const t={},n=e.reduce(((e,t)=>(Object.keys(t).forEach((t=>e.add(t))),e)),new Set);for(const s of n.keys()){const n=e.filter((e=>s in e));if(1!==n.length){if(\"/\"!==s.charAt(0))throw new Error(`Cannot merge rules. Duplicate key: ${s}. Rules should not have same Rule key`);t[s]=(e,t)=>{const a=n.map((n=>\"function\"==typeof n[s]?n[s](e,t):n[s]));return o(a)}}else t[s]=n[0][s]}return t},s=e=>\"object\"==typeof e&&null!==e,a=e=>Array.isArray(e),r=(r,l,i={})=>t(void 0,void 0,void 0,(function*(){var t,u;l=a(l)?l:[l];const c=a(i.rules)?o(i.rules):i.rules,d=[{data:r,state:i.state,path:[],keys:[],keyIndex:-1,rules:c}];for(;d.length>0;){const o=d[d.length-1];if(o.keyIndex>=o.keys.length){for(;null===(t=o.hooks)||void 0===t?void 0:t.length;)o.hooks.pop()();d.pop();continue}const r=o.keys[o.keyIndex++],[i,f,y]=d.length>1?[o.data[r],[...o.path,r],n(o.rules,r,[...o.path,r],o.data[r])]:[o.data,o.path,c];let p={value:i,path:f,key:r,state:o.state,rules:y};const h=[];for(const t of l){if(!t||\"function\"!=typeof t)continue;const n=null!==(u=yield t(p))&&void 0!==u?u:{},{terminate:o,done:s,exitHook:a}=n,r=e(n,[\"terminate\",\"done\",\"exitHook\"]);if(o)return;if(p=Object.assign(Object.assign({},p),r),a&&h.push(a),s){p=null;break}}if(p&&s(p.value)){const e=a(p.value)?[...p.value.keys()]:Object.keys(p.value);d.push({hooks:h,state:p.state,data:p.value,path:f,keys:e,keyIndex:0,rules:p.rules})}else for(;h.length;)h.pop()()}})),l=(t,r,l={})=>{var i,u;r=a(r)?r:[r];const c=a(l.rules)?o(l.rules):l.rules,d=[{data:t,state:l.state,path:[],keys:[],keyIndex:-1,rules:c}];for(;d.length>0;){const t=d[d.length-1];if(t.keyIndex>=t.keys.length){for(;null===(i=t.hooks)||void 0===i?void 0:i.length;)t.hooks.pop()();d.pop();continue}const o=t.keys[t.keyIndex++],[l,f,y]=d.length>1?[t.data[o],[...t.path,o],n(t.rules,o,[...t.path,o],t.data[o])]:[t.data,t.path,c];let p={value:l,path:f,key:o,state:t.state,rules:y};const h=[];for(const t of r){if(!t||\"function\"!=typeof t)continue;const n=null!==(u=t(p))&&void 0!==u?u:{},{terminate:o,done:s,exitHook:a}=n,r=e(n,[\"terminate\",\"done\",\"exitHook\"]);if(o)return;if(a&&h.push(a),p=Object.assign(Object.assign({},p),r),s){p=null;break}}if(p&&s(p.value)){const e=a(p.value)?[...p.value.keys()]:Object.keys(p.value);d.push({hooks:h,state:p.state,data:p.value,path:f,keys:e,keyIndex:0,rules:p.rules})}else for(;h.length;)h.pop()()}},i=(e,n=[],o={})=>t(void 0,void 0,void 0,(function*(){n=Array.isArray(n)?n:[n];const a={},l=Object.assign({state:Object.assign(Object.assign({},o.state),{root:a,node:a})},o.rules?{rules:o.rules}:{});return yield r(e,[...n,({value:e,path:n,key:o,state:a})=>t(void 0,void 0,void 0,(function*(){return o=n.length?o:\"#\",a.node[o]=s(e)?Array.isArray(e)?[]:{}:e,{value:e,state:Object.assign(Object.assign({},a),{node:a.node[o]})}}))],l),a[\"#\"]})),u=(e,t=[],n={})=>{t=Array.isArray(t)?t:[t];const o={},a=Object.assign({state:Object.assign(Object.assign({},n.state),{root:o,node:o})},n.rules?{rules:n.rules}:{});return l(e,[...t,({value:e,path:t,key:n,state:o})=>(n=t.length?n:\"#\",o.node[n]=s(e)?Array.isArray(e)?[]:{}:e,{value:e,state:Object.assign(Object.assign({},o),{node:o.node[n]})})],a),o[\"#\"]},c=(e,t)=>{if(e===t)return!0;let n=!0;return l(e,(({value:e,key:t,state:o})=>{const s=void 0===t?o.value:o.value[t],r={state:{value:s}};if(e===s)return r;if(n=!1,typeof e!=typeof s)return{done:!0};if(a(e)&&e.length!==s.length)return{terminate:!0};if(\"object\"==typeof e&&null!==e){const t=Object.keys(e),n=Object.keys(s);if(t.length!==n.length||!t.every((e=>n.includes(e))))return{terminate:!0}}else if(e!==s)return{terminate:!0};return n=!0,r}),{state:{value:t}}),n},d=(e,n=[],o={})=>t(void 0,void 0,void 0,(function*(){n=a(n)?n:[n];const l={\"#\":e},i=Object.assign({state:Object.assign(Object.assign({},o.state),{root:l,node:l})},o.rules?{rules:o.rules}:{});return yield r(e,[...n,({value:e,path:n,key:o,state:r})=>t(void 0,void 0,void 0,(function*(){return o=n.length?o:\"#\",void 0===e?a(r.node)&&\"number\"==typeof o?r.node.splice(o,1):s(r.node)&&o in r.node&&delete r.node[o]:s(r.node)&&(r.node[o]=e),{value:e,state:r}}))],i),l[\"#\"]}));export{i as clone,r as crawl,c as equal,n as getNodeRules,a as isArray,s as isObject,o as mergeRules,u as syncClone,l as syncCrawl,d as transform};\n//# sourceMappingURL=index.mjs.map\n",null,null,null,null,null,null,null,null,null,null],"names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","apply","n","o","a","r","l","throw","key","path","assign","reduce","keys","forEach","add","Set","filter","charAt","Error","map","Array","isArray","u","c","rules","d","data","state","keyIndex","hooks","pop","f","y","h","terminate","exitHook","push","root","node","normalize","isAbsolute","charCodeAt","trailingSeparator","decodeURIComponent","posixNormalize","allowAboveRoot","code","res","lastSegmentLength","lastSlash","dots","lastSlashIndex","lastIndexOf","slice","pathMask","MapArray","Map","arr","this","get","set","validURL","str","RegExp","test","calcJsonType","openapi","swagger","asyncapi","isJsonSchema","parseRef","$ref","basePath","sourcePath","ref","split","filePath","URL","href","relativePath","pointer","normalized","createRef","base","join","filename","name","replace","isBasicJsonSchema","anyOf","oneOf","allOf","parsePointer","buildRef","fileName","buildPointer","encodeURIComponent","String","mergeValues","patch","isObject","getValueByPath","obj","undefined","setValueByPath","RefResolver","constructor","resolver","cache","resolvePointer","has","error","sibling","rest","_ref","resolverPointer","resolvePointerRef","resolverRef","_a","schemaRefMap","definitionPath","/not","/*","/items","/additionalProperties","jsonSchemaRefMap","asyncApiDefPaths","parametersRefMap","serversRefMap","operationTraitsRefMap","messageTraitsRefMap","messageRefMap","operationRefMap","channelsRefMap","asyncApiRefMap","openApiRefRule","examplesRefMap","headersRefMap","mediaTypesRefMap","requestBodyRefMap","callbacksRefMap","linksRefMap","responsesRefMap","openApiRefMap","swaggerRefRule","refMapRules","OpenApi3","OpenApi2","AsyncApi2","JsonSchema","unknown","bundle","baseFile","options","refResolver","rootDefs","defLinks","newDefs","ignoreSibling","hook","ctx","onCrawl","fullPath","currentPointer","onExit","onRef","resolvedPointer","onError","defPointer","defPath","jsonSchema","pathDefs","defName","findDefinitionName","resolvedDefs","$id","id","uniqueDefinitionName","_defPointer","_data","clone","refNodes","defPrefix","_exitHook","defs","_name","def","cycleRef","Symbol","dereferenceHook","enableCircular","fullCrawl","cycleNodes","refs","refNode","find","prevRefNode","_value","onCycle","resolved","_state","dereference","baseRef"],"mappings":"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"}