@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
|
@@ -1,484 +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 { camel as camelCase, snake as snakeCase } from 'case';
|
|
34
|
-
import { AbstractClassError, AbstractError } from '../../errors/AbstractError';
|
|
35
|
-
import Mapcreator from '../../Mapcreator';
|
|
36
|
-
import SimpleResourceProxy from '../../proxy/SimpleResourceProxy';
|
|
37
|
-
import Injectable from '../../traits/Injectable';
|
|
38
|
-
import { fnv32b } from '../../utils/hash';
|
|
39
|
-
import { isParentOf, mix } from '../../utils/reflection';
|
|
40
|
-
import { clone, makeCancelable } from '../../utils/helpers';
|
|
41
|
-
|
|
42
|
-
function unique (input) {
|
|
43
|
-
return input.filter((v, i) => input.findIndex(vv => vv === v) === i);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Resource base
|
|
48
|
-
* @abstract
|
|
49
|
-
*/
|
|
50
|
-
export default class ResourceBase extends mix(null, Injectable) {
|
|
51
|
-
/**
|
|
52
|
-
* @param {Mapcreator} api - Api instance
|
|
53
|
-
* @param {Object<String, *>} data - Item data
|
|
54
|
-
* @param {String} [altUrl] - Internal use, Optional alternative url for more complex routing
|
|
55
|
-
*/
|
|
56
|
-
constructor (api, data = {}, altUrl = null) {
|
|
57
|
-
super();
|
|
58
|
-
|
|
59
|
-
if (this.constructor === ResourceBase) {
|
|
60
|
-
throw new AbstractClassError();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (altUrl) {
|
|
64
|
-
this.__baseUrl = altUrl;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
this.api = api;
|
|
68
|
-
|
|
69
|
-
// De-reference
|
|
70
|
-
data = clone(data);
|
|
71
|
-
|
|
72
|
-
// Normalize keys to snake_case
|
|
73
|
-
// Fix data types
|
|
74
|
-
for (const key of Object.keys(data)) {
|
|
75
|
-
const newKey = snakeCase(key);
|
|
76
|
-
|
|
77
|
-
if (camelCase(newKey) in this) {
|
|
78
|
-
delete data[key];
|
|
79
|
-
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
data[newKey] = this._guessType(newKey, data[key]);
|
|
84
|
-
|
|
85
|
-
if (newKey !== key) {
|
|
86
|
-
delete data[key];
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
this._baseProperties = data || {};
|
|
91
|
-
this._properties = {};
|
|
92
|
-
this._api = api;
|
|
93
|
-
|
|
94
|
-
const fields = Object.keys(this._baseProperties);
|
|
95
|
-
|
|
96
|
-
// Apply properties
|
|
97
|
-
for (const key of fields) {
|
|
98
|
-
this._applyProperty(key);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Add deleted field if possible
|
|
102
|
-
if (fields.includes('deleted_at')) {
|
|
103
|
-
Object.defineProperty(this, 'deleted', {
|
|
104
|
-
enumerable: true,
|
|
105
|
-
configurable: true,
|
|
106
|
-
|
|
107
|
-
get: () => Boolean(this.deletedAt),
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/* We keep track of any new fields by recording the
|
|
112
|
-
* keys the object currently has. We don't need no
|
|
113
|
-
* fancy-pants observers, Proxies etc.
|
|
114
|
-
* snake_case only
|
|
115
|
-
*/
|
|
116
|
-
this._knownFields = Object.keys(this).filter(x => x[0] !== '_');
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Get api instance
|
|
121
|
-
* @returns {Mapcreator} - Api instance
|
|
122
|
-
*/
|
|
123
|
-
get api () {
|
|
124
|
-
return this._api;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Set the api instance
|
|
129
|
-
* @param {Mapcreator} value - Api instance
|
|
130
|
-
*/
|
|
131
|
-
set api (value) {
|
|
132
|
-
if (!isParentOf(Mapcreator, value)) {
|
|
133
|
-
throw new TypeError('Expected api to be of type Mapcreator or null');
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
this._api = value;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Resource path template
|
|
141
|
-
* @returns {String} - Path template
|
|
142
|
-
*/
|
|
143
|
-
static get resourcePath () {
|
|
144
|
-
return `/${this.resourceName}/{id}`;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Resource name
|
|
149
|
-
* @returns {String} - Resource name
|
|
150
|
-
* @abstract
|
|
151
|
-
*/
|
|
152
|
-
static get resourceName () {
|
|
153
|
-
throw new AbstractError();
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Returns the url key of the resource
|
|
158
|
-
* @returns {String} - Resource key
|
|
159
|
-
*/
|
|
160
|
-
static get resourceUrlKey () {
|
|
161
|
-
return 'id';
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Protected read-only fields
|
|
166
|
-
* @returns {Array<string>} - Array containing protected read-only fields
|
|
167
|
-
* @protected
|
|
168
|
-
*/
|
|
169
|
-
static get protectedFields () {
|
|
170
|
-
return ['id', 'created_at', 'updated_at', 'deleted_at'];
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Returns if the resource is readonly
|
|
175
|
-
* @returns {boolean} - Readonly
|
|
176
|
-
*/
|
|
177
|
-
static get readonly () {
|
|
178
|
-
return false;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Moves new fields to this._properties and turns them into a getter/setter
|
|
183
|
-
* @protected
|
|
184
|
-
*/
|
|
185
|
-
_updateProperties () {
|
|
186
|
-
// Build a list of new fields
|
|
187
|
-
let fields = Object.keys(this)
|
|
188
|
-
.filter(x => x[0] !== '_')
|
|
189
|
-
.filter(x => !this._knownFields.includes(x));
|
|
190
|
-
|
|
191
|
-
// Move the pointer from this to the properties object
|
|
192
|
-
for (const key of fields) {
|
|
193
|
-
const newKey = snakeCase(key);
|
|
194
|
-
|
|
195
|
-
this._properties[newKey] = this[key];
|
|
196
|
-
delete this[key];
|
|
197
|
-
|
|
198
|
-
this._applyProperty(newKey);
|
|
199
|
-
this._knownFields.push(newKey);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// Build a list of new BaseProperty fields
|
|
203
|
-
fields = Object.keys(this._baseProperties)
|
|
204
|
-
.filter(x => !this._knownFields.includes(camelCase(x)));
|
|
205
|
-
|
|
206
|
-
for (const key of fields) {
|
|
207
|
-
this._applyProperty(key);
|
|
208
|
-
this._knownFields.push(key);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
this._knownFields = unique(this._knownFields);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Clean up instance and commit all changes locally.
|
|
216
|
-
* This means that any changed fields will be marked
|
|
217
|
-
* as unchanged whilst keeping their new values. The
|
|
218
|
-
* changes will not be saved.
|
|
219
|
-
*/
|
|
220
|
-
sanitize () {
|
|
221
|
-
this._updateProperties();
|
|
222
|
-
Object.assign(this._baseProperties, this._properties);
|
|
223
|
-
this._properties = {};
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Resets model instance to it's original state
|
|
228
|
-
* @param {Array<string>|string|null} [fields=null] - Fields to reset, defaults to all fields
|
|
229
|
-
*/
|
|
230
|
-
reset (fields = null) {
|
|
231
|
-
this._updateProperties();
|
|
232
|
-
|
|
233
|
-
if (typeof fields === 'string') {
|
|
234
|
-
this.reset([fields]);
|
|
235
|
-
} else if (fields === null) {
|
|
236
|
-
this._properties = {}; // Delete all
|
|
237
|
-
} else if (Array.isArray(fields)) {
|
|
238
|
-
fields
|
|
239
|
-
.map(String)
|
|
240
|
-
.map(snakeCase)
|
|
241
|
-
.forEach(field => delete this._properties[field]);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Clone the object
|
|
247
|
-
* @returns {ResourceBase} - Exact clone of the object
|
|
248
|
-
*/
|
|
249
|
-
clone () {
|
|
250
|
-
this._updateProperties();
|
|
251
|
-
|
|
252
|
-
const out = new this.constructor(this.api, this._baseProperties);
|
|
253
|
-
|
|
254
|
-
for (const key of Object.keys(this._properties)) {
|
|
255
|
-
out[key] = this._properties[key];
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return out;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* Refresh the resource by requesting it from the server again
|
|
263
|
-
* @param {Boolean} updateSelf - Update the current instance
|
|
264
|
-
* @returns {CancelablePromise<ResourceBase>} - Refreshed instance
|
|
265
|
-
* @throws {ApiError} - If the api returns errors
|
|
266
|
-
*/
|
|
267
|
-
refresh (updateSelf = true) {
|
|
268
|
-
return makeCancelable(async signal => {
|
|
269
|
-
const { data } = await this.api.ky.get(this.url, { signal }).json();
|
|
270
|
-
|
|
271
|
-
if (updateSelf) {
|
|
272
|
-
this._properties = {};
|
|
273
|
-
this._baseProperties = data;
|
|
274
|
-
|
|
275
|
-
this._updateProperties();
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
return new this.constructor(this._api, data);
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Create proxy for property
|
|
284
|
-
* @param {string} key - property key
|
|
285
|
-
* @private
|
|
286
|
-
*/
|
|
287
|
-
_applyProperty (key) {
|
|
288
|
-
const desc = {
|
|
289
|
-
enumerable: true,
|
|
290
|
-
configurable: true,
|
|
291
|
-
|
|
292
|
-
get: () => {
|
|
293
|
-
if (this._properties.hasOwnProperty(key)) {
|
|
294
|
-
return this._properties[key];
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
return this._baseProperties[key];
|
|
298
|
-
},
|
|
299
|
-
};
|
|
300
|
-
|
|
301
|
-
if (!this.constructor.protectedFields.includes(key) && !this.constructor.readonly) {
|
|
302
|
-
desc.set = val => {
|
|
303
|
-
this._properties[key] = this._guessType(key, val);
|
|
304
|
-
delete this._url; // Clears url cache
|
|
305
|
-
};
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
const newKey = camelCase(key);
|
|
309
|
-
|
|
310
|
-
Object.defineProperty(this, newKey, desc);
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Guess type based on property name
|
|
315
|
-
* @param {string} name - Field name
|
|
316
|
-
* @param {*} value - Field Value
|
|
317
|
-
* @protected
|
|
318
|
-
* @returns {*} - Original or converted value
|
|
319
|
-
*/
|
|
320
|
-
_guessType (name, value) {
|
|
321
|
-
if (name.endsWith('_at') || name.startsWith('date_')) {
|
|
322
|
-
return typeof value === 'string' ? new Date(value.replace(' ', 'T')) : value;
|
|
323
|
-
} else if (/(_|^)id$/.test(name) && value !== null) {
|
|
324
|
-
return Number.isFinite(Number(value)) ? Number(value) : value;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
return value;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* If the resource can be owned by an organisation
|
|
332
|
-
* @returns {boolean} - Can be owned by an organisation
|
|
333
|
-
*/
|
|
334
|
-
get ownable () {
|
|
335
|
-
return false;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Auto generated resource url
|
|
340
|
-
* @returns {string} - Resource url
|
|
341
|
-
*/
|
|
342
|
-
get url () {
|
|
343
|
-
if (!this._url) {
|
|
344
|
-
let url = `${this._api.url}${this.constructor.resourcePath}`;
|
|
345
|
-
|
|
346
|
-
// Find and replace any keys
|
|
347
|
-
url = url.replace(/{(\w+)}/g, (match, key) => this[camelCase(key)]);
|
|
348
|
-
|
|
349
|
-
this._url = url;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
return this._url;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Auto generated Resource base url
|
|
357
|
-
* @returns {string} - Resource base url
|
|
358
|
-
*/
|
|
359
|
-
get baseUrl () {
|
|
360
|
-
if (!this.__baseUrl) {
|
|
361
|
-
const basePath = this.constructor.resourcePath.match(/^(\/[^{]+\b)/)[1];
|
|
362
|
-
|
|
363
|
-
this.__baseUrl = `${this._api.url}${basePath}`;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
return this.__baseUrl;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* List fields that contain object data
|
|
371
|
-
* @returns {Array<String>} - A list of fields
|
|
372
|
-
*/
|
|
373
|
-
get fieldNames () {
|
|
374
|
-
const keys = unique([
|
|
375
|
-
...Object.keys(this._baseProperties),
|
|
376
|
-
...Object.keys(this._properties),
|
|
377
|
-
]);
|
|
378
|
-
|
|
379
|
-
return keys.map(camelCase);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* String representation of the resource, similar to Python's __repr__
|
|
384
|
-
* @returns {string} - Resource name and id
|
|
385
|
-
*/
|
|
386
|
-
toString () {
|
|
387
|
-
return `${this.constructor.name}(${this[this.resourceUrlKey]})`;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
/**
|
|
391
|
-
* Transform instance to object
|
|
392
|
-
* @param {boolean} [camelCaseKeys=false] - camelCase object keys
|
|
393
|
-
* @returns {{}} - Object
|
|
394
|
-
*/
|
|
395
|
-
toObject (camelCaseKeys = false) {
|
|
396
|
-
this._updateProperties();
|
|
397
|
-
|
|
398
|
-
const out = { ...this._baseProperties, ...this._properties };
|
|
399
|
-
|
|
400
|
-
if (camelCaseKeys) {
|
|
401
|
-
for (const key of Object.keys(out)) {
|
|
402
|
-
const ccKey = camelCase(key);
|
|
403
|
-
|
|
404
|
-
if (key !== ccKey) {
|
|
405
|
-
out[ccKey] = out[key];
|
|
406
|
-
|
|
407
|
-
delete out[key];
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
return out;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
/**
|
|
416
|
-
* Macro for resource listing
|
|
417
|
-
* @param {string|Class<ResourceBase>} Target - Target object
|
|
418
|
-
* @param {?String} url - Target url, if null it will guess
|
|
419
|
-
* @param {object} seedData - Internal use, used for seeding SimpleResourceProxy::new
|
|
420
|
-
* @returns {SimpleResourceProxy} - A proxy for accessing the resource
|
|
421
|
-
* @protected
|
|
422
|
-
*/
|
|
423
|
-
_proxyResourceList (Target, url = null, seedData = {}) {
|
|
424
|
-
if (!url) {
|
|
425
|
-
url = `${Target.resourceName.replace(/s+$/, '')}s`;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
if (typeof url === 'string' && !url.startsWith('/') && !url.match(/https?:/)) {
|
|
429
|
-
url = `${this.url}/${url}`;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
return new SimpleResourceProxy(this.api, Target, url, seedData);
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
/**
|
|
436
|
-
* Static proxy generation
|
|
437
|
-
* @param {string|Class} Target - Constructor or url
|
|
438
|
-
* @param {Class?} Constructor - Constructor for a resource that the results should be cast to
|
|
439
|
-
* @param {Object<string, *>} seedData - Optional data to seed the resolved resources
|
|
440
|
-
* @returns {SimpleResourceProxy} - A proxy for accessing the resource
|
|
441
|
-
* @example
|
|
442
|
-
* user.static('jobs').lister();
|
|
443
|
-
*
|
|
444
|
-
* @example
|
|
445
|
-
* class FooBar extends ResourceBase {
|
|
446
|
-
* static get resourceName() {
|
|
447
|
-
* return 'custom';
|
|
448
|
-
* }
|
|
449
|
-
* }
|
|
450
|
-
*
|
|
451
|
-
* api.static(FooBar)
|
|
452
|
-
* .get(1)
|
|
453
|
-
* .then(console.log);
|
|
454
|
-
*/
|
|
455
|
-
static (Target, Constructor = ResourceBase, seedData = {}) {
|
|
456
|
-
let url;
|
|
457
|
-
|
|
458
|
-
if (typeof Target === 'string') {
|
|
459
|
-
url = `${this.url}/${Target}`;
|
|
460
|
-
|
|
461
|
-
const name = Constructor.name || 'AnonymousResource';
|
|
462
|
-
|
|
463
|
-
Target = class AnonymousResource extends Constructor {
|
|
464
|
-
static get resourceName () {
|
|
465
|
-
return Object.getPrototypeOf(this).resourceName || 'anonymous';
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
static get resourcePath () {
|
|
469
|
-
return url;
|
|
470
|
-
}
|
|
471
|
-
};
|
|
472
|
-
|
|
473
|
-
Object.defineProperty(Target, 'name', {
|
|
474
|
-
value: `${name}_${fnv32b(url)}`,
|
|
475
|
-
});
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
if (!isParentOf(ResourceBase, Target)) {
|
|
479
|
-
throw new TypeError('Expected Target to be of type String or ResourceBase constructor');
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
return this._proxyResourceList(Target, url, seedData);
|
|
483
|
-
}
|
|
484
|
-
}
|
package/src/resources/index.js
DELETED
|
@@ -1,81 +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 Choropleth } from './Choropleth';
|
|
34
|
-
export { default as Color } from './Color';
|
|
35
|
-
export { default as Contract } from './Contract';
|
|
36
|
-
export { default as Dimension } from './Dimension';
|
|
37
|
-
export { default as DimensionSet } from './DimensionSet';
|
|
38
|
-
export { default as Domain } from './Domain';
|
|
39
|
-
export { default as Faq } from './Faq';
|
|
40
|
-
export { default as Feature } from './Feature';
|
|
41
|
-
export { default as Font } from './Font';
|
|
42
|
-
export { default as FontFamily } from './FontFamily';
|
|
43
|
-
export { default as Highlight } from './Highlight';
|
|
44
|
-
export { default as InsetMap } from './InsetMap';
|
|
45
|
-
export { default as Job } from './Job';
|
|
46
|
-
export { default as JobResult } from './JobResult';
|
|
47
|
-
export { default as JobRevision } from './JobRevision';
|
|
48
|
-
export { default as JobShare } from './JobShare';
|
|
49
|
-
export { default as JobType } from './JobType';
|
|
50
|
-
export { default as Language } from './Language';
|
|
51
|
-
export { default as Layer } from './Layer';
|
|
52
|
-
export { default as LayerFaq } from './LayerFaq';
|
|
53
|
-
export { default as LayerGroup } from './LayerGroup';
|
|
54
|
-
export { default as Mapstyle } from './Mapstyle';
|
|
55
|
-
export { default as MapstyleSet } from './MapstyleSet';
|
|
56
|
-
export { default as Message } from './Message';
|
|
57
|
-
export { default as Notification } from './Notification';
|
|
58
|
-
export { default as Organisation } from './Organisation';
|
|
59
|
-
export { default as OrganisationNote } from './OrganisationNote';
|
|
60
|
-
export { default as Permission } from './Permission';
|
|
61
|
-
export { default as ProductTour } from './ProductTour';
|
|
62
|
-
export { default as ProductTourStep } from './ProductTourStep';
|
|
63
|
-
export { default as Role } from './Role';
|
|
64
|
-
export { default as Svg } from './Svg';
|
|
65
|
-
export { default as SvgSet } from './SvgSet';
|
|
66
|
-
export { default as Tag } from './Tag';
|
|
67
|
-
export { default as TagType } from './TagType';
|
|
68
|
-
export { default as User } from './User';
|
|
69
|
-
export { default as VectorHighlight } from './VectorHighlight';
|
|
70
|
-
export { default as VectorChoropleth } from './VectorChoropleth';
|
|
71
|
-
|
|
72
|
-
import CrudBase from './base/CrudBase';
|
|
73
|
-
import CrudSetBase from './base/CrudSetBase';
|
|
74
|
-
import ResourceBase from './base/ResourceBase';
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* @private
|
|
78
|
-
*/
|
|
79
|
-
export const base = {
|
|
80
|
-
CrudBase, CrudSetBase, ResourceBase,
|
|
81
|
-
};
|
|
@@ -1,136 +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 { isNode } from '../utils/node';
|
|
34
|
-
import DataStoreContract from './DataStoreContract';
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @private
|
|
38
|
-
* @todo fix
|
|
39
|
-
*/
|
|
40
|
-
export default class CookiesDriver extends DataStoreContract {
|
|
41
|
-
constructor (prefix = '_m4n_') {
|
|
42
|
-
super();
|
|
43
|
-
|
|
44
|
-
this.__prefix = prefix;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Cookie name prefix
|
|
49
|
-
* @returns {String} - Prefix
|
|
50
|
-
* @private
|
|
51
|
-
*/
|
|
52
|
-
get _prefix () {
|
|
53
|
-
return this.__prefix;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* @inheritDoc
|
|
58
|
-
*/
|
|
59
|
-
static get secure () {
|
|
60
|
-
return window.location.protocol === 'https:';
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* @inheritDoc
|
|
65
|
-
*/
|
|
66
|
-
static get available () {
|
|
67
|
-
return !isNode();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Store a value in the storage
|
|
72
|
-
* @param {String} name - value name
|
|
73
|
-
* @param {*} value - value
|
|
74
|
-
* @param {Date|String} [expires=2050-01-01] - Expiration date
|
|
75
|
-
*/
|
|
76
|
-
set (name, value, expires = new Date('2050-01-01')) {
|
|
77
|
-
name = encodeURIComponent(this._prefix + name);
|
|
78
|
-
value = encodeURIComponent(value);
|
|
79
|
-
|
|
80
|
-
if (expires instanceof Date) {
|
|
81
|
-
expires = expires.toUTCString();
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
let cookie = `${name}=${value}; expires=${expires}`;
|
|
85
|
-
|
|
86
|
-
if (CookiesDriver.secure) {
|
|
87
|
-
cookie += '; secure';
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
document.cookie = cookie;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* @inheritDoc
|
|
95
|
-
*/
|
|
96
|
-
get (name) {
|
|
97
|
-
name = this._prefix + name;
|
|
98
|
-
|
|
99
|
-
return this._toObject()[name];
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* @inheritDoc
|
|
104
|
-
*/
|
|
105
|
-
remove (name) {
|
|
106
|
-
this.set(name, '', new Date(1970));
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* @inheritDoc
|
|
111
|
-
*/
|
|
112
|
-
keys () {
|
|
113
|
-
const regex = new RegExp(`^${this._prefix}`);
|
|
114
|
-
|
|
115
|
-
return Object.keys(this._toObject()).map(x => x.replace(regex, ''));
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Extract cookies and turn them into a object
|
|
120
|
-
* @returns {Object} - cookies
|
|
121
|
-
* @private
|
|
122
|
-
*/
|
|
123
|
-
_toObject () {
|
|
124
|
-
const cookies = {};
|
|
125
|
-
|
|
126
|
-
document.cookie
|
|
127
|
-
.split(';')
|
|
128
|
-
.map(x => x.trim().split('=').map(decodeURIComponent))
|
|
129
|
-
.filter(x => x[0].startsWith(this._prefix))
|
|
130
|
-
.forEach(x => {
|
|
131
|
-
cookies[x[0]] = x[1];
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
return cookies;
|
|
135
|
-
}
|
|
136
|
-
}
|