diff --git a/examples/browser/index.js b/examples/browser/index.js index d7094c4..91c35e0 100644 --- a/examples/browser/index.js +++ b/examples/browser/index.js @@ -1,6 +1,5 @@ import * as jsonpath from "jsonpath-wasm"; - let jsonObj = { "school": { "friends": [ @@ -19,14 +18,21 @@ let ret = [ {"name": "친구1", "age": 20} ]; -let selector = new jsonpath.Selector(); -selector.path('$..friends[0]'); -selector.value(jsonObj); +const path = '$..friends[0]'; -let selectToObj = selector.selectTo(); -let selectToString = selector.selectToStr(); +let ret1 = jsonpath.select(jsonObj, path); +let ret2 = jsonpath.compile(path)(jsonObj); +let ret3 = jsonpath.selector(jsonObj)(path); + +let selector = new jsonpath.Selector(); +selector.path(path); +selector.value(jsonObj); +let ret4 = selector.select(); console.log( - JSON.stringify(ret) == JSON.stringify(selectToObj), - JSON.stringify(ret) == selectToString + JSON.stringify(ret) == JSON.stringify(ret1), + JSON.stringify(ret) == JSON.stringify(ret2), + JSON.stringify(ret) == JSON.stringify(ret3), + JSON.stringify(ret) == JSON.stringify(ret4) ); + diff --git a/examples/browser/package-lock.json b/examples/browser/package-lock.json index e2f786b..1846937 100644 --- a/examples/browser/package-lock.json +++ b/examples/browser/package-lock.json @@ -2974,6 +2974,11 @@ } } }, + "jsonpath-wasm": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/jsonpath-wasm/-/jsonpath-wasm-0.2.2.tgz", + "integrity": "sha512-ftbf9nRLfHPf6RPBGCGvy27Cfh8DNU0Y446cT7znGf2UjbvFBE0Jwp2cwRGPvLBwIcD93BSp2o2BPq8cN7WLQw==" + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", diff --git a/examples/browser/package.json b/examples/browser/package.json index 2543c0e..da95ed3 100644 --- a/examples/browser/package.json +++ b/examples/browser/package.json @@ -11,5 +11,8 @@ "webpack": "^4.29.6", "webpack-cli": "^3.3.0", "webpack-dev-server": "^3.2.1" + }, + "dependencies": { + "jsonpath-wasm": "^0.2.2" } } diff --git a/examples/nodejs-rs/index.js b/examples/nodejs-rs/index.js index 722ed4b..368fc3f 100644 --- a/examples/nodejs-rs/index.js +++ b/examples/nodejs-rs/index.js @@ -18,14 +18,20 @@ let ret = [ {"name": "친구1", "age": 20} ]; -let selector = new jsonpath.Selector(); -selector.path('$..friends[0]'); -selector.value(jsonObj); +const path = '$..friends[0]'; -let selectToObj = selector.selectTo(); -let selectToString = selector.selectToStr(); +let ret1 = jsonpath.select(jsonObj, path); +let ret2 = jsonpath.compile(path)(jsonObj); +let ret3 = jsonpath.selector(jsonObj)(path); + +let selector = new jsonpath.Selector(); +selector.path(path); +selector.value(jsonObj); +let ret4 = selector.select(); console.log( - JSON.stringify(ret) == JSON.stringify(selectToObj), - JSON.stringify(ret) == selectToString -); + JSON.stringify(ret) == JSON.stringify(ret1), + JSON.stringify(ret) == JSON.stringify(ret2), + JSON.stringify(ret) == JSON.stringify(ret3), + JSON.stringify(ret) == JSON.stringify(ret4) +); \ No newline at end of file diff --git a/examples/nodejs-rs/package-lock.json b/examples/nodejs-rs/package-lock.json index bff0c9e..133f4b1 100644 --- a/examples/nodejs-rs/package-lock.json +++ b/examples/nodejs-rs/package-lock.json @@ -64,13 +64,13 @@ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "^3.1.0", + "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "supports-color": "^5.3.0" } }, "chardet": { @@ -78,6 +78,19 @@ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" }, + "check-node-version": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.0.1.tgz", + "integrity": "sha512-pWV+uuJJoOGbODDC6+DPUYeprv1CUg/jr1SGKpgkANstGN22f9T0Vn40mdv6hvRZ25KMH/IjkVc0LZH5ms+qEg==", + "requires": { + "chalk": "^2.3.0", + "map-values": "^1.0.1", + "minimist": "^1.2.0", + "object-filter": "^1.0.2", + "run-parallel": "^1.1.4", + "semver": "^5.7.0" + } + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -205,9 +218,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -229,9 +242,9 @@ } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "iconv-lite": { "version": "0.4.24", @@ -251,9 +264,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "iniparser": { "version": "1.0.5", @@ -292,10 +305,11 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, "jsonpath-rs": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/jsonpath-rs/-/jsonpath-rs-0.1.7.tgz", - "integrity": "sha512-BSuCWJK5PaTevsPHmFaLb9kzoc1Wh56+TBm6XH+gObIKA8Z3SQp6gUrgibGlApCYipha4IDo59StrdyVcvVPqA==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/jsonpath-rs/-/jsonpath-rs-0.2.2.tgz", + "integrity": "sha512-mKthE5svt4A1LO6cn7RRSexOM5RuKvPhBRRLsi95rTFQsHWhWpqkgmBzNGPuDEiGDyW3ED8c/zp/YtTHTBUFzA==", "requires": { + "check-node-version": "*", "neon-cli": "^0.2.0" } }, @@ -309,6 +323,11 @@ "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" }, + "map-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz", + "integrity": "sha1-douOecAJvytk/ugG4ip7HEGQyZA=" + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -323,9 +342,9 @@ } }, "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mkdirp": { "version": "0.5.1", @@ -348,9 +367,9 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" }, "neon-cli": { "version": "0.2.0", @@ -373,8 +392,38 @@ "ts-typed-json": "^0.2.2", "validate-npm-package-license": "^3.0.1", "validate-npm-package-name": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", + "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "requires": { + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "^2.0.0" + } + } } }, + "object-filter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz", + "integrity": "sha1-rwt5f/6+r4pSxmN87b6IFs/sG8g=" + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -398,6 +447,13 @@ "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + } } }, "os-tmpdir": { @@ -441,9 +497,9 @@ } }, "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==" + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" }, "run-async": { "version": "2.3.0", @@ -453,6 +509,11 @@ "is-promise": "^2.1.0" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -532,11 +593,11 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^2.0.0" + "has-flag": "^3.0.0" } }, "table-layout": { @@ -609,9 +670,9 @@ "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" }, "uglify-js": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz", - "integrity": "sha512-GpKo28q/7Bm5BcX9vOu4S46FwisbPbAmkkqPnGIpKvKTM96I85N6XHQV+k4I6FA2wxgLhcsSyHoNhzucwCflvA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "optional": true, "requires": { "commander": "~2.20.0", diff --git a/examples/nodejs-rs/package.json b/examples/nodejs-rs/package.json index 9551a4c..da42b19 100644 --- a/examples/nodejs-rs/package.json +++ b/examples/nodejs-rs/package.json @@ -4,6 +4,6 @@ "start": "node index.js" }, "dependencies": { - "jsonpath-rs": "0" + "jsonpath-rs": "^0.2.2" } } diff --git a/examples/nodejs-wasm/index.js b/examples/nodejs-wasm/index.js index 5227492..615ca7f 100644 --- a/examples/nodejs-wasm/index.js +++ b/examples/nodejs-wasm/index.js @@ -18,14 +18,20 @@ let ret = [ {"name": "친구1", "age": 20} ]; -let selector = new jsonpath.Selector(); -selector.path('$..friends[0]'); -selector.value(jsonObj); +const path = '$..friends[0]'; -let selectToObj = selector.selectTo(); -let selectToString = selector.selectToStr(); +let ret1 = jsonpath.select(jsonObj, path); +let ret2 = jsonpath.compile(path)(jsonObj); +let ret3 = jsonpath.selector(jsonObj)(path); + +let selector = new jsonpath.Selector(); +selector.path(path); +selector.value(jsonObj); +let ret4 = selector.select(); console.log( - JSON.stringify(ret) == JSON.stringify(selectToObj), - JSON.stringify(ret) == selectToString -); + JSON.stringify(ret) == JSON.stringify(ret1), + JSON.stringify(ret) == JSON.stringify(ret2), + JSON.stringify(ret) == JSON.stringify(ret3), + JSON.stringify(ret) == JSON.stringify(ret4) +); \ No newline at end of file diff --git a/examples/nodejs-wasm/package-lock.json b/examples/nodejs-wasm/package-lock.json new file mode 100644 index 0000000..ef87727 --- /dev/null +++ b/examples/nodejs-wasm/package-lock.json @@ -0,0 +1,12 @@ +{ + "name": "jsonpath-wasm-nodejs-example", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "jsonpath-wasm": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/jsonpath-wasm/-/jsonpath-wasm-0.2.2.tgz", + "integrity": "sha512-ftbf9nRLfHPf6RPBGCGvy27Cfh8DNU0Y446cT7znGf2UjbvFBE0Jwp2cwRGPvLBwIcD93BSp2o2BPq8cN7WLQw==" + } + } +} diff --git a/examples/nodejs-wasm/package.json b/examples/nodejs-wasm/package.json index 573efab..e0d644d 100644 --- a/examples/nodejs-wasm/package.json +++ b/examples/nodejs-wasm/package.json @@ -4,6 +4,6 @@ "start": "node index.js" }, "dependencies": { - "jsonpath-wasm": "0" + "jsonpath-wasm": "^0.2.2" } -} \ No newline at end of file +}