Files
lan-manager/web/node_modules/@antv/util/lib/extend.js
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

35 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var mix_1 = require("./mix");
var is_function_1 = require("./is-function");
var extend = function (subclass, superclass, overrides, staticOverrides) {
// 如果只提供父类构造函数,则自动生成子类构造函数
if (!is_function_1.default(superclass)) {
overrides = superclass;
superclass = subclass;
subclass = function () { };
}
var create = Object.create ?
function (proto, c) {
return Object.create(proto, {
constructor: {
value: c
}
});
} :
function (proto, c) {
function Tmp() { }
Tmp.prototype = proto;
var o = new Tmp();
o.constructor = c;
return o;
};
var superObj = create(superclass.prototype, subclass); // new superclass(),//实例化父类作为子类的prototype
subclass.prototype = mix_1.default(superObj, subclass.prototype); // 指定子类的prototype
subclass.superclass = create(superclass.prototype, superclass);
mix_1.default(superObj, overrides);
mix_1.default(subclass, staticOverrides);
return subclass;
};
exports.default = extend;
//# sourceMappingURL=extend.js.map