@mapcreator/api 3.3.7 → 5.0.0-alpha.101

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 (496) hide show
  1. package/LICENSE +29 -29
  2. package/README.md +86 -63
  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 +42 -0
  48. package/cjs/api/job.d.ts.map +1 -0
  49. package/cjs/api/job.js +71 -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 +42 -0
  168. package/esm/api/job.d.ts.map +1 -0
  169. package/esm/api/job.js +59 -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 -148
  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 +130 -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
  275. package/dist/ImageHandler.d.ts +0 -56
  276. package/dist/Mapcreator.d.ts +0 -344
  277. package/dist/PaginatedResourceListing.d.ts +0 -156
  278. package/dist/RequestParameters.d.ts +0 -241
  279. package/dist/ResourceLister.d.ts +0 -155
  280. package/dist/bundle.browser.js +0 -14645
  281. package/dist/bundle.browser.min.js +0 -3
  282. package/dist/bundle.browser.min.js.LICENSE.txt +0 -74
  283. package/dist/bundle.js +0 -12810
  284. package/dist/bundle.min.js +0 -3
  285. package/dist/bundle.min.js.LICENSE.txt +0 -44
  286. package/dist/enums/DeletedState.d.ts +0 -16
  287. package/dist/enums/Enum.d.ts +0 -40
  288. package/dist/enums/JobShareVisibility.d.ts +0 -15
  289. package/dist/enums/ResultStatus.d.ts +0 -17
  290. package/dist/enums/index.d.ts +0 -5
  291. package/dist/errors/AbstractError.d.ts +0 -26
  292. package/dist/errors/ApiError.d.ts +0 -65
  293. package/dist/errors/GeoError.d.ts +0 -6
  294. package/dist/errors/NodeError.d.ts +0 -6
  295. package/dist/errors/OAuthError.d.ts +0 -17
  296. package/dist/errors/StaticClassError.d.ts +0 -7
  297. package/dist/errors/ValidationError.d.ts +0 -125
  298. package/dist/errors/index.d.ts +0 -8
  299. package/dist/index.d.ts +0 -27
  300. package/dist/oauth/CookieFlow.d.ts +0 -25
  301. package/dist/oauth/DummyFlow.d.ts +0 -19
  302. package/dist/oauth/ImplicitFlow.d.ts +0 -68
  303. package/dist/oauth/ImplicitFlowPopup.d.ts +0 -25
  304. package/dist/oauth/OAuth.d.ts +0 -50
  305. package/dist/oauth/OAuthToken.d.ts +0 -67
  306. package/dist/oauth/PasswordFlow.d.ts +0 -56
  307. package/dist/oauth/StateContainer.d.ts +0 -36
  308. package/dist/proxy/GeoResourceProxy.d.ts +0 -69
  309. package/dist/proxy/OrganisationProxy.d.ts +0 -62
  310. package/dist/proxy/OwnedResourceProxy.d.ts +0 -60
  311. package/dist/proxy/ResourceProxy.d.ts +0 -32
  312. package/dist/proxy/SimpleResourceProxy.d.ts +0 -76
  313. package/dist/proxy/index.d.ts +0 -6
  314. package/dist/resources/Choropleth.d.ts +0 -20
  315. package/dist/resources/Color.d.ts +0 -9
  316. package/dist/resources/Contract.d.ts +0 -7
  317. package/dist/resources/Dimension.d.ts +0 -7
  318. package/dist/resources/DimensionSet.d.ts +0 -11
  319. package/dist/resources/Domain.d.ts +0 -7
  320. package/dist/resources/DomainLoginMethod.d.ts +0 -7
  321. package/dist/resources/Faq.d.ts +0 -7
  322. package/dist/resources/Feature.d.ts +0 -9
  323. package/dist/resources/Font.d.ts +0 -4
  324. package/dist/resources/FontFamily.d.ts +0 -11
  325. package/dist/resources/Highlight.d.ts +0 -4
  326. package/dist/resources/InsetMap.d.ts +0 -10
  327. package/dist/resources/Job.d.ts +0 -56
  328. package/dist/resources/JobResult.d.ts +0 -76
  329. package/dist/resources/JobRevision.d.ts +0 -64
  330. package/dist/resources/JobShare.d.ts +0 -15
  331. package/dist/resources/JobType.d.ts +0 -9
  332. package/dist/resources/Language.d.ts +0 -4
  333. package/dist/resources/Layer.d.ts +0 -10
  334. package/dist/resources/LayerFaq.d.ts +0 -8
  335. package/dist/resources/LayerGroup.d.ts +0 -14
  336. package/dist/resources/Mapstyle.d.ts +0 -8
  337. package/dist/resources/MapstyleSet.d.ts +0 -13
  338. package/dist/resources/MapstyleSetColor.d.ts +0 -8
  339. package/dist/resources/Message.d.ts +0 -7
  340. package/dist/resources/MessageVariant.d.ts +0 -4
  341. package/dist/resources/Notification.d.ts +0 -4
  342. package/dist/resources/Organisation.d.ts +0 -99
  343. package/dist/resources/OrganisationNote.d.ts +0 -17
  344. package/dist/resources/Permission.d.ts +0 -4
  345. package/dist/resources/ProductTour.d.ts +0 -10
  346. package/dist/resources/ProductTourStep.d.ts +0 -7
  347. package/dist/resources/Role.d.ts +0 -14
  348. package/dist/resources/Svg.d.ts +0 -4
  349. package/dist/resources/SvgSet.d.ts +0 -11
  350. package/dist/resources/Tag.d.ts +0 -9
  351. package/dist/resources/TagType.d.ts +0 -13
  352. package/dist/resources/User.d.ts +0 -119
  353. package/dist/resources/VectorChoropleth.d.ts +0 -4
  354. package/dist/resources/VectorHighlight.d.ts +0 -4
  355. package/dist/resources/base/CrudBase.d.ts +0 -66
  356. package/dist/resources/base/CrudBase.d.ts.map +0 -1
  357. package/dist/resources/base/CrudSetBase.d.ts +0 -27
  358. package/dist/resources/base/CrudSetBase.d.ts.map +0 -1
  359. package/dist/resources/base/CrudSetItemBase.d.ts +0 -19
  360. package/dist/resources/base/CrudSetItemBase.d.ts.map +0 -1
  361. package/dist/resources/base/DownloadedResource.d.ts +0 -72
  362. package/dist/resources/base/DownloadedResource.d.ts.map +0 -1
  363. package/dist/resources/base/ResourceBase.d.ts +0 -164
  364. package/dist/resources/base/ResourceBase.d.ts.map +0 -1
  365. package/dist/resources/index.d.ts +0 -48
  366. package/dist/storage/CookiesDriver.d.ts +0 -37
  367. package/dist/storage/DataStoreContract.d.ts +0 -46
  368. package/dist/storage/DummyDriver.d.ts +0 -15
  369. package/dist/storage/FileDriver.d.ts +0 -54
  370. package/dist/storage/LocalStorageDriver.d.ts +0 -13
  371. package/dist/storage/StorageManager.d.ts +0 -46
  372. package/dist/traits/HandlesImages.d.ts +0 -15
  373. package/dist/traits/Injectable.d.ts +0 -60
  374. package/dist/traits/OwnableResource.d.ts +0 -18
  375. package/dist/traits/Trait.d.ts +0 -12
  376. package/dist/utils/Logger.d.ts +0 -55
  377. package/dist/utils/Singleton.d.ts +0 -9
  378. package/dist/utils/StaticClass.d.ts +0 -7
  379. package/dist/utils/Unobservable.d.ts +0 -13
  380. package/dist/utils/base64.d.ts +0 -12
  381. package/dist/utils/geo.d.ts +0 -74
  382. package/dist/utils/hash.d.ts +0 -15
  383. package/dist/utils/helpers.d.ts +0 -47
  384. package/dist/utils/node.d.ts +0 -15
  385. package/dist/utils/reflection.d.ts +0 -43
  386. package/dist/utils/requests.d.ts +0 -24
  387. package/dist/utils/uuid.d.ts +0 -19
  388. package/manual/assets/maps4news.svg +0 -23
  389. package/manual/building.md +0 -19
  390. package/manual/css/hide_import.css +0 -3
  391. package/manual/css/sidebar_fix.css +0 -3
  392. package/manual/examples.authentication.md +0 -205
  393. package/manual/examples.md +0 -153
  394. package/manual/installation.md +0 -33
  395. package/manual/js/sandbox.js +0 -26
  396. package/src/ImageHandler.js +0 -134
  397. package/src/Mapcreator.js +0 -713
  398. package/src/PaginatedResourceListing.js +0 -300
  399. package/src/RequestParameters.js +0 -711
  400. package/src/ResourceLister.js +0 -368
  401. package/src/enums/DeletedState.js +0 -49
  402. package/src/enums/Enum.js +0 -130
  403. package/src/enums/JobShareVisibility.js +0 -43
  404. package/src/enums/ResultStatus.js +0 -49
  405. package/src/enums/index.js +0 -36
  406. package/src/errors/AbstractError.js +0 -70
  407. package/src/errors/ApiError.js +0 -139
  408. package/src/errors/GeoError.js +0 -36
  409. package/src/errors/NodeError.js +0 -36
  410. package/src/errors/OAuthError.js +0 -71
  411. package/src/errors/StaticClassError.js +0 -37
  412. package/src/errors/ValidationError.js +0 -164
  413. package/src/errors/index.js +0 -39
  414. package/src/index.js +0 -75
  415. package/src/oauth/DummyFlow.js +0 -63
  416. package/src/oauth/ImplicitFlow.js +0 -226
  417. package/src/oauth/ImplicitFlowPopup.js +0 -124
  418. package/src/oauth/OAuth.js +0 -131
  419. package/src/oauth/OAuthToken.js +0 -175
  420. package/src/oauth/PasswordFlow.js +0 -164
  421. package/src/oauth/StateContainer.js +0 -111
  422. package/src/proxy/GeoResourceProxy.js +0 -137
  423. package/src/proxy/OrganisationProxy.js +0 -149
  424. package/src/proxy/OwnedResourceProxy.js +0 -148
  425. package/src/proxy/ResourceProxy.js +0 -101
  426. package/src/proxy/SimpleResourceProxy.js +0 -188
  427. package/src/proxy/index.js +0 -37
  428. package/src/resources/Choropleth.js +0 -66
  429. package/src/resources/Color.js +0 -46
  430. package/src/resources/Contract.js +0 -42
  431. package/src/resources/Dimension.js +0 -42
  432. package/src/resources/DimensionSet.js +0 -56
  433. package/src/resources/Domain.js +0 -42
  434. package/src/resources/DomainLoginMethod.js +0 -42
  435. package/src/resources/Faq.js +0 -42
  436. package/src/resources/Feature.js +0 -47
  437. package/src/resources/Font.js +0 -43
  438. package/src/resources/FontFamily.js +0 -55
  439. package/src/resources/Highlight.js +0 -39
  440. package/src/resources/InsetMap.js +0 -49
  441. package/src/resources/Job.js +0 -160
  442. package/src/resources/JobResult.js +0 -184
  443. package/src/resources/JobRevision.js +0 -201
  444. package/src/resources/JobShare.js +0 -61
  445. package/src/resources/JobType.js +0 -50
  446. package/src/resources/Language.js +0 -51
  447. package/src/resources/Layer.js +0 -48
  448. package/src/resources/LayerFaq.js +0 -47
  449. package/src/resources/LayerGroup.js +0 -57
  450. package/src/resources/Mapstyle.js +0 -45
  451. package/src/resources/MapstyleSet.js +0 -65
  452. package/src/resources/MapstyleSetColor.js +0 -51
  453. package/src/resources/Message.js +0 -94
  454. package/src/resources/MessageVariant.js +0 -37
  455. package/src/resources/Notification.js +0 -39
  456. package/src/resources/Organisation.js +0 -233
  457. package/src/resources/OrganisationNote.js +0 -57
  458. package/src/resources/Permission.js +0 -39
  459. package/src/resources/ProductTour.js +0 -53
  460. package/src/resources/ProductTourStep.js +0 -48
  461. package/src/resources/Role.js +0 -58
  462. package/src/resources/Svg.js +0 -39
  463. package/src/resources/SvgSet.js +0 -55
  464. package/src/resources/Tag.js +0 -50
  465. package/src/resources/TagType.js +0 -56
  466. package/src/resources/User.js +0 -251
  467. package/src/resources/VectorChoropleth.js +0 -40
  468. package/src/resources/VectorHighlight.js +0 -40
  469. package/src/resources/base/CrudBase.js +0 -204
  470. package/src/resources/base/CrudSetBase.js +0 -83
  471. package/src/resources/base/CrudSetItemBase.js +0 -82
  472. package/src/resources/base/DownloadedResource.js +0 -165
  473. package/src/resources/base/ResourceBase.js +0 -484
  474. package/src/resources/index.js +0 -82
  475. package/src/storage/CookiesDriver.js +0 -136
  476. package/src/storage/DataStoreContract.js +0 -111
  477. package/src/storage/DummyDriver.js +0 -91
  478. package/src/storage/FileDriver.js +0 -174
  479. package/src/storage/LocalStorageDriver.js +0 -108
  480. package/src/storage/StorageManager.js +0 -109
  481. package/src/traits/HandlesImages.js +0 -50
  482. package/src/traits/Injectable.js +0 -221
  483. package/src/traits/OwnableResource.js +0 -56
  484. package/src/traits/Trait.js +0 -43
  485. package/src/utils/Logger.js +0 -137
  486. package/src/utils/Singleton.js +0 -49
  487. package/src/utils/StaticClass.js +0 -43
  488. package/src/utils/Unobservable.js +0 -47
  489. package/src/utils/base64.js +0 -93
  490. package/src/utils/geo.js +0 -139
  491. package/src/utils/hash.js +0 -72
  492. package/src/utils/helpers.js +0 -178
  493. package/src/utils/node.js +0 -55
  494. package/src/utils/reflection.js +0 -170
  495. package/src/utils/requests.js +0 -120
  496. package/src/utils/uuid.js +0 -68
@@ -0,0 +1,327 @@
1
+ import { type ApiFontFamilyData, type FontFamily, fontFamilyRevivers } from './fontFamily.js';
2
+ import { type ApiSvgSetData, type SvgSet, svgSetRevivers } from './svgSet.js';
3
+ import { type ApiLayerData, type Layer, layerRevivers } from './layer.js';
4
+ import { type ApiSvgData, type Svg, svgRevivers } from './svg.js';
5
+ import { type JobSearchResult, listJobs } from './apiCommon.js';
6
+ import type { ApiJobShareArray, JobShare } from './jobShare.js';
7
+ import type { RequireAtLeastOne } from 'type-fest';
8
+ import {
9
+ type ApiCommon,
10
+ type ApiCommonData,
11
+ type ApiError,
12
+ type ApiSuccess,
13
+ type Flatten,
14
+ type Revivers,
15
+ defaultListHeader,
16
+ deletedNoneParam,
17
+ getSearchParams,
18
+ myUser,
19
+ request,
20
+ toApiType,
21
+ } from '../utils.js';
22
+
23
+ type ApiPermission = {
24
+ id: number; // The id of the permission
25
+ name: string; // The name of the permission (searchable, sortable)
26
+ } & ApiCommonData;
27
+
28
+ type ApiRole = {
29
+ id: number;
30
+ name: string;
31
+ description: string;
32
+ pivot: {
33
+ model_type: string;
34
+ model_id: number;
35
+ role_id: number;
36
+ };
37
+ } & ApiCommonData;
38
+
39
+ type UnitType = 'metric' | 'imperial' | null;
40
+
41
+ export type User = {
42
+ id: number;
43
+ organisationId: number;
44
+ languageCode: string;
45
+ interfaceLanguage: string;
46
+ videoNotifications: boolean;
47
+ name: string;
48
+ email: string;
49
+ company: string;
50
+ confirmed: boolean;
51
+ propagated: boolean;
52
+ whatsNewBadge: boolean;
53
+ autosave: boolean;
54
+ unit: UnitType;
55
+ trialExpiresAt: string | undefined;
56
+ stripeId: string | undefined;
57
+ intercomIdentityToken?: string;
58
+ hasPassword?: boolean;
59
+ };
60
+ /* eslint-disable @typescript-eslint/no-redundant-type-constituents */
61
+ export type ApiUser = {
62
+ data: {
63
+ id: number; // The id of the user (searchable, sortable)
64
+ organisation_id: number; // The id of the organisation related to a user (searchable)
65
+ language_code: string; // The default map language
66
+ interface_language: string; // The default interface language
67
+ hide_messages: boolean; // If the what's new notifications should be shown
68
+ video_notifications: boolean; // TODO: not present in API specification!
69
+ name: string; // The name of the user (searchable, sortable)
70
+ email: string; // The email of the user (searchable, sortable)
71
+ phone: string | null; // The phone of the user (searchable, sortable)
72
+ profession: string | null; // The user's profession (searchable, sortable)
73
+ company: string | null; // The user's company (sortable)
74
+ country: string | null; // The user's country (sortable)
75
+ city: string | null; // The user's city (sortable)
76
+ address: string | null; // The user's address (sortable)
77
+ tips: boolean; // If the user wishes to see tips
78
+ tags: string[] | null; // The tags related to a user (searchable, sortable)
79
+ confirmed: boolean; // Whether the user email is verified
80
+ propagated: boolean; // Set to 'true' on the first user login (hubspot)
81
+ newsletter_consent: boolean; // TODO: not present in API specification!
82
+ whats_new_badge: boolean; // If the what's new notifications should be shown
83
+ autosave: boolean; // If the tool should autosave projects
84
+ unit: UnitType; // Default measurement unit type
85
+ registration_complete: boolean; // Whether the user has completed their registration
86
+ notifications_checked_at: string | null; // The datetime when the user checked the notifications
87
+ referral: string | null; // The referral code that the user used during their registration
88
+ trial_expires_at: string | null; // The datetime when the user's trial expires
89
+ delete_requested: boolean | null; // TODO: not present in API specification!
90
+ delete_request_notified: number; // TODO: not present in API specification!
91
+ stripe_id: string | null; // TODO: not present in API specification!
92
+ stripe_ref: unknown | null; // TODO: not present in API specification!
93
+ pm_type: unknown | null; // TODO: not present in API specification!
94
+ pm_last_four: unknown | null; // TODO: not present in API specification!
95
+ trial_ends_at: string | null; // TODO: not present in API specification!
96
+ settings: string | null; // TODO: not present in API specification!
97
+ intercom_identity_token?: string; // [resources endpoint only] Helpdesk token
98
+ has_password?: boolean; // [resources endpoint only] SSO or not (enables an ability to change the email)
99
+ permissions: ApiPermission[]; // TODO: not present in API specification!
100
+ roles: ApiRole[]; // TODO: not present in API specification!
101
+ } & ApiCommonData;
102
+ } & Omit<ApiSuccess, 'data'> | ApiError;
103
+ /* eslint-enable @typescript-eslint/no-redundant-type-constituents */
104
+ export type ApiUserData = Flatten<Exclude<ApiUser, ApiError>['data']>;
105
+
106
+ export type JobFolder = {
107
+ id: number;
108
+ jobsCount: number;
109
+ name: string;
110
+ userId: number;
111
+ };
112
+
113
+ export type ApiJobFolder = {
114
+ data: {
115
+ id: number;
116
+ jobsCount: number;
117
+ name: string;
118
+ userId: number;
119
+ } & ApiCommonData;
120
+ } & Omit<ApiSuccess, 'data'> | ApiError;
121
+
122
+ export type ApiJobFolderData = Flatten<Exclude<ApiJobFolder, ApiError>['data']>;
123
+
124
+ export const userRevivers: Revivers<ApiUser, User> = {
125
+ hide_messages: undefined,
126
+ phone: undefined,
127
+ profession: undefined,
128
+ country: undefined,
129
+ city: undefined,
130
+ address: undefined,
131
+ tips: undefined,
132
+ tags: undefined,
133
+ newsletter_consent: undefined,
134
+ registration_complete: undefined,
135
+ notifications_checked_at: undefined,
136
+ referral: undefined,
137
+ delete_requested: undefined,
138
+ delete_request_notified: undefined,
139
+ stripe_ref: undefined,
140
+ pm_type: undefined,
141
+ pm_last_four: undefined,
142
+ trial_ends_at: undefined,
143
+ settings: undefined,
144
+ permissions: undefined,
145
+ roles: undefined,
146
+
147
+ trialExpiresAt: (data: ApiUserData) => data.trial_expires_at ?? undefined,
148
+ stripeId: (data: ApiUserData) => data.stripe_id ?? undefined,
149
+ };
150
+
151
+ type UpdateUserParams = {
152
+ whatsNewBadge?: boolean;
153
+ videoNotifications?: boolean;
154
+ autosave?: boolean;
155
+ interfaceLanguage?: string;
156
+ languageCode?: string;
157
+ unit?: UnitType;
158
+ password?: string;
159
+ email?: string;
160
+ };
161
+
162
+ export async function getUser(userId: number | typeof myUser = myUser): Promise<User> {
163
+ const path = `/v1/users/${userId}`;
164
+ const options = { revivers: userRevivers };
165
+
166
+ return request<ApiUser, User>(path, null, null, options);
167
+ }
168
+
169
+ export async function updateUser(
170
+ userId: number | typeof myUser,
171
+ fields: RequireAtLeastOne<UpdateUserParams>,
172
+ ): Promise<Record<string, never>> {
173
+ const path = `/v1/users/${userId}`;
174
+ const body = toApiType(fields);
175
+
176
+ return request<ApiCommon, Record<string, never>>(path, body, null, { method: 'PATCH' });
177
+ }
178
+
179
+ export async function deleteUser(userId: number | typeof myUser): Promise<Record<string, never>> {
180
+ const path = `/v1/users/${userId}`;
181
+
182
+ return request<ApiCommon, Record<string, never>>(path, null, null, { method: 'DELETE' });
183
+ }
184
+
185
+ export async function listUserFontFamilies(): Promise<FontFamily[]> {
186
+ const pathname = `/v1/users/${myUser}/font-families`;
187
+ const query = getSearchParams({ sort: 'order' });
188
+ const path = `${pathname}?${query}`;
189
+ const options = { revivers: fontFamilyRevivers };
190
+
191
+ type ApiFontFamilyArray = {
192
+ data: ApiFontFamilyData[];
193
+ } & Omit<ApiSuccess, 'data'> | ApiError;
194
+
195
+ return request<ApiFontFamilyArray, FontFamily>(path, null, defaultListHeader, options);
196
+ }
197
+
198
+ export async function listUserHatchingSvgs(): Promise<Svg[]> {
199
+ const pathname = `/v1/users/${myUser}/hatching-svgs`;
200
+ const query = getSearchParams({ sort: 'order' });
201
+ const path = `${pathname}?${query}`;
202
+ const options = { revivers: svgRevivers };
203
+
204
+ type ApiSvgArray = {
205
+ data: ApiSvgData[];
206
+ } & Omit<ApiSuccess, 'data'> | ApiError;
207
+
208
+ return request<ApiSvgArray, Svg>(path, null, defaultListHeader, options);
209
+ }
210
+
211
+ export async function listUserJobs(
212
+ userId: number | typeof myUser,
213
+ title: string,
214
+ page: number,
215
+ options?: Record<string, unknown>
216
+ ): Promise<JobSearchResult> {
217
+ return listJobs(`/v1/users/${userId}/jobs`, title, page, options);
218
+ }
219
+
220
+ export async function listUserFolders(): Promise<JobFolder[]> {
221
+ const path = `/v1/users/${myUser}/folders`;
222
+
223
+ type ApiJobFolderArray = {
224
+ data: ApiJobFolderData[];
225
+ } & Omit<ApiSuccess, 'data'> | ApiError;
226
+
227
+ return request<ApiJobFolderArray, JobFolder>(path);
228
+ }
229
+
230
+ export async function createUserFolder(name: string): Promise<JobFolder> {
231
+ const path = `/v1/users/${myUser}/folders`;
232
+ const body = { name };
233
+
234
+ return request<ApiCommon, JobFolder>(path, body);
235
+ }
236
+
237
+ export async function deleteUserFolder(folderId: number): Promise<Record<string, never>> {
238
+ const path = `/v1/users/${myUser}/folders/${folderId}`;
239
+
240
+ return request<ApiCommon, Record<string, never>>(path, null, null, { method: 'DELETE' });
241
+ }
242
+
243
+ export async function renameUserFolder(folderId: number, name: string): Promise<Record<string, never>> {
244
+ const path = `/v1/users/${myUser}/folders/${folderId}`;
245
+ const body = { name };
246
+
247
+ return request<ApiCommon, Record<string, never>>(path, body, null, { method: 'PATCH' });
248
+ }
249
+
250
+ export async function listUserLayers(): Promise<Layer[]> {
251
+ const pathname = `/v1/users/${myUser}/layers`;
252
+ const query = getSearchParams({
253
+ search: {
254
+ pangaea_ready: '1',
255
+ },
256
+ sort: 'order',
257
+ });
258
+ const path = `${pathname}?${query}`;
259
+ const options = { revivers: layerRevivers };
260
+
261
+ type ApiLayerArray = {
262
+ data: ApiLayerData[];
263
+ } & Omit<ApiSuccess, 'data'> | ApiError;
264
+
265
+ return request<ApiLayerArray, Layer>(path, null, defaultListHeader, options);
266
+ }
267
+
268
+ export async function listUserSvgSets(): Promise<SvgSet[]> {
269
+ const pathname = `/v1/users/${myUser}/svg-sets`;
270
+ const query = getSearchParams({
271
+ search: {
272
+ supports_mapcreator: '1',
273
+ type: '!:sprite',
274
+ },
275
+ sort: 'order',
276
+ });
277
+ const path = `${pathname}?${query}`;
278
+ const options = { revivers: svgSetRevivers };
279
+
280
+ type ApiSvgSetArray = {
281
+ data: ApiSvgSetData[];
282
+ } & Omit<ApiSuccess, 'data'> | ApiError;
283
+
284
+ return request<ApiSvgSetArray, SvgSet>(path, null, defaultListHeader, options);
285
+ }
286
+
287
+ export async function findJobShares(jobId: number): Promise<JobShare[]> {
288
+ const pathname = `/v1/users/${myUser}/job-shares`;
289
+ const query = getSearchParams({ search: { job_id: jobId } });
290
+ const path = `${pathname}?${query}`;
291
+
292
+ return request<ApiJobShareArray, JobShare>(path);
293
+ }
294
+
295
+ export async function createUserTrial(
296
+ userId: number | typeof myUser,
297
+ data: Record<string, unknown>,
298
+ ): Promise<Record<string, never>> {
299
+ const pathname = `/v1/users/${userId}/trial`;
300
+ const path = `${pathname}?${deletedNoneParam}`;
301
+ const body = toApiType(data);
302
+
303
+ return request<ApiCommon, Record<string, never>>(path, body);
304
+ }
305
+
306
+ export async function sendUserConfirmationEmail(userId: number | typeof myUser): Promise<Record<string, never>> {
307
+ const path = `/v1/users/${userId}/confirm`;
308
+
309
+ return request<ApiCommon, Record<string, never>>(path, null, null, { method: 'POST' });
310
+ }
311
+
312
+ type BillingPortal = {
313
+ billingPortalUrl: string;
314
+ };
315
+ type ApiBillingPortal = {
316
+ data: {
317
+ billing_portal_url: string;
318
+ };
319
+ } & Omit<ApiSuccess, 'data'> | ApiError;
320
+
321
+ export async function getUserBillingPortalUrl(userId: number | typeof myUser): Promise<string> {
322
+ const path = `/v1/users/${userId}/billing-portal-url`;
323
+
324
+ return request<ApiBillingPortal, BillingPortal>(path).then(
325
+ ({ billingPortalUrl }) => billingPortalUrl,
326
+ );
327
+ }
package/src/index.ts ADDED
@@ -0,0 +1,44 @@
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/geocode.js';
9
+ export * from './api/highlight.js';
10
+ export * from './api/insetMap.js';
11
+ export * from './api/job.js';
12
+ export * from './api/jobResult.js';
13
+ export * from './api/jobRevision.js';
14
+ export * from './api/jobShare.js';
15
+ export * from './api/jobType.js';
16
+ export * from './api/language.js';
17
+ export * from './api/layer.js';
18
+ export * from './api/layerFaq.js';
19
+ export * from './api/layerGroup.js';
20
+ export * from './api/mapstyleSet.js';
21
+ export * from './api/message.js';
22
+ export * from './api/organisation.js';
23
+ export * from './api/resources.js';
24
+ export * from './api/svg.js';
25
+ export * from './api/svgSet.js';
26
+ export * from './api/user.js';
27
+
28
+ export {
29
+ type ApiCommon,
30
+ type ApiCommonData,
31
+ type ApiError,
32
+ type ApiSuccess,
33
+ type ExtraOptions,
34
+ type Flatten,
35
+ type Revivers,
36
+ lastJobRevision,
37
+ myOrganisations,
38
+ myUser,
39
+ APIError,
40
+ HTTPError,
41
+ NetworkError,
42
+ getSearchParams,
43
+ request,
44
+ } from './utils.js';
package/src/oauth.ts ADDED
@@ -0,0 +1,90 @@
1
+ export let apiHost = '';
2
+
3
+ export let token: {
4
+ type: string;
5
+ token: string;
6
+ expires: Date;
7
+
8
+ toString: () => string;
9
+ } | null = null;
10
+
11
+ let callbackUrl = '';
12
+
13
+ /**
14
+ * Cleanup of previously used data. The code part can be removed in a while.
15
+ */
16
+ for (let i = 0; i < window.localStorage.length; ++i) {
17
+ const key = window.localStorage.key(i);
18
+
19
+ if (key?.startsWith('_m4n_')) {
20
+ window.localStorage.removeItem(key);
21
+ }
22
+ }
23
+
24
+ /**
25
+ * Setup internal structures to use dummy authentication flow
26
+ *
27
+ * @param {string} apiUrl - Full API URL
28
+ * @param {string} oauthToken - OAuth Token
29
+ */
30
+ export function initDummyFlow(apiUrl: string, oauthToken: string): void {
31
+ const parts = oauthToken.includes(' ') ? oauthToken.split(' ', 2) : ['Bearer', oauthToken];
32
+
33
+ apiHost = apiUrl.replace(/\/+$/, '');
34
+ token = {
35
+ type: parts[0].toLowerCase().replace(/\b\w/g, c => c.toUpperCase()),
36
+ token: parts[1],
37
+ expires: new Date('2100-01-01T01:00:00'),
38
+
39
+ toString(): string {
40
+ return `${this.type} ${this.token}`;
41
+ },
42
+ };
43
+ }
44
+
45
+ /**
46
+ * Setup internal structures to use implicit authentication flow
47
+ *
48
+ * @param {string} apiUrl - Full API URL
49
+ * @param {string} [redirectUrl] - Callback URL
50
+ */
51
+ export function initImplicitFlow(apiUrl: string, redirectUrl = ''): void {
52
+ apiHost = apiUrl.replace(/\/+$/, '');
53
+
54
+ callbackUrl = String(redirectUrl || window.location.href.split('#')[0]);
55
+
56
+ const href = sessionStorage.getItem('redirect-url');
57
+
58
+ if (href) {
59
+ sessionStorage.removeItem('redirect-url');
60
+ window.history.replaceState(null, document.title, href);
61
+ }
62
+ }
63
+
64
+ export async function authenticate(): Promise<never> {
65
+ return new Promise(() => {
66
+ sessionStorage.setItem('redirect-url', window.location.href);
67
+ window.location.assign(`${apiHost}/login?${new URLSearchParams({ redirect_uri: callbackUrl })}`);
68
+ });
69
+ }
70
+
71
+ // eslint-disable-next-line @typescript-eslint/naming-convention
72
+ type AuthHeaders = { Authorization: string } | { 'X-XSRF-Token': string } | undefined;
73
+
74
+ export function getAuthorizationHeaders(method: 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'): AuthHeaders {
75
+ const cookie = !token && method !== 'GET' && method !== 'HEAD'
76
+ ? document.cookie.split(/ *; */).find(pair => pair.startsWith('XSRF-TOKEN'))?.split('=')[1]
77
+ : undefined;
78
+
79
+ return token
80
+ ? { Authorization: token.toString() }
81
+ : cookie
82
+ ? { 'X-XSRF-Token': decodeURIComponent(cookie) }
83
+ : undefined;
84
+ }
85
+
86
+ export async function logout(): Promise<never> {
87
+ return new Promise(() => {
88
+ window.location.assign(`${apiHost}/logout?${new URLSearchParams({ redirect_uri: callbackUrl })}`);
89
+ });
90
+ }