update example

This commit is contained in:
freestrings 2019-06-23 23:59:18 +09:00
parent 967df1b787
commit 59dad2ea02
9 changed files with 159 additions and 60 deletions

View File

@ -1,6 +1,5 @@
import * as jsonpath from "jsonpath-wasm"; import * as jsonpath from "jsonpath-wasm";
let jsonObj = { let jsonObj = {
"school": { "school": {
"friends": [ "friends": [
@ -19,14 +18,21 @@ let ret = [
{"name": "친구1", "age": 20} {"name": "친구1", "age": 20}
]; ];
let selector = new jsonpath.Selector(); const path = '$..friends[0]';
selector.path('$..friends[0]');
selector.value(jsonObj);
let selectToObj = selector.selectTo(); let ret1 = jsonpath.select(jsonObj, path);
let selectToString = selector.selectToStr(); 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( console.log(
JSON.stringify(ret) == JSON.stringify(selectToObj), JSON.stringify(ret) == JSON.stringify(ret1),
JSON.stringify(ret) == selectToString JSON.stringify(ret) == JSON.stringify(ret2),
JSON.stringify(ret) == JSON.stringify(ret3),
JSON.stringify(ret) == JSON.stringify(ret4)
); );

View File

@ -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": { "killable": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",

View File

@ -11,5 +11,8 @@
"webpack": "^4.29.6", "webpack": "^4.29.6",
"webpack-cli": "^3.3.0", "webpack-cli": "^3.3.0",
"webpack-dev-server": "^3.2.1" "webpack-dev-server": "^3.2.1"
},
"dependencies": {
"jsonpath-wasm": "^0.2.2"
} }
} }

View File

@ -18,14 +18,20 @@ let ret = [
{"name": "친구1", "age": 20} {"name": "친구1", "age": 20}
]; ];
let selector = new jsonpath.Selector(); const path = '$..friends[0]';
selector.path('$..friends[0]');
selector.value(jsonObj);
let selectToObj = selector.selectTo(); let ret1 = jsonpath.select(jsonObj, path);
let selectToString = selector.selectToStr(); 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( console.log(
JSON.stringify(ret) == JSON.stringify(selectToObj), JSON.stringify(ret) == JSON.stringify(ret1),
JSON.stringify(ret) == selectToString JSON.stringify(ret) == JSON.stringify(ret2),
); JSON.stringify(ret) == JSON.stringify(ret3),
JSON.stringify(ret) == JSON.stringify(ret4)
);

View File

@ -64,13 +64,13 @@
"integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
}, },
"chalk": { "chalk": {
"version": "2.1.0", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": { "requires": {
"ansi-styles": "^3.1.0", "ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5", "escape-string-regexp": "^1.0.5",
"supports-color": "^4.0.0" "supports-color": "^5.3.0"
} }
}, },
"chardet": { "chardet": {
@ -78,6 +78,19 @@
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
"integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" "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": { "cli-cursor": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
@ -205,9 +218,9 @@
} }
}, },
"glob": { "glob": {
"version": "7.1.3", "version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"requires": { "requires": {
"fs.realpath": "^1.0.0", "fs.realpath": "^1.0.0",
"inflight": "^1.0.4", "inflight": "^1.0.4",
@ -229,9 +242,9 @@
} }
}, },
"has-flag": { "has-flag": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
}, },
"iconv-lite": { "iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
@ -251,9 +264,9 @@
} }
}, },
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
}, },
"iniparser": { "iniparser": {
"version": "1.0.5", "version": "1.0.5",
@ -292,10 +305,11 @@
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
}, },
"jsonpath-rs": { "jsonpath-rs": {
"version": "0.1.7", "version": "0.2.2",
"resolved": "https://registry.npmjs.org/jsonpath-rs/-/jsonpath-rs-0.1.7.tgz", "resolved": "https://registry.npmjs.org/jsonpath-rs/-/jsonpath-rs-0.2.2.tgz",
"integrity": "sha512-BSuCWJK5PaTevsPHmFaLb9kzoc1Wh56+TBm6XH+gObIKA8Z3SQp6gUrgibGlApCYipha4IDo59StrdyVcvVPqA==", "integrity": "sha512-mKthE5svt4A1LO6cn7RRSexOM5RuKvPhBRRLsi95rTFQsHWhWpqkgmBzNGPuDEiGDyW3ED8c/zp/YtTHTBUFzA==",
"requires": { "requires": {
"check-node-version": "*",
"neon-cli": "^0.2.0" "neon-cli": "^0.2.0"
} }
}, },
@ -309,6 +323,11 @@
"resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
"integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=" "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": { "mimic-fn": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
@ -323,9 +342,9 @@
} }
}, },
"minimist": { "minimist": {
"version": "0.0.10", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.1", "version": "0.5.1",
@ -348,9 +367,9 @@
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
}, },
"neo-async": { "neo-async": {
"version": "2.6.0", "version": "2.6.1",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
"integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="
}, },
"neon-cli": { "neon-cli": {
"version": "0.2.0", "version": "0.2.0",
@ -373,8 +392,38 @@
"ts-typed-json": "^0.2.2", "ts-typed-json": "^0.2.2",
"validate-npm-package-license": "^3.0.1", "validate-npm-package-license": "^3.0.1",
"validate-npm-package-name": "^3.0.0" "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": { "once": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@ -398,6 +447,13 @@
"requires": { "requires": {
"minimist": "~0.0.1", "minimist": "~0.0.1",
"wordwrap": "~0.0.2" "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": { "os-tmpdir": {
@ -441,9 +497,9 @@
} }
}, },
"rsvp": { "rsvp": {
"version": "4.8.4", "version": "4.8.5",
"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
"integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==" "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA=="
}, },
"run-async": { "run-async": {
"version": "2.3.0", "version": "2.3.0",
@ -453,6 +509,11 @@
"is-promise": "^2.1.0" "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": { "rx-lite": {
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
@ -532,11 +593,11 @@
} }
}, },
"supports-color": { "supports-color": {
"version": "4.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": { "requires": {
"has-flag": "^2.0.0" "has-flag": "^3.0.0"
} }
}, },
"table-layout": { "table-layout": {
@ -609,9 +670,9 @@
"integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0="
}, },
"uglify-js": { "uglify-js": {
"version": "3.5.4", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
"integrity": "sha512-GpKo28q/7Bm5BcX9vOu4S46FwisbPbAmkkqPnGIpKvKTM96I85N6XHQV+k4I6FA2wxgLhcsSyHoNhzucwCflvA==", "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
"optional": true, "optional": true,
"requires": { "requires": {
"commander": "~2.20.0", "commander": "~2.20.0",

View File

@ -4,6 +4,6 @@
"start": "node index.js" "start": "node index.js"
}, },
"dependencies": { "dependencies": {
"jsonpath-rs": "0" "jsonpath-rs": "^0.2.2"
} }
} }

View File

@ -18,14 +18,20 @@ let ret = [
{"name": "친구1", "age": 20} {"name": "친구1", "age": 20}
]; ];
let selector = new jsonpath.Selector(); const path = '$..friends[0]';
selector.path('$..friends[0]');
selector.value(jsonObj);
let selectToObj = selector.selectTo(); let ret1 = jsonpath.select(jsonObj, path);
let selectToString = selector.selectToStr(); 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( console.log(
JSON.stringify(ret) == JSON.stringify(selectToObj), JSON.stringify(ret) == JSON.stringify(ret1),
JSON.stringify(ret) == selectToString JSON.stringify(ret) == JSON.stringify(ret2),
); JSON.stringify(ret) == JSON.stringify(ret3),
JSON.stringify(ret) == JSON.stringify(ret4)
);

12
examples/nodejs-wasm/package-lock.json generated Normal file
View File

@ -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=="
}
}
}

View File

@ -4,6 +4,6 @@
"start": "node index.js" "start": "node index.js"
}, },
"dependencies": { "dependencies": {
"jsonpath-wasm": "0" "jsonpath-wasm": "^0.2.2"
} }
} }