@mapcreator/api 3.3.1 → 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
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type ApiJobData, type Job, jobRevivers } from './job.js';
|
|
2
|
+
import {
|
|
3
|
+
APIMeta,
|
|
4
|
+
type ApiError,
|
|
5
|
+
type ApiSuccess,
|
|
6
|
+
type Revivers,
|
|
7
|
+
defaultListHeader,
|
|
8
|
+
getSearchParams,
|
|
9
|
+
request,
|
|
10
|
+
} from '../utils.js';
|
|
11
|
+
|
|
12
|
+
export interface JobSearchResult {
|
|
13
|
+
pageCount: number;
|
|
14
|
+
data: Job[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export async function listJobs(
|
|
18
|
+
pathname: string,
|
|
19
|
+
title: string,
|
|
20
|
+
page: number,
|
|
21
|
+
searchOptions?: Record<string, unknown>,
|
|
22
|
+
): Promise<JobSearchResult> {
|
|
23
|
+
const defaultSearchOptions = {
|
|
24
|
+
sort: '-updated',
|
|
25
|
+
only_downloaded: false,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const search = { ...defaultSearchOptions, ...searchOptions };
|
|
29
|
+
|
|
30
|
+
const query = getSearchParams({
|
|
31
|
+
only_with_revisions: true,
|
|
32
|
+
search: {
|
|
33
|
+
job_type_id: '9',
|
|
34
|
+
...(title.length > 0 && { title: `~:${title}` }),
|
|
35
|
+
},
|
|
36
|
+
...search,
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const path = `${pathname}?${query}`;
|
|
40
|
+
|
|
41
|
+
const headers = {
|
|
42
|
+
...defaultListHeader,
|
|
43
|
+
'X-Page': `${page}`,
|
|
44
|
+
};
|
|
45
|
+
const options = {
|
|
46
|
+
revivers: jobRevivers as Revivers<ApiJobArray, Job>,
|
|
47
|
+
withMeta: true,
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
type ApiJobArray = {
|
|
51
|
+
data: ApiJobData[];
|
|
52
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
53
|
+
|
|
54
|
+
const result = (await request<ApiJobArray, Job>(path, null, headers, options).catch(
|
|
55
|
+
(error: Error) => {
|
|
56
|
+
if (error instanceof APIMeta) {
|
|
57
|
+
const { data, headers, status } = error as APIMeta<ApiJobArray, Job>;
|
|
58
|
+
|
|
59
|
+
return { data, headers, status };
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
throw error;
|
|
63
|
+
},
|
|
64
|
+
)) as APIMeta<ApiJobArray, Job>;
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
data: result.data,
|
|
68
|
+
pageCount: Number(result.headers.get('X-Paginate-Pages')),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ApiCommonData,
|
|
3
|
+
type ApiError,
|
|
4
|
+
type ApiSuccess,
|
|
5
|
+
type Flatten,
|
|
6
|
+
ensureArray,
|
|
7
|
+
getSearchParams,
|
|
8
|
+
request,
|
|
9
|
+
toAppType,
|
|
10
|
+
} from '../utils.js';
|
|
11
|
+
import type { FeatureCollection, Polygon } from 'geojson';
|
|
12
|
+
import type { SnakeCase } from 'type-fest';
|
|
13
|
+
|
|
14
|
+
type FieldName = 'id' | 'name' | 'description' | 'previewJson' | 'previewPath';
|
|
15
|
+
|
|
16
|
+
const processGroupData = (group: GroupChoropleth): GroupChoropleth => ({
|
|
17
|
+
...group,
|
|
18
|
+
...group.nativeParentTranslation && { nativeParentTranslation: toAppType(group.nativeParentTranslation) },
|
|
19
|
+
...group.nativeRelationTranslation && { nativeRelationTranslation: toAppType(group.nativeRelationTranslation) },
|
|
20
|
+
...group.englishParentTranslation && { englishParentTranslation: toAppType(group.englishParentTranslation) },
|
|
21
|
+
...group.englishRelationTranslation && { englishRelationTranslation: toAppType(group.englishRelationTranslation) },
|
|
22
|
+
...group.parentTranslations && { parentTranslations: ensureArray(group.parentTranslations).map(toAppType) },
|
|
23
|
+
...group.relationTranslations && { relationTranslations: ensureArray(group.relationTranslations).map(toAppType) },
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const processPolygonData = (polygon: PolygonChoropleth): PolygonChoropleth => ({
|
|
27
|
+
...polygon,
|
|
28
|
+
...polygon.parentGroups && { parentGroups: ensureArray(polygon.parentGroups).map(toAppType).map(processGroupData) },
|
|
29
|
+
...polygon.nativeTranslation && { nativeTranslation: toAppType(polygon.nativeTranslation) },
|
|
30
|
+
...polygon.englishTranslation && { englishTranslation: toAppType(polygon.englishTranslation) },
|
|
31
|
+
...polygon.translations && { translations: ensureArray(polygon.translations).map(toAppType) },
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export type PartialVectorChoropleth = Pick<VectorChoropleth, FieldName>;
|
|
35
|
+
|
|
36
|
+
export type VectorChoropleth = {
|
|
37
|
+
id: number;
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
previewPath: string | null;
|
|
41
|
+
previewJson: FeatureCollection | null;
|
|
42
|
+
|
|
43
|
+
vectorSetUrl: string;
|
|
44
|
+
sourceLayerName: string;
|
|
45
|
+
|
|
46
|
+
lngMin: number;
|
|
47
|
+
lngMax: number;
|
|
48
|
+
latMin: number;
|
|
49
|
+
latMax: number;
|
|
50
|
+
|
|
51
|
+
keys: string[];
|
|
52
|
+
properties: Array<Record<string, unknown>>;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export type ApiVectorChoropleth = {
|
|
56
|
+
data: {
|
|
57
|
+
id: number;
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
preview_path: string | null;
|
|
61
|
+
preview_json: FeatureCollection | null;
|
|
62
|
+
|
|
63
|
+
vector_set_url: string;
|
|
64
|
+
source_layer_name: string;
|
|
65
|
+
|
|
66
|
+
lng_min: number;
|
|
67
|
+
lng_max: number;
|
|
68
|
+
lat_min: number;
|
|
69
|
+
lat_max: number;
|
|
70
|
+
|
|
71
|
+
keys: string[];
|
|
72
|
+
properties: Array<Record<string, unknown>>;
|
|
73
|
+
} & ApiCommonData;
|
|
74
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
75
|
+
|
|
76
|
+
export type ApiVectorChoroplethData = Flatten<Exclude<ApiVectorChoropleth, ApiError>['data']>;
|
|
77
|
+
|
|
78
|
+
export async function listVectorChoropleths(name: string): Promise<PartialVectorChoropleth[]> {
|
|
79
|
+
const pathname = `/v1/choropleths/vector`;
|
|
80
|
+
const query = getSearchParams({ search: { name } });
|
|
81
|
+
const path = `${pathname}?${query}`;
|
|
82
|
+
|
|
83
|
+
type ApiVectorChoroplethArray = {
|
|
84
|
+
data: Array<Pick<ApiVectorChoroplethData, SnakeCase<FieldName>>>;
|
|
85
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
86
|
+
|
|
87
|
+
return request<ApiVectorChoroplethArray, PartialVectorChoropleth>(path);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export async function getVectorChoropleth(choroplethId: number): Promise<VectorChoropleth> {
|
|
91
|
+
const path = `/v1/choropleths/vector/${choroplethId}`;
|
|
92
|
+
|
|
93
|
+
return request<ApiVectorChoropleth, VectorChoropleth>(path);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export type SearchBounds = {
|
|
97
|
+
min_lat: number;
|
|
98
|
+
min_lng: number;
|
|
99
|
+
max_lat: number;
|
|
100
|
+
max_lng: number;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export type PolygonChoropleth = {
|
|
104
|
+
sml: string;
|
|
105
|
+
id: number;
|
|
106
|
+
vectorSource: string;
|
|
107
|
+
sourceLayer: string;
|
|
108
|
+
featureId: number;
|
|
109
|
+
previewPath: string;
|
|
110
|
+
allowSingle: boolean;
|
|
111
|
+
properties: Record<string, unknown>;
|
|
112
|
+
boundingBox: Polygon;
|
|
113
|
+
restrictedOwnership: number[] | null;
|
|
114
|
+
linkId: number | null;
|
|
115
|
+
cloning: boolean;
|
|
116
|
+
nativeTranslation: {
|
|
117
|
+
polygonId: number;
|
|
118
|
+
name: string;
|
|
119
|
+
};
|
|
120
|
+
englishTranslation?: {
|
|
121
|
+
polygonId: number;
|
|
122
|
+
name: string;
|
|
123
|
+
};
|
|
124
|
+
translations?: Array<{
|
|
125
|
+
polygonId: number;
|
|
126
|
+
language: string;
|
|
127
|
+
name: string;
|
|
128
|
+
}>;
|
|
129
|
+
parentGroups: GroupChoropleth[];
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export type ApiPolygonChoropleth = {
|
|
133
|
+
data: {
|
|
134
|
+
sml: string;
|
|
135
|
+
id: number;
|
|
136
|
+
vector_source: string;
|
|
137
|
+
source_layer: string;
|
|
138
|
+
feature_id: number;
|
|
139
|
+
preview_path: string;
|
|
140
|
+
allow_single: boolean;
|
|
141
|
+
properties: Record<string, unknown>;
|
|
142
|
+
bounding_box: Polygon;
|
|
143
|
+
restricted_ownership: number[] | null;
|
|
144
|
+
link_id: number | null;
|
|
145
|
+
cloning: boolean;
|
|
146
|
+
native_translation: {
|
|
147
|
+
polygon_id: number;
|
|
148
|
+
name: string;
|
|
149
|
+
};
|
|
150
|
+
english_translation?: {
|
|
151
|
+
polygon_id: number;
|
|
152
|
+
name: string;
|
|
153
|
+
};
|
|
154
|
+
translations?: Array<{
|
|
155
|
+
polygon_id: number;
|
|
156
|
+
language: string;
|
|
157
|
+
name: string;
|
|
158
|
+
}>;
|
|
159
|
+
parent_groups: ApiGroupChoroplethData[];
|
|
160
|
+
} & ApiCommonData;
|
|
161
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
162
|
+
|
|
163
|
+
export type ApiPolygonChoroplethData = Flatten<Exclude<ApiPolygonChoropleth, ApiError>['data']>;
|
|
164
|
+
|
|
165
|
+
export async function listPolygonChoropleths(
|
|
166
|
+
name: string,
|
|
167
|
+
languages: string[],
|
|
168
|
+
searchBounds?: SearchBounds,
|
|
169
|
+
withParentGroups = false,
|
|
170
|
+
): Promise<PolygonChoropleth[]> {
|
|
171
|
+
const pathname = `/v1/choropleth/polygons`;
|
|
172
|
+
const query = getSearchParams(
|
|
173
|
+
{
|
|
174
|
+
search: { name, allow_single: true },
|
|
175
|
+
with_parent_groups: withParentGroups,
|
|
176
|
+
languages,
|
|
177
|
+
...searchBounds,
|
|
178
|
+
},
|
|
179
|
+
);
|
|
180
|
+
const path = `${pathname}?${query}`;
|
|
181
|
+
|
|
182
|
+
type ApiPolygonChoroplethArray = {
|
|
183
|
+
data: ApiPolygonChoroplethData[];
|
|
184
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
185
|
+
|
|
186
|
+
return request<ApiPolygonChoroplethArray, PolygonChoropleth>(path).then(polygons => polygons.map(processPolygonData));
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export type GroupChoropleth = {
|
|
190
|
+
id: number;
|
|
191
|
+
polygonId: number;
|
|
192
|
+
relationId: number;
|
|
193
|
+
childrenCount: number;
|
|
194
|
+
sml?: string;
|
|
195
|
+
previewPath: string;
|
|
196
|
+
uniqueProperties: string[];
|
|
197
|
+
boundingBox: Polygon;
|
|
198
|
+
partialProperties: string[];
|
|
199
|
+
restrictedOwnership: number[] | null;
|
|
200
|
+
linkId: number | null;
|
|
201
|
+
cloning: boolean;
|
|
202
|
+
laravelThroughKey?: number;
|
|
203
|
+
nativeParentTranslation: {
|
|
204
|
+
polygonId: number;
|
|
205
|
+
name: string;
|
|
206
|
+
laravelThroughKey: number;
|
|
207
|
+
};
|
|
208
|
+
nativeRelationTranslation: {
|
|
209
|
+
relationId: number;
|
|
210
|
+
name: string;
|
|
211
|
+
laravelThroughKey: number;
|
|
212
|
+
};
|
|
213
|
+
englishParentTranslation?: {
|
|
214
|
+
polygonId: number;
|
|
215
|
+
name: string;
|
|
216
|
+
laravelThroughKey: number;
|
|
217
|
+
};
|
|
218
|
+
englishRelationTranslation?: {
|
|
219
|
+
relationId: number;
|
|
220
|
+
name: string;
|
|
221
|
+
laravelThroughKey: number;
|
|
222
|
+
};
|
|
223
|
+
parentTranslations?: Array<{
|
|
224
|
+
polygonId: number;
|
|
225
|
+
name: string;
|
|
226
|
+
language: string;
|
|
227
|
+
laravelThroughKey: number;
|
|
228
|
+
}>;
|
|
229
|
+
relationTranslations?: Array<{
|
|
230
|
+
relationId: number;
|
|
231
|
+
name: string;
|
|
232
|
+
language: string;
|
|
233
|
+
laravelThroughKey: number;
|
|
234
|
+
}>;
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
export type ApiGroupChoropleth = {
|
|
238
|
+
data: {
|
|
239
|
+
id: number;
|
|
240
|
+
polygon_id: number;
|
|
241
|
+
relation_id: number;
|
|
242
|
+
children_count: number;
|
|
243
|
+
sml?: number;
|
|
244
|
+
preview_path: string;
|
|
245
|
+
unique_properties: string[];
|
|
246
|
+
bounding_box: Polygon;
|
|
247
|
+
partial_properties: string[];
|
|
248
|
+
restricted_ownership: number[] | null;
|
|
249
|
+
link_id: number | null;
|
|
250
|
+
cloning: boolean;
|
|
251
|
+
laravel_through_key?: number;
|
|
252
|
+
native_parent_translation: {
|
|
253
|
+
polygon_id: number;
|
|
254
|
+
name: string;
|
|
255
|
+
laravel_through_key: number;
|
|
256
|
+
};
|
|
257
|
+
native_relation_translation: {
|
|
258
|
+
relation_id: number;
|
|
259
|
+
name: string;
|
|
260
|
+
laravel_through_key: number;
|
|
261
|
+
};
|
|
262
|
+
english_parent_translation?: {
|
|
263
|
+
polygon_id: number;
|
|
264
|
+
name: string;
|
|
265
|
+
laravel_through_key: number;
|
|
266
|
+
};
|
|
267
|
+
english_relation_translation?: {
|
|
268
|
+
relation_id: number;
|
|
269
|
+
name: string;
|
|
270
|
+
laravel_through_key: number;
|
|
271
|
+
};
|
|
272
|
+
parent_translations?: Array<{
|
|
273
|
+
polygon_id: number;
|
|
274
|
+
name: string;
|
|
275
|
+
language: string;
|
|
276
|
+
laravel_through_key: number;
|
|
277
|
+
}>;
|
|
278
|
+
relation_translations?: Array<{
|
|
279
|
+
relation_id: number;
|
|
280
|
+
name: string;
|
|
281
|
+
language: string;
|
|
282
|
+
laravel_through_key: number;
|
|
283
|
+
}>;
|
|
284
|
+
} & ApiCommonData;
|
|
285
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
286
|
+
|
|
287
|
+
export type ApiGroupChoroplethData = Flatten<Exclude<ApiGroupChoropleth, ApiError>['data']>;
|
|
288
|
+
|
|
289
|
+
export async function listGroupChoropleths(
|
|
290
|
+
name: string,
|
|
291
|
+
languages: string[],
|
|
292
|
+
searchBounds?: SearchBounds,
|
|
293
|
+
): Promise<GroupChoropleth[]> {
|
|
294
|
+
const pathname = `/v1/choropleth/groups`;
|
|
295
|
+
const query = getSearchParams({ search: { name }, languages, ...searchBounds });
|
|
296
|
+
const path = `${pathname}?${query}`;
|
|
297
|
+
|
|
298
|
+
type ApiGroupChoroplethArray = {
|
|
299
|
+
data: ApiGroupChoroplethData[];
|
|
300
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
301
|
+
|
|
302
|
+
return request<ApiGroupChoroplethArray, GroupChoropleth>(path).then(groups => groups.map(processGroupData));
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export async function listChildrenGroupChoropleths(
|
|
306
|
+
groupId: number,
|
|
307
|
+
languages: string[],
|
|
308
|
+
): Promise<PolygonChoropleth[]> {
|
|
309
|
+
const pathname = `/v1/choropleth/groups/${groupId}/children`;
|
|
310
|
+
const query = getSearchParams({ languages });
|
|
311
|
+
const path = `${pathname}?${query}`;
|
|
312
|
+
|
|
313
|
+
type ApiPolygonChoroplethArray = {
|
|
314
|
+
data: ApiPolygonChoroplethData[];
|
|
315
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
316
|
+
|
|
317
|
+
return request<ApiPolygonChoroplethArray, PolygonChoropleth>(path).then(polygons => polygons.map(processPolygonData));
|
|
318
|
+
}
|
package/src/api/color.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ApiCommonData, ApiError, ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type Color = {
|
|
4
|
+
id: number;
|
|
5
|
+
hex: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type ApiColor = {
|
|
9
|
+
data: {
|
|
10
|
+
id: number; // The color id (sortable)
|
|
11
|
+
name: string; // The name of the color (searchable, sortable)
|
|
12
|
+
hex: string; // The hex value of the color (searchable, sortable)
|
|
13
|
+
order?: number; // TODO: not present in API specification!
|
|
14
|
+
} & ApiCommonData;
|
|
15
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
16
|
+
|
|
17
|
+
export type ApiColorData = Flatten<Exclude<ApiColor, ApiError>['data']>;
|
|
18
|
+
|
|
19
|
+
export const colorRevivers: Revivers<ApiColor, Color> = {
|
|
20
|
+
name: undefined,
|
|
21
|
+
order: undefined,
|
|
22
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ApiCommonData, ApiError, ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type Unit =
|
|
4
|
+
| 'millimeter'
|
|
5
|
+
| 'centimeter'
|
|
6
|
+
| 'inch'
|
|
7
|
+
| 'pixel'
|
|
8
|
+
| 'pica'
|
|
9
|
+
| 'kilometer'
|
|
10
|
+
| 'mile'
|
|
11
|
+
| 'nauticalMile'
|
|
12
|
+
| 'foot'
|
|
13
|
+
| 'meter';
|
|
14
|
+
|
|
15
|
+
export type Dimension = {
|
|
16
|
+
id: number;
|
|
17
|
+
dimensionSetId: number;
|
|
18
|
+
name: string;
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
dpi: number;
|
|
22
|
+
unit: Unit;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export type ApiDimension = {
|
|
26
|
+
data: {
|
|
27
|
+
id: number; // The dimension id (sortable)
|
|
28
|
+
dimension_set_id: number; // The id of the dimension set
|
|
29
|
+
name: string; // The name of dimension (searchable, sortable)
|
|
30
|
+
width: number; // The width of the dimension (searchable, sortable)
|
|
31
|
+
height: number; // The height of the dimension (searchable, sortable)
|
|
32
|
+
dpi: number; // The dpi of the dimension
|
|
33
|
+
unit: string; // The unit of this dimension
|
|
34
|
+
} & ApiCommonData;
|
|
35
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
36
|
+
|
|
37
|
+
export type ApiDimensionData = Flatten<Exclude<ApiDimension, ApiError>['data']>;
|
|
38
|
+
|
|
39
|
+
const keyToUnit: { [key: string]: Unit } = {
|
|
40
|
+
MM: 'millimeter',
|
|
41
|
+
CM: 'centimeter',
|
|
42
|
+
IN: 'inch',
|
|
43
|
+
PX: 'pixel',
|
|
44
|
+
PICA: 'pica',
|
|
45
|
+
KM: 'kilometer',
|
|
46
|
+
MI: 'mile',
|
|
47
|
+
NM: 'nauticalMile',
|
|
48
|
+
FT: 'foot',
|
|
49
|
+
M: 'meter',
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const dimensionRevivers: Revivers<ApiDimension, Dimension> = {
|
|
53
|
+
unit: (data: ApiDimensionData) => keyToUnit[data.unit],
|
|
54
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ApiCommonData, ApiError, ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type DimensionSet = {
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type ApiDimensionSet = {
|
|
9
|
+
data: {
|
|
10
|
+
id: number; // The dimension set id (sortable)
|
|
11
|
+
name: string; // The dimension set name (searchable, sortable)
|
|
12
|
+
order?: number; // TODO: not present in API specification!
|
|
13
|
+
} & ApiCommonData;
|
|
14
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
15
|
+
|
|
16
|
+
export type ApiDimensionSetData = Flatten<Exclude<ApiDimensionSet, ApiError>['data']>;
|
|
17
|
+
|
|
18
|
+
export const dimensionSetRevivers: Revivers<ApiDimensionSet, DimensionSet> = {
|
|
19
|
+
order: undefined,
|
|
20
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ApiCommonData, ApiError, ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type Feature = {
|
|
4
|
+
id: number;
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type ApiFeature = {
|
|
9
|
+
data: {
|
|
10
|
+
id: number; // The feature id
|
|
11
|
+
name: string; // The feature name (searchable, sortable)
|
|
12
|
+
description: string; // The description of the feature (searchable, sortable)
|
|
13
|
+
order?: number; // TODO: not present in API specification!
|
|
14
|
+
} & ApiCommonData;
|
|
15
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
16
|
+
|
|
17
|
+
export type ApiFeatureData = Flatten<Exclude<ApiFeature, ApiError>['data']>;
|
|
18
|
+
|
|
19
|
+
export const featureRevivers: Revivers<ApiFeature, Feature> = {
|
|
20
|
+
description: undefined,
|
|
21
|
+
order: undefined,
|
|
22
|
+
};
|
package/src/api/font.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ApiCommonData, ApiError, ApiSuccess, Flatten, Revivers } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
export type Font = {
|
|
4
|
+
id: number;
|
|
5
|
+
fontFamilyId: number;
|
|
6
|
+
name: string;
|
|
7
|
+
label: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type ApiFont = {
|
|
11
|
+
data: {
|
|
12
|
+
id: number; // The id of the font (sortable)
|
|
13
|
+
font_family_id: number; // The id of the font family
|
|
14
|
+
name: string; // The name of the font (searchable, sortable)
|
|
15
|
+
style: string; // The font style (searchable, sortable)
|
|
16
|
+
stretch: string; // The font stretch (searchable, sortable)
|
|
17
|
+
weight: number; // The font weight (searchable, sortable)
|
|
18
|
+
label: string; // The label of the font (searchable, sortable)
|
|
19
|
+
order?: number; // TODO: not present in API specification!
|
|
20
|
+
} & ApiCommonData;
|
|
21
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
22
|
+
|
|
23
|
+
export type ApiFontData = Flatten<Exclude<ApiFont, ApiError>['data']>;
|
|
24
|
+
|
|
25
|
+
export const fontRevivers: Revivers<ApiFont, Font> = {
|
|
26
|
+
style: undefined,
|
|
27
|
+
stretch: undefined,
|
|
28
|
+
weight: undefined,
|
|
29
|
+
order: undefined,
|
|
30
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type ApiFontData, type Font, fontRevivers } from './font.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 FontFamily = {
|
|
14
|
+
id: number;
|
|
15
|
+
name: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type ApiFontFamily = {
|
|
19
|
+
data: {
|
|
20
|
+
id: number; // The id of the font family (sortable)
|
|
21
|
+
name: string; // The name of the font family (searchable, sortable)
|
|
22
|
+
order?: number; // TODO: not present in API specification!
|
|
23
|
+
} & ApiCommonData;
|
|
24
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
25
|
+
|
|
26
|
+
export type ApiFontFamilyData = Flatten<Exclude<ApiFontFamily, ApiError>['data']>;
|
|
27
|
+
|
|
28
|
+
export const fontFamilyRevivers: Revivers<ApiFontFamily, FontFamily> = {
|
|
29
|
+
order: undefined,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export async function listFontFamilyFonts(fontFamilyId: number): Promise<Font[]> {
|
|
33
|
+
const pathname = `/v1/fonts/families/${fontFamilyId}/items`;
|
|
34
|
+
const query = getSearchParams({ sort: 'order' });
|
|
35
|
+
const path = `${pathname}?${query}`;
|
|
36
|
+
const options = { revivers: fontRevivers };
|
|
37
|
+
|
|
38
|
+
type ApiFontArray = {
|
|
39
|
+
data: ApiFontData[];
|
|
40
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
41
|
+
|
|
42
|
+
return request<ApiFontArray, Font>(path, null, defaultListHeader, options);
|
|
43
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { FeatureCollection } from 'geojson';
|
|
2
|
+
import type { SnakeCase } from 'type-fest';
|
|
3
|
+
import {
|
|
4
|
+
type ApiCommonData,
|
|
5
|
+
type ApiError,
|
|
6
|
+
type ApiSuccess,
|
|
7
|
+
type Flatten,
|
|
8
|
+
getSearchParams,
|
|
9
|
+
request,
|
|
10
|
+
} from '../utils.js';
|
|
11
|
+
|
|
12
|
+
type FieldName = 'id' | 'name' | 'description' | 'previewPath' | 'previewJson';
|
|
13
|
+
|
|
14
|
+
export type PartialVectorHighlight = Pick<VectorHighlight, FieldName>;
|
|
15
|
+
|
|
16
|
+
export type VectorHighlight = {
|
|
17
|
+
id: number;
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
previewPath: string | null;
|
|
21
|
+
previewJson: FeatureCollection | null;
|
|
22
|
+
|
|
23
|
+
vectorSetUrl: string;
|
|
24
|
+
sourceLayerName: string;
|
|
25
|
+
|
|
26
|
+
lngMin: number;
|
|
27
|
+
lngMax: number;
|
|
28
|
+
latMin: number;
|
|
29
|
+
latMax: number;
|
|
30
|
+
|
|
31
|
+
keys: string[];
|
|
32
|
+
properties: Record<string, unknown>;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type ApiVectorHighlight = {
|
|
36
|
+
data: {
|
|
37
|
+
id: number;
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
preview_path: string | null;
|
|
41
|
+
preview_json: FeatureCollection | null;
|
|
42
|
+
|
|
43
|
+
vector_set_url: string;
|
|
44
|
+
source_layer_name: string;
|
|
45
|
+
|
|
46
|
+
lng_min: number;
|
|
47
|
+
lng_max: number;
|
|
48
|
+
lat_min: number;
|
|
49
|
+
lat_max: number;
|
|
50
|
+
|
|
51
|
+
keys: string[];
|
|
52
|
+
properties: Record<string, unknown>;
|
|
53
|
+
} & ApiCommonData;
|
|
54
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
55
|
+
|
|
56
|
+
export type ApiVectorHighlightData = Flatten<Exclude<ApiVectorHighlight, ApiError>['data']>;
|
|
57
|
+
|
|
58
|
+
export async function listVectorHighlights(name: string): Promise<PartialVectorHighlight[]> {
|
|
59
|
+
const pathname = `/v1/highlights/vector`;
|
|
60
|
+
const query = getSearchParams({ search: { name } });
|
|
61
|
+
const path = `${pathname}?${query}`;
|
|
62
|
+
|
|
63
|
+
type ApiVectorHighlightArray = {
|
|
64
|
+
data: Array<Pick<ApiVectorHighlightData, SnakeCase<FieldName>>>;
|
|
65
|
+
} & Omit<ApiSuccess, 'data'> | ApiError;
|
|
66
|
+
|
|
67
|
+
return request<ApiVectorHighlightArray, PartialVectorHighlight>(path);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export async function getVectorHighlight(highlightId: number): Promise<VectorHighlight> {
|
|
71
|
+
const path = `/v1/highlights/vector/${highlightId}`;
|
|
72
|
+
|
|
73
|
+
return request<ApiVectorHighlight, VectorHighlight>(path);
|
|
74
|
+
}
|