@aklinker1/zero-factory 1.0.0 → 1.0.2

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.
package/README.md CHANGED
@@ -103,12 +103,12 @@ const user = userFactory({
103
103
  You can generate multiple objects using `factory.many(...)`. This method will return an array of objects.
104
104
 
105
105
  ```ts
106
- userFactory.many(2, { username: "override" })
106
+ userFactory.many(2, { username: "override" });
107
107
  // [
108
108
  // { usenrame: "override", ... }
109
109
  // { usenrame: "override", ... }
110
110
  // ]
111
- ````
111
+ ```
112
112
 
113
113
  Overridden fields apply to all the returned objects.
114
114
 
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ function applyOverride(base, override) {
20
20
  return override === undefined ? base : override;
21
21
  }
22
22
  function isMergeable(val) {
23
- return val != null && typeof val === "object" && !Array.isArray(val);
23
+ return val != null && typeof val === "object" && !Array.isArray(val) && !(val instanceof Date);
24
24
  }
25
25
  function resolveDefaults(val) {
26
26
  const result = {};
package/dist/utils.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Deeply make objects partial, but ignoring arrays.
3
3
  */
4
- export type DeepPartial<T> = T extends Array<any> ? T : T extends Record<string, any> ? {
4
+ export type DeepPartial<T> = T extends any[] | Date ? T : T extends Record<string, any> ? {
5
5
  [key in keyof T]?: DeepPartial<T[key]>;
6
6
  } : T;
7
7
  /**
@@ -9,6 +9,6 @@ export type DeepPartial<T> = T extends Array<any> ? T : T extends Record<string,
9
9
  */
10
10
  export declare function deepMerge<T>(base: T, overrides: DeepPartial<T>): T;
11
11
  export type FactoryDefaults<T extends Record<string, any>> = {
12
- [Key in keyof T]: T[Key] extends Array<any> ? T[Key] | (() => T[Key]) : T[Key] extends Record<string, any> ? FactoryDefaults<T[Key]> : T[Key] extends Function ? never : T[Key] | (() => T[Key]);
12
+ [Key in keyof T]: T[Key] extends any[] | Date ? T[Key] | (() => T[Key]) : T[Key] extends Record<string, any> ? FactoryDefaults<T[Key]> : T[Key] extends Function ? never : T[Key] | (() => T[Key]);
13
13
  };
14
14
  export declare function resolveDefaults<T extends Record<string, any>>(val: FactoryDefaults<T>): T;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aklinker1/zero-factory",
3
3
  "description": "Zero dependency object factory generator for testing",
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "packageManager": "bun@1.2.20",
6
6
  "type": "module",
7
7
  "license": "MIT",