@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
@@ -0,0 +1,127 @@
1
+ import { fontFamilyRevivers } from './fontFamily.js';
2
+ import { svgSetRevivers } from './svgSet.js';
3
+ import { layerRevivers } from './layer.js';
4
+ import { svgRevivers } from './svg.js';
5
+ import { listJobs } from './apiCommon.js';
6
+ import { defaultListHeader, deletedNoneParam, getSearchParams, myUser, request, toApiType, } from '../utils.js';
7
+ export const userRevivers = {
8
+ organisation_id: undefined,
9
+ hide_messages: undefined,
10
+ phone: undefined,
11
+ profession: undefined,
12
+ country: undefined,
13
+ city: undefined,
14
+ address: undefined,
15
+ tips: undefined,
16
+ tags: undefined,
17
+ newsletter_consent: undefined,
18
+ registration_complete: undefined,
19
+ notifications_checked_at: undefined,
20
+ referral: undefined,
21
+ delete_requested: undefined,
22
+ delete_request_notified: undefined,
23
+ stripe_ref: undefined,
24
+ pm_type: undefined,
25
+ pm_last_four: undefined,
26
+ trial_ends_at: undefined,
27
+ settings: undefined,
28
+ permissions: undefined,
29
+ roles: undefined,
30
+ trialExpiresAt: (data) => { var _a; return (_a = data.trial_expires_at) !== null && _a !== void 0 ? _a : undefined; },
31
+ stripeId: (data) => { var _a; return (_a = data.stripe_id) !== null && _a !== void 0 ? _a : undefined; },
32
+ };
33
+ export async function getUser() {
34
+ const path = `/v1/users/${myUser}`;
35
+ const options = { revivers: userRevivers };
36
+ return request(path, null, null, options);
37
+ }
38
+ export async function updateUser(userId, fields) {
39
+ const path = `/v1/users/${userId}`;
40
+ const body = toApiType(fields);
41
+ return request(path, body, null, { method: 'PATCH' });
42
+ }
43
+ export async function deleteUser(userId) {
44
+ const path = `/v1/users/${userId}`;
45
+ return request(path, null, null, { method: 'DELETE' });
46
+ }
47
+ export async function listUserFontFamilies() {
48
+ const pathname = `/v1/users/${myUser}/font-families`;
49
+ const query = getSearchParams({ sort: 'order' });
50
+ const path = `${pathname}?${query}`;
51
+ const options = { revivers: fontFamilyRevivers };
52
+ return request(path, null, defaultListHeader, options);
53
+ }
54
+ export async function listUserHatchingSvgs() {
55
+ const pathname = `/v1/users/${myUser}/hatching-svgs`;
56
+ const query = getSearchParams({ sort: 'order' });
57
+ const path = `${pathname}?${query}`;
58
+ const options = { revivers: svgRevivers };
59
+ return request(path, null, defaultListHeader, options);
60
+ }
61
+ export async function listUserJobs(userId, title, page, options) {
62
+ return listJobs(`/v1/users/${userId}/jobs`, title, page, options);
63
+ }
64
+ export async function listUserFolders() {
65
+ const path = `/v1/users/${myUser}/folders`;
66
+ return request(path);
67
+ }
68
+ export async function createUserFolder(name) {
69
+ const path = `/v1/users/${myUser}/folders`;
70
+ const body = { name };
71
+ return request(path, body);
72
+ }
73
+ export async function deleteUserFolder(folderId) {
74
+ const path = `/v1/users/${myUser}/folders/${folderId}`;
75
+ return request(path, null, null, { method: 'DELETE' });
76
+ }
77
+ export async function renameUserFolder(folderId, name) {
78
+ const path = `/v1/users/${myUser}/folders/${folderId}`;
79
+ const body = { name };
80
+ return request(path, body, null, { method: 'PATCH' });
81
+ }
82
+ export async function listUserLayers() {
83
+ const pathname = `/v1/users/${myUser}/layers`;
84
+ const query = getSearchParams({
85
+ search: {
86
+ pangaea_ready: '1',
87
+ },
88
+ sort: 'order',
89
+ });
90
+ const path = `${pathname}?${query}`;
91
+ const options = { revivers: layerRevivers };
92
+ return request(path, null, defaultListHeader, options);
93
+ }
94
+ export async function listUserSvgSets() {
95
+ const pathname = `/v1/users/${myUser}/svg-sets`;
96
+ const query = getSearchParams({
97
+ search: {
98
+ supports_mapcreator: '1',
99
+ type: '!:sprite',
100
+ },
101
+ sort: 'order',
102
+ });
103
+ const path = `${pathname}?${query}`;
104
+ const options = { revivers: svgSetRevivers };
105
+ return request(path, null, defaultListHeader, options);
106
+ }
107
+ export async function findJobShares(jobId) {
108
+ const pathname = `/v1/users/${myUser}/job-shares`;
109
+ const query = getSearchParams({ search: { job_id: jobId } });
110
+ const path = `${pathname}?${query}`;
111
+ return request(path);
112
+ }
113
+ export async function createUserTrial(userId, data) {
114
+ const pathname = `/v1/users/${userId}/trial`;
115
+ const path = `${pathname}?${deletedNoneParam}`;
116
+ const body = toApiType(data);
117
+ return request(path, body);
118
+ }
119
+ export async function sendUserConfirmationEmail(userId) {
120
+ const path = `/v1/users/${userId}/confirm`;
121
+ return request(path, null, null, { method: 'POST' });
122
+ }
123
+ export async function getUserBillingPortalUrl(userId) {
124
+ const path = `/v1/users/${userId}/billing-portal-url`;
125
+ return request(path).then(({ billingPortalUrl }) => billingPortalUrl);
126
+ }
127
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/api/user.ts"],"names":[],"mappings":"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"}
package/esm/index.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ export * from './api/choropleth.js';
2
+ export * from './api/color.js';
3
+ export * from './api/dimension.js';
4
+ export * from './api/dimensionSet.js';
5
+ export * from './api/feature.js';
6
+ export * from './api/font.js';
7
+ export * from './api/fontFamily.js';
8
+ export * from './api/highlight.js';
9
+ export * from './api/insetMap.js';
10
+ export * from './api/job.js';
11
+ export * from './api/jobResult.js';
12
+ export * from './api/jobRevision.js';
13
+ export * from './api/jobShare.js';
14
+ export * from './api/jobType.js';
15
+ export * from './api/language.js';
16
+ export * from './api/layer.js';
17
+ export * from './api/layerFaq.js';
18
+ export * from './api/layerGroup.js';
19
+ export * from './api/mapstyleSet.js';
20
+ export * from './api/message.js';
21
+ export * from './api/organisation.js';
22
+ export * from './api/resources.js';
23
+ export * from './api/svg.js';
24
+ export * from './api/svgSet.js';
25
+ export * from './api/user.js';
26
+ export { type ApiCommon, type ApiCommonData, type ApiError, type ApiSuccess, type ExtraOptions, type Flatten, type Revivers, lastJobRevision, myOrganisations, myUser, APIError, HTTPError, NetworkError, getSearchParams, request, } from './utils.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,eAAe,EACf,eAAe,EACf,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC"}
package/esm/index.js ADDED
@@ -0,0 +1,27 @@
1
+ export * from './api/choropleth.js';
2
+ export * from './api/color.js';
3
+ export * from './api/dimension.js';
4
+ export * from './api/dimensionSet.js';
5
+ export * from './api/feature.js';
6
+ export * from './api/font.js';
7
+ export * from './api/fontFamily.js';
8
+ export * from './api/highlight.js';
9
+ export * from './api/insetMap.js';
10
+ export * from './api/job.js';
11
+ export * from './api/jobResult.js';
12
+ export * from './api/jobRevision.js';
13
+ export * from './api/jobShare.js';
14
+ export * from './api/jobType.js';
15
+ export * from './api/language.js';
16
+ export * from './api/layer.js';
17
+ export * from './api/layerFaq.js';
18
+ export * from './api/layerGroup.js';
19
+ export * from './api/mapstyleSet.js';
20
+ export * from './api/message.js';
21
+ export * from './api/organisation.js';
22
+ export * from './api/resources.js';
23
+ export * from './api/svg.js';
24
+ export * from './api/svgSet.js';
25
+ export * from './api/user.js';
26
+ export { lastJobRevision, myOrganisations, myUser, APIError, HTTPError, NetworkError, getSearchParams, request, } from './utils.js';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,OAAO,EAQL,eAAe,EACf,eAAe,EACf,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,GACR,MAAM,YAAY,CAAC"}
package/esm/oauth.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ export declare let apiHost: string;
2
+ export declare let token: {
3
+ type: string;
4
+ token: string;
5
+ expires: Date;
6
+ toString: () => string;
7
+ } | null;
8
+ /**
9
+ * Setup internal structures to use dummy authentication flow
10
+ *
11
+ * @param {string} apiUrl - Full API URL
12
+ * @param {string} oauthToken - OAuth Token
13
+ */
14
+ export declare function initDummyFlow(apiUrl: string, oauthToken: string): void;
15
+ /**
16
+ * Setup internal structures to use implicit authentication flow
17
+ *
18
+ * @param {string} apiUrl - Full API URL
19
+ * @param {string} clientId - OAuth client id
20
+ * @param {string} [redirectUrl] - Callback URL
21
+ * @param {string[]} [scopes] - A list of required scopes
22
+ */
23
+ export declare function initImplicitFlow(apiUrl: string, clientId: string, redirectUrl?: string, scopes?: string[]): void;
24
+ export declare function authenticate(): Promise<string> | never;
25
+ export declare function authenticated(): boolean;
26
+ export declare function logout(): Promise<void>;
27
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA,eAAO,IAAI,OAAO,QAAK,CAAC;AAExB,eAAO,IAAI,KAAK,EAAE;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IAEd,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB,GAAG,IAAW,CAAC;AAuBhB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAatE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,SAAK,EAAE,MAAM,WAAQ,GAAG,IAAI,CA+EzG;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAY5D;AAED,wBAAgB,aAAa,IAAI,OAAO,CAKvC;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAY5C"}
package/esm/oauth.js ADDED
@@ -0,0 +1,237 @@
1
+ export let apiHost = '';
2
+ export let token = null;
3
+ let apiClientId = '';
4
+ let callbackUrl = '';
5
+ let oauthScopes = ['*'];
6
+ const anchorParams = ['access_token', 'token_type', 'expires_in', 'state'];
7
+ const storagePrefix = '_m4n_';
8
+ const statePrefix = 'oauth_state_';
9
+ const storageName = 'api_token';
10
+ const dummyTokenExpires = new Date('2100-01-01T01:00:00');
11
+ const titleCase = (str) => String(str).toLowerCase().replace(/\b\w/g, c => c.toUpperCase());
12
+ /**
13
+ * Setup internal structures to use dummy authentication flow
14
+ *
15
+ * @param {string} apiUrl - Full API URL
16
+ * @param {string} oauthToken - OAuth Token
17
+ */
18
+ export function initDummyFlow(apiUrl, oauthToken) {
19
+ const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
20
+ apiHost = apiUrl.replace(/\/+$/, '');
21
+ token = {
22
+ type: titleCase(parts[0]),
23
+ token: parts[1],
24
+ expires: dummyTokenExpires,
25
+ toString() {
26
+ return `${this.type} ${this.token}`;
27
+ },
28
+ };
29
+ }
30
+ /**
31
+ * Setup internal structures to use implicit authentication flow
32
+ *
33
+ * @param {string} apiUrl - Full API URL
34
+ * @param {string} clientId - OAuth client id
35
+ * @param {string} [redirectUrl] - Callback URL
36
+ * @param {string[]} [scopes] - A list of required scopes
37
+ */
38
+ export function initImplicitFlow(apiUrl, clientId, redirectUrl = '', scopes = ['*']) {
39
+ apiHost = apiUrl.replace(/\/+$/, '');
40
+ apiClientId = String(clientId);
41
+ callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
42
+ oauthScopes = scopes;
43
+ {
44
+ const key = `${storagePrefix}${storageName}`;
45
+ const data = window.localStorage.getItem(key);
46
+ if (data) {
47
+ try {
48
+ const obj = JSON.parse(data);
49
+ if (typeof obj.type === 'string' &&
50
+ typeof obj.token === 'string' &&
51
+ typeof obj.expires === 'string' &&
52
+ new Date(obj.expires) > new Date()) {
53
+ token = {
54
+ type: titleCase(obj.type),
55
+ token: obj.token,
56
+ expires: new Date(obj.expires),
57
+ toString() {
58
+ return `${this.type} ${this.token}`;
59
+ },
60
+ };
61
+ }
62
+ else {
63
+ window.localStorage.removeItem(key);
64
+ }
65
+ }
66
+ catch (e) {
67
+ /* */
68
+ }
69
+ }
70
+ }
71
+ {
72
+ const obj = getAnchorToken();
73
+ if (isAnchorToken(obj)) {
74
+ // We'll not go there if anchor contains error and/or message
75
+ // This means that anchor parameters will be preserved for the next processing
76
+ cleanAnchorParams();
77
+ const expires = new Date(Date.now() + Number(obj.expires_in) * 1000);
78
+ if (isValidState(obj.state) && expires > new Date()) {
79
+ token = {
80
+ type: titleCase(obj.token_type),
81
+ token: obj.access_token,
82
+ expires,
83
+ toString() {
84
+ return `${this.type} ${this.token}`;
85
+ },
86
+ };
87
+ const key = `${storagePrefix}${storageName}`;
88
+ const data = { type: token.type, token: token.token, expires: expires.toUTCString() };
89
+ window.localStorage.setItem(key, JSON.stringify(data));
90
+ }
91
+ else {
92
+ // TODO: add some logic to handle this
93
+ // throw Error('Invalid state in url');
94
+ }
95
+ }
96
+ }
97
+ if (authenticated()) {
98
+ const href = sessionStorage.getItem('redirect-url');
99
+ if (href) {
100
+ sessionStorage.removeItem('redirect-url');
101
+ window.history.replaceState(null, document.title, href);
102
+ }
103
+ }
104
+ }
105
+ export async function authenticate() {
106
+ return new Promise(() => {
107
+ if (anchorContainsError()) {
108
+ console.error(getError());
109
+ cleanAnchorParams();
110
+ }
111
+ forget();
112
+ sessionStorage.setItem('redirect-url', window.location.href);
113
+ window.location.assign(buildRedirectUrl());
114
+ });
115
+ }
116
+ export function authenticated() {
117
+ return token != null && token.expires > new Date() && (token.expires.valueOf() === dummyTokenExpires.valueOf() ||
118
+ !!window.localStorage.getItem(`${storagePrefix}${storageName}`));
119
+ }
120
+ export async function logout() {
121
+ if (token) {
122
+ await fetch(`${apiHost}/oauth/logout`, {
123
+ method: 'POST',
124
+ headers: {
125
+ Accept: 'application/json',
126
+ Authorization: token.toString(),
127
+ },
128
+ });
129
+ }
130
+ forget();
131
+ }
132
+ function forget() {
133
+ for (let i = 0; i < window.localStorage.length; ++i) {
134
+ const key = window.localStorage.key(i);
135
+ if (key === null || key === void 0 ? void 0 : key.startsWith(storagePrefix)) {
136
+ window.localStorage.removeItem(key);
137
+ }
138
+ }
139
+ token = null;
140
+ }
141
+ function buildRedirectUrl() {
142
+ const queryParams = new URLSearchParams({
143
+ client_id: apiClientId,
144
+ redirect_uri: callbackUrl,
145
+ response_type: 'token',
146
+ scope: oauthScopes.join(' '),
147
+ state: generateState(),
148
+ });
149
+ return `${apiHost}/oauth/authorize?${queryParams}`;
150
+ }
151
+ function getAnchorQuery() {
152
+ return window.location.hash.replace(/^#\/?/, '');
153
+ }
154
+ function getAnchorParams() {
155
+ const query = getAnchorQuery();
156
+ // eslint-disable-next-line @stylistic/padding-line-between-statements,@typescript-eslint/no-unsafe-return
157
+ return Object.fromEntries(query.split('&').map(pair => pair.split('=').map(decodeURIComponent)));
158
+ }
159
+ function getAnchorToken() {
160
+ const params = getAnchorParams();
161
+ return Object.fromEntries(Object.entries(params).filter(([key]) => anchorParams.includes(key)));
162
+ }
163
+ function isAnchorToken(anchorToken) {
164
+ const queryKeys = Object.keys(anchorToken);
165
+ return anchorParams.every(key => queryKeys.includes(key));
166
+ }
167
+ function cleanAnchorParams() {
168
+ const query = window.location.hash.replace(/^#\/?/, '');
169
+ const targets = [...anchorParams, 'error', 'message'];
170
+ const newHash = query
171
+ .split('&')
172
+ .filter(pair => !targets.includes(decodeURIComponent(pair.split('=')[0])))
173
+ .join('&');
174
+ if (newHash) {
175
+ window.location.hash = newHash;
176
+ }
177
+ else {
178
+ const { origin, pathname, search } = window.location;
179
+ window.history.replaceState(null, document.title, `${origin}${pathname}${search}`);
180
+ }
181
+ }
182
+ function isValidState(state) {
183
+ const key = `${storagePrefix}${statePrefix}${state}`;
184
+ const found = window.localStorage.getItem(key) != null;
185
+ if (found) {
186
+ window.localStorage.removeItem(key);
187
+ }
188
+ return found;
189
+ }
190
+ function anchorContainsError() {
191
+ return 'error' in getAnchorParams();
192
+ }
193
+ function generateState() {
194
+ // @ts-expect-error TS2365
195
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
196
+ const state = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, // @ts-expect-error TS2362
197
+ // @ts-expect-error TS2362
198
+ c => (c ^ ((Math.random() * 256) & (0x0f >>> (c >>> 2)))).toString(16));
199
+ const key = `${storagePrefix}${statePrefix}${state}`;
200
+ window.localStorage.setItem(key, `${Date.now()}`);
201
+ return state;
202
+ }
203
+ class OAuthError extends Error {
204
+ constructor(message, error) {
205
+ super(message);
206
+ this.error = String(error);
207
+ }
208
+ toString() {
209
+ let error = this.error;
210
+ if (error.includes('_')) {
211
+ error = error.replace('_', ' ').replace(/^./, c => c.toUpperCase());
212
+ }
213
+ return this.message ? `${error}: ${this.message}` : error;
214
+ }
215
+ }
216
+ function getError() {
217
+ const params = getAnchorParams();
218
+ return params.message
219
+ ? new OAuthError(params.message, params.error)
220
+ : new OAuthError(titleCase(params.error), params.error);
221
+ }
222
+ /**
223
+ * Our goal is to support even obsolete platforms (ES2017+ / Node.js 8.10+).
224
+ * This is a small polyfill for possibly missing method used in our codebase.
225
+ */
226
+ if (!Object.fromEntries) { // eslint-disable-next-line arrow-body-style
227
+ Object.fromEntries = (entries) => {
228
+ return Array.from(entries).reduce((object, entry) => {
229
+ if (!Array.isArray(entry)) {
230
+ throw new TypeError(`Iterator value ${entry} is not an entry object.`);
231
+ }
232
+ object[`${entry[0]}`] = entry[1];
233
+ return object;
234
+ }, {});
235
+ };
236
+ }
237
+ //# 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/esm/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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"}