@mapcreator/api 0.0.0-co-edit.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 (274) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +86 -0
  3. package/cjs/api/apiCommon.d.ts +7 -0
  4. package/cjs/api/apiCommon.d.ts.map +1 -0
  5. package/cjs/api/apiCommon.js +31 -0
  6. package/cjs/api/apiCommon.js.map +1 -0
  7. package/cjs/api/choropleth.d.ts +138 -0
  8. package/cjs/api/choropleth.d.ts.map +1 -0
  9. package/cjs/api/choropleth.js +41 -0
  10. package/cjs/api/choropleth.js.map +1 -0
  11. package/cjs/api/color.d.ts +16 -0
  12. package/cjs/api/color.d.ts.map +1 -0
  13. package/cjs/api/color.js +8 -0
  14. package/cjs/api/color.js.map +1 -0
  15. package/cjs/api/dimension.d.ts +25 -0
  16. package/cjs/api/dimension.d.ts.map +1 -0
  17. package/cjs/api/dimension.js +14 -0
  18. package/cjs/api/dimension.js.map +1 -0
  19. package/cjs/api/dimensionSet.d.ts +15 -0
  20. package/cjs/api/dimensionSet.d.ts.map +1 -0
  21. package/cjs/api/dimensionSet.js +7 -0
  22. package/cjs/api/dimensionSet.js.map +1 -0
  23. package/cjs/api/feature.d.ts +16 -0
  24. package/cjs/api/feature.d.ts.map +1 -0
  25. package/cjs/api/feature.js +8 -0
  26. package/cjs/api/feature.js.map +1 -0
  27. package/cjs/api/font.d.ts +32 -0
  28. package/cjs/api/font.d.ts.map +1 -0
  29. package/cjs/api/font.js +15 -0
  30. package/cjs/api/font.js.map +1 -0
  31. package/cjs/api/fontFamily.d.ts +17 -0
  32. package/cjs/api/fontFamily.d.ts.map +1 -0
  33. package/cjs/api/fontFamily.js +17 -0
  34. package/cjs/api/fontFamily.js.map +1 -0
  35. package/cjs/api/geocode.d.ts +10 -0
  36. package/cjs/api/geocode.d.ts.map +1 -0
  37. package/cjs/api/geocode.js +9 -0
  38. package/cjs/api/geocode.js.map +1 -0
  39. package/cjs/api/highlight.d.ts +41 -0
  40. package/cjs/api/highlight.d.ts.map +1 -0
  41. package/cjs/api/highlight.js +25 -0
  42. package/cjs/api/highlight.js.map +1 -0
  43. package/cjs/api/insetMap.d.ts +37 -0
  44. package/cjs/api/insetMap.d.ts.map +1 -0
  45. package/cjs/api/insetMap.js +47 -0
  46. package/cjs/api/insetMap.js.map +1 -0
  47. package/cjs/api/job.d.ts +45 -0
  48. package/cjs/api/job.d.ts.map +1 -0
  49. package/cjs/api/job.js +77 -0
  50. package/cjs/api/job.js.map +1 -0
  51. package/cjs/api/jobResult.d.ts +40 -0
  52. package/cjs/api/jobResult.d.ts.map +1 -0
  53. package/cjs/api/jobResult.js +35 -0
  54. package/cjs/api/jobResult.js.map +1 -0
  55. package/cjs/api/jobRevision.d.ts +76 -0
  56. package/cjs/api/jobRevision.d.ts.map +1 -0
  57. package/cjs/api/jobRevision.js +126 -0
  58. package/cjs/api/jobRevision.js.map +1 -0
  59. package/cjs/api/jobShare.d.ts +26 -0
  60. package/cjs/api/jobShare.d.ts.map +1 -0
  61. package/cjs/api/jobShare.js +9 -0
  62. package/cjs/api/jobShare.js.map +1 -0
  63. package/cjs/api/jobType.d.ts +17 -0
  64. package/cjs/api/jobType.d.ts.map +1 -0
  65. package/cjs/api/jobType.js +11 -0
  66. package/cjs/api/jobType.js.map +1 -0
  67. package/cjs/api/language.d.ts +17 -0
  68. package/cjs/api/language.d.ts.map +1 -0
  69. package/cjs/api/language.js +3 -0
  70. package/cjs/api/language.js.map +1 -0
  71. package/cjs/api/layer.d.ts +26 -0
  72. package/cjs/api/layer.d.ts.map +1 -0
  73. package/cjs/api/layer.js +14 -0
  74. package/cjs/api/layer.js.map +1 -0
  75. package/cjs/api/layerFaq.d.ts +27 -0
  76. package/cjs/api/layerFaq.d.ts.map +1 -0
  77. package/cjs/api/layerFaq.js +16 -0
  78. package/cjs/api/layerFaq.js.map +1 -0
  79. package/cjs/api/layerGroup.d.ts +16 -0
  80. package/cjs/api/layerGroup.d.ts.map +1 -0
  81. package/cjs/api/layerGroup.js +36 -0
  82. package/cjs/api/layerGroup.js.map +1 -0
  83. package/cjs/api/mapstyleSet.d.ts +32 -0
  84. package/cjs/api/mapstyleSet.d.ts.map +1 -0
  85. package/cjs/api/mapstyleSet.js +28 -0
  86. package/cjs/api/mapstyleSet.js.map +1 -0
  87. package/cjs/api/message.d.ts +32 -0
  88. package/cjs/api/message.d.ts.map +1 -0
  89. package/cjs/api/message.js +37 -0
  90. package/cjs/api/message.js.map +1 -0
  91. package/cjs/api/organisation.d.ts +41 -0
  92. package/cjs/api/organisation.d.ts.map +1 -0
  93. package/cjs/api/organisation.js +41 -0
  94. package/cjs/api/organisation.js.map +1 -0
  95. package/cjs/api/resources.d.ts +65 -0
  96. package/cjs/api/resources.d.ts.map +1 -0
  97. package/cjs/api/resources.js +61 -0
  98. package/cjs/api/resources.js.map +1 -0
  99. package/cjs/api/svg.d.ts +21 -0
  100. package/cjs/api/svg.d.ts.map +1 -0
  101. package/cjs/api/svg.js +15 -0
  102. package/cjs/api/svg.js.map +1 -0
  103. package/cjs/api/svgSet.d.ts +22 -0
  104. package/cjs/api/svgSet.d.ts.map +1 -0
  105. package/cjs/api/svgSet.js +25 -0
  106. package/cjs/api/svgSet.js.map +1 -0
  107. package/cjs/api/user.d.ts +129 -0
  108. package/cjs/api/user.d.ts.map +1 -0
  109. package/cjs/api/user.js +145 -0
  110. package/cjs/api/user.js.map +1 -0
  111. package/cjs/index.d.ts +28 -0
  112. package/cjs/index.d.ts.map +1 -0
  113. package/cjs/index.js +53 -0
  114. package/cjs/index.js.map +1 -0
  115. package/cjs/oauth.d.ts +31 -0
  116. package/cjs/oauth.d.ts.map +1 -0
  117. package/cjs/oauth.js +76 -0
  118. package/cjs/oauth.js.map +1 -0
  119. package/cjs/utils.d.ts +72 -0
  120. package/cjs/utils.d.ts.map +1 -0
  121. package/cjs/utils.js +220 -0
  122. package/cjs/utils.js.map +1 -0
  123. package/esm/api/apiCommon.d.ts +7 -0
  124. package/esm/api/apiCommon.d.ts.map +1 -0
  125. package/esm/api/apiCommon.js +28 -0
  126. package/esm/api/apiCommon.js.map +1 -0
  127. package/esm/api/choropleth.d.ts +138 -0
  128. package/esm/api/choropleth.d.ts.map +1 -0
  129. package/esm/api/choropleth.js +34 -0
  130. package/esm/api/choropleth.js.map +1 -0
  131. package/esm/api/color.d.ts +16 -0
  132. package/esm/api/color.d.ts.map +1 -0
  133. package/esm/api/color.js +5 -0
  134. package/esm/api/color.js.map +1 -0
  135. package/esm/api/dimension.d.ts +25 -0
  136. package/esm/api/dimension.d.ts.map +1 -0
  137. package/esm/api/dimension.js +11 -0
  138. package/esm/api/dimension.js.map +1 -0
  139. package/esm/api/dimensionSet.d.ts +15 -0
  140. package/esm/api/dimensionSet.d.ts.map +1 -0
  141. package/esm/api/dimensionSet.js +4 -0
  142. package/esm/api/dimensionSet.js.map +1 -0
  143. package/esm/api/feature.d.ts +16 -0
  144. package/esm/api/feature.d.ts.map +1 -0
  145. package/esm/api/feature.js +5 -0
  146. package/esm/api/feature.js.map +1 -0
  147. package/esm/api/font.d.ts +32 -0
  148. package/esm/api/font.d.ts.map +1 -0
  149. package/esm/api/font.js +11 -0
  150. package/esm/api/font.js.map +1 -0
  151. package/esm/api/fontFamily.d.ts +17 -0
  152. package/esm/api/fontFamily.d.ts.map +1 -0
  153. package/esm/api/fontFamily.js +13 -0
  154. package/esm/api/fontFamily.js.map +1 -0
  155. package/esm/api/geocode.d.ts +10 -0
  156. package/esm/api/geocode.d.ts.map +1 -0
  157. package/esm/api/geocode.js +6 -0
  158. package/esm/api/geocode.js.map +1 -0
  159. package/esm/api/highlight.d.ts +41 -0
  160. package/esm/api/highlight.d.ts.map +1 -0
  161. package/esm/api/highlight.js +21 -0
  162. package/esm/api/highlight.js.map +1 -0
  163. package/esm/api/insetMap.d.ts +37 -0
  164. package/esm/api/insetMap.d.ts.map +1 -0
  165. package/esm/api/insetMap.js +42 -0
  166. package/esm/api/insetMap.js.map +1 -0
  167. package/esm/api/job.d.ts +45 -0
  168. package/esm/api/job.d.ts.map +1 -0
  169. package/esm/api/job.js +64 -0
  170. package/esm/api/job.js.map +1 -0
  171. package/esm/api/jobResult.d.ts +40 -0
  172. package/esm/api/jobResult.d.ts.map +1 -0
  173. package/esm/api/jobResult.js +30 -0
  174. package/esm/api/jobResult.js.map +1 -0
  175. package/esm/api/jobRevision.d.ts +76 -0
  176. package/esm/api/jobRevision.d.ts.map +1 -0
  177. package/esm/api/jobRevision.js +114 -0
  178. package/esm/api/jobRevision.js.map +1 -0
  179. package/esm/api/jobShare.d.ts +26 -0
  180. package/esm/api/jobShare.d.ts.map +1 -0
  181. package/esm/api/jobShare.js +6 -0
  182. package/esm/api/jobShare.js.map +1 -0
  183. package/esm/api/jobType.d.ts +17 -0
  184. package/esm/api/jobType.d.ts.map +1 -0
  185. package/esm/api/jobType.js +8 -0
  186. package/esm/api/jobType.js.map +1 -0
  187. package/esm/api/language.d.ts +17 -0
  188. package/esm/api/language.d.ts.map +1 -0
  189. package/esm/api/language.js +2 -0
  190. package/esm/api/language.js.map +1 -0
  191. package/esm/api/layer.d.ts +26 -0
  192. package/esm/api/layer.d.ts.map +1 -0
  193. package/esm/api/layer.js +11 -0
  194. package/esm/api/layer.js.map +1 -0
  195. package/esm/api/layerFaq.d.ts +27 -0
  196. package/esm/api/layerFaq.d.ts.map +1 -0
  197. package/esm/api/layerFaq.js +12 -0
  198. package/esm/api/layerFaq.js.map +1 -0
  199. package/esm/api/layerGroup.d.ts +16 -0
  200. package/esm/api/layerGroup.d.ts.map +1 -0
  201. package/esm/api/layerGroup.js +33 -0
  202. package/esm/api/layerGroup.js.map +1 -0
  203. package/esm/api/mapstyleSet.d.ts +32 -0
  204. package/esm/api/mapstyleSet.d.ts.map +1 -0
  205. package/esm/api/mapstyleSet.js +24 -0
  206. package/esm/api/mapstyleSet.js.map +1 -0
  207. package/esm/api/message.d.ts +32 -0
  208. package/esm/api/message.d.ts.map +1 -0
  209. package/esm/api/message.js +32 -0
  210. package/esm/api/message.js.map +1 -0
  211. package/esm/api/organisation.d.ts +41 -0
  212. package/esm/api/organisation.d.ts.map +1 -0
  213. package/esm/api/organisation.js +35 -0
  214. package/esm/api/organisation.js.map +1 -0
  215. package/esm/api/resources.d.ts +65 -0
  216. package/esm/api/resources.d.ts.map +1 -0
  217. package/esm/api/resources.js +55 -0
  218. package/esm/api/resources.js.map +1 -0
  219. package/esm/api/svg.d.ts +21 -0
  220. package/esm/api/svg.d.ts.map +1 -0
  221. package/esm/api/svg.js +11 -0
  222. package/esm/api/svg.js.map +1 -0
  223. package/esm/api/svgSet.d.ts +22 -0
  224. package/esm/api/svgSet.d.ts.map +1 -0
  225. package/esm/api/svgSet.js +21 -0
  226. package/esm/api/svgSet.js.map +1 -0
  227. package/esm/api/user.d.ts +129 -0
  228. package/esm/api/user.d.ts.map +1 -0
  229. package/esm/api/user.js +126 -0
  230. package/esm/api/user.js.map +1 -0
  231. package/esm/index.d.ts +28 -0
  232. package/esm/index.d.ts.map +1 -0
  233. package/esm/index.js +28 -0
  234. package/esm/index.js.map +1 -0
  235. package/esm/oauth.d.ts +31 -0
  236. package/esm/oauth.d.ts.map +1 -0
  237. package/esm/oauth.js +68 -0
  238. package/esm/oauth.js.map +1 -0
  239. package/esm/utils.d.ts +72 -0
  240. package/esm/utils.d.ts.map +1 -0
  241. package/esm/utils.js +206 -0
  242. package/esm/utils.js.map +1 -0
  243. package/package.json +80 -0
  244. package/src/README.md +126 -0
  245. package/src/api/apiCommon.ts +70 -0
  246. package/src/api/choropleth.ts +228 -0
  247. package/src/api/color.ts +22 -0
  248. package/src/api/dimension.ts +44 -0
  249. package/src/api/dimensionSet.ts +20 -0
  250. package/src/api/feature.ts +22 -0
  251. package/src/api/font.ts +57 -0
  252. package/src/api/fontFamily.ts +43 -0
  253. package/src/api/geocode.ts +17 -0
  254. package/src/api/highlight.ts +87 -0
  255. package/src/api/insetMap.ts +95 -0
  256. package/src/api/job.ts +139 -0
  257. package/src/api/jobResult.ts +95 -0
  258. package/src/api/jobRevision.ts +281 -0
  259. package/src/api/jobShare.ts +35 -0
  260. package/src/api/jobType.ts +26 -0
  261. package/src/api/language.ts +19 -0
  262. package/src/api/layer.ts +38 -0
  263. package/src/api/layerFaq.ts +53 -0
  264. package/src/api/layerGroup.ts +69 -0
  265. package/src/api/mapstyleSet.ts +70 -0
  266. package/src/api/message.ts +80 -0
  267. package/src/api/organisation.ts +96 -0
  268. package/src/api/resources.ts +153 -0
  269. package/src/api/svg.ts +33 -0
  270. package/src/api/svgSet.ts +56 -0
  271. package/src/api/user.ts +327 -0
  272. package/src/index.ts +44 -0
  273. package/src/oauth.ts +90 -0
  274. package/src/utils.ts +342 -0
package/cjs/oauth.js ADDED
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.token = exports.apiHost = void 0;
4
+ exports.initDummyFlow = initDummyFlow;
5
+ exports.initImplicitFlow = initImplicitFlow;
6
+ exports.authenticate = authenticate;
7
+ exports.getAuthorizationHeaders = getAuthorizationHeaders;
8
+ exports.logout = logout;
9
+ exports.apiHost = '';
10
+ exports.token = null;
11
+ let callbackUrl = '';
12
+ /**
13
+ * Cleanup of previously used data. The code part can be removed in a while.
14
+ */
15
+ for (let i = 0; i < window.localStorage.length; ++i) {
16
+ const key = window.localStorage.key(i);
17
+ if (key === null || key === void 0 ? void 0 : key.startsWith('_m4n_')) {
18
+ window.localStorage.removeItem(key);
19
+ }
20
+ }
21
+ /**
22
+ * Setup internal structures to use dummy authentication flow
23
+ *
24
+ * @param {string} apiUrl - Full API URL
25
+ * @param {string} oauthToken - OAuth Token
26
+ */
27
+ function initDummyFlow(apiUrl, oauthToken) {
28
+ const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
29
+ exports.apiHost = apiUrl.replace(/\/+$/, '');
30
+ exports.token = {
31
+ type: parts[0].toLowerCase().replace(/\b\w/g, c => c.toUpperCase()),
32
+ token: parts[1],
33
+ expires: new Date('2100-01-01T01:00:00'),
34
+ toString() {
35
+ return `${this.type} ${this.token}`;
36
+ },
37
+ };
38
+ }
39
+ /**
40
+ * Setup internal structures to use implicit authentication flow
41
+ *
42
+ * @param {string} apiUrl - Full API URL
43
+ * @param {string} [redirectUrl] - Callback URL
44
+ */
45
+ function initImplicitFlow(apiUrl, redirectUrl = '') {
46
+ exports.apiHost = apiUrl.replace(/\/+$/, '');
47
+ callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
48
+ const href = sessionStorage.getItem('redirect-url');
49
+ if (href) {
50
+ sessionStorage.removeItem('redirect-url');
51
+ window.history.replaceState(null, document.title, href);
52
+ }
53
+ }
54
+ async function authenticate() {
55
+ return new Promise(() => {
56
+ sessionStorage.setItem('redirect-url', window.location.href);
57
+ window.location.assign(`${exports.apiHost}/login?${new URLSearchParams({ redirect_uri: callbackUrl })}`);
58
+ });
59
+ }
60
+ function getAuthorizationHeaders(method) {
61
+ var _a;
62
+ const cookie = !exports.token && method !== 'GET' && method !== 'HEAD'
63
+ ? (_a = document.cookie.split(/ *; */).find(pair => pair.startsWith('XSRF-TOKEN'))) === null || _a === void 0 ? void 0 : _a.split('=')[1]
64
+ : undefined;
65
+ return exports.token
66
+ ? { Authorization: exports.token.toString() }
67
+ : cookie
68
+ ? { 'X-XSRF-Token': decodeURIComponent(cookie) }
69
+ : undefined;
70
+ }
71
+ async function logout() {
72
+ return new Promise(() => {
73
+ window.location.assign(`${exports.apiHost}/logout?${new URLSearchParams({ redirect_uri: callbackUrl })}`);
74
+ });
75
+ }
76
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"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"}
package/cjs/utils.d.ts ADDED
@@ -0,0 +1,72 @@
1
+ import type { CamelCasedProperties, SnakeCasedProperties } from 'type-fest';
2
+ export type Flatten<Type> = Type extends Array<infer Item> ? Item : Type;
3
+ export type ApiCommonData = {
4
+ created_at: string | null;
5
+ deleted_at: string | null;
6
+ updated_at: string | null;
7
+ };
8
+ export interface ApiSuccess {
9
+ success: true;
10
+ data?: Record<string, unknown> | Array<Record<string, unknown>> | string | string[];
11
+ }
12
+ export interface ApiError {
13
+ success: false;
14
+ error: {
15
+ type: string;
16
+ message: string;
17
+ validation_errors?: Record<string, string[]>;
18
+ };
19
+ }
20
+ export type ApiCommon = ApiSuccess | ApiError;
21
+ export declare const myUser = "me";
22
+ export declare const myOrganisations = "mine";
23
+ export declare const lastJobRevision = "last";
24
+ export declare const defaultListHeader: {
25
+ 'X-Per-Page': string;
26
+ };
27
+ export declare const deletedNoneParam: URLSearchParams;
28
+ export declare const keysToRemove: string[];
29
+ export declare const staticContext: {
30
+ keysToRemove: Set<string>;
31
+ keysToAdd: never[];
32
+ revivers: {};
33
+ };
34
+ export declare class NetworkError extends Error {
35
+ }
36
+ export declare class HTTPError extends Error {
37
+ statusCode: number;
38
+ constructor(response: Response);
39
+ }
40
+ export declare class APIError extends Error {
41
+ code: string;
42
+ constructor(apiError: ApiError);
43
+ }
44
+ export declare function getSearchParams(search: Record<string, unknown>): URLSearchParams;
45
+ export type Revivers<I extends ApiCommon, O extends Record<string, unknown>, R = Exclude<Flatten<Exclude<Exclude<I, ApiError>['data'], string | undefined>>, string>> = {
46
+ [K in keyof O | keyof R]?: K extends keyof O & keyof R ? ((data: R) => O[K]) | undefined : K extends Exclude<keyof O, keyof R> ? (data: R) => O[K] : K extends Exclude<keyof R, keyof O> ? undefined : never;
47
+ };
48
+ export interface ExtraOptions<I extends ApiCommon, O extends Record<string, unknown> | string> {
49
+ method?: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
50
+ revivers?: O extends Record<string, unknown> ? Revivers<I, O> : never;
51
+ sendNull?: boolean;
52
+ withMeta?: boolean;
53
+ }
54
+ export declare class APIMeta<I extends ApiCommon, O extends Record<string, unknown> | string, A = Exclude<I, ApiError>['data'] extends unknown[] ? true : false> extends Error {
55
+ data: A extends true ? O[] : O;
56
+ status: number;
57
+ headers: Headers;
58
+ constructor(data: A extends true ? O[] : O, headers: Headers, status: number);
59
+ }
60
+ export declare function request<I extends ApiCommon, O extends Record<string, unknown> | string, A = Exclude<I, ApiError>['data'] extends unknown[] ? true : false>(path: string, body?: XMLHttpRequestBodyInit | Record<string | number, unknown> | null, extraHeaders?: Record<string, string> | null, extraOptions?: ExtraOptions<I, O>): Promise<A extends true ? O[] : O>;
61
+ interface Context<I extends ApiCommon, O extends Record<string, unknown>> {
62
+ keysToRemove: Set<string>;
63
+ keysToAdd: string[];
64
+ revivers: Revivers<I, O>;
65
+ }
66
+ export declare function getContext<I extends ApiCommon, O extends Record<string, unknown>>(revivers: Revivers<I, O>, keys?: string[]): Context<I, O>;
67
+ export declare function processData<I extends ApiCommon, O extends Record<string, unknown>>(this: Context<I, O>, data: Exclude<Flatten<Exclude<Exclude<I, ApiError>['data'], string | undefined>>, string>): O;
68
+ export declare function toApiType<T extends Record<string, unknown>>(body: T): SnakeCasedProperties<T>;
69
+ export declare function toAppType<T extends Record<string, unknown>>(body: T): CamelCasedProperties<T>;
70
+ export declare function ensureArray<T extends Record<string, unknown>>(data: T | T[]): T[];
71
+ export {};
72
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/cjs/utils.js ADDED
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIMeta = exports.APIError = exports.HTTPError = exports.NetworkError = exports.staticContext = exports.keysToRemove = exports.deletedNoneParam = exports.defaultListHeader = exports.lastJobRevision = exports.myOrganisations = exports.myUser = void 0;
4
+ exports.getSearchParams = getSearchParams;
5
+ exports.request = request;
6
+ exports.getContext = getContext;
7
+ exports.processData = processData;
8
+ exports.toApiType = toApiType;
9
+ exports.toAppType = toAppType;
10
+ exports.ensureArray = ensureArray;
11
+ const oauth_js_1 = require("./oauth.js");
12
+ exports.myUser = 'me';
13
+ exports.myOrganisations = 'mine';
14
+ exports.lastJobRevision = 'last';
15
+ exports.defaultListHeader = { 'X-Per-Page': '50' };
16
+ exports.deletedNoneParam = getSearchParams({ deleted: 'none' });
17
+ exports.keysToRemove = ['created_at', 'deleted_at', 'updated_at'];
18
+ exports.staticContext = { keysToRemove: new Set(exports.keysToRemove), keysToAdd: [], revivers: {} };
19
+ // class AuthorizationError extends Error {}
20
+ class NetworkError extends Error {
21
+ }
22
+ exports.NetworkError = NetworkError;
23
+ class HTTPError extends Error {
24
+ constructor(response) {
25
+ super(response.statusText);
26
+ this.statusCode = response.status;
27
+ }
28
+ }
29
+ exports.HTTPError = HTTPError;
30
+ class APIError extends Error {
31
+ constructor(apiError) {
32
+ super(apiError.error.message);
33
+ this.code = apiError.error.type;
34
+ }
35
+ }
36
+ exports.APIError = APIError;
37
+ function getSearchParams(search) {
38
+ return new URLSearchParams(Object.entries(search).reduce((arr, [key, value]) => {
39
+ if (Array.isArray(value)) {
40
+ arr.push(...value.map(val => [`${key}[]`, String(val)]));
41
+ }
42
+ else if (value !== null && typeof value === 'object') {
43
+ const params = getSearchParams(value);
44
+ arr.push(...Array.from(params.entries()).map(([subKey, val]) => [
45
+ ~subKey.indexOf('[')
46
+ ? `${key}[${subKey.slice(0, subKey.indexOf('['))}]${subKey.slice(subKey.indexOf('['))}`
47
+ : `${key}[${subKey}]`,
48
+ val,
49
+ ]));
50
+ }
51
+ else {
52
+ arr.push([key, String(value)]);
53
+ }
54
+ return arr;
55
+ }, []));
56
+ }
57
+ class APIMeta extends Error {
58
+ constructor(data, headers, status) {
59
+ super();
60
+ this.data = data;
61
+ this.status = status;
62
+ this.headers = headers;
63
+ }
64
+ }
65
+ exports.APIMeta = APIMeta;
66
+ async function request(path, body, extraHeaders, extraOptions) {
67
+ const href = `${oauth_js_1.apiHost}${path}`;
68
+ const init = getRequestInit(body, extraHeaders, extraOptions);
69
+ const response = await fetch(href, init).catch((error) => {
70
+ var _a;
71
+ throw new NetworkError((_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error);
72
+ });
73
+ if (response.ok) {
74
+ const json = (await response.json().catch(() => ({
75
+ success: false,
76
+ error: { type: 'SyntaxError', message: 'Malformed JSON response' },
77
+ })));
78
+ if (json.success) {
79
+ const { data } = json;
80
+ const withMeta = extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.withMeta;
81
+ const revivers = extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.revivers;
82
+ const keys = revivers ? Object.keys(revivers) : [];
83
+ const context = revivers && keys.length
84
+ ? getContext(revivers, keys)
85
+ : exports.staticContext;
86
+ let result;
87
+ if (Array.isArray(data)) {
88
+ let moreData = [];
89
+ const headers = response.headers;
90
+ // @ts-expect-error TS2362, get valid number or 0
91
+ const total = headers.get('X-Paginate-Total') | 0;
92
+ if (!withMeta && ((data.length && total > data.length) || response.status === 206)) {
93
+ // @ts-expect-error TS2362, get valid number or 0
94
+ const offset = `${(headers.get('X-Paginate-Offset') | 0) + data.length}`;
95
+ moreData = await request(path, body, Object.assign(Object.assign({}, extraHeaders), { 'X-Offset': offset }), extraOptions);
96
+ }
97
+ if (data.length) {
98
+ result = (typeof data[0] !== 'string'
99
+ ? data.map(processData, context)
100
+ : data).concat(moreData);
101
+ }
102
+ else {
103
+ result = moreData;
104
+ }
105
+ }
106
+ else {
107
+ if (data !== undefined) {
108
+ // @ts-expect-error TS2345, TODO: fix type error for the `context` object
109
+ result = (typeof data !== 'string' ? processData.call(context, data) : data);
110
+ }
111
+ else {
112
+ result = {};
113
+ }
114
+ }
115
+ if (withMeta) {
116
+ throw new APIMeta(result, response.headers, response.status);
117
+ }
118
+ return result;
119
+ }
120
+ else {
121
+ throw new APIError(json);
122
+ }
123
+ }
124
+ else {
125
+ // TODO: parse and process all typical errors
126
+ // eslint-disable-next-line default-case
127
+ switch (response.status) {
128
+ case 401:
129
+ await (0, oauth_js_1.authenticate)();
130
+ break; // NO-OP
131
+ case 403:
132
+ case 404:
133
+ case 406:
134
+ throw new APIError((await response.json().catch(() => ({
135
+ success: false,
136
+ error: { type: 'HttpException', message: response.statusText },
137
+ }))));
138
+ case 429:
139
+ await new Promise((resolve) => { setTimeout(resolve, response.headers.get('X-RateLimit-Reset') * 1000 || 500); });
140
+ return request(path, body, extraHeaders, extraOptions);
141
+ }
142
+ throw new HTTPError(response);
143
+ }
144
+ }
145
+ function getRequestInit(body, extraHeaders, extraOptions) {
146
+ var _a;
147
+ let contentType = null;
148
+ if (body !== undefined) {
149
+ switch (true) {
150
+ case typeof body === 'string':
151
+ contentType = { 'Content-Type': 'text/plain' };
152
+ break;
153
+ case body instanceof FormData: // Autofilled with 'multipart/form-data'
154
+ case body instanceof URLSearchParams: // Autofilled with 'application/x-www-form-urlencoded'
155
+ break;
156
+ case body instanceof Blob: // File is instance of Blob too
157
+ contentType = { 'Content-Type': body.type || 'application/octet-stream' };
158
+ break;
159
+ case body instanceof ArrayBuffer:
160
+ case ArrayBuffer.isView(body):
161
+ contentType = { 'Content-Type': 'application/octet-stream' };
162
+ break;
163
+ case body === null && !(extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.sendNull):
164
+ break;
165
+ default:
166
+ contentType = { 'Content-Type': 'application/json' };
167
+ body = JSON.stringify(body);
168
+ }
169
+ }
170
+ const method = (_a = extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.method) !== null && _a !== void 0 ? _a : (body != null ? 'POST' : 'GET'); // don't touch `!=` please
171
+ const authorization = (0, oauth_js_1.getAuthorizationHeaders)(method);
172
+ const headers = Object.assign(Object.assign(Object.assign({ Accept: 'application/json' }, authorization), contentType), extraHeaders);
173
+ return Object.assign({ body, headers, method }, !oauth_js_1.token && { credentials: 'include' });
174
+ }
175
+ function getContext(revivers, keys = Object.keys(revivers)) {
176
+ return {
177
+ keysToRemove: new Set(keys.filter(isUndefined, revivers).concat(exports.keysToRemove)),
178
+ keysToAdd: keys.filter(isReviver, revivers),
179
+ revivers,
180
+ };
181
+ }
182
+ function processData(data) {
183
+ const result = {};
184
+ const keys = Object.keys(data).filter(isPreserved, this.keysToRemove);
185
+ for (let i = 0; i < keys.length; ++i) {
186
+ result[toCamelCase(keys[i])] = data[keys[i]];
187
+ }
188
+ if (this.keysToAdd.length) {
189
+ const keys = this.keysToAdd;
190
+ for (let i = 0; i < keys.length; ++i) {
191
+ result[keys[i]] = this.revivers[keys[i]](data);
192
+ }
193
+ }
194
+ return result;
195
+ } /* eslint-enable @typescript-eslint/prefer-for-of */
196
+ function toApiType(body) {
197
+ return Object.fromEntries(Object.entries(body).map(([k, v]) => [toSnakeCase(k), v]));
198
+ }
199
+ function toAppType(body) {
200
+ return Object.fromEntries(Object.entries(body).map(([k, v]) => [toCamelCase(k), v]));
201
+ }
202
+ function ensureArray(data) {
203
+ return Array.isArray(data) ? data : [data];
204
+ }
205
+ function toCamelCase(key) {
206
+ return key.replace(/_+(.)/g, (_, c) => c.toUpperCase());
207
+ }
208
+ function toSnakeCase(key) {
209
+ return key.replace(/[A-Z]/g, '_$&').toLowerCase();
210
+ }
211
+ function isUndefined(key) {
212
+ return this[key] === undefined;
213
+ }
214
+ function isReviver(key) {
215
+ return this[key] !== undefined;
216
+ }
217
+ function isPreserved(key) {
218
+ return !this.has(key);
219
+ }
220
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Job } from './job.js';
2
+ export interface JobSearchResult {
3
+ pageCount: number;
4
+ data: Job[];
5
+ }
6
+ export declare function listJobs(pathname: string, title: string, page: number, searchOptions?: Record<string, unknown>): Promise<JobSearchResult>;
7
+ //# sourceMappingURL=apiCommon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiCommon.d.ts","sourceRoot":"","sources":["../../src/api/apiCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,GAAG,EAAe,MAAM,UAAU,CAAC;AAWlE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,eAAe,CAAC,CAgD1B"}
@@ -0,0 +1,28 @@
1
+ import { jobRevivers } from './job.js';
2
+ import { APIMeta, defaultListHeader, getSearchParams, request, } from '../utils.js';
3
+ export async function listJobs(pathname, title, page, searchOptions) {
4
+ const defaultSearchOptions = {
5
+ sort: '-updated',
6
+ only_downloaded: false,
7
+ };
8
+ const search = Object.assign(Object.assign({}, defaultSearchOptions), searchOptions);
9
+ const query = getSearchParams(Object.assign({ only_with_revisions: true, search: Object.assign({ job_type_id: '9' }, (title.length > 0 && { title: `~:${title}` })) }, search));
10
+ const path = `${pathname}?${query}`;
11
+ const headers = Object.assign(Object.assign({}, defaultListHeader), { 'X-Page': `${page}` });
12
+ const options = {
13
+ revivers: jobRevivers,
14
+ withMeta: true,
15
+ };
16
+ const result = (await request(path, null, headers, options).catch((error) => {
17
+ if (error instanceof APIMeta) {
18
+ const { data, headers, status } = error;
19
+ return { data, headers, status };
20
+ }
21
+ throw error;
22
+ }));
23
+ return {
24
+ data: result.data,
25
+ pageCount: Number(result.headers.get('X-Paginate-Pages')),
26
+ };
27
+ }
28
+ //# sourceMappingURL=apiCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiCommon.js","sourceRoot":"","sources":["../../src/api/apiCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,WAAW,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EACL,OAAO,EAIP,iBAAiB,EACjB,eAAe,EACf,OAAO,GACR,MAAM,aAAa,CAAC;AAOrB,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAgB,EAChB,KAAa,EACb,IAAY,EACZ,aAAuC;IAEvC,MAAM,oBAAoB,GAAG;QAC3B,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,KAAK;KACvB,CAAC;IAEF,MAAM,MAAM,mCAAQ,oBAAoB,GAAK,aAAa,CAAE,CAAC;IAE7D,MAAM,KAAK,GAAG,eAAe,iBAC3B,mBAAmB,EAAE,IAAI,EACzB,MAAM,kBACJ,WAAW,EAAE,GAAG,IACb,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,EAAE,CAAC,KAE/C,MAAM,EACT,CAAC;IAEH,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IAEpC,MAAM,OAAO,mCACR,iBAAiB,KACpB,QAAQ,EAAE,GAAG,IAAI,EAAE,GACpB,CAAC;IACF,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,WAAyC;QACnD,QAAQ,EAAE,IAAI;KACf,CAAC;IAMF,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAmB,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CACjF,CAAC,KAAY,EAAE,EAAE;QACf,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAkC,CAAC;YAErE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CACF,CAA8B,CAAC;IAEhC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,138 @@
1
+ import { type ApiError, type ApiSuccess, type Flatten, type Revivers } from '../utils.js';
2
+ import type { RequireAtLeastOne } from 'type-fest';
3
+ import type { Polygon } from 'geojson';
4
+ export declare const boundingBoxRevivers: Revivers<{
5
+ data: {
6
+ bounding_box: string;
7
+ };
8
+ } & Omit<ApiSuccess, 'data'> | ApiError, {
9
+ boundingBox: Polygon;
10
+ }>;
11
+ export type ApiSearchPoint = {
12
+ lat: number;
13
+ lng: number;
14
+ };
15
+ export type ApiSearchBounds = {
16
+ min_lat: number;
17
+ min_lng: number;
18
+ max_lat: number;
19
+ max_lng: number;
20
+ };
21
+ type SingleOrGroupedAreaBase = {
22
+ id: number;
23
+ title: string;
24
+ subtitle: string;
25
+ svgPreview: string;
26
+ boundingBox: Polygon;
27
+ };
28
+ export type GroupedArea = SingleOrGroupedAreaBase & {
29
+ isGroup: true;
30
+ };
31
+ export type SingleArea = SingleOrGroupedAreaBase & {
32
+ isGroup: false;
33
+ properties: Record<string, string>;
34
+ vectorSource: string;
35
+ sourceLayer: string;
36
+ featureId: number;
37
+ };
38
+ export type SingleOrGroupedArea = {
39
+ id: number;
40
+ title: string;
41
+ subtitle: string;
42
+ svgPreview: string;
43
+ boundingBox: Polygon;
44
+ isGroup: boolean;
45
+ properties: Record<string, string> | null;
46
+ vectorSource: string | null;
47
+ sourceLayer: string | null;
48
+ featureId: number | null;
49
+ };
50
+ export type ApiSingleOrGroupedArea = {
51
+ data: {
52
+ id: number;
53
+ title: string;
54
+ subtitle: string;
55
+ svg_preview: string;
56
+ bounding_box: string;
57
+ is_group: boolean;
58
+ properties: string | null;
59
+ vector_source: string | null;
60
+ source_layer: string | null;
61
+ feature_id: number | null;
62
+ };
63
+ } & Omit<ApiSuccess, 'data'> | ApiError;
64
+ export type ApiSingleOrGroupedAreaData = Flatten<Exclude<ApiSingleOrGroupedArea, ApiError>['data']>;
65
+ export declare const singleOrGroupedAreaRevivers: Revivers<ApiSingleOrGroupedArea, SingleOrGroupedArea>;
66
+ /**
67
+ * TODO When SAGA search on click is implemented, remove mode and make searchBounds required
68
+ */
69
+ export declare function searchSingleOrGroupedAreas(language: string, search: RequireAtLeastOne<{
70
+ searchBounds?: ApiSearchBounds;
71
+ query?: string;
72
+ searchPoint?: ApiSearchPoint;
73
+ }>, mode?: 'polygon' | 'group' | 'both'): Promise<SingleOrGroupedArea[]>;
74
+ export type GroupedAreaChild = {
75
+ id: number;
76
+ title: string;
77
+ vectorSource: string;
78
+ sourceLayer: string;
79
+ featureId: number;
80
+ boundingBox: Polygon;
81
+ properties: Record<string, string>;
82
+ };
83
+ type ApiGroupedAreaChild = {
84
+ data: {
85
+ id: number;
86
+ title: string;
87
+ vector_source: string;
88
+ source_layer: string;
89
+ feature_id: number;
90
+ bounding_box: string;
91
+ properties: string;
92
+ };
93
+ } & Omit<ApiSuccess, 'data'> | ApiError;
94
+ export type ApiGroupedAreaChildData = Flatten<Exclude<ApiGroupedAreaChild, ApiError>['data']>;
95
+ export declare const groupedAreaChildRevivers: Revivers<ApiGroupedAreaChild, GroupedAreaChild>;
96
+ export declare function groupedAreaChildren(groupId: number, language: string): Promise<GroupedAreaChild[]>;
97
+ export type MatchedGroup = {
98
+ id: number;
99
+ sml: number;
100
+ childrenCount: number;
101
+ matchField: string;
102
+ boundingBox: Polygon;
103
+ property: string;
104
+ name: string;
105
+ };
106
+ export type ApiMatchedGroup = {
107
+ data: {
108
+ id: number;
109
+ sml: number;
110
+ children_count: number;
111
+ match_field: string;
112
+ bounding_box: string;
113
+ property: string;
114
+ name: string;
115
+ };
116
+ } & Omit<ApiSuccess, 'data'> | ApiError;
117
+ export type ApiMatchedGroupData = Flatten<Exclude<ApiMatchedGroup, ApiError>['data']>;
118
+ export declare function getGroupsByDataSample(sample: Record<string, string[]>, language: string, rowCount: number): Promise<MatchedGroup[]>;
119
+ export type BoundPolygon = {
120
+ index: number;
121
+ inputName: string;
122
+ id: number;
123
+ sml: number;
124
+ name: string;
125
+ };
126
+ export type ApiBoundPolygon = {
127
+ data: {
128
+ index: number;
129
+ input_name: string;
130
+ id: number;
131
+ sml: number;
132
+ name: string;
133
+ };
134
+ } & Omit<ApiSuccess, 'data'> | ApiError;
135
+ export type ApiBoundPolygonData = Flatten<Exclude<ApiBoundPolygon, ApiError>['data']>;
136
+ export declare function getBoundPolygons(groupId: number, property: string, data: string[], language: string): Promise<BoundPolygon[]>;
137
+ export {};
138
+ //# sourceMappingURL=choropleth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choropleth.d.ts","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { getSearchParams, request } from '../utils.js';
2
+ export const boundingBoxRevivers = {
3
+ boundingBox: (data) => JSON.parse(data.bounding_box),
4
+ };
5
+ export const singleOrGroupedAreaRevivers = Object.assign(Object.assign({}, boundingBoxRevivers), { properties: (data) => (data.properties != null ? JSON.parse(data.properties) : null) });
6
+ /**
7
+ * TODO When SAGA search on click is implemented, remove mode and make searchBounds required
8
+ */
9
+ export async function searchSingleOrGroupedAreas(language, search, mode = 'both') {
10
+ const pathname = '/v1/choropleth/polygons/search';
11
+ const query = getSearchParams(Object.assign(Object.assign(Object.assign(Object.assign({ language }, search.searchBounds), (search.query && { query: search.query })), (search.searchPoint && { point: search.searchPoint })), { mode }));
12
+ const path = `${pathname}?${query}`;
13
+ const options = { revivers: singleOrGroupedAreaRevivers };
14
+ return request(path, null, null, options);
15
+ }
16
+ export const groupedAreaChildRevivers = Object.assign(Object.assign({}, boundingBoxRevivers), { properties: (data) => JSON.parse(data.properties) });
17
+ export async function groupedAreaChildren(groupId, language) {
18
+ const pathname = `/v1/choropleth/groups/${groupId}/children-optimized`;
19
+ const query = getSearchParams({ language });
20
+ const path = `${pathname}?${query}`;
21
+ const options = { revivers: groupedAreaChildRevivers };
22
+ return request(path, null, null, options);
23
+ }
24
+ export async function getGroupsByDataSample(sample, language, rowCount) {
25
+ const path = `/v1/choropleth/groups/sample`;
26
+ const options = { revivers: boundingBoxRevivers };
27
+ return request(path, { sample, language, row_count: rowCount }, null, options);
28
+ }
29
+ export async function getBoundPolygons(groupId, property, data, language) {
30
+ const path = `/v1/choropleth/groups/bind`;
31
+ const body = { group_id: groupId, property, data, language };
32
+ return request(path, body);
33
+ }
34
+ //# sourceMappingURL=choropleth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choropleth.js","sourceRoot":"","sources":["../../src/api/choropleth.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+D,eAAe,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKpH,MAAM,CAAC,MAAM,mBAAmB,GAG5B;IACF,WAAW,EAAE,CAAC,IAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAY;CAC1F,CAAC;AAkEF,MAAM,CAAC,MAAM,2BAA2B,mCACnC,mBAAmB,KACtB,UAAU,EAAE,CAAC,IAAgC,EAAE,EAAE,CAC/C,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,GAC3F,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,QAAgB,EAChB,MAIE,EACF,OAAqC,MAAM;IAE3C,MAAM,QAAQ,GAAG,gCAAgC,CAAC;IAClD,MAAM,KAAK,GAAG,eAAe,2DAC3B,QAAQ,IACL,MAAM,CAAC,YAAY,GACnB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GACzC,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KACxD,IAAI,IACJ,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,2BAA2B,EAAE,CAAC;IAM1D,OAAO,OAAO,CAAmD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9F,CAAC;AA0BD,MAAM,CAAC,MAAM,wBAAwB,mCAChC,mBAAmB,KACtB,UAAU,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAA2B,GACrG,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,QAAgB;IACzE,MAAM,QAAQ,GAAG,yBAAyB,OAAO,qBAAqB,CAAC;IACvE,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;IAMvD,OAAO,OAAO,CAA6C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxF,CAAC;AA0BD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAgC,EAChC,QAAgB,EAChB,QAAgB;IAEhB,MAAM,IAAI,GAAG,8BAA8B,CAAC;IAC5C,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAMlD,OAAO,OAAO,CAAqC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrH,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,QAAgB,EAChB,IAAc,EACd,QAAgB;IAEhB,MAAM,IAAI,GAAG,4BAA4B,CAAC;IAC1C,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAM7D,OAAO,OAAO,CAAqC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjE,CAAC"}