svelte-meta-tags 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- export declare const deepMerge: <X extends Record<string | symbol | number, unknown>>(target: X, source: X) => X;
1
+ export declare const deepMerge: <X extends Record<string | symbol | number, any>>(target: X, source: X) => X;
package/dist/deepMerge.js CHANGED
@@ -1,26 +1,27 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  export const deepMerge = (target, source) => {
2
3
  if (!target || !source)
3
4
  return target ?? source ?? {};
4
- return Object.entries({ ...target, ...source }).reduce((acc, [key, value]) => {
5
- return {
6
- ...acc,
7
- [key]: (() => {
8
- if (target[key] instanceof Date || typeof target[key] === 'function') {
9
- return target[key];
10
- }
11
- if (value instanceof Date || typeof value === 'function') {
12
- return value;
13
- }
14
- if (isObject(target[key]) && isObject(value)) {
15
- return deepMerge(target[key], value);
16
- }
17
- if (isArray(target[key]) && isArray(value)) {
18
- return value;
19
- }
20
- return value !== undefined ? value : target[key];
21
- })()
22
- };
23
- }, {});
5
+ const result = { ...target };
6
+ for (const [key, value] of Object.entries(source)) {
7
+ const targetValue = target[key];
8
+ if (targetValue instanceof Date || typeof targetValue === 'function') {
9
+ result[key] = targetValue;
10
+ }
11
+ else if (value instanceof Date || typeof value === 'function') {
12
+ result[key] = value;
13
+ }
14
+ else if (isObject(targetValue) && isObject(value)) {
15
+ result[key] = deepMerge(targetValue, value);
16
+ }
17
+ else if (isArray(targetValue) && isArray(value)) {
18
+ result[key] = value;
19
+ }
20
+ else {
21
+ result[key] = value !== undefined ? value : targetValue;
22
+ }
23
+ }
24
+ return result;
24
25
  };
25
26
  const isObject = (obj) => obj !== null && typeof obj === 'object' && !Array.isArray(obj);
26
27
  const isArray = (obj) => Array.isArray(obj);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-meta-tags",
3
- "version": "4.0.2",
3
+ "version": "4.0.4",
4
4
  "description": "Svelte Meta Tags provides components designed to help you manage SEO for Svelte projects",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -26,8 +26,8 @@
26
26
  "@sveltejs/kit": "^2.7.2",
27
27
  "@sveltejs/package": "^2.3.6",
28
28
  "@sveltejs/vite-plugin-svelte": "^4.0.0",
29
- "publint": "^0.2.11",
30
- "svelte": "^5.1.0",
29
+ "publint": "^0.2.12",
30
+ "svelte": "^5.1.2",
31
31
  "svelte-check": "^4.0.5",
32
32
  "tslib": "^2.8.0",
33
33
  "typescript": "^5.6.3",
@@ -63,6 +63,7 @@
63
63
  "package": "svelte-kit sync && svelte-package && publint",
64
64
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
65
65
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
66
- "test": "vitest run"
66
+ "test": "vitest run",
67
+ "test:bench": "vitest bench"
67
68
  }
68
69
  }