Beta 7 with some repo names changed.

This commit is contained in:
Luis Fernando Molina committed 2020-11-15 13:05:19 +01:00
1 parent 0f7b40cca7
commit 963c19493a
3408 files changed
+462217 -15516

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
module.exports = extend
var hasOwnProperty = Object.prototype.hasOwnProperty;
function extend() {
var target = {}
for (var i = 0; i < arguments.length; i++) {
var source = arguments[i]
for (var key in source) {
if (hasOwnProperty.call(source, key)) {
target[key] = source[key]
}
}
}
return target
}
+17
View File
@@ -0,0 +1,17 @@
module.exports = extend
var hasOwnProperty = Object.prototype.hasOwnProperty;
function extend(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i]
for (var key in source) {
if (hasOwnProperty.call(source, key)) {
target[key] = source[key]
}
}
}
return target
}
+86
View File
@@ -0,0 +1,86 @@
{
"_from": "xtend@^4.0.0",
"_id": "xtend@4.0.2",
"_inBundle": false,
"_integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"_location": "/xtend",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "xtend@^4.0.0",
"name": "xtend",
"escapedName": "xtend",
"rawSpec": "^4.0.0",
"saveSpec": null,
"fetchSpec": "^4.0.0"
},
"_requiredBy": [
"/xhr"
],
"_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"_shasum": "bb72779f5fa465186b1f438f674fa347fdb5db54",
"_spec": "xtend@^4.0.0",
"_where": "C:\\Users\\Luis\\source\\repos\\AAMasters\\BackendServers\\node_modules\\xhr",
"author": {
"name": "Raynos",
"email": "raynos2@gmail.com"
},
"bugs": {
"url": "https://github.com/Raynos/xtend/issues",
"email": "raynos2@gmail.com"
},
"bundleDependencies": false,
"contributors": [
{
"name": "Jake Verbaten"
},
{
"name": "Matt Esch"
}
],
"dependencies": {},
"deprecated": false,
"description": "extend like a boss",
"devDependencies": {
"tape": "~1.1.0"
},
"engines": {
"node": ">=0.4"
},
"homepage": "https://github.com/Raynos/xtend",
"keywords": [
"extend",
"merge",
"options",
"opts",
"object",
"array"
],
"license": "MIT",
"main": "immutable",
"name": "xtend",
"repository": {
"type": "git",
"url": "git://github.com/Raynos/xtend.git"
},
"scripts": {
"test": "node test"
},
"testling": {
"files": "test.js",
"browsers": [
"ie/7..latest",
"firefox/16..latest",
"firefox/nightly",
"chrome/22..latest",
"chrome/canary",
"opera/12..latest",
"opera/next",
"safari/5.1..latest",
"ipad/6.0..latest",
"iphone/6.0..latest"
]
},
"version": "4.0.2"
}
+103
View File
@@ -0,0 +1,103 @@
var test = require("tape")
var extend = require("./")
var mutableExtend = require("./mutable")
test("merge", function(assert) {
var a = { a: "foo" }
var b = { b: "bar" }
assert.deepEqual(extend(a, b), { a: "foo", b: "bar" })
assert.end()
})
test("replace", function(assert) {
var a = { a: "foo" }
var b = { a: "bar" }
assert.deepEqual(extend(a, b), { a: "bar" })
assert.end()
})
test("undefined", function(assert) {
var a = { a: undefined }
var b = { b: "foo" }
assert.deepEqual(extend(a, b), { a: undefined, b: "foo" })
assert.deepEqual(extend(b, a), { a: undefined, b: "foo" })
assert.end()
})
test("handle 0", function(assert) {
var a = { a: "default" }
var b = { a: 0 }
assert.deepEqual(extend(a, b), { a: 0 })
assert.deepEqual(extend(b, a), { a: "default" })
assert.end()
})
test("is immutable", function (assert) {
var record = {}
extend(record, { foo: "bar" })
assert.equal(record.foo, undefined)
assert.end()
})
test("null as argument", function (assert) {
var a = { foo: "bar" }
var b = null
var c = void 0
assert.deepEqual(extend(b, a, c), { foo: "bar" })
assert.end()
})
test("mutable", function (assert) {
var a = { foo: "bar" }
mutableExtend(a, { bar: "baz" })
assert.equal(a.bar, "baz")
assert.end()
})
test("null prototype", function(assert) {
var a = { a: "foo" }
var b = Object.create(null)
b.b = "bar";
assert.deepEqual(extend(a, b), { a: "foo", b: "bar" })
assert.end()
})
test("null prototype mutable", function (assert) {
var a = { foo: "bar" }
var b = Object.create(null)
b.bar = "baz";
mutableExtend(a, b)
assert.equal(a.bar, "baz")
assert.end()
})
test("prototype pollution", function (assert) {
var a = {}
var maliciousPayload = '{"__proto__":{"oops":"It works!"}}'
assert.strictEqual(a.oops, undefined)
extend({}, maliciousPayload)
assert.strictEqual(a.oops, undefined)
assert.end()
})
test("prototype pollution mutable", function (assert) {
var a = {}
var maliciousPayload = '{"__proto__":{"oops":"It works!"}}'
assert.strictEqual(a.oops, undefined)
mutableExtend({}, maliciousPayload)
assert.strictEqual(a.oops, undefined)
assert.end()
})