Skip to content

Merge from 's3u/master' #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e6f4870
Address issue #67 by exporting to `this` value if present
brettz9 Feb 21, 2016
ab06c30
Add mention of result option
cfjedimaster Mar 15, 2016
7fb3db0
Merge pull request #69 from cfjedimaster/patch-1
brettz9 Mar 15, 2016
6f78d94
Merge branch 'master' of [email protected]:s3u/JSONPath.git
brettz9 Mar 15, 2016
3e22997
Bring toPointer test into same naming convention;
brettz9 Mar 15, 2016
153d89a
Lint README;
brettz9 Mar 15, 2016
352bf41
Sort tests alphabatically and add missing eval test for browser envir…
brettz9 Mar 15, 2016
7849f70
Fixing support for sandbox in the case of functions;
brettz9 Mar 15, 2016
bb3146e
Rename test file
brettz9 Mar 15, 2016
4e104b9
clarify wrap in docs
brettz9 Mar 16, 2016
04dc7e1
Further clarification on `wrap`
brettz9 Mar 16, 2016
f9b6aab
Note about performance
brettz9 May 1, 2016
d0dc448
- Incorporate test and code from @zb3 for issue #14, increasing
brettz9 Oct 4, 2016
6d92bcb
Bump timeout threshold for sake of Node 0.10 automated test
brettz9 Oct 4, 2016
d636ca5
Further `concat` optimization
brettz9 Oct 4, 2016
ee3764d
Make simple String/Array polyfills for `includes` and utilize
brettz9 Oct 4, 2016
2e0ad9a
update CHANGES file
brettz9 Oct 6, 2016
894da64
Minor server tweak
brettz9 Oct 29, 2016
27b32a2
Linting; add npm start
brettz9 Oct 29, 2016
ac6850b
Address #77 to assume special chars are special unless escaped (break…
brettz9 Dec 12, 2016
833a88b
- Fix caching bug #78 (Failure of `toPathArray` to copy cached
brettz9 Jan 14, 2017
b515336
- Bump version to 0.16.0 (with breaking changes--see CHANGES)
brettz9 Jan 14, 2017
38b6514
Avoid Travis errors for testing
brettz9 Jan 14, 2017
0bbd018
Merge remote-tracking branch 's3u/master'
Oct 18, 2018
fab2677
Regenerated minified file after the merge
Oct 18, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
test
test-helpers
5 changes: 4 additions & 1 deletion .remarkrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@
"plugins": {
"lint": {
"no-multiple-toplevel-headings": false,
"no-consecutive-blank-lines": false,
"code-block-style": "fenced",
"no-html": false,
"ordered-list-marker-value": "one",
"list-item-spacing": false,
"list-item-indent": false,
"table-pipes": false,
"table-pipe-alignment": false,
"no-consecutive-blank-lines": false
"table-cell-padding": false
}
}
}
146 changes: 101 additions & 45 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,122 @@
# JSONPath changes
# jsonpath-plus changes

## Jan 10, 2016
- Add `@scalar()` type operator (in JavaScript mode, will also include)
- Version 0.14.0
## 0.16.0 (January 14, 2017)

## Jan 5, 2016
- Avoid double-encoding path in results
- Version 0.13.1
- Breaking change: Give preference to treating special chars in a property
as special (override with backtick operator)
- Breaking feature: Add custom \` operator to allow unambiguous literal
sequences (if an initial backtick is needed, an additional one must
now be added)
- Fix: `toPathArray` caching bug
- Improvements: Performance optimizations
- Dev testing: Rename test file

## Dec 13, 2015
- Breaking change (from version 0.11): Silently strip `~` and `^` operators and type operators such as `@string()` in `JSONPath.toPathString()` calls.
- Breaking change: Remove `Array.isArray` polyfill as no longer supporting IE <= 8
## 0.15.0 (Mar 15, 2016)

- Fix: Fixing support for sandbox in the case of functions
- Feature: Use `this` if present for global export
- Docs: Clarify function signature
- Docs: Update testing section
- Dev testing: Add in missing test for browser testing
- Dev testing: Add remark linting to testing process (#70)
- Dev testing: Lint JS test support files
- Dev testing: Split out tests into `eslint`, `remark`, `lint`, `nodeunit`
- Dev testing: Remove need for nodeunit build step
- Dev testing: Simplify nodeunit usage and make available
as `npm run browser-test`

## 0.14.0 (Jan 10, 2016)

- Feature: Add `@scalar()` type operator (in JavaScript mode, will also
include)

## 0.13.1 (Jan 5, 2016)

- Fix: Avoid double-encoding path in results

## 0.13.0 (Dec 13, 2015)

- Breaking change (from version 0.11): Silently strip `~` and `^` operators
and type operators such as `@string()` in `JSONPath.toPathString()` calls.
- Breaking change: Remove `Array.isArray` polyfill as no longer
supporting IE <= 8
- Feature: Allow omission of options first argument to `JSONPath`
- Feature: Add `JSONPath.toPointer()` and "pointer" `resultType` option.
- Fix: Correctly support `callback` and `otherTypeCallback` as numbered arguments to `JSONPath`.
- Fix: Correctly support `callback` and `otherTypeCallback` as numbered
arguments to `JSONPath`.
- Fix: Enhance Node checking to avoid issue reported with angular-mock
- Fix: Allow for `@` or other special characters in at-sign-prefixed property names (by use of `[?(@['...'])]` or `[(@['...'])]`).
- Version 0.13.0
- Fix: Allow for `@` or other special characters in at-sign-prefixed
property names (by use of `[?(@['...'])]` or `[(@['...'])]`).

## 0.12.0 (Dec 12, 2015 10:39pm)

- Breaking change: Problems with upper-case letters in npm is causing
us to rename the package, so have renamed package to "jsonpath-plus"
(there are already package with lower-case "jsonpath" or "json-path").
The new name also reflects that there have been changes to the
original spec.

## 0.11.2 (Dec 12, 2015 10:36pm)

- Docs: Actually add the warning in the README that problems in npm
with upper-case letters is causing us to rename to "jsonpath-plus"
(next version will actually apply the change).

## Dec 12, 2015 10:39pm
- Breaking change: Problems with upper-case letters in npm is causing us to rename the package, so have renamed package to "jsonpath-plus" (there are already package with lower-case "jsonpath" or "json-path"). The new name also reflects that
there have been changes to the original spec.
- Version 0.12.0
## 0.11.1 (Dec 12, 2015 10:11pm)

## Dec 12, 2015 10:36pm
- Actually add the warning in the README that problems in npm with upper-case letters is causing us to rename to "jsonpath-plus" (next version will actually apply the change).
- Version 0.11.2
- Docs: Give warning in README that problems in npm with upper-case letters
is causing us to rename to "jsonpath-plus" (next version will actually
apply the change).

## Dec 12, 2015 10:11pm
- Give warning in README that problems in npm with upper-case letters is causing us to rename to "jsonpath-plus" (next version will actually apply the change).
- Version 0.11.1
## 0.11.0 (Dec 12, 2015)

## Dec 12, 2015
- Breaking change: For unwrapped results, return `undefined` instead of `false` upon failure to find path (to allow distinguishing of `undefined`--a non-allowed JSON value--from the valid JSON values, `null` or `false`) and return the exact value upon falsy single results (in order to allow return of `null`)
- Breaking change: For unwrapped results, return `undefined` instead
of `false` upon failure to find path (to allow distinguishing of
`undefined`--a non-allowed JSON value--from the valid JSON values,
`null` or `false`) and return the exact value upon falsy single
results (in order to allow return of `null`)
- Deprecated: Use of `jsonPath.eval()`; use new class-based API instead
- Feature: AMD export
- Feature: By using `self` instead of `window` export, allow JSONPath to be trivially imported into web workers, without breaking compatibility in normal scenarios. See [MDN on self](https://developer.mozilla.org/en-US/docs/Web/API/Window/self)
- Feature: Offer new class-based API and object-based arguments (with option to run new queries via `evaluate()` method without resupplying config)
- Feature: By using `self` instead of `window` export, allow JSONPath
to be trivially imported into web workers, without breaking
compatibility in normal scenarios. See [MDN on self](https://developer.mozilla.org/en-US/docs/Web/API/Window/self)
- Feature: Offer new class-based API and object-based arguments (with
option to run new queries via `evaluate()` method without resupplying config)
- Feature: Allow new `preventEval=true` and `autostart=false` option
- Feature: Allow new callback option to allow a callback function to execute as each final result node is obtained
- Feature: Allow type operators: JavaScript types (`@boolean()`, `@number()`, `@string()`), other fundamental JavaScript types (`@null()`, `@object()`, `@array()`), the JSONSchema-added type, `@integer()`, and the following non-JSON types that can nevertheless be used with JSONPath when querying non-JSON JavaScript objects (`@undefined()`, `@function()`, `@nonFinite()`). Finally, `@other()` is made available in conjunction with a new callback option, `otherTypeCallback`, can be used to allow user-defined type detection (at least until JSON Schema awareness may be provided).
- Feature: Support "parent" and "parentProperty" for resultType along with "all" (which also includes "path" and "value" together)
- Feature: Support custom `@parent`, `@parentProperty`, `@property` (in addition to custom property `@path`) inside evaluations
- Feature: Allow new callback option to allow a callback function to execute as
each final result node is obtained
- Feature: Allow type operators: JavaScript types (`@boolean()`, `@number()`,
`@string()`), other fundamental JavaScript types (`@null()`, `@object()`,
`@array()`), the JSONSchema-added type, `@integer()`, and the following
non-JSON types that can nevertheless be used with JSONPath when querying
non-JSON JavaScript objects (`@undefined()`, `@function()`, `@nonFinite()`).
Finally, `@other()` is made available in conjunction with a new callback
option, `otherTypeCallback`, can be used to allow user-defined type
detection (at least until JSON Schema awareness may be provided).
- Feature: Support "parent" and "parentProperty" for resultType along with
"all" (which also includes "path" and "value" together)
- Feature: Support custom `@parent`, `@parentProperty`, `@property` (in
addition to custom property `@path`) inside evaluations
- Feature: Support a custom operator (`~`) to allow grabbing of property names
- Feature: Support `$` for retrieval of root, and document this as well as `$..` behavior
- Feature: Expose cache on `JSONPath.cache` for those who wish to preserve and reuse it
- Feature: Expose class methods `toPathString` for converting a path as array into a (normalized) path as string and `toPathArray` for the reverse (though accepting unnormalized strings as well as normalized)
- Feature: Support `$` for retrieval of root, and document this as well as
`$..` behavior
- Feature: Expose cache on `JSONPath.cache` for those who wish to preserve and
reuse it
- Feature: Expose class methods `toPathString` for converting a path as array
into a (normalized) path as string and `toPathArray` for the reverse (though
accepting unnormalized strings as well as normalized)
- Fix: Allow `^` as property name
- Fix: Support `.` within properties
- Fix: `@path` in index/property evaluations
- Version 0.11

## Oct 23, 2013
## 0.10.0 (Oct 23, 2013)

- Support for parent selection via `^`
- Access current path via `@path` in test statements
- Allowing for multi-statement evals
- Performance improvements
- Version 0.10
- Feature: Support for parent selection via `^`
- Feature: Access current path via `@path` in test statements
- Feature: Allowing for multi-statement evals
- Improvements: Performance

## Mar 28, 2012
## 0.9.0 (Mar 28, 2012)

- Support a sandbox arg to eval
- Use vm.runInNewContext in place of eval
- Version 0.9.0
- Feature: Support a sandbox arg to eval
- Improvements: Use `vm.runInNewContext` in place of eval
Loading