Socket
Socket
Sign inDemoInstall

@stoplight/json

Package Overview
Dependencies
Maintainers
23
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stoplight/json - npm Package Compare versions

Comparing version 3.10.0 to 3.10.1

2

index.cjs.js

@@ -1,1 +0,1 @@

"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var lodash=require("lodash"),jsoncParser=require("jsonc-parser"),createOrderedObject=require("@stoplight/ordered-object-literal"),createOrderedObject__default=_interopDefault(createOrderedObject),types=require("@stoplight/types"),fastStringify=_interopDefault(require("safe-stable-stringify"));const hasRef=e=>lodash.isObject(e)&&"$ref"in e&&"string"==typeof e.$ref,isLocalRef=e=>e.length>0&&"#"===e[0],replaceInString=(e,r,t)=>{const n=e.toString();let o="",i=n,s=0,a=i.indexOf(r);for(;a>-1;)o+=n.substring(s,s+a)+t,i=i.substring(a+r.length,i.length),s+=a+r.length,a=i.indexOf(r);return i.length>0&&(o+=n.substring(n.length-i.length,n.length)),o},encodePointerFragment=e=>"number"==typeof e?e:replaceInString(replaceInString(e,"~","~0"),"/","~1"),pathToPointer=e=>encodeUriFragmentIdentifier(e),encodeUriFragmentIdentifier=e=>{if(e&&"object"!=typeof e)throw new TypeError("Invalid type: path must be an array of segments.");return 0===e.length?"#":`#/${e.map(encodePointerFragment).join("/")}`},decodePointer=e=>replaceInString(replaceInString(decodeURIComponent(""+e),"~1","/"),"~0","~"),pointerToPath=e=>decodeUriFragmentIdentifier(e),decodeFragmentSegments=e=>{const r=e.length,t=[];let n=-1;for(;++n<r;)t.push(decodePointer(e[n]));return t},decodeUriFragmentIdentifier=e=>{if("string"!=typeof e)throw new TypeError("Invalid type: JSON Pointers are represented as strings.");if(0===e.length||"#"!==e[0])throw new URIError("Invalid JSON Pointer syntax; URI fragment identifiers must begin with a hash.");if(1===e.length)return[];if("/"!==e[1])throw new URIError("Invalid JSON Pointer syntax.");return decodeFragmentSegments(e.substring(2).split("/"))},traverse=(e,r,t=[])=>{if(e&&"object"==typeof e)for(const n in e)e.hasOwnProperty(n)&&(r({parent:e,parentPath:t,property:n,propertyValue:e[n]}),e[n]&&"object"==typeof e[n]&&traverse(e[n],r,t.concat(n)))},BUNDLE_ROOT="__bundled__",ERRORS_ROOT="__errors__",bundleTarget=({document:e,path:r},t)=>_bundle(lodash.cloneDeep(e),r,{[r]:!0},t),_bundle=(e,r,t,n,o={},i={},s={})=>{const a=lodash.get(e,pointerToPath(r));return traverse(n||a,({parent:n})=>{if(hasRef(n)&&isLocalRef(n.$ref)){const a=n.$ref;if(s[a])return;if(o[a])return void(n.$ref=o[a]);let c,f,p;try{c=pointerToPath(a),f=[BUNDLE_ROOT,...c],p=pathToPointer(f)}catch(e){s[a]=e.message}if(!c||!f||!p)return;const l=lodash.get(e,c);if(l){const u=[];o[a]=p,n.$ref=p;for(const r of c){u.push(r);const t=[BUNDLE_ROOT,...u];if(lodash.has(i,t))continue;const n=lodash.get(e,u);Array.isArray(n)?lodash.set(i,t,[]):"object"==typeof n&&lodash.set(i,t,{})}lodash.set(i,f,l);const d=1===f.length?i:lodash.get(i,f.slice(0,f.length-1));Array.isArray(d)&&ensureNoSparseArray(d),t[a]||(t[a]=!0,_bundle(e,r,t,l,o,i,s),t[a]=!1)}}}),lodash.set(a,BUNDLE_ROOT,i.__bundled__),Object.keys(s).length&&lodash.set(a,ERRORS_ROOT,s),a};function ensureNoSparseArray(e){for(let r=0;r<e.length;r++)r in e||(e[r]=null);return e}const decodePointerFragment=e=>replaceInString(replaceInString(e,"~1","/"),"~0","~"),encodePointer=e=>replaceInString(replaceInString(e,"~","~0"),"//","/~1"),extractPointerFromRef=e=>{if("string"!=typeof e||0===e.length)return null;const r=e.indexOf("#");return-1===r?null:e.slice(r)},extractSourceFromRef=e=>{if("string"!=typeof e||0===e.length||isLocalRef(e))return null;const r=e.indexOf("#");return-1===r?e:e.slice(0,r)},getFirstPrimitiveProperty=e=>{const r=jsoncParser.createScanner(e,!0);if(r.scan(),1!==r.getToken())return;if(r.scan(),2===r.getToken())return;if(10!==r.getToken())throw new SyntaxError("Unexpected character");const t=r.getTokenValue();if(r.scan(),6!==r.getToken())throw new SyntaxError("Colon expected");switch(r.scan(),r.getToken()){case 10:return[t,r.getTokenValue()];case 11:return[t,Number(r.getTokenValue())];case 8:return[t,!0];case 9:return[t,!1];case 7:return[t,null];case 16:throw new SyntaxError("Unexpected character");case 17:throw new SyntaxError("Unexpected end of file");default:return}},getJsonPathForPosition=({lineMap:e,ast:r},t)=>{const n=e[t.line],o=e[t.line+1];if(void 0===n)return;const i=jsoncParser.findNodeAtOffset(r,void 0===o?n+t.character:Math.min(o,n+t.character),!0);if(void 0===i)return;const s=jsoncParser.getNodePath(i);return 0!==s.length?s:void 0};function getLastPathSegment(e){return decodePointerFragment(e.split("/").pop()||"")}const getLocationForJsonPath=({lineMap:e,ast:r},t,n=!1)=>{const o=findNodeAtPath(r,t,n);if(void 0!==o&&void 0!==o.range)return{range:o.range}};function findNodeAtPath(e,r,t){e:for(const n of r){const r=Number.isInteger(Number(n))?Number(n):n;if("string"==typeof r||"number"==typeof r&&"array"!==e.type){if("object"!==e.type||!Array.isArray(e.children))return t?e:void 0;for(const t of e.children)if(Array.isArray(t.children)&&t.children[0].value===String(r)){e=t.children[1];continue e}return t?e:void 0}if("array"!==e.type||r<0||!Array.isArray(e.children)||r>=e.children.length)return t?e:void 0;e=e.children[r]}return e}const parseWithPointers=(e,r={disallowComments:!0})=>{const t=[],{ast:n,data:o,lineMap:i}=parseTree(e,t,r);return{data:o,diagnostics:t,ast:n,lineMap:i}};function parseTree(e,r=[],t){const n=computeLineMap(e);let o={type:"array",offset:-1,length:-1,children:[],parent:void 0},i=null,s=[];const a=new WeakMap,c=[];function f(e){"property"===o.type&&(o.length=e-o.offset,o=o.parent)}function p(e,r,t){return{start:{line:e,character:r},end:{line:e,character:r+t}}}function l(e){return o.children.push(e),e}function u(e){Array.isArray(s)?s.push(e):null!==i&&(s[i]=e)}function d(e){u(e),c.push(s),s=e,i=null}function g(){s=c.pop()}const h={onObjectBegin:(e,r,n,i)=>{o=l({type:"object",offset:e,length:-1,parent:o,children:[],range:p(n,i,r)}),!1===t.ignoreDuplicateKeys&&a.set(o,[]),d(createObjectLiteral(!0===t.preserveKeyOrder))},onObjectProperty:(e,n,c,f,u)=>{if((o=l({type:"property",offset:n,length:-1,parent:o,children:[]})).children.push({type:"string",value:e,offset:n,length:c,parent:o}),!1===t.ignoreDuplicateKeys){const t=a.get(o.parent);t&&(0!==t.length&&t.includes(e)?r.push({range:p(f,u,c),message:"DuplicateKey",severity:types.DiagnosticSeverity.Error,path:getJsonPath(o),code:20}):t.push(e))}!0===t.preserveKeyOrder&&swapKey(s,e),i=e},onObjectEnd:(e,r,n,i)=>{!1===t.ignoreDuplicateKeys&&a.delete(o),o.length=e+r-o.offset,o.range&&(o.range.end.line=n,o.range.end.character=i+r),o=o.parent,f(e+r),g()},onArrayBegin:(e,r,t,n)=>{o=l({type:"array",offset:e,length:-1,parent:o,children:[],range:p(t,n,r)}),d([])},onArrayEnd:(e,r,t,n)=>{o.length=e+r-o.offset,o.range&&(o.range.end.line=t,o.range.end.character=n+r),o=o.parent,f(e+r),g()},onLiteralValue:(e,r,t,n,i)=>{l({type:getLiteralNodeType(e),offset:r,length:t,parent:o,value:e,range:p(n,i,t)}),f(r+t),u(e)},onSeparator:(e,r,t)=>{"property"===o.type&&(":"===e?o.colonOffset=r:","===e&&f(r))},onError:(e,t,n,o,i)=>{r.push({range:p(o,i,n),message:jsoncParser.printParseErrorCode(e),severity:types.DiagnosticSeverity.Error,code:e})}};jsoncParser.visit(e,h,t);const y=o.children[0];return y&&delete y.parent,{ast:y,data:s[0],lineMap:n}}function getLiteralNodeType(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";default:return"null"}}const computeLineMap=e=>{const r=[0];let t=0;for(;t<e.length;t++)"\n"===e[t]&&r.push(t+1);return r.push(t+1),r};function getJsonPath(e,r=[]){return"property"===e.type&&r.unshift(e.children[0].value),void 0!==e.parent?("array"===e.parent.type&&void 0!==e.parent.parent&&r.unshift(e.parent.children.indexOf(e)),getJsonPath(e.parent,r)):r}function createObjectLiteral(e){return e?createOrderedObject__default({}):{}}function swapKey(e,r){if(!(r in e))return;const t=createOrderedObject.getOrder(e),n=t.indexOf(r);-1!==n&&(t.splice(n,1),t.push(r))}const renameObjectKey=(e,r,t)=>{if(!e||!Object.hasOwnProperty.call(e,r)||r===t)return e;const n={};for(const[o,i]of Object.entries(e))o===r?n[t]=i:o in n||(n[o]=i);return n};function isObject(e){return"object"==typeof e&&null!==e}function _resolveInlineRef(e,r,t){if(null!==extractSourceFromRef(r))throw new ReferenceError("Cannot resolve external references");const n=pointerToPath(r);let o=e;for(const i of n){if(!(isObject(o)&&i in o))throw new ReferenceError(`Could not resolve '${r}'`);if(isObject(o=o[i])&&"$ref"in o){if(t.includes(o))return t[t.length-1];if(t.push(o),"string"!=typeof o.$ref)throw new TypeError("$ref should be a string");o=_resolveInlineRef(e,o.$ref,t)}}return o}function resolveInlineRef(e,r){return _resolveInlineRef(e,r,[])}const safeParse=(e,r)=>{if("string"!=typeof e)return e;try{const t=parseNumber(e);return"string"==typeof t?t:JSON.parse(e,r)}catch(e){return}},parseNumber=e=>{const r=Number(e);return Number.isFinite(r)?String(r)===e?r:e:NaN},safeStringify=(e,r,t)=>{if("string"==typeof e)return e;try{return JSON.stringify(e,r,t)}catch(n){return fastStringify(e,r,t)}},startsWith=(e,r)=>{if(e instanceof Array){if(r instanceof Array){if(r.length>e.length)return!1;for(const t in r){if(!r.hasOwnProperty(t))continue;const n=parseInt(e[t]),o=parseInt(r[t]);if(isNaN(n)&&isNaN(o)){if(e[t]!==r[t])return!1}else if(n!==o)return!1}}}else{if("string"!=typeof e)return!1;if("string"==typeof r)return e.startsWith(r)}return!0},stringify=(e,r,t)=>{const n=safeStringify(e,r,t);if(void 0===n)throw new Error("The value could not be stringified");return n};function toPropertyPath(e){return e.replace(/^(\/|#\/)/,"").split("/").map(decodePointerFragment).map(sanitize).join(".")}function sanitize(e){return e.includes(".")?`["${e.replace(/"/g,'\\"')}"]`:e}const KEYS=Symbol.for(createOrderedObject.ORDER_KEY_ID),traps={ownKeys:e=>KEYS in e?e[KEYS]:Reflect.ownKeys(e)},trapAccess=e=>new Proxy(e,traps);function trimStart(e,r){if("string"==typeof e&&"string"==typeof r)return lodash.trimStart(e,r);if(!(e&&Array.isArray(e)&&e.length&&r&&Array.isArray(r)&&r.length))return e;let t=0;for(const n in e)if(e.hasOwnProperty(n)){if(e[n]!==r[n])break;t++}return e.slice(t)}exports.BUNDLE_ROOT=BUNDLE_ROOT,exports.ERRORS_ROOT=ERRORS_ROOT,exports.KEYS=KEYS,exports.bundleTarget=bundleTarget,exports.decodePointer=decodePointer,exports.decodePointerFragment=decodePointerFragment,exports.encodePointer=encodePointer,exports.encodePointerFragment=encodePointerFragment,exports.extractPointerFromRef=extractPointerFromRef,exports.extractSourceFromRef=extractSourceFromRef,exports.getFirstPrimitiveProperty=getFirstPrimitiveProperty,exports.getJsonPathForPosition=getJsonPathForPosition,exports.getLastPathSegment=getLastPathSegment,exports.getLocationForJsonPath=getLocationForJsonPath,exports.hasRef=hasRef,exports.isLocalRef=isLocalRef,exports.parseTree=parseTree,exports.parseWithPointers=parseWithPointers,exports.pathToPointer=pathToPointer,exports.pointerToPath=pointerToPath,exports.renameObjectKey=renameObjectKey,exports.resolveInlineRef=resolveInlineRef,exports.safeParse=safeParse,exports.safeStringify=safeStringify,exports.startsWith=startsWith,exports.stringify=stringify,exports.toPropertyPath=toPropertyPath,exports.trapAccess=trapAccess,exports.traverse=traverse,exports.trimStart=trimStart;
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var lodash=require("lodash"),jsoncParser=require("jsonc-parser"),createOrderedObject=require("@stoplight/ordered-object-literal"),createOrderedObject__default=_interopDefault(createOrderedObject),types=require("@stoplight/types"),fastStringify=_interopDefault(require("safe-stable-stringify"));const hasRef=e=>lodash.isObject(e)&&"$ref"in e&&"string"==typeof e.$ref,isLocalRef=e=>e.length>0&&"#"===e[0],replaceInString=(e,r,t)=>{const n=e.toString();let o="",i=n,s=0,a=i.indexOf(r);for(;a>-1;)o+=n.substring(s,s+a)+t,i=i.substring(a+r.length,i.length),s+=a+r.length,a=i.indexOf(r);return i.length>0&&(o+=n.substring(n.length-i.length,n.length)),o},encodePointerFragment=e=>"number"==typeof e?e:replaceInString(replaceInString(e,"~","~0"),"/","~1"),pathToPointer=e=>encodeUriFragmentIdentifier(e),encodeUriFragmentIdentifier=e=>{if(e&&"object"!=typeof e)throw new TypeError("Invalid type: path must be an array of segments.");return 0===e.length?"#":`#/${e.map(encodePointerFragment).join("/")}`},decodePointer=e=>replaceInString(replaceInString(decodeURIComponent(""+e),"~1","/"),"~0","~"),pointerToPath=e=>decodeUriFragmentIdentifier(e),decodeFragmentSegments=e=>{const r=e.length,t=[];let n=-1;for(;++n<r;)t.push(decodePointer(e[n]));return t},decodeUriFragmentIdentifier=e=>{if("string"!=typeof e)throw new TypeError("Invalid type: JSON Pointers are represented as strings.");if(0===e.length||"#"!==e[0])throw new URIError("Invalid JSON Pointer syntax; URI fragment identifiers must begin with a hash.");if(1===e.length)return[];if("/"!==e[1])throw new URIError("Invalid JSON Pointer syntax.");return decodeFragmentSegments(e.substring(2).split("/"))},traverse=(e,r,t=[])=>{if(e&&"object"==typeof e)for(const n in e)e.hasOwnProperty(n)&&(r({parent:e,parentPath:t,property:n,propertyValue:e[n]}),e[n]&&"object"==typeof e[n]&&traverse(e[n],r,t.concat(n)))},BUNDLE_ROOT="__bundled__",ERRORS_ROOT="__errors__",bundleTarget=({document:e,path:r},t)=>_bundle(lodash.cloneDeep(e),r,{[r]:!0},t),_bundle=(e,r,t,n,o={},i={},s={})=>{const a=lodash.get(e,pointerToPath(r));return traverse(n||a,({parent:n})=>{if(hasRef(n)&&isLocalRef(n.$ref)){const a=n.$ref;if(s[a])return;if(o[a])return void(n.$ref=o[a]);let c,f,p;try{c=pointerToPath(a),f=[BUNDLE_ROOT,...c],p=pathToPointer(f)}catch(e){s[a]=e.message}if(!c||!f||!p)return;const l=lodash.get(e,c);if(l){const u=[];o[a]=p,n.$ref=p;for(const r of c){u.push(r);const t=[BUNDLE_ROOT,...u];if(lodash.has(i,t))continue;const n=lodash.get(e,u);Array.isArray(n)?lodash.set(i,t,new Array(n.length).fill(null)):"object"==typeof n&&lodash.set(i,t,{})}lodash.set(i,f,l),t[a]||(t[a]=!0,_bundle(e,r,t,l,o,i,s),t[a]=!1)}}}),lodash.set(a,BUNDLE_ROOT,i.__bundled__),Object.keys(s).length&&lodash.set(a,ERRORS_ROOT,s),a},decodePointerFragment=e=>replaceInString(replaceInString(e,"~1","/"),"~0","~"),encodePointer=e=>replaceInString(replaceInString(e,"~","~0"),"//","/~1"),extractPointerFromRef=e=>{if("string"!=typeof e||0===e.length)return null;const r=e.indexOf("#");return-1===r?null:e.slice(r)},extractSourceFromRef=e=>{if("string"!=typeof e||0===e.length||isLocalRef(e))return null;const r=e.indexOf("#");return-1===r?e:e.slice(0,r)},getFirstPrimitiveProperty=e=>{const r=jsoncParser.createScanner(e,!0);if(r.scan(),1!==r.getToken())return;if(r.scan(),2===r.getToken())return;if(10!==r.getToken())throw new SyntaxError("Unexpected character");const t=r.getTokenValue();if(r.scan(),6!==r.getToken())throw new SyntaxError("Colon expected");switch(r.scan(),r.getToken()){case 10:return[t,r.getTokenValue()];case 11:return[t,Number(r.getTokenValue())];case 8:return[t,!0];case 9:return[t,!1];case 7:return[t,null];case 16:throw new SyntaxError("Unexpected character");case 17:throw new SyntaxError("Unexpected end of file");default:return}},getJsonPathForPosition=({lineMap:e,ast:r},t)=>{const n=e[t.line],o=e[t.line+1];if(void 0===n)return;const i=jsoncParser.findNodeAtOffset(r,void 0===o?n+t.character:Math.min(o,n+t.character),!0);if(void 0===i)return;const s=jsoncParser.getNodePath(i);return 0!==s.length?s:void 0};function getLastPathSegment(e){return decodePointerFragment(e.split("/").pop()||"")}const getLocationForJsonPath=({lineMap:e,ast:r},t,n=!1)=>{const o=findNodeAtPath(r,t,n);if(void 0!==o&&void 0!==o.range)return{range:o.range}};function findNodeAtPath(e,r,t){e:for(const n of r){const r=Number.isInteger(Number(n))?Number(n):n;if("string"==typeof r||"number"==typeof r&&"array"!==e.type){if("object"!==e.type||!Array.isArray(e.children))return t?e:void 0;for(const t of e.children)if(Array.isArray(t.children)&&t.children[0].value===String(r)){e=t.children[1];continue e}return t?e:void 0}if("array"!==e.type||r<0||!Array.isArray(e.children)||r>=e.children.length)return t?e:void 0;e=e.children[r]}return e}const parseWithPointers=(e,r={disallowComments:!0})=>{const t=[],{ast:n,data:o,lineMap:i}=parseTree(e,t,r);return{data:o,diagnostics:t,ast:n,lineMap:i}};function parseTree(e,r=[],t){const n=computeLineMap(e);let o={type:"array",offset:-1,length:-1,children:[],parent:void 0},i=null,s=[];const a=new WeakMap,c=[];function f(e){"property"===o.type&&(o.length=e-o.offset,o=o.parent)}function p(e,r,t){return{start:{line:e,character:r},end:{line:e,character:r+t}}}function l(e){return o.children.push(e),e}function u(e){Array.isArray(s)?s.push(e):null!==i&&(s[i]=e)}function d(e){u(e),c.push(s),s=e,i=null}function g(){s=c.pop()}const h={onObjectBegin:(e,r,n,i)=>{o=l({type:"object",offset:e,length:-1,parent:o,children:[],range:p(n,i,r)}),!1===t.ignoreDuplicateKeys&&a.set(o,[]),d(createObjectLiteral(!0===t.preserveKeyOrder))},onObjectProperty:(e,n,c,f,u)=>{if((o=l({type:"property",offset:n,length:-1,parent:o,children:[]})).children.push({type:"string",value:e,offset:n,length:c,parent:o}),!1===t.ignoreDuplicateKeys){const t=a.get(o.parent);t&&(0!==t.length&&t.includes(e)?r.push({range:p(f,u,c),message:"DuplicateKey",severity:types.DiagnosticSeverity.Error,path:getJsonPath(o),code:20}):t.push(e))}!0===t.preserveKeyOrder&&swapKey(s,e),i=e},onObjectEnd:(e,r,n,i)=>{!1===t.ignoreDuplicateKeys&&a.delete(o),o.length=e+r-o.offset,o.range&&(o.range.end.line=n,o.range.end.character=i+r),o=o.parent,f(e+r),g()},onArrayBegin:(e,r,t,n)=>{o=l({type:"array",offset:e,length:-1,parent:o,children:[],range:p(t,n,r)}),d([])},onArrayEnd:(e,r,t,n)=>{o.length=e+r-o.offset,o.range&&(o.range.end.line=t,o.range.end.character=n+r),o=o.parent,f(e+r),g()},onLiteralValue:(e,r,t,n,i)=>{l({type:getLiteralNodeType(e),offset:r,length:t,parent:o,value:e,range:p(n,i,t)}),f(r+t),u(e)},onSeparator:(e,r,t)=>{"property"===o.type&&(":"===e?o.colonOffset=r:","===e&&f(r))},onError:(e,t,n,o,i)=>{r.push({range:p(o,i,n),message:jsoncParser.printParseErrorCode(e),severity:types.DiagnosticSeverity.Error,code:e})}};jsoncParser.visit(e,h,t);const y=o.children[0];return y&&delete y.parent,{ast:y,data:s[0],lineMap:n}}function getLiteralNodeType(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";default:return"null"}}const computeLineMap=e=>{const r=[0];let t=0;for(;t<e.length;t++)"\n"===e[t]&&r.push(t+1);return r.push(t+1),r};function getJsonPath(e,r=[]){return"property"===e.type&&r.unshift(e.children[0].value),void 0!==e.parent?("array"===e.parent.type&&void 0!==e.parent.parent&&r.unshift(e.parent.children.indexOf(e)),getJsonPath(e.parent,r)):r}function createObjectLiteral(e){return e?createOrderedObject__default({}):{}}function swapKey(e,r){if(!(r in e))return;const t=createOrderedObject.getOrder(e),n=t.indexOf(r);-1!==n&&(t.splice(n,1),t.push(r))}const renameObjectKey=(e,r,t)=>{if(!e||!Object.hasOwnProperty.call(e,r)||r===t)return e;const n={};for(const[o,i]of Object.entries(e))o===r?n[t]=i:o in n||(n[o]=i);return n};function isObject(e){return"object"==typeof e&&null!==e}function _resolveInlineRef(e,r,t){if(null!==extractSourceFromRef(r))throw new ReferenceError("Cannot resolve external references");const n=pointerToPath(r);let o=e;for(const i of n){if(!(isObject(o)&&i in o))throw new ReferenceError(`Could not resolve '${r}'`);if(isObject(o=o[i])&&"$ref"in o){if(t.includes(o))return t[t.length-1];if(t.push(o),"string"!=typeof o.$ref)throw new TypeError("$ref should be a string");o=_resolveInlineRef(e,o.$ref,t)}}return o}function resolveInlineRef(e,r){return _resolveInlineRef(e,r,[])}const safeParse=(e,r)=>{if("string"!=typeof e)return e;try{const t=parseNumber(e);return"string"==typeof t?t:JSON.parse(e,r)}catch(e){return}},parseNumber=e=>{const r=Number(e);return Number.isFinite(r)?String(r)===e?r:e:NaN},safeStringify=(e,r,t)=>{if("string"==typeof e)return e;try{return JSON.stringify(e,r,t)}catch(n){return fastStringify(e,r,t)}},startsWith=(e,r)=>{if(e instanceof Array){if(r instanceof Array){if(r.length>e.length)return!1;for(const t in r){if(!r.hasOwnProperty(t))continue;const n=parseInt(e[t]),o=parseInt(r[t]);if(isNaN(n)&&isNaN(o)){if(e[t]!==r[t])return!1}else if(n!==o)return!1}}}else{if("string"!=typeof e)return!1;if("string"==typeof r)return e.startsWith(r)}return!0},stringify=(e,r,t)=>{const n=safeStringify(e,r,t);if(void 0===n)throw new Error("The value could not be stringified");return n};function toPropertyPath(e){return e.replace(/^(\/|#\/)/,"").split("/").map(decodePointerFragment).map(sanitize).join(".")}function sanitize(e){return e.includes(".")?`["${e.replace(/"/g,'\\"')}"]`:e}const KEYS=Symbol.for(createOrderedObject.ORDER_KEY_ID),traps={ownKeys:e=>KEYS in e?e[KEYS]:Reflect.ownKeys(e)},trapAccess=e=>new Proxy(e,traps);function trimStart(e,r){if("string"==typeof e&&"string"==typeof r)return lodash.trimStart(e,r);if(!(e&&Array.isArray(e)&&e.length&&r&&Array.isArray(r)&&r.length))return e;let t=0;for(const n in e)if(e.hasOwnProperty(n)){if(e[n]!==r[n])break;t++}return e.slice(t)}exports.BUNDLE_ROOT=BUNDLE_ROOT,exports.ERRORS_ROOT=ERRORS_ROOT,exports.KEYS=KEYS,exports.bundleTarget=bundleTarget,exports.decodePointer=decodePointer,exports.decodePointerFragment=decodePointerFragment,exports.encodePointer=encodePointer,exports.encodePointerFragment=encodePointerFragment,exports.extractPointerFromRef=extractPointerFromRef,exports.extractSourceFromRef=extractSourceFromRef,exports.getFirstPrimitiveProperty=getFirstPrimitiveProperty,exports.getJsonPathForPosition=getJsonPathForPosition,exports.getLastPathSegment=getLastPathSegment,exports.getLocationForJsonPath=getLocationForJsonPath,exports.hasRef=hasRef,exports.isLocalRef=isLocalRef,exports.parseTree=parseTree,exports.parseWithPointers=parseWithPointers,exports.pathToPointer=pathToPointer,exports.pointerToPath=pointerToPath,exports.renameObjectKey=renameObjectKey,exports.resolveInlineRef=resolveInlineRef,exports.safeParse=safeParse,exports.safeStringify=safeStringify,exports.startsWith=startsWith,exports.stringify=stringify,exports.toPropertyPath=toPropertyPath,exports.trapAccess=trapAccess,exports.traverse=traverse,exports.trimStart=trimStart;

@@ -1,1 +0,1 @@

import{isObject as e,cloneDeep as r,get as n,has as t,set as o,trimStart as i}from"lodash";import{createScanner as s,findNodeAtOffset as a,getNodePath as c,visit as f,printParseErrorCode as l}from"jsonc-parser";import u,{getOrder as p,ORDER_KEY_ID as h}from"@stoplight/ordered-object-literal";import{DiagnosticSeverity as g}from"@stoplight/types";import y from"safe-stable-stringify";const d=r=>e(r)&&"$ref"in r&&"string"==typeof r.$ref,b=e=>e.length>0&&"#"===e[0],m=(e,r,n)=>{const t=e.toString();let o="",i=t,s=0,a=i.indexOf(r);for(;a>-1;)o+=t.substring(s,s+a)+n,i=i.substring(a+r.length,i.length),s+=a+r.length,a=i.indexOf(r);return i.length>0&&(o+=t.substring(t.length-i.length,t.length)),o},w=e=>"number"==typeof e?e:m(m(e,"~","~0"),"/","~1"),v=e=>_(e),_=e=>{if(e&&"object"!=typeof e)throw new TypeError("Invalid type: path must be an array of segments.");return 0===e.length?"#":`#/${e.map(w).join("/")}`},O=e=>m(m(decodeURIComponent(""+e),"~1","/"),"~0","~"),A=e=>x(e),x=e=>{if("string"!=typeof e)throw new TypeError("Invalid type: JSON Pointers are represented as strings.");if(0===e.length||"#"!==e[0])throw new URIError("Invalid JSON Pointer syntax; URI fragment identifiers must begin with a hash.");if(1===e.length)return[];if("/"!==e[1])throw new URIError("Invalid JSON Pointer syntax.");return(e=>{const r=e.length,n=[];let t=-1;for(;++t<r;)n.push(O(e[t]));return n})(e.substring(2).split("/"))},j=(e,r,n=[])=>{if(e&&"object"==typeof e)for(const t in e)e.hasOwnProperty(t)&&(r({parent:e,parentPath:n,property:t,propertyValue:e[t]}),e[t]&&"object"==typeof e[t]&&j(e[t],r,n.concat(t)))},E="__bundled__",N="__errors__",S=({document:e,path:n},t)=>$(r(e),n,{[n]:!0},t),$=(e,r,i,s,a={},c={},f={})=>{const l=n(e,A(r));return j(s||l,({parent:s})=>{if(d(s)&&b(s.$ref)){const l=s.$ref;if(f[l])return;if(a[l])return void(s.$ref=a[l]);let u,p,h;try{u=A(l),p=["__bundled__",...u],h=v(p)}catch(e){f[l]=e.message}if(!u||!p||!h)return;const g=n(e,u);if(g){const y=[];a[l]=h,s.$ref=h;for(const r of u){y.push(r);const i=["__bundled__",...y];if(t(c,i))continue;const s=n(e,y);Array.isArray(s)?o(c,i,[]):"object"==typeof s&&o(c,i,{})}o(c,p,g);const d=1===p.length?c:n(c,p.slice(0,p.length-1));Array.isArray(d)&&function(e){for(let r=0;r<e.length;r++)r in e||(e[r]=null)}(d),i[l]||(i[l]=!0,$(e,r,i,g,a,c,f),i[l]=!1)}}}),o(l,"__bundled__",c.__bundled__),Object.keys(f).length&&o(l,"__errors__",f),l};const T=e=>m(m(e,"~1","/"),"~0","~"),k=e=>m(m(e,"~","~0"),"//","/~1"),I=e=>{if("string"!=typeof e||0===e.length)return null;const r=e.indexOf("#");return-1===r?null:e.slice(r)},P=e=>{if("string"!=typeof e||0===e.length||b(e))return null;const r=e.indexOf("#");return-1===r?e:e.slice(0,r)},K=e=>{const r=s(e,!0);if(r.scan(),1!==r.getToken())return;if(r.scan(),2===r.getToken())return;if(10!==r.getToken())throw new SyntaxError("Unexpected character");const n=r.getTokenValue();if(r.scan(),6!==r.getToken())throw new SyntaxError("Colon expected");switch(r.scan(),r.getToken()){case 10:return[n,r.getTokenValue()];case 11:return[n,Number(r.getTokenValue())];case 8:return[n,!0];case 9:return[n,!1];case 7:return[n,null];case 16:throw new SyntaxError("Unexpected character");case 17:throw new SyntaxError("Unexpected end of file");default:return}},M=({lineMap:e,ast:r},n)=>{const t=e[n.line],o=e[n.line+1];if(void 0===t)return;const i=a(r,void 0===o?t+n.character:Math.min(o,t+n.character),!0);if(void 0===i)return;const s=c(i);return 0!==s.length?s:void 0};function R(e){return T(e.split("/").pop()||"")}const U=({lineMap:e,ast:r},n,t=!1)=>{const o=function(e,r,n){e:for(const t of r){const r=Number.isInteger(Number(t))?Number(t):t;if("string"==typeof r||"number"==typeof r&&"array"!==e.type){if("object"!==e.type||!Array.isArray(e.children))return n?e:void 0;for(const n of e.children)if(Array.isArray(n.children)&&n.children[0].value===String(r)){e=n.children[1];continue e}return n?e:void 0}if("array"!==e.type||r<0||!Array.isArray(e.children)||r>=e.children.length)return n?e:void 0;e=e.children[r]}return e}(r,n,t);if(void 0!==o&&void 0!==o.range)return{range:o.range}};const C=(e,r={disallowComments:!0})=>{const n=[],{ast:t,data:o,lineMap:i}=J(e,n,r);return{data:o,diagnostics:n,ast:t,lineMap:i}};function J(e,r=[],n){const t=D(e);let o={type:"array",offset:-1,length:-1,children:[],parent:void 0},i=null,s=[];const a=new WeakMap,c=[];function h(e){"property"===o.type&&(o.length=e-o.offset,o=o.parent)}function y(e,r,n){return{start:{line:e,character:r},end:{line:e,character:r+n}}}function d(e){return o.children.push(e),e}function b(e){Array.isArray(s)?s.push(e):null!==i&&(s[i]=e)}function m(e){b(e),c.push(s),s=e,i=null}function w(){s=c.pop()}f(e,{onObjectBegin:(e,r,t,i)=>{o=d({type:"object",offset:e,length:-1,parent:o,children:[],range:y(t,i,r)}),!1===n.ignoreDuplicateKeys&&a.set(o,[]),m(function(e){return e?u({}):{}}(!0===n.preserveKeyOrder))},onObjectProperty:(e,t,c,f,l)=>{if((o=d({type:"property",offset:t,length:-1,parent:o,children:[]})).children.push({type:"string",value:e,offset:t,length:c,parent:o}),!1===n.ignoreDuplicateKeys){const n=a.get(o.parent);n&&(0!==n.length&&n.includes(e)?r.push({range:y(f,l,c),message:"DuplicateKey",severity:g.Error,path:B(o),code:20}):n.push(e))}!0===n.preserveKeyOrder&&function(e,r){if(!(r in e))return;const n=p(e),t=n.indexOf(r);-1!==t&&(n.splice(t,1),n.push(r))}(s,e),i=e},onObjectEnd:(e,r,t,i)=>{!1===n.ignoreDuplicateKeys&&a.delete(o),o.length=e+r-o.offset,o.range&&(o.range.end.line=t,o.range.end.character=i+r),o=o.parent,h(e+r),w()},onArrayBegin:(e,r,n,t)=>{o=d({type:"array",offset:e,length:-1,parent:o,children:[],range:y(n,t,r)}),m([])},onArrayEnd:(e,r,n,t)=>{o.length=e+r-o.offset,o.range&&(o.range.end.line=n,o.range.end.character=t+r),o=o.parent,h(e+r),w()},onLiteralValue:(e,r,n,t,i)=>{d({type:V(e),offset:r,length:n,parent:o,value:e,range:y(t,i,n)}),h(r+n),b(e)},onSeparator:(e,r,n)=>{"property"===o.type&&(":"===e?o.colonOffset=r:","===e&&h(r))},onError:(e,n,t,o,i)=>{r.push({range:y(o,i,t),message:l(e),severity:g.Error,code:e})}},n);const v=o.children[0];return v&&delete v.parent,{ast:v,data:s[0],lineMap:t}}function V(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";default:return"null"}}const D=e=>{const r=[0];let n=0;for(;n<e.length;n++)"\n"===e[n]&&r.push(n+1);return r.push(n+1),r};function B(e,r=[]){return"property"===e.type&&r.unshift(e.children[0].value),void 0!==e.parent?("array"===e.parent.type&&void 0!==e.parent.parent&&r.unshift(e.parent.children.indexOf(e)),B(e.parent,r)):r}const W=(e,r,n)=>{if(!e||!Object.hasOwnProperty.call(e,r)||r===n)return e;const t={};for(const[o,i]of Object.entries(e))o===r?t[n]=i:o in t||(t[o]=i);return t};function F(e){return"object"==typeof e&&null!==e}function L(e,r){return function e(r,n,t){if(null!==P(n))throw new ReferenceError("Cannot resolve external references");const o=A(n);let i=r;for(const s of o){if(!(F(i)&&s in i))throw new ReferenceError(`Could not resolve '${n}'`);if(F(i=i[s])&&"$ref"in i){if(t.includes(i))return t[t.length-1];if(t.push(i),"string"!=typeof i.$ref)throw new TypeError("$ref should be a string");i=e(r,i.$ref,t)}}return i}(e,r,[])}const q=(e,r)=>{if("string"!=typeof e)return e;try{const n=z(e);return"string"==typeof n?n:JSON.parse(e,r)}catch(e){return}},z=e=>{const r=Number(e);return Number.isFinite(r)?String(r)===e?r:e:NaN},G=(e,r,n)=>{if("string"==typeof e)return e;try{return JSON.stringify(e,r,n)}catch(t){return y(e,r,n)}},H=(e,r)=>{if(e instanceof Array){if(r instanceof Array){if(r.length>e.length)return!1;for(const n in r){if(!r.hasOwnProperty(n))continue;const t=parseInt(e[n]),o=parseInt(r[n]);if(isNaN(t)&&isNaN(o)){if(e[n]!==r[n])return!1}else if(t!==o)return!1}}}else{if("string"!=typeof e)return!1;if("string"==typeof r)return e.startsWith(r)}return!0},Q=(e,r,n)=>{const t=G(e,r,n);if(void 0===t)throw new Error("The value could not be stringified");return t};function X(e){return e.replace(/^(\/|#\/)/,"").split("/").map(T).map(Y).join(".")}function Y(e){return e.includes(".")?`["${e.replace(/"/g,'\\"')}"]`:e}const Z=Symbol.for(h),ee={ownKeys:e=>Z in e?e[Z]:Reflect.ownKeys(e)},re=e=>new Proxy(e,ee);function ne(e,r){if("string"==typeof e&&"string"==typeof r)return i(e,r);if(!(e&&Array.isArray(e)&&e.length&&r&&Array.isArray(r)&&r.length))return e;let n=0;for(const t in e)if(e.hasOwnProperty(t)){if(e[t]!==r[t])break;n++}return e.slice(n)}export{E as BUNDLE_ROOT,N as ERRORS_ROOT,Z as KEYS,S as bundleTarget,O as decodePointer,T as decodePointerFragment,k as encodePointer,w as encodePointerFragment,I as extractPointerFromRef,P as extractSourceFromRef,K as getFirstPrimitiveProperty,M as getJsonPathForPosition,R as getLastPathSegment,U as getLocationForJsonPath,d as hasRef,b as isLocalRef,J as parseTree,C as parseWithPointers,v as pathToPointer,A as pointerToPath,W as renameObjectKey,L as resolveInlineRef,q as safeParse,G as safeStringify,H as startsWith,Q as stringify,X as toPropertyPath,re as trapAccess,j as traverse,ne as trimStart};
import{isObject as e,cloneDeep as r,get as n,has as t,set as o,trimStart as i}from"lodash";import{createScanner as s,findNodeAtOffset as a,getNodePath as c,visit as f,printParseErrorCode as u}from"jsonc-parser";import l,{getOrder as p,ORDER_KEY_ID as h}from"@stoplight/ordered-object-literal";import{DiagnosticSeverity as g}from"@stoplight/types";import y from"safe-stable-stringify";const d=r=>e(r)&&"$ref"in r&&"string"==typeof r.$ref,b=e=>e.length>0&&"#"===e[0],m=(e,r,n)=>{const t=e.toString();let o="",i=t,s=0,a=i.indexOf(r);for(;a>-1;)o+=t.substring(s,s+a)+n,i=i.substring(a+r.length,i.length),s+=a+r.length,a=i.indexOf(r);return i.length>0&&(o+=t.substring(t.length-i.length,t.length)),o},w=e=>"number"==typeof e?e:m(m(e,"~","~0"),"/","~1"),v=e=>_(e),_=e=>{if(e&&"object"!=typeof e)throw new TypeError("Invalid type: path must be an array of segments.");return 0===e.length?"#":`#/${e.map(w).join("/")}`},O=e=>m(m(decodeURIComponent(""+e),"~1","/"),"~0","~"),x=e=>A(e),A=e=>{if("string"!=typeof e)throw new TypeError("Invalid type: JSON Pointers are represented as strings.");if(0===e.length||"#"!==e[0])throw new URIError("Invalid JSON Pointer syntax; URI fragment identifiers must begin with a hash.");if(1===e.length)return[];if("/"!==e[1])throw new URIError("Invalid JSON Pointer syntax.");return(e=>{const r=e.length,n=[];let t=-1;for(;++t<r;)n.push(O(e[t]));return n})(e.substring(2).split("/"))},j=(e,r,n=[])=>{if(e&&"object"==typeof e)for(const t in e)e.hasOwnProperty(t)&&(r({parent:e,parentPath:n,property:t,propertyValue:e[t]}),e[t]&&"object"==typeof e[t]&&j(e[t],r,n.concat(t)))},E="__bundled__",N="__errors__",S=({document:e,path:n},t)=>$(r(e),n,{[n]:!0},t),$=(e,r,i,s,a={},c={},f={})=>{const u=n(e,x(r));return j(s||u,({parent:s})=>{if(d(s)&&b(s.$ref)){const u=s.$ref;if(f[u])return;if(a[u])return void(s.$ref=a[u]);let l,p,h;try{l=x(u),p=["__bundled__",...l],h=v(p)}catch(e){f[u]=e.message}if(!l||!p||!h)return;const g=n(e,l);if(g){const y=[];a[u]=h,s.$ref=h;for(const r of l){y.push(r);const i=["__bundled__",...y];if(t(c,i))continue;const s=n(e,y);Array.isArray(s)?o(c,i,new Array(s.length).fill(null)):"object"==typeof s&&o(c,i,{})}o(c,p,g),i[u]||(i[u]=!0,$(e,r,i,g,a,c,f),i[u]=!1)}}}),o(u,"__bundled__",c.__bundled__),Object.keys(f).length&&o(u,"__errors__",f),u},T=e=>m(m(e,"~1","/"),"~0","~"),k=e=>m(m(e,"~","~0"),"//","/~1"),I=e=>{if("string"!=typeof e||0===e.length)return null;const r=e.indexOf("#");return-1===r?null:e.slice(r)},P=e=>{if("string"!=typeof e||0===e.length||b(e))return null;const r=e.indexOf("#");return-1===r?e:e.slice(0,r)},K=e=>{const r=s(e,!0);if(r.scan(),1!==r.getToken())return;if(r.scan(),2===r.getToken())return;if(10!==r.getToken())throw new SyntaxError("Unexpected character");const n=r.getTokenValue();if(r.scan(),6!==r.getToken())throw new SyntaxError("Colon expected");switch(r.scan(),r.getToken()){case 10:return[n,r.getTokenValue()];case 11:return[n,Number(r.getTokenValue())];case 8:return[n,!0];case 9:return[n,!1];case 7:return[n,null];case 16:throw new SyntaxError("Unexpected character");case 17:throw new SyntaxError("Unexpected end of file");default:return}},M=({lineMap:e,ast:r},n)=>{const t=e[n.line],o=e[n.line+1];if(void 0===t)return;const i=a(r,void 0===o?t+n.character:Math.min(o,t+n.character),!0);if(void 0===i)return;const s=c(i);return 0!==s.length?s:void 0};function R(e){return T(e.split("/").pop()||"")}const U=({lineMap:e,ast:r},n,t=!1)=>{const o=function(e,r,n){e:for(const t of r){const r=Number.isInteger(Number(t))?Number(t):t;if("string"==typeof r||"number"==typeof r&&"array"!==e.type){if("object"!==e.type||!Array.isArray(e.children))return n?e:void 0;for(const n of e.children)if(Array.isArray(n.children)&&n.children[0].value===String(r)){e=n.children[1];continue e}return n?e:void 0}if("array"!==e.type||r<0||!Array.isArray(e.children)||r>=e.children.length)return n?e:void 0;e=e.children[r]}return e}(r,n,t);if(void 0!==o&&void 0!==o.range)return{range:o.range}};const C=(e,r={disallowComments:!0})=>{const n=[],{ast:t,data:o,lineMap:i}=J(e,n,r);return{data:o,diagnostics:n,ast:t,lineMap:i}};function J(e,r=[],n){const t=D(e);let o={type:"array",offset:-1,length:-1,children:[],parent:void 0},i=null,s=[];const a=new WeakMap,c=[];function h(e){"property"===o.type&&(o.length=e-o.offset,o=o.parent)}function y(e,r,n){return{start:{line:e,character:r},end:{line:e,character:r+n}}}function d(e){return o.children.push(e),e}function b(e){Array.isArray(s)?s.push(e):null!==i&&(s[i]=e)}function m(e){b(e),c.push(s),s=e,i=null}function w(){s=c.pop()}f(e,{onObjectBegin:(e,r,t,i)=>{o=d({type:"object",offset:e,length:-1,parent:o,children:[],range:y(t,i,r)}),!1===n.ignoreDuplicateKeys&&a.set(o,[]),m(function(e){return e?l({}):{}}(!0===n.preserveKeyOrder))},onObjectProperty:(e,t,c,f,u)=>{if((o=d({type:"property",offset:t,length:-1,parent:o,children:[]})).children.push({type:"string",value:e,offset:t,length:c,parent:o}),!1===n.ignoreDuplicateKeys){const n=a.get(o.parent);n&&(0!==n.length&&n.includes(e)?r.push({range:y(f,u,c),message:"DuplicateKey",severity:g.Error,path:B(o),code:20}):n.push(e))}!0===n.preserveKeyOrder&&function(e,r){if(!(r in e))return;const n=p(e),t=n.indexOf(r);-1!==t&&(n.splice(t,1),n.push(r))}(s,e),i=e},onObjectEnd:(e,r,t,i)=>{!1===n.ignoreDuplicateKeys&&a.delete(o),o.length=e+r-o.offset,o.range&&(o.range.end.line=t,o.range.end.character=i+r),o=o.parent,h(e+r),w()},onArrayBegin:(e,r,n,t)=>{o=d({type:"array",offset:e,length:-1,parent:o,children:[],range:y(n,t,r)}),m([])},onArrayEnd:(e,r,n,t)=>{o.length=e+r-o.offset,o.range&&(o.range.end.line=n,o.range.end.character=t+r),o=o.parent,h(e+r),w()},onLiteralValue:(e,r,n,t,i)=>{d({type:V(e),offset:r,length:n,parent:o,value:e,range:y(t,i,n)}),h(r+n),b(e)},onSeparator:(e,r,n)=>{"property"===o.type&&(":"===e?o.colonOffset=r:","===e&&h(r))},onError:(e,n,t,o,i)=>{r.push({range:y(o,i,t),message:u(e),severity:g.Error,code:e})}},n);const v=o.children[0];return v&&delete v.parent,{ast:v,data:s[0],lineMap:t}}function V(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";default:return"null"}}const D=e=>{const r=[0];let n=0;for(;n<e.length;n++)"\n"===e[n]&&r.push(n+1);return r.push(n+1),r};function B(e,r=[]){return"property"===e.type&&r.unshift(e.children[0].value),void 0!==e.parent?("array"===e.parent.type&&void 0!==e.parent.parent&&r.unshift(e.parent.children.indexOf(e)),B(e.parent,r)):r}const W=(e,r,n)=>{if(!e||!Object.hasOwnProperty.call(e,r)||r===n)return e;const t={};for(const[o,i]of Object.entries(e))o===r?t[n]=i:o in t||(t[o]=i);return t};function F(e){return"object"==typeof e&&null!==e}function L(e,r){return function e(r,n,t){if(null!==P(n))throw new ReferenceError("Cannot resolve external references");const o=x(n);let i=r;for(const s of o){if(!(F(i)&&s in i))throw new ReferenceError(`Could not resolve '${n}'`);if(F(i=i[s])&&"$ref"in i){if(t.includes(i))return t[t.length-1];if(t.push(i),"string"!=typeof i.$ref)throw new TypeError("$ref should be a string");i=e(r,i.$ref,t)}}return i}(e,r,[])}const q=(e,r)=>{if("string"!=typeof e)return e;try{const n=z(e);return"string"==typeof n?n:JSON.parse(e,r)}catch(e){return}},z=e=>{const r=Number(e);return Number.isFinite(r)?String(r)===e?r:e:NaN},G=(e,r,n)=>{if("string"==typeof e)return e;try{return JSON.stringify(e,r,n)}catch(t){return y(e,r,n)}},H=(e,r)=>{if(e instanceof Array){if(r instanceof Array){if(r.length>e.length)return!1;for(const n in r){if(!r.hasOwnProperty(n))continue;const t=parseInt(e[n]),o=parseInt(r[n]);if(isNaN(t)&&isNaN(o)){if(e[n]!==r[n])return!1}else if(t!==o)return!1}}}else{if("string"!=typeof e)return!1;if("string"==typeof r)return e.startsWith(r)}return!0},Q=(e,r,n)=>{const t=G(e,r,n);if(void 0===t)throw new Error("The value could not be stringified");return t};function X(e){return e.replace(/^(\/|#\/)/,"").split("/").map(T).map(Y).join(".")}function Y(e){return e.includes(".")?`["${e.replace(/"/g,'\\"')}"]`:e}const Z=Symbol.for(h),ee={ownKeys:e=>Z in e?e[Z]:Reflect.ownKeys(e)},re=e=>new Proxy(e,ee);function ne(e,r){if("string"==typeof e&&"string"==typeof r)return i(e,r);if(!(e&&Array.isArray(e)&&e.length&&r&&Array.isArray(r)&&r.length))return e;let n=0;for(const t in e)if(e.hasOwnProperty(t)){if(e[t]!==r[t])break;n++}return e.slice(n)}export{E as BUNDLE_ROOT,N as ERRORS_ROOT,Z as KEYS,S as bundleTarget,O as decodePointer,T as decodePointerFragment,k as encodePointer,w as encodePointerFragment,I as extractPointerFromRef,P as extractSourceFromRef,K as getFirstPrimitiveProperty,M as getJsonPathForPosition,R as getLastPathSegment,U as getLocationForJsonPath,d as hasRef,b as isLocalRef,J as parseTree,C as parseWithPointers,v as pathToPointer,x as pointerToPath,W as renameObjectKey,L as resolveInlineRef,q as safeParse,G as safeStringify,H as startsWith,Q as stringify,X as toPropertyPath,re as trapAccess,j as traverse,ne as trimStart};
{
"name": "@stoplight/json",
"version": "3.10.0",
"version": "3.10.1",
"description": "Useful functions when working with JSON.",

@@ -5,0 +5,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc