@mapcreator/api 0.0.0-fonts.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 +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 +61 -0
  8. package/cjs/api/choropleth.d.ts.map +1 -0
  9. package/cjs/api/choropleth.js +32 -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 +31 -0
  28. package/cjs/api/font.d.ts.map +1 -0
  29. package/cjs/api/font.js +16 -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/highlight.d.ts +41 -0
  36. package/cjs/api/highlight.d.ts.map +1 -0
  37. package/cjs/api/highlight.js +25 -0
  38. package/cjs/api/highlight.js.map +1 -0
  39. package/cjs/api/insetMap.d.ts +37 -0
  40. package/cjs/api/insetMap.d.ts.map +1 -0
  41. package/cjs/api/insetMap.js +49 -0
  42. package/cjs/api/insetMap.js.map +1 -0
  43. package/cjs/api/job.d.ts +42 -0
  44. package/cjs/api/job.d.ts.map +1 -0
  45. package/cjs/api/job.js +71 -0
  46. package/cjs/api/job.js.map +1 -0
  47. package/cjs/api/jobResult.d.ts +40 -0
  48. package/cjs/api/jobResult.d.ts.map +1 -0
  49. package/cjs/api/jobResult.js +35 -0
  50. package/cjs/api/jobResult.js.map +1 -0
  51. package/cjs/api/jobRevision.d.ts +76 -0
  52. package/cjs/api/jobRevision.d.ts.map +1 -0
  53. package/cjs/api/jobRevision.js +132 -0
  54. package/cjs/api/jobRevision.js.map +1 -0
  55. package/cjs/api/jobShare.d.ts +26 -0
  56. package/cjs/api/jobShare.d.ts.map +1 -0
  57. package/cjs/api/jobShare.js +9 -0
  58. package/cjs/api/jobShare.js.map +1 -0
  59. package/cjs/api/jobType.d.ts +17 -0
  60. package/cjs/api/jobType.d.ts.map +1 -0
  61. package/cjs/api/jobType.js +11 -0
  62. package/cjs/api/jobType.js.map +1 -0
  63. package/cjs/api/language.d.ts +17 -0
  64. package/cjs/api/language.d.ts.map +1 -0
  65. package/cjs/api/language.js +3 -0
  66. package/cjs/api/language.js.map +1 -0
  67. package/cjs/api/layer.d.ts +26 -0
  68. package/cjs/api/layer.d.ts.map +1 -0
  69. package/cjs/api/layer.js +14 -0
  70. package/cjs/api/layer.js.map +1 -0
  71. package/cjs/api/layerFaq.d.ts +27 -0
  72. package/cjs/api/layerFaq.d.ts.map +1 -0
  73. package/cjs/api/layerFaq.js +16 -0
  74. package/cjs/api/layerFaq.js.map +1 -0
  75. package/cjs/api/layerGroup.d.ts +16 -0
  76. package/cjs/api/layerGroup.d.ts.map +1 -0
  77. package/cjs/api/layerGroup.js +36 -0
  78. package/cjs/api/layerGroup.js.map +1 -0
  79. package/cjs/api/mapstyleSet.d.ts +31 -0
  80. package/cjs/api/mapstyleSet.d.ts.map +1 -0
  81. package/cjs/api/mapstyleSet.js +19 -0
  82. package/cjs/api/mapstyleSet.js.map +1 -0
  83. package/cjs/api/message.d.ts +32 -0
  84. package/cjs/api/message.d.ts.map +1 -0
  85. package/cjs/api/message.js +37 -0
  86. package/cjs/api/message.js.map +1 -0
  87. package/cjs/api/organisation.d.ts +41 -0
  88. package/cjs/api/organisation.d.ts.map +1 -0
  89. package/cjs/api/organisation.js +41 -0
  90. package/cjs/api/organisation.js.map +1 -0
  91. package/cjs/api/resources.d.ts +65 -0
  92. package/cjs/api/resources.d.ts.map +1 -0
  93. package/cjs/api/resources.js +61 -0
  94. package/cjs/api/resources.js.map +1 -0
  95. package/cjs/api/svg.d.ts +21 -0
  96. package/cjs/api/svg.d.ts.map +1 -0
  97. package/cjs/api/svg.js +15 -0
  98. package/cjs/api/svg.js.map +1 -0
  99. package/cjs/api/svgSet.d.ts +22 -0
  100. package/cjs/api/svgSet.d.ts.map +1 -0
  101. package/cjs/api/svgSet.js +25 -0
  102. package/cjs/api/svgSet.js.map +1 -0
  103. package/cjs/api/user.d.ts +128 -0
  104. package/cjs/api/user.d.ts.map +1 -0
  105. package/cjs/api/user.js +146 -0
  106. package/cjs/api/user.js.map +1 -0
  107. package/cjs/index.d.ts +27 -0
  108. package/cjs/index.d.ts.map +1 -0
  109. package/cjs/index.js +52 -0
  110. package/cjs/index.js.map +1 -0
  111. package/cjs/oauth.d.ts +27 -0
  112. package/cjs/oauth.d.ts.map +1 -0
  113. package/cjs/oauth.js +245 -0
  114. package/cjs/oauth.js.map +1 -0
  115. package/cjs/utils.d.ts +72 -0
  116. package/cjs/utils.d.ts.map +1 -0
  117. package/cjs/utils.js +220 -0
  118. package/cjs/utils.js.map +1 -0
  119. package/esm/api/apiCommon.d.ts +7 -0
  120. package/esm/api/apiCommon.d.ts.map +1 -0
  121. package/esm/api/apiCommon.js +28 -0
  122. package/esm/api/apiCommon.js.map +1 -0
  123. package/esm/api/choropleth.d.ts +61 -0
  124. package/esm/api/choropleth.d.ts.map +1 -0
  125. package/esm/api/choropleth.js +27 -0
  126. package/esm/api/choropleth.js.map +1 -0
  127. package/esm/api/color.d.ts +16 -0
  128. package/esm/api/color.d.ts.map +1 -0
  129. package/esm/api/color.js +5 -0
  130. package/esm/api/color.js.map +1 -0
  131. package/esm/api/dimension.d.ts +25 -0
  132. package/esm/api/dimension.d.ts.map +1 -0
  133. package/esm/api/dimension.js +11 -0
  134. package/esm/api/dimension.js.map +1 -0
  135. package/esm/api/dimensionSet.d.ts +15 -0
  136. package/esm/api/dimensionSet.d.ts.map +1 -0
  137. package/esm/api/dimensionSet.js +4 -0
  138. package/esm/api/dimensionSet.js.map +1 -0
  139. package/esm/api/feature.d.ts +16 -0
  140. package/esm/api/feature.d.ts.map +1 -0
  141. package/esm/api/feature.js +5 -0
  142. package/esm/api/feature.js.map +1 -0
  143. package/esm/api/font.d.ts +31 -0
  144. package/esm/api/font.d.ts.map +1 -0
  145. package/esm/api/font.js +12 -0
  146. package/esm/api/font.js.map +1 -0
  147. package/esm/api/fontFamily.d.ts +17 -0
  148. package/esm/api/fontFamily.d.ts.map +1 -0
  149. package/esm/api/fontFamily.js +13 -0
  150. package/esm/api/fontFamily.js.map +1 -0
  151. package/esm/api/highlight.d.ts +41 -0
  152. package/esm/api/highlight.d.ts.map +1 -0
  153. package/esm/api/highlight.js +21 -0
  154. package/esm/api/highlight.js.map +1 -0
  155. package/esm/api/insetMap.d.ts +37 -0
  156. package/esm/api/insetMap.d.ts.map +1 -0
  157. package/esm/api/insetMap.js +44 -0
  158. package/esm/api/insetMap.js.map +1 -0
  159. package/esm/api/job.d.ts +42 -0
  160. package/esm/api/job.d.ts.map +1 -0
  161. package/esm/api/job.js +59 -0
  162. package/esm/api/job.js.map +1 -0
  163. package/esm/api/jobResult.d.ts +40 -0
  164. package/esm/api/jobResult.d.ts.map +1 -0
  165. package/esm/api/jobResult.js +30 -0
  166. package/esm/api/jobResult.js.map +1 -0
  167. package/esm/api/jobRevision.d.ts +76 -0
  168. package/esm/api/jobRevision.d.ts.map +1 -0
  169. package/esm/api/jobRevision.js +120 -0
  170. package/esm/api/jobRevision.js.map +1 -0
  171. package/esm/api/jobShare.d.ts +26 -0
  172. package/esm/api/jobShare.d.ts.map +1 -0
  173. package/esm/api/jobShare.js +6 -0
  174. package/esm/api/jobShare.js.map +1 -0
  175. package/esm/api/jobType.d.ts +17 -0
  176. package/esm/api/jobType.d.ts.map +1 -0
  177. package/esm/api/jobType.js +8 -0
  178. package/esm/api/jobType.js.map +1 -0
  179. package/esm/api/language.d.ts +17 -0
  180. package/esm/api/language.d.ts.map +1 -0
  181. package/esm/api/language.js +2 -0
  182. package/esm/api/language.js.map +1 -0
  183. package/esm/api/layer.d.ts +26 -0
  184. package/esm/api/layer.d.ts.map +1 -0
  185. package/esm/api/layer.js +11 -0
  186. package/esm/api/layer.js.map +1 -0
  187. package/esm/api/layerFaq.d.ts +27 -0
  188. package/esm/api/layerFaq.d.ts.map +1 -0
  189. package/esm/api/layerFaq.js +12 -0
  190. package/esm/api/layerFaq.js.map +1 -0
  191. package/esm/api/layerGroup.d.ts +16 -0
  192. package/esm/api/layerGroup.d.ts.map +1 -0
  193. package/esm/api/layerGroup.js +33 -0
  194. package/esm/api/layerGroup.js.map +1 -0
  195. package/esm/api/mapstyleSet.d.ts +31 -0
  196. package/esm/api/mapstyleSet.d.ts.map +1 -0
  197. package/esm/api/mapstyleSet.js +16 -0
  198. package/esm/api/mapstyleSet.js.map +1 -0
  199. package/esm/api/message.d.ts +32 -0
  200. package/esm/api/message.d.ts.map +1 -0
  201. package/esm/api/message.js +32 -0
  202. package/esm/api/message.js.map +1 -0
  203. package/esm/api/organisation.d.ts +41 -0
  204. package/esm/api/organisation.d.ts.map +1 -0
  205. package/esm/api/organisation.js +35 -0
  206. package/esm/api/organisation.js.map +1 -0
  207. package/esm/api/resources.d.ts +65 -0
  208. package/esm/api/resources.d.ts.map +1 -0
  209. package/esm/api/resources.js +55 -0
  210. package/esm/api/resources.js.map +1 -0
  211. package/esm/api/svg.d.ts +21 -0
  212. package/esm/api/svg.d.ts.map +1 -0
  213. package/esm/api/svg.js +11 -0
  214. package/esm/api/svg.js.map +1 -0
  215. package/esm/api/svgSet.d.ts +22 -0
  216. package/esm/api/svgSet.d.ts.map +1 -0
  217. package/esm/api/svgSet.js +21 -0
  218. package/esm/api/svgSet.js.map +1 -0
  219. package/esm/api/user.d.ts +128 -0
  220. package/esm/api/user.d.ts.map +1 -0
  221. package/esm/api/user.js +127 -0
  222. package/esm/api/user.js.map +1 -0
  223. package/esm/index.d.ts +27 -0
  224. package/esm/index.d.ts.map +1 -0
  225. package/esm/index.js +27 -0
  226. package/esm/index.js.map +1 -0
  227. package/esm/oauth.d.ts +27 -0
  228. package/esm/oauth.d.ts.map +1 -0
  229. package/esm/oauth.js +237 -0
  230. package/esm/oauth.js.map +1 -0
  231. package/esm/utils.d.ts +72 -0
  232. package/esm/utils.d.ts.map +1 -0
  233. package/esm/utils.js +206 -0
  234. package/esm/utils.js.map +1 -0
  235. package/package.json +80 -0
  236. package/src/README.md +126 -0
  237. package/src/api/apiCommon.ts +70 -0
  238. package/src/api/choropleth.ts +132 -0
  239. package/src/api/color.ts +22 -0
  240. package/src/api/dimension.ts +44 -0
  241. package/src/api/dimensionSet.ts +20 -0
  242. package/src/api/feature.ts +22 -0
  243. package/src/api/font.ts +49 -0
  244. package/src/api/fontFamily.ts +43 -0
  245. package/src/api/highlight.ts +87 -0
  246. package/src/api/insetMap.ts +96 -0
  247. package/src/api/job.ts +130 -0
  248. package/src/api/jobResult.ts +95 -0
  249. package/src/api/jobRevision.ts +279 -0
  250. package/src/api/jobShare.ts +35 -0
  251. package/src/api/jobType.ts +26 -0
  252. package/src/api/language.ts +19 -0
  253. package/src/api/layer.ts +38 -0
  254. package/src/api/layerFaq.ts +53 -0
  255. package/src/api/layerGroup.ts +69 -0
  256. package/src/api/mapstyleSet.ts +48 -0
  257. package/src/api/message.ts +80 -0
  258. package/src/api/organisation.ts +95 -0
  259. package/src/api/resources.ts +153 -0
  260. package/src/api/svg.ts +33 -0
  261. package/src/api/svgSet.ts +56 -0
  262. package/src/api/user.ts +327 -0
  263. package/src/index.ts +43 -0
  264. package/src/oauth.ts +314 -0
  265. package/src/utils.ts +342 -0
package/cjs/oauth.js ADDED
@@ -0,0 +1,245 @@
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.authenticated = authenticated;
8
+ exports.logout = logout;
9
+ exports.apiHost = '';
10
+ exports.token = null;
11
+ let apiClientId = '';
12
+ let callbackUrl = '';
13
+ let oauthScopes = ['*'];
14
+ const anchorParams = ['access_token', 'token_type', 'expires_in', 'state'];
15
+ const storagePrefix = '_m4n_';
16
+ const statePrefix = 'oauth_state_';
17
+ const storageName = 'api_token';
18
+ const dummyTokenExpires = new Date('2100-01-01T01:00:00');
19
+ const titleCase = (str) => String(str).toLowerCase().replace(/\b\w/g, c => c.toUpperCase());
20
+ /**
21
+ * Setup internal structures to use dummy authentication flow
22
+ *
23
+ * @param {string} apiUrl - Full API URL
24
+ * @param {string} oauthToken - OAuth Token
25
+ */
26
+ function initDummyFlow(apiUrl, oauthToken) {
27
+ const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
28
+ exports.apiHost = apiUrl.replace(/\/+$/, '');
29
+ exports.token = {
30
+ type: titleCase(parts[0]),
31
+ token: parts[1],
32
+ expires: dummyTokenExpires,
33
+ toString() {
34
+ return `${this.type} ${this.token}`;
35
+ },
36
+ };
37
+ }
38
+ /**
39
+ * Setup internal structures to use implicit authentication flow
40
+ *
41
+ * @param {string} apiUrl - Full API URL
42
+ * @param {string} clientId - OAuth client id
43
+ * @param {string} [redirectUrl] - Callback URL
44
+ * @param {string[]} [scopes] - A list of required scopes
45
+ */
46
+ function initImplicitFlow(apiUrl, clientId, redirectUrl = '', scopes = ['*']) {
47
+ exports.apiHost = apiUrl.replace(/\/+$/, '');
48
+ apiClientId = String(clientId);
49
+ callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
50
+ oauthScopes = scopes;
51
+ {
52
+ const key = `${storagePrefix}${storageName}`;
53
+ const data = window.localStorage.getItem(key);
54
+ if (data) {
55
+ try {
56
+ const obj = JSON.parse(data);
57
+ if (typeof obj.type === 'string' &&
58
+ typeof obj.token === 'string' &&
59
+ typeof obj.expires === 'string' &&
60
+ new Date(obj.expires) > new Date()) {
61
+ exports.token = {
62
+ type: titleCase(obj.type),
63
+ token: obj.token,
64
+ expires: new Date(obj.expires),
65
+ toString() {
66
+ return `${this.type} ${this.token}`;
67
+ },
68
+ };
69
+ }
70
+ else {
71
+ window.localStorage.removeItem(key);
72
+ }
73
+ }
74
+ catch (e) {
75
+ /* */
76
+ }
77
+ }
78
+ }
79
+ {
80
+ const obj = getAnchorToken();
81
+ if (isAnchorToken(obj)) {
82
+ // We'll not go there if anchor contains error and/or message
83
+ // This means that anchor parameters will be preserved for the next processing
84
+ cleanAnchorParams();
85
+ const expires = new Date(Date.now() + Number(obj.expires_in) * 1000);
86
+ if (isValidState(obj.state) && expires > new Date()) {
87
+ exports.token = {
88
+ type: titleCase(obj.token_type),
89
+ token: obj.access_token,
90
+ expires,
91
+ toString() {
92
+ return `${this.type} ${this.token}`;
93
+ },
94
+ };
95
+ const key = `${storagePrefix}${storageName}`;
96
+ const data = { type: exports.token.type, token: exports.token.token, expires: expires.toUTCString() };
97
+ window.localStorage.setItem(key, JSON.stringify(data));
98
+ }
99
+ else {
100
+ // TODO: add some logic to handle this
101
+ // throw Error('Invalid state in url');
102
+ }
103
+ }
104
+ }
105
+ if (authenticated()) {
106
+ const href = sessionStorage.getItem('redirect-url');
107
+ if (href) {
108
+ sessionStorage.removeItem('redirect-url');
109
+ window.history.replaceState(null, document.title, href);
110
+ }
111
+ }
112
+ }
113
+ async function authenticate() {
114
+ return new Promise(() => {
115
+ if (anchorContainsError()) {
116
+ console.error(getError());
117
+ cleanAnchorParams();
118
+ }
119
+ forget();
120
+ sessionStorage.setItem('redirect-url', window.location.href);
121
+ window.location.assign(buildRedirectUrl());
122
+ });
123
+ }
124
+ function authenticated() {
125
+ return exports.token != null && exports.token.expires > new Date() && (exports.token.expires.valueOf() === dummyTokenExpires.valueOf() ||
126
+ !!window.localStorage.getItem(`${storagePrefix}${storageName}`));
127
+ }
128
+ async function logout() {
129
+ if (exports.token) {
130
+ await fetch(`${exports.apiHost}/oauth/logout`, {
131
+ method: 'POST',
132
+ headers: {
133
+ Accept: 'application/json',
134
+ Authorization: exports.token.toString(),
135
+ },
136
+ });
137
+ }
138
+ forget();
139
+ }
140
+ function forget() {
141
+ for (let i = 0; i < window.localStorage.length; ++i) {
142
+ const key = window.localStorage.key(i);
143
+ if (key === null || key === void 0 ? void 0 : key.startsWith(storagePrefix)) {
144
+ window.localStorage.removeItem(key);
145
+ }
146
+ }
147
+ exports.token = null;
148
+ }
149
+ function buildRedirectUrl() {
150
+ const queryParams = new URLSearchParams({
151
+ client_id: apiClientId,
152
+ redirect_uri: callbackUrl,
153
+ response_type: 'token',
154
+ scope: oauthScopes.join(' '),
155
+ state: generateState(),
156
+ });
157
+ return `${exports.apiHost}/oauth/authorize?${queryParams}`;
158
+ }
159
+ function getAnchorQuery() {
160
+ return window.location.hash.replace(/^#\/?/, '');
161
+ }
162
+ function getAnchorParams() {
163
+ const query = getAnchorQuery();
164
+ // eslint-disable-next-line @stylistic/padding-line-between-statements,@typescript-eslint/no-unsafe-return
165
+ return Object.fromEntries(query.split('&').map(pair => pair.split('=').map(decodeURIComponent)));
166
+ }
167
+ function getAnchorToken() {
168
+ const params = getAnchorParams();
169
+ return Object.fromEntries(Object.entries(params).filter(([key]) => anchorParams.includes(key)));
170
+ }
171
+ function isAnchorToken(anchorToken) {
172
+ const queryKeys = Object.keys(anchorToken);
173
+ return anchorParams.every(key => queryKeys.includes(key));
174
+ }
175
+ function cleanAnchorParams() {
176
+ const query = window.location.hash.replace(/^#\/?/, '');
177
+ const targets = [...anchorParams, 'error', 'message'];
178
+ const newHash = query
179
+ .split('&')
180
+ .filter(pair => !targets.includes(decodeURIComponent(pair.split('=')[0])))
181
+ .join('&');
182
+ if (newHash) {
183
+ window.location.hash = newHash;
184
+ }
185
+ else {
186
+ const { origin, pathname, search } = window.location;
187
+ window.history.replaceState(null, document.title, `${origin}${pathname}${search}`);
188
+ }
189
+ }
190
+ function isValidState(state) {
191
+ const key = `${storagePrefix}${statePrefix}${state}`;
192
+ const found = window.localStorage.getItem(key) != null;
193
+ if (found) {
194
+ window.localStorage.removeItem(key);
195
+ }
196
+ return found;
197
+ }
198
+ function anchorContainsError() {
199
+ return 'error' in getAnchorParams();
200
+ }
201
+ function generateState() {
202
+ // @ts-expect-error TS2365
203
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
204
+ const state = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, // @ts-expect-error TS2362
205
+ // @ts-expect-error TS2362
206
+ c => (c ^ ((Math.random() * 256) & (0x0f >>> (c >>> 2)))).toString(16));
207
+ const key = `${storagePrefix}${statePrefix}${state}`;
208
+ window.localStorage.setItem(key, `${Date.now()}`);
209
+ return state;
210
+ }
211
+ class OAuthError extends Error {
212
+ constructor(message, error) {
213
+ super(message);
214
+ this.error = String(error);
215
+ }
216
+ toString() {
217
+ let error = this.error;
218
+ if (error.includes('_')) {
219
+ error = error.replace('_', ' ').replace(/^./, c => c.toUpperCase());
220
+ }
221
+ return this.message ? `${error}: ${this.message}` : error;
222
+ }
223
+ }
224
+ function getError() {
225
+ const params = getAnchorParams();
226
+ return params.message
227
+ ? new OAuthError(params.message, params.error)
228
+ : new OAuthError(titleCase(params.error), params.error);
229
+ }
230
+ /**
231
+ * Our goal is to support even obsolete platforms (ES2017+ / Node.js 8.10+).
232
+ * This is a small polyfill for possibly missing method used in our codebase.
233
+ */
234
+ if (!Object.fromEntries) { // eslint-disable-next-line arrow-body-style
235
+ Object.fromEntries = (entries) => {
236
+ return Array.from(entries).reduce((object, entry) => {
237
+ if (!Array.isArray(entry)) {
238
+ throw new TypeError(`Iterator value ${entry} is not an entry object.`);
239
+ }
240
+ object[`${entry[0]}`] = entry[1];
241
+ return object;
242
+ }, {});
243
+ };
244
+ }
245
+ //# 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
+ const authorization = oauth_js_1.token ? { Authorization: oauth_js_1.token.toString() } : null;
148
+ let contentType = null;
149
+ if (body !== undefined) {
150
+ switch (true) {
151
+ case typeof body === 'string':
152
+ contentType = { 'Content-Type': 'text/plain' };
153
+ break;
154
+ case body instanceof FormData: // Autofilled with 'multipart/form-data'
155
+ case body instanceof URLSearchParams: // Autofilled with 'application/x-www-form-urlencoded'
156
+ break;
157
+ case body instanceof Blob: // File is instance of Blob too
158
+ contentType = { 'Content-Type': body.type || 'application/octet-stream' };
159
+ break;
160
+ case body instanceof ArrayBuffer:
161
+ case ArrayBuffer.isView(body):
162
+ contentType = { 'Content-Type': 'application/octet-stream' };
163
+ break;
164
+ case body === null && !(extraOptions === null || extraOptions === void 0 ? void 0 : extraOptions.sendNull):
165
+ break;
166
+ default:
167
+ contentType = { 'Content-Type': 'application/json' };
168
+ body = JSON.stringify(body);
169
+ }
170
+ }
171
+ const headers = Object.assign(Object.assign(Object.assign({ Accept: 'application/json' }, authorization), contentType), extraHeaders);
172
+ 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
173
+ return { body, headers, method };
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"}