type-plus 6.8.0 → 6.8.1

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
@@ -327,8 +327,6 @@ You can learn more in their respective sections:
327
327
  - [unknown](./ts/unknown/readme.md)
328
328
  - [void](./ts/void/readme.md)
329
329
 
330
- These checks
331
-
332
330
  ## Type Utilities
333
331
 
334
332
  `type-plus` also provides additional type utilities.
@@ -1 +1 @@
1
- {"version":3,"file":"stub.d.ts","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;yBAA9C,IAAI;;;QAgClB;;;;;;;WAOG;;QAKH;;WAEG"}
1
+ {"version":3,"file":"stub.d.ts","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;yBAA9C,IAAI;;;QAqClB;;;;;;;WAOG;;QAIH;;WAEG"}
@@ -24,7 +24,9 @@ function build(init) {
24
24
  * ```
25
25
  */
26
26
  function builder(init) {
27
- const initializers = [init];
27
+ return builderInternal([init]);
28
+ }
29
+ function builderInternal(initializers) {
28
30
  const builder = {
29
31
  /**
30
32
  * Adds an init object or handler to the builder.
@@ -35,8 +37,7 @@ function builder(init) {
35
37
  * @return {Builder<T>} The builder instance.
36
38
  */
37
39
  with(init) {
38
- initializers.push(init);
39
- return builder;
40
+ return builderInternal([...initializers, init]);
40
41
  },
41
42
  /**
42
43
  * Creates the resulting stub function.
@@ -1 +1 @@
1
- {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAWxC,SAAgB,IAAI,CAAI,IAAa;IACpC,OAAO,IAAS,CAAA;AACjB,CAAC;AAFD,oBAEC;AAQD,SAAS,KAAK,CAAI,IAAiF;IAClG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,OAAO,CAAI,IAAiF;IACpG,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,MAAM,OAAO,GAAG;QACf;;;;;;;WAOG;QACH,IAAI,CAAC,IAAiF;YACrF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvB,OAAO,OAAO,CAAA;QACf,CAAC;QACD;;WAEG;QAEH,MAAM;YACL,OAAO,CAAC,IAA0B,EAAE,EAAE;gBACrC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;wBAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;qBAChB;oBACD,OAAO,IAAA,wBAAY,EAAsB,IAAI,EAAE,GAAG,CAAC,CAAA;gBACpD,CAAC,EAAE,IAAI,CAAM,CAAA;YACd,CAAC,CAAA;QACF,CAAC;KACD,CAAA;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAWxC,SAAgB,IAAI,CAAI,IAAa;IACpC,OAAO,IAAS,CAAA;AACjB,CAAC;AAFD,oBAEC;AAQD,SAAS,KAAK,CAAI,IAAiF;IAClG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,OAAO,CAAI,IAAiF;IACpG,OAAO,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,eAAe,CACvB,YAAgG;IAEhG,MAAM,OAAO,GAAG;QACf;;;;;;;WAOG;QACH,IAAI,CAAC,IAAiF;YACrF,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;QAChD,CAAC;QACD;;WAEG;QAEH,MAAM;YACL,OAAO,CAAC,IAA0B,EAAE,EAAE;gBACrC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;wBAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;qBAChB;oBACD,OAAO,IAAA,wBAAY,EAAsB,IAAI,EAAE,GAAG,CAAC,CAAA;gBACpD,CAAC,EAAE,IAAI,CAAM,CAAA;YACd,CAAC,CAAA;QACF,CAAC;KACD,CAAA;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"stub.d.ts","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;yBAA9C,IAAI;;;QAgClB;;;;;;;WAOG;;QAKH;;WAEG"}
1
+ {"version":3,"file":"stub.d.ts","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;yBAA9C,IAAI;;;QAqClB;;;;;;;WAOG;;QAIH;;WAEG"}
@@ -20,7 +20,9 @@ function build(init) {
20
20
  * ```
21
21
  */
22
22
  function builder(init) {
23
- const initializers = [init];
23
+ return builderInternal([init]);
24
+ }
25
+ function builderInternal(initializers) {
24
26
  const builder = {
25
27
  /**
26
28
  * Adds an init object or handler to the builder.
@@ -31,8 +33,7 @@ function builder(init) {
31
33
  * @return {Builder<T>} The builder instance.
32
34
  */
33
35
  with(init) {
34
- initializers.push(init);
35
- return builder;
36
+ return builderInternal([...initializers, init]);
36
37
  },
37
38
  /**
38
39
  * Creates the resulting stub function.
@@ -1 +1 @@
1
- {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAWxC,MAAM,UAAU,IAAI,CAAI,IAAa;IACpC,OAAO,IAAS,CAAA;AACjB,CAAC;AAQD,SAAS,KAAK,CAAI,IAAiF;IAClG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,OAAO,CAAI,IAAiF;IACpG,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,CAAA;IAC3B,MAAM,OAAO,GAAG;QACf;;;;;;;WAOG;QACH,IAAI,CAAC,IAAiF;YACrF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACvB,OAAO,OAAO,CAAA;QACf,CAAC;QACD;;WAEG;QAEH,MAAM;YACL,OAAO,CAAC,IAA0B,EAAE,EAAE;gBACrC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;wBAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;qBAChB;oBACD,OAAO,YAAY,CAAsB,IAAI,EAAE,GAAG,CAAC,CAAA;gBACpD,CAAC,EAAE,IAAI,CAAM,CAAA;YACd,CAAC,CAAA;QACF,CAAC;KACD,CAAA;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA"}
1
+ {"version":3,"file":"stub.js","sourceRoot":"","sources":["../../ts/testing/stub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAWxC,MAAM,UAAU,IAAI,CAAI,IAAa;IACpC,OAAO,IAAS,CAAA;AACjB,CAAC;AAQD,SAAS,KAAK,CAAI,IAAiF;IAClG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,OAAO,CAAI,IAAiF;IACpG,OAAO,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,eAAe,CACvB,YAAgG;IAEhG,MAAM,OAAO,GAAG;QACf;;;;;;;WAOG;QACH,IAAI,CAAC,IAAiF;YACrF,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,CAAA;QAChD,CAAC;QACD;;WAEG;QAEH,MAAM;YACL,OAAO,CAAC,IAA0B,EAAE,EAAE;gBACrC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;wBAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;qBAChB;oBACD,OAAO,YAAY,CAAsB,IAAI,EAAE,GAAG,CAAC,CAAA;gBACpD,CAAC,EAAE,IAAI,CAAM,CAAA;YACd,CAAC,CAAA;QACF,CAAC;KACD,CAAA;IACD,OAAO,OAAO,CAAA;AACf,CAAC;AACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;AAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "type-plus",
3
- "version": "6.8.0",
3
+ "version": "6.8.1",
4
4
  "description": "Provides additional types for TypeScript.",
5
5
  "homepage": "https://github.com/unional/type-plus",
6
6
  "bugs": {
@@ -91,7 +91,7 @@
91
91
  "test:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest --watch",
92
92
  "verify": "npm-run-all clean -p build depcheck lint coverage -p size",
93
93
  "version": "changeset version",
94
- "watch": "jest --watch",
95
- "w": "jest --watch"
94
+ "watch": "cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest --watch",
95
+ "w": "cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest --watch"
96
96
  }
97
97
  }
@@ -38,7 +38,12 @@ function build<T>(init: RecursivePartial<T> | ((stub?: RecursivePartial<T>) => R
38
38
  * ```
39
39
  */
40
40
  function builder<T>(init: RecursivePartial<T> | ((stub?: RecursivePartial<T>) => RecursivePartial<T>)) {
41
- const initializers = [init]
41
+ return builderInternal([init])
42
+ }
43
+
44
+ function builderInternal<T>(
45
+ initializers: Array<RecursivePartial<T> | ((stub?: RecursivePartial<T>) => RecursivePartial<T>)>
46
+ ) {
42
47
  const builder = {
43
48
  /**
44
49
  * Adds an init object or handler to the builder.
@@ -49,8 +54,7 @@ function builder<T>(init: RecursivePartial<T> | ((stub?: RecursivePartial<T>) =>
49
54
  * @return {Builder<T>} The builder instance.
50
55
  */
51
56
  with(init: RecursivePartial<T> | ((stub?: RecursivePartial<T>) => RecursivePartial<T>)) {
52
- initializers.push(init)
53
- return builder
57
+ return builderInternal([...initializers, init])
54
58
  },
55
59
  /**
56
60
  * Creates the resulting stub function.
@@ -69,6 +73,5 @@ function builder<T>(init: RecursivePartial<T> | ((stub?: RecursivePartial<T>) =>
69
73
  }
70
74
  return builder
71
75
  }
72
-
73
76
  stub.build = build
74
77
  stub.builder = builder
@@ -1,7 +1,6 @@
1
- # unknown
1
+ # Tuple
2
2
 
3
- `unknown` is one of the top type in TypeScript.
4
- It is a "safer" variant of `any` that you cannot use the value until there are some type guards or type assertions to the value.
3
+ A *tuple type* is another sort of `Array` type that knows exactly how many elements it contains, and exactly which types it contains at specific positions.
5
4
 
6
5
  ## Type Checking
7
6
 
@@ -10,18 +9,20 @@ The `TupleType<T>` and friends are used to check if `T` is a tuple, excluding ar
10
9
  ```ts
11
10
  import type { TupleType } from 'type-plus'
12
11
 
13
- type R = TupleType<unknown> // unknown
12
+ type R = TupleType<[]> // []
13
+ type R = TupleType<[1]> // [1]
14
14
 
15
- type R = TupleType<1> // never
15
+ type R = TupleType<number[]> // never
16
+ type R = TupleType<number> // never
16
17
  ```
17
18
 
18
- - [`TupleType<T, Then = T, Else = never>`](unknown_type.ts#L16): check if `T` is `unknown`.
19
- - [`IsUnknown<T, Then = true, Else = false`](unknown_type.ts#L35): is `T` `unknown`.
20
- - [`NotUnknownType<T, Then = T, Else = never>`](unknown_type.ts#L50): check if `T` is not `unknown`.
21
- - [`IsNotUnknown<T, Then = true, Else = false>`](unknown_type.ts#L65): is `T` not `unknown`.
19
+ - [`TupleType<T, Then = T, Else = never>`](tuple_type.ts#L16): check if `T` is a *tuple*.
20
+ - [`IsTuple<T, Then = true, Else = false`](tuple_type.ts#L35): is `T` *tuple*.
21
+ - [`NotTupleType<T, Then = T, Else = never>`](tuple_type.ts#L50): check if `T` is not *tuple*.
22
+ - [`IsNotTuple<T, Then = true, Else = false>`](tuple_type.ts#L65): is `T` not *tuple*.
22
23
 
23
24
  ## References
24
25
 
25
26
  - [Handbook]
26
27
 
27
- [handbook]: https://www.typescriptlang.org/docs/handbook/2/functions.html#unknown
28
+ [handbook]: https://www.typescriptlang.org/docs/handbook/2/objects.html#tuple-types