tapi-rs 5.2.0 → 5.4.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.
package/dist/core.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import * as Hook from "./hook";
2
2
  import * as RequestCreator from "./request";
3
+ import * as Sse from "./sse";
4
+ import * as SseHook from "./sse-hook";
3
5
  /**
4
6
  * Check if a value is a RequestConfig by duck-typing
5
7
  */
@@ -9,16 +11,33 @@ function isRequestConfig(value) {
9
11
  const v = value;
10
12
  return typeof v.method === "string" && typeof v.endpoint === "string" && typeof v.response === "object" && v.response !== null;
11
13
  }
14
+ function isSseConfig(value) {
15
+ if (typeof value !== "object" || value === null)
16
+ return false;
17
+ const v = value;
18
+ return v.type === "sse" && typeof v.endpoint === "string";
19
+ }
12
20
  /**
13
21
  * Recursively creates nested API methods based on route definitions
14
22
  */
15
- function createNestedMethods(host, routes, target, prefetchCallback, postfetchCallback, defaultHeaders, errorHandler, language = "en") {
23
+ function createNestedMethods(host, routes, target, prefetchCallback, postfetchCallback, defaultHeaders, errorHandler, language = "en", credentials) {
16
24
  // Store headers and update function references for use by setHeaders method
17
25
  let currentHeaders = defaultHeaders;
18
26
  const updateTargets = [];
19
27
  for (const [routeName, routeValue] of Object.entries(routes)) {
20
- if (isRequestConfig(routeValue)) {
21
- const requester = RequestCreator.create(host, routeValue, prefetchCallback, postfetchCallback, currentHeaders, errorHandler, language);
28
+ if (isSseConfig(routeValue)) {
29
+ // SSE uses EventSource which does not support custom headers,
30
+ // so SSE routes are intentionally excluded from setHeaders updates.
31
+ const sseConfig = routeValue;
32
+ const sseFunction = (params, callback) => {
33
+ const url = Sse.buildSseUrl(host, sseConfig.endpoint, params);
34
+ return Sse.createConnection(url, callback);
35
+ };
36
+ sseFunction.useHook = (params) => SseHook.useSseHook(host, sseConfig, params);
37
+ target[routeName] = sseFunction;
38
+ }
39
+ else if (isRequestConfig(routeValue)) {
40
+ const requester = RequestCreator.create(host, routeValue, prefetchCallback, postfetchCallback, currentHeaders, errorHandler, language, credentials);
22
41
  const hook = (params) => Hook.useHook(requester, params);
23
42
  requester.useHook = hook;
24
43
  requester.path = (params) => {
@@ -35,7 +54,7 @@ function createNestedMethods(host, routes, target, prefetchCallback, postfetchCa
35
54
  }
36
55
  else if (typeof routeValue === "object" && routeValue !== null) {
37
56
  target[routeName] = {};
38
- createNestedMethods(host, routeValue, target[routeName], prefetchCallback, postfetchCallback, currentHeaders, errorHandler, language);
57
+ createNestedMethods(host, routeValue, target[routeName], prefetchCallback, postfetchCallback, currentHeaders, errorHandler, language, credentials);
39
58
  }
40
59
  }
41
60
  // Add setHeaders method to update headers for all nested routes
@@ -43,7 +62,7 @@ function createNestedMethods(host, routes, target, prefetchCallback, postfetchCa
43
62
  currentHeaders = headers;
44
63
  // Update existing routes with new headers
45
64
  for (const item of updateTargets) {
46
- const requester = RequestCreator.create(host, item.config, prefetchCallback, postfetchCallback, headers, errorHandler, language);
65
+ const requester = RequestCreator.create(host, item.config, prefetchCallback, postfetchCallback, headers, errorHandler, language, credentials);
47
66
  const hook = (params) => Hook.useHook(requester, params);
48
67
  requester.useHook = hook;
49
68
  requester.path = (params) => {
@@ -84,6 +103,7 @@ export class TapiBuilder {
84
103
  builder.defaultHeaders = this.defaultHeaders;
85
104
  builder.errorHandler = this.errorHandler;
86
105
  builder.language = this.language;
106
+ builder.credentials = this.credentials;
87
107
  return builder;
88
108
  }
89
109
  /**
@@ -98,6 +118,7 @@ export class TapiBuilder {
98
118
  builder.defaultHeaders = this.defaultHeaders;
99
119
  builder.errorHandler = this.errorHandler;
100
120
  builder.language = this.language;
121
+ builder.credentials = this.credentials;
101
122
  return builder;
102
123
  }
103
124
  /**
@@ -112,6 +133,7 @@ export class TapiBuilder {
112
133
  builder.defaultHeaders = this.defaultHeaders;
113
134
  builder.errorHandler = errorHandler;
114
135
  builder.language = this.language;
136
+ builder.credentials = this.credentials;
115
137
  return builder;
116
138
  }
117
139
  /**
@@ -126,6 +148,7 @@ export class TapiBuilder {
126
148
  builder.defaultHeaders = this.defaultHeaders;
127
149
  builder.errorHandler = this.errorHandler;
128
150
  builder.language = this.language;
151
+ builder.credentials = this.credentials;
129
152
  return builder;
130
153
  }
131
154
  /**
@@ -140,6 +163,7 @@ export class TapiBuilder {
140
163
  builder.defaultHeaders = this.defaultHeaders;
141
164
  builder.errorHandler = this.errorHandler;
142
165
  builder.language = this.language;
166
+ builder.credentials = this.credentials;
143
167
  return builder;
144
168
  }
145
169
  /**
@@ -154,6 +178,7 @@ export class TapiBuilder {
154
178
  builder.defaultHeaders = headers;
155
179
  builder.errorHandler = this.errorHandler;
156
180
  builder.language = this.language;
181
+ builder.credentials = this.credentials;
157
182
  return builder;
158
183
  }
159
184
  /**
@@ -168,6 +193,22 @@ export class TapiBuilder {
168
193
  builder.defaultHeaders = this.defaultHeaders;
169
194
  builder.errorHandler = this.errorHandler;
170
195
  builder.language = language;
196
+ builder.credentials = this.credentials;
197
+ return builder;
198
+ }
199
+ /**
200
+ * Set the credentials mode for all requests (e.g. "include" for cross-origin cookies)
201
+ */
202
+ withCredentials(credentials) {
203
+ const builder = new TapiBuilder();
204
+ builder.host = this.host;
205
+ builder.routes = this.routes;
206
+ builder.prefetchCallback = this.prefetchCallback;
207
+ builder.postfetchCallback = this.postfetchCallback;
208
+ builder.defaultHeaders = this.defaultHeaders;
209
+ builder.errorHandler = this.errorHandler;
210
+ builder.language = this.language;
211
+ builder.credentials = credentials;
171
212
  return builder;
172
213
  }
173
214
  /**
@@ -179,7 +220,7 @@ export class TapiBuilder {
179
220
  */
180
221
  build(...args) {
181
222
  const apiMethods = {};
182
- createNestedMethods(this.host, this.routes, apiMethods, this.prefetchCallback, this.postfetchCallback, this.defaultHeaders, this.errorHandler, this.language);
223
+ createNestedMethods(this.host, this.routes, apiMethods, this.prefetchCallback, this.postfetchCallback, this.defaultHeaders, this.errorHandler, this.language, this.credentials);
183
224
  return apiMethods;
184
225
  }
185
226
  }
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RequestConfig } from "./types";
1
+ import type { RequestConfig, SseConfig } from "./types";
2
2
  /**
3
3
  * Configuration object for endpoint factories
4
4
  */
@@ -38,6 +38,23 @@ type ExtractHeaders<T> = T extends {
38
38
  type ExtractResponse<T> = T extends {
39
39
  response: infer R;
40
40
  } ? R : unknown;
41
+ type SseEndpointTypes<TPath = undefined, TQuery = undefined, TResponse = unknown> = {
42
+ path?: TPath;
43
+ query?: TQuery;
44
+ response?: TResponse;
45
+ };
46
+ type ExtractSsePath<T> = T extends {
47
+ path: infer P;
48
+ } ? P : undefined;
49
+ type ExtractSseQuery<T> = T extends {
50
+ query: infer Q;
51
+ } ? Q : undefined;
52
+ type ExtractSseResponse<T> = T extends {
53
+ response: infer R;
54
+ } ? R : unknown;
55
+ export declare const sse: <T extends SseEndpointTypes<any, any, any> = {}>() => (config: {
56
+ endpoint: string;
57
+ }) => SseConfig<ExtractSsePath<T>, ExtractSseQuery<T>, ExtractSseResponse<T>>;
41
58
  export declare const get: <T extends EndpointTypes<any, any, any, any, any, any> = {}>() => (config: EndpointOptions) => RequestConfig<"GET", ExtractPath<T>, ExtractBody<T>, ExtractFormData<T>, ExtractQuery<T>, ExtractHeaders<T>, ExtractResponse<T>>;
42
59
  export declare const post: <T extends EndpointTypes<any, any, any, any, any, any> = {}>() => (config: EndpointOptions) => RequestConfig<"POST", ExtractPath<T>, ExtractBody<T>, ExtractFormData<T>, ExtractQuery<T>, ExtractHeaders<T>, ExtractResponse<T>>;
43
60
  export declare const put: <T extends EndpointTypes<any, any, any, any, any, any> = {}>() => (config: EndpointOptions) => RequestConfig<"PUT", ExtractPath<T>, ExtractBody<T>, ExtractFormData<T>, ExtractQuery<T>, ExtractHeaders<T>, ExtractResponse<T>>;
@@ -49,6 +66,9 @@ export declare const Endpoints: {
49
66
  readonly put: <T extends EndpointTypes<any, any, any, any, any, any> = {}>() => (config: EndpointOptions) => RequestConfig<"PUT", ExtractPath<T>, ExtractBody<T>, ExtractFormData<T>, ExtractQuery<T>, ExtractHeaders<T>, ExtractResponse<T>>;
50
67
  readonly delete: <T extends EndpointTypes<any, any, any, any, any, any> = {}>() => (config: EndpointOptions) => RequestConfig<"DELETE", ExtractPath<T>, ExtractBody<T>, ExtractFormData<T>, ExtractQuery<T>, ExtractHeaders<T>, ExtractResponse<T>>;
51
68
  readonly patch: <T extends EndpointTypes<any, any, any, any, any, any> = {}>() => (config: EndpointOptions) => RequestConfig<"PATCH", ExtractPath<T>, ExtractBody<T>, ExtractFormData<T>, ExtractQuery<T>, ExtractHeaders<T>, ExtractResponse<T>>;
69
+ readonly sse: <T extends SseEndpointTypes<any, any, any> = {}>() => (config: {
70
+ endpoint: string;
71
+ }) => SseConfig<ExtractSsePath<T>, ExtractSseQuery<T>, ExtractSseResponse<T>>;
52
72
  };
53
73
  export {};
54
74
  //# sourceMappingURL=endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"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"}
package/dist/endpoints.js CHANGED
@@ -22,6 +22,14 @@ function createEndpointFactory(method) {
22
22
  ...(config.responseType && { responseType: config.responseType })
23
23
  });
24
24
  }
25
+ function createSseEndpointFactory() {
26
+ return () => (config) => ({
27
+ type: "sse",
28
+ endpoint: config.endpoint,
29
+ response: {},
30
+ });
31
+ }
32
+ export const sse = createSseEndpointFactory();
25
33
  // Individual endpoint factories
26
34
  export const get = createEndpointFactory("GET");
27
35
  export const post = createEndpointFactory("POST");
@@ -34,6 +42,7 @@ export const Endpoints = {
34
42
  post,
35
43
  put,
36
44
  delete: del,
37
- patch
45
+ patch,
46
+ sse
38
47
  };
39
48
  //# sourceMappingURL=endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAA6B,MAAe;IACxE,OAAO,GAA+D,EAAE,CACtE,CACE,MAAuB,EASvB,EAAE,CAAC,CAAC;QACJ,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,EAAE,EAAE,gDAAgD;QAC9D,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;KAClE,CAAC,CAAC;AACP,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAEpD,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG;IACH,IAAI;IACJ,GAAG;IACH,MAAM,EAAE,GAAG;IACX,KAAK;CACG,CAAC"}
1
+ {"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../src/endpoints.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAA6B,MAAe;IACxE,OAAO,GAA+D,EAAE,CACtE,CACE,MAAuB,EASvB,EAAE,CAAC,CAAC;QACJ,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,EAAE,EAAE,gDAAgD;QAC9D,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;KAClE,CAAC,CAAC;AACP,CAAC;AAgBD,SAAS,wBAAwB;IAC/B,OAAO,GAAmD,EAAE,CAC1D,CACE,MAA4B,EAK5B,EAAE,CAAC,CAAC;QACJ,IAAI,EAAE,KAAc;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,wBAAwB,EAAE,CAAC;AAE9C,gCAAgC;AAChC,MAAM,CAAC,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACnD,MAAM,CAAC,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAEpD,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG;IACH,IAAI;IACJ,GAAG;IACH,MAAM,EAAE,GAAG;IACX,KAAK;IACL,GAAG;CACK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAajC,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AACzE,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAE5D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,IACtG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GACpI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC/G,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnG,wBAAgB,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EACvG,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC7C,UAAU,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,IAAI,GAC/D,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAkDzB"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAQjC,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AACzE,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAE5D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,IACtG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GACpI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAC/G,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnG,wBAAgB,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EACvG,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC7C,UAAU,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,IAAI,GAC/D,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAyDzB"}
package/dist/hook.js CHANGED
@@ -6,19 +6,17 @@ function useDeepCompareMemo(value) {
6
6
  ref.current = value;
7
7
  return ref.current;
8
8
  }
9
- function useDeepCompareCallback(fn, deps) {
10
- const memoDeps = useDeepCompareMemo(deps);
11
- return useCallback(fn, memoDeps);
12
- }
13
9
  export function useHook(requester, callParams) {
14
10
  const [data, setData] = useState(null);
15
11
  const [error, setError] = useState(null);
16
12
  const [loading, setLoading] = useState(true);
17
13
  const memoizedParams = useDeepCompareMemo(callParams);
18
- const fetchData = useDeepCompareCallback(async () => {
14
+ const fetchData = useCallback(async (signal) => {
19
15
  if (!memoizedParams)
20
16
  return true;
21
- const result = await requester(memoizedParams);
17
+ const result = await requester({ ...memoizedParams, signal });
18
+ if (signal?.aborted)
19
+ return true;
22
20
  if (!result.ok) {
23
21
  setData(null);
24
22
  setError(result);
@@ -31,10 +29,11 @@ export function useHook(requester, callParams) {
31
29
  return true;
32
30
  }, [requester, memoizedParams]);
33
31
  useEffect(() => {
34
- // Don't fetch if callParams is null or in lazy mode
35
32
  if (!memoizedParams || memoizedParams.lazy)
36
33
  return;
37
- fetchData();
34
+ const controller = new AbortController();
35
+ fetchData(controller.signal);
36
+ return () => controller.abort();
38
37
  }, [fetchData, memoizedParams]);
39
38
  const setter = useCallback((callback) => {
40
39
  setData((prev) => {
package/dist/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAKzC,SAAS,kBAAkB,CAAI,KAAQ;IACrC,MAAM,GAAG,GAAG,MAAM,CAAI,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAoC,EAAK,EAAE,IAAW;IACnF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AAUD,MAAM,UAAU,OAAO,CACrB,SAA6C,EAC7C,UAAgE;IAEhE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,IAAI,EAAE;QAClD,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,MAA8B,CAAC,CAAC;YACzC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,oDAAoD;QACpD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI;YAAE,OAAO;QAEnD,SAAS,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,QAAwG,EAAE,EAAE;QACtI,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACpB,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,UAAU,OAAO,CAAC,UAAoB;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAA4B,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAKzC,SAAS,kBAAkB,CAAI,KAAQ;IACrC,MAAM,GAAG,GAAG,MAAM,CAAI,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAUD,MAAM,UAAU,OAAO,CACrB,SAA6C,EAC7C,UAAgE;IAEhE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,WAAW,CAC3B,KAAK,EAAE,MAAoB,EAAE,EAAE;QAC7B,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9D,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,MAA8B,CAAC,CAAC;YACzC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,EACD,CAAC,SAAS,EAAE,cAAc,CAAC,CAC5B,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI;YAAE,OAAO;QAEnD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,QAAwG,EAAE,EAAE;QACtI,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;YACpB,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,UAAU,OAAO,CAAC,UAAoB;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAA4B,CAAC;AAC5E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export type { CustomError, Errors, HttpMethod, NetworkError, ApiResponse, Success } from "./types";
2
+ export type { SseConfig, SseCallSignature, SseListenerFunction } from "./types";
3
+ export type { SseHookResponse } from "./sse-hook";
2
4
  export type { RefreshFunction } from "./hook";
3
5
  export type { Language } from "./translations";
4
6
  import { TapiBuilder } from "./core";
@@ -125,6 +127,19 @@ declare const Tapi: {
125
127
  } ? H : undefined, T extends {
126
128
  response: infer R;
127
129
  } ? R : unknown>;
130
+ readonly sse: <T extends {
131
+ path?: any;
132
+ query?: any;
133
+ response?: any;
134
+ } = {}>() => (config: {
135
+ endpoint: string;
136
+ }) => import("./types").SseConfig<T extends {
137
+ path: infer P;
138
+ } ? P : undefined, T extends {
139
+ query: infer Q;
140
+ } ? Q : undefined, T extends {
141
+ response: infer R;
142
+ } ? R : unknown>;
128
143
  };
129
144
  export default Tapi;
130
145
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEnG,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC;;;;;GAKG;AACH,QAAA,MAAM,IAAI;;;;;;;;;kBAU6hC;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;CAH3jC,CAAC;AAEX,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACnG,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAChF,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC;;;;;GAKG;AACH,QAAA,MAAM,IAAI;;;;;;;;;kBAW84B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;;;;kBAA9B;;;KAA8B;;;;;;;;;;;;;;;;;kBAAy2B;;KAAmC;;;;;;;CAHxzD,CAAC;AAEX,eAAe,IAAI,CAAC"}
package/dist/index.js CHANGED
@@ -12,7 +12,8 @@ const Tapi = {
12
12
  post: Endpoints.post,
13
13
  put: Endpoints.put,
14
14
  delete: Endpoints.delete,
15
- patch: Endpoints.patch
15
+ patch: Endpoints.patch,
16
+ sse: Endpoints.sse
16
17
  };
17
18
  export default Tapi;
18
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;GAKG;AACH,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;IAChC,GAAG,EAAE,SAAS,CAAC,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,GAAG,EAAE,SAAS,CAAC,GAAG;IAClB,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,KAAK,EAAE,SAAS,CAAC,KAAK;CACd,CAAC;AAEX,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;GAKG;AACH,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;IAChC,GAAG,EAAE,SAAS,CAAC,GAAG;IAClB,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,GAAG,EAAE,SAAS,CAAC,GAAG;IAClB,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,KAAK,EAAE,SAAS,CAAC,KAAK;IACtB,GAAG,EAAE,SAAS,CAAC,GAAG;CACV,CAAC;AAEX,eAAe,IAAI,CAAC"}
package/dist/request.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as ResponseSchema from "./response";
2
2
  import { Language } from "./translations";
3
3
  import * as Types from "./types";
4
- export declare function create<TConfig extends Types.RequestConfig<any, any, any, any, any, any, any>, TError = string>(host: string, config: TConfig, prefetchCallback: Types.PrefetchCallback | undefined, postfetchCallback: Types.PostfetchCallback<ResponseSchema.InferResult<TConfig["response"]>, TError> | undefined, defaultHeaders: Record<string, string> | undefined, errorHandler: ((response: Response) => Promise<TError>) | undefined, language?: Language): Types.RequesterFunction<TConfig, TError>;
4
+ export declare function create<TConfig extends Types.RequestConfig<any, any, any, any, any, any, any>, TError = string>(host: string, config: TConfig, prefetchCallback: Types.PrefetchCallback | undefined, postfetchCallback: Types.PostfetchCallback<ResponseSchema.InferResult<TConfig["response"]>, TError> | undefined, defaultHeaders: Record<string, string> | undefined, errorHandler: ((response: Response) => Promise<TError>) | undefined, language?: Language, credentials?: RequestCredentials): Types.RequesterFunction<TConfig, TError>;
5
5
  //# sourceMappingURL=request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAK,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAWjC,wBAAgB,MAAM,CAAC,OAAO,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAC5G,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GAAG,SAAS,EACpD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/G,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAClD,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,EACnE,QAAQ,GAAE,QAAe,GACxB,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAwE1C"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAK,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAWjC,wBAAgB,MAAM,CAAC,OAAO,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAC5G,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GAAG,SAAS,EACpD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/G,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAClD,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,EACnE,QAAQ,GAAE,QAAe,EACzB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAwE1C"}
package/dist/request.js CHANGED
@@ -8,7 +8,7 @@ function dispatchPostFetchCallback(callback, args) {
8
8
  .catch(() => { });
9
9
  }
10
10
  }
11
- export function create(host, config, prefetchCallback, postfetchCallback, defaultHeaders, errorHandler, language = "en") {
11
+ export function create(host, config, prefetchCallback, postfetchCallback, defaultHeaders, errorHandler, language = "en", credentials) {
12
12
  const translations = t(language);
13
13
  const requester = async function (params) {
14
14
  const promise = async () => {
@@ -43,10 +43,11 @@ export function create(host, config, prefetchCallback, postfetchCallback, defaul
43
43
  if (prefetchCallback) {
44
44
  await Promise.resolve(prefetchCallback({ url, method: config.method, headers, body }));
45
45
  }
46
- const responseOrError = await Utils.executeRequest(url, config, params, defaultHeaders, language);
46
+ const responseOrError = await Utils.executeRequest(url, config, params, defaultHeaders, language, credentials);
47
47
  if ("error" in responseOrError) {
48
48
  const nError = { ...responseOrError, endpoint: url, method: config.method };
49
- dispatchPostFetchCallback(postfetchCallback, nError);
49
+ if (!params.signal?.aborted)
50
+ dispatchPostFetchCallback(postfetchCallback, nError);
50
51
  return nError;
51
52
  }
52
53
  const response = responseOrError;
@@ -66,7 +67,8 @@ export function create(host, config, prefetchCallback, postfetchCallback, defaul
66
67
  catch (error) {
67
68
  const networkError = Errors.createNetworkError(translations.errors.requestFailed, error instanceof Error ? error : new Error(String(error)));
68
69
  const nError = { ...networkError, endpoint: config.endpoint, method: config.method };
69
- dispatchPostFetchCallback(postfetchCallback, nError);
70
+ if (!params.signal?.aborted)
71
+ dispatchPostFetchCallback(postfetchCallback, nError);
70
72
  return nError;
71
73
  }
72
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as ResponseSchema from "./response";
2
+ import * as Types from "./types";
3
+ export type SseHookResponse<T extends Types.SseConfig<any, any, any>> = [ResponseSchema.InferResult<T["response"]>, null, false, () => void] | [null, Error, false, () => void] | [null, null, true, () => void];
4
+ export declare function useSseHook<T extends Types.SseConfig<any, any, any>>(host: string, config: T, callParams: Types.SseCallSignature<T> | null): SseHookResponse<T>;
5
+ //# sourceMappingURL=sse-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-hook.d.ts","sourceRoot":"","sources":["../src/sse-hook.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,cAAc,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAQjC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAChE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,GACpE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,GAChC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;AAEnC,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjE,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,EACT,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,GAC3C,eAAe,CAAC,CAAC,CAAC,CAuCpB"}
@@ -0,0 +1,39 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ import isEqual from "react-fast-compare";
3
+ import * as Sse from "./sse";
4
+ function useDeepCompareMemo(value) {
5
+ const ref = useRef(value);
6
+ if (!isEqual(value, ref.current))
7
+ ref.current = value;
8
+ return ref.current;
9
+ }
10
+ export function useSseHook(host, config, callParams) {
11
+ const [data, setData] = useState(null);
12
+ const [error, setError] = useState(null);
13
+ const [loading, setLoading] = useState(true);
14
+ const closeRef = useRef(null);
15
+ const memoizedParams = useDeepCompareMemo(callParams);
16
+ useEffect(() => {
17
+ if (!memoizedParams)
18
+ return;
19
+ setLoading(true);
20
+ setData(null);
21
+ setError(null);
22
+ const url = Sse.buildSseUrl(host, config.endpoint, memoizedParams);
23
+ const close = Sse.createConnection(url, (parsed) => {
24
+ setData(parsed);
25
+ setError(null);
26
+ setLoading(false);
27
+ }, () => {
28
+ setError(new Error("SSE connection error"));
29
+ setLoading(false);
30
+ });
31
+ closeRef.current = close;
32
+ return close;
33
+ }, [host, config.endpoint, memoizedParams]);
34
+ const close = useCallback(() => {
35
+ closeRef.current?.();
36
+ }, []);
37
+ return [data, error, loading, close];
38
+ }
39
+ //# sourceMappingURL=sse-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse-hook.js","sourceRoot":"","sources":["../src/sse-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAGzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAG7B,SAAS,kBAAkB,CAAI,KAAQ;IACrC,MAAM,GAAG,GAAG,MAAM,CAAI,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;QAAE,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAOD,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,MAAS,EACT,UAA4C;IAE5C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAM,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAEnD,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAChC,GAAG,EACH,CAAC,MAAW,EAAE,EAAE;YACd,OAAO,CAAC,MAAM,CAAC,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,EACD,GAAG,EAAE;YACH,QAAQ,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC5C,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CACF,CAAC;QAEF,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAuB,CAAC;AAC7D,CAAC"}
package/dist/sse.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export declare function buildSseUrl(host: string, endpoint: string, params: {
2
+ path?: Record<string, string>;
3
+ query?: Record<string, string>;
4
+ }): string;
5
+ export declare function createConnection<T>(url: string, callback: (data: T) => void, onError?: (error: Event) => void): () => void;
6
+ //# sourceMappingURL=sse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACxE,MAAM,CAcR;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC/B,MAAM,IAAI,CAiBZ"}
package/dist/sse.js ADDED
@@ -0,0 +1,29 @@
1
+ export function buildSseUrl(host, endpoint, params) {
2
+ let url = endpoint;
3
+ if (params.path) {
4
+ for (const [key, value] of Object.entries(params.path)) {
5
+ url = url.replace(`:${key}`, encodeURIComponent(String(value)));
6
+ }
7
+ }
8
+ const queryString = params.query
9
+ ? `?${new URLSearchParams(params.query).toString()}`
10
+ : "";
11
+ return `${host}${url}${queryString}`;
12
+ }
13
+ export function createConnection(url, callback, onError) {
14
+ const eventSource = new EventSource(url);
15
+ eventSource.onmessage = (event) => {
16
+ try {
17
+ callback(JSON.parse(event.data));
18
+ }
19
+ catch {
20
+ onError?.(event);
21
+ }
22
+ };
23
+ eventSource.onerror = (event) => {
24
+ onError?.(event);
25
+ // EventSource auto-reconnects natively
26
+ };
27
+ return () => eventSource.close();
28
+ }
29
+ //# sourceMappingURL=sse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,QAAgB,EAChB,MAAyE;IAEzE,IAAI,GAAG,GAAG,QAAQ,CAAC;IAEnB,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK;QAC9B,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAW,EACX,QAA2B,EAC3B,OAAgC;IAEhC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAEzC,WAAW,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,WAAW,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;QAC9B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACjB,uCAAuC;IACzC,CAAC,CAAC;IAEF,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AACnC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -11,8 +11,13 @@ export type RequestConfig<TMethod extends HttpMethod = HttpMethod, TPath = undef
11
11
  response: ResponseSchema.ResponseConfig<TResponse>;
12
12
  responseType?: ResponseType;
13
13
  };
14
+ export type SseConfig<TPath = undefined, TQuery = undefined, TResponse = unknown> = {
15
+ type: "sse";
16
+ endpoint: string;
17
+ response: ResponseSchema.ResponseConfig<TResponse>;
18
+ };
14
19
  export type RouteDefinitions = {
15
- [key: string]: RequestConfig<any, any, any, any, any, any, any> | RouteDefinitions;
20
+ [key: string]: RequestConfig<any, any, any, any, any, any, any> | SseConfig<any, any, any> | RouteDefinitions;
16
21
  };
17
22
  type InferPathParam<TPath> = TPath extends undefined ? {
18
23
  path?: never;
@@ -44,8 +49,16 @@ type ExtractBody<T> = T extends RequestConfig<any, any, infer B, any, any, any,
44
49
  type ExtractFormData<T> = T extends RequestConfig<any, any, any, infer F, any, any, any> ? F : undefined;
45
50
  type ExtractQuery<T> = T extends RequestConfig<any, any, any, any, infer Q, any, any> ? Q : undefined;
46
51
  type ExtractHeaders<T> = T extends RequestConfig<any, any, any, any, any, infer H, any> ? H : undefined;
47
- export type RequesterParams<T extends RequestConfig<any, any, any, any, any, any, any>> = InferPathParam<ExtractPath<T>> & InferBodyParam<ExtractBody<T>> & InferFormDataParam<ExtractFormData<T>> & InferQueryParam<ExtractQuery<T>> & InferHeaderParam<ExtractHeaders<T>>;
48
- export type CallSignature<T extends RequestConfig<any, any, any, any, any, any, any>> = InferPathParam<ExtractPath<T>> & InferBodyParam<ExtractBody<T>> & InferFormDataParam<ExtractFormData<T>> & InferQueryParam<ExtractQuery<T>> & InferHeaderParam<ExtractHeaders<T>>;
52
+ export type RequesterParams<T extends RequestConfig<any, any, any, any, any, any, any>> = InferPathParam<ExtractPath<T>> & InferBodyParam<ExtractBody<T>> & InferFormDataParam<ExtractFormData<T>> & InferQueryParam<ExtractQuery<T>> & InferHeaderParam<ExtractHeaders<T>> & {
53
+ signal?: AbortSignal;
54
+ };
55
+ export type CallSignature<T extends RequestConfig<any, any, any, any, any, any, any>> = InferPathParam<ExtractPath<T>> & InferBodyParam<ExtractBody<T>> & InferFormDataParam<ExtractFormData<T>> & InferQueryParam<ExtractQuery<T>> & InferHeaderParam<ExtractHeaders<T>> & {
56
+ signal?: AbortSignal;
57
+ };
58
+ type ExtractSsePath<T> = T extends SseConfig<infer P, any, any> ? P : undefined;
59
+ type ExtractSseQuery<T> = T extends SseConfig<any, infer Q, any> ? Q : undefined;
60
+ export type SseCallSignature<T extends SseConfig<any, any, any>> = InferPathParam<ExtractSsePath<T>> & InferQueryParam<ExtractSseQuery<T>>;
61
+ export type SseListenerFunction<TConfig extends SseConfig<any, any, any>> = (params: SseCallSignature<TConfig>, callback: (data: ResponseSchema.InferResult<TConfig["response"]>) => void) => () => void;
49
62
  export type PrefetchCallback = (args: {
50
63
  url: string;
51
64
  method: HttpMethod;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}