@mapcreator/api 3.3.0 → 5.0.0-alpha.12
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.
- package/LICENSE +1 -1
- package/README.md +82 -59
- package/cjs/api/apiCommon.d.ts +7 -0
- package/cjs/api/apiCommon.d.ts.map +1 -0
- package/cjs/api/apiCommon.js +32 -0
- package/cjs/api/apiCommon.js.map +1 -0
- package/cjs/api/choropleth.d.ts +206 -0
- package/cjs/api/choropleth.d.ts.map +1 -0
- package/cjs/api/choropleth.js +40 -0
- package/cjs/api/choropleth.js.map +1 -0
- package/cjs/api/color.d.ts +16 -0
- package/cjs/api/color.d.ts.map +1 -0
- package/cjs/api/color.js +8 -0
- package/cjs/api/color.js.map +1 -0
- package/cjs/api/dimension.d.ts +25 -0
- package/cjs/api/dimension.d.ts.map +1 -0
- package/cjs/api/dimension.js +19 -0
- package/cjs/api/dimension.js.map +1 -0
- package/cjs/api/dimensionSet.d.ts +15 -0
- package/cjs/api/dimensionSet.d.ts.map +1 -0
- package/cjs/api/dimensionSet.js +7 -0
- package/cjs/api/dimensionSet.js.map +1 -0
- package/cjs/api/feature.d.ts +16 -0
- package/cjs/api/feature.d.ts.map +1 -0
- package/cjs/api/feature.js +8 -0
- package/cjs/api/feature.js.map +1 -0
- package/cjs/api/font.d.ts +22 -0
- package/cjs/api/font.d.ts.map +1 -0
- package/cjs/api/font.js +10 -0
- package/cjs/api/font.js.map +1 -0
- package/cjs/api/fontFamily.d.ts +17 -0
- package/cjs/api/fontFamily.d.ts.map +1 -0
- package/cjs/api/fontFamily.js +17 -0
- package/cjs/api/fontFamily.js.map +1 -0
- package/cjs/api/highlight.d.ts +41 -0
- package/cjs/api/highlight.d.ts.map +1 -0
- package/cjs/api/highlight.js +17 -0
- package/cjs/api/highlight.js.map +1 -0
- package/cjs/api/job.d.ts +40 -0
- package/cjs/api/job.d.ts.map +1 -0
- package/cjs/api/job.js +70 -0
- package/cjs/api/job.js.map +1 -0
- package/cjs/api/jobResult.d.ts +29 -0
- package/cjs/api/jobResult.d.ts.map +1 -0
- package/cjs/api/jobResult.js +35 -0
- package/cjs/api/jobResult.js.map +1 -0
- package/cjs/api/jobRevision.d.ts +43 -0
- package/cjs/api/jobRevision.d.ts.map +1 -0
- package/cjs/api/jobRevision.js +72 -0
- package/cjs/api/jobRevision.js.map +1 -0
- package/cjs/api/jobShare.d.ts +26 -0
- package/cjs/api/jobShare.d.ts.map +1 -0
- package/cjs/api/jobShare.js +10 -0
- package/cjs/api/jobShare.js.map +1 -0
- package/cjs/api/jobType.d.ts +17 -0
- package/cjs/api/jobType.d.ts.map +1 -0
- package/cjs/api/jobType.js +11 -0
- package/cjs/api/jobType.js.map +1 -0
- package/cjs/api/language.d.ts +17 -0
- package/cjs/api/language.d.ts.map +1 -0
- package/cjs/api/language.js +3 -0
- package/cjs/api/language.js.map +1 -0
- package/cjs/api/layer.d.ts +24 -0
- package/cjs/api/layer.d.ts.map +1 -0
- package/cjs/api/layer.js +14 -0
- package/cjs/api/layer.js.map +1 -0
- package/cjs/api/layerFaq.d.ts +27 -0
- package/cjs/api/layerFaq.d.ts.map +1 -0
- package/cjs/api/layerFaq.js +16 -0
- package/cjs/api/layerFaq.js.map +1 -0
- package/cjs/api/layerGroup.d.ts +16 -0
- package/cjs/api/layerGroup.d.ts.map +1 -0
- package/cjs/api/layerGroup.js +37 -0
- package/cjs/api/layerGroup.js.map +1 -0
- package/cjs/api/mapstyleSet.d.ts +29 -0
- package/cjs/api/mapstyleSet.d.ts.map +1 -0
- package/cjs/api/mapstyleSet.js +19 -0
- package/cjs/api/mapstyleSet.js.map +1 -0
- package/cjs/api/message.d.ts +32 -0
- package/cjs/api/message.d.ts.map +1 -0
- package/cjs/api/message.js +37 -0
- package/cjs/api/message.js.map +1 -0
- package/cjs/api/organisation.d.ts +38 -0
- package/cjs/api/organisation.d.ts.map +1 -0
- package/cjs/api/organisation.js +43 -0
- package/cjs/api/organisation.js.map +1 -0
- package/cjs/api/resources.d.ts +54 -0
- package/cjs/api/resources.d.ts.map +1 -0
- package/cjs/api/resources.js +55 -0
- package/cjs/api/resources.js.map +1 -0
- package/cjs/api/svg.d.ts +21 -0
- package/cjs/api/svg.d.ts.map +1 -0
- package/cjs/api/svg.js +15 -0
- package/cjs/api/svg.js.map +1 -0
- package/cjs/api/svgSet.d.ts +22 -0
- package/cjs/api/svgSet.d.ts.map +1 -0
- package/cjs/api/svgSet.js +25 -0
- package/cjs/api/svgSet.js.map +1 -0
- package/cjs/api/user.d.ts +100 -0
- package/cjs/api/user.d.ts.map +1 -0
- package/cjs/api/user.js +126 -0
- package/cjs/api/user.js.map +1 -0
- package/cjs/index.d.ts +26 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +51 -0
- package/cjs/index.js.map +1 -0
- package/cjs/oauth.d.ts +20 -0
- package/cjs/oauth.d.ts.map +1 -0
- package/cjs/oauth.js +229 -0
- package/cjs/oauth.js.map +1 -0
- package/cjs/utils.d.ts +72 -0
- package/cjs/utils.d.ts.map +1 -0
- package/cjs/utils.js +220 -0
- package/cjs/utils.js.map +1 -0
- package/esm/api/apiCommon.d.ts +7 -0
- package/esm/api/apiCommon.d.ts.map +1 -0
- package/esm/api/apiCommon.js +28 -0
- package/esm/api/apiCommon.js.map +1 -0
- package/esm/api/choropleth.d.ts +206 -0
- package/esm/api/choropleth.d.ts.map +1 -0
- package/esm/api/choropleth.js +32 -0
- package/esm/api/choropleth.js.map +1 -0
- package/esm/api/color.d.ts +16 -0
- package/esm/api/color.d.ts.map +1 -0
- package/esm/api/color.js +5 -0
- package/esm/api/color.js.map +1 -0
- package/esm/api/dimension.d.ts +25 -0
- package/esm/api/dimension.d.ts.map +1 -0
- package/esm/api/dimension.js +16 -0
- package/esm/api/dimension.js.map +1 -0
- package/esm/api/dimensionSet.d.ts +15 -0
- package/esm/api/dimensionSet.d.ts.map +1 -0
- package/esm/api/dimensionSet.js +4 -0
- package/esm/api/dimensionSet.js.map +1 -0
- package/esm/api/feature.d.ts +16 -0
- package/esm/api/feature.d.ts.map +1 -0
- package/esm/api/feature.js +5 -0
- package/esm/api/feature.js.map +1 -0
- package/esm/api/font.d.ts +22 -0
- package/esm/api/font.d.ts.map +1 -0
- package/esm/api/font.js +7 -0
- package/esm/api/font.js.map +1 -0
- package/esm/api/fontFamily.d.ts +17 -0
- package/esm/api/fontFamily.d.ts.map +1 -0
- package/esm/api/fontFamily.js +13 -0
- package/esm/api/fontFamily.js.map +1 -0
- package/esm/api/highlight.d.ts +41 -0
- package/esm/api/highlight.d.ts.map +1 -0
- package/esm/api/highlight.js +12 -0
- package/esm/api/highlight.js.map +1 -0
- package/esm/api/job.d.ts +40 -0
- package/esm/api/job.d.ts.map +1 -0
- package/esm/api/job.js +58 -0
- package/esm/api/job.js.map +1 -0
- package/esm/api/jobResult.d.ts +29 -0
- package/esm/api/jobResult.d.ts.map +1 -0
- package/esm/api/jobResult.js +30 -0
- package/esm/api/jobResult.js.map +1 -0
- package/esm/api/jobRevision.d.ts +43 -0
- package/esm/api/jobRevision.d.ts.map +1 -0
- package/esm/api/jobRevision.js +63 -0
- package/esm/api/jobRevision.js.map +1 -0
- package/esm/api/jobShare.d.ts +26 -0
- package/esm/api/jobShare.d.ts.map +1 -0
- package/esm/api/jobShare.js +6 -0
- package/esm/api/jobShare.js.map +1 -0
- package/esm/api/jobType.d.ts +17 -0
- package/esm/api/jobType.d.ts.map +1 -0
- package/esm/api/jobType.js +8 -0
- package/esm/api/jobType.js.map +1 -0
- package/esm/api/language.d.ts +17 -0
- package/esm/api/language.d.ts.map +1 -0
- package/esm/api/language.js +2 -0
- package/esm/api/language.js.map +1 -0
- package/esm/api/layer.d.ts +24 -0
- package/esm/api/layer.d.ts.map +1 -0
- package/esm/api/layer.js +11 -0
- package/esm/api/layer.js.map +1 -0
- package/esm/api/layerFaq.d.ts +27 -0
- package/esm/api/layerFaq.d.ts.map +1 -0
- package/esm/api/layerFaq.js +12 -0
- package/esm/api/layerFaq.js.map +1 -0
- package/esm/api/layerGroup.d.ts +16 -0
- package/esm/api/layerGroup.d.ts.map +1 -0
- package/esm/api/layerGroup.js +33 -0
- package/esm/api/layerGroup.js.map +1 -0
- package/esm/api/mapstyleSet.d.ts +29 -0
- package/esm/api/mapstyleSet.d.ts.map +1 -0
- package/esm/api/mapstyleSet.js +16 -0
- package/esm/api/mapstyleSet.js.map +1 -0
- package/esm/api/message.d.ts +32 -0
- package/esm/api/message.d.ts.map +1 -0
- package/esm/api/message.js +32 -0
- package/esm/api/message.js.map +1 -0
- package/esm/api/organisation.d.ts +38 -0
- package/esm/api/organisation.d.ts.map +1 -0
- package/esm/api/organisation.js +37 -0
- package/esm/api/organisation.js.map +1 -0
- package/esm/api/resources.d.ts +54 -0
- package/esm/api/resources.d.ts.map +1 -0
- package/esm/api/resources.js +48 -0
- package/esm/api/resources.js.map +1 -0
- package/esm/api/svg.d.ts +21 -0
- package/esm/api/svg.d.ts.map +1 -0
- package/esm/api/svg.js +11 -0
- package/esm/api/svg.js.map +1 -0
- package/esm/api/svgSet.d.ts +22 -0
- package/esm/api/svgSet.d.ts.map +1 -0
- package/esm/api/svgSet.js +21 -0
- package/esm/api/svgSet.js.map +1 -0
- package/esm/api/user.d.ts +100 -0
- package/esm/api/user.d.ts.map +1 -0
- package/esm/api/user.js +110 -0
- package/esm/api/user.js.map +1 -0
- package/esm/index.d.ts +26 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +26 -0
- package/esm/index.js.map +1 -0
- package/esm/oauth.d.ts +20 -0
- package/esm/oauth.d.ts.map +1 -0
- package/esm/oauth.js +222 -0
- package/esm/oauth.js.map +1 -0
- package/esm/utils.d.ts +72 -0
- package/esm/utils.d.ts.map +1 -0
- package/esm/utils.js +206 -0
- package/esm/utils.js.map +1 -0
- package/package.json +66 -137
- package/src/README.md +126 -0
- package/src/api/apiCommon.ts +70 -0
- package/src/api/choropleth.ts +318 -0
- package/src/api/color.ts +22 -0
- package/src/api/dimension.ts +54 -0
- package/src/api/dimensionSet.ts +20 -0
- package/src/api/feature.ts +22 -0
- package/src/api/font.ts +30 -0
- package/src/api/fontFamily.ts +43 -0
- package/src/api/highlight.ts +74 -0
- package/src/api/job.ts +127 -0
- package/src/api/jobResult.ts +81 -0
- package/src/api/jobRevision.ts +170 -0
- package/src/api/jobShare.ts +35 -0
- package/src/api/jobType.ts +26 -0
- package/src/api/language.ts +19 -0
- package/src/api/layer.ts +36 -0
- package/src/api/layerFaq.ts +53 -0
- package/src/api/layerGroup.ts +69 -0
- package/src/api/mapstyleSet.ts +46 -0
- package/src/api/message.ts +80 -0
- package/src/api/organisation.ts +94 -0
- package/src/api/resources.ts +134 -0
- package/src/api/svg.ts +33 -0
- package/src/api/svgSet.ts +56 -0
- package/src/api/user.ts +280 -0
- package/src/index.ts +42 -0
- package/src/oauth.ts +292 -0
- package/src/utils.ts +342 -0
- package/dist/ImageHandler.d.ts +0 -56
- package/dist/Mapcreator.d.ts +0 -338
- package/dist/PaginatedResourceListing.d.ts +0 -156
- package/dist/RequestParameters.d.ts +0 -241
- package/dist/ResourceLister.d.ts +0 -155
- package/dist/bundle.browser.js +0 -14590
- package/dist/bundle.browser.min.js +0 -3
- package/dist/bundle.browser.min.js.LICENSE.txt +0 -74
- package/dist/bundle.js +0 -12755
- package/dist/bundle.min.js +0 -3
- package/dist/bundle.min.js.LICENSE.txt +0 -44
- package/dist/enums/DeletedState.d.ts +0 -16
- package/dist/enums/Enum.d.ts +0 -40
- package/dist/enums/JobShareVisibility.d.ts +0 -15
- package/dist/enums/ResultStatus.d.ts +0 -17
- package/dist/enums/index.d.ts +0 -5
- package/dist/errors/AbstractError.d.ts +0 -26
- package/dist/errors/ApiError.d.ts +0 -65
- package/dist/errors/GeoError.d.ts +0 -6
- package/dist/errors/NodeError.d.ts +0 -6
- package/dist/errors/OAuthError.d.ts +0 -17
- package/dist/errors/StaticClassError.d.ts +0 -7
- package/dist/errors/ValidationError.d.ts +0 -125
- package/dist/errors/index.d.ts +0 -8
- package/dist/index.d.ts +0 -27
- package/dist/oauth/DummyFlow.d.ts +0 -19
- package/dist/oauth/ImplicitFlow.d.ts +0 -68
- package/dist/oauth/ImplicitFlowPopup.d.ts +0 -25
- package/dist/oauth/OAuth.d.ts +0 -50
- package/dist/oauth/OAuthToken.d.ts +0 -67
- package/dist/oauth/PasswordFlow.d.ts +0 -56
- package/dist/oauth/StateContainer.d.ts +0 -36
- package/dist/proxy/GeoResourceProxy.d.ts +0 -69
- package/dist/proxy/OrganisationProxy.d.ts +0 -62
- package/dist/proxy/OwnedResourceProxy.d.ts +0 -60
- package/dist/proxy/ResourceProxy.d.ts +0 -32
- package/dist/proxy/SimpleResourceProxy.d.ts +0 -76
- package/dist/proxy/index.d.ts +0 -6
- package/dist/resources/Choropleth.d.ts +0 -20
- package/dist/resources/Color.d.ts +0 -9
- package/dist/resources/Contract.d.ts +0 -7
- package/dist/resources/Dimension.d.ts +0 -7
- package/dist/resources/DimensionSet.d.ts +0 -11
- package/dist/resources/Domain.d.ts +0 -7
- package/dist/resources/Faq.d.ts +0 -7
- package/dist/resources/Feature.d.ts +0 -9
- package/dist/resources/Font.d.ts +0 -4
- package/dist/resources/FontFamily.d.ts +0 -11
- package/dist/resources/Highlight.d.ts +0 -4
- package/dist/resources/InsetMap.d.ts +0 -10
- package/dist/resources/Job.d.ts +0 -56
- package/dist/resources/JobResult.d.ts +0 -76
- package/dist/resources/JobRevision.d.ts +0 -64
- package/dist/resources/JobShare.d.ts +0 -15
- package/dist/resources/JobType.d.ts +0 -9
- package/dist/resources/Language.d.ts +0 -4
- package/dist/resources/Layer.d.ts +0 -10
- package/dist/resources/LayerFaq.d.ts +0 -8
- package/dist/resources/LayerGroup.d.ts +0 -14
- package/dist/resources/Mapstyle.d.ts +0 -8
- package/dist/resources/MapstyleSet.d.ts +0 -13
- package/dist/resources/MapstyleSetColor.d.ts +0 -8
- package/dist/resources/Message.d.ts +0 -7
- package/dist/resources/MessageVariant.d.ts +0 -4
- package/dist/resources/Notification.d.ts +0 -4
- package/dist/resources/Organisation.d.ts +0 -99
- package/dist/resources/OrganisationNote.d.ts +0 -17
- package/dist/resources/Permission.d.ts +0 -4
- package/dist/resources/ProductTour.d.ts +0 -10
- package/dist/resources/ProductTourStep.d.ts +0 -7
- package/dist/resources/Role.d.ts +0 -14
- package/dist/resources/Svg.d.ts +0 -4
- package/dist/resources/SvgSet.d.ts +0 -11
- package/dist/resources/Tag.d.ts +0 -9
- package/dist/resources/TagType.d.ts +0 -13
- package/dist/resources/User.d.ts +0 -119
- package/dist/resources/VectorChoropleth.d.ts +0 -4
- package/dist/resources/VectorHighlight.d.ts +0 -4
- package/dist/resources/base/CrudBase.d.ts +0 -66
- package/dist/resources/base/CrudBase.d.ts.map +0 -1
- package/dist/resources/base/CrudSetBase.d.ts +0 -27
- package/dist/resources/base/CrudSetBase.d.ts.map +0 -1
- package/dist/resources/base/CrudSetItemBase.d.ts +0 -19
- package/dist/resources/base/CrudSetItemBase.d.ts.map +0 -1
- package/dist/resources/base/DownloadedResource.d.ts +0 -72
- package/dist/resources/base/DownloadedResource.d.ts.map +0 -1
- package/dist/resources/base/ResourceBase.d.ts +0 -164
- package/dist/resources/base/ResourceBase.d.ts.map +0 -1
- package/dist/resources/index.d.ts +0 -47
- package/dist/storage/CookiesDriver.d.ts +0 -37
- package/dist/storage/DataStoreContract.d.ts +0 -46
- package/dist/storage/DummyDriver.d.ts +0 -15
- package/dist/storage/FileDriver.d.ts +0 -54
- package/dist/storage/LocalStorageDriver.d.ts +0 -13
- package/dist/storage/StorageManager.d.ts +0 -46
- package/dist/traits/HandlesImages.d.ts +0 -15
- package/dist/traits/Injectable.d.ts +0 -60
- package/dist/traits/OwnableResource.d.ts +0 -18
- package/dist/traits/Trait.d.ts +0 -12
- package/dist/utils/Logger.d.ts +0 -55
- package/dist/utils/Singleton.d.ts +0 -9
- package/dist/utils/StaticClass.d.ts +0 -7
- package/dist/utils/Unobservable.d.ts +0 -13
- package/dist/utils/base64.d.ts +0 -12
- package/dist/utils/geo.d.ts +0 -74
- package/dist/utils/hash.d.ts +0 -15
- package/dist/utils/helpers.d.ts +0 -47
- package/dist/utils/node.d.ts +0 -15
- package/dist/utils/reflection.d.ts +0 -43
- package/dist/utils/requests.d.ts +0 -24
- package/dist/utils/uuid.d.ts +0 -19
- package/manual/assets/maps4news.svg +0 -23
- package/manual/building.md +0 -19
- package/manual/css/hide_import.css +0 -3
- package/manual/css/sidebar_fix.css +0 -3
- package/manual/examples.authentication.md +0 -205
- package/manual/examples.md +0 -153
- package/manual/installation.md +0 -33
- package/manual/js/sandbox.js +0 -26
- package/src/ImageHandler.js +0 -134
- package/src/Mapcreator.js +0 -703
- package/src/PaginatedResourceListing.js +0 -300
- package/src/RequestParameters.js +0 -711
- package/src/ResourceLister.js +0 -368
- package/src/enums/DeletedState.js +0 -49
- package/src/enums/Enum.js +0 -130
- package/src/enums/JobShareVisibility.js +0 -43
- package/src/enums/ResultStatus.js +0 -49
- package/src/enums/index.js +0 -36
- package/src/errors/AbstractError.js +0 -70
- package/src/errors/ApiError.js +0 -139
- package/src/errors/GeoError.js +0 -36
- package/src/errors/NodeError.js +0 -36
- package/src/errors/OAuthError.js +0 -71
- package/src/errors/StaticClassError.js +0 -37
- package/src/errors/ValidationError.js +0 -164
- package/src/errors/index.js +0 -39
- package/src/index.js +0 -75
- package/src/oauth/DummyFlow.js +0 -63
- package/src/oauth/ImplicitFlow.js +0 -226
- package/src/oauth/ImplicitFlowPopup.js +0 -122
- package/src/oauth/OAuth.js +0 -131
- package/src/oauth/OAuthToken.js +0 -175
- package/src/oauth/PasswordFlow.js +0 -164
- package/src/oauth/StateContainer.js +0 -111
- package/src/proxy/GeoResourceProxy.js +0 -137
- package/src/proxy/OrganisationProxy.js +0 -149
- package/src/proxy/OwnedResourceProxy.js +0 -148
- package/src/proxy/ResourceProxy.js +0 -101
- package/src/proxy/SimpleResourceProxy.js +0 -188
- package/src/proxy/index.js +0 -37
- package/src/resources/Choropleth.js +0 -66
- package/src/resources/Color.js +0 -46
- package/src/resources/Contract.js +0 -42
- package/src/resources/Dimension.js +0 -42
- package/src/resources/DimensionSet.js +0 -56
- package/src/resources/Domain.js +0 -42
- package/src/resources/Faq.js +0 -42
- package/src/resources/Feature.js +0 -47
- package/src/resources/Font.js +0 -43
- package/src/resources/FontFamily.js +0 -55
- package/src/resources/Highlight.js +0 -39
- package/src/resources/InsetMap.js +0 -49
- package/src/resources/Job.js +0 -160
- package/src/resources/JobResult.js +0 -184
- package/src/resources/JobRevision.js +0 -201
- package/src/resources/JobShare.js +0 -61
- package/src/resources/JobType.js +0 -50
- package/src/resources/Language.js +0 -51
- package/src/resources/Layer.js +0 -48
- package/src/resources/LayerFaq.js +0 -47
- package/src/resources/LayerGroup.js +0 -57
- package/src/resources/Mapstyle.js +0 -45
- package/src/resources/MapstyleSet.js +0 -65
- package/src/resources/MapstyleSetColor.js +0 -51
- package/src/resources/Message.js +0 -94
- package/src/resources/MessageVariant.js +0 -37
- package/src/resources/Notification.js +0 -39
- package/src/resources/Organisation.js +0 -233
- package/src/resources/OrganisationNote.js +0 -57
- package/src/resources/Permission.js +0 -39
- package/src/resources/ProductTour.js +0 -53
- package/src/resources/ProductTourStep.js +0 -48
- package/src/resources/Role.js +0 -58
- package/src/resources/Svg.js +0 -39
- package/src/resources/SvgSet.js +0 -55
- package/src/resources/Tag.js +0 -50
- package/src/resources/TagType.js +0 -56
- package/src/resources/User.js +0 -251
- package/src/resources/VectorChoropleth.js +0 -40
- package/src/resources/VectorHighlight.js +0 -40
- package/src/resources/base/CrudBase.js +0 -204
- package/src/resources/base/CrudSetBase.js +0 -83
- package/src/resources/base/CrudSetItemBase.js +0 -82
- package/src/resources/base/DownloadedResource.js +0 -165
- package/src/resources/base/ResourceBase.js +0 -484
- package/src/resources/index.js +0 -81
- package/src/storage/CookiesDriver.js +0 -136
- package/src/storage/DataStoreContract.js +0 -111
- package/src/storage/DummyDriver.js +0 -91
- package/src/storage/FileDriver.js +0 -174
- package/src/storage/LocalStorageDriver.js +0 -108
- package/src/storage/StorageManager.js +0 -109
- package/src/traits/HandlesImages.js +0 -50
- package/src/traits/Injectable.js +0 -221
- package/src/traits/OwnableResource.js +0 -56
- package/src/traits/Trait.js +0 -43
- package/src/utils/Logger.js +0 -137
- package/src/utils/Singleton.js +0 -49
- package/src/utils/StaticClass.js +0 -43
- package/src/utils/Unobservable.js +0 -47
- package/src/utils/base64.js +0 -93
- package/src/utils/geo.js +0 -139
- package/src/utils/hash.js +0 -72
- package/src/utils/helpers.js +0 -178
- package/src/utils/node.js +0 -55
- package/src/utils/reflection.js +0 -170
- package/src/utils/requests.js +0 -120
- package/src/utils/uuid.js +0 -68
|
@@ -1,149 +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 { isParentOf } from '../utils/reflection';
|
|
34
|
-
import SimpleResourceProxy from './SimpleResourceProxy';
|
|
35
|
-
import { makeCancelable } from '../utils/helpers';
|
|
36
|
-
|
|
37
|
-
export default class OrganisationProxy extends SimpleResourceProxy {
|
|
38
|
-
/**
|
|
39
|
-
* @param {Mapcreator} api - Instance of the api
|
|
40
|
-
* @param {ResourceBase} parent - Parent instance
|
|
41
|
-
*/
|
|
42
|
-
constructor (api, parent) {
|
|
43
|
-
// Fixes dependency issue
|
|
44
|
-
const Organisation = require('../resources/Organisation').default;
|
|
45
|
-
|
|
46
|
-
super(api, Organisation, `${parent.url}/organisations`, {});
|
|
47
|
-
|
|
48
|
-
this._parent = parent;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Returns parent instance
|
|
53
|
-
* @returns {ResourceBase} - Parent instance
|
|
54
|
-
*/
|
|
55
|
-
get parent () {
|
|
56
|
-
return this._parent;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Sync organisations to the parent resource
|
|
61
|
-
* The organisations attached to the target resource will be replaced with the organisations provided in the request.
|
|
62
|
-
* @param {Array<Organisation|number>} organisations - List of items to sync
|
|
63
|
-
* @throws {ApiError} - If the api returns errors
|
|
64
|
-
* @returns {CancelablePromise}
|
|
65
|
-
*/
|
|
66
|
-
sync (organisations) {
|
|
67
|
-
return this._modifyLink(organisations, 'PATCH', this.Target);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Attach organisations to the parent resource
|
|
72
|
-
* The provided organisations will be attached to the resource if they're not already attached
|
|
73
|
-
* @param {Array<Organisation|number>} organisations - List of items to attach
|
|
74
|
-
* @throws {ApiError} - If the api returns errors
|
|
75
|
-
* @returns {CancelablePromise}
|
|
76
|
-
*/
|
|
77
|
-
attach (organisations) {
|
|
78
|
-
return this._modifyLink(organisations, 'POST', this.Target);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Detach organisations from the parent resource
|
|
83
|
-
* The provided organisations will be detached from the resource
|
|
84
|
-
* @param {Array<Organisation|number>} organisations - List of items to detach
|
|
85
|
-
* @throws {ApiError} - If the api returns errors
|
|
86
|
-
* @returns {CancelablePromise}
|
|
87
|
-
*/
|
|
88
|
-
detach (organisations) {
|
|
89
|
-
return this._modifyLink(organisations, 'DELETE', this.Target);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Attach all organisations to the parent resource
|
|
94
|
-
* @throws {ApiError} - If the api returns errors
|
|
95
|
-
* @returns {CancelablePromise}
|
|
96
|
-
*/
|
|
97
|
-
attachAll () {
|
|
98
|
-
return makeCancelable(async signal => {
|
|
99
|
-
await this.api.ky.post(`${this.baseUrl}/all`, { signal });
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Detach all organisations from the parent resource
|
|
105
|
-
* @throws {ApiError} - If the api returns errors
|
|
106
|
-
* @returns {CancelablePromise}
|
|
107
|
-
*/
|
|
108
|
-
detachAll () {
|
|
109
|
-
return makeCancelable(async signal => {
|
|
110
|
-
await this.api.ky.delete(`${this.baseUrl}/all`, { signal });
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Sync, attach or unlink resources
|
|
116
|
-
* @param {Array<Organisation|Number>|Organisation|Number} items - List of items to sync or attach
|
|
117
|
-
* @param {String} method - Http method to use
|
|
118
|
-
* @param {Class<ResourceBase>} Type - Resource type
|
|
119
|
-
* @param {?String} path - Optional appended resource path, will guess if null
|
|
120
|
-
* @throws {ApiError} - If the api returns errors
|
|
121
|
-
* @protected
|
|
122
|
-
* @returns {CancelablePromise}
|
|
123
|
-
*/
|
|
124
|
-
_modifyLink (items, method, Type, path = null) {
|
|
125
|
-
if (!Array.isArray(items)) {
|
|
126
|
-
items = [items];
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
if (!path) {
|
|
130
|
-
const resource = Type.resourceName.replace(/s+$/, '');
|
|
131
|
-
|
|
132
|
-
path = `${resource}s`;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const keys = items.map(x => typeof x === 'number' ? x : x.id).map(Number);
|
|
136
|
-
const filter = x => !isParentOf(Type, x) && !Number.isFinite(x);
|
|
137
|
-
const isValid = keys.filter(filter).length === 0;
|
|
138
|
-
|
|
139
|
-
if (!isValid) {
|
|
140
|
-
throw new TypeError(`Array must contain either Numbers (resource id) or "${Type.name}".`);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
const url = `${this.parent.url}/${path}`;
|
|
144
|
-
|
|
145
|
-
return makeCancelable(async signal => {
|
|
146
|
-
await this.api.ky(url, { method, signal, json: { keys } });
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
@@ -1,148 +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 SimpleResourceProxy from './SimpleResourceProxy';
|
|
34
|
-
import { makeCancelable } from '../utils/helpers';
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Used for proxying resource => organisation
|
|
38
|
-
*/
|
|
39
|
-
export default class OwnedResourceProxy extends SimpleResourceProxy {
|
|
40
|
-
/**
|
|
41
|
-
* OwnedResourceProxy Constructor
|
|
42
|
-
* @param {Mapcreator} api - Api instance
|
|
43
|
-
* @param {ResourceBase} parent - Parent instance
|
|
44
|
-
* @param {Class<ResourceBase>} Target - Target constructor
|
|
45
|
-
*/
|
|
46
|
-
constructor (api, parent, Target) {
|
|
47
|
-
const resource = Target.resourceName.replace(/s+$/, '');
|
|
48
|
-
const url = `${parent.url}/${resource}s`;
|
|
49
|
-
|
|
50
|
-
super(api, Target, url);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Sync items to the organisation
|
|
55
|
-
* @param {Array<ResourceBase>|Array<number>|ResourceBase|number} items - List of items to sync
|
|
56
|
-
* @throws {TypeError}
|
|
57
|
-
* @throws {ApiError} - If the api returns errors
|
|
58
|
-
* @returns {CancelablePromise}
|
|
59
|
-
*/
|
|
60
|
-
sync (items) {
|
|
61
|
-
return this._modifyResourceLink(items, 'PATCH');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Attach items to the organisation
|
|
66
|
-
* @param {Array<ResourceBase>|Array<number>|ResourceBase|number} items - List of items to attach
|
|
67
|
-
* @throws {TypeError}
|
|
68
|
-
* @throws {ApiError} - If the api returns errors
|
|
69
|
-
* @returns {CancelablePromise}
|
|
70
|
-
*/
|
|
71
|
-
attach (items) {
|
|
72
|
-
return this._modifyResourceLink(items, 'POST');
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Detach items from the organisation
|
|
77
|
-
* @param {Array<ResourceBase>|Array<number>|ResourceBase|number} items - List of items to unlink
|
|
78
|
-
* @throws {TypeError}
|
|
79
|
-
* @throws {ApiError} - If the api returns errors
|
|
80
|
-
* @returns {CancelablePromise}
|
|
81
|
-
*/
|
|
82
|
-
detach (items) {
|
|
83
|
-
return this._modifyResourceLink(items, 'DELETE');
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Attach parent resource to all organisations
|
|
88
|
-
* @throws {ApiError} - If the api returns errors
|
|
89
|
-
* @returns {CancelablePromise}
|
|
90
|
-
*/
|
|
91
|
-
attachAll () {
|
|
92
|
-
return makeCancelable(async signal => {
|
|
93
|
-
await this.api.ky.post(`${this.baseUrl}/all`, { signal });
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Detach parent resource to all organisations
|
|
99
|
-
* @throws {ApiError} - If the api returns errors
|
|
100
|
-
* @returns {CancelablePromise}
|
|
101
|
-
*/
|
|
102
|
-
detachAll () {
|
|
103
|
-
return makeCancelable(async signal => {
|
|
104
|
-
await this.api.ky.delete(`${this.baseUrl}/all`, { signal });
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* @param {Array<ResourceBase>|Array<number>|ResourceBase|number} items - List of items to sync, attach or detach
|
|
110
|
-
* @param {string} method - http method
|
|
111
|
-
* @throws {ApiError} - If the api returns errors
|
|
112
|
-
* @throws {TypeError}
|
|
113
|
-
* @returns {CancelablePromise}
|
|
114
|
-
* @private
|
|
115
|
-
*/
|
|
116
|
-
_modifyResourceLink (items, method) {
|
|
117
|
-
if (!Array.isArray(items)) {
|
|
118
|
-
items = [items];
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
const keys = items
|
|
122
|
-
.map(x => OwnedResourceProxy._getKeyValue(x))
|
|
123
|
-
.map(Number)
|
|
124
|
-
.filter(x => !Number.isNaN(x));
|
|
125
|
-
|
|
126
|
-
return makeCancelable(async signal => {
|
|
127
|
-
await this.api.ky(this.baseUrl, {
|
|
128
|
-
method,
|
|
129
|
-
signal,
|
|
130
|
-
json: { keys },
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
static _getKeyValue (item) {
|
|
136
|
-
if (['number', 'string'].includes(typeof item)) {
|
|
137
|
-
return item;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const key = item.constructor.resourceUrlKey || 'id';
|
|
141
|
-
|
|
142
|
-
if (typeof item[key] !== 'undefined') {
|
|
143
|
-
return item[key];
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
throw new TypeError('Expected items to be of type Array<ResourceBase>, Array<number>, ResourceBase or number}');
|
|
147
|
-
}
|
|
148
|
-
}
|
|
@@ -1,101 +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 { encodeQueryString } from '../utils/requests';
|
|
34
|
-
import SimpleResourceProxy from './SimpleResourceProxy';
|
|
35
|
-
import { makeCancelable } from '../utils/helpers';
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Proxy for accessing resource. This will make sure that they
|
|
39
|
-
* are properly wrapped before the promise resolves.
|
|
40
|
-
* @protected
|
|
41
|
-
*/
|
|
42
|
-
export default class ResourceProxy extends SimpleResourceProxy {
|
|
43
|
-
/**
|
|
44
|
-
* Parse selector
|
|
45
|
-
* @param {Number|String|Object} [id=] - The resource id to be requested
|
|
46
|
-
* @returns {Object} - Parsed selector
|
|
47
|
-
* @private
|
|
48
|
-
*/
|
|
49
|
-
_parseSelector (id) {
|
|
50
|
-
if (id === '' || id === null) {
|
|
51
|
-
return {};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
switch (typeof id) {
|
|
55
|
-
case 'number':
|
|
56
|
-
case 'string':
|
|
57
|
-
return { [this.Target.resourceUrlKey]: id };
|
|
58
|
-
case 'object':
|
|
59
|
-
return id;
|
|
60
|
-
default:
|
|
61
|
-
return {};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Get target resource
|
|
67
|
-
* @param {Number|String|Object} [id=] - The resource id to be requested
|
|
68
|
-
* @param {String} [deleted=null] - Determines if the resource should be shown if deleted, requires special resource permissions. Possible values: only, none, all
|
|
69
|
-
* @returns {CancelablePromise<ResourceBase>} - Target resource
|
|
70
|
-
* @throws {ApiError} - If the api returns errors
|
|
71
|
-
*/
|
|
72
|
-
get (id, deleted = null) {
|
|
73
|
-
return makeCancelable(async signal => {
|
|
74
|
-
const data = { ...this._seedData, ...this._parseSelector(id) };
|
|
75
|
-
let url = this.new(data).url;
|
|
76
|
-
|
|
77
|
-
if (typeof deleted === 'string') {
|
|
78
|
-
const glue = url.includes('?') ? '&' : '?';
|
|
79
|
-
|
|
80
|
-
url += glue + encodeQueryString({ deleted });
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
const { data: result } = await this.api.ky.get(url, { signal }).json();
|
|
84
|
-
|
|
85
|
-
return this.new(result);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Select target resource without obtaining data
|
|
91
|
-
* @param {Number|String} [id=] - Resource id
|
|
92
|
-
* @returns {ResourceBase} - Empty target resource
|
|
93
|
-
* @example
|
|
94
|
-
* api.users.select('me').colors().then(doSomethingCool);
|
|
95
|
-
*/
|
|
96
|
-
select (id) {
|
|
97
|
-
const data = { ...this._seedData, ...this._parseSelector(id) };
|
|
98
|
-
|
|
99
|
-
return this.new(data);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
@@ -1,188 +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 PaginatedResourceListing from '../PaginatedResourceListing';
|
|
34
|
-
import RequestParameters from '../RequestParameters';
|
|
35
|
-
import ResourceLister from '../ResourceLister';
|
|
36
|
-
import ResourceBase from '../resources/base/ResourceBase';
|
|
37
|
-
import { isParentOf } from '../utils/reflection';
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Proxy for accessing resource. This will make sure that they
|
|
41
|
-
* are properly wrapped before the promise resolves.
|
|
42
|
-
* @protected
|
|
43
|
-
*/
|
|
44
|
-
export default class SimpleResourceProxy {
|
|
45
|
-
/**
|
|
46
|
-
* @param {Mapcreator} api - Instance of the api
|
|
47
|
-
* @param {Class<ResourceBase>} Target - Target to wrap
|
|
48
|
-
* @param {?string} [altUrl=null] - Internal use, Optional alternative url for more complex routing
|
|
49
|
-
* @param {object} seedData - Internal use, used for seeding ::new
|
|
50
|
-
*/
|
|
51
|
-
constructor (api, Target, altUrl = null, seedData = {}) {
|
|
52
|
-
if (!isParentOf(ResourceBase, Target)) {
|
|
53
|
-
throw new TypeError('Target is not a child of ResourceBase');
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (typeof Target !== 'function') {
|
|
57
|
-
throw new TypeError('Target must to be a class not an instance');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (altUrl) {
|
|
61
|
-
this.__baseUrl = altUrl;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
this._api = api;
|
|
65
|
-
this._Target = Target;
|
|
66
|
-
this._seedData = seedData;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Proxy target url
|
|
71
|
-
* @returns {string} url
|
|
72
|
-
* @example
|
|
73
|
-
* api.layers.select(100).organisations.baseUrl === "https://maponline-api.dev/v1/layers/100/organisations"
|
|
74
|
-
*/
|
|
75
|
-
get baseUrl () {
|
|
76
|
-
if (!this.__baseUrl) {
|
|
77
|
-
this.__baseUrl = this.new().baseUrl;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return this.__baseUrl;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Get api instance
|
|
85
|
-
* @returns {Mapcreator} - Api instance
|
|
86
|
-
*/
|
|
87
|
-
get api () {
|
|
88
|
-
return this._api;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Target to wrap results in
|
|
93
|
-
* @returns {Class<ResourceBase>} - Target constructor
|
|
94
|
-
*/
|
|
95
|
-
get Target () {
|
|
96
|
-
return this._Target;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Build a new instance of the target
|
|
101
|
-
* @param {Object<String, *>} data - Data for the object to be populated with
|
|
102
|
-
* @returns {ResourceBase} - Resource with target data
|
|
103
|
-
*/
|
|
104
|
-
new (data = {}) {
|
|
105
|
-
// Merge but don't overwrite using seed data
|
|
106
|
-
data = { ...this._seedData, ...data };
|
|
107
|
-
|
|
108
|
-
return new this.Target(this._api, data, this.__baseUrl);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* List target resource
|
|
113
|
-
* @param {Number|Object|RequestParameters} [params] - Parameters or the page number to be requested
|
|
114
|
-
* @param {Number} [params.page=1] - The page to be requested
|
|
115
|
-
* @param {Number} [params.perPage=RequestParameters.perPage] - Amount of items per page. This is silently capped by the API
|
|
116
|
-
* @param {String|String[]} [params.sort=''] - Amount of items per page. This is silently capped by the API
|
|
117
|
-
* @param {String} [params.deleted=RequestParameters.deleted] - Show deleted resources, posible values: only, none, all
|
|
118
|
-
* @param {?Object<String, String|Array<String>>} [params.search] - Search parameters
|
|
119
|
-
* @returns {CancelablePromise<PaginatedResourceListing>} - paginated resource
|
|
120
|
-
* @throws {ApiError} - If the api returns errors
|
|
121
|
-
* @example
|
|
122
|
-
* // Find layers with a name that starts with "test" and a scale_min between 1 and 10
|
|
123
|
-
* // See Api documentation for search query syntax
|
|
124
|
-
* const search = {
|
|
125
|
-
* name: '^:test',
|
|
126
|
-
* scale_min: ['>:1', '<:10'],
|
|
127
|
-
* };
|
|
128
|
-
*
|
|
129
|
-
* api.layers.list({perPage: 10, search});
|
|
130
|
-
*/
|
|
131
|
-
list (params = {}) {
|
|
132
|
-
const resolver = this._buildResolver(params);
|
|
133
|
-
|
|
134
|
-
return resolver.getPage(resolver.page);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Get the resource lister
|
|
139
|
-
*
|
|
140
|
-
* @param {object|RequestParameters} parameters - parameters
|
|
141
|
-
* @param {number} maxRows - Maximum amount of rows
|
|
142
|
-
* @returns {ResourceLister} - Resource lister
|
|
143
|
-
*/
|
|
144
|
-
lister (parameters = {}, maxRows = 50) {
|
|
145
|
-
return new ResourceLister(this.api, this.baseUrl, this.Target, parameters, maxRows, this.Target.resourceUrlKey);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// @todo disabled for now due to it promoting bad practices
|
|
149
|
-
// /**
|
|
150
|
-
// * Get all the resources
|
|
151
|
-
// * Please note that you might hit the rate limiter if you use this method. Make sure to cache it's result.
|
|
152
|
-
// *
|
|
153
|
-
// * @param {object|RequestParameters} parameters - parameters
|
|
154
|
-
// * @returns {Promise<ResourceBase[]>} - All the resources
|
|
155
|
-
// * @throws {ApiError} - If the api returns errors
|
|
156
|
-
// */
|
|
157
|
-
// async all(parameters = {}) {
|
|
158
|
-
// const page = await this.list(parameters);
|
|
159
|
-
// const promises = [];
|
|
160
|
-
//
|
|
161
|
-
// for (let i = 2; i <= page.pageCount; i++) {
|
|
162
|
-
// promises.push(page.getPage(i));
|
|
163
|
-
// }
|
|
164
|
-
//
|
|
165
|
-
// const results = await Promise.all(promises);
|
|
166
|
-
//
|
|
167
|
-
// return results.reduce((a, v) => a.concat(v.data), [...page.data]);
|
|
168
|
-
// }
|
|
169
|
-
|
|
170
|
-
_buildResolver (params = {}) {
|
|
171
|
-
const paramType = typeof params;
|
|
172
|
-
const url = this.baseUrl;
|
|
173
|
-
|
|
174
|
-
if (!['number', 'object'].includes(paramType)) {
|
|
175
|
-
throw new TypeError(`Expected params to be of type number or object. Got "${paramType}"`);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if (paramType === 'number') {
|
|
179
|
-
return this._buildResolver({ page: params });
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
if (!(params instanceof RequestParameters)) {
|
|
183
|
-
params = new RequestParameters(params);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
return new PaginatedResourceListing(this._api, url, this.Target, params);
|
|
187
|
-
}
|
|
188
|
-
}
|
package/src/proxy/index.js
DELETED
|
@@ -1,37 +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
|
-
export { default as GeoResourceProxy } from './GeoResourceProxy';
|
|
34
|
-
export { default as OrganisationProxy } from './OrganisationProxy';
|
|
35
|
-
export { default as OwnedResourceProxy } from './OwnedResourceProxy';
|
|
36
|
-
export { default as ResourceProxy } from './ResourceProxy';
|
|
37
|
-
export { default as SimpleResourceProxy } from './SimpleResourceProxy';
|
|
@@ -1,66 +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 DownloadedResource from './base/DownloadedResource';
|
|
34
|
-
import ResourceBase from './base/ResourceBase';
|
|
35
|
-
import { makeCancelable } from '../utils/helpers';
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Choropleth resource
|
|
39
|
-
*/
|
|
40
|
-
export default class Choropleth extends ResourceBase {
|
|
41
|
-
static get resourceName () {
|
|
42
|
-
return 'choropleths';
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Get the inset map json
|
|
47
|
-
* @returns {CancelablePromise<Object>} - Choropleth json
|
|
48
|
-
* @throws {ApiError} - If the api returns errors
|
|
49
|
-
*/
|
|
50
|
-
getJson () {
|
|
51
|
-
return makeCancelable(signal => this.api.ky.get(`${this.url}/json`, { signal }).json());
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Download the choropleth preview
|
|
56
|
-
* @returns {CancelablePromise<DownloadedResource>} - Choropleth preview
|
|
57
|
-
* @throws {ApiError} - If the api returns errors
|
|
58
|
-
*/
|
|
59
|
-
downloadPreview () {
|
|
60
|
-
return makeCancelable(async signal => {
|
|
61
|
-
const response = await this.api.ky.get(`${this.url}/preview`, { signal });
|
|
62
|
-
|
|
63
|
-
return DownloadedResource.fromResponse(response);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|