type-plus 5.5.2 → 5.6.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.
@@ -5,6 +5,9 @@ export declare namespace stub {
5
5
  }
6
6
  export declare function stub<T>(stub?: stub.Param<T>): T;
7
7
  export declare namespace stub {
8
- var build: <T>(init?: Param<T> | undefined) => (value?: Param<T> | undefined) => T;
8
+ var build: {
9
+ <T>(): (stub?: Param<T> | undefined) => T;
10
+ <T_1>(init: RecursivePartial<T_1> | (() => RecursivePartial<T_1>)): (stub?: RecursivePartial<T_1> | undefined) => T_1;
11
+ };
9
12
  }
10
13
  //# sourceMappingURL=stub.d.ts.map
@@ -6,14 +6,13 @@ function stub(stub) {
6
6
  return stub;
7
7
  }
8
8
  exports.stub = stub;
9
- /**
10
- * builds a stub function
11
- */
12
- stub.build = function build(init) {
9
+ function build(init) {
13
10
  return function (value) {
14
- return init
15
- ? stub((0, unpartial_1.requiredDeep)(init, value))
11
+ var initValue = typeof init === 'function' ? init() : init;
12
+ return initValue
13
+ ? stub((0, unpartial_1.requiredDeep)(initValue, value))
16
14
  : stub(value);
17
15
  };
18
- };
16
+ }
17
+ stub.build = build;
19
18
  //# sourceMappingURL=stub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAQxC,SAAgB,IAAI,CAAI,IAAoB;IAC1C,OAAO,IAAS,CAAA;AAClB,CAAC;AAFD,oBAEC;AAED;;GAEG;AACH,IAAI,CAAC,KAAK,GAAG,SAAS,KAAK,CAAI,IAAoB;IACjD,OAAO,UAAU,KAAqB;QACpC,OAAO,IAAI;YACT,CAAC,CAAC,IAAI,CAAI,IAAA,wBAAY,EAAC,IAAW,EAAE,KAAY,CAAQ,CAAC;YACzD,CAAC,CAAC,IAAI,CAAI,KAAK,CAAC,CAAA;IACpB,CAAC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAQxC,SAAgB,IAAI,CAAI,IAAoB;IAC1C,OAAO,IAAS,CAAA;AAClB,CAAC;AAFD,oBAEC;AAOD,SAAS,KAAK,CAAI,IAAwD;IACxE,OAAO,UAAU,KAAqB;QACpC,IAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,CAAI,IAAA,wBAAY,EAAC,SAAS,EAAE,KAAK,CAAQ,CAAC;YAChD,CAAC,CAAC,IAAI,CAAI,KAAK,CAAC,CAAA;IACpB,CAAC,CAAA;AACH,CAAC;AAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA"}
@@ -44,5 +44,11 @@ describe('stub.build()', function () {
44
44
  expect(a).toEqual({ a: 1, b: 'b' });
45
45
  index_js_1.isType.equal();
46
46
  });
47
+ it('accepts a init function', function () {
48
+ var count = 0;
49
+ var s = index_js_1.stub.build(function () { return ({ a: count++ }); });
50
+ expect(s()).toEqual({ a: 0 });
51
+ expect(s()).toEqual({ a: 1 });
52
+ });
47
53
  });
48
54
  //# sourceMappingURL=stub.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stub.spec.js","sourceRoot":"","sources":["../../ts/testing/stub.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stub.spec.js","sourceRoot":"","sources":["../../ts/testing/stub.spec.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ export declare namespace stub {
5
5
  }
6
6
  export declare function stub<T>(stub?: stub.Param<T>): T;
7
7
  export declare namespace stub {
8
- var build: <T>(init?: Param<T> | undefined) => (value?: Param<T> | undefined) => T;
8
+ var build: {
9
+ <T>(): (stub?: Param<T> | undefined) => T;
10
+ <T_1>(init: RecursivePartial<T_1> | (() => RecursivePartial<T_1>)): (stub?: RecursivePartial<T_1> | undefined) => T_1;
11
+ };
9
12
  }
10
13
  //# sourceMappingURL=stub.d.ts.map
@@ -2,14 +2,13 @@ import { requiredDeep } from 'unpartial';
2
2
  export function stub(stub) {
3
3
  return stub;
4
4
  }
5
- /**
6
- * builds a stub function
7
- */
8
- stub.build = function build(init) {
5
+ function build(init) {
9
6
  return function (value) {
10
- return init
11
- ? stub(requiredDeep(init, value))
7
+ const initValue = typeof init === 'function' ? init() : init;
8
+ return initValue
9
+ ? stub(requiredDeep(initValue, value))
12
10
  : stub(value);
13
11
  };
14
- };
12
+ }
13
+ stub.build = build;
15
14
  //# sourceMappingURL=stub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAQxC,MAAM,UAAU,IAAI,CAAI,IAAoB;IAC1C,OAAO,IAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,IAAI,CAAC,KAAK,GAAG,SAAS,KAAK,CAAI,IAAoB;IACjD,OAAO,UAAU,KAAqB;QACpC,OAAO,IAAI;YACT,CAAC,CAAC,IAAI,CAAI,YAAY,CAAC,IAAW,EAAE,KAAY,CAAQ,CAAC;YACzD,CAAC,CAAC,IAAI,CAAI,KAAK,CAAC,CAAA;IACpB,CAAC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAQxC,MAAM,UAAU,IAAI,CAAI,IAAoB;IAC1C,OAAO,IAAS,CAAA;AAClB,CAAC;AAOD,SAAS,KAAK,CAAI,IAAwD;IACxE,OAAO,UAAU,KAAqB;QACpC,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,CAAI,YAAY,CAAC,SAAS,EAAE,KAAK,CAAQ,CAAC;YAChD,CAAC,CAAC,IAAI,CAAI,KAAK,CAAC,CAAA;IACpB,CAAC,CAAA;AACH,CAAC;AAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA"}
@@ -42,5 +42,11 @@ describe('stub.build()', () => {
42
42
  expect(a).toEqual({ a: 1, b: 'b' });
43
43
  isType.equal();
44
44
  });
45
+ it('accepts a init function', () => {
46
+ let count = 0;
47
+ const s = stub.build(() => ({ a: count++ }));
48
+ expect(s()).toEqual({ a: 0 });
49
+ expect(s()).toEqual({ a: 1 });
50
+ });
45
51
  });
46
52
  //# sourceMappingURL=stub.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stub.spec.js","sourceRoot":"","sources":["../../ts/testing/stub.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stub.spec.js","sourceRoot":"","sources":["../../ts/testing/stub.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "type-plus",
3
- "version": "5.5.2",
3
+ "version": "5.6.0",
4
4
  "description": "Provides additional types for TypeScript.",
5
5
  "homepage": "https://github.com/unional/type-plus",
6
6
  "bugs": {
@@ -13,10 +13,15 @@ export function stub<T>(stub?: stub.Param<T>) {
13
13
  /**
14
14
  * builds a stub function
15
15
  */
16
- stub.build = function build<T>(init?: stub.Param<T>) {
16
+ function build<T>(): (stub?: stub.Param<T>) => T
17
+ function build<T>(init: RecursivePartial<T> | (() => RecursivePartial<T>)): (stub?: RecursivePartial<T>) => T
18
+ function build<T>(init?: RecursivePartial<T> | (() => RecursivePartial<T>)) {
17
19
  return function (value?: stub.Param<T>) {
18
- return init
19
- ? stub<T>(requiredDeep(init as any, value as any) as any)
20
+ const initValue = typeof init === 'function' ? init() : init
21
+ return initValue
22
+ ? stub<T>(requiredDeep(initValue, value) as any)
20
23
  : stub<T>(value)
21
24
  }
22
25
  }
26
+
27
+ stub.build = build