Commit project
This commit is contained in:
parent
28471965a0
commit
3ac017a5ad
1030 changed files with 94062 additions and 0 deletions
15
node_modules/undefsafe/.npmignore
generated
vendored
Normal file
15
node_modules/undefsafe/.npmignore
generated
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
lib-cov
|
||||
*.seed
|
||||
*.log
|
||||
*.csv
|
||||
*.dat
|
||||
*.out
|
||||
*.pid
|
||||
*.gz
|
||||
|
||||
pids
|
||||
logs
|
||||
results
|
||||
|
||||
npm-debug.log
|
||||
node_modules
|
6
node_modules/undefsafe/.travis.yml
generated
vendored
Normal file
6
node_modules/undefsafe/.travis.yml
generated
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
language: node_js
|
||||
node_js:
|
||||
- "0.11"
|
||||
- "0.10"
|
||||
before_script:
|
||||
- npm install
|
22
node_modules/undefsafe/README.md
generated
vendored
Normal file
22
node_modules/undefsafe/README.md
generated
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
undefsafe
|
||||
=========
|
||||
|
||||
Simple *function* for retrieving deep object properties without getting "Cannot read property 'X' of undefined"
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var object = {
|
||||
a: {
|
||||
b: {
|
||||
c: 1,
|
||||
d: [1,2,3],
|
||||
e: false
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
console.log(undefsafe(object, 'a.b.e') === false);
|
||||
```
|
||||
|
||||
Demo: [https://jsbin.com/eroqame/3/edit?js,console](https://jsbin.com/eroqame/3/edit?js,console)
|
33
node_modules/undefsafe/lib/undefsafe.js
generated
vendored
Normal file
33
node_modules/undefsafe/lib/undefsafe.js
generated
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
'use strict';
|
||||
|
||||
function undefsafe(obj, path) {
|
||||
var parts = path.split('.');
|
||||
var key = null;
|
||||
var type = typeof obj;
|
||||
|
||||
// we're dealing with a primative
|
||||
if (type !== 'object' && type !== 'function') {
|
||||
return obj;
|
||||
} else if (path.trim() === '') {
|
||||
return obj;
|
||||
}
|
||||
|
||||
while ((key = parts.shift())) {
|
||||
obj = obj[key];
|
||||
if (obj === undefined || obj === null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// if we have a null object, make sure it's the one the user was after,
|
||||
// if it's not (i.e. parts has a length) then give undefined back.
|
||||
if (obj === null && parts.length !== 0) {
|
||||
obj = undefined;
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
if (typeof module !== 'undefined') {
|
||||
module.exports = undefsafe;
|
||||
}
|
59
node_modules/undefsafe/package.json
generated
vendored
Normal file
59
node_modules/undefsafe/package.json
generated
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"_args": [
|
||||
[
|
||||
"undefsafe@0.0.3",
|
||||
"/Users/rodrigopinto/Documents/Development/ClusterSystems/cluster-server"
|
||||
]
|
||||
],
|
||||
"_development": true,
|
||||
"_from": "undefsafe@0.0.3",
|
||||
"_id": "undefsafe@0.0.3",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-7Mo6A+VrmvFzhbqsgSrIO5lKli8=",
|
||||
"_location": "/undefsafe",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "undefsafe@0.0.3",
|
||||
"name": "undefsafe",
|
||||
"escapedName": "undefsafe",
|
||||
"rawSpec": "0.0.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "0.0.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/nodemon"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-0.0.3.tgz",
|
||||
"_spec": "0.0.3",
|
||||
"_where": "/Users/rodrigopinto/Documents/Development/ClusterSystems/cluster-server",
|
||||
"author": {
|
||||
"name": "Remy Sharp"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/remy/undefsafe/issues"
|
||||
},
|
||||
"description": "Undefined safe way of extracting object properties",
|
||||
"devDependencies": {
|
||||
"mocha": "~1.16.2"
|
||||
},
|
||||
"directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"homepage": "https://github.com/remy/undefsafe#readme",
|
||||
"keywords": [
|
||||
"undefined"
|
||||
],
|
||||
"license": "MIT / http://rem.mit-license.org",
|
||||
"main": "lib/undefsafe.js",
|
||||
"name": "undefsafe",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/remy/undefsafe.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node_modules/mocha/bin/_mocha --ui bdd test/**/*.test.js"
|
||||
},
|
||||
"version": "0.0.3"
|
||||
}
|
84
node_modules/undefsafe/test/undefsafe.test.js
generated
vendored
Normal file
84
node_modules/undefsafe/test/undefsafe.test.js
generated
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
'use strict';
|
||||
/*global describe:true, it: true */
|
||||
var assert = require('assert');
|
||||
var undefsafe = require('../lib/undefsafe');
|
||||
|
||||
describe('undefsafe', function () {
|
||||
it('should handle primatives', function () {
|
||||
var r = undefsafe(1, '');
|
||||
assert(r === 1, 'undefsafe is 1: ' + r);
|
||||
});
|
||||
|
||||
it('should handle empty objects', function () {
|
||||
var value = {};
|
||||
var r;
|
||||
|
||||
r = undefsafe(value, '');
|
||||
assert(r === value, 'value is value' + r);
|
||||
|
||||
r = undefsafe(value, 'foo');
|
||||
assert(r === undefined, 'value.foo is undefined: ' + r);
|
||||
|
||||
r = undefsafe(value, 'foo.bar');
|
||||
assert(r === undefined, 'value.foo.bar is undefined: ' + r);
|
||||
});
|
||||
|
||||
it('should handle null properties', function () {
|
||||
var value = {
|
||||
a: {
|
||||
b: null,
|
||||
},
|
||||
};
|
||||
var r;
|
||||
|
||||
r = undefsafe(value, 'a.b');
|
||||
assert(r === null, 'value.a.b is null: ' + r);
|
||||
|
||||
r = undefsafe(value, 'a.b.c');
|
||||
assert(r === undefined, 'value.a.b.c is undefined: ' + r);
|
||||
});
|
||||
|
||||
it('should find deep object properties', function () {
|
||||
var value = {
|
||||
a: {
|
||||
b: {
|
||||
c: {
|
||||
d: 10,
|
||||
e: {
|
||||
f: 20,
|
||||
},
|
||||
g: true,
|
||||
h: false,
|
||||
i: undefined,
|
||||
j: null,
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
var r;
|
||||
|
||||
r = undefsafe(value, 'a');
|
||||
assert(r === value.a, 'value.a: ' + r + ' ' + value.a);
|
||||
|
||||
r = undefsafe(value, 'a.foo');
|
||||
assert(r === undefined, 'value.a.foo is undefined: ' + r);
|
||||
|
||||
r = undefsafe(value, 'a.b.c.d');
|
||||
assert(r === 10, 'value.a.b.c.d = 10');
|
||||
|
||||
r = undefsafe(value, 'a.b.c.e');
|
||||
assert(r === value.a.b.c.e, 'value.a.b.c.e = <object>');
|
||||
|
||||
r = undefsafe(value, 'a.b.c.g');
|
||||
assert(r === true, 'bool(true)');
|
||||
|
||||
r = undefsafe(value, 'a.b.c.h');
|
||||
assert(r === false, 'bool(false)');
|
||||
|
||||
r = undefsafe(value, 'a.b.c.i');
|
||||
assert(r === undefined, 'undefined');
|
||||
|
||||
r = undefsafe(value, 'a.b.c.j');
|
||||
assert(r === null, 'null');
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue