@mapcreator/api 3.3.1 → 5.0.0-alpha.13
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 +64 -0
- package/cjs/api/jobRevision.d.ts.map +1 -0
- package/cjs/api/jobRevision.js +74 -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 +64 -0
- package/esm/api/jobRevision.d.ts.map +1 -0
- package/esm/api/jobRevision.js +64 -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 +69 -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 +200 -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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ApiCommonData, ApiError, ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type MapstyleSet = {
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
supportsSvg: boolean;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type ApiMapstyleSet = {
|
|
10
|
+
data: {
|
|
11
|
+
id: number; // The id of the mapstyle set (sortable)
|
|
12
|
+
name: string; // The name of the mapstyle set (searchable, sortable)
|
|
13
|
+
description: string; // The description of the set (searchable, sortable)
|
|
14
|
+
supports_svg: boolean; // If the set supports svg (searchable, sortable)
|
|
15
|
+
job_type_id: number; // The id of the job type (searchable)
|
|
16
|
+
preview_lat: number; // The latitude for the preview image
|
|
17
|
+
preview_lon: number; // The longitude for the preview image
|
|
18
|
+
preview_language_code: string; // The language code of the preview
|
|
19
|
+
world_cache: string | null; // The name of the world cache (sortable)
|
|
20
|
+
world_cache_max_zoom: number | null; // The max zoom level of the world cache (sortable)
|
|
21
|
+
css: string | null; // Custom CSS for the MapstyleSet (sortable)
|
|
22
|
+
locator_ready: boolean; // If the set can be used as locator (searchable, sortable)
|
|
23
|
+
show_underlying_elements: boolean; // Shows elements even if behind annotations
|
|
24
|
+
ace_on_osm: boolean; // Use OSM source as data for ACE maps (searchable, sortable)
|
|
25
|
+
order?: number; // TODO: not present in API specification!
|
|
26
|
+
custom_settings?: string | null; // TODO: not present in API specification!
|
|
27
|
+
} & ApiCommonData;
|
|
28
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
29
|
+
|
|
30
|
+
export type ApiMapstyleSetData = Flatten<Exclude<ApiMapstyleSet, ApiError>['data']>;
|
|
31
|
+
|
|
32
|
+
export const mapstyleSetRevivers: Revivers<ApiMapstyleSet, MapstyleSet> = {
|
|
33
|
+
description: undefined,
|
|
34
|
+
job_type_id: undefined,
|
|
35
|
+
preview_lat: undefined,
|
|
36
|
+
preview_lon: undefined,
|
|
37
|
+
preview_language_code: undefined,
|
|
38
|
+
world_cache: undefined,
|
|
39
|
+
world_cache_max_zoom: undefined,
|
|
40
|
+
css: undefined,
|
|
41
|
+
locator_ready: undefined,
|
|
42
|
+
show_underlying_elements: undefined,
|
|
43
|
+
ace_on_osm: undefined,
|
|
44
|
+
order: undefined,
|
|
45
|
+
custom_settings: undefined,
|
|
46
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ApiCommon,
|
|
3
|
+
type ApiCommonData,
|
|
4
|
+
type ApiError,
|
|
5
|
+
type ApiSuccess,
|
|
6
|
+
type Flatten,
|
|
7
|
+
type Revivers,
|
|
8
|
+
request,
|
|
9
|
+
} from '../utils.js';
|
|
10
|
+
|
|
11
|
+
export type Message = {
|
|
12
|
+
index: number;
|
|
13
|
+
image: string;
|
|
14
|
+
date: string;
|
|
15
|
+
read: boolean;
|
|
16
|
+
type: 'New feature' | 'Announcement';
|
|
17
|
+
video: boolean;
|
|
18
|
+
title: string;
|
|
19
|
+
text: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
type ApiMessageVariant = {
|
|
23
|
+
language_code: string;
|
|
24
|
+
content: string;
|
|
25
|
+
title: string;
|
|
26
|
+
} & ApiCommonData;
|
|
27
|
+
|
|
28
|
+
export type ApiMessage = {
|
|
29
|
+
data: {
|
|
30
|
+
id: number; // The message id (sortable)
|
|
31
|
+
media_url: string; // The media url for this message (searchable, sortable)
|
|
32
|
+
style: string; // TODO: not present in API specification!
|
|
33
|
+
publish_at: string | null; // TODO: not present in API specification!
|
|
34
|
+
ends_at: string | null; // TODO: not present in API specification!
|
|
35
|
+
variants: ApiMessageVariant[];
|
|
36
|
+
} & ApiCommonData;
|
|
37
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
38
|
+
|
|
39
|
+
export type ApiMessageData = Flatten<Exclude<ApiMessage, ApiError>['data']>;
|
|
40
|
+
|
|
41
|
+
const parseVideo = (url: string, id = getYoutubeVideoId(url)): string =>
|
|
42
|
+
(id ? `https://www.youtube.com/embed/${id}` : url);
|
|
43
|
+
|
|
44
|
+
export const messageRevivers: Revivers<ApiMessage, Message> = {
|
|
45
|
+
id: undefined,
|
|
46
|
+
media_url: undefined,
|
|
47
|
+
style: undefined,
|
|
48
|
+
publish_at: undefined,
|
|
49
|
+
ends_at: undefined,
|
|
50
|
+
variants: undefined,
|
|
51
|
+
|
|
52
|
+
index: (data: ApiMessageData) => data.id,
|
|
53
|
+
image: (data: ApiMessageData) => parseVideo(data.media_url),
|
|
54
|
+
date: (data: ApiMessageData) => data.created_at as string,
|
|
55
|
+
read: () => false,
|
|
56
|
+
type: (data: ApiMessageData) => (data.style === 'regular' ? 'New feature' : 'Announcement'),
|
|
57
|
+
video: (data: ApiMessageData) => data.media_url.includes('www.youtube.com'),
|
|
58
|
+
title: (data: ApiMessageData) => data.variants[0].title,
|
|
59
|
+
text: (data: ApiMessageData) => data.variants[0].content,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export async function markMessageAsRead(messageId: number): Promise<Record<string, never>> {
|
|
63
|
+
const path = `/v1/messages/${messageId}/read`;
|
|
64
|
+
|
|
65
|
+
return request<ApiCommon, Record<string, never>>(path, null, null, { method: 'PUT' });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function getYoutubeVideoId(url: string): string | undefined {
|
|
69
|
+
url = url.trim();
|
|
70
|
+
|
|
71
|
+
// Reference prefixed with a $ or video id
|
|
72
|
+
if (/^\$?[\w\-_]+$/.test(url)) {
|
|
73
|
+
return url;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const regex =
|
|
77
|
+
/(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([\w\-_]+)&?/;
|
|
78
|
+
|
|
79
|
+
return (regex.exec(url) || [])[1];
|
|
80
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { ApiJobShareArray, JobShare } from './jobShare.js';
|
|
2
|
+
import { type JobSearchResult, listJobs } from './apiCommon.js';
|
|
3
|
+
import {
|
|
4
|
+
type ApiCommonData,
|
|
5
|
+
type ApiError,
|
|
6
|
+
type ApiSuccess,
|
|
7
|
+
type Flatten,
|
|
8
|
+
type Revivers,
|
|
9
|
+
defaultListHeader,
|
|
10
|
+
getSearchParams,
|
|
11
|
+
myOrganisations,
|
|
12
|
+
request,
|
|
13
|
+
} from '../utils.js';
|
|
14
|
+
|
|
15
|
+
export type Organisation = {
|
|
16
|
+
id: number;
|
|
17
|
+
credits: number;
|
|
18
|
+
settings: string | null;
|
|
19
|
+
vectorToken: string;
|
|
20
|
+
trialExpiresAt: string | undefined;
|
|
21
|
+
exportTemplates: string;
|
|
22
|
+
hasContract: boolean;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export type ApiOrganisation = {
|
|
26
|
+
data: {
|
|
27
|
+
id: number; // The id of the organisation (sortable)
|
|
28
|
+
name: string; // The name of the organisation (searchable, sortable)
|
|
29
|
+
manager_id: number; // The id of the manager of the organisation (searchable)
|
|
30
|
+
sales_representative_id: number | null; // The id of the sales representative (searchable)
|
|
31
|
+
credits: number; // The credits of the organisation (searchable, sortable)
|
|
32
|
+
country: string | null; // The country where the organisation is from (searchable, sortable)
|
|
33
|
+
address: string | null; // The address of the organisation (searchable, sortable)
|
|
34
|
+
city: string | null; // The city of the organisation (searchable, sortable)
|
|
35
|
+
settings: string | null; // An object with settings for the organisations
|
|
36
|
+
vector_token: string; // The vector API token of the organisation
|
|
37
|
+
tiles_on_domain: boolean; // TODO: not present in API specification!
|
|
38
|
+
trial_expires_at: string | null; // The datetime when the user's trial expires
|
|
39
|
+
parent_id: number | null; // TODO: not present in API specification!
|
|
40
|
+
hatching_pattern_svg_set_id: number | null; // A svg set that overrides the default h-pattern
|
|
41
|
+
template_settings: string | null; // TODO: not present in API specification!
|
|
42
|
+
hasContract: boolean; // TODO: not present in API specification!
|
|
43
|
+
} & ApiCommonData;
|
|
44
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
45
|
+
|
|
46
|
+
export type ApiOrganisationData = Flatten<Exclude<ApiOrganisation, ApiError>['data']>;
|
|
47
|
+
|
|
48
|
+
export const organisationRevivers: Revivers<ApiOrganisation, Organisation> = {
|
|
49
|
+
name: undefined,
|
|
50
|
+
manager_id: undefined,
|
|
51
|
+
sales_representative_id: undefined,
|
|
52
|
+
country: undefined,
|
|
53
|
+
address: undefined,
|
|
54
|
+
city: undefined,
|
|
55
|
+
tiles_on_domain: undefined,
|
|
56
|
+
parent_id: undefined,
|
|
57
|
+
hatching_pattern_svg_set_id: undefined,
|
|
58
|
+
template_settings: undefined,
|
|
59
|
+
|
|
60
|
+
trialExpiresAt: (data: ApiOrganisationData) => data.trial_expires_at ?? undefined,
|
|
61
|
+
exportTemplates: (data: ApiOrganisationData) => data.template_settings ?? '{}',
|
|
62
|
+
hasContract: (data: ApiOrganisationData) => data.hasContract ?? false,
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export async function getOrganisation(): Promise<Organisation> {
|
|
66
|
+
const path = `/v1/organisations/${myOrganisations}`;
|
|
67
|
+
const options = { revivers: organisationRevivers };
|
|
68
|
+
|
|
69
|
+
return request<ApiOrganisation, Organisation>(path, null, null, options);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export async function listOrganisationJobs(
|
|
73
|
+
organisationId: number,
|
|
74
|
+
title: string,
|
|
75
|
+
shared: boolean,
|
|
76
|
+
page: number,
|
|
77
|
+
options?: Record<string, unknown>,
|
|
78
|
+
): Promise<JobSearchResult> {
|
|
79
|
+
const search = { ...options, ...{ hidePrivate: true, shared } };
|
|
80
|
+
|
|
81
|
+
return listJobs(`/v1/organisations/${organisationId}/jobs`, title, page, search);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export async function listOrganisationShares(jobId: number): Promise<JobShare[]> {
|
|
85
|
+
const pathname = `/v1/organisations/${myOrganisations}/shares`;
|
|
86
|
+
const query = getSearchParams({
|
|
87
|
+
search: {
|
|
88
|
+
job_id: `=:${jobId}`,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
const path = `${pathname}?${query}`;
|
|
92
|
+
|
|
93
|
+
return request<ApiJobShareArray, JobShare>(path, null, defaultListHeader);
|
|
94
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { type ApiOrganisationData, type Organisation, organisationRevivers } from './organisation.js';
|
|
2
|
+
import { type ApiDimensionSetData, type DimensionSet, dimensionSetRevivers } from './dimensionSet.js';
|
|
3
|
+
import { type ApiMapstyleSetData, type MapstyleSet, mapstyleSetRevivers } from './mapstyleSet.js';
|
|
4
|
+
import { type ApiDimensionData, type Dimension, dimensionRevivers } from './dimension.js';
|
|
5
|
+
import { type ApiFeatureData, type Feature, featureRevivers } from './feature.js';
|
|
6
|
+
import { type ApiJobTypeData, type JobType, jobTypeRevivers } from './jobType.js';
|
|
7
|
+
import { type ApiMessageData, type Message, messageRevivers } from './message.js';
|
|
8
|
+
import { type ApiSvg, type ApiSvgData, type Svg, svgRevivers } from './svg.js';
|
|
9
|
+
import { type ApiColorData, type Color, colorRevivers } from './color.js';
|
|
10
|
+
import { type ApiUserData, type User, userRevivers } from './user.js';
|
|
11
|
+
import type { CamelCasedProperties } from 'type-fest';
|
|
12
|
+
import {
|
|
13
|
+
type ApiCommon,
|
|
14
|
+
type ApiCommonData,
|
|
15
|
+
type ApiError,
|
|
16
|
+
type ApiSuccess,
|
|
17
|
+
type Revivers,
|
|
18
|
+
getContext,
|
|
19
|
+
myUser,
|
|
20
|
+
processData,
|
|
21
|
+
request,
|
|
22
|
+
} from '../utils.js';
|
|
23
|
+
|
|
24
|
+
export type CustomFeature =
|
|
25
|
+
| 'custom_dpi'
|
|
26
|
+
| 'disable_company_maps'
|
|
27
|
+
| 'eps_plus_log'
|
|
28
|
+
| 'filename_is_job_title'
|
|
29
|
+
| 'iframe_sandbox_attributes'
|
|
30
|
+
| 'keep_layer_visibility'
|
|
31
|
+
| 'no_copyright'
|
|
32
|
+
| 'only_shared_company_maps'
|
|
33
|
+
| 'pdf_output'
|
|
34
|
+
| 'show_frelex_links'
|
|
35
|
+
| 'svg_output'
|
|
36
|
+
| 'tiff_output'
|
|
37
|
+
| 'video_export'
|
|
38
|
+
| 'web_output'
|
|
39
|
+
| 'web_download'
|
|
40
|
+
| 'new_single_and_grouped_areas_menu'
|
|
41
|
+
| 'export_templates'
|
|
42
|
+
| 'hosted_svg_output'
|
|
43
|
+
| 'hosted_png_output'
|
|
44
|
+
| 'hosted_jpg_output';
|
|
45
|
+
|
|
46
|
+
export interface Resources {
|
|
47
|
+
organisation: Organisation;
|
|
48
|
+
user: User;
|
|
49
|
+
features: CustomFeature[];
|
|
50
|
+
colors: Color[];
|
|
51
|
+
svgs: Svg[];
|
|
52
|
+
dimensions: Dimension[];
|
|
53
|
+
dimensionSets: DimensionSet[];
|
|
54
|
+
mapstyleSets: MapstyleSet[];
|
|
55
|
+
jobTypes: JobType[];
|
|
56
|
+
hatchingSvgs: Svg[];
|
|
57
|
+
messages: Message[];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
type ApiResources = {
|
|
61
|
+
data: {
|
|
62
|
+
user: ApiUserData;
|
|
63
|
+
organisation: ApiOrganisationData;
|
|
64
|
+
features: ApiFeatureData[];
|
|
65
|
+
colors: ApiColorData[];
|
|
66
|
+
svgs: ApiSvgData[];
|
|
67
|
+
messages: {
|
|
68
|
+
read: ApiMessageData[];
|
|
69
|
+
unread: ApiMessageData[];
|
|
70
|
+
};
|
|
71
|
+
dimensions: ApiDimensionData[];
|
|
72
|
+
dimension_sets: ApiDimensionSetData[];
|
|
73
|
+
mapstyle_sets: ApiMapstyleSetData[];
|
|
74
|
+
hatching_svgs?: ApiSvgData[];
|
|
75
|
+
job_types: ApiJobTypeData[];
|
|
76
|
+
} & ApiCommonData;
|
|
77
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
78
|
+
|
|
79
|
+
export type ApiResourcesData = Exclude<ApiResources, ApiError>['data'];
|
|
80
|
+
|
|
81
|
+
export type FillPattern = {
|
|
82
|
+
name: string;
|
|
83
|
+
string: string;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export async function loadResources(): Promise<Resources> {
|
|
87
|
+
const path = `/v1/users/${myUser}/resources`;
|
|
88
|
+
const raw = await request<ApiResources, CamelCasedProperties<ApiResourcesData>>(path);
|
|
89
|
+
|
|
90
|
+
const { user, organisation, messages: { read, unread } } = raw;
|
|
91
|
+
const readMessages = read.map(processData, getContext(messageRevivers)) as Message[];
|
|
92
|
+
const unreadMessages = unread.map(processData, getContext(messageRevivers)) as Message[];
|
|
93
|
+
|
|
94
|
+
readMessages.sort((m1, m2) => m2.date.localeCompare(m1.date));
|
|
95
|
+
unreadMessages.sort((m1, m2) => m2.date.localeCompare(m1.date));
|
|
96
|
+
|
|
97
|
+
readMessages.forEach(message => (message.read = true));
|
|
98
|
+
|
|
99
|
+
const mcSvgRevivers: Revivers<ApiSvg, Svg> = {
|
|
100
|
+
...svgRevivers,
|
|
101
|
+
name: (data: ApiSvgData) => `mc-image-${data.name}`,
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
return {
|
|
105
|
+
// @ts-expect-error TS2345
|
|
106
|
+
user: processData.call(getContext(userRevivers), user) as User,
|
|
107
|
+
// @ts-expect-error TS2345
|
|
108
|
+
organisation: processData.call(getContext(organisationRevivers), organisation) as Organisation,
|
|
109
|
+
|
|
110
|
+
features: (raw.features.map(processData, getContext(featureRevivers)) as Feature[]).map(
|
|
111
|
+
feature => feature.name,
|
|
112
|
+
) as CustomFeature[],
|
|
113
|
+
colors: raw.colors.map(processData, getContext(colorRevivers)) as Color[],
|
|
114
|
+
svgs: raw.svgs.map(processData, getContext(mcSvgRevivers)) as Svg[],
|
|
115
|
+
dimensions: raw.dimensions.map(processData, getContext(dimensionRevivers)) as Dimension[],
|
|
116
|
+
dimensionSets: raw.dimensionSets.map(processData, getContext(dimensionSetRevivers)) as DimensionSet[],
|
|
117
|
+
mapstyleSets: raw.mapstyleSets.map(processData, getContext(mapstyleSetRevivers)) as MapstyleSet[],
|
|
118
|
+
jobTypes: raw.jobTypes.map(processData, getContext(jobTypeRevivers)) as JobType[],
|
|
119
|
+
hatchingSvgs: (raw.hatchingSvgs?.map(processData, getContext(svgRevivers)) ?? []) as Svg[],
|
|
120
|
+
messages: [...readMessages, ...unreadMessages],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export async function getCountries(): Promise<string[]> {
|
|
125
|
+
return request<ApiCommon, string, true>(`/v1/resources/countries`);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export async function getFunctions(): Promise<string[]> {
|
|
129
|
+
return request<ApiCommon, string, true>(`/v1/resources/functions`);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export async function getIndustries(): Promise<string[]> {
|
|
133
|
+
return request<ApiCommon, string, true>(`/v1/resources/industries`);
|
|
134
|
+
}
|
package/src/api/svg.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ApiCommonData, type ApiError, type ApiSuccess, type Flatten, type Revivers, request } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type Svg = {
|
|
4
|
+
id: number;
|
|
5
|
+
svgSetId: number;
|
|
6
|
+
name: string;
|
|
7
|
+
string: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type ApiSvg = {
|
|
11
|
+
data: {
|
|
12
|
+
id: number; // The id of the svg (sortable)
|
|
13
|
+
svg_set_id: number; // The id of the svg_set related to this svg
|
|
14
|
+
name: string; // The name of the svg (searchable, sortable)
|
|
15
|
+
string: string; // The XML of the svg
|
|
16
|
+
resize_factor: number; // The number of the resize for svg (searchable, sortable)
|
|
17
|
+
order: number; // The order in which this svg appears in the set (sortable)
|
|
18
|
+
} & ApiCommonData;
|
|
19
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
20
|
+
|
|
21
|
+
export type ApiSvgData = Flatten<Exclude<ApiSvg, ApiError>['data']>;
|
|
22
|
+
|
|
23
|
+
export const svgRevivers: Revivers<ApiSvg, Svg> = {
|
|
24
|
+
resize_factor: undefined,
|
|
25
|
+
order: undefined,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export async function getSvg(svgId: number): Promise<Svg> {
|
|
29
|
+
const path = `/v1/svgs/${svgId}`;
|
|
30
|
+
const options = { revivers: svgRevivers };
|
|
31
|
+
|
|
32
|
+
return request<ApiSvg, Svg>(path, null, null, options);
|
|
33
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type ApiSvgData, type Svg, svgRevivers } from './svg.js';
|
|
2
|
+
import {
|
|
3
|
+
type ApiCommonData,
|
|
4
|
+
type ApiError,
|
|
5
|
+
type ApiSuccess,
|
|
6
|
+
type Flatten,
|
|
7
|
+
type Revivers,
|
|
8
|
+
defaultListHeader,
|
|
9
|
+
getSearchParams,
|
|
10
|
+
request,
|
|
11
|
+
} from '../utils.js';
|
|
12
|
+
|
|
13
|
+
export type SvgSet = {
|
|
14
|
+
id: number;
|
|
15
|
+
name: string;
|
|
16
|
+
type: string;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type ApiSvgSet = {
|
|
20
|
+
data: {
|
|
21
|
+
id: number; // The id of the set (searchable, sortable)
|
|
22
|
+
name: string; // The name of the set (searchable, sortable)
|
|
23
|
+
type: string; // The type of the svg set (searchable, sortable)
|
|
24
|
+
supports_interactive: boolean; // If the set is interactive (searchable, sortable)
|
|
25
|
+
supports_mapcreator: boolean; // If this set can be used on Mapcreator (searchable, sortable)
|
|
26
|
+
supports_v3: boolean; // If this set can be used on v3 (searchable, sortable)
|
|
27
|
+
order?: number; // TODO: not present in API specification!
|
|
28
|
+
} & ApiCommonData;
|
|
29
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
30
|
+
|
|
31
|
+
export type ApiSvgSetData = Flatten<Exclude<ApiSvgSet, ApiError>['data']>;
|
|
32
|
+
|
|
33
|
+
export const svgSetRevivers: Revivers<ApiSvgSet, SvgSet> = {
|
|
34
|
+
supports_interactive: undefined,
|
|
35
|
+
supports_mapcreator: undefined,
|
|
36
|
+
supports_v3: undefined,
|
|
37
|
+
order: undefined,
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export async function listSvgSetSvgs(svgSetId: number): Promise<Svg[]> {
|
|
41
|
+
const pathname = `/v1/svgs/sets/${svgSetId}/items`;
|
|
42
|
+
const query = getSearchParams({
|
|
43
|
+
search: {
|
|
44
|
+
supports_mapcreator: '1',
|
|
45
|
+
},
|
|
46
|
+
sort: 'order,id',
|
|
47
|
+
});
|
|
48
|
+
const path = `${pathname}?${query}`;
|
|
49
|
+
const options = { revivers: svgRevivers };
|
|
50
|
+
|
|
51
|
+
type ApiSvgArray = {
|
|
52
|
+
data: ApiSvgData[];
|
|
53
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
54
|
+
|
|
55
|
+
return request<ApiSvgArray, Svg>(path, null, defaultListHeader, options);
|
|
56
|
+
}
|