@keboola/api-client 0.1.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 (265) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +456 -0
  3. package/dist/ai/index.cjs +203 -0
  4. package/dist/ai/index.cjs.map +1 -0
  5. package/dist/ai/index.d.cts +35 -0
  6. package/dist/ai/index.d.ts +35 -0
  7. package/dist/ai/index.js +197 -0
  8. package/dist/ai/index.js.map +1 -0
  9. package/dist/ai/types.cjs +4 -0
  10. package/dist/ai/types.cjs.map +1 -0
  11. package/dist/ai/types.d.cts +2 -0
  12. package/dist/ai/types.d.ts +2 -0
  13. package/dist/ai/types.js +3 -0
  14. package/dist/ai/types.js.map +1 -0
  15. package/dist/assets/index.cjs +182 -0
  16. package/dist/assets/index.cjs.map +1 -0
  17. package/dist/assets/index.d.cts +9 -0
  18. package/dist/assets/index.d.ts +9 -0
  19. package/dist/assets/index.js +176 -0
  20. package/dist/assets/index.js.map +1 -0
  21. package/dist/assets/types.cjs +4 -0
  22. package/dist/assets/types.cjs.map +1 -0
  23. package/dist/assets/types.d.cts +8 -0
  24. package/dist/assets/types.d.ts +8 -0
  25. package/dist/assets/types.js +3 -0
  26. package/dist/assets/types.js.map +1 -0
  27. package/dist/authMiddleware-BTFSCMTE.d.ts +11 -0
  28. package/dist/authMiddleware-BteBe1Bt.d.cts +11 -0
  29. package/dist/chat/index.cjs +428 -0
  30. package/dist/chat/index.cjs.map +1 -0
  31. package/dist/chat/index.d.cts +51 -0
  32. package/dist/chat/index.d.ts +51 -0
  33. package/dist/chat/index.js +422 -0
  34. package/dist/chat/index.js.map +1 -0
  35. package/dist/chat/suggestions.cjs +158 -0
  36. package/dist/chat/suggestions.cjs.map +1 -0
  37. package/dist/chat/suggestions.d.cts +437 -0
  38. package/dist/chat/suggestions.d.ts +437 -0
  39. package/dist/chat/suggestions.js +140 -0
  40. package/dist/chat/suggestions.js.map +1 -0
  41. package/dist/chat/types.cjs +10 -0
  42. package/dist/chat/types.cjs.map +1 -0
  43. package/dist/chat/types.d.cts +3 -0
  44. package/dist/chat/types.d.ts +3 -0
  45. package/dist/chat/types.js +8 -0
  46. package/dist/chat/types.js.map +1 -0
  47. package/dist/createGenericFetchClient-CLUzu-jY.d.cts +18 -0
  48. package/dist/createGenericFetchClient-DEakI3F1.d.ts +18 -0
  49. package/dist/createOpenapiFetchClient-CpXmAIFB.d.cts +24 -0
  50. package/dist/createOpenapiFetchClient-_sm4bchL.d.ts +24 -0
  51. package/dist/dataScience/index.cjs +416 -0
  52. package/dist/dataScience/index.cjs.map +1 -0
  53. package/dist/dataScience/index.d.cts +191 -0
  54. package/dist/dataScience/index.d.ts +191 -0
  55. package/dist/dataScience/index.js +388 -0
  56. package/dist/dataScience/index.js.map +1 -0
  57. package/dist/dataScience/types.cjs +4 -0
  58. package/dist/dataScience/types.cjs.map +1 -0
  59. package/dist/dataScience/types.d.cts +2 -0
  60. package/dist/dataScience/types.d.ts +2 -0
  61. package/dist/dataScience/types.js +3 -0
  62. package/dist/dataScience/types.js.map +1 -0
  63. package/dist/editor/index.cjs +275 -0
  64. package/dist/editor/index.cjs.map +1 -0
  65. package/dist/editor/index.d.cts +172 -0
  66. package/dist/editor/index.d.ts +172 -0
  67. package/dist/editor/index.js +269 -0
  68. package/dist/editor/index.js.map +1 -0
  69. package/dist/editor/types.cjs +4 -0
  70. package/dist/editor/types.cjs.map +1 -0
  71. package/dist/editor/types.d.cts +2 -0
  72. package/dist/editor/types.d.ts +2 -0
  73. package/dist/editor/types.js +3 -0
  74. package/dist/editor/types.js.map +1 -0
  75. package/dist/encryption/index.cjs +192 -0
  76. package/dist/encryption/index.cjs.map +1 -0
  77. package/dist/encryption/index.d.cts +14 -0
  78. package/dist/encryption/index.d.ts +14 -0
  79. package/dist/encryption/index.js +186 -0
  80. package/dist/encryption/index.js.map +1 -0
  81. package/dist/encryption/types.cjs +4 -0
  82. package/dist/encryption/types.cjs.map +1 -0
  83. package/dist/encryption/types.d.cts +8 -0
  84. package/dist/encryption/types.d.ts +8 -0
  85. package/dist/encryption/types.js +3 -0
  86. package/dist/encryption/types.js.map +1 -0
  87. package/dist/import/index.cjs +198 -0
  88. package/dist/import/index.cjs.map +1 -0
  89. package/dist/import/index.d.cts +9 -0
  90. package/dist/import/index.d.ts +9 -0
  91. package/dist/import/index.js +192 -0
  92. package/dist/import/index.js.map +1 -0
  93. package/dist/index.cjs +3910 -0
  94. package/dist/index.cjs.map +1 -0
  95. package/dist/index.d.cts +3108 -0
  96. package/dist/index.d.ts +3108 -0
  97. package/dist/index.js +3858 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/keboolaUID-D1DGSbge.d.cts +19 -0
  100. package/dist/keboolaUID-D1DGSbge.d.ts +19 -0
  101. package/dist/management/index.cjs +872 -0
  102. package/dist/management/index.cjs.map +1 -0
  103. package/dist/management/index.d.cts +440 -0
  104. package/dist/management/index.d.ts +440 -0
  105. package/dist/management/index.js +865 -0
  106. package/dist/management/index.js.map +1 -0
  107. package/dist/management/types.cjs +4 -0
  108. package/dist/management/types.cjs.map +1 -0
  109. package/dist/management/types.d.cts +9 -0
  110. package/dist/management/types.d.ts +9 -0
  111. package/dist/management/types.js +3 -0
  112. package/dist/management/types.js.map +1 -0
  113. package/dist/metastore/index.cjs +339 -0
  114. package/dist/metastore/index.cjs.map +1 -0
  115. package/dist/metastore/index.d.cts +52 -0
  116. package/dist/metastore/index.d.ts +52 -0
  117. package/dist/metastore/index.js +333 -0
  118. package/dist/metastore/index.js.map +1 -0
  119. package/dist/metastore/types.cjs +4 -0
  120. package/dist/metastore/types.cjs.map +1 -0
  121. package/dist/metastore/types.d.cts +2 -0
  122. package/dist/metastore/types.d.ts +2 -0
  123. package/dist/metastore/types.js +3 -0
  124. package/dist/metastore/types.js.map +1 -0
  125. package/dist/queryService/index.cjs +250 -0
  126. package/dist/queryService/index.cjs.map +1 -0
  127. package/dist/queryService/index.d.cts +39 -0
  128. package/dist/queryService/index.d.ts +39 -0
  129. package/dist/queryService/index.js +244 -0
  130. package/dist/queryService/index.js.map +1 -0
  131. package/dist/queryService/types.cjs +4 -0
  132. package/dist/queryService/types.cjs.map +1 -0
  133. package/dist/queryService/types.d.cts +2 -0
  134. package/dist/queryService/types.d.ts +2 -0
  135. package/dist/queryService/types.js +3 -0
  136. package/dist/queryService/types.js.map +1 -0
  137. package/dist/queue/index.cjs +192 -0
  138. package/dist/queue/index.cjs.map +1 -0
  139. package/dist/queue/index.d.cts +133 -0
  140. package/dist/queue/index.d.ts +133 -0
  141. package/dist/queue/index.js +186 -0
  142. package/dist/queue/index.js.map +1 -0
  143. package/dist/queue/types.cjs +4 -0
  144. package/dist/queue/types.cjs.map +1 -0
  145. package/dist/queue/types.d.cts +2 -0
  146. package/dist/queue/types.d.ts +2 -0
  147. package/dist/queue/types.js +3 -0
  148. package/dist/queue/types.js.map +1 -0
  149. package/dist/sdk/storage/index.cjs +96 -0
  150. package/dist/sdk/storage/index.cjs.map +1 -0
  151. package/dist/sdk/storage/index.d.cts +24 -0
  152. package/dist/sdk/storage/index.d.ts +24 -0
  153. package/dist/sdk/storage/index.js +94 -0
  154. package/dist/sdk/storage/index.js.map +1 -0
  155. package/dist/sdk/tag/index.cjs +210 -0
  156. package/dist/sdk/tag/index.cjs.map +1 -0
  157. package/dist/sdk/tag/index.d.cts +25 -0
  158. package/dist/sdk/tag/index.d.ts +25 -0
  159. package/dist/sdk/tag/index.js +208 -0
  160. package/dist/sdk/tag/index.js.map +1 -0
  161. package/dist/sdk/tag/types.cjs +4 -0
  162. package/dist/sdk/tag/types.cjs.map +1 -0
  163. package/dist/sdk/tag/types.d.cts +30 -0
  164. package/dist/sdk/tag/types.d.ts +30 -0
  165. package/dist/sdk/tag/types.js +3 -0
  166. package/dist/sdk/tag/types.js.map +1 -0
  167. package/dist/status/index.cjs +178 -0
  168. package/dist/status/index.cjs.map +1 -0
  169. package/dist/status/index.d.cts +10 -0
  170. package/dist/status/index.d.ts +10 -0
  171. package/dist/status/index.js +172 -0
  172. package/dist/status/index.js.map +1 -0
  173. package/dist/status/types.cjs +4 -0
  174. package/dist/status/types.cjs.map +1 -0
  175. package/dist/status/types.d.cts +19 -0
  176. package/dist/status/types.d.ts +19 -0
  177. package/dist/status/types.js +3 -0
  178. package/dist/status/types.js.map +1 -0
  179. package/dist/storage/index.cjs +1021 -0
  180. package/dist/storage/index.cjs.map +1 -0
  181. package/dist/storage/index.d.cts +12 -0
  182. package/dist/storage/index.d.ts +12 -0
  183. package/dist/storage/index.js +1014 -0
  184. package/dist/storage/index.js.map +1 -0
  185. package/dist/storage/types.cjs +4 -0
  186. package/dist/storage/types.cjs.map +1 -0
  187. package/dist/storage/types.d.cts +10976 -0
  188. package/dist/storage/types.d.ts +10976 -0
  189. package/dist/storage/types.js +3 -0
  190. package/dist/storage/types.js.map +1 -0
  191. package/dist/storageClient-DPLh_p0V.d.cts +608 -0
  192. package/dist/storageClient-YVWer22Y.d.ts +608 -0
  193. package/dist/syncActions/index.cjs +366 -0
  194. package/dist/syncActions/index.cjs.map +1 -0
  195. package/dist/syncActions/index.d.cts +94 -0
  196. package/dist/syncActions/index.d.ts +94 -0
  197. package/dist/syncActions/index.js +341 -0
  198. package/dist/syncActions/index.js.map +1 -0
  199. package/dist/syncActions/types.cjs +4 -0
  200. package/dist/syncActions/types.cjs.map +1 -0
  201. package/dist/syncActions/types.d.cts +261 -0
  202. package/dist/syncActions/types.d.ts +261 -0
  203. package/dist/syncActions/types.js +3 -0
  204. package/dist/syncActions/types.js.map +1 -0
  205. package/dist/telemetry/index.cjs +189 -0
  206. package/dist/telemetry/index.cjs.map +1 -0
  207. package/dist/telemetry/index.d.cts +13 -0
  208. package/dist/telemetry/index.d.ts +13 -0
  209. package/dist/telemetry/index.js +183 -0
  210. package/dist/telemetry/index.js.map +1 -0
  211. package/dist/telemetry/types.cjs +4 -0
  212. package/dist/telemetry/types.cjs.map +1 -0
  213. package/dist/telemetry/types.d.cts +12 -0
  214. package/dist/telemetry/types.d.ts +12 -0
  215. package/dist/telemetry/types.js +3 -0
  216. package/dist/telemetry/types.js.map +1 -0
  217. package/dist/types-B51cQMrX.d.ts +1408 -0
  218. package/dist/types-B7k8S4ki.d.ts +1520 -0
  219. package/dist/types-BNQK_jR_.d.cts +1520 -0
  220. package/dist/types-BY0tjg2Q.d.ts +1079 -0
  221. package/dist/types-BeShtGlc.d.cts +8591 -0
  222. package/dist/types-BeShtGlc.d.ts +8591 -0
  223. package/dist/types-BjrNNn5I.d.ts +1643 -0
  224. package/dist/types-C-bd4ArM.d.cts +1079 -0
  225. package/dist/types-C7mpAfq-.d.cts +64 -0
  226. package/dist/types-C7mpAfq-.d.ts +64 -0
  227. package/dist/types-CGMJT3JL.d.ts +943 -0
  228. package/dist/types-CRSKcua9.d.cts +1314 -0
  229. package/dist/types-DJ6nbNq5.d.cts +1643 -0
  230. package/dist/types-DJkU9gvB.d.cts +943 -0
  231. package/dist/types-DYMMsuU0.d.cts +78 -0
  232. package/dist/types-DYMMsuU0.d.ts +78 -0
  233. package/dist/types-Dg1tEsVR.d.cts +17 -0
  234. package/dist/types-Dg1tEsVR.d.ts +17 -0
  235. package/dist/types-DgaMV8FF.d.cts +60 -0
  236. package/dist/types-DgaMV8FF.d.ts +60 -0
  237. package/dist/types-Dws8mFNY.d.cts +1408 -0
  238. package/dist/types-cH0_hkCW.d.ts +1314 -0
  239. package/dist/utils-BNQZiNOu.d.ts +1657 -0
  240. package/dist/utils-DE09pDTi.d.cts +1657 -0
  241. package/dist/vault/index.cjs +225 -0
  242. package/dist/vault/index.cjs.map +1 -0
  243. package/dist/vault/index.d.cts +26 -0
  244. package/dist/vault/index.d.ts +26 -0
  245. package/dist/vault/index.js +219 -0
  246. package/dist/vault/index.js.map +1 -0
  247. package/dist/vault/types.cjs +4 -0
  248. package/dist/vault/types.cjs.map +1 -0
  249. package/dist/vault/types.d.cts +390 -0
  250. package/dist/vault/types.d.ts +390 -0
  251. package/dist/vault/types.js +3 -0
  252. package/dist/vault/types.js.map +1 -0
  253. package/dist/verify/index.cjs +190 -0
  254. package/dist/verify/index.cjs.map +1 -0
  255. package/dist/verify/index.d.cts +9 -0
  256. package/dist/verify/index.d.ts +9 -0
  257. package/dist/verify/index.js +184 -0
  258. package/dist/verify/index.js.map +1 -0
  259. package/dist/verify/types.cjs +4 -0
  260. package/dist/verify/types.cjs.map +1 -0
  261. package/dist/verify/types.d.cts +29 -0
  262. package/dist/verify/types.d.ts +29 -0
  263. package/dist/verify/types.js +3 -0
  264. package/dist/verify/types.js.map +1 -0
  265. package/package.json +570 -0
@@ -0,0 +1,1014 @@
1
+ import qs from 'qs';
2
+
3
+ // src/errors/ApiError.ts
4
+ var ApiError = class extends Error {
5
+ response;
6
+ request;
7
+ data;
8
+ constructor({ response, request, data }) {
9
+ super(response.statusText);
10
+ this.response = response;
11
+ this.request = request;
12
+ this.data = data;
13
+ }
14
+ };
15
+ var HttpHeader = {
16
+ CONTENT_TYPE: "content-type"};
17
+ var HttpContentType = {
18
+ JSON: "application/json"};
19
+ var defaultValidateStatus = ({ response }) => response.status >= 200 && response.status <= 299;
20
+ function removeUndefined(obj) {
21
+ const objCopy = { ...obj };
22
+ for (const [key, value] of Object.entries(objCopy)) {
23
+ if (value == null) delete objCopy[key];
24
+ }
25
+ return objCopy;
26
+ }
27
+ var parseData = async (response) => {
28
+ if (response.status === 204) return null;
29
+ const contentType = response.headers.get(HttpHeader.CONTENT_TYPE);
30
+ if (contentType && contentType == HttpContentType.JSON) {
31
+ return response.json();
32
+ }
33
+ const text = await response.text();
34
+ try {
35
+ return JSON.parse(text);
36
+ } catch {
37
+ return text;
38
+ }
39
+ };
40
+ var cleanHeadersInit = (headersInit) => {
41
+ if (Array.isArray(headersInit)) return headersInit;
42
+ if (headersInit instanceof Headers) return headersInit;
43
+ if (headersInit == null) return headersInit;
44
+ return removeUndefined(headersInit);
45
+ };
46
+ var createHeaders = (headersInitA, headersInitB) => {
47
+ const headersA = new Headers(cleanHeadersInit(headersInitA));
48
+ const headersB = new Headers(cleanHeadersInit(headersInitB));
49
+ headersB.forEach((value, key) => {
50
+ headersA.set(key, value);
51
+ });
52
+ return headersA;
53
+ };
54
+ var createPath = (path, pathParam = {}) => path.replace(/\{([^}]+)}/g, (_, key) => {
55
+ if (!(key in pathParam))
56
+ throw new Error(`Path parameter "${key}" is missing in the path "${path}"`);
57
+ return encodeURIComponent(pathParam[key]);
58
+ });
59
+ var createSearch = (query, options = {}) => {
60
+ return qs.stringify(query, {
61
+ encodeValuesOnly: true,
62
+ skipNulls: true,
63
+ ...options
64
+ });
65
+ };
66
+ var createBody = (body, headers) => {
67
+ if (body == null) return null;
68
+ if (body instanceof FormData) return body;
69
+ if (typeof body === "string") return body;
70
+ const stringifyBody = JSON.stringify(body);
71
+ const stringBody = stringifyBody === "{}" ? null : stringifyBody;
72
+ if (stringBody) headers.set(HttpHeader.CONTENT_TYPE, HttpContentType.JSON);
73
+ return stringBody;
74
+ };
75
+ var createFetchRequest = ({
76
+ url,
77
+ method,
78
+ params,
79
+ options = {},
80
+ defaultOptions
81
+ }) => {
82
+ const {
83
+ baseUrl,
84
+ validateStatus: defValidateStatus = defaultValidateStatus,
85
+ headers: defaultHeaders,
86
+ ...restDefaultOptions
87
+ } = defaultOptions;
88
+ const { validateStatus, queryArrayFormat, headers: endpointHeaders, ...restOptions } = options;
89
+ const headers = createHeaders(defaultHeaders, endpointHeaders);
90
+ const path = createPath(url, params.path);
91
+ const search = createSearch(params.query ?? {}, { arrayFormat: queryArrayFormat });
92
+ const body = createBody(params.body, headers);
93
+ const urlInstance = new URL(baseUrl + path);
94
+ urlInstance.search = search;
95
+ const request = new Request(urlInstance, {
96
+ ...restDefaultOptions,
97
+ ...restOptions,
98
+ headers,
99
+ method: method.toUpperCase(),
100
+ body
101
+ });
102
+ return { request, validateStatus: validateStatus ?? defValidateStatus };
103
+ };
104
+
105
+ // src/fetchClient/createFetchClient/createFetchClient.ts
106
+ var isApiError = (error) => error instanceof ApiError;
107
+ var createCoreFetch = (fetchFn) => async ({ request, validateStatus }) => {
108
+ const response = await fetchFn(request);
109
+ const data = await parseData(response);
110
+ const apiResponse = {
111
+ request,
112
+ response,
113
+ data
114
+ };
115
+ const boolOrError = validateStatus(apiResponse);
116
+ if (isApiError(boolOrError)) throw boolOrError;
117
+ if (!boolOrError) throw new ApiError(apiResponse);
118
+ return apiResponse;
119
+ };
120
+ var createFetchClient = ({
121
+ middlewares = [],
122
+ ...defaultOptions
123
+ }) => {
124
+ const coreFetch = createCoreFetch(defaultOptions.fetchFn ?? fetch);
125
+ const fetchWithMiddlewares = middlewares.reduceRight(
126
+ (next, middleware) => middleware(next),
127
+ coreFetch
128
+ );
129
+ const createFetchMethod = (method) => async (url, params, options = {}) => {
130
+ const request = createFetchRequest({
131
+ url,
132
+ method,
133
+ params,
134
+ defaultOptions,
135
+ options
136
+ });
137
+ const methodMiddlewares = options?.middlewares ?? [];
138
+ return methodMiddlewares.reduceRight(
139
+ (next, middleware) => middleware(next),
140
+ fetchWithMiddlewares
141
+ )(request);
142
+ };
143
+ return {
144
+ get: createFetchMethod("get"),
145
+ post: createFetchMethod("post"),
146
+ put: createFetchMethod("put"),
147
+ patch: createFetchMethod("patch"),
148
+ delete: createFetchMethod("delete")
149
+ };
150
+ };
151
+
152
+ // src/fetchClient/createGenericFetchClient.ts
153
+ var createGenericFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
154
+
155
+ // src/fetchClient/createOpenapiFetchClient.ts
156
+ var createOpenapiFetchClient = (defaultOptions) => createFetchClient(defaultOptions);
157
+
158
+ // src/clients/storage/configurationVersions/configurationVersions.ts
159
+ var createConfigurationVersions = (client) => {
160
+ const listConfigurationVersions = async ({ branchId, componentId, configId }, signal) => {
161
+ const { data } = await client.get(
162
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/versions",
163
+ { path: { branchId, componentId, configId } },
164
+ { signal }
165
+ );
166
+ return data;
167
+ };
168
+ const getConfigurationVersion = async ({ branchId, componentId, configId, versionId }, signal) => {
169
+ const { data } = await client.get(
170
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/versions/{versionId}",
171
+ { path: { branchId, componentId, configId, versionId } },
172
+ { signal }
173
+ );
174
+ return data;
175
+ };
176
+ return {
177
+ listConfigurationVersions,
178
+ getConfigurationVersion
179
+ };
180
+ };
181
+
182
+ // src/clients/storage/mergeRequests/mergeRequests.ts
183
+ var createMergeRequests = (client) => {
184
+ const getMergeRequests = async (signal) => {
185
+ const { data } = await client.get("/v2/storage/merge-request", {}, { signal });
186
+ return data;
187
+ };
188
+ const getMergeRequest = async (id, signal) => {
189
+ const { data } = await client.get(
190
+ "/v2/storage/merge-request/{id}",
191
+ { path: { id } },
192
+ { signal }
193
+ );
194
+ return data;
195
+ };
196
+ const getMergeRequestWithActivityLog = async (id, signal) => {
197
+ const { data } = await client.get(
198
+ "/v2/storage/merge-request/{id}",
199
+ // @ts-expect-error backend accepts `?include=activityLog`; OpenAPI schema regen pending (connection#7250).
200
+ { path: { id }, query: { include: "activityLog" } },
201
+ { signal }
202
+ );
203
+ return data;
204
+ };
205
+ const createMergeRequest = async (params) => {
206
+ const { data } = await client.post("/v2/storage/merge-request", { body: params });
207
+ return data;
208
+ };
209
+ const updateMergeRequest = async (id, params) => {
210
+ const { data } = await client.put("/v2/storage/merge-request/{id}", {
211
+ path: { id },
212
+ body: params
213
+ });
214
+ return data;
215
+ };
216
+ const requestReview = async (id) => {
217
+ const { data } = await client.put("/v2/storage/merge-request/{id}/request-review", {
218
+ path: { id }
219
+ });
220
+ return data;
221
+ };
222
+ const approveMergeRequest = async (id) => {
223
+ const { data } = await client.put("/v2/storage/merge-request/{id}/approve", {
224
+ path: { id }
225
+ });
226
+ return data;
227
+ };
228
+ const requestChangesMergeRequest = async (id, reason) => {
229
+ const { data } = await client.put("/v2/storage/merge-request/{id}/request-changes", {
230
+ path: { id },
231
+ // @ts-expect-error backend accepts optional `{ reason }` body; OpenAPI schema regen pending (connection#7250).
232
+ body: reason ? { reason } : void 0
233
+ });
234
+ return data;
235
+ };
236
+ return {
237
+ getMergeRequests,
238
+ getMergeRequest,
239
+ getMergeRequestWithActivityLog,
240
+ createMergeRequest,
241
+ updateMergeRequest,
242
+ requestReview,
243
+ approveMergeRequest,
244
+ requestChangesMergeRequest
245
+ };
246
+ };
247
+
248
+ // src/clients/storage/branches/mappers.ts
249
+ var mapBranchMetadata = (data) => ({
250
+ ...data,
251
+ timestamp: new Date(data.timestamp)
252
+ });
253
+
254
+ // src/clients/storage/branches/branches.ts
255
+ var createBranches = (client) => {
256
+ const getDevBranches = async (signal) => {
257
+ const { data } = await client.get("/dev-branches", {}, { signal });
258
+ return data;
259
+ };
260
+ const createDevBranchJob = async (body) => {
261
+ const { data } = await client.post(
262
+ "/dev-branches",
263
+ {
264
+ body
265
+ }
266
+ );
267
+ return data;
268
+ };
269
+ const updateDevBranch = async ({
270
+ id,
271
+ name,
272
+ description
273
+ }) => {
274
+ const { data } = await client.put(
275
+ "/dev-branches/{id}",
276
+ {
277
+ path: { id },
278
+ body: {
279
+ name,
280
+ description
281
+ }
282
+ }
283
+ );
284
+ return data;
285
+ };
286
+ const deleteDevBranchJob = async (id) => {
287
+ const { data } = await client.delete(
288
+ "/dev-branches/{id}",
289
+ {
290
+ path: { id }
291
+ }
292
+ );
293
+ return data;
294
+ };
295
+ const getDevBranchMetadata = async (id, signal) => {
296
+ const { data } = await client.get(
297
+ "/branch/{id}/metadata",
298
+ { path: { id } },
299
+ { signal }
300
+ );
301
+ return data.map(mapBranchMetadata);
302
+ };
303
+ const saveDevBranchMetadata = async (id, metadata, signal) => {
304
+ const { data } = await client.post("/branch/{id}/metadata", { path: { id }, body: { metadata } }, { signal });
305
+ return data.map(mapBranchMetadata);
306
+ };
307
+ const deleteDevBranchMetadata = async (id, metadataId, signal) => {
308
+ await client.delete(
309
+ "/branch/{id}/metadata/{metadataId}",
310
+ { path: { id, metadataId } },
311
+ { signal }
312
+ );
313
+ };
314
+ return {
315
+ getDevBranches,
316
+ createDevBranchJob,
317
+ updateDevBranch,
318
+ deleteDevBranchJob,
319
+ getDevBranchMetadata,
320
+ saveDevBranchMetadata,
321
+ deleteDevBranchMetadata
322
+ };
323
+ };
324
+
325
+ // src/clients/storage/buckets/buckets.ts
326
+ var createBuckets = (client) => {
327
+ const getBuckets = async (query = {}, signal) => {
328
+ const { data } = await client.get(
329
+ `/buckets`,
330
+ { query },
331
+ { signal, queryArrayFormat: "comma" }
332
+ );
333
+ return data;
334
+ };
335
+ const getBucket = async (id, signal) => {
336
+ const { data } = await client.get(
337
+ `/buckets/{id}`,
338
+ { path: { id } },
339
+ { signal }
340
+ );
341
+ return data;
342
+ };
343
+ const createBucket = async (body) => {
344
+ const { data } = await client.post(`/buckets`, {
345
+ body
346
+ });
347
+ return data;
348
+ };
349
+ const updateBucket = async (id, body) => {
350
+ const { data } = await client.patch(
351
+ `/buckets/{id}`,
352
+ { path: { id }, body }
353
+ );
354
+ return data;
355
+ };
356
+ const deleteBucket = async (id) => {
357
+ await client.delete(`/buckets/{id}`, { path: { id } });
358
+ };
359
+ const deleteBucketAsync = async (id, options = {}) => {
360
+ const { data } = await client.delete(`/buckets/{id}`, { path: { id }, query: { async: true, ...options } });
361
+ return data;
362
+ };
363
+ const createScheduledRefresh = async (input) => {
364
+ const { branchId, bucketId, cronExpression } = input;
365
+ const { data } = await client.post(`/branch/{branchId}/buckets/{bucketId}/scheduled-tasks/refresh`, {
366
+ path: { branchId, bucketId },
367
+ body: { cronExpression }
368
+ });
369
+ return data;
370
+ };
371
+ const deleteScheduledTask = async (taskId) => {
372
+ await client.delete(`/scheduled-tasks/{taskId}`, {
373
+ path: { taskId }
374
+ });
375
+ };
376
+ return {
377
+ getBuckets,
378
+ getBucket,
379
+ createBucket,
380
+ updateBucket,
381
+ deleteBucket,
382
+ deleteBucketAsync,
383
+ createScheduledRefresh,
384
+ deleteScheduledTask
385
+ };
386
+ };
387
+
388
+ // src/utils/concurrent.ts
389
+ var concurrent = async ({
390
+ items,
391
+ process,
392
+ concurrency = 2,
393
+ middlewares = []
394
+ }) => {
395
+ if (concurrency < 1) throw new Error("Concurrency must be greater than 0");
396
+ if (items.length === 0) return [];
397
+ if (concurrency === Infinity)
398
+ return Promise.all(items.map((item, index) => process(item, index, items.length)));
399
+ const n = items.length;
400
+ const results = new Array(n);
401
+ const processWithMiddlewares = middlewares.reduceRight(
402
+ (next, middleware) => middleware(next),
403
+ process
404
+ );
405
+ const queue = items.map((item, index) => async () => {
406
+ results[index] = await processWithMiddlewares(item, index, items.length);
407
+ });
408
+ const workers = Array.from(
409
+ { length: Math.min(concurrency, items.length) },
410
+ async function processQueue() {
411
+ while (queue.length) {
412
+ await queue.shift()?.();
413
+ }
414
+ }
415
+ );
416
+ await Promise.all(workers);
417
+ return results;
418
+ };
419
+
420
+ // src/utils/series.ts
421
+ var series = async (options) => concurrent({
422
+ ...options,
423
+ concurrency: 1
424
+ });
425
+
426
+ // src/clients/storage/componentsAndConfigurations/componentsAndConfigurations.ts
427
+ var createComponentsAndConfigurations = (client) => {
428
+ const getComponent = async ({ componentId, branchId = "default" }, signal) => {
429
+ const { data } = await client.get(
430
+ "/branch/{branchId}/components/{componentId}",
431
+ { path: { componentId, branchId } },
432
+ { signal }
433
+ );
434
+ return data;
435
+ };
436
+ const getComponents = async ({ branchId = "default", ...query } = {}, signal) => {
437
+ const { data } = await client.get(
438
+ "/branch/{branchId}/components",
439
+ { path: { branchId }, query },
440
+ { signal, queryArrayFormat: "comma" }
441
+ );
442
+ return data;
443
+ };
444
+ const getConfiguration = async ({ componentId, configId, branchId = "default" }, signal) => {
445
+ const { data } = await client.get(
446
+ "/branch/{branchId}/components/{componentId}/configs/{configId}",
447
+ { path: { componentId, configId, branchId } },
448
+ { signal }
449
+ );
450
+ return data;
451
+ };
452
+ const createConfiguration = async ({
453
+ branchId = "default",
454
+ componentId,
455
+ ...body
456
+ }) => {
457
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs", {
458
+ path: { branchId, componentId },
459
+ body
460
+ });
461
+ return data;
462
+ };
463
+ const deleteConfiguration = async (path) => {
464
+ await client.delete(
465
+ "/branch/{branchId}/components/{componentId}/configs/{configId}",
466
+ { path }
467
+ );
468
+ };
469
+ const deleteConfigurations = async ({
470
+ configIds,
471
+ ...rest
472
+ }) => {
473
+ await concurrent({
474
+ items: configIds,
475
+ process: async (configId) => deleteConfiguration({ ...rest, configId })
476
+ });
477
+ };
478
+ const getConfigurations = async ({ componentId, branchId = "default" }, signal) => {
479
+ const { data } = await client.get(
480
+ "/branch/{branchId}/components/{componentId}/configs",
481
+ { path: { componentId, branchId } },
482
+ { signal }
483
+ );
484
+ return data;
485
+ };
486
+ const getConfigurationWorkspaces = async ({
487
+ componentId,
488
+ branchId,
489
+ configId
490
+ }) => {
491
+ const { data } = await client.get(
492
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces",
493
+ {
494
+ path: { componentId, branchId, configId }
495
+ }
496
+ );
497
+ return data;
498
+ };
499
+ const createConfigurationWorkspace = async ({
500
+ componentId,
501
+ branchId,
502
+ configId,
503
+ ...body
504
+ }) => {
505
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
506
+ path: { componentId, branchId, configId },
507
+ body
508
+ });
509
+ return data;
510
+ };
511
+ const createConfigurationWorkspaceJob = async ({
512
+ componentId,
513
+ branchId,
514
+ configId,
515
+ ...body
516
+ }) => {
517
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/workspaces", {
518
+ path: { componentId, branchId, configId },
519
+ body,
520
+ query: { async: true }
521
+ });
522
+ return data;
523
+ };
524
+ const createConfigurationRow = async ({
525
+ branchId = "default",
526
+ componentId,
527
+ configId,
528
+ ...body
529
+ }) => {
530
+ const { data } = await client.post("/branch/{branchId}/components/{componentId}/configs/{configId}/rows", {
531
+ path: { branchId, componentId, configId },
532
+ body
533
+ });
534
+ return data;
535
+ };
536
+ const createConfigurationRows = async ({
537
+ branchId = "default",
538
+ componentId,
539
+ configId,
540
+ data
541
+ }, options) => {
542
+ return series({
543
+ items: data,
544
+ process: (rowBody) => {
545
+ return createConfigurationRow({
546
+ branchId,
547
+ componentId,
548
+ configId,
549
+ ...rowBody
550
+ });
551
+ },
552
+ middlewares: options?.middlewares
553
+ });
554
+ };
555
+ const deleteConfigurationRow = async ({
556
+ changeDescription,
557
+ ...path
558
+ }) => {
559
+ await client.delete(
560
+ "/branch/{branchId}/components/{componentId}/configs/{configId}/rows/{rowId}",
561
+ {
562
+ path,
563
+ body: { changeDescription }
564
+ }
565
+ );
566
+ };
567
+ const deleteConfigurationRows = async ({ rowIds, changeDescription, ...input }, options) => {
568
+ await concurrent({
569
+ items: rowIds,
570
+ process: (rowId) => {
571
+ const resolvedDescription = typeof changeDescription === "string" ? changeDescription : changeDescription?.(rowId);
572
+ return deleteConfigurationRow({
573
+ rowId,
574
+ changeDescription: resolvedDescription,
575
+ ...input
576
+ });
577
+ },
578
+ concurrency: 5,
579
+ middlewares: options?.middlewares
580
+ });
581
+ };
582
+ const searchComponentConfigurations = async ({ branchId = "default" } = {}, query, signal) => {
583
+ const { data } = await client.get(
584
+ "/branch/{branchId}/search/component-configurations",
585
+ { path: { branchId }, query },
586
+ { signal, queryArrayFormat: "comma" }
587
+ );
588
+ return data;
589
+ };
590
+ return {
591
+ // components
592
+ getComponent,
593
+ getComponents,
594
+ searchComponentConfigurations,
595
+ // configurations
596
+ createConfiguration,
597
+ getConfiguration,
598
+ deleteConfiguration,
599
+ deleteConfigurations,
600
+ getConfigurations,
601
+ // configuration's rows
602
+ createConfigurationRow,
603
+ createConfigurationRows,
604
+ deleteConfigurationRow,
605
+ deleteConfigurationRows,
606
+ // configuration's workspaces
607
+ createConfigurationWorkspace,
608
+ createConfigurationWorkspaceJob,
609
+ getConfigurationWorkspaces
610
+ };
611
+ };
612
+
613
+ // src/clients/storage/events/events.ts
614
+ var createEvents = (client) => {
615
+ const getEvents = async (query, signal) => {
616
+ const { data } = await client.get(
617
+ "/events",
618
+ { query },
619
+ { signal }
620
+ );
621
+ return data;
622
+ };
623
+ const getEvent = async (eventId, signal) => {
624
+ const { data } = await client.get(
625
+ "/events/{eventId}",
626
+ {
627
+ path: { eventId }
628
+ },
629
+ { signal }
630
+ );
631
+ return data;
632
+ };
633
+ const createEvent = async (body, signal) => {
634
+ const { data } = await client.post(
635
+ "/events",
636
+ {
637
+ body
638
+ },
639
+ { signal }
640
+ );
641
+ return data;
642
+ };
643
+ return {
644
+ getEvents,
645
+ getEvent,
646
+ createEvent
647
+ };
648
+ };
649
+
650
+ // src/clients/storage/files/files.ts
651
+ var createFiles = (client) => {
652
+ const getFile = async (fileId, signal) => {
653
+ const { data } = await client.get(
654
+ `/files/{fileId}`,
655
+ {
656
+ path: { fileId }
657
+ },
658
+ { signal }
659
+ );
660
+ return data;
661
+ };
662
+ const getFiles = async (query, signal) => {
663
+ const { data } = await client.get(
664
+ "/files",
665
+ { query },
666
+ { signal, queryArrayFormat: "brackets" }
667
+ );
668
+ return data;
669
+ };
670
+ const deleteFile = async (fileId) => {
671
+ const { data } = await client.delete(`/files/{fileId}`, {
672
+ path: { fileId }
673
+ });
674
+ return data;
675
+ };
676
+ const addFileTag = async (fileId, tag) => {
677
+ const { data } = await client.post(
678
+ `/files/{fileId}/tags`,
679
+ {
680
+ path: { fileId },
681
+ body: { tag }
682
+ }
683
+ );
684
+ return data;
685
+ };
686
+ const getFileContent = async (fileId, signal) => {
687
+ const { data } = await client.get(
688
+ `/files/{fileId}/content`,
689
+ {
690
+ path: { fileId }
691
+ },
692
+ { signal }
693
+ );
694
+ return typeof data === "string" ? data : JSON.stringify(data, null, 2);
695
+ };
696
+ const deleteFileTag = async (fileId, tag) => {
697
+ const { data } = await client.delete(
698
+ "/files/{fileId}/tags/{tag}",
699
+ {
700
+ path: { fileId, tag }
701
+ }
702
+ );
703
+ return data;
704
+ };
705
+ const prepareFile = async (body, signal) => {
706
+ const { data } = await client.post(
707
+ "/files/prepare",
708
+ { body },
709
+ { signal }
710
+ );
711
+ return data;
712
+ };
713
+ return {
714
+ getFile,
715
+ getFileContent,
716
+ getFiles,
717
+ deleteFile,
718
+ addFileTag,
719
+ deleteFileTag,
720
+ prepareFile
721
+ };
722
+ };
723
+
724
+ // src/clients/storage/jobs/jobs.ts
725
+ var createJobs = (client) => {
726
+ const getJob = async (id, signal) => {
727
+ const { data } = await client.get(
728
+ `/jobs/{id}`,
729
+ {
730
+ path: { id }
731
+ },
732
+ { signal }
733
+ );
734
+ return data;
735
+ };
736
+ const getJobs = async (query, signal) => {
737
+ const { data } = await client.get(
738
+ "/jobs",
739
+ { query },
740
+ { signal, queryArrayFormat: "brackets" }
741
+ );
742
+ return data;
743
+ };
744
+ return { getJob, getJobs };
745
+ };
746
+
747
+ // src/clients/storage/tables/tables.ts
748
+ var createTables = (client) => {
749
+ const getTables = async (query = { include: [] }, signal) => {
750
+ const { data } = await client.get(
751
+ `/tables`,
752
+ { query },
753
+ { signal, queryArrayFormat: "comma" }
754
+ );
755
+ return data;
756
+ };
757
+ const getTable = async (id, signal) => {
758
+ const { data } = await client.get(
759
+ `/tables/{id}`,
760
+ { path: { id } },
761
+ { signal }
762
+ );
763
+ return data;
764
+ };
765
+ const deleteTable = async (id, signal) => {
766
+ await client.delete(`/tables/{id}`, { path: { id } }, { signal });
767
+ };
768
+ const deleteTables = async (ids) => {
769
+ await concurrent({
770
+ items: ids,
771
+ process: (id) => deleteTable(id)
772
+ });
773
+ };
774
+ const deleteTableRows = async (id, query, signal) => {
775
+ const { data } = await client.delete(
776
+ `/tables/{id}/rows`,
777
+ { path: { id }, query },
778
+ { signal }
779
+ );
780
+ return data;
781
+ };
782
+ const getDataPreview = async (id, query, signal) => {
783
+ const { data } = await client.get(
784
+ `/tables/{id}/data-preview`,
785
+ { path: { id }, query: { format: "json", ...query } },
786
+ { signal }
787
+ );
788
+ return data;
789
+ };
790
+ const exportAsync = async (tableId, body, signal) => {
791
+ const { data } = await client.post(
792
+ "/tables/{id}/export-async",
793
+ { path: { id: tableId }, body },
794
+ { signal }
795
+ );
796
+ return data;
797
+ };
798
+ const createTableAsync = async (bucketId, body, signal) => {
799
+ const { data } = await client.post("/buckets/{bucketId}/tables-async", { path: { bucketId }, body }, { signal });
800
+ return data;
801
+ };
802
+ const importAsync = async (tableId, body, signal) => {
803
+ const { data } = await client.post(
804
+ "/tables/{id}/import-async",
805
+ { path: { id: tableId }, body },
806
+ { signal }
807
+ );
808
+ return data;
809
+ };
810
+ return {
811
+ getTables,
812
+ getTable,
813
+ getDataPreview,
814
+ deleteTable,
815
+ deleteTables,
816
+ deleteTableRows,
817
+ exportAsync,
818
+ createTableAsync,
819
+ importAsync
820
+ };
821
+ };
822
+
823
+ // src/clients/storage/tokens/tokens.ts
824
+ var createTokens = (client) => {
825
+ const verify = async (signal) => {
826
+ const { data } = await client.get(
827
+ "/tokens/verify",
828
+ {},
829
+ { signal }
830
+ );
831
+ return data;
832
+ };
833
+ const refresh = async (id, signal) => {
834
+ const { data } = await client.post(
835
+ `/tokens/${id}/refresh`,
836
+ {},
837
+ { signal }
838
+ );
839
+ return data;
840
+ };
841
+ return {
842
+ verify,
843
+ refresh
844
+ };
845
+ };
846
+
847
+ // src/clients/storage/workspaces/workspaces.ts
848
+ var createWorkspaces = (client) => {
849
+ const getWorkspaces = async (branchId, signal) => {
850
+ const { data } = await client.get(
851
+ "/branch/{branchId}/workspaces",
852
+ { path: { branchId } },
853
+ { signal }
854
+ );
855
+ return data;
856
+ };
857
+ const getWorkspace = async (path, signal) => {
858
+ const { data } = await client.get(
859
+ "/branch/{branchId}/workspaces/{workspaceId}",
860
+ { path },
861
+ { signal }
862
+ );
863
+ return data;
864
+ };
865
+ const deleteWorkspace = async (path) => {
866
+ await client.delete(
867
+ "/branch/{branchId}/workspaces/{workspaceId}",
868
+ { path }
869
+ );
870
+ };
871
+ const deleteWorkspaces = async ({
872
+ workspaceIds,
873
+ branchId
874
+ }) => {
875
+ await concurrent({
876
+ items: workspaceIds,
877
+ process: async (workspaceId) => deleteWorkspace({ branchId, workspaceId }),
878
+ concurrency: 5
879
+ });
880
+ };
881
+ const deleteWorkspaceJob = async (path) => {
882
+ const { data } = await client.delete(
883
+ "/branch/{branchId}/workspaces/{workspaceId}",
884
+ { path, query: { async: true } },
885
+ {}
886
+ );
887
+ return data;
888
+ };
889
+ const resetWorkspacePassword = async ({ branchId, workspaceId }) => {
890
+ const { data } = await client.post(
891
+ "/branch/{branchId}/workspaces/{workspaceId}/password",
892
+ {
893
+ path: { branchId, workspaceId }
894
+ }
895
+ );
896
+ return data;
897
+ };
898
+ const getWorkspaceSaml2Login = async (path, signal) => {
899
+ const { data } = await client.get(
900
+ "/branch/{branchId}/workspaces/{workspaceId}/saml2-login",
901
+ { path },
902
+ { signal }
903
+ );
904
+ return data;
905
+ };
906
+ const setWorkspacePublicKey = async ({
907
+ branchId,
908
+ workspaceId,
909
+ publicKey
910
+ }) => {
911
+ const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/public-key", {
912
+ path: { branchId, workspaceId },
913
+ body: { publicKey }
914
+ });
915
+ return data;
916
+ };
917
+ const getWorkspaceObjects = async (path, signal) => {
918
+ const { data } = await client.get(
919
+ "/branch/{branchId}/workspaces/{workspaceId}/objects",
920
+ { path },
921
+ { signal }
922
+ );
923
+ return data;
924
+ };
925
+ const deleteWorkspaceObjectsAsync = async ({
926
+ branchId,
927
+ workspaceId,
928
+ ...body
929
+ }) => {
930
+ const { data } = await client.post("/branch/{branchId}/workspaces/{workspaceId}/objects/batch-delete", {
931
+ path: { branchId, workspaceId },
932
+ body
933
+ });
934
+ return data;
935
+ };
936
+ return {
937
+ getWorkspace,
938
+ getWorkspaces,
939
+ deleteWorkspace,
940
+ resetWorkspacePassword,
941
+ deleteWorkspaces,
942
+ deleteWorkspaceJob,
943
+ setWorkspacePublicKey,
944
+ getWorkspaceSaml2Login,
945
+ getWorkspaceObjects,
946
+ deleteWorkspaceObjectsAsync
947
+ };
948
+ };
949
+
950
+ // src/clients/storage/storageClient.ts
951
+ var createStorageClient = ({ baseUrl, middlewares = [] }) => {
952
+ const storageBaseUrl = `${baseUrl}/v2/storage`;
953
+ const client = createGenericFetchClient({
954
+ baseUrl: storageBaseUrl,
955
+ middlewares
956
+ });
957
+ const openApiClient = createOpenapiFetchClient({
958
+ baseUrl,
959
+ middlewares
960
+ });
961
+ const getStackInfo = async (query, signal) => {
962
+ const { data } = await client.get(
963
+ "",
964
+ { query },
965
+ { signal }
966
+ );
967
+ return data;
968
+ };
969
+ return {
970
+ buckets: createBuckets(client),
971
+ events: createEvents(client),
972
+ files: createFiles(client),
973
+ tables: createTables(client),
974
+ branches: createBranches(client),
975
+ workspaces: createWorkspaces(client),
976
+ mergeRequests: createMergeRequests(openApiClient),
977
+ jobs: createJobs(client),
978
+ componentsAndConfigurations: createComponentsAndConfigurations(client),
979
+ configurationVersions: createConfigurationVersions(client),
980
+ tokens: createTokens(client),
981
+ getStackInfo
982
+ };
983
+ };
984
+
985
+ // src/constants.ts
986
+ var KeboolaHttpHeader = {
987
+ STORAGE_API_TOKEN: "X-StorageApi-Token"};
988
+
989
+ // src/clients/storage/storageTokenMiddleware.ts
990
+ var isTokenRefreshEndpoint = (request) => {
991
+ const url = new URL(request.url);
992
+ return request.method === "POST" && /\/tokens\/[^/]+\/refresh$/.test(url.pathname);
993
+ };
994
+ var tryParseNewToken = (data) => {
995
+ if (data === null || typeof data !== "object") return null;
996
+ const token = data.token;
997
+ return typeof token === "string" ? token : null;
998
+ };
999
+ var createStorageTokenMiddleware = (initialToken) => {
1000
+ let current = initialToken;
1001
+ return (next) => async (request) => {
1002
+ request.request.headers.set(KeboolaHttpHeader.STORAGE_API_TOKEN, current);
1003
+ const response = await next(request);
1004
+ if (isTokenRefreshEndpoint(request.request)) {
1005
+ const newToken = tryParseNewToken(response.data);
1006
+ if (newToken !== null) current = newToken;
1007
+ }
1008
+ return response;
1009
+ };
1010
+ };
1011
+
1012
+ export { createStorageClient, createStorageTokenMiddleware };
1013
+ //# sourceMappingURL=index.js.map
1014
+ //# sourceMappingURL=index.js.map