@pixpilot/object 2.1.1 → 2.2.0

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.
@@ -38,6 +38,11 @@ function deepMergeMany(...objects) {
38
38
  * This provides direct access to the deepmerge function for advanced use cases,
39
39
  * allowing merging of multiple objects and custom options.
40
40
  *
41
+ * @param target - The target object to merge into
42
+ * @param source - The source object to merge from
43
+ * @param options - Optional deepmerge options
44
+ * @returns A new merged object containing properties from both target and source
45
+ *
41
46
  * @example
42
47
  * ```typescript
43
48
  * import { deepmerge } from '@pixpilot/object';
@@ -45,7 +50,8 @@ function deepMergeMany(...objects) {
45
50
  * // { a: 1, b: 2, c: 3 }
46
51
  * ```
47
52
  */
48
- function deepMerge(target, source) {
53
+ function deepMerge(target, source, options) {
54
+ if (options) return (0, __fastify_deepmerge.default)(options)(target, source);
49
55
  return getDeepMerge()(target, source);
50
56
  }
51
57
 
@@ -1,4 +1,7 @@
1
+ import { Options } from "@fastify/deepmerge";
2
+
1
3
  //#region src/deep-merge.d.ts
4
+
2
5
  /**
3
6
  * Deep merge multiple objects.
4
7
  *
@@ -23,6 +26,11 @@ declare function deepMergeMany<T extends Record<string, unknown>>(...objects: T[
23
26
  * This provides direct access to the deepmerge function for advanced use cases,
24
27
  * allowing merging of multiple objects and custom options.
25
28
  *
29
+ * @param target - The target object to merge into
30
+ * @param source - The source object to merge from
31
+ * @param options - Optional deepmerge options
32
+ * @returns A new merged object containing properties from both target and source
33
+ *
26
34
  * @example
27
35
  * ```typescript
28
36
  * import { deepmerge } from '@pixpilot/object';
@@ -30,6 +38,6 @@ declare function deepMergeMany<T extends Record<string, unknown>>(...objects: T[
30
38
  * // { a: 1, b: 2, c: 3 }
31
39
  * ```
32
40
  */
33
- declare function deepMerge<T extends Record<string, unknown>, U extends Record<string, unknown>>(target: T, source: U): T & U;
41
+ declare function deepMerge<T extends Record<string, unknown>, U extends Record<string, unknown>>(target: T, source: U, options?: Options): T & U;
34
42
  //#endregion
35
43
  export { deepMerge, deepMergeMany };
@@ -1,4 +1,7 @@
1
+ import { Options } from "@fastify/deepmerge";
2
+
1
3
  //#region src/deep-merge.d.ts
4
+
2
5
  /**
3
6
  * Deep merge multiple objects.
4
7
  *
@@ -23,6 +26,11 @@ declare function deepMergeMany<T extends Record<string, unknown>>(...objects: T[
23
26
  * This provides direct access to the deepmerge function for advanced use cases,
24
27
  * allowing merging of multiple objects and custom options.
25
28
  *
29
+ * @param target - The target object to merge into
30
+ * @param source - The source object to merge from
31
+ * @param options - Optional deepmerge options
32
+ * @returns A new merged object containing properties from both target and source
33
+ *
26
34
  * @example
27
35
  * ```typescript
28
36
  * import { deepmerge } from '@pixpilot/object';
@@ -30,6 +38,6 @@ declare function deepMergeMany<T extends Record<string, unknown>>(...objects: T[
30
38
  * // { a: 1, b: 2, c: 3 }
31
39
  * ```
32
40
  */
33
- declare function deepMerge<T extends Record<string, unknown>, U extends Record<string, unknown>>(target: T, source: U): T & U;
41
+ declare function deepMerge<T extends Record<string, unknown>, U extends Record<string, unknown>>(target: T, source: U, options?: Options): T & U;
34
42
  //#endregion
35
43
  export { deepMerge, deepMergeMany };
@@ -36,6 +36,11 @@ function deepMergeMany(...objects) {
36
36
  * This provides direct access to the deepmerge function for advanced use cases,
37
37
  * allowing merging of multiple objects and custom options.
38
38
  *
39
+ * @param target - The target object to merge into
40
+ * @param source - The source object to merge from
41
+ * @param options - Optional deepmerge options
42
+ * @returns A new merged object containing properties from both target and source
43
+ *
39
44
  * @example
40
45
  * ```typescript
41
46
  * import { deepmerge } from '@pixpilot/object';
@@ -43,7 +48,8 @@ function deepMergeMany(...objects) {
43
48
  * // { a: 1, b: 2, c: 3 }
44
49
  * ```
45
50
  */
46
- function deepMerge(target, source) {
51
+ function deepMerge(target, source, options) {
52
+ if (options) return deepmerge(options)(target, source);
47
53
  return getDeepMerge()(target, source);
48
54
  }
49
55
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pixpilot/object",
3
3
  "type": "module",
4
- "version": "2.1.1",
4
+ "version": "2.2.0",
5
5
  "description": "A collection of utility functions for object manipulation and transformation.",
6
6
  "author": "Pixpilot <m.doaie@hotmail.com>",
7
7
  "license": "MIT",
@@ -38,8 +38,8 @@
38
38
  "@internal/eslint-config": "0.3.0",
39
39
  "@internal/prettier-config": "0.0.1",
40
40
  "@internal/tsconfig": "0.1.0",
41
- "@internal/tsdown-config": "0.1.0",
42
- "@internal/vitest-config": "0.1.0"
41
+ "@internal/vitest-config": "0.1.0",
42
+ "@internal/tsdown-config": "0.1.0"
43
43
  },
44
44
  "prettier": "@internal/prettier-config",
45
45
  "scripts": {