@nestia/fetcher 2.2.1 → 2.2.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.
@@ -24,7 +24,7 @@
24
24
  * `String` | `string`
25
25
  * `Class` | `object`
26
26
  * `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`
27
- * Native Class | `{}`
27
+ * Native Class | never
28
28
  * Others | No change
29
29
  *
30
30
  * @template Instance Target argument type.
@@ -34,7 +34,7 @@
34
34
  */
35
35
  export type Primitive<T> = Equal<T, PrimitiveMain<T>> extends true ? T : PrimitiveMain<T>;
36
36
  type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
37
- type PrimitiveMain<Instance> = Instance extends [never] ? never : ValueOf<Instance> extends bigint ? never : ValueOf<Instance> extends boolean | number | string ? ValueOf<Instance> : Instance extends Function ? never : ValueOf<Instance> extends object ? Instance extends object ? Instance extends NativeClass ? {} : Instance extends IJsonable<infer Raw> ? ValueOf<Raw> extends object ? Raw extends object ? PrimitiveObject<Raw> : never : ValueOf<Raw> : PrimitiveObject<Instance> : never : ValueOf<Instance>;
37
+ type PrimitiveMain<Instance> = Instance extends [never] ? never : ValueOf<Instance> extends bigint ? never : ValueOf<Instance> extends boolean | number | string ? ValueOf<Instance> : Instance extends Function ? never : ValueOf<Instance> extends object ? Instance extends object ? Instance extends NativeClass ? never : Instance extends IJsonable<infer Raw> ? ValueOf<Raw> extends object ? Raw extends object ? PrimitiveObject<Raw> : never : ValueOf<Raw> : PrimitiveObject<Instance> : never : ValueOf<Instance>;
38
38
  type PrimitiveObject<Instance extends object> = Instance extends Array<infer T> ? IsTuple<Instance> extends true ? PrimitiveTuple<Instance> : PrimitiveMain<T>[] : {
39
39
  [P in keyof Instance]: PrimitiveMain<Instance[P]>;
40
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/fetcher",
3
- "version": "2.2.1",
3
+ "version": "2.2.2",
4
4
  "description": "Fetcher library of Nestia SDK",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
package/src/Primitive.ts CHANGED
@@ -24,7 +24,7 @@
24
24
  * `String` | `string`
25
25
  * `Class` | `object`
26
26
  * `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`
27
- * Native Class | `{}`
27
+ * Native Class | never
28
28
  * Others | No change
29
29
  *
30
30
  * @template Instance Target argument type.
@@ -49,7 +49,7 @@ type PrimitiveMain<Instance> = Instance extends [never]
49
49
  : ValueOf<Instance> extends object
50
50
  ? Instance extends object
51
51
  ? Instance extends NativeClass
52
- ? {}
52
+ ? never
53
53
  : Instance extends IJsonable<infer Raw>
54
54
  ? ValueOf<Raw> extends object
55
55
  ? Raw extends object