@mapcreator/api 3.3.6 → 5.0.0-alpha.100

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 (495) 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 +97 -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 -338
  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 -14711
  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 -12876
  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 -28
  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/Faq.d.ts +0 -7
  321. package/dist/resources/Feature.d.ts +0 -9
  322. package/dist/resources/Font.d.ts +0 -4
  323. package/dist/resources/FontFamily.d.ts +0 -11
  324. package/dist/resources/Highlight.d.ts +0 -4
  325. package/dist/resources/InsetMap.d.ts +0 -10
  326. package/dist/resources/Job.d.ts +0 -56
  327. package/dist/resources/JobResult.d.ts +0 -76
  328. package/dist/resources/JobRevision.d.ts +0 -64
  329. package/dist/resources/JobShare.d.ts +0 -15
  330. package/dist/resources/JobType.d.ts +0 -9
  331. package/dist/resources/Language.d.ts +0 -4
  332. package/dist/resources/Layer.d.ts +0 -10
  333. package/dist/resources/LayerFaq.d.ts +0 -8
  334. package/dist/resources/LayerGroup.d.ts +0 -14
  335. package/dist/resources/Mapstyle.d.ts +0 -8
  336. package/dist/resources/MapstyleSet.d.ts +0 -13
  337. package/dist/resources/MapstyleSetColor.d.ts +0 -8
  338. package/dist/resources/Message.d.ts +0 -7
  339. package/dist/resources/MessageVariant.d.ts +0 -4
  340. package/dist/resources/Notification.d.ts +0 -4
  341. package/dist/resources/Organisation.d.ts +0 -99
  342. package/dist/resources/OrganisationNote.d.ts +0 -17
  343. package/dist/resources/Permission.d.ts +0 -4
  344. package/dist/resources/ProductTour.d.ts +0 -10
  345. package/dist/resources/ProductTourStep.d.ts +0 -7
  346. package/dist/resources/Role.d.ts +0 -14
  347. package/dist/resources/Svg.d.ts +0 -4
  348. package/dist/resources/SvgSet.d.ts +0 -11
  349. package/dist/resources/Tag.d.ts +0 -9
  350. package/dist/resources/TagType.d.ts +0 -13
  351. package/dist/resources/User.d.ts +0 -119
  352. package/dist/resources/VectorChoropleth.d.ts +0 -4
  353. package/dist/resources/VectorHighlight.d.ts +0 -4
  354. package/dist/resources/base/CrudBase.d.ts +0 -66
  355. package/dist/resources/base/CrudBase.d.ts.map +0 -1
  356. package/dist/resources/base/CrudSetBase.d.ts +0 -27
  357. package/dist/resources/base/CrudSetBase.d.ts.map +0 -1
  358. package/dist/resources/base/CrudSetItemBase.d.ts +0 -19
  359. package/dist/resources/base/CrudSetItemBase.d.ts.map +0 -1
  360. package/dist/resources/base/DownloadedResource.d.ts +0 -72
  361. package/dist/resources/base/DownloadedResource.d.ts.map +0 -1
  362. package/dist/resources/base/ResourceBase.d.ts +0 -164
  363. package/dist/resources/base/ResourceBase.d.ts.map +0 -1
  364. package/dist/resources/index.d.ts +0 -47
  365. package/dist/storage/CookiesDriver.d.ts +0 -37
  366. package/dist/storage/DataStoreContract.d.ts +0 -46
  367. package/dist/storage/DummyDriver.d.ts +0 -15
  368. package/dist/storage/FileDriver.d.ts +0 -54
  369. package/dist/storage/LocalStorageDriver.d.ts +0 -13
  370. package/dist/storage/StorageManager.d.ts +0 -46
  371. package/dist/traits/HandlesImages.d.ts +0 -15
  372. package/dist/traits/Injectable.d.ts +0 -60
  373. package/dist/traits/OwnableResource.d.ts +0 -18
  374. package/dist/traits/Trait.d.ts +0 -12
  375. package/dist/utils/Logger.d.ts +0 -55
  376. package/dist/utils/Singleton.d.ts +0 -9
  377. package/dist/utils/StaticClass.d.ts +0 -7
  378. package/dist/utils/Unobservable.d.ts +0 -13
  379. package/dist/utils/base64.d.ts +0 -12
  380. package/dist/utils/geo.d.ts +0 -74
  381. package/dist/utils/hash.d.ts +0 -15
  382. package/dist/utils/helpers.d.ts +0 -47
  383. package/dist/utils/node.d.ts +0 -15
  384. package/dist/utils/reflection.d.ts +0 -43
  385. package/dist/utils/requests.d.ts +0 -24
  386. package/dist/utils/uuid.d.ts +0 -19
  387. package/manual/assets/maps4news.svg +0 -23
  388. package/manual/building.md +0 -19
  389. package/manual/css/hide_import.css +0 -3
  390. package/manual/css/sidebar_fix.css +0 -3
  391. package/manual/examples.authentication.md +0 -205
  392. package/manual/examples.md +0 -153
  393. package/manual/installation.md +0 -33
  394. package/manual/js/sandbox.js +0 -26
  395. package/src/ImageHandler.js +0 -134
  396. package/src/Mapcreator.js +0 -719
  397. package/src/PaginatedResourceListing.js +0 -300
  398. package/src/RequestParameters.js +0 -711
  399. package/src/ResourceLister.js +0 -368
  400. package/src/enums/DeletedState.js +0 -49
  401. package/src/enums/Enum.js +0 -130
  402. package/src/enums/JobShareVisibility.js +0 -43
  403. package/src/enums/ResultStatus.js +0 -49
  404. package/src/enums/index.js +0 -36
  405. package/src/errors/AbstractError.js +0 -70
  406. package/src/errors/ApiError.js +0 -139
  407. package/src/errors/GeoError.js +0 -36
  408. package/src/errors/NodeError.js +0 -36
  409. package/src/errors/OAuthError.js +0 -71
  410. package/src/errors/StaticClassError.js +0 -37
  411. package/src/errors/ValidationError.js +0 -164
  412. package/src/errors/index.js +0 -39
  413. package/src/index.js +0 -76
  414. package/src/oauth/CookieFlow.js +0 -103
  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/Faq.js +0 -42
  435. package/src/resources/Feature.js +0 -47
  436. package/src/resources/Font.js +0 -43
  437. package/src/resources/FontFamily.js +0 -55
  438. package/src/resources/Highlight.js +0 -39
  439. package/src/resources/InsetMap.js +0 -49
  440. package/src/resources/Job.js +0 -160
  441. package/src/resources/JobResult.js +0 -184
  442. package/src/resources/JobRevision.js +0 -201
  443. package/src/resources/JobShare.js +0 -61
  444. package/src/resources/JobType.js +0 -50
  445. package/src/resources/Language.js +0 -51
  446. package/src/resources/Layer.js +0 -48
  447. package/src/resources/LayerFaq.js +0 -47
  448. package/src/resources/LayerGroup.js +0 -57
  449. package/src/resources/Mapstyle.js +0 -45
  450. package/src/resources/MapstyleSet.js +0 -65
  451. package/src/resources/MapstyleSetColor.js +0 -51
  452. package/src/resources/Message.js +0 -94
  453. package/src/resources/MessageVariant.js +0 -37
  454. package/src/resources/Notification.js +0 -39
  455. package/src/resources/Organisation.js +0 -233
  456. package/src/resources/OrganisationNote.js +0 -57
  457. package/src/resources/Permission.js +0 -39
  458. package/src/resources/ProductTour.js +0 -53
  459. package/src/resources/ProductTourStep.js +0 -48
  460. package/src/resources/Role.js +0 -58
  461. package/src/resources/Svg.js +0 -39
  462. package/src/resources/SvgSet.js +0 -55
  463. package/src/resources/Tag.js +0 -50
  464. package/src/resources/TagType.js +0 -56
  465. package/src/resources/User.js +0 -251
  466. package/src/resources/VectorChoropleth.js +0 -40
  467. package/src/resources/VectorHighlight.js +0 -40
  468. package/src/resources/base/CrudBase.js +0 -204
  469. package/src/resources/base/CrudSetBase.js +0 -83
  470. package/src/resources/base/CrudSetItemBase.js +0 -82
  471. package/src/resources/base/DownloadedResource.js +0 -165
  472. package/src/resources/base/ResourceBase.js +0 -484
  473. package/src/resources/index.js +0 -81
  474. package/src/storage/CookiesDriver.js +0 -136
  475. package/src/storage/DataStoreContract.js +0 -111
  476. package/src/storage/DummyDriver.js +0 -91
  477. package/src/storage/FileDriver.js +0 -174
  478. package/src/storage/LocalStorageDriver.js +0 -108
  479. package/src/storage/StorageManager.js +0 -109
  480. package/src/traits/HandlesImages.js +0 -50
  481. package/src/traits/Injectable.js +0 -221
  482. package/src/traits/OwnableResource.js +0 -56
  483. package/src/traits/Trait.js +0 -43
  484. package/src/utils/Logger.js +0 -137
  485. package/src/utils/Singleton.js +0 -49
  486. package/src/utils/StaticClass.js +0 -43
  487. package/src/utils/Unobservable.js +0 -47
  488. package/src/utils/base64.js +0 -93
  489. package/src/utils/geo.js +0 -139
  490. package/src/utils/hash.js +0 -72
  491. package/src/utils/helpers.js +0 -178
  492. package/src/utils/node.js +0 -55
  493. package/src/utils/reflection.js +0 -170
  494. package/src/utils/requests.js +0 -120
  495. package/src/utils/uuid.js +0 -68
@@ -1,175 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import StorageManager from '../storage/StorageManager';
34
- import { encodeQueryString } from '../utils/requests';
35
-
36
- /**
37
- * Oauth token container
38
- */
39
- export default class OAuthToken {
40
- /**
41
- * @param {String} token - OAuth token
42
- * @param {String} [type=Bearer] - token type
43
- * @param {Date|Number} [expires=5 days] - expire time in seconds or Date
44
- * @param {Array<string>} [scopes=[]] - Any scopes
45
- */
46
- constructor (token, type = 'Bearer', expires = 432000, scopes = []) {
47
- this.scopes = scopes;
48
- this.token = token;
49
- this.type = type.toLowerCase().replace(/(\s|^)\w/g, x => x.toUpperCase());
50
-
51
- if (typeof expires === 'number') {
52
- const ms = expires * 1000;
53
-
54
- // Expires is in seconds
55
- this.expires = new Date(Date.now() + ms);
56
- } else if (expires instanceof Date) {
57
- this.expires = expires;
58
- } else {
59
- throw new TypeError('Expires not of type Date or Number');
60
- }
61
- }
62
-
63
- /**
64
- * String representation of the token, usable in the Authorization header
65
- * @returns {string} - String representation
66
- */
67
- toString () {
68
- return `${this.type} ${this.token}`;
69
- }
70
-
71
- /**
72
- * Get equivalent OAuth response object
73
- * @returns {{access_token: (String|*), token_type: String, expires_in: Number, scope: (Array.<String>|Array|*)}} - Raw response object
74
- */
75
- toResponseObject () {
76
- return {
77
- 'access_token': this.token,
78
- 'token_type': this.type.toLowerCase(),
79
- 'expires_in': this.expires - Date.now(),
80
- 'scope': this.scopes,
81
- };
82
- }
83
-
84
- /**
85
- * Export oauth response query string
86
- * @returns {string} - OAuth response query
87
- */
88
- toQueryString () {
89
- return encodeQueryString(this.toResponseObject());
90
- }
91
-
92
- /**
93
- * If the token has expired
94
- * @returns {Boolean} - expired
95
- */
96
- get expired () {
97
- return new Date() > this.expires;
98
- }
99
-
100
- /**
101
- * Internal storage key name
102
- * @returns {String} - storage name
103
- * @constant
104
- */
105
- static get storageName () {
106
- return 'api_token';
107
- }
108
-
109
- /**
110
- * Build instance from response object
111
- * @param {String|Object} data - object or JSON string
112
- * @returns {OAuthToken} - New OAuthToken instance
113
- */
114
- static fromResponseObject (data) {
115
- if (typeof data === 'string') {
116
- data = JSON.parse(data);
117
- }
118
-
119
- // Default expires = 5 days
120
- let expires = 432000;
121
-
122
- if (typeof data['exipires_in'] !== 'undefined') {
123
- expires = Number(data['expires_in']);
124
- } else if (typeof data.expires === 'string') {
125
- expires = new Date(data.expires);
126
- }
127
-
128
- return new OAuthToken(
129
- data['access_token'],
130
- data['token_type'],
131
- expires,
132
- data.scope || [],
133
- );
134
- }
135
-
136
- /**
137
- * Store the token for later recovery. Token will be stored in HTTPS cookie if possible.
138
- * @param {String} name - db key name
139
- * @throws {OAuthToken#recover}
140
- */
141
- save (name = OAuthToken.storageName) {
142
- const data = {
143
- token: this.token,
144
- type: this.type,
145
- expires: this.expires.toUTCString(),
146
- scopes: this.scopes,
147
- };
148
-
149
- // Third parameter is only used when we're using cookies
150
- StorageManager.secure.set(name, JSON.stringify(data), this.expires);
151
- }
152
-
153
- /**
154
- * Recover a token by looking through the HTTPS cookies and localStorage
155
- * @param {String} name - Storage key name
156
- * @returns {OAuthToken|null} - null if none could be recovered
157
- * @throws {OAuthToken#save}
158
- */
159
- static recover (name = OAuthToken.storageName) {
160
- const data = StorageManager.secure.get(name);
161
-
162
- if (!data) {
163
- return null;
164
- }
165
-
166
- const obj = JSON.parse(data);
167
- const instance = new OAuthToken(obj.token, obj.type, new Date(obj.expires), obj.scopes || []);
168
-
169
- if (instance.expired) {
170
- return null;
171
- }
172
-
173
- return instance;
174
- }
175
- }
@@ -1,164 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import ky from 'ky-universal';
34
- import OAuthError from '../errors/OAuthError';
35
- import { isNode } from '../utils/node';
36
- import OAuth from './OAuth';
37
- import OAuthToken from './OAuthToken';
38
- import { makeCancelable } from '../utils/helpers';
39
-
40
-
41
- /**
42
- * Password authentication flow
43
- */
44
- export default class PasswordFlow extends OAuth {
45
- /**
46
- * @param {string} clientId - OAuth client id
47
- * @param {string} secret - OAuth secret
48
- * @param {string} username - Valid username (email)
49
- * @param {string} password - Valid password
50
- * @param {Array<string>} scopes - A list of required scopes
51
- */
52
- constructor (clientId, secret, username, password, scopes = ['*']) {
53
- super(clientId, scopes);
54
-
55
- this._secret = secret;
56
- this._username = username;
57
- this._password = password;
58
-
59
- this._path = '/oauth/token';
60
-
61
- // Because the client requires a secret HTTPS is highly recommended
62
- if (!isNode()) {
63
- console.warn('Using PasswordFlow in the browser is unrecommended');
64
-
65
- if (window.location.protocol !== 'https:') {
66
- console.warn('Page was not loaded using https. You\'re most likely leaking secrets right now');
67
- }
68
- }
69
- }
70
-
71
- /**
72
- * it's a secret :o (client secret)
73
- * @returns {String} - secret
74
- */
75
- get secret () {
76
- return this._secret;
77
- }
78
-
79
- /**
80
- * Set client secret
81
- * @param {String} value - secret
82
- */
83
- set secret (value) {
84
- this._secret = value;
85
- }
86
-
87
- /**
88
- * Get the username for authentication
89
- * @returns {String} - Username (email)
90
- */
91
- get username () {
92
- return this._username;
93
- }
94
-
95
- /**
96
- * Get the username for authentication
97
- * @param {String} value - Username (email)
98
- */
99
- set username (value) {
100
- this._username = value;
101
- }
102
-
103
- /**
104
- * Get the password
105
- * @returns {String} - Password
106
- */
107
- get password () {
108
- return this._password;
109
- }
110
-
111
- /**
112
- * Set the password
113
- * @param {String} value - password
114
- */
115
- set password (value) {
116
- this._password = value;
117
- }
118
-
119
- /**
120
- * OAuth path
121
- * @returns {String} - OAuth path
122
- */
123
- get path () {
124
- return this._path;
125
- }
126
-
127
- /**
128
- * OAuth path
129
- * @param {String} value - OAuth path
130
- */
131
- set path (value) {
132
- this._path = value;
133
- }
134
-
135
- /**
136
- * Authenticate
137
- * @returns {CancelablePromise<OAuthToken>} - Response token
138
- * @throws {OAuthError}
139
- */
140
- authenticate () {
141
- const url = this.host + this.path;
142
- const json = {
143
- 'grant_type': 'password',
144
- 'client_id': this.clientId,
145
- 'client_secret': this._secret,
146
- 'username': this.username,
147
- 'password': this.password,
148
- 'scope': this.scopes.join(' '),
149
- };
150
-
151
- return makeCancelable(async signal => {
152
- const data = await ky.post(url, { json, signal }).json();
153
-
154
- if (data.error) {
155
- throw new OAuthError(data.error, data.message);
156
- }
157
-
158
- this.token = OAuthToken.fromResponseObject(data);
159
- this.token.scopes = this.scopes;
160
-
161
- return this.token;
162
- });
163
- }
164
- }
@@ -1,111 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import StorageManager from '../storage/StorageManager';
34
- import StaticClass from '../utils/StaticClass';
35
- import Uuid from '../utils/uuid';
36
-
37
- /**
38
- * State container for keeping track of OAuth states (crsf tokens)
39
- * @static
40
- * @private
41
- */
42
- export default class StateContainer extends StaticClass {
43
- /**
44
- * LocalStorage key prefix
45
- * @returns {String} - prefix
46
- * @constant
47
- */
48
- static get prefix () {
49
- return 'oauth_state_';
50
- }
51
-
52
- /**
53
- * Generate and store a state that can be checked at a later point
54
- * @returns {string} - state
55
- */
56
- static generate () {
57
- const uuid = Uuid.uuid4();
58
- const key = StateContainer.prefix + uuid;
59
-
60
- StorageManager.best.set(key, Date.now());
61
-
62
- return uuid;
63
- }
64
-
65
- /**
66
- * Validate a state
67
- * @param {String} state - state to validate
68
- * @param {Boolean} purge - remove from state db after validation
69
- * @returns {Boolean} - if the state is valid
70
- */
71
- static validate (state, purge = true) {
72
- const storage = StorageManager.best;
73
- const key = StateContainer.prefix + state;
74
- const found = typeof storage.get(key) !== 'undefined';
75
-
76
- if (purge && found) {
77
- storage.remove(key);
78
- }
79
-
80
- return found;
81
- }
82
-
83
- /**
84
- * Remove all states from the state db
85
- */
86
- static clean () {
87
- const tokens = Object.keys(this.list());
88
-
89
- for (const token of tokens) {
90
- StorageManager.best.remove(StateContainer.prefix + token);
91
- }
92
- }
93
-
94
- /**
95
- * Get states with their corresponding state db key
96
- * @returns {Object<String, String>} - List of stored states
97
- */
98
- static list () {
99
- const storage = StorageManager.best;
100
-
101
- return storage
102
- .keys()
103
- .filter(x => x.startsWith(StateContainer.prefix))
104
- .map(x => x.replace(StateContainer.prefix, ''))
105
- .reduce((out, key) => {
106
- out[key] = storage.get(key);
107
-
108
- return out;
109
- }, {});
110
- }
111
- }
@@ -1,137 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import GeoError from '../errors/GeoError';
34
- import RequestParameters from '../RequestParameters';
35
- import { GeoBoundary, GeoPoint } from '../utils/geo';
36
- import ResourceProxy from './ResourceProxy';
37
- import { makeCancelable } from '../utils/helpers';
38
-
39
- export default class GeoResourceProxy extends ResourceProxy {
40
- /**
41
- * @param {Mapcreator} api - Instance of the api
42
- * @param {ResourceBase} Target - Target to wrap
43
- * @param {?string} [altUrl=null] - Internal use, Optional alternative url for more complex routing
44
- * @param {object} seedData - Internal use, used for seeding ::new
45
- * @param {object} options - instance options
46
- * @param {boolean} [options.hasForPoint=true] - If the endpoint supports for-point
47
- * @param {boolean} [options.hasForBoundary=true] - If the endpoint supports for-boundary
48
- */
49
- constructor (api, Target, altUrl = null, seedData = {}, { hasForPoint = true, hasForBoundary = true } = {}) {
50
- super(api, Target, altUrl, seedData);
51
- this._hasForPoint = hasForPoint;
52
- this._hasForBoundary = hasForBoundary;
53
- }
54
-
55
- /**
56
- * If the proxy supports for-point operations
57
- * @returns {boolean} - If it supports the operations
58
- */
59
- get hasForPoint () {
60
- return this._hasForPoint;
61
- }
62
-
63
- /**
64
- * If the proxy supports for-point operations
65
- * @returns {boolean} - If it supports the operations
66
- */
67
- get hasForBoundary () {
68
- return this._hasForBoundary;
69
- }
70
-
71
- // noinspection JSCommentMatchesSignature
72
- /**
73
- * Get an array of results for boundary
74
- * @param {Object} boundary - boundary to search within
75
- * @param {Object} boundary.topLeft - top left corner of the boundary
76
- * @param {Number} boundary.topLeft.lat - top left corner latitude
77
- * @param {Number} boundary.topLeft.lng - top left corner longitude
78
- * @param {Object} boundary.bottomRight - bottom right corner of the boundary
79
- * @param {Number} boundary.bottomRight.lat - bottom right corner latitude
80
- * @param {Number} boundary.bottomRight.lng - bottom right corner longitude
81
- * @param {Number} limit - maximum amount of results, can't be larger then RequestParameters.maxPerPage
82
- * @returns {CancelablePromise<ResourceBase[]>} - target resource for boundary
83
- * @throws {ApiError} - If the api returns errors
84
- * @throws TypeError
85
- * @throws GeoError
86
- */
87
- forBoundary ({ topLeft, bottomRight }, limit = RequestParameters.perPage) {
88
- if (!this.hasForBoundary) {
89
- throw new GeoError(`${this.Target.name} does not support the operation forBoundary`);
90
- }
91
-
92
- const boundary = new GeoBoundary(topLeft, bottomRight);
93
-
94
- if (limit > RequestParameters.maxPerPage) {
95
- throw new TypeError(`Invalid resource limit ${limit}, maximum allowed is ${RequestParameters.maxPerPage}`);
96
- }
97
-
98
- const url = `${this.new().baseUrl}/for-boundary?per_page=${limit}`;
99
-
100
- return makeCancelable(async signal => {
101
- const { data } = await this.api.ky.post(url, { json: { boundary }, signal }).json();
102
-
103
- return data.map(r => this.new(r));
104
- });
105
- }
106
-
107
- /**
108
- * Get an array of results for point
109
- * @param {Object} point - point to search at
110
- * @param {Number} point.lat - top left corner latitude
111
- * @param {Number} point.lng - top left corner longitude
112
- * @param {Number} limit - maximum amount of results, can't be larger then RequestParameters.maxPerPage
113
- * @returns {CancelablePromise<ResourceBase[]>} - target resource for boundary
114
- * @throws {ApiError} - If the api returns errors
115
- * @throws TypeError
116
- * @throws GeoError
117
- */
118
- forPoint ({ lat, lng }, limit = RequestParameters.perPage) {
119
- if (!this.hasForPoint) {
120
- throw new GeoError(`${this.Target.name} does not support the operation forPoint`);
121
- }
122
-
123
- const point = new GeoPoint(lat, lng);
124
-
125
- if (limit > RequestParameters.maxPerPage) {
126
- throw new TypeError(`Invalid resource limit ${limit}, maximum allowed is ${RequestParameters.maxPerPage}`);
127
- }
128
-
129
- const url = `${this.new().baseUrl}/for-point?per_page=${limit}`;
130
-
131
- return makeCancelable(async signal => {
132
- const { data } = await this.api.ky.post(url, { json: { limit, point }, signal }).json();
133
-
134
- return data.map(r => this.new(r));
135
- });
136
- }
137
- }