Skip to content

Commit c4e054d

Browse files
fix: drop merge-descriptors in favor of a native mixin helper
1 parent a479419 commit c4e054d

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

lib/express.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
var bodyParser = require('body-parser')
1616
var EventEmitter = require('node:events').EventEmitter;
17-
var mixin = require('merge-descriptors');
1817
var proto = require('./application');
1918
var Router = require('router');
2019
var req = require('./request');
@@ -79,3 +78,27 @@ exports.raw = bodyParser.raw
7978
exports.static = require('serve-static');
8079
exports.text = bodyParser.text
8180
exports.urlencoded = bodyParser.urlencoded
81+
82+
/**
83+
* Copy the named property descriptors from `source` to `target`.
84+
* Overwrites existing properties by default unless `overwrite` is `false`.
85+
* @private
86+
*/
87+
function mixin(target, source, overwrite) {
88+
if (overwrite === undefined) {
89+
overwrite = true;
90+
}
91+
92+
var names = Object.getOwnPropertyNames(source);
93+
for (var i = 0; i < names.length; i++) {
94+
var name = names[i];
95+
if (overwrite === false && Object.prototype.hasOwnProperty.call(target, name)) {
96+
continue;
97+
}
98+
99+
var descriptor = Object.getOwnPropertyDescriptor(source, name);
100+
Object.defineProperty(target, name, descriptor);
101+
}
102+
103+
return target;
104+
}

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
"finalhandler": "^2.1.0",
4747
"fresh": "^2.0.0",
4848
"http-errors": "^2.0.0",
49-
"merge-descriptors": "^2.0.0",
5049
"mime-types": "^3.0.0",
5150
"on-finished": "^2.4.1",
5251
"once": "^1.4.0",

0 commit comments

Comments
 (0)