recal-sdk 0.3.2 → 1.0.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.
Files changed (198) hide show
  1. package/README.md +24 -792
  2. package/dist/client/client/client.gen.d.ts +3 -0
  3. package/dist/client/client/client.gen.d.ts.map +1 -0
  4. package/dist/client/client/client.gen.js +205 -0
  5. package/dist/client/client/client.gen.js.map +1 -0
  6. package/dist/client/client/index.d.ts +9 -0
  7. package/dist/client/client/index.d.ts.map +1 -0
  8. package/dist/client/client/index.js +7 -0
  9. package/dist/client/client/index.js.map +1 -0
  10. package/dist/client/client/types.gen.d.ts +125 -0
  11. package/dist/client/client/types.gen.d.ts.map +1 -0
  12. package/dist/client/client/types.gen.js +3 -0
  13. package/dist/client/client/types.gen.js.map +1 -0
  14. package/dist/client/client/utils.gen.d.ts +34 -0
  15. package/dist/client/client/utils.gen.d.ts.map +1 -0
  16. package/dist/client/client/utils.gen.js +232 -0
  17. package/dist/client/client/utils.gen.js.map +1 -0
  18. package/dist/client/client.gen.d.ts +13 -0
  19. package/dist/client/client.gen.d.ts.map +1 -0
  20. package/dist/client/client.gen.js +6 -0
  21. package/dist/client/client.gen.js.map +1 -0
  22. package/dist/client/core/auth.gen.d.ts +19 -0
  23. package/dist/client/core/auth.gen.d.ts.map +1 -0
  24. package/dist/client/core/auth.gen.js +15 -0
  25. package/dist/client/core/auth.gen.js.map +1 -0
  26. package/dist/client/core/bodySerializer.gen.d.ts +26 -0
  27. package/dist/client/core/bodySerializer.gen.d.ts.map +1 -0
  28. package/dist/client/core/bodySerializer.gen.js +58 -0
  29. package/dist/client/core/bodySerializer.gen.js.map +1 -0
  30. package/dist/client/core/params.gen.d.ts +34 -0
  31. package/dist/client/core/params.gen.d.ts.map +1 -0
  32. package/dist/client/core/params.gen.js +89 -0
  33. package/dist/client/core/params.gen.js.map +1 -0
  34. package/dist/client/core/pathSerializer.gen.d.ts +34 -0
  35. package/dist/client/core/pathSerializer.gen.d.ts.map +1 -0
  36. package/dist/client/core/pathSerializer.gen.js +115 -0
  37. package/dist/client/core/pathSerializer.gen.js.map +1 -0
  38. package/dist/client/core/queryKeySerializer.gen.d.ts +19 -0
  39. package/dist/client/core/queryKeySerializer.gen.d.ts.map +1 -0
  40. package/dist/client/core/queryKeySerializer.gen.js +100 -0
  41. package/dist/client/core/queryKeySerializer.gen.js.map +1 -0
  42. package/dist/client/core/serverSentEvents.gen.d.ts +72 -0
  43. package/dist/client/core/serverSentEvents.gen.d.ts.map +1 -0
  44. package/dist/client/core/serverSentEvents.gen.js +136 -0
  45. package/dist/client/core/serverSentEvents.gen.js.map +1 -0
  46. package/dist/client/core/types.gen.d.ts +79 -0
  47. package/dist/client/core/types.gen.d.ts.map +1 -0
  48. package/dist/client/core/types.gen.js +3 -0
  49. package/dist/client/core/types.gen.js.map +1 -0
  50. package/dist/client/core/utils.gen.d.ts +20 -0
  51. package/dist/client/core/utils.gen.d.ts.map +1 -0
  52. package/dist/client/core/utils.gen.js +88 -0
  53. package/dist/client/core/utils.gen.js.map +1 -0
  54. package/dist/client/index.d.ts +3 -0
  55. package/dist/client/index.d.ts.map +1 -0
  56. package/dist/client/index.js +3 -0
  57. package/dist/client/index.js.map +1 -0
  58. package/dist/client/sdk.gen.d.ts +170 -0
  59. package/dist/client/sdk.gen.d.ts.map +1 -0
  60. package/dist/client/sdk.gen.js +884 -0
  61. package/dist/client/sdk.gen.js.map +1 -0
  62. package/dist/client/transformers.gen.d.ts +31 -0
  63. package/dist/client/transformers.gen.d.ts.map +1 -0
  64. package/dist/client/transformers.gen.js +263 -0
  65. package/dist/client/transformers.gen.js.map +1 -0
  66. package/dist/client/types.gen.d.ts +1765 -0
  67. package/dist/client/types.gen.d.ts.map +1 -0
  68. package/dist/client/types.gen.js +3 -0
  69. package/dist/client/types.gen.js.map +1 -0
  70. package/dist/client/zod.gen.d.ts +1457 -0
  71. package/dist/client/zod.gen.d.ts.map +1 -0
  72. package/dist/client/zod.gen.js +1214 -0
  73. package/dist/client/zod.gen.js.map +1 -0
  74. package/dist/index.d.ts +5 -33
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +8 -55
  77. package/dist/index.js.map +1 -1
  78. package/dist/recal.d.ts +64 -0
  79. package/dist/recal.d.ts.map +1 -0
  80. package/dist/recal.js +81 -0
  81. package/dist/recal.js.map +1 -0
  82. package/dist/services/calendar.service.d.ts +55 -167
  83. package/dist/services/calendar.service.d.ts.map +1 -1
  84. package/dist/services/calendar.service.js +68 -301
  85. package/dist/services/calendar.service.js.map +1 -1
  86. package/dist/services/events.service.d.ts +167 -0
  87. package/dist/services/events.service.d.ts.map +1 -0
  88. package/dist/services/events.service.js +215 -0
  89. package/dist/services/events.service.js.map +1 -0
  90. package/dist/services/oauth.service.d.ts +123 -60
  91. package/dist/services/oauth.service.d.ts.map +1 -1
  92. package/dist/services/oauth.service.js +166 -142
  93. package/dist/services/oauth.service.js.map +1 -1
  94. package/dist/services/organizations.service.d.ts +137 -36
  95. package/dist/services/organizations.service.d.ts.map +1 -1
  96. package/dist/services/organizations.service.js +164 -90
  97. package/dist/services/organizations.service.js.map +1 -1
  98. package/dist/services/scheduling.service.d.ts +121 -58
  99. package/dist/services/scheduling.service.d.ts.map +1 -1
  100. package/dist/services/scheduling.service.js +98 -140
  101. package/dist/services/scheduling.service.js.map +1 -1
  102. package/dist/services/users.service.d.ts +87 -27
  103. package/dist/services/users.service.d.ts.map +1 -1
  104. package/dist/services/users.service.js +94 -69
  105. package/dist/services/users.service.js.map +1 -1
  106. package/dist/types.d.ts +68 -0
  107. package/dist/types.d.ts.map +1 -0
  108. package/dist/types.js +8 -0
  109. package/dist/types.js.map +1 -0
  110. package/dist/utils/response.d.ts +33 -0
  111. package/dist/utils/response.d.ts.map +1 -0
  112. package/dist/utils/response.js +54 -0
  113. package/dist/utils/response.js.map +1 -0
  114. package/package.json +5 -2
  115. package/dist/entities/organization.d.ts +0 -21
  116. package/dist/entities/organization.d.ts.map +0 -1
  117. package/dist/entities/organization.js +0 -32
  118. package/dist/entities/organization.js.map +0 -1
  119. package/dist/entities/user.d.ts +0 -23
  120. package/dist/entities/user.d.ts.map +0 -1
  121. package/dist/entities/user.js +0 -45
  122. package/dist/entities/user.js.map +0 -1
  123. package/dist/errors.d.ts +0 -22
  124. package/dist/errors.d.ts.map +0 -1
  125. package/dist/errors.js +0 -36
  126. package/dist/errors.js.map +0 -1
  127. package/dist/typebox/calendar.tb.d.ts +0 -113
  128. package/dist/typebox/calendar.tb.d.ts.map +0 -1
  129. package/dist/typebox/calendar.tb.js +0 -92
  130. package/dist/typebox/calendar.tb.js.map +0 -1
  131. package/dist/typebox/oauth.tb.d.ts +0 -14
  132. package/dist/typebox/oauth.tb.d.ts.map +0 -1
  133. package/dist/typebox/oauth.tb.js +0 -16
  134. package/dist/typebox/oauth.tb.js.map +0 -1
  135. package/dist/typebox/organization.stripped.tb.d.ts +0 -6
  136. package/dist/typebox/organization.stripped.tb.d.ts.map +0 -1
  137. package/dist/typebox/organization.stripped.tb.js +0 -7
  138. package/dist/typebox/organization.stripped.tb.js.map +0 -1
  139. package/dist/typebox/organization.tb.d.ts +0 -10
  140. package/dist/typebox/organization.tb.d.ts.map +0 -1
  141. package/dist/typebox/organization.tb.js +0 -8
  142. package/dist/typebox/organization.tb.js.map +0 -1
  143. package/dist/typebox/scheduling.tb.d.ts +0 -107
  144. package/dist/typebox/scheduling.tb.d.ts.map +0 -1
  145. package/dist/typebox/scheduling.tb.js +0 -105
  146. package/dist/typebox/scheduling.tb.js.map +0 -1
  147. package/dist/typebox/timeString.tb.d.ts +0 -3
  148. package/dist/typebox/timeString.tb.d.ts.map +0 -1
  149. package/dist/typebox/timeString.tb.js +0 -7
  150. package/dist/typebox/timeString.tb.js.map +0 -1
  151. package/dist/typebox/user.stripped.tb.d.ts +0 -5
  152. package/dist/typebox/user.stripped.tb.d.ts.map +0 -1
  153. package/dist/typebox/user.stripped.tb.js +0 -6
  154. package/dist/typebox/user.stripped.tb.js.map +0 -1
  155. package/dist/typebox/user.tb.d.ts +0 -19
  156. package/dist/typebox/user.tb.d.ts.map +0 -1
  157. package/dist/typebox/user.tb.js +0 -10
  158. package/dist/typebox/user.tb.js.map +0 -1
  159. package/dist/types/calendar.types.d.ts +0 -124
  160. package/dist/types/calendar.types.d.ts.map +0 -1
  161. package/dist/types/calendar.types.js +0 -27
  162. package/dist/types/calendar.types.js.map +0 -1
  163. package/dist/types/internal.types.d.ts +0 -7
  164. package/dist/types/internal.types.d.ts.map +0 -1
  165. package/dist/types/internal.types.js +0 -2
  166. package/dist/types/internal.types.js.map +0 -1
  167. package/dist/types/oauth.types.d.ts +0 -22
  168. package/dist/types/oauth.types.d.ts.map +0 -1
  169. package/dist/types/oauth.types.js +0 -2
  170. package/dist/types/oauth.types.js.map +0 -1
  171. package/dist/types/organization.types.d.ts +0 -18
  172. package/dist/types/organization.types.d.ts.map +0 -1
  173. package/dist/types/organization.types.js +0 -2
  174. package/dist/types/organization.types.js.map +0 -1
  175. package/dist/types/scheduling.types.d.ts +0 -50
  176. package/dist/types/scheduling.types.d.ts.map +0 -1
  177. package/dist/types/scheduling.types.js +0 -2
  178. package/dist/types/scheduling.types.js.map +0 -1
  179. package/dist/types/user.types.d.ts +0 -11
  180. package/dist/types/user.types.d.ts.map +0 -1
  181. package/dist/types/user.types.js +0 -2
  182. package/dist/types/user.types.js.map +0 -1
  183. package/dist/utils/fetch.helper.d.ts +0 -62
  184. package/dist/utils/fetch.helper.d.ts.map +0 -1
  185. package/dist/utils/fetch.helper.js +0 -116
  186. package/dist/utils/fetch.helper.js.map +0 -1
  187. package/dist/utils/fetchErrorHandler.d.ts +0 -22
  188. package/dist/utils/fetchErrorHandler.d.ts.map +0 -1
  189. package/dist/utils/fetchErrorHandler.js +0 -35
  190. package/dist/utils/fetchErrorHandler.js.map +0 -1
  191. package/dist/utils/includes.helper.d.ts +0 -4
  192. package/dist/utils/includes.helper.d.ts.map +0 -1
  193. package/dist/utils/includes.helper.js +0 -10
  194. package/dist/utils/includes.helper.js.map +0 -1
  195. package/dist/utils/omit.d.ts +0 -2
  196. package/dist/utils/omit.d.ts.map +0 -1
  197. package/dist/utils/omit.js +0 -4
  198. package/dist/utils/omit.js.map +0 -1
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=oauth.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth.types.js","sourceRoot":"","sources":["../../src/types/oauth.types.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- import type { Static } from '@sinclair/typebox';
2
- import type { organizationSchema } from '../typebox/organization.tb.js';
3
- export type OrganizationJson = Static<typeof organizationSchema>;
4
- export interface CreateOrganization {
5
- slug: string;
6
- name: string;
7
- }
8
- export interface UpdateOrganization {
9
- slug: string;
10
- name: string;
11
- }
12
- export interface AddOrganizationMembers {
13
- userIds: string[];
14
- }
15
- export interface RemoveOrganizationMembers {
16
- userIds: string[];
17
- }
18
- //# sourceMappingURL=organization.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organization.types.d.ts","sourceRoot":"","sources":["../../src/types/organization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEhE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,MAAM,EAAE,CAAA;CACpB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=organization.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organization.types.js","sourceRoot":"","sources":["../../src/types/organization.types.ts"],"names":[],"mappings":""}
@@ -1,50 +0,0 @@
1
- import type { Static } from '@sinclair/typebox';
2
- import type { orgSchedulingResponseSchema, schedulingSchema, userAdvancedSchedulingResponseSchema, userBulkSchedulingResponseSchema, userSchedulingResponseSchema } from '../typebox/scheduling.tb.js';
3
- import type { Provider, TimeRange } from './calendar.types.js';
4
- export interface TimeRangeWithUser extends TimeRange {
5
- userId: string;
6
- }
7
- export type Schedule = Static<typeof schedulingSchema>;
8
- export type UserWithSchedules = {
9
- userId: string;
10
- calendarIds?: string[];
11
- schedules?: Schedule[];
12
- };
13
- export type UserSchedulingResponse = Static<typeof userSchedulingResponseSchema>;
14
- export type UserAdvancedSchedulingResponse = Static<typeof userAdvancedSchedulingResponseSchema>;
15
- export type OrgSchedulingResponse = Static<typeof orgSchedulingResponseSchema>;
16
- export type UserBulkSchedulingResponse = Static<typeof userBulkSchedulingResponseSchema>;
17
- export interface UserSchedulingBasicOptions {
18
- provider?: Provider | Provider[];
19
- padding?: number;
20
- slotDuration?: number;
21
- earliestTimeEachDay?: string;
22
- latestTimeEachDay?: string;
23
- timeZone?: string;
24
- maxOverlaps?: number;
25
- }
26
- export interface UserSchedulingAdvancedOptions {
27
- provider?: Provider | Provider[];
28
- padding?: number;
29
- slotDuration?: number;
30
- timeZone?: string;
31
- maxOverlaps?: number;
32
- }
33
- export interface UserBulkSchedulingOptions {
34
- provider?: Provider | Provider[];
35
- padding?: number;
36
- slotDuration?: number;
37
- timeZone?: string;
38
- maxOverlaps?: number;
39
- users: UserWithSchedules[];
40
- }
41
- export interface OrgSchedulingOptions {
42
- provider?: Provider | Provider[];
43
- padding?: number;
44
- slotDuration?: number;
45
- earliestTimeEachDay?: string;
46
- latestTimeEachDay?: string;
47
- timeZone?: string;
48
- maxOverlaps?: number;
49
- }
50
- //# sourceMappingURL=scheduling.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduling.types.d.ts","sourceRoot":"","sources":["../../src/types/scheduling.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EACR,2BAA2B,EAC3B,gBAAgB,EAChB,oCAAoC,EACpC,gCAAgC,EAChC,4BAA4B,EAC/B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAM9D,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEtD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;CACzB,CAAA;AAMD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEhF,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAAC,OAAO,oCAAoC,CAAC,CAAA;AAEhG,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE9E,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAA;AAMxF,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=scheduling.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduling.types.js","sourceRoot":"","sources":["../../src/types/scheduling.types.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import type { Static } from '@sinclair/typebox';
2
- import type { userSchema } from '../typebox/user.tb.js';
3
- export type UserJson = Static<typeof userSchema>;
4
- export interface CreateUser {
5
- id: string;
6
- organizationSlugs?: string[];
7
- }
8
- export interface UpdateUser {
9
- id: string;
10
- }
11
- //# sourceMappingURL=user.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.types.d.ts","sourceRoot":"","sources":["../../src/types/user.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAA;AAEhD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAA;CACb"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=user.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.types.js","sourceRoot":"","sources":["../../src/types/user.types.ts"],"names":[],"mappings":""}
@@ -1,62 +0,0 @@
1
- import type { Static, TSchema, TVoid } from '@sinclair/typebox';
2
- import type { Arrayable } from '../types/internal.types.js';
3
- interface FetchHelperOptions {
4
- token: string;
5
- url: string;
6
- }
7
- type JSONBody = string | number | boolean | Date | undefined | null | JSONBody[] | {
8
- [key: string]: JSONBody;
9
- } | object;
10
- type SearchParams = {
11
- [key: string]: Arrayable<string | number | boolean | Date | undefined> | undefined;
12
- };
13
- export declare class FetchError extends Error {
14
- url: string;
15
- private res;
16
- constructor(url: string, res: Response);
17
- get status(): number;
18
- get statusText(): string;
19
- getError(): Promise<string>;
20
- }
21
- export { errorHandler } from './fetchErrorHandler';
22
- export declare class FetchHelper {
23
- private token;
24
- private baseUrl;
25
- constructor(options: FetchHelperOptions);
26
- __fetch(url: string, options?: RequestInit): Promise<Response>;
27
- _fetch<S extends Static<Schema>, Schema extends TSchema = TVoid, R = S extends TVoid ? void : S>(_url: string, { body, searchParams: _searchParams, headers, schema, options, }: {
28
- body?: JSONBody;
29
- searchParams?: SearchParams;
30
- headers?: Record<string, string>;
31
- schema?: Schema;
32
- options?: RequestInit;
33
- }): Promise<R>;
34
- get<T extends Static<S>, S extends TSchema>(_url: string, { searchParams, headers, schema, options, }: {
35
- searchParams?: SearchParams;
36
- headers?: Record<string, string>;
37
- schema?: S;
38
- options?: RequestInit;
39
- }): Promise<T>;
40
- post<T extends Static<S>, S extends TSchema>(_url: string, { body, searchParams, headers, schema, options, }: {
41
- body?: JSONBody;
42
- searchParams?: SearchParams;
43
- headers?: Record<string, string>;
44
- schema?: S;
45
- options?: RequestInit;
46
- }): Promise<T>;
47
- put<T extends Static<S>, S extends TSchema>(_url: string, { body, searchParams, headers, schema, options, }: {
48
- body?: JSONBody;
49
- searchParams?: SearchParams;
50
- headers?: Record<string, string>;
51
- schema?: S;
52
- options?: RequestInit;
53
- }): Promise<T>;
54
- delete<T extends Static<S>, S extends TSchema>(_url: string, { body, searchParams, headers, schema, options, }: {
55
- body?: JSONBody;
56
- searchParams?: SearchParams;
57
- headers?: Record<string, string>;
58
- schema?: S;
59
- options?: RequestInit;
60
- }): Promise<T>;
61
- }
62
- //# sourceMappingURL=fetch.helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.helper.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.helper.ts"],"names":[],"mappings":"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"}
@@ -1,116 +0,0 @@
1
- import { Type as T } from '@sinclair/typebox';
2
- import { Value } from '@sinclair/typebox/value';
3
- // Error
4
- const apiErrorSchema = T.Object({
5
- error: T.String(),
6
- });
7
- export class FetchError extends Error {
8
- url;
9
- res;
10
- constructor(url, res) {
11
- super(`[Recal] Failed to fetch from ${url} with status ${res.status} and ${res.statusText}`);
12
- this.url = url;
13
- this.res = res;
14
- }
15
- get status() {
16
- return this.res.status;
17
- }
18
- get statusText() {
19
- return this.res.statusText;
20
- }
21
- async getError() {
22
- if (this.status === 422) {
23
- const json = await this.res.json();
24
- return `Validation error: ${JSON.stringify(json)}`;
25
- }
26
- if (this.res.headers.get('content-type')?.includes('application/json')) {
27
- const json = await this.res.json();
28
- if (Value.Check(apiErrorSchema, json))
29
- return Value.Parse(apiErrorSchema, json).error;
30
- return JSON.stringify(json);
31
- }
32
- return this.res.text();
33
- }
34
- }
35
- export { errorHandler } from './fetchErrorHandler';
36
- // MARK: - FetchHelper
37
- export class FetchHelper {
38
- token;
39
- baseUrl;
40
- constructor(options) {
41
- this.token = options.token;
42
- this.baseUrl = options.url;
43
- }
44
- // MARK: Private
45
- async __fetch(url, options) {
46
- const completeUrl = url.startsWith('/') ? `${this.baseUrl}${url}` : `${this.baseUrl}/${url}`;
47
- const response = await fetch(completeUrl, {
48
- ...options,
49
- headers: {
50
- ...options?.headers,
51
- Authorization: `Bearer ${this.token}`,
52
- ...(options?.body ? { 'Content-Type': 'application/json' } : {}),
53
- },
54
- });
55
- return response;
56
- }
57
- async _fetch(_url, { body, searchParams: _searchParams, headers, schema, options, }) {
58
- const params = new URLSearchParams();
59
- if (_searchParams) {
60
- Object.entries(_searchParams).forEach(([key, value]) => {
61
- if (Array.isArray(value)) {
62
- value.forEach((v) => v && params.append(key, v.toString()));
63
- }
64
- else if (value !== undefined) {
65
- params.append(key, value.toString());
66
- }
67
- });
68
- }
69
- const url = params.toString() ? `${_url}?${params.toString()}` : _url;
70
- const response = await this.__fetch(url, { ...options, body: JSON.stringify(body), headers });
71
- if (!response.ok)
72
- throw new FetchError(url, response);
73
- if (schema !== undefined) {
74
- const data = await response.json();
75
- return Value.Parse(schema, data);
76
- }
77
- return void 0;
78
- }
79
- // MARK: Methods
80
- async get(_url, { searchParams, headers, schema, options, }) {
81
- return this._fetch(_url, {
82
- searchParams,
83
- headers,
84
- schema,
85
- options: { method: 'GET', ...options },
86
- });
87
- }
88
- async post(_url, { body, searchParams, headers, schema, options, }) {
89
- return this._fetch(_url, {
90
- body,
91
- searchParams,
92
- headers,
93
- schema,
94
- options: { method: 'POST', ...options },
95
- });
96
- }
97
- async put(_url, { body, searchParams, headers, schema, options, }) {
98
- return this._fetch(_url, {
99
- body,
100
- searchParams,
101
- headers,
102
- schema,
103
- options: { method: 'PUT', ...options },
104
- });
105
- }
106
- async delete(_url, { body, searchParams, headers, schema, options, }) {
107
- return this._fetch(_url, {
108
- body,
109
- searchParams,
110
- headers,
111
- schema,
112
- options: { method: 'DELETE', ...options },
113
- });
114
- }
115
- }
116
- //# sourceMappingURL=fetch.helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetch.helper.js","sourceRoot":"","sources":["../../src/utils/fetch.helper.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { FetchError } from './fetch.helper.js';
2
- type HandlerResult<T> = Exclude<T, Error>;
3
- type Handler<T> = ((e: FetchError) => HandlerResult<T>) | HandlerResult<T>;
4
- type CatchHandler<T> = (e: unknown) => HandlerResult<T>;
5
- /**
6
- * ErrorHandler Object
7
- * @param code The HTTP status code to handle
8
- * @param error The error to throw on match of the HTTP status code
9
- * @param result The result to return on match of the HTTP status code
10
- */
11
- type ErrorHandlerObj<T> = {
12
- code: number;
13
- filter?: (error: FetchError) => boolean;
14
- errorInclFilter?: string | string[];
15
- } & ({
16
- error: Error;
17
- } | {
18
- result: Handler<T>;
19
- });
20
- export declare const errorHandler: <T = never>(errHandlers: ErrorHandlerObj<T>[], _catch?: CatchHandler<T>) => (error: Error) => Promise<HandlerResult<T>>;
21
- export {};
22
- //# sourceMappingURL=fetchErrorHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchErrorHandler.d.ts","sourceRoot":"","sources":["../../src/utils/fetchErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,KAAK,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AACzC,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAC1E,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AACvD;;;;;GAKG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;IACvC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACtC,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAA;AAE/C,eAAO,MAAM,YAAY,GACpB,CAAC,GAAG,KAAK,EAAE,aAAa,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,MAChE,OAAO,KAAK,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CA0B7C,CAAA"}
@@ -1,35 +0,0 @@
1
- import { FetchError } from './fetch.helper.js';
2
- export const errorHandler = (errHandlers, _catch) => async (error) => {
3
- if (error instanceof FetchError) {
4
- for (const errHandler of errHandlers) {
5
- if (errHandler.code === error.status) {
6
- // if filter is set, check if it matches, if not: continue
7
- if (errHandler.filter && !errHandler.filter(error))
8
- continue;
9
- // if errorInclFilter is set, check if any matches, if not: continue
10
- const errorText = await error.getError();
11
- if (errHandler.errorInclFilter) {
12
- if (Array.isArray(errHandler.errorInclFilter)) {
13
- if (!errHandler.errorInclFilter.some((filter) => errorText.includes(filter)))
14
- continue;
15
- }
16
- else if (!errorText.includes(errHandler.errorInclFilter))
17
- continue;
18
- }
19
- // if result is set, return it, if not: throw the defined error
20
- if ('result' in errHandler) {
21
- if (errHandler.result instanceof Function)
22
- return errHandler.result(error);
23
- return errHandler.result;
24
- }
25
- throw new Error(`[Recal] API error (${error.status} ${error.statusText}): ${errorText}`);
26
- }
27
- }
28
- const errorText = await error.getError();
29
- throw new Error(`[Recal] Unknown API error (${error.status} ${error.statusText}): ${errorText}`);
30
- }
31
- if (_catch)
32
- return _catch(error);
33
- throw error;
34
- };
35
- //# sourceMappingURL=fetchErrorHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fetchErrorHandler.js","sourceRoot":"","sources":["../../src/utils/fetchErrorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAiB9C,MAAM,CAAC,MAAM,YAAY,GACrB,CAAY,WAAiC,EAAE,MAAwB,EAAE,EAAE,CAC3E,KAAK,EAAE,KAAY,EAA6B,EAAE;IAC9C,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAC9B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnC,0DAA0D;gBAC1D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBAC5D,oEAAoE;gBACpE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;gBACxC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;oBAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC5C,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;4BAAE,SAAQ;oBAC1F,CAAC;yBAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;wBAAE,SAAQ;gBACxE,CAAC;gBACD,+DAA+D;gBAC/D,IAAI,QAAQ,IAAI,UAAU,EAAE,CAAC;oBACzB,IAAI,UAAU,CAAC,MAAM,YAAY,QAAQ;wBAAE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC1E,OAAO,UAAU,CAAC,MAAM,CAAA;gBAC5B,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,SAAS,EAAE,CAAC,CAAA;YAC5F,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAA;QACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,SAAS,EAAE,CAAC,CAAA;IACpG,CAAC;IACD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,KAAK,CAAA;AACf,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- export declare const includesHelper: <T extends string>(includes: [boolean, T][]) => {
2
- includes: T[];
3
- };
4
- //# sourceMappingURL=includes.helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"includes.helper.d.ts","sourceRoot":"","sources":["../../src/utils/includes.helper.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAG;IAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;CAO1F,CAAA"}
@@ -1,10 +0,0 @@
1
- export const includesHelper = (includes) => {
2
- return {
3
- includes: includes.reduce((acc, [include, value]) => {
4
- if (include)
5
- acc.push(value);
6
- return acc;
7
- }, []),
8
- };
9
- };
10
- //# sourceMappingURL=includes.helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"includes.helper.js","sourceRoot":"","sources":["../../src/utils/includes.helper.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAmB,QAAwB,EAAqB,EAAE;IAC5F,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE;YAChD,IAAI,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,OAAO,GAAG,CAAA;QACd,CAAC,EAAE,EAAS,CAAC;KAChB,CAAA;AACL,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const omit: <T extends object, K extends keyof T>(obj: T, keys: K[]) => Omit<T, K>;
2
- //# sourceMappingURL=omit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/utils/omit.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAEtF,CAAA"}
@@ -1,4 +0,0 @@
1
- export const omit = (obj, keys) => {
2
- return Object.fromEntries(Object.entries(obj).filter(([key]) => !keys.includes(key)));
3
- };
4
- //# sourceMappingURL=omit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/utils/omit.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,CAAsC,GAAM,EAAE,IAAS,EAAc,EAAE;IACvF,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAQ,CAAC,CAAC,CAAe,CAAA;AAC5G,CAAC,CAAA"}