@nestia/fetcher 2.0.0-dev.20230907 → 2.0.0-dev.20230908

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.
@@ -41,6 +41,6 @@ export declare namespace EncryptedFetcher {
41
41
  * @return Response body data from the remote API
42
42
  */
43
43
  function fetch<Input, Output>(connection: IConnection, route: IFetchRoute<"POST" | "PUT" | "PATCH" | "DELETE">, input?: Input, stringify?: (input: Input) => string): Promise<Primitive<Output>>;
44
- function propagate<Output extends IPropagation<number, any, boolean>>(connection: IConnection, route: IFetchRoute<"HEAD">): Promise<Output>;
45
- function propagate<Input, Output extends IPropagation<number, any, boolean>>(connection: IConnection, route: IFetchRoute<"HEAD">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;
44
+ function propagate<Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<"HEAD">): Promise<Output>;
45
+ function propagate<Input, Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<"HEAD">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedFetcher.js","sourceRoot":"","sources":["../src/EncryptedFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EncryptedFetcher.js","sourceRoot":"","sources":["../src/EncryptedFetcher.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,40 @@
1
- import { Primitive } from "./Primitive";
2
- export interface IPropagation<Status extends number, Data, Success extends boolean = Status extends 200 | 201 ? true : false> {
3
- status: Status;
4
- data: Primitive<Data>;
5
- success: Success;
6
- headers: Record<string, string | string[]>;
7
- }
1
+ /**
2
+ * Propagation type.
3
+ *
4
+ * @template StatusMap Map of status code and its body data type.
5
+ * @template Success Default success status code.
6
+ * @author Jeongho Nam - https://github.com/samchon
7
+ */
8
+ export type IPropagation<StatusMap extends {
9
+ [P in IPropagation.Status]?: any;
10
+ }, Success extends number = 200 | 201> = {
11
+ [P in keyof StatusMap]: IPropagation.IBranch<P extends Success ? true : false, P, StatusMap[P]>;
12
+ }[keyof StatusMap] | IPropagation.IBranch<false, number, any>;
8
13
  export declare namespace IPropagation {
14
+ /**
15
+ * Type of configurable status codes.
16
+ *
17
+ * The special characters like `2XX`, `3XX`, `4XX`, `5XX` are meaning the range
18
+ * of status codes. If `5XX` is specified, it means the status code is in the
19
+ * range of `500` to `599`.
20
+ */
21
+ export type Status = number | "2XX" | "3XX" | "4XX" | "5XX";
22
+ /**
23
+ * Branch type of propagation.
24
+ *
25
+ * `IPropagation.IBranch` is a branch type composing `IPropagation` type,
26
+ * which is gathering all possible status codes and their body data types
27
+ * as a union type.
28
+ */
29
+ export interface IBranch<Success extends boolean, StatusValue, BodyData> {
30
+ success: Success;
31
+ status: StatusValue extends "2XX" | "3XX" | "4XX" | "5XX" ? StatusRange<StatusValue> : StatusValue extends number ? StatusValue : never;
32
+ data: BodyData;
33
+ headers: Record<string, string | string[]>;
34
+ }
35
+ /**
36
+ * Range of status codes by the first digit.
37
+ */
9
38
  export type StatusRange<T extends "2XX" | "3XX" | "4XX" | "5XX"> = T extends 0 ? IntRange<200, 299> : T extends 3 ? IntRange<300, 399> : T extends 4 ? IntRange<400, 499> : IntRange<500, 599>;
10
39
  type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
11
40
  type Enumerate<N extends number, Acc extends number[] = []> = Acc["length"] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc["length"]]>;
@@ -42,6 +42,6 @@ export declare namespace PlainFetcher {
42
42
  * @return Response body data from the remote API
43
43
  */
44
44
  function fetch<Input, Output>(connection: IConnection, route: IFetchRoute<"POST" | "PUT" | "PATCH" | "DELETE">, input?: Input, stringify?: (input: Input) => string): Promise<Primitive<Output>>;
45
- function propagate<Output extends IPropagation<number, any, boolean>>(connection: IConnection, route: IFetchRoute<"HEAD">): Promise<Output>;
46
- function propagate<Input, Output extends IPropagation<number, any, boolean>>(connection: IConnection, route: IFetchRoute<"HEAD">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;
45
+ function propagate<Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<"HEAD">): Promise<Output>;
46
+ function propagate<Input, Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<"HEAD">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlainFetcher.js","sourceRoot":"","sources":["../src/PlainFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sDAAqD;AAGrD;;;;;;;;;;;;;;GAcG;AACH,IAAiB,YAAY,CAmG5B;AAnGD,WAAiB,YAAY;IAuCzB,SAAsB,KAAK,CACvB,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;;;;gBAEpC,IACI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,SAAS,MAAK,IAAI;oBACjC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,SAAS,MAAK,IAAI;oBAElC,MAAM,IAAI,KAAK,CACX,4GAA4G,CAC/G,CAAC;gBACN,sBAAO,yBAAW,CAAC,KAAK,CAAC;wBACrB,SAAS,EAAE,cAAc;wBACzB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;wBACxB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;qBAC3B,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAC;;;KAC3C;IApBqB,kBAAK,QAoB1B,CAAA;IAgBD,SAAsB,SAAS,CAI3B,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;;;;gBAEpC,IACI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,SAAS,MAAK,IAAI;oBACjC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,SAAS,MAAK,IAAI;oBAElC,MAAM,IAAI,KAAK,CACX,gHAAgH,CACnH,CAAC;gBACN,sBAAO,yBAAW,CAAC,SAAS,CAAC;wBACzB,SAAS,EAAE,cAAc;wBACzB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;wBACxB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;qBAC3B,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAoB,EAAC;;;KAC9D;IAvBqB,sBAAS,YAuB9B,CAAA;AACL,CAAC,EAnGgB,YAAY,4BAAZ,YAAY,QAmG5B"}
1
+ {"version":3,"file":"PlainFetcher.js","sourceRoot":"","sources":["../src/PlainFetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sDAAqD;AAGrD;;;;;;;;;;;;;;GAcG;AACH,IAAiB,YAAY,CAiG5B;AAjGD,WAAiB,YAAY;IAuCzB,SAAsB,KAAK,CACvB,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;;;;gBAEpC,IACI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,SAAS,MAAK,IAAI;oBACjC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,SAAS,MAAK,IAAI;oBAElC,MAAM,IAAI,KAAK,CACX,4GAA4G,CAC/G,CAAC;gBACN,sBAAO,yBAAW,CAAC,KAAK,CAAC;wBACrB,SAAS,EAAE,cAAc;wBACzB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;wBACxB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;qBAC3B,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAC;;;KAC3C;IApBqB,kBAAK,QAoB1B,CAAA;IAcD,SAAsB,SAAS,CAI3B,UAAuB,EACvB,KAEC,EACD,KAAa,EACb,SAAoC;;;;gBAEpC,IACI,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,SAAS,MAAK,IAAI;oBACjC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,SAAS,MAAK,IAAI;oBAElC,MAAM,IAAI,KAAK,CACX,gHAAgH,CACnH,CAAC;gBACN,sBAAO,yBAAW,CAAC,SAAS,CAAC;wBACzB,SAAS,EAAE,cAAc;wBACzB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;wBACxB,MAAM,EAAE,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK;qBAC3B,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAoB,EAAC;;;KAC9D;IAvBqB,sBAAS,YAuB9B,CAAA;AACL,CAAC,EAjGgB,YAAY,4BAAZ,YAAY,QAiG5B"}
@@ -9,5 +9,5 @@ export declare namespace FetcherBase {
9
9
  decode: (input: string, headers: Record<string, IConnection.HeaderValue | undefined>) => any;
10
10
  }
11
11
  const fetch: (props: IProps) => <Input, Output>(connection: IConnection, route: IFetchRoute<"DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT">, input?: Input | undefined, stringify?: ((input: Input) => string) | undefined) => Promise<Primitive<Output>>;
12
- const propagate: (props: IProps) => <Input>(connection: IConnection, route: IFetchRoute<"DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT">, input?: Input | undefined, stringify?: ((input: Input) => string) | undefined) => Promise<IPropagation<any, any, any>>;
12
+ const propagate: (props: IProps) => <Input>(connection: IConnection, route: IFetchRoute<"DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT">, input?: Input | undefined, stringify?: ((input: Input) => string) | undefined) => Promise<IPropagation<any, any>>;
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FetcherBase.js","sourceRoot":"","sources":["../../src/internal/FetcherBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FetcherBase.js","sourceRoot":"","sources":["../../src/internal/FetcherBase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/fetcher",
3
- "version": "2.0.0-dev.20230907",
3
+ "version": "2.0.0-dev.20230908",
4
4
  "description": "Fetcher library of Nestia SDK",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -117,14 +117,12 @@ export namespace EncryptedFetcher {
117
117
  })(connection, route, input, stringify);
118
118
  }
119
119
 
120
- export function propagate<
121
- Output extends IPropagation<number, any, boolean>,
122
- >(connection: IConnection, route: IFetchRoute<"HEAD">): Promise<Output>;
120
+ export function propagate<Output extends IPropagation<any, any>>(
121
+ connection: IConnection,
122
+ route: IFetchRoute<"HEAD">,
123
+ ): Promise<Output>;
123
124
 
124
- export function propagate<
125
- Input,
126
- Output extends IPropagation<number, any, boolean>,
127
- >(
125
+ export function propagate<Input, Output extends IPropagation<any, any>>(
128
126
  connection: IConnection,
129
127
  route: IFetchRoute<"HEAD">,
130
128
  input?: Input,
@@ -133,7 +131,7 @@ export namespace EncryptedFetcher {
133
131
 
134
132
  export async function propagate<
135
133
  Input,
136
- Output extends IPropagation<number, any, boolean>,
134
+ Output extends IPropagation<any, any>,
137
135
  >(
138
136
  connection: IConnection,
139
137
  route: IFetchRoute<
@@ -1,16 +1,55 @@
1
- import { Primitive } from "./Primitive";
2
-
3
- export interface IPropagation<
4
- Status extends number,
5
- Data,
6
- Success extends boolean = Status extends 200 | 201 ? true : false,
7
- > {
8
- status: Status;
9
- data: Primitive<Data>;
10
- success: Success;
11
- headers: Record<string, string | string[]>;
12
- }
1
+ /**
2
+ * Propagation type.
3
+ *
4
+ * @template StatusMap Map of status code and its body data type.
5
+ * @template Success Default success status code.
6
+ * @author Jeongho Nam - https://github.com/samchon
7
+ */
8
+ export type IPropagation<
9
+ StatusMap extends {
10
+ [P in IPropagation.Status]?: any;
11
+ },
12
+ Success extends number = 200 | 201,
13
+ > =
14
+ | {
15
+ [P in keyof StatusMap]: IPropagation.IBranch<
16
+ P extends Success ? true : false,
17
+ P,
18
+ StatusMap[P]
19
+ >;
20
+ }[keyof StatusMap]
21
+ | IPropagation.IBranch<false, number, any>;
13
22
  export namespace IPropagation {
23
+ /**
24
+ * Type of configurable status codes.
25
+ *
26
+ * The special characters like `2XX`, `3XX`, `4XX`, `5XX` are meaning the range
27
+ * of status codes. If `5XX` is specified, it means the status code is in the
28
+ * range of `500` to `599`.
29
+ */
30
+ export type Status = number | "2XX" | "3XX" | "4XX" | "5XX";
31
+
32
+ /**
33
+ * Branch type of propagation.
34
+ *
35
+ * `IPropagation.IBranch` is a branch type composing `IPropagation` type,
36
+ * which is gathering all possible status codes and their body data types
37
+ * as a union type.
38
+ */
39
+ export interface IBranch<Success extends boolean, StatusValue, BodyData> {
40
+ success: Success;
41
+ status: StatusValue extends "2XX" | "3XX" | "4XX" | "5XX"
42
+ ? StatusRange<StatusValue>
43
+ : StatusValue extends number
44
+ ? StatusValue
45
+ : never;
46
+ data: BodyData;
47
+ headers: Record<string, string | string[]>;
48
+ }
49
+
50
+ /**
51
+ * Range of status codes by the first digit.
52
+ */
14
53
  export type StatusRange<T extends "2XX" | "3XX" | "4XX" | "5XX"> =
15
54
  T extends 0
16
55
  ? IntRange<200, 299>
@@ -81,14 +81,12 @@ export namespace PlainFetcher {
81
81
  })(connection, route, input, stringify);
82
82
  }
83
83
 
84
- export function propagate<
85
- Output extends IPropagation<number, any, boolean>,
86
- >(connection: IConnection, route: IFetchRoute<"HEAD">): Promise<Output>;
84
+ export function propagate<Output extends IPropagation<any, any>>(
85
+ connection: IConnection,
86
+ route: IFetchRoute<"HEAD">,
87
+ ): Promise<Output>;
87
88
 
88
- export function propagate<
89
- Input,
90
- Output extends IPropagation<number, any, boolean>,
91
- >(
89
+ export function propagate<Input, Output extends IPropagation<any, any>>(
92
90
  connection: IConnection,
93
91
  route: IFetchRoute<"HEAD">,
94
92
  input?: Input,
@@ -97,7 +95,7 @@ export namespace PlainFetcher {
97
95
 
98
96
  export async function propagate<
99
97
  Input,
100
- Output extends IPropagation<number, any, boolean>,
98
+ Output extends IPropagation<any, any>,
101
99
  >(
102
100
  connection: IConnection,
103
101
  route: IFetchRoute<
@@ -35,11 +35,11 @@ export namespace FetcherBase {
35
35
  input,
36
36
  stringify,
37
37
  );
38
- if (result.success === false)
38
+ if ((result as any).success === false)
39
39
  throw new HttpError(
40
40
  route.method,
41
41
  route.path,
42
- result.status,
42
+ result.status as any as number,
43
43
  result.headers,
44
44
  result.data as string,
45
45
  );
@@ -55,7 +55,7 @@ export namespace FetcherBase {
55
55
  >,
56
56
  input?: Input,
57
57
  stringify?: (input: Input) => string,
58
- ): Promise<IPropagation<any, any, any>> =>
58
+ ): Promise<IPropagation<any, any>> =>
59
59
  _Propagate("propagate")(props)(connection, route, input, stringify);
60
60
 
61
61
  /**
@@ -71,7 +71,7 @@ export namespace FetcherBase {
71
71
  >,
72
72
  input?: Input,
73
73
  stringify?: (input: Input) => string,
74
- ): Promise<IPropagation<any, any, any>> => {
74
+ ): Promise<IPropagation<any, any>> => {
75
75
  //----
76
76
  // REQUEST MESSSAGE
77
77
  //----
@@ -131,7 +131,7 @@ export namespace FetcherBase {
131
131
  )(url.href, init);
132
132
 
133
133
  // CONSTRUCT RESULT DATA
134
- const result: IPropagation<any, any, any> = {
134
+ const result: IPropagation<any, any> = {
135
135
  success:
136
136
  response.status === 200 ||
137
137
  response.status === 201 ||
@@ -139,8 +139,8 @@ export namespace FetcherBase {
139
139
  status: route.status,
140
140
  headers: response_headers_to_object(response.headers),
141
141
  data: undefined!,
142
- };
143
- if (result.success === false) {
142
+ } as any;
143
+ if ((result as any).success === false) {
144
144
  // WHEN FAILED
145
145
  result.data = await response.text();
146
146
  const type = response.headers.get("content-type");