first build

This commit is contained in:
2026-01-27 16:02:45 +03:30
parent f3a14141c7
commit a29cf38e4d
4891 changed files with 82192 additions and 426764 deletions
-69
View File
@@ -1,69 +0,0 @@
function isPlainObject(value) {
if (value === null || typeof value !== "object") {
return false;
}
const prototype = Object.getPrototypeOf(value);
if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {
return false;
}
if (Symbol.iterator in value) {
return false;
}
if (Symbol.toStringTag in value) {
return Object.prototype.toString.call(value) === "[object Module]";
}
return true;
}
function _defu(baseObject, defaults, namespace = ".", merger) {
if (!isPlainObject(defaults)) {
return _defu(baseObject, {}, namespace, merger);
}
const object = Object.assign({}, defaults);
for (const key in baseObject) {
if (key === "__proto__" || key === "constructor") {
continue;
}
const value = baseObject[key];
if (value === null || value === void 0) {
continue;
}
if (merger && merger(object, key, value, namespace)) {
continue;
}
if (Array.isArray(value) && Array.isArray(object[key])) {
object[key] = [...value, ...object[key]];
} else if (isPlainObject(value) && isPlainObject(object[key])) {
object[key] = _defu(
value,
object[key],
(namespace ? `${namespace}.` : "") + key.toString(),
merger
);
} else {
object[key] = value;
}
}
return object;
}
function createDefu(merger) {
return (...arguments_) => (
// eslint-disable-next-line unicorn/no-array-reduce
arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
);
}
const defu = createDefu();
const defuFn = createDefu((object, key, currentValue) => {
if (object[key] !== void 0 && typeof currentValue === "function") {
object[key] = currentValue(object[key]);
return true;
}
});
const defuArrayFn = createDefu((object, key, currentValue) => {
if (Array.isArray(object[key]) && typeof currentValue === "function") {
object[key] = currentValue(object[key]);
return true;
}
});
export { createDefu, defu as default, defu, defuArrayFn, defuFn };
-43
View File
@@ -1,43 +0,0 @@
{
"name": "defu",
"version": "6.1.4",
"description": "Recursively assign default properties. Lightweight and Fast!",
"repository": "unjs/defu",
"license": "MIT",
"exports": {
".": {
"types": "./dist/defu.d.ts",
"import": "./dist/defu.mjs",
"require": "./lib/defu.cjs"
}
},
"main": "./lib/defu.cjs",
"module": "./dist/defu.mjs",
"types": "./dist/defu.d.ts",
"files": [
"dist",
"lib"
],
"devDependencies": {
"@types/node": "^20.10.6",
"@vitest/coverage-v8": "^1.1.3",
"changelogen": "^0.5.5",
"eslint": "^8.56.0",
"eslint-config-unjs": "^0.2.1",
"expect-type": "^0.17.3",
"prettier": "^3.1.1",
"typescript": "^5.3.3",
"unbuild": "^2.0.0",
"vitest": "^1.1.3"
},
"packageManager": "pnpm@8.10.2",
"scripts": {
"build": "unbuild",
"dev": "vitest",
"lint": "eslint --ext .ts src && prettier -c src test",
"lint:fix": "eslint --ext .ts src --fix && prettier -w src test",
"release": "pnpm test && changelogen --release && git push --follow-tags && pnpm publish",
"test": "pnpm lint && pnpm vitest run",
"test:types": "tsc --noEmit"
}
}