gson-query
Advanced tools
Comparing version 1.2.2 to 2.0.0
@@ -1,5 +0,16 @@ | ||
var stripPointerPrefix = require("gson-pointer/lib/common").stripPointerPrefix; | ||
var rIsRegExp = /^\{.*\}$/; | ||
/** | ||
* Removes root prefix of pointer | ||
* | ||
* @param {String} pointer | ||
* @return {String} simple pointer path | ||
*/ | ||
function stripPointerPrefix(pointer) { | ||
pointer = pointer.toString(); | ||
return pointer.replace(/[#/]*/, ""); | ||
} | ||
function convertToRegExp(pointerPartial) { | ||
@@ -6,0 +17,0 @@ return new RegExp(pointerPartial.replace(/^\{|\}$/g, "")); |
@@ -1,2 +0,2 @@ | ||
var pointerDelete = require("gson-pointer/lib/delete"); | ||
var pointerDelete = require("gson-pointer").delete; | ||
var removeUndefinedItems = require("gson-pointer/lib/removeUndefinedItems"); | ||
@@ -3,0 +3,0 @@ var queryGet = require("./get"); |
@@ -6,7 +6,2 @@ var o = require("gson-conform"); | ||
var f = { | ||
query: function (query) { | ||
return function (item) { | ||
return valid(item, query); | ||
}; | ||
}, | ||
queryKey: function (obj, query) { | ||
@@ -123,3 +118,3 @@ return function (key) { | ||
value = (truthy ? (value === obj[key]) : (value !== obj[key])); | ||
value = (truthy ? (value === obj[key]) : (value !== obj[key] && (obj[key] !== undefined || key === undefined))); | ||
@@ -126,0 +121,0 @@ if (or) { |
var filter = require("./filter"); | ||
var parsePointer = require("./common").parsePointer; | ||
var join = require("gson-pointer/lib/join"); | ||
// @note gson-pointer: only strings are valid pointer properties to join. Ensure key is a string (could be index) | ||
var join = require("gson-pointer").join; | ||
@@ -18,2 +19,3 @@ | ||
if (steps[0] === "") { | ||
// @todo due to pointer cleanup, this is probably never called | ||
steps.shift(); | ||
@@ -31,3 +33,3 @@ } | ||
return function (key) { | ||
cb(obj[key], key, obj, join(pointer, key)); | ||
cb(obj[key], key, obj, join(pointer, String(key))); | ||
}; | ||
@@ -53,3 +55,3 @@ } | ||
matches.forEach(function (key) { | ||
_query(obj[key], steps.slice(0), cb, join(pointer, key)); | ||
_query(obj[key], steps.slice(0), cb, join(pointer, String(key))); | ||
}); | ||
@@ -63,3 +65,3 @@ } | ||
matches.forEach(function (key) { | ||
_query(obj[key], steps.slice(0), cb, join(pointer, key)); | ||
_query(obj[key], steps.slice(0), cb, join(pointer, String(key))); | ||
}); | ||
@@ -66,0 +68,0 @@ } |
{ | ||
"name": "gson-query", | ||
"version": "1.2.2", | ||
"version": "2.0.0", | ||
"description": "json-pointer utilities for querying and transforming data", | ||
@@ -13,8 +13,9 @@ "main": "lib/index.js", | ||
"tdd": "watch 'npm run test' lib/ app/ test/; exit 0", | ||
"lint": "eslint lib", | ||
"lint": "eslint lib test", | ||
"coverage": "nyc npm run test --reporter=lcov", | ||
"debug": "devtool node_modules/mocha/bin/_mocha -qc -- --recursive test/unit/*.test.js" | ||
}, | ||
"dependencies": { | ||
"gson-conform": "^1.0.2", | ||
"gson-pointer": "^1.0.3" | ||
"gson-conform": "^1.0.3", | ||
"gson-pointer": "^3.4.1" | ||
}, | ||
@@ -25,2 +26,3 @@ "devDependencies": { | ||
"mocha": "^3.1.2", | ||
"nyc": "^11.6.0", | ||
"watch": "^1.0.1" | ||
@@ -27,0 +29,0 @@ }, |
# gson query | ||
**Query and transform your json data using an extended glob-pattern within browsers or nodejs** | ||
> Query and transform your json data using an extended glob-pattern. This is a really helpful tool to quickly | ||
@@ -27,2 +29,7 @@ > | ||
## Breaking Changes | ||
- with `v2.0.0` a negated filter (lookahead), e.g. `*?valid:!true` will not return objects where `valid === undefined`. To match object with missing properties you can still query them explicitly with `*?valid:!true||valid:undefined` | ||
## Quick introduction | ||
@@ -29,0 +36,0 @@ |
Sorry, the diff of this file is not supported yet
64518
13
296
296
5
+ Addedgson-pointer@3.4.3(transitive)
- Removedgson-pointer@1.0.4(transitive)
Updatedgson-conform@^1.0.3
Updatedgson-pointer@^3.4.1