mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
# add dist
This commit is contained in:
32
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/README.md
generated
vendored
Normal file
32
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/README.md
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
# JSON Pointer for nodejs
|
||||
|
||||
This is an implementation of [JSON Pointer](http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08).
|
||||
|
||||
## Usage
|
||||
|
||||
var jsonpointer = require("jsonpointer");
|
||||
var obj = { foo: 1, bar: { baz: 2}, qux: [3, 4, 5]};
|
||||
var one = jsonpointer.get(obj, "/foo");
|
||||
var two = jsonpointer.get(obj, "/bar/baz");
|
||||
var three = jsonpointer.get(obj, "/qux/0");
|
||||
var four = jsonpointer.get(obj, "/qux/1");
|
||||
var five = jsonpointer.get(obj, "/qux/2");
|
||||
var notfound = jsonpointer.get(obj, "/quo"); // returns null
|
||||
|
||||
jsonpointer.set(obj, "/foo", 6); // obj.foo = 6;
|
||||
|
||||
## Testing
|
||||
|
||||
$ node test.js
|
||||
All tests pass.
|
||||
$
|
||||
|
||||
[](https://travis-ci.org/janl/node-jsonpointer)
|
||||
|
||||
## Author
|
||||
|
||||
(c) 2011 Jan Lehnardt <jan@apache.org>
|
||||
|
||||
## License
|
||||
|
||||
MIT License.
|
76
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/jsonpointer.js
generated
vendored
Normal file
76
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/jsonpointer.js
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
var untilde = function(str) {
|
||||
return str.replace(/~./g, function(m) {
|
||||
switch (m) {
|
||||
case "~0":
|
||||
return "~";
|
||||
case "~1":
|
||||
return "/";
|
||||
}
|
||||
throw new Error("Invalid tilde escape: " + m);
|
||||
});
|
||||
}
|
||||
|
||||
var traverse = function(obj, pointer, value) {
|
||||
// assert(isArray(pointer))
|
||||
var part = untilde(pointer.shift());
|
||||
if(!obj.hasOwnProperty(part)) {
|
||||
return null;
|
||||
}
|
||||
if(pointer.length !== 0) { // keep traversin!
|
||||
return traverse(obj[part], pointer, value);
|
||||
}
|
||||
// we're done
|
||||
if(typeof value === "undefined") {
|
||||
// just reading
|
||||
return obj[part];
|
||||
}
|
||||
// set new value, return old value
|
||||
var old_value = obj[part];
|
||||
if(value === null) {
|
||||
delete obj[part];
|
||||
} else {
|
||||
obj[part] = value;
|
||||
}
|
||||
return old_value;
|
||||
}
|
||||
|
||||
var validate_input = function(obj, pointer) {
|
||||
if(typeof obj !== "object") {
|
||||
throw new Error("Invalid input object.");
|
||||
}
|
||||
|
||||
if(pointer === "") {
|
||||
return [];
|
||||
}
|
||||
|
||||
if(!pointer) {
|
||||
throw new Error("Invalid JSON pointer.");
|
||||
}
|
||||
|
||||
pointer = pointer.split("/");
|
||||
var first = pointer.shift();
|
||||
if (first !== "") {
|
||||
throw new Error("Invalid JSON pointer.");
|
||||
}
|
||||
|
||||
return pointer;
|
||||
}
|
||||
|
||||
var get = function(obj, pointer) {
|
||||
pointer = validate_input(obj, pointer);
|
||||
if (pointer.length === 0) {
|
||||
return obj;
|
||||
}
|
||||
return traverse(obj, pointer);
|
||||
}
|
||||
|
||||
var set = function(obj, pointer, value) {
|
||||
pointer = validate_input(obj, pointer);
|
||||
if (pointer.length === 0) {
|
||||
throw new Error("Invalid JSON pointer for set.")
|
||||
}
|
||||
return traverse(obj, pointer, value);
|
||||
}
|
||||
|
||||
exports.get = get
|
||||
exports.set = set
|
91
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/package.json
generated
vendored
Normal file
91
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/package.json
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"jsonpointer@2.0.0",
|
||||
"/Users/mromano/dev/dev-platform-webcomponents/ng2-components/ng2-alfresco-documentslist/node_modules/is-my-json-valid"
|
||||
]
|
||||
],
|
||||
"_from": "jsonpointer@2.0.0",
|
||||
"_id": "jsonpointer@2.0.0",
|
||||
"_inCache": true,
|
||||
"_installable": true,
|
||||
"_location": "/jsonpointer",
|
||||
"_nodeVersion": "0.10.36",
|
||||
"_npmUser": {
|
||||
"email": "marc.brookman@gmail.com",
|
||||
"name": "marcbachmann"
|
||||
},
|
||||
"_npmVersion": "2.10.1",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"name": "jsonpointer",
|
||||
"raw": "jsonpointer@2.0.0",
|
||||
"rawSpec": "2.0.0",
|
||||
"scope": null,
|
||||
"spec": "2.0.0",
|
||||
"type": "version"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/is-my-json-valid"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz",
|
||||
"_shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
|
||||
"_shrinkwrap": null,
|
||||
"_spec": "jsonpointer@2.0.0",
|
||||
"_where": "/Users/mromano/dev/dev-platform-webcomponents/ng2-components/ng2-alfresco-documentslist/node_modules/is-my-json-valid",
|
||||
"author": {
|
||||
"email": "jan@apache.org",
|
||||
"name": "Jan Lehnardt"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "http://github.com/janl/node-jsonpointer/issues"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"email": "joe-github@cursive.net",
|
||||
"name": "Joe Hildebrand"
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"description": "Simple JSON Addressing.",
|
||||
"devDependencies": {},
|
||||
"directories": {},
|
||||
"dist": {
|
||||
"shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
|
||||
"tarball": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.6.0"
|
||||
},
|
||||
"gitHead": "26ea4a5c0fcb6d9a2e87f733403791dd05637af8",
|
||||
"homepage": "https://github.com/janl/node-jsonpointer#readme",
|
||||
"license": "MIT",
|
||||
"main": "./jsonpointer",
|
||||
"maintainers": [
|
||||
{
|
||||
"email": "jan@apache.org",
|
||||
"name": "jan"
|
||||
},
|
||||
{
|
||||
"email": "marc.brookman@gmail.com",
|
||||
"name": "marcbachmann"
|
||||
}
|
||||
],
|
||||
"name": "jsonpointer",
|
||||
"optionalDependencies": {},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+ssh://git@github.com/janl/node-jsonpointer.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"tags": [
|
||||
"util",
|
||||
"simple",
|
||||
"util",
|
||||
"utility"
|
||||
],
|
||||
"version": "2.0.0"
|
||||
}
|
98
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/test.js
generated
vendored
Normal file
98
ng2-components/ng2-alfresco-documentslist/dist/node_modules/jsonpointer/test.js
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
var assert = require("assert");
|
||||
var jsonpointer = require("./jsonpointer");
|
||||
|
||||
var obj = {
|
||||
a: 1,
|
||||
b: {
|
||||
c: 2
|
||||
},
|
||||
d: {
|
||||
e: [{a:3}, {b:4}, {c:5}]
|
||||
}
|
||||
};
|
||||
|
||||
assert.equal(jsonpointer.get(obj, "/a"), 1);
|
||||
assert.equal(jsonpointer.get(obj, "/b/c"), 2);
|
||||
assert.equal(jsonpointer.get(obj, "/d/e/0/a"), 3);
|
||||
assert.equal(jsonpointer.get(obj, "/d/e/1/b"), 4);
|
||||
assert.equal(jsonpointer.get(obj, "/d/e/2/c"), 5);
|
||||
|
||||
// set returns old value
|
||||
assert.equal(jsonpointer.set(obj, "/a", 2), 1);
|
||||
assert.equal(jsonpointer.set(obj, "/b/c", 3), 2);
|
||||
assert.equal(jsonpointer.set(obj, "/d/e/0/a", 4), 3);
|
||||
assert.equal(jsonpointer.set(obj, "/d/e/1/b", 5), 4);
|
||||
assert.equal(jsonpointer.set(obj, "/d/e/2/c", 6), 5);
|
||||
|
||||
assert.equal(jsonpointer.get(obj, "/a"), 2);
|
||||
assert.equal(jsonpointer.get(obj, "/b/c"), 3);
|
||||
assert.equal(jsonpointer.get(obj, "/d/e/0/a"), 4);
|
||||
assert.equal(jsonpointer.get(obj, "/d/e/1/b"), 5);
|
||||
assert.equal(jsonpointer.get(obj, "/d/e/2/c"), 6);
|
||||
|
||||
assert.equal(jsonpointer.get(obj, ""), obj);
|
||||
assert.throws(function(){ jsonpointer.get(obj, "a"); }, validateError);
|
||||
assert.throws(function(){ jsonpointer.get(obj, "a/"); }, validateError);
|
||||
|
||||
function validateError(err) {
|
||||
if ( (err instanceof Error) && /Invalid JSON pointer/.test(err.message) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
var complexKeys = {
|
||||
"a/b": {
|
||||
c: 1
|
||||
},
|
||||
d: {
|
||||
"e/f": 2
|
||||
},
|
||||
"~1": 3,
|
||||
"01": 4
|
||||
}
|
||||
|
||||
assert.equal(jsonpointer.get(complexKeys, "/a~1b/c"), 1);
|
||||
assert.equal(jsonpointer.get(complexKeys, "/d/e~1f"), 2);
|
||||
assert.equal(jsonpointer.get(complexKeys, "/~01"), 3);
|
||||
assert.equal(jsonpointer.get(complexKeys, "/01"), 4);
|
||||
assert.equal(jsonpointer.get(complexKeys, "/a/b/c"), null);
|
||||
assert.equal(jsonpointer.get(complexKeys, "/~1"), null);
|
||||
|
||||
// draft-ietf-appsawg-json-pointer-08 has special array rules
|
||||
var ary = [ "zero", "one", "two" ];
|
||||
assert.equal(jsonpointer.get(ary, "/01"), null);
|
||||
|
||||
//assert.equal(jsonpointer.set(ary, "/-", "three"), null);
|
||||
//assert.equal(ary[3], "three");
|
||||
|
||||
// Examples from the draft:
|
||||
var example = {
|
||||
"foo": ["bar", "baz"],
|
||||
"": 0,
|
||||
"a/b": 1,
|
||||
"c%d": 2,
|
||||
"e^f": 3,
|
||||
"g|h": 4,
|
||||
"i\\j": 5,
|
||||
"k\"l": 6,
|
||||
" ": 7,
|
||||
"m~n": 8
|
||||
};
|
||||
|
||||
assert.equal(jsonpointer.get(example, ""), example);
|
||||
var ans = jsonpointer.get(example, "/foo");
|
||||
assert.equal(ans.length, 2);
|
||||
assert.equal(ans[0], "bar");
|
||||
assert.equal(ans[1], "baz");
|
||||
assert.equal(jsonpointer.get(example, "/foo/0"), "bar");
|
||||
assert.equal(jsonpointer.get(example, "/"), 0);
|
||||
assert.equal(jsonpointer.get(example, "/a~1b"), 1);
|
||||
assert.equal(jsonpointer.get(example, "/c%d"), 2);
|
||||
assert.equal(jsonpointer.get(example, "/e^f"), 3);
|
||||
assert.equal(jsonpointer.get(example, "/g|h"), 4);
|
||||
assert.equal(jsonpointer.get(example, "/i\\j"), 5);
|
||||
assert.equal(jsonpointer.get(example, "/k\"l"), 6);
|
||||
assert.equal(jsonpointer.get(example, "/ "), 7);
|
||||
assert.equal(jsonpointer.get(example, "/m~0n"), 8);
|
||||
|
||||
console.log("All tests pass.");
|
Reference in New Issue
Block a user