Socket
Socket
Sign inDemoInstall

json-refs

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-refs - npm Package Compare versions

Comparing version 1.1.2 to 1.2.0

42

index.js

@@ -226,2 +226,16 @@ /*

/**
* Returns whether or not the JSON Pointer is a file reference.
*
* @param {string} ptr - The JSON Pointer
*
* @returns {boolean} true if the JSON Pointer is a file or false if not
*
* @throws Error if the arguments are missing or invalid
*/
var isFilePointer = module.exports.isFilePointer = function isFilePointer (ptr) {
// The set of file pointers is a subset of the set of remote pointers without scheme prefix
return isRemotePointer(ptr) && !(/^[a-zA-Z]+:\/\//.test(ptr));
};
/**
* Takes a JSON Reference and returns an array of path segments.

@@ -427,7 +441,9 @@ *

// All references at this point should be local except missing/invalid references
_.each(findRefs(json), function (ref, refPtr) {
if (!isRemotePointer(ref)) {
replaceReference(ref, refPtr);
}
});
if (_.isUndefined(options.resolveLocalRefs) || options.resolveLocalRefs) {
_.each(findRefs(json), function (ref, refPtr) {
if (!isRemotePointer(ref)) {
replaceReference(ref, refPtr);
}
});
}

@@ -513,3 +529,8 @@ // Remove full locations from reference metadata

_.each(findRefs(json), function (ptr, refPtr) {
if (isRemotePointer(ptr)) {
// Use resolve filters from options to resolve/not resolve references
var isFilePtr = isFilePointer(ptr);
var isRemotePtr = isRemotePointer(ptr);
if ((isFilePtr && (_.isUndefined(options.resolveFileRefs) || options.resolveFileRefs)) ||
(!isFilePtr && isRemotePtr && (_.isUndefined(options.resolveRemoteRefs) || options.resolveRemoteRefs))) {
allTasks = allTasks.then(function () {

@@ -592,2 +613,5 @@ var remoteLocation = computeUrl(options.location, ptr);

* @param {string} [options.location] - The location to which relative references should be resolved
* @param {boolean} [options.resolveLocalRefs=true] - Resolve local references
* @param {boolean} [options.resolveRemoteRefs=true] - Resolve remote references
* @param {boolean} [options.resolveFileRefs=true] - Resolve file references
* @param {prepareRequestCallback} [options.prepareRequest] - The callback used to prepare an HTTP request

@@ -689,2 +713,8 @@ * @param {processContentCallback} [options.processContent] - The callback used to process a reference's content

throw new Error('options.depth must be greater or equal to zero');
} else if (!_.isUndefined(options.resolveLocalRefs) && !_.isBoolean(options.resolveLocalRefs)) {
throw new Error('options.resolveLocalRefs must be a boolean');
} else if (!_.isUndefined(options.resolveRemoteRefs) && !_.isBoolean(options.resolveRemoteRefs)) {
throw new Error('options.resolveRemoteRefs must be a boolean');
} else if (!_.isUndefined(options.resolveFileRefs) && !_.isBoolean(options.resolveFileRefs)) {
throw new Error('options.resolveFileRefs must be a boolean');
}

@@ -691,0 +721,0 @@ });

@@ -45,2 +45,6 @@ /*

module.exports.isBoolean = function (obj) {
return isType(obj, 'Boolean');
};
module.exports.isError = function (obj) {

@@ -47,0 +51,0 @@ return isType(obj, 'Error');

2

package.json
{
"name": "json-refs",
"version": "1.1.2",
"version": "1.2.0",
"description": "Various utilities for JSON References (http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03).",

@@ -5,0 +5,0 @@ "main": "index.js",

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