@snap/camera-kit 0.16.2 → 0.18.0
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.md +141 -3875
- package/README.md +1 -1
- package/dist/CameraKit.d.ts +334 -0
- package/dist/CameraKit.d.ts.map +1 -0
- package/dist/CameraKit.js +104 -0
- package/dist/CameraKit.js.map +1 -0
- package/dist/benchmark/benchmarkGflops.d.ts +17 -0
- package/dist/benchmark/benchmarkGflops.d.ts.map +1 -0
- package/dist/benchmark/benchmarkGflops.js +116 -0
- package/dist/benchmark/benchmarkGflops.js.map +1 -0
- package/dist/benchmark/estimateLensPerformanceCluster.d.ts +34 -0
- package/dist/benchmark/estimateLensPerformanceCluster.d.ts.map +1 -0
- package/dist/benchmark/estimateLensPerformanceCluster.js +34 -0
- package/dist/benchmark/estimateLensPerformanceCluster.js.map +1 -0
- package/dist/benchmark/webglUtils.d.ts +8 -0
- package/dist/benchmark/webglUtils.d.ts.map +1 -0
- package/dist/bootstrapCameraKit.d.ts +97 -0
- package/dist/bootstrapCameraKit.d.ts.map +1 -0
- package/dist/bootstrapCameraKit.js +117 -0
- package/dist/bootstrapCameraKit.js.map +1 -0
- package/dist/clients/createTsProtoClient.d.ts +41 -0
- package/dist/clients/createTsProtoClient.d.ts.map +1 -0
- package/dist/clients/createTsProtoClient.js +36 -0
- package/dist/clients/createTsProtoClient.js.map +1 -0
- package/dist/clients/grpcHandler.d.ts +27 -0
- package/dist/clients/grpcHandler.d.ts.map +1 -0
- package/dist/clients/grpcHandler.js +79 -0
- package/dist/clients/grpcHandler.js.map +1 -0
- package/dist/clients/lensesClient.d.ts +10 -0
- package/dist/clients/lensesClient.d.ts.map +1 -0
- package/dist/clients/lensesClient.js.map +1 -0
- package/dist/clients/metricsClient.d.ts +27 -0
- package/dist/clients/metricsClient.d.ts.map +1 -0
- package/dist/clients/metricsClient.js +96 -0
- package/dist/clients/metricsClient.js.map +1 -0
- package/dist/common/assertions.d.ts +28 -0
- package/dist/common/assertions.d.ts.map +1 -0
- package/dist/common/assertions.js +14 -0
- package/dist/common/assertions.js.map +1 -0
- package/dist/common/copyDefinedProperties.d.ts +14 -0
- package/dist/common/copyDefinedProperties.d.ts.map +1 -0
- package/dist/common/copyDefinedProperties.js +4 -0
- package/dist/common/copyDefinedProperties.js.map +1 -0
- package/dist/common/date.d.ts +4 -0
- package/dist/common/date.d.ts.map +1 -0
- package/dist/common/dialog.d.ts +60 -0
- package/dist/common/dialog.d.ts.map +1 -0
- package/dist/common/dialog.js +158 -0
- package/dist/common/dialog.js.map +1 -0
- package/dist/common/entries.d.ts +5 -0
- package/dist/common/entries.d.ts.map +1 -0
- package/dist/common/entries.js +3 -0
- package/dist/common/entries.js.map +1 -0
- package/dist/common/errorHelpers.d.ts +18 -0
- package/dist/common/errorHelpers.d.ts.map +1 -0
- package/dist/common/errorHelpers.js +20 -0
- package/dist/common/errorHelpers.js.map +1 -0
- package/dist/common/getFilename.d.ts +2 -0
- package/dist/common/getFilename.d.ts.map +1 -0
- package/dist/common/hash.d.ts +6 -0
- package/dist/common/hash.d.ts.map +1 -0
- package/dist/common/hash.js +13 -0
- package/dist/common/hash.js.map +1 -0
- package/dist/common/loadScript.d.ts +7 -0
- package/dist/common/loadScript.d.ts.map +1 -0
- package/dist/common/loadScript.js +13 -0
- package/dist/common/loadScript.js.map +1 -0
- package/dist/common/localization.d.ts +55 -0
- package/dist/common/localization.d.ts.map +1 -0
- package/dist/common/localization.js +622 -0
- package/dist/common/localization.js.map +1 -0
- package/dist/common/memoize.d.ts +9 -0
- package/dist/common/memoize.d.ts.map +1 -0
- package/dist/common/pageVisibility.d.ts +35 -0
- package/dist/common/pageVisibility.d.ts.map +1 -0
- package/dist/common/pageVisibility.js +52 -0
- package/dist/common/pageVisibility.js.map +1 -0
- package/dist/common/result.d.ts +37 -0
- package/dist/common/result.d.ts.map +1 -0
- package/dist/common/result.js +39 -0
- package/dist/common/result.js.map +1 -0
- package/dist/common/time.d.ts +3 -0
- package/dist/common/time.d.ts.map +1 -0
- package/dist/common/typeguards.d.ts +68 -0
- package/dist/common/typeguards.d.ts.map +1 -0
- package/dist/common/typeguards.js +68 -0
- package/dist/common/typeguards.js.map +1 -0
- package/dist/common/types.d.ts +38 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js.map +1 -0
- package/dist/common/unionBy.d.ts +29 -0
- package/dist/common/unionBy.d.ts.map +1 -0
- package/dist/common/unionBy.js +16 -0
- package/dist/common/unionBy.js.map +1 -0
- package/dist/common/validate.d.ts +16 -0
- package/dist/common/validate.d.ts.map +1 -0
- package/dist/common/validate.js +57 -0
- package/dist/common/validate.js.map +1 -0
- package/dist/configuration.d.ts +102 -0
- package/dist/configuration.d.ts.map +1 -0
- package/dist/configuration.js +30 -0
- package/dist/configuration.js.map +1 -0
- package/dist/configurationOverrides.d.ts +13 -0
- package/dist/configurationOverrides.d.ts.map +1 -0
- package/dist/configurationOverrides.js +38 -0
- package/dist/configurationOverrides.js.map +1 -0
- package/dist/dependency-injection/Container.d.ts +177 -0
- package/dist/dependency-injection/Container.d.ts.map +1 -0
- package/dist/dependency-injection/Container.js +72 -0
- package/dist/dependency-injection/Container.js.map +1 -0
- package/dist/dependency-injection/Injectable.d.ts +96 -0
- package/dist/dependency-injection/Injectable.d.ts.map +1 -0
- package/dist/dependency-injection/Injectable.js.map +1 -0
- package/dist/dependency-injection/PartialContainer.d.ts +86 -0
- package/dist/dependency-injection/PartialContainer.d.ts.map +1 -0
- package/dist/dependency-injection/PartialContainer.js +28 -0
- package/dist/dependency-injection/PartialContainer.js.map +1 -0
- package/dist/dependency-injection/RootServices.d.ts +74 -0
- package/dist/dependency-injection/RootServices.d.ts.map +1 -0
- package/dist/dependency-injection/RootServices.js +2 -0
- package/dist/dependency-injection/RootServices.js.map +1 -0
- package/dist/dependency-injection/types.d.ts +57 -0
- package/dist/dependency-injection/types.d.ts.map +1 -0
- package/dist/dependency-injection/types.js.map +1 -0
- package/dist/environment.d.ts +5 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +2 -0
- package/dist/environment.js.map +1 -0
- package/dist/events/TypedCustomEvent.d.ts +11 -0
- package/dist/events/TypedCustomEvent.d.ts.map +1 -0
- package/dist/events/TypedCustomEvent.js +6 -0
- package/dist/events/TypedCustomEvent.js.map +1 -0
- package/dist/events/TypedEventTarget.d.ts +26 -0
- package/dist/events/TypedEventTarget.d.ts.map +1 -0
- package/dist/events/TypedEventTarget.js +42 -0
- package/dist/events/TypedEventTarget.js.map +1 -0
- package/dist/events/scan.d.ts +18 -0
- package/dist/events/scan.d.ts.map +1 -0
- package/dist/events/scan.js +29 -0
- package/dist/events/scan.js.map +1 -0
- package/dist/extensions/RemoteApiServices.d.ts +88 -0
- package/dist/extensions/RemoteApiServices.d.ts.map +1 -0
- package/dist/extensions/RemoteApiServices.js +155 -0
- package/dist/extensions/RemoteApiServices.js.map +1 -0
- package/dist/extensions/UriHandlers.d.ts +48 -0
- package/dist/extensions/UriHandlers.d.ts.map +1 -0
- package/dist/extensions/UriHandlers.js +34 -0
- package/dist/extensions/UriHandlers.js.map +1 -0
- package/dist/extensions/extensionRequestContext.d.ts +5 -0
- package/dist/extensions/extensionRequestContext.d.ts.map +1 -0
- package/dist/extensions/extensionRequestContext.js +11 -0
- package/dist/extensions/extensionRequestContext.js.map +1 -0
- package/dist/extensions/uriHandlersRegister.d.ts +22 -0
- package/dist/extensions/uriHandlersRegister.d.ts.map +1 -0
- package/dist/extensions/uriHandlersRegister.js +61 -0
- package/dist/extensions/uriHandlersRegister.js.map +1 -0
- package/dist/generated-proto/blizzard/cameraKitEvents.d.ts +9528 -0
- package/dist/generated-proto/blizzard/cameraKitEvents.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +80 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts +529 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +35 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +42 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +30 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +86 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +385 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +179 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +57 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts +2512 -0
- package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +79 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +51 -0
- package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +25575 -0
- package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts +280 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts +3726 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts +10224 -0
- package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +94 -0
- package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts +9 -0
- package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/common/ruid.d.ts +52 -0
- package/dist/generated-proto/pb_schema/common/ruid.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/common/value.d.ts +145 -0
- package/dist/generated-proto/pb_schema/common/value.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.d.ts +2 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.js +8 -0
- package/dist/generated-proto/pb_schema/google/api/annotations.js.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/http.d.ts +3631 -0
- package/dist/generated-proto/pb_schema/google/api/http.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/api/http.js +193 -0
- package/dist/generated-proto/pb_schema/google/api/http.js.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts +33 -0
- package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +50897 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js +1818 -0
- package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +33 -0
- package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +120 -0
- package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts +43 -0
- package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts +33 -0
- package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts +30 -0
- package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts +397 -0
- package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/lures.d.ts +112 -0
- package/dist/generated-proto/pb_schema/lenses/lures.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts +30 -0
- package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +570 -0
- package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/snappable.d.ts +903 -0
- package/dist/generated-proto/pb_schema/lenses/snappable.d.ts.map +1 -0
- package/dist/generated-proto/pb_schema/lenses/user_data.d.ts +230 -0
- package/dist/generated-proto/pb_schema/lenses/user_data.d.ts.map +1 -0
- package/dist/handlers/HandlerChainBuilder.d.ts +111 -0
- package/dist/handlers/HandlerChainBuilder.d.ts.map +1 -0
- package/dist/handlers/HandlerChainBuilder.js +55 -0
- package/dist/handlers/HandlerChainBuilder.js.map +1 -0
- package/dist/handlers/arrayBufferParsingHandler.d.ts +11 -0
- package/dist/handlers/arrayBufferParsingHandler.d.ts.map +1 -0
- package/dist/handlers/arrayBufferParsingHandler.js +13 -0
- package/dist/handlers/arrayBufferParsingHandler.js.map +1 -0
- package/dist/handlers/batchingHandler.d.ts +32 -0
- package/dist/handlers/batchingHandler.d.ts.map +1 -0
- package/dist/handlers/batchingHandler.js +45 -0
- package/dist/handlers/batchingHandler.js.map +1 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts +13 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts.map +1 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.js +14 -0
- package/dist/handlers/cameraKitServiceFetchHandlerFactory.js.map +1 -0
- package/dist/handlers/debugHandler.d.ts +9 -0
- package/dist/handlers/debugHandler.d.ts.map +1 -0
- package/dist/handlers/debugHandler.js +18 -0
- package/dist/handlers/debugHandler.js.map +1 -0
- package/dist/handlers/defaultFetchHandler.d.ts +16 -0
- package/dist/handlers/defaultFetchHandler.d.ts.map +1 -0
- package/dist/handlers/defaultFetchHandler.js +25 -0
- package/dist/handlers/defaultFetchHandler.js.map +1 -0
- package/dist/handlers/headersModifyingFetchHandler.d.ts +9 -0
- package/dist/handlers/headersModifyingFetchHandler.d.ts.map +1 -0
- package/dist/handlers/headersModifyingFetchHandler.js +10 -0
- package/dist/handlers/headersModifyingFetchHandler.js.map +1 -0
- package/dist/handlers/mappingHandler.d.ts +20 -0
- package/dist/handlers/mappingHandler.d.ts.map +1 -0
- package/dist/handlers/mappingHandler.js +44 -0
- package/dist/handlers/mappingHandler.js.map +1 -0
- package/dist/handlers/noCorsRetryingFetchHandler.d.ts +49 -0
- package/dist/handlers/noCorsRetryingFetchHandler.d.ts.map +1 -0
- package/dist/handlers/noCorsRetryingFetchHandler.js +33 -0
- package/dist/handlers/noCorsRetryingFetchHandler.js.map +1 -0
- package/dist/handlers/persistingHandler.d.ts +15 -0
- package/dist/handlers/persistingHandler.d.ts.map +1 -0
- package/dist/handlers/persistingHandler.js +43 -0
- package/dist/handlers/persistingHandler.js.map +1 -0
- package/dist/handlers/rateLimitingHandler.d.ts +25 -0
- package/dist/handlers/rateLimitingHandler.d.ts.map +1 -0
- package/dist/handlers/rateLimitingHandler.js +21 -0
- package/dist/handlers/rateLimitingHandler.js.map +1 -0
- package/dist/handlers/requestStateEmittingHandler.d.ts +42 -0
- package/dist/handlers/requestStateEmittingHandler.d.ts.map +1 -0
- package/dist/handlers/requestStateEmittingHandler.js +42 -0
- package/dist/handlers/requestStateEmittingHandler.js.map +1 -0
- package/dist/handlers/responseCachingHandler.d.ts +35 -0
- package/dist/handlers/responseCachingHandler.d.ts.map +1 -0
- package/dist/handlers/responseCachingHandler.js +83 -0
- package/dist/handlers/responseCachingHandler.js.map +1 -0
- package/dist/handlers/retryingHandler.d.ts +49 -0
- package/dist/handlers/retryingHandler.d.ts.map +1 -0
- package/dist/handlers/retryingHandler.js +62 -0
- package/dist/handlers/retryingHandler.js.map +1 -0
- package/dist/handlers/timeoutHandler.d.ts +19 -0
- package/dist/handlers/timeoutHandler.d.ts.map +1 -0
- package/dist/handlers/timeoutHandler.js +20 -0
- package/dist/handlers/timeoutHandler.js.map +1 -0
- package/dist/handlers/utils.d.ts +13 -0
- package/dist/handlers/utils.d.ts.map +1 -0
- package/dist/handlers/utils.js +7 -0
- package/dist/handlers/utils.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/legal/legalPrompt.d.ts +21 -0
- package/dist/legal/legalPrompt.d.ts.map +1 -0
- package/dist/legal/legalPrompt.js +130 -0
- package/dist/legal/legalPrompt.js.map +1 -0
- package/dist/legal/legalState.d.ts +51 -0
- package/dist/legal/legalState.d.ts.map +1 -0
- package/dist/legal/legalState.js +100 -0
- package/dist/legal/legalState.js.map +1 -0
- package/dist/lens/Lens.d.ts +117 -0
- package/dist/lens/Lens.d.ts.map +1 -0
- package/dist/lens/Lens.js +74 -0
- package/dist/lens/Lens.js.map +1 -0
- package/dist/lens/LensLaunchData.d.ts +45 -0
- package/dist/lens/LensLaunchData.d.ts.map +1 -0
- package/dist/lens/LensLaunchData.js +83 -0
- package/dist/lens/LensLaunchData.js.map +1 -0
- package/dist/lens/LensPersistenceStore.d.ts +8 -0
- package/dist/lens/LensPersistenceStore.d.ts.map +1 -0
- package/dist/lens/LensPersistenceStore.js.map +1 -0
- package/dist/lens/LensRepository.d.ts +133 -0
- package/dist/lens/LensRepository.d.ts.map +1 -0
- package/dist/lens/LensRepository.js +147 -0
- package/dist/lens/LensRepository.js.map +1 -0
- package/dist/lens/LensSource.d.ts +44 -0
- package/dist/lens/LensSource.d.ts.map +1 -0
- package/dist/lens/LensSource.js +18 -0
- package/dist/lens/LensSource.js.map +1 -0
- package/dist/lens/assets/LensAssetRepository.d.ts +101 -0
- package/dist/lens/assets/LensAssetRepository.d.ts.map +1 -0
- package/dist/lens/assets/LensAssetRepository.js +139 -0
- package/dist/lens/assets/LensAssetRepository.js.map +1 -0
- package/dist/lens/assets/LensAssetsProvider.d.ts +28 -0
- package/dist/lens/assets/LensAssetsProvider.d.ts.map +1 -0
- package/dist/lens/assets/LensAssetsProvider.js +52 -0
- package/dist/lens/assets/LensAssetsProvider.js.map +1 -0
- package/dist/lens/assets/deviceDependentAssetLoader.d.ts +12 -0
- package/dist/lens/assets/deviceDependentAssetLoader.d.ts.map +1 -0
- package/dist/lens/assets/deviceDependentAssetLoader.js +49 -0
- package/dist/lens/assets/deviceDependentAssetLoader.js.map +1 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts +11 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts.map +1 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.js +18 -0
- package/dist/lens/assets/remoteMediaAssetLoaderFactory.js.map +1 -0
- package/dist/lens/assets/staticAssetLoader.d.ts +11 -0
- package/dist/lens/assets/staticAssetLoader.d.ts.map +1 -0
- package/dist/lens/assets/staticAssetLoader.js +21 -0
- package/dist/lens/assets/staticAssetLoader.js.map +1 -0
- package/dist/lens/cameraKitLensSource.d.ts +18 -0
- package/dist/lens/cameraKitLensSource.d.ts.map +1 -0
- package/dist/lens/cameraKitLensSource.js +93 -0
- package/dist/lens/cameraKitLensSource.js.map +1 -0
- package/dist/lens/fetchWatermarkLens.d.ts +12 -0
- package/dist/lens/fetchWatermarkLens.d.ts.map +1 -0
- package/dist/lens/fetchWatermarkLens.js +23 -0
- package/dist/lens/fetchWatermarkLens.js.map +1 -0
- package/dist/lens-client-interface/exif.d.ts +21 -0
- package/dist/lens-client-interface/exif.d.ts.map +1 -0
- package/dist/lens-client-interface/exif.js +51 -0
- package/dist/lens-client-interface/exif.js.map +1 -0
- package/dist/lens-client-interface/imagePicker.d.ts +9 -0
- package/dist/lens-client-interface/imagePicker.d.ts.map +1 -0
- package/dist/lens-client-interface/imagePicker.js +113 -0
- package/dist/lens-client-interface/imagePicker.js.map +1 -0
- package/dist/lens-client-interface/lensClientInterface.d.ts +14 -0
- package/dist/lens-client-interface/lensClientInterface.d.ts.map +1 -0
- package/dist/lens-client-interface/lensClientInterface.js +22 -0
- package/dist/lens-client-interface/lensClientInterface.js.map +1 -0
- package/dist/lens-core-module/generated-types.d.ts +470 -0
- package/dist/lens-core-module/generated-types.d.ts.map +1 -0
- package/dist/lens-core-module/lensCore.d.ts +59 -0
- package/dist/lens-core-module/lensCore.d.ts.map +1 -0
- package/dist/lens-core-module/lensCore.js +95 -0
- package/dist/lens-core-module/lensCore.js.map +1 -0
- package/dist/lens-core-module/lensCoreError.d.ts +16 -0
- package/dist/lens-core-module/lensCoreError.d.ts.map +1 -0
- package/dist/lens-core-module/lensCoreError.js +35 -0
- package/dist/lens-core-module/lensCoreError.js.map +1 -0
- package/dist/lens-core-module/loader/bootstrapURLs.d.ts +13 -0
- package/dist/lens-core-module/loader/bootstrapURLs.d.ts.map +1 -0
- package/dist/lens-core-module/loader/bootstrapURLs.js +32 -0
- package/dist/lens-core-module/loader/bootstrapURLs.js.map +1 -0
- package/dist/lens-core-module/loader/lensCoreFactory.d.ts +18 -0
- package/dist/lens-core-module/loader/lensCoreFactory.d.ts.map +1 -0
- package/dist/lens-core-module/loader/lensCoreFactory.js +54 -0
- package/dist/lens-core-module/loader/lensCoreFactory.js.map +1 -0
- package/dist/lensCoreWasmVersions.d.ts +7 -0
- package/dist/lensCoreWasmVersions.d.ts.map +1 -0
- package/dist/lensCoreWasmVersions.js +6 -0
- package/dist/lensCoreWasmVersions.js.map +1 -0
- package/dist/logger/errorLoggingDecorator.d.ts +10 -0
- package/dist/logger/errorLoggingDecorator.d.ts.map +1 -0
- package/dist/logger/errorLoggingDecorator.js +19 -0
- package/dist/logger/errorLoggingDecorator.js.map +1 -0
- package/dist/logger/logEntries.d.ts +16 -0
- package/dist/logger/logEntries.d.ts.map +1 -0
- package/dist/logger/logEntries.js +4 -0
- package/dist/logger/logEntries.js.map +1 -0
- package/dist/logger/logger.d.ts +41 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +27 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/logger/registerLogEntriesSubscriber.d.ts +15 -0
- package/dist/logger/registerLogEntriesSubscriber.d.ts.map +1 -0
- package/dist/logger/registerLogEntriesSubscriber.js +27 -0
- package/dist/logger/registerLogEntriesSubscriber.js.map +1 -0
- package/dist/media-sources/CameraKitSource.d.ts +130 -0
- package/dist/media-sources/CameraKitSource.d.ts.map +1 -0
- package/dist/media-sources/CameraKitSource.js +96 -0
- package/dist/media-sources/CameraKitSource.js.map +1 -0
- package/dist/media-sources/FunctionSource.d.ts +42 -0
- package/dist/media-sources/FunctionSource.d.ts.map +1 -0
- package/dist/media-sources/FunctionSource.js +105 -0
- package/dist/media-sources/FunctionSource.js.map +1 -0
- package/dist/media-sources/ImageSource.d.ts +13 -0
- package/dist/media-sources/ImageSource.d.ts.map +1 -0
- package/dist/media-sources/ImageSource.js +7 -0
- package/dist/media-sources/ImageSource.js.map +1 -0
- package/dist/media-sources/MediaStreamSource.d.ts +31 -0
- package/dist/media-sources/MediaStreamSource.d.ts.map +1 -0
- package/dist/media-sources/MediaStreamSource.js +140 -0
- package/dist/media-sources/MediaStreamSource.js.map +1 -0
- package/dist/media-sources/VideoSource.d.ts +27 -0
- package/dist/media-sources/VideoSource.d.ts.map +1 -0
- package/dist/media-sources/VideoSource.js +12 -0
- package/dist/media-sources/VideoSource.js.map +1 -0
- package/dist/metrics/businessEventsReporter.d.ts +40 -0
- package/dist/metrics/businessEventsReporter.d.ts.map +1 -0
- package/dist/metrics/businessEventsReporter.js +156 -0
- package/dist/metrics/businessEventsReporter.js.map +1 -0
- package/dist/metrics/metricsEventTarget.d.ts +42 -0
- package/dist/metrics/metricsEventTarget.d.ts.map +1 -0
- package/dist/metrics/metricsEventTarget.js +4 -0
- package/dist/metrics/metricsEventTarget.js.map +1 -0
- package/dist/metrics/operational/Count.d.ts +21 -0
- package/dist/metrics/operational/Count.d.ts.map +1 -0
- package/dist/metrics/operational/Count.js +31 -0
- package/dist/metrics/operational/Count.js.map +1 -0
- package/dist/metrics/operational/Histogram.d.ts +19 -0
- package/dist/metrics/operational/Histogram.d.ts.map +1 -0
- package/dist/metrics/operational/Histogram.js +26 -0
- package/dist/metrics/operational/Histogram.js.map +1 -0
- package/dist/metrics/operational/Metric.d.ts +21 -0
- package/dist/metrics/operational/Metric.d.ts.map +1 -0
- package/dist/metrics/operational/Metric.js +23 -0
- package/dist/metrics/operational/Metric.js.map +1 -0
- package/dist/metrics/operational/Timer.d.ts +96 -0
- package/dist/metrics/operational/Timer.d.ts.map +1 -0
- package/dist/metrics/operational/Timer.js +64 -0
- package/dist/metrics/operational/Timer.js.map +1 -0
- package/dist/metrics/reporters/reportBenchmarks.d.ts +11 -0
- package/dist/metrics/reporters/reportBenchmarks.d.ts.map +1 -0
- package/dist/metrics/reporters/reportBenchmarks.js +27 -0
- package/dist/metrics/reporters/reportBenchmarks.js.map +1 -0
- package/dist/metrics/reporters/reportGlobalException.d.ts +27 -0
- package/dist/metrics/reporters/reportGlobalException.d.ts.map +1 -0
- package/dist/metrics/reporters/reportGlobalException.js +82 -0
- package/dist/metrics/reporters/reportGlobalException.js.map +1 -0
- package/dist/metrics/reporters/reportHttpMetrics.d.ts +11 -0
- package/dist/metrics/reporters/reportHttpMetrics.d.ts.map +1 -0
- package/dist/metrics/reporters/reportHttpMetrics.js +107 -0
- package/dist/metrics/reporters/reportHttpMetrics.js.map +1 -0
- package/dist/metrics/reporters/reportLegalState.d.ts +16 -0
- package/dist/metrics/reporters/reportLegalState.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLegalState.js +29 -0
- package/dist/metrics/reporters/reportLegalState.js.map +1 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts +39 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.js +91 -0
- package/dist/metrics/reporters/reportLensAndAssetDownload.js.map +1 -0
- package/dist/metrics/reporters/reportLensValidationFailed.d.ts +21 -0
- package/dist/metrics/reporters/reportLensValidationFailed.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensValidationFailed.js +21 -0
- package/dist/metrics/reporters/reportLensValidationFailed.js.map +1 -0
- package/dist/metrics/reporters/reportLensView.d.ts +37 -0
- package/dist/metrics/reporters/reportLensView.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensView.js +102 -0
- package/dist/metrics/reporters/reportLensView.js.map +1 -0
- package/dist/metrics/reporters/reportLensWait.d.ts +33 -0
- package/dist/metrics/reporters/reportLensWait.d.ts.map +1 -0
- package/dist/metrics/reporters/reportLensWait.js +35 -0
- package/dist/metrics/reporters/reportLensWait.js.map +1 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.d.ts +13 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.d.ts.map +1 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.js +13 -0
- package/dist/metrics/reporters/reportPlatformCapabilities.js.map +1 -0
- package/dist/metrics/reporters/reportSessionException.d.ts +18 -0
- package/dist/metrics/reporters/reportSessionException.d.ts.map +1 -0
- package/dist/metrics/reporters/reportSessionException.js +7 -0
- package/dist/metrics/reporters/reportSessionException.js.map +1 -0
- package/dist/metrics/reporters/reportUserSession.d.ts +15 -0
- package/dist/metrics/reporters/reportUserSession.d.ts.map +1 -0
- package/dist/metrics/reporters/reportUserSession.js +61 -0
- package/dist/metrics/reporters/reportUserSession.js.map +1 -0
- package/dist/metrics/reporters/reporters.d.ts +47 -0
- package/dist/metrics/reporters/reporters.d.ts.map +1 -0
- package/dist/metrics/reporters/reporters.js +24 -0
- package/dist/metrics/reporters/reporters.js.map +1 -0
- package/dist/namedErrors.d.ts +131 -0
- package/dist/namedErrors.d.ts.map +1 -0
- package/dist/namedErrors.js +29 -0
- package/dist/namedErrors.js.map +1 -0
- package/dist/observable-operators/debounceTimeAfter.d.ts +26 -0
- package/dist/observable-operators/debounceTimeAfter.d.ts.map +1 -0
- package/dist/observable-operators/debounceTimeAfter.js +22 -0
- package/dist/observable-operators/debounceTimeAfter.js.map +1 -0
- package/dist/observable-operators/unsubscribed.d.ts +13 -0
- package/dist/observable-operators/unsubscribed.d.ts.map +1 -0
- package/dist/observable-operators/unsubscribed.js +15 -0
- package/dist/observable-operators/unsubscribed.js.map +1 -0
- package/dist/persistence/ExpiringPersistence.d.ts +22 -0
- package/dist/persistence/ExpiringPersistence.d.ts.map +1 -0
- package/dist/persistence/ExpiringPersistence.js +64 -0
- package/dist/persistence/ExpiringPersistence.js.map +1 -0
- package/dist/persistence/IndexedDBPersistence.d.ts +48 -0
- package/dist/persistence/IndexedDBPersistence.d.ts.map +1 -0
- package/dist/persistence/IndexedDBPersistence.js +127 -0
- package/dist/persistence/IndexedDBPersistence.js.map +1 -0
- package/dist/persistence/Persistence.d.ts +26 -0
- package/dist/persistence/Persistence.d.ts.map +1 -0
- package/dist/persistence/Persistence.js +4 -0
- package/dist/persistence/Persistence.js.map +1 -0
- package/dist/platform/assertPlatformSupported.d.ts +5 -0
- package/dist/platform/assertPlatformSupported.d.ts.map +1 -0
- package/dist/platform/assertPlatformSupported.js +12 -0
- package/dist/platform/assertPlatformSupported.js.map +1 -0
- package/dist/platform/cameraKitUserAgent.d.ts +3 -0
- package/dist/platform/cameraKitUserAgent.d.ts.map +1 -0
- package/dist/platform/cameraKitUserAgent.js +13 -0
- package/dist/platform/cameraKitUserAgent.js.map +1 -0
- package/dist/platform/platformCapabilities.d.ts +58 -0
- package/dist/platform/platformCapabilities.d.ts.map +1 -0
- package/dist/platform/platformCapabilities.js +98 -0
- package/dist/platform/platformCapabilities.js.map +1 -0
- package/dist/platform/platformInfo.d.ts +44 -0
- package/dist/platform/platformInfo.d.ts.map +1 -0
- package/dist/platform/platformInfo.js +156 -0
- package/dist/platform/platformInfo.js.map +1 -0
- package/dist/remote-configuration/cofHandler.d.ts +30 -0
- package/dist/remote-configuration/cofHandler.d.ts.map +1 -0
- package/dist/remote-configuration/cofHandler.js +83 -0
- package/dist/remote-configuration/cofHandler.js.map +1 -0
- package/dist/remote-configuration/preloadConfiguration.d.ts +8 -0
- package/dist/remote-configuration/preloadConfiguration.d.ts.map +1 -0
- package/dist/remote-configuration/preloadConfiguration.js +20 -0
- package/dist/remote-configuration/preloadConfiguration.js.map +1 -0
- package/dist/remote-configuration/remoteConfiguration.d.ts +36 -0
- package/dist/remote-configuration/remoteConfiguration.d.ts.map +1 -0
- package/dist/remote-configuration/remoteConfiguration.js +59 -0
- package/dist/remote-configuration/remoteConfiguration.js.map +1 -0
- package/dist/session/CameraKitSession.d.ts +257 -0
- package/dist/session/CameraKitSession.d.ts.map +1 -0
- package/dist/session/CameraKitSession.js +242 -0
- package/dist/session/CameraKitSession.js.map +1 -0
- package/dist/session/CameraKitSessionEvents.d.ts +29 -0
- package/dist/session/CameraKitSessionEvents.d.ts.map +1 -0
- package/dist/session/CameraKitSessionEvents.js +15 -0
- package/dist/session/CameraKitSessionEvents.js.map +1 -0
- package/dist/session/LensKeyboard.d.ts +90 -0
- package/dist/session/LensKeyboard.d.ts.map +1 -0
- package/dist/session/LensKeyboard.js +89 -0
- package/dist/session/LensKeyboard.js.map +1 -0
- package/dist/session/LensPerformanceMeasurement.d.ts +58 -0
- package/dist/session/LensPerformanceMeasurement.d.ts.map +1 -0
- package/dist/session/LensPerformanceMeasurement.js +63 -0
- package/dist/session/LensPerformanceMeasurement.js.map +1 -0
- package/dist/session/LensPerformanceMetrics.d.ts +32 -0
- package/dist/session/LensPerformanceMetrics.d.ts.map +1 -0
- package/dist/session/LensPerformanceMetrics.js +39 -0
- package/dist/session/LensPerformanceMetrics.js.map +1 -0
- package/dist/session/lensState.d.ts +32 -0
- package/dist/session/lensState.d.ts.map +1 -0
- package/dist/session/lensState.js +194 -0
- package/dist/session/lensState.js.map +1 -0
- package/dist/session/sessionState.d.ts +11 -0
- package/dist/session/sessionState.d.ts.map +1 -0
- package/dist/session/sessionState.js.map +1 -0
- package/dist/transforms/Transform2D.d.ts +27 -0
- package/dist/transforms/Transform2D.d.ts.map +1 -0
- package/dist/transforms/Transform2D.js +13 -0
- package/dist/transforms/Transform2D.js.map +1 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -0
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/CameraKit.html +2 -2
- package/docs/html/classes/CameraKitSession.html +2 -2
- package/docs/html/classes/CameraKitSource.html +2 -2
- package/docs/html/classes/LensPerformanceMeasurement.html +2 -2
- package/docs/html/classes/LensPerformanceMetrics.html +2 -2
- package/docs/html/classes/LensRepository.html +3 -3
- package/docs/html/classes/Transform2D.html +2 -2
- package/docs/html/classes/TypedCustomEvent.html +2 -2
- package/docs/html/classes/TypedEventTarget.html +2 -2
- package/docs/html/enums/Lens_CameraFacing.html +2 -2
- package/docs/html/functions/ConcatInjectable.html +2 -2
- package/docs/html/functions/Injectable.html +2 -2
- package/docs/html/functions/bootstrapCameraKit.html +2 -2
- package/docs/html/functions/createExtension.html +2 -2
- package/docs/html/functions/createImageSource.html +2 -2
- package/docs/html/functions/createMediaStreamSource.html +2 -2
- package/docs/html/functions/createVideoSource.html +2 -2
- package/docs/html/functions/estimateLensPerformance.html +2 -2
- package/docs/html/functions/lensSourcesFactory.html +2 -2
- package/docs/html/functions/remoteApiServicesFactory.html +2 -2
- package/docs/html/hierarchy.html +1 -1
- package/docs/html/index.html +3 -3
- package/docs/html/interfaces/BitmojiUserInfo.html +3 -0
- package/docs/html/interfaces/CameraKitBootstrapConfiguration.html +2 -2
- package/docs/html/interfaces/CameraKitDeviceOptions.html +2 -2
- package/docs/html/interfaces/CameraKitSourceInfo.html +2 -2
- package/docs/html/interfaces/CameraKitSourceSubscriber.html +2 -2
- package/docs/html/interfaces/ComputedFrameMetrics.html +2 -2
- package/docs/html/interfaces/CreateSessionOptions.html +2 -2
- package/docs/html/interfaces/EstimatedLensPerformance.html +2 -2
- package/docs/html/interfaces/FriendUserInfo.html +4 -0
- package/docs/html/interfaces/FunctionSourceOptions.html +2 -2
- package/docs/html/interfaces/Lens.html +2 -2
- package/docs/html/interfaces/LensCreator.html +2 -2
- package/docs/html/interfaces/LensLaunchData.html +3 -3
- package/docs/html/interfaces/LensSource.html +2 -2
- package/docs/html/interfaces/LensUserData.html +10 -0
- package/docs/html/interfaces/LoadAssetRequest.html +2 -2
- package/docs/html/interfaces/MediaStreamSourceOptions.html +2 -2
- package/docs/html/interfaces/Preview.html +2 -2
- package/docs/html/interfaces/RemoteApiRequest.html +2 -2
- package/docs/html/interfaces/RemoteApiResponse.html +4 -4
- package/docs/html/interfaces/RemoteApiService.html +3 -3
- package/docs/html/interfaces/Snapcode.html +2 -2
- package/docs/html/interfaces/UriCancelRequest.html +2 -2
- package/docs/html/interfaces/UriRequest.html +2 -2
- package/docs/html/interfaces/UriResponse.html +2 -2
- package/docs/html/interfaces/VideoSourceOptions.html +2 -2
- package/docs/html/modules.html +7 -3
- package/docs/html/types/ArgumentValidationError.html +2 -0
- package/docs/html/types/AssetLoader.html +2 -2
- package/docs/html/types/AssetResponse.html +1 -1
- package/docs/html/types/AssetTiming.html +2 -2
- package/docs/html/types/BenchmarkError.html +1 -1
- package/docs/html/types/BootstrapError.html +2 -2
- package/docs/html/types/CacheKeyNotFoundError.html +1 -1
- package/docs/html/types/CameraKitSessionEventListener.html +2 -2
- package/docs/html/types/CameraKitSessionEvents.html +2 -2
- package/docs/html/types/CameraKitSourceError.html +1 -1
- package/docs/html/types/ConfigurationError.html +2 -2
- package/docs/html/types/FetchHandler.html +1 -1
- package/docs/html/types/Keyboard.html +2 -2
- package/docs/html/types/KeyboardEvents.html +2 -2
- package/docs/html/types/LegalError.html +1 -1
- package/docs/html/types/LensAbortError.html +2 -2
- package/docs/html/types/LensAssetError.html +2 -2
- package/docs/html/types/LensContentValidationError.html +1 -1
- package/docs/html/types/LensError.html +1 -1
- package/docs/html/types/LensExecutionError.html +2 -2
- package/docs/html/types/LensImagePickerError.html +2 -2
- package/docs/html/types/LensLaunchParams.html +2 -2
- package/docs/html/types/LensMetricsEvents.html +2 -2
- package/docs/html/types/LensPerformanceCluster.html +1 -1
- package/docs/html/types/LensView.html +2 -2
- package/docs/html/types/LensWait.html +2 -2
- package/docs/html/types/Matrix.html +2 -2
- package/docs/html/types/PersistentStoreError.html +2 -2
- package/docs/html/types/PlatformNotSupportedError.html +2 -2
- package/docs/html/types/PublicContainer.html +2 -2
- package/docs/html/types/PublicServices.html +2 -2
- package/docs/html/types/RemoteApiCancelRequestHandler.html +2 -2
- package/docs/html/types/RemoteApiRequestHandler.html +2 -2
- package/docs/html/types/RemoteApiServices.html +1 -1
- package/docs/html/types/RemoteApiStatus.html +2 -2
- package/docs/html/types/RenderTarget.html +2 -2
- package/docs/html/types/Uri.html +1 -1
- package/docs/html/types/WebGLError.html +1 -1
- package/docs/html/types/Zodiac.html +1 -0
- package/docs/html/variables/extensionRequestContext.html +2 -2
- package/docs/md/README.md +1 -1
- package/docs/md/classes/CameraKit.md +1 -1
- package/docs/md/classes/CameraKitSession.md +1 -1
- package/docs/md/classes/CameraKitSource.md +1 -1
- package/docs/md/classes/LensPerformanceMeasurement.md +1 -1
- package/docs/md/classes/LensPerformanceMetrics.md +1 -1
- package/docs/md/classes/LensRepository.md +2 -2
- package/docs/md/classes/Transform2D.md +1 -1
- package/docs/md/classes/TypedCustomEvent.md +1 -1
- package/docs/md/classes/TypedEventTarget.md +1 -1
- package/docs/md/enums/Lens_CameraFacing.md +1 -1
- package/docs/md/interfaces/BitmojiUserInfo.md +22 -0
- package/docs/md/interfaces/CameraKitBootstrapConfiguration.md +1 -1
- package/docs/md/interfaces/CameraKitDeviceOptions.md +1 -1
- package/docs/md/interfaces/CameraKitSourceInfo.md +1 -1
- package/docs/md/interfaces/CameraKitSourceSubscriber.md +1 -1
- package/docs/md/interfaces/ComputedFrameMetrics.md +1 -1
- package/docs/md/interfaces/CreateSessionOptions.md +1 -1
- package/docs/md/interfaces/EstimatedLensPerformance.md +1 -1
- package/docs/md/interfaces/FriendUserInfo.md +29 -0
- package/docs/md/interfaces/FunctionSourceOptions.md +1 -1
- package/docs/md/interfaces/Lens.md +1 -1
- package/docs/md/interfaces/LensCreator.md +1 -1
- package/docs/md/interfaces/LensLaunchData.md +2 -21
- package/docs/md/interfaces/LensSource.md +1 -1
- package/docs/md/interfaces/LensUserData.md +71 -0
- package/docs/md/interfaces/LoadAssetRequest.md +1 -1
- package/docs/md/interfaces/MediaStreamSourceOptions.md +1 -1
- package/docs/md/interfaces/Preview.md +1 -1
- package/docs/md/interfaces/RemoteApiRequest.md +1 -1
- package/docs/md/interfaces/RemoteApiResponse.md +2 -2
- package/docs/md/interfaces/RemoteApiService.md +2 -2
- package/docs/md/interfaces/Snapcode.md +1 -1
- package/docs/md/interfaces/UriCancelRequest.md +1 -1
- package/docs/md/interfaces/UriRequest.md +1 -1
- package/docs/md/interfaces/UriResponse.md +1 -1
- package/docs/md/interfaces/VideoSourceOptions.md +1 -1
- package/docs/md/modules.md +23 -5
- package/package.json +14 -12
- package/docs/html/enums/UserData_Zodiac.html +0 -15
- package/docs/md/enums/UserData_Zodiac.md +0 -106
- package/lib/CameraKit.d.ts +0 -333
- package/lib/CameraKit.js +0 -176
- package/lib/CameraKit.js.map +0 -1
- package/lib/__tests__/data.d.ts +0 -14
- package/lib/__tests__/data.js +0 -69
- package/lib/__tests__/data.js.map +0 -1
- package/lib/__tests__/deferred.d.ts +0 -16
- package/lib/__tests__/deferred.js +0 -29
- package/lib/__tests__/deferred.js.map +0 -1
- package/lib/__tests__/jest.matchers.d.ts +0 -17
- package/lib/__tests__/jest.matchers.js +0 -67
- package/lib/__tests__/jest.matchers.js.map +0 -1
- package/lib/benchmark/benchmarkGflops.d.ts +0 -16
- package/lib/benchmark/benchmarkGflops.js +0 -129
- package/lib/benchmark/benchmarkGflops.js.map +0 -1
- package/lib/benchmark/estimateLensPerformanceCluster.d.ts +0 -33
- package/lib/benchmark/estimateLensPerformanceCluster.js +0 -48
- package/lib/benchmark/estimateLensPerformanceCluster.js.map +0 -1
- package/lib/benchmark/webglUtils.d.ts +0 -7
- package/lib/bootstrapCameraKit.d.ts +0 -96
- package/lib/bootstrapCameraKit.js +0 -220
- package/lib/bootstrapCameraKit.js.map +0 -1
- package/lib/clients/createTsProtoClient.d.ts +0 -40
- package/lib/clients/createTsProtoClient.js +0 -52
- package/lib/clients/createTsProtoClient.js.map +0 -1
- package/lib/clients/grpcHandler.d.ts +0 -26
- package/lib/clients/grpcHandler.js +0 -90
- package/lib/clients/grpcHandler.js.map +0 -1
- package/lib/clients/lensesClient.d.ts +0 -9
- package/lib/clients/lensesClient.js.map +0 -1
- package/lib/clients/metricsClient.d.ts +0 -26
- package/lib/clients/metricsClient.js +0 -120
- package/lib/clients/metricsClient.js.map +0 -1
- package/lib/common/__mocks__/loadScript.d.ts +0 -1
- package/lib/common/__mocks__/loadScript.js +0 -10
- package/lib/common/__mocks__/loadScript.js.map +0 -1
- package/lib/common/assertions.d.ts +0 -27
- package/lib/common/assertions.js +0 -39
- package/lib/common/assertions.js.map +0 -1
- package/lib/common/copyDefinedProperties.d.ts +0 -13
- package/lib/common/copyDefinedProperties.js +0 -16
- package/lib/common/copyDefinedProperties.js.map +0 -1
- package/lib/common/date.d.ts +0 -3
- package/lib/common/dialog.d.ts +0 -59
- package/lib/common/dialog.js +0 -160
- package/lib/common/dialog.js.map +0 -1
- package/lib/common/entries.d.ts +0 -4
- package/lib/common/entries.js +0 -5
- package/lib/common/entries.js.map +0 -1
- package/lib/common/errorHelpers.d.ts +0 -10
- package/lib/common/errorHelpers.js +0 -24
- package/lib/common/errorHelpers.js.map +0 -1
- package/lib/common/getFilename.d.ts +0 -1
- package/lib/common/hash.d.ts +0 -5
- package/lib/common/hash.js +0 -17
- package/lib/common/hash.js.map +0 -1
- package/lib/common/loadScript.d.ts +0 -6
- package/lib/common/loadScript.js +0 -18
- package/lib/common/loadScript.js.map +0 -1
- package/lib/common/localization.d.ts +0 -54
- package/lib/common/localization.js +0 -654
- package/lib/common/localization.js.map +0 -1
- package/lib/common/memoize.d.ts +0 -8
- package/lib/common/pageVisibility.d.ts +0 -34
- package/lib/common/pageVisibility.js +0 -71
- package/lib/common/pageVisibility.js.map +0 -1
- package/lib/common/result.d.ts +0 -36
- package/lib/common/result.js +0 -40
- package/lib/common/result.js.map +0 -1
- package/lib/common/time.d.ts +0 -2
- package/lib/common/typeguards.d.ts +0 -53
- package/lib/common/typeguards.js +0 -92
- package/lib/common/typeguards.js.map +0 -1
- package/lib/common/types.d.ts +0 -18
- package/lib/common/types.js.map +0 -1
- package/lib/common/unionBy.d.ts +0 -28
- package/lib/common/unionBy.js +0 -46
- package/lib/common/unionBy.js.map +0 -1
- package/lib/common/validate.d.ts +0 -14
- package/lib/common/validate.js +0 -112
- package/lib/common/validate.js.map +0 -1
- package/lib/configuration.d.ts +0 -101
- package/lib/configuration.js +0 -51
- package/lib/configuration.js.map +0 -1
- package/lib/configurationOverrides.d.ts +0 -12
- package/lib/configurationOverrides.js +0 -46
- package/lib/configurationOverrides.js.map +0 -1
- package/lib/dependency-injection/Container.d.ts +0 -176
- package/lib/dependency-injection/Container.js +0 -160
- package/lib/dependency-injection/Container.js.map +0 -1
- package/lib/dependency-injection/Injectable.d.ts +0 -95
- package/lib/dependency-injection/Injectable.js.map +0 -1
- package/lib/dependency-injection/PartialContainer.d.ts +0 -85
- package/lib/dependency-injection/PartialContainer.js +0 -85
- package/lib/dependency-injection/PartialContainer.js.map +0 -1
- package/lib/dependency-injection/RootServices.d.ts +0 -73
- package/lib/dependency-injection/RootServices.js +0 -2
- package/lib/dependency-injection/RootServices.js.map +0 -1
- package/lib/dependency-injection/types.d.ts +0 -56
- package/lib/dependency-injection/types.js.map +0 -1
- package/lib/environment.d.ts +0 -4
- package/lib/environment.js +0 -2
- package/lib/environment.js.map +0 -1
- package/lib/events/TypedCustomEvent.d.ts +0 -10
- package/lib/events/TypedCustomEvent.js +0 -11
- package/lib/events/TypedCustomEvent.js.map +0 -1
- package/lib/events/TypedEventTarget.d.ts +0 -25
- package/lib/events/TypedEventTarget.js +0 -57
- package/lib/events/TypedEventTarget.js.map +0 -1
- package/lib/events/scan.d.ts +0 -15
- package/lib/events/scan.js +0 -46
- package/lib/events/scan.js.map +0 -1
- package/lib/extensions/RemoteApiServices.d.ts +0 -101
- package/lib/extensions/RemoteApiServices.js +0 -203
- package/lib/extensions/RemoteApiServices.js.map +0 -1
- package/lib/extensions/UriHandlers.d.ts +0 -47
- package/lib/extensions/UriHandlers.js +0 -38
- package/lib/extensions/UriHandlers.js.map +0 -1
- package/lib/extensions/extensionRequestContext.d.ts +0 -4
- package/lib/extensions/extensionRequestContext.js +0 -14
- package/lib/extensions/extensionRequestContext.js.map +0 -1
- package/lib/extensions/uriHandlersRegister.d.ts +0 -21
- package/lib/extensions/uriHandlersRegister.js +0 -72
- package/lib/extensions/uriHandlersRegister.js.map +0 -1
- package/lib/generated-proto/blizzard/cameraKitEvents.d.ts +0 -9527
- package/lib/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +0 -79
- package/lib/generated-proto/pb_schema/camera_kit/v3/export.d.ts +0 -528
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +0 -34
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +0 -43
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +0 -1
- package/lib/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +0 -29
- package/lib/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +0 -85
- package/lib/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +0 -384
- package/lib/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +0 -178
- package/lib/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +0 -56
- package/lib/generated-proto/pb_schema/camera_kit/v3/service.d.ts +0 -2511
- package/lib/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +0 -78
- package/lib/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +0 -50
- package/lib/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +0 -25574
- package/lib/generated-proto/pb_schema/cdp/cof/config_request.d.ts +0 -279
- package/lib/generated-proto/pb_schema/cdp/cof/config_response.d.ts +0 -3725
- package/lib/generated-proto/pb_schema/cdp/cof/config_result.d.ts +0 -10223
- package/lib/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +0 -93
- package/lib/generated-proto/pb_schema/cdp/cof/namespace.d.ts +0 -8
- package/lib/generated-proto/pb_schema/common/ruid.d.ts +0 -51
- package/lib/generated-proto/pb_schema/common/value.d.ts +0 -144
- package/lib/generated-proto/pb_schema/google/api/annotations.d.ts +0 -1
- package/lib/generated-proto/pb_schema/google/api/annotations.js +0 -9
- package/lib/generated-proto/pb_schema/google/api/annotations.js.map +0 -1
- package/lib/generated-proto/pb_schema/google/api/http.d.ts +0 -3630
- package/lib/generated-proto/pb_schema/google/api/http.js +0 -194
- package/lib/generated-proto/pb_schema/google/api/http.js.map +0 -1
- package/lib/generated-proto/pb_schema/google/protobuf/any.d.ts +0 -32
- package/lib/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +0 -50896
- package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js +0 -1857
- package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js.map +0 -1
- package/lib/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +0 -32
- package/lib/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +0 -119
- package/lib/generated-proto/pb_schema/lenses/geocircle.d.ts +0 -42
- package/lib/generated-proto/pb_schema/lenses/geopoint.d.ts +0 -32
- package/lib/generated-proto/pb_schema/lenses/launch_params.d.ts +0 -29
- package/lib/generated-proto/pb_schema/lenses/launchdata.d.ts +0 -396
- package/lib/generated-proto/pb_schema/lenses/lures.d.ts +0 -111
- package/lib/generated-proto/pb_schema/lenses/persistent_store.d.ts +0 -29
- package/lib/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +0 -569
- package/lib/generated-proto/pb_schema/lenses/snappable.d.ts +0 -902
- package/lib/generated-proto/pb_schema/lenses/user_data.d.ts +0 -229
- package/lib/handlers/HandlerChainBuilder.d.ts +0 -110
- package/lib/handlers/HandlerChainBuilder.js +0 -199
- package/lib/handlers/HandlerChainBuilder.js.map +0 -1
- package/lib/handlers/arrayBufferParsingHandler.d.ts +0 -10
- package/lib/handlers/arrayBufferParsingHandler.js +0 -18
- package/lib/handlers/arrayBufferParsingHandler.js.map +0 -1
- package/lib/handlers/batchingHandler.d.ts +0 -31
- package/lib/handlers/batchingHandler.js +0 -76
- package/lib/handlers/batchingHandler.js.map +0 -1
- package/lib/handlers/cameraKitServiceFetchHandlerFactory.d.ts +0 -12
- package/lib/handlers/cameraKitServiceFetchHandlerFactory.js +0 -19
- package/lib/handlers/cameraKitServiceFetchHandlerFactory.js.map +0 -1
- package/lib/handlers/debugHandler.d.ts +0 -8
- package/lib/handlers/debugHandler.js +0 -27
- package/lib/handlers/debugHandler.js.map +0 -1
- package/lib/handlers/defaultFetchHandler.d.ts +0 -15
- package/lib/handlers/defaultFetchHandler.js +0 -38
- package/lib/handlers/defaultFetchHandler.js.map +0 -1
- package/lib/handlers/headersModifyingFetchHandler.d.ts +0 -8
- package/lib/handlers/headersModifyingFetchHandler.js +0 -17
- package/lib/handlers/headersModifyingFetchHandler.js.map +0 -1
- package/lib/handlers/mappingHandler.d.ts +0 -19
- package/lib/handlers/mappingHandler.js +0 -67
- package/lib/handlers/mappingHandler.js.map +0 -1
- package/lib/handlers/noCorsRetryingFetchHandler.d.ts +0 -48
- package/lib/handlers/noCorsRetryingFetchHandler.js +0 -95
- package/lib/handlers/noCorsRetryingFetchHandler.js.map +0 -1
- package/lib/handlers/persistingHandler.d.ts +0 -14
- package/lib/handlers/persistingHandler.js +0 -71
- package/lib/handlers/persistingHandler.js.map +0 -1
- package/lib/handlers/rateLimitingHandler.d.ts +0 -24
- package/lib/handlers/rateLimitingHandler.js +0 -45
- package/lib/handlers/rateLimitingHandler.js.map +0 -1
- package/lib/handlers/requestStateEmittingHandler.d.ts +0 -41
- package/lib/handlers/requestStateEmittingHandler.js +0 -45
- package/lib/handlers/requestStateEmittingHandler.js.map +0 -1
- package/lib/handlers/responseCachingHandler.d.ts +0 -34
- package/lib/handlers/responseCachingHandler.js +0 -109
- package/lib/handlers/responseCachingHandler.js.map +0 -1
- package/lib/handlers/retryingHandler.d.ts +0 -48
- package/lib/handlers/retryingHandler.js +0 -86
- package/lib/handlers/retryingHandler.js.map +0 -1
- package/lib/handlers/timeoutHandler.d.ts +0 -18
- package/lib/handlers/timeoutHandler.js +0 -30
- package/lib/handlers/timeoutHandler.js.map +0 -1
- package/lib/handlers/utils.d.ts +0 -12
- package/lib/handlers/utils.js +0 -19
- package/lib/handlers/utils.js.map +0 -1
- package/lib/index.d.ts +0 -42
- package/lib/index.js +0 -36
- package/lib/index.js.map +0 -1
- package/lib/legal/legalPrompt.d.ts +0 -20
- package/lib/legal/legalPrompt.js +0 -135
- package/lib/legal/legalPrompt.js.map +0 -1
- package/lib/legal/legalState.d.ts +0 -50
- package/lib/legal/legalState.js +0 -163
- package/lib/legal/legalState.js.map +0 -1
- package/lib/lens/Lens.d.ts +0 -115
- package/lib/lens/Lens.js +0 -84
- package/lib/lens/Lens.js.map +0 -1
- package/lib/lens/LensLaunchData.d.ts +0 -40
- package/lib/lens/LensLaunchData.js +0 -37
- package/lib/lens/LensLaunchData.js.map +0 -1
- package/lib/lens/LensPersistenceStore.d.ts +0 -7
- package/lib/lens/LensPersistenceStore.js.map +0 -1
- package/lib/lens/LensRepository.d.ts +0 -137
- package/lib/lens/LensRepository.js +0 -237
- package/lib/lens/LensRepository.js.map +0 -1
- package/lib/lens/LensSource.d.ts +0 -43
- package/lib/lens/LensSource.js +0 -42
- package/lib/lens/LensSource.js.map +0 -1
- package/lib/lens/assets/LensAssetRepository.d.ts +0 -99
- package/lib/lens/assets/LensAssetRepository.js +0 -184
- package/lib/lens/assets/LensAssetRepository.js.map +0 -1
- package/lib/lens/assets/LensAssetsProvider.d.ts +0 -27
- package/lib/lens/assets/LensAssetsProvider.js +0 -68
- package/lib/lens/assets/LensAssetsProvider.js.map +0 -1
- package/lib/lens/assets/deviceDependentAssetLoader.d.ts +0 -11
- package/lib/lens/assets/deviceDependentAssetLoader.js +0 -59
- package/lib/lens/assets/deviceDependentAssetLoader.js.map +0 -1
- package/lib/lens/assets/remoteMediaAssetLoaderFactory.d.ts +0 -10
- package/lib/lens/assets/remoteMediaAssetLoaderFactory.js +0 -27
- package/lib/lens/assets/remoteMediaAssetLoaderFactory.js.map +0 -1
- package/lib/lens/assets/staticAssetLoader.d.ts +0 -10
- package/lib/lens/assets/staticAssetLoader.js +0 -25
- package/lib/lens/assets/staticAssetLoader.js.map +0 -1
- package/lib/lens/cameraKitLensSource.d.ts +0 -16
- package/lib/lens/cameraKitLensSource.js +0 -59
- package/lib/lens/cameraKitLensSource.js.map +0 -1
- package/lib/lens-client-interface/exif.d.ts +0 -20
- package/lib/lens-client-interface/exif.js +0 -61
- package/lib/lens-client-interface/exif.js.map +0 -1
- package/lib/lens-client-interface/imagePicker.d.ts +0 -8
- package/lib/lens-client-interface/imagePicker.js +0 -128
- package/lib/lens-client-interface/imagePicker.js.map +0 -1
- package/lib/lens-client-interface/lensClientInterface.d.ts +0 -13
- package/lib/lens-client-interface/lensClientInterface.js +0 -30
- package/lib/lens-client-interface/lensClientInterface.js.map +0 -1
- package/lib/lens-core-module/generated-types.d.ts +0 -469
- package/lib/lens-core-module/lensCore.d.ts +0 -43
- package/lib/lens-core-module/lensCore.js +0 -59
- package/lib/lens-core-module/lensCore.js.map +0 -1
- package/lib/lens-core-module/lensCoreError.d.ts +0 -15
- package/lib/lens-core-module/lensCoreError.js +0 -43
- package/lib/lens-core-module/lensCoreError.js.map +0 -1
- package/lib/lens-core-module/loader/bootstrapURLs.d.ts +0 -12
- package/lib/lens-core-module/loader/bootstrapURLs.js +0 -48
- package/lib/lens-core-module/loader/bootstrapURLs.js.map +0 -1
- package/lib/lens-core-module/loader/lensCoreFactory.d.ts +0 -17
- package/lib/lens-core-module/loader/lensCoreFactory.js +0 -76
- package/lib/lens-core-module/loader/lensCoreFactory.js.map +0 -1
- package/lib/lensCoreWasmVersions.d.ts +0 -6
- package/lib/lensCoreWasmVersions.js +0 -6
- package/lib/lensCoreWasmVersions.js.map +0 -1
- package/lib/logger/errorLoggingDecorator.d.ts +0 -9
- package/lib/logger/errorLoggingDecorator.js +0 -32
- package/lib/logger/errorLoggingDecorator.js.map +0 -1
- package/lib/logger/logEntries.d.ts +0 -15
- package/lib/logger/logEntries.js +0 -14
- package/lib/logger/logEntries.js.map +0 -1
- package/lib/logger/logger.d.ts +0 -40
- package/lib/logger/logger.js +0 -53
- package/lib/logger/logger.js.map +0 -1
- package/lib/logger/registerLogEntriesSubscriber.d.ts +0 -14
- package/lib/logger/registerLogEntriesSubscriber.js +0 -35
- package/lib/logger/registerLogEntriesSubscriber.js.map +0 -1
- package/lib/media-sources/CameraKitSource.d.ts +0 -126
- package/lib/media-sources/CameraKitSource.js +0 -138
- package/lib/media-sources/CameraKitSource.js.map +0 -1
- package/lib/media-sources/FunctionSource.d.ts +0 -41
- package/lib/media-sources/FunctionSource.js +0 -128
- package/lib/media-sources/FunctionSource.js.map +0 -1
- package/lib/media-sources/ImageSource.d.ts +0 -11
- package/lib/media-sources/ImageSource.js +0 -16
- package/lib/media-sources/ImageSource.js.map +0 -1
- package/lib/media-sources/MediaStreamSource.d.ts +0 -29
- package/lib/media-sources/MediaStreamSource.js +0 -137
- package/lib/media-sources/MediaStreamSource.js.map +0 -1
- package/lib/media-sources/VideoSource.d.ts +0 -25
- package/lib/media-sources/VideoSource.js +0 -22
- package/lib/media-sources/VideoSource.js.map +0 -1
- package/lib/metrics/businessEventsReporter.d.ts +0 -39
- package/lib/metrics/businessEventsReporter.js +0 -195
- package/lib/metrics/businessEventsReporter.js.map +0 -1
- package/lib/metrics/metricsEventTarget.d.ts +0 -41
- package/lib/metrics/metricsEventTarget.js +0 -11
- package/lib/metrics/metricsEventTarget.js.map +0 -1
- package/lib/metrics/operational/Count.d.ts +0 -19
- package/lib/metrics/operational/Count.js +0 -33
- package/lib/metrics/operational/Count.js.map +0 -1
- package/lib/metrics/operational/Histogram.d.ts +0 -17
- package/lib/metrics/operational/Histogram.js +0 -27
- package/lib/metrics/operational/Histogram.js.map +0 -1
- package/lib/metrics/operational/Metric.d.ts +0 -20
- package/lib/metrics/operational/Metric.js +0 -28
- package/lib/metrics/operational/Metric.js.map +0 -1
- package/lib/metrics/operational/Timer.d.ts +0 -94
- package/lib/metrics/operational/Timer.js +0 -108
- package/lib/metrics/operational/Timer.js.map +0 -1
- package/lib/metrics/reporters/reportBenchmarks.d.ts +0 -10
- package/lib/metrics/reporters/reportBenchmarks.js +0 -30
- package/lib/metrics/reporters/reportBenchmarks.js.map +0 -1
- package/lib/metrics/reporters/reportGlobalException.d.ts +0 -26
- package/lib/metrics/reporters/reportGlobalException.js +0 -106
- package/lib/metrics/reporters/reportGlobalException.js.map +0 -1
- package/lib/metrics/reporters/reportHttpMetrics.d.ts +0 -10
- package/lib/metrics/reporters/reportHttpMetrics.js +0 -110
- package/lib/metrics/reporters/reportHttpMetrics.js.map +0 -1
- package/lib/metrics/reporters/reportLegalState.d.ts +0 -15
- package/lib/metrics/reporters/reportLegalState.js +0 -32
- package/lib/metrics/reporters/reportLegalState.js.map +0 -1
- package/lib/metrics/reporters/reportLensAndAssetDownload.d.ts +0 -38
- package/lib/metrics/reporters/reportLensAndAssetDownload.js +0 -92
- package/lib/metrics/reporters/reportLensAndAssetDownload.js.map +0 -1
- package/lib/metrics/reporters/reportLensValidationFailed.d.ts +0 -20
- package/lib/metrics/reporters/reportLensValidationFailed.js +0 -24
- package/lib/metrics/reporters/reportLensValidationFailed.js.map +0 -1
- package/lib/metrics/reporters/reportLensView.d.ts +0 -36
- package/lib/metrics/reporters/reportLensView.js +0 -137
- package/lib/metrics/reporters/reportLensView.js.map +0 -1
- package/lib/metrics/reporters/reportLensWait.d.ts +0 -32
- package/lib/metrics/reporters/reportLensWait.js +0 -60
- package/lib/metrics/reporters/reportLensWait.js.map +0 -1
- package/lib/metrics/reporters/reportPlatformCapabilities.d.ts +0 -12
- package/lib/metrics/reporters/reportPlatformCapabilities.js +0 -19
- package/lib/metrics/reporters/reportPlatformCapabilities.js.map +0 -1
- package/lib/metrics/reporters/reportSessionException.d.ts +0 -17
- package/lib/metrics/reporters/reportSessionException.js +0 -12
- package/lib/metrics/reporters/reportSessionException.js.map +0 -1
- package/lib/metrics/reporters/reportUserSession.d.ts +0 -14
- package/lib/metrics/reporters/reportUserSession.js +0 -66
- package/lib/metrics/reporters/reportUserSession.js.map +0 -1
- package/lib/metrics/reporters/reporters.d.ts +0 -46
- package/lib/metrics/reporters/reporters.js +0 -35
- package/lib/metrics/reporters/reporters.js.map +0 -1
- package/lib/namedErrors.d.ts +0 -124
- package/lib/namedErrors.js +0 -58
- package/lib/namedErrors.js.map +0 -1
- package/lib/observable-operators/unsubscribed.d.ts +0 -12
- package/lib/observable-operators/unsubscribed.js +0 -27
- package/lib/observable-operators/unsubscribed.js.map +0 -1
- package/lib/persistence/ExpiringPersistence.d.ts +0 -21
- package/lib/persistence/ExpiringPersistence.js +0 -71
- package/lib/persistence/ExpiringPersistence.js.map +0 -1
- package/lib/persistence/IndexedDBPersistence.d.ts +0 -47
- package/lib/persistence/IndexedDBPersistence.js +0 -190
- package/lib/persistence/IndexedDBPersistence.js.map +0 -1
- package/lib/persistence/Persistence.d.ts +0 -25
- package/lib/persistence/Persistence.js +0 -10
- package/lib/persistence/Persistence.js.map +0 -1
- package/lib/platform/assertPlatformSupported.d.ts +0 -4
- package/lib/platform/assertPlatformSupported.js +0 -15
- package/lib/platform/assertPlatformSupported.js.map +0 -1
- package/lib/platform/cameraKitUserAgent.d.ts +0 -2
- package/lib/platform/cameraKitUserAgent.js +0 -20
- package/lib/platform/cameraKitUserAgent.js.map +0 -1
- package/lib/platform/platformCapabilities.d.ts +0 -50
- package/lib/platform/platformCapabilities.js +0 -128
- package/lib/platform/platformCapabilities.js.map +0 -1
- package/lib/platform/platformInfo.d.ts +0 -43
- package/lib/platform/platformInfo.js +0 -228
- package/lib/platform/platformInfo.js.map +0 -1
- package/lib/remote-configuration/cofHandler.d.ts +0 -29
- package/lib/remote-configuration/cofHandler.js +0 -115
- package/lib/remote-configuration/cofHandler.js.map +0 -1
- package/lib/remote-configuration/preloadConfiguration.d.ts +0 -7
- package/lib/remote-configuration/preloadConfiguration.js +0 -15
- package/lib/remote-configuration/preloadConfiguration.js.map +0 -1
- package/lib/remote-configuration/remoteConfiguration.d.ts +0 -34
- package/lib/remote-configuration/remoteConfiguration.js +0 -73
- package/lib/remote-configuration/remoteConfiguration.js.map +0 -1
- package/lib/session/CameraKitSession.d.ts +0 -255
- package/lib/session/CameraKitSession.js +0 -440
- package/lib/session/CameraKitSession.js.map +0 -1
- package/lib/session/CameraKitSessionEvents.d.ts +0 -37
- package/lib/session/CameraKitSessionEvents.js +0 -38
- package/lib/session/CameraKitSessionEvents.js.map +0 -1
- package/lib/session/LensKeyboard.d.ts +0 -94
- package/lib/session/LensKeyboard.js +0 -95
- package/lib/session/LensKeyboard.js.map +0 -1
- package/lib/session/LensPerformanceMeasurement.d.ts +0 -57
- package/lib/session/LensPerformanceMeasurement.js +0 -114
- package/lib/session/LensPerformanceMeasurement.js.map +0 -1
- package/lib/session/LensPerformanceMetrics.d.ts +0 -31
- package/lib/session/LensPerformanceMetrics.js +0 -59
- package/lib/session/LensPerformanceMetrics.js.map +0 -1
- package/lib/session/lensState.d.ts +0 -30
- package/lib/session/lensState.js +0 -238
- package/lib/session/lensState.js.map +0 -1
- package/lib/session/sessionState.d.ts +0 -10
- package/lib/session/sessionState.js.map +0 -1
- package/lib/transforms/Transform2D.d.ts +0 -22
- package/lib/transforms/Transform2D.js +0 -19
- package/lib/transforms/Transform2D.js.map +0 -1
- package/lib/utils.d.ts +0 -3
- /package/{lib → dist}/benchmark/webglUtils.js +0 -0
- /package/{lib → dist}/benchmark/webglUtils.js.map +0 -0
- /package/{lib → dist}/clients/lensesClient.js +0 -0
- /package/{lib → dist}/common/date.js +0 -0
- /package/{lib → dist}/common/date.js.map +0 -0
- /package/{lib → dist}/common/getFilename.js +0 -0
- /package/{lib → dist}/common/getFilename.js.map +0 -0
- /package/{lib → dist}/common/memoize.js +0 -0
- /package/{lib → dist}/common/memoize.js.map +0 -0
- /package/{lib → dist}/common/time.js +0 -0
- /package/{lib → dist}/common/time.js.map +0 -0
- /package/{lib → dist}/common/types.js +0 -0
- /package/{lib → dist}/dependency-injection/Injectable.js +0 -0
- /package/{lib → dist}/dependency-injection/types.js +0 -0
- /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js +0 -0
- /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/value.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/common/value.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js.map +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js +0 -0
- /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js.map +0 -0
- /package/{lib → dist}/lens/LensPersistenceStore.js +0 -0
- /package/{lib → dist}/lens-core-module/generated-types.js +0 -0
- /package/{lib → dist}/lens-core-module/generated-types.js.map +0 -0
- /package/{lib → dist}/session/sessionState.js +0 -0
- /package/{lib → dist}/utils.js +0 -0
- /package/{lib → dist}/utils.js.map +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lens launch params.
|
|
3
|
+
*/
|
|
4
|
+
export type LensLaunchParams = Record<string, string | number | string[] | number[]>;
|
|
5
|
+
/**
|
|
6
|
+
* Some Lenses may accept (or require) certain data provided to them when the Lens is applied.
|
|
7
|
+
*
|
|
8
|
+
* This data may include things like user info (to render the user's name, for example, or perform some task based on
|
|
9
|
+
* their birth date), or arbitrary `launchParams` defined by the Lens.
|
|
10
|
+
*
|
|
11
|
+
* @category Lenses
|
|
12
|
+
*/
|
|
13
|
+
export interface LensLaunchData {
|
|
14
|
+
userId?: string;
|
|
15
|
+
userData?: LensUserData;
|
|
16
|
+
launchParams?: LensLaunchParams;
|
|
17
|
+
}
|
|
18
|
+
export interface LensUserData {
|
|
19
|
+
userId?: string;
|
|
20
|
+
username?: string;
|
|
21
|
+
birthdate?: string;
|
|
22
|
+
displayName?: string;
|
|
23
|
+
countrycode?: string;
|
|
24
|
+
score?: string;
|
|
25
|
+
bitmojiInfo?: BitmojiUserInfo;
|
|
26
|
+
friendInfo?: FriendUserInfo;
|
|
27
|
+
zodiac?: Zodiac;
|
|
28
|
+
}
|
|
29
|
+
export interface BitmojiUserInfo {
|
|
30
|
+
avatarId?: string;
|
|
31
|
+
selfieId?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface FriendUserInfo {
|
|
34
|
+
friendshipStart?: Date;
|
|
35
|
+
lastInteraction?: Date;
|
|
36
|
+
streak?: number;
|
|
37
|
+
}
|
|
38
|
+
export type Zodiac = "aquarius" | "aries" | "cancer" | "capricorn" | "gemini" | "leo" | "libra" | "pisces" | "sagittarius" | "scorpio" | "taurus" | "virgo";
|
|
39
|
+
export declare function isZodiac(value: unknown): value is Zodiac;
|
|
40
|
+
export declare function isLensLaunchDataOrUndefined(value: unknown): value is LensLaunchData | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
export declare const encodeLensLaunchData: (launchData: LensLaunchData, persistentStore: ArrayBuffer) => Uint8Array;
|
|
45
|
+
//# sourceMappingURL=LensLaunchData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensLaunchData.d.ts","sourceRoot":"","sources":["../../src/lens/LensLaunchData.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAoBD,MAAM,MAAM,MAAM,GACZ,UAAU,GACV,OAAO,GACP,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,KAAK,GACL,OAAO,GACP,QAAQ,GACR,aAAa,GACb,SAAS,GACT,QAAQ,GACR,OAAO,CAAC;AAId,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,GAAG,SAAS,CAE/F;AAqED;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAgB,cAAc,mBAAmB,WAAW,KAAG,UAmB/F,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { LaunchData } from "../generated-proto/pb_schema/lenses/launchdata";
|
|
2
|
+
import { isArrayOfType, isDateOrUndefined, isValidNumberOrUndefined, isRecord, isString, isStringOrUndefined, isUndefined, isValidNumber, predicateRecordValues, } from "../common/typeguards";
|
|
3
|
+
import { UserData_Zodiac } from "../generated-proto/pb_schema/lenses/user_data";
|
|
4
|
+
const zodiacMap = {
|
|
5
|
+
aquarius: UserData_Zodiac.Aquarius,
|
|
6
|
+
aries: UserData_Zodiac.Aries,
|
|
7
|
+
cancer: UserData_Zodiac.Cancer,
|
|
8
|
+
capricorn: UserData_Zodiac.Capricorn,
|
|
9
|
+
gemini: UserData_Zodiac.Gemini,
|
|
10
|
+
leo: UserData_Zodiac.Leo,
|
|
11
|
+
libra: UserData_Zodiac.Libra,
|
|
12
|
+
pisces: UserData_Zodiac.Pisces,
|
|
13
|
+
sagittarius: UserData_Zodiac.Sagittarius,
|
|
14
|
+
scorpio: UserData_Zodiac.Scorpio,
|
|
15
|
+
taurus: UserData_Zodiac.Taurus,
|
|
16
|
+
virgo: UserData_Zodiac.Virgo,
|
|
17
|
+
};
|
|
18
|
+
const zodiacValueSet = new Set(Object.keys(zodiacMap));
|
|
19
|
+
export function isZodiac(value) {
|
|
20
|
+
return zodiacValueSet.has(value);
|
|
21
|
+
}
|
|
22
|
+
export function isLensLaunchDataOrUndefined(value) {
|
|
23
|
+
return isUndefined(value) || isLensLaunchData(value);
|
|
24
|
+
}
|
|
25
|
+
function isLensLaunchData(value) {
|
|
26
|
+
return (isRecord(value) &&
|
|
27
|
+
isStringOrUndefined(value.userId) &&
|
|
28
|
+
isLensUserDataOrUndefined(value.userData) &&
|
|
29
|
+
isLensLaunchParamsOrUndefined(value.launchParams));
|
|
30
|
+
}
|
|
31
|
+
function isLensUserDataOrUndefined(value) {
|
|
32
|
+
return isUndefined(value) || isLensUserData(value);
|
|
33
|
+
}
|
|
34
|
+
function isLensUserData(value) {
|
|
35
|
+
return (isRecord(value) &&
|
|
36
|
+
isStringOrUndefined(value.userId) &&
|
|
37
|
+
isStringOrUndefined(value.username) &&
|
|
38
|
+
isStringOrUndefined(value.birthdate) &&
|
|
39
|
+
isStringOrUndefined(value.displayName) &&
|
|
40
|
+
isStringOrUndefined(value.countrycode) &&
|
|
41
|
+
isStringOrUndefined(value.score) &&
|
|
42
|
+
isBitmojiUserInfoOrUndefined(value.bitmojiInfo) &&
|
|
43
|
+
isFriendUserInfoOrUndefined(value.friendInfo) &&
|
|
44
|
+
isZodiacOrUndefined(value.zodiac));
|
|
45
|
+
}
|
|
46
|
+
function isBitmojiUserInfoOrUndefined(value) {
|
|
47
|
+
return isUndefined(value) || isBitmojiUserInfo(value);
|
|
48
|
+
}
|
|
49
|
+
function isBitmojiUserInfo(value) {
|
|
50
|
+
return isRecord(value) && isStringOrUndefined(value.avatarId) && isStringOrUndefined(value.selfieId);
|
|
51
|
+
}
|
|
52
|
+
function isFriendUserInfoOrUndefined(value) {
|
|
53
|
+
return isUndefined(value) || isFriendUserInfo(value);
|
|
54
|
+
}
|
|
55
|
+
function isFriendUserInfo(value) {
|
|
56
|
+
return (isRecord(value) &&
|
|
57
|
+
isDateOrUndefined(value.friendshipStart) &&
|
|
58
|
+
isDateOrUndefined(value.lastInteraction) &&
|
|
59
|
+
isValidNumberOrUndefined(value.streak));
|
|
60
|
+
}
|
|
61
|
+
function isZodiacOrUndefined(value) {
|
|
62
|
+
return isUndefined(value) || isZodiac(value);
|
|
63
|
+
}
|
|
64
|
+
function isLensLaunchParamsOrUndefined(value) {
|
|
65
|
+
return isUndefined(value) || isLensLaunchParams(value);
|
|
66
|
+
}
|
|
67
|
+
function isLensLaunchParams(value) {
|
|
68
|
+
return isRecord(value) && predicateRecordValues(isStringOrNumberOrArrayOfStringsOrNumbers)(value);
|
|
69
|
+
}
|
|
70
|
+
function isStringOrNumberOrArrayOfStringsOrNumbers(value) {
|
|
71
|
+
return (isString(value) || isValidNumber(value) || isArrayOfType(isString, value) || isArrayOfType(isValidNumber, value));
|
|
72
|
+
}
|
|
73
|
+
export const encodeLensLaunchData = (launchData, persistentStore) => {
|
|
74
|
+
var _a;
|
|
75
|
+
return LaunchData.encode(LaunchData.fromPartial(Object.assign(Object.assign({}, launchData), { userData: launchData.userData
|
|
76
|
+
? Object.assign(Object.assign({}, launchData.userData), { zodiac: ((_a = launchData.userData) === null || _a === void 0 ? void 0 : _a.zodiac) ? zodiacMap[launchData.userData.zodiac] : undefined }) : undefined, launchParams: launchData.launchParams ? encodeLensLaunchParams(launchData.launchParams) : undefined, persistentStore: { store: new Uint8Array(persistentStore) } })))
|
|
77
|
+
.finish()
|
|
78
|
+
.slice();
|
|
79
|
+
};
|
|
80
|
+
function encodeLensLaunchParams(launchParams) {
|
|
81
|
+
return { data: new TextEncoder().encode(JSON.stringify(launchParams)) };
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=LensLaunchData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensLaunchData.js","sourceRoot":"","sources":["../../src/lens/LensLaunchData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EACH,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,qBAAqB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AA8ChF,MAAM,SAAS,GAAkG;IAC7G,QAAQ,EAAE,eAAe,CAAC,QAAQ;IAClC,KAAK,EAAE,eAAe,CAAC,KAAK;IAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;IAC9B,SAAS,EAAE,eAAe,CAAC,SAAS;IACpC,MAAM,EAAE,eAAe,CAAC,MAAM;IAC9B,GAAG,EAAE,eAAe,CAAC,GAAG;IACxB,KAAK,EAAE,eAAe,CAAC,KAAK;IAC5B,MAAM,EAAE,eAAe,CAAC,MAAM;IAC9B,WAAW,EAAE,eAAe,CAAC,WAAW;IACxC,OAAO,EAAE,eAAe,CAAC,OAAO;IAChC,MAAM,EAAE,eAAe,CAAC,MAAM;IAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;CAGW,CAAC;AAgB5C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAa,CAAC,CAAC;AAEnE,MAAM,UAAU,QAAQ,CAAC,KAAc;IACnC,OAAO,cAAc,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACtD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC;QACf,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzC,6BAA6B,CAAC,KAAK,CAAC,YAAY,CAAC,CACpD,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC7C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IAClC,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC;QACf,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACnC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC;QACpC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;QAChC,4BAA4B,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,2BAA2B,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7C,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CACpC,CAAC;AACN,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAChD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACrC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACzG,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IAC/C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC;QACf,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC;QACxC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC;QACxC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CACzC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACvC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAc;IACjD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,yCAAyC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,yCAAyC,CAAC,KAAc;IAC7D,OAAO,CACH,QAAQ,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CACnH,CAAC;AACN,CAAC;AAKD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAA0B,EAAE,eAA4B,EAAc,EAAE;;IAIzG,OAAO,UAAU,CAAC,MAAM,CACpB,UAAU,CAAC,WAAW,iCACf,UAAU,KACb,QAAQ,EAAE,UAAU,CAAC,QAAQ;YACzB,CAAC,iCACQ,UAAU,CAAC,QAAQ,KACtB,MAAM,EAAE,CAAA,MAAA,UAAU,CAAC,QAAQ,0CAAE,MAAM,EAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,IAE7F,CAAC,CAAC,SAAS,EACf,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,EACnG,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,IAC7D,CACL;SACI,MAAM,EAAE;SACR,KAAK,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF,SAAS,sBAAsB,CAAC,YAA+B;IAC3D,OAAO,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC","sourcesContent":["import { LaunchData } from \"../generated-proto/pb_schema/lenses/launchdata\";\nimport {\n isArrayOfType,\n isDateOrUndefined,\n isValidNumberOrUndefined,\n isRecord,\n isString,\n isStringOrUndefined,\n isUndefined,\n isValidNumber,\n predicateRecordValues,\n} from \"../common/typeguards\";\nimport type { LaunchParams } from \"../generated-proto/pb_schema/lenses/launch_params\";\nimport { UserData_Zodiac } from \"../generated-proto/pb_schema/lenses/user_data\";\nimport type { EnumToPublicStringLiteralMap, ExcludeKeys } from \"../common/types\";\n\n/**\n * Lens launch params.\n */\nexport type LensLaunchParams = Record<string, string | number | string[] | number[]>;\n\n/**\n * Some Lenses may accept (or require) certain data provided to them when the Lens is applied.\n *\n * This data may include things like user info (to render the user's name, for example, or perform some task based on\n * their birth date), or arbitrary `launchParams` defined by the Lens.\n *\n * @category Lenses\n */\nexport interface LensLaunchData {\n userId?: string;\n userData?: LensUserData;\n launchParams?: LensLaunchParams;\n}\n\nexport interface LensUserData {\n userId?: string;\n username?: string;\n birthdate?: string;\n displayName?: string;\n countrycode?: string;\n score?: string;\n bitmojiInfo?: BitmojiUserInfo;\n friendInfo?: FriendUserInfo;\n zodiac?: Zodiac;\n}\n\nexport interface BitmojiUserInfo {\n avatarId?: string;\n selfieId?: string;\n}\n\nexport interface FriendUserInfo {\n friendshipStart?: Date;\n lastInteraction?: Date;\n streak?: number;\n}\n\n// Extract public values of UserData_Zodiac\nconst zodiacMap: ExcludeKeys<EnumToPublicStringLiteralMap<typeof UserData_Zodiac>, \"invalid\" | \"unrecognized\"> = {\n aquarius: UserData_Zodiac.Aquarius,\n aries: UserData_Zodiac.Aries,\n cancer: UserData_Zodiac.Cancer,\n capricorn: UserData_Zodiac.Capricorn,\n gemini: UserData_Zodiac.Gemini,\n leo: UserData_Zodiac.Leo,\n libra: UserData_Zodiac.Libra,\n pisces: UserData_Zodiac.Pisces,\n sagittarius: UserData_Zodiac.Sagittarius,\n scorpio: UserData_Zodiac.Scorpio,\n taurus: UserData_Zodiac.Taurus,\n virgo: UserData_Zodiac.Virgo,\n // NOTE: This rule helps keep the public-facing Zodiac type consistent with the proto.\n // We prefer using a separate type for TypeDoc purposes.\n} satisfies Record<Zodiac, UserData_Zodiac>;\n\nexport type Zodiac =\n | \"aquarius\"\n | \"aries\"\n | \"cancer\"\n | \"capricorn\"\n | \"gemini\"\n | \"leo\"\n | \"libra\"\n | \"pisces\"\n | \"sagittarius\"\n | \"scorpio\"\n | \"taurus\"\n | \"virgo\";\n\nconst zodiacValueSet = new Set(Object.keys(zodiacMap) as Zodiac[]);\n\nexport function isZodiac(value: unknown): value is Zodiac {\n return zodiacValueSet.has(value as Zodiac);\n}\n\nexport function isLensLaunchDataOrUndefined(value: unknown): value is LensLaunchData | undefined {\n return isUndefined(value) || isLensLaunchData(value);\n}\n\nfunction isLensLaunchData(value: unknown): value is LensLaunchData {\n return (\n isRecord(value) &&\n isStringOrUndefined(value.userId) &&\n isLensUserDataOrUndefined(value.userData) &&\n isLensLaunchParamsOrUndefined(value.launchParams)\n );\n}\n\nfunction isLensUserDataOrUndefined(value: unknown): value is LensUserData | undefined {\n return isUndefined(value) || isLensUserData(value);\n}\n\nfunction isLensUserData(value: unknown): value is LensUserData {\n return (\n isRecord(value) &&\n isStringOrUndefined(value.userId) &&\n isStringOrUndefined(value.username) &&\n isStringOrUndefined(value.birthdate) &&\n isStringOrUndefined(value.displayName) &&\n isStringOrUndefined(value.countrycode) &&\n isStringOrUndefined(value.score) &&\n isBitmojiUserInfoOrUndefined(value.bitmojiInfo) &&\n isFriendUserInfoOrUndefined(value.friendInfo) &&\n isZodiacOrUndefined(value.zodiac)\n );\n}\n\nfunction isBitmojiUserInfoOrUndefined(value: unknown): value is BitmojiUserInfo | undefined {\n return isUndefined(value) || isBitmojiUserInfo(value);\n}\n\nfunction isBitmojiUserInfo(value: unknown): value is BitmojiUserInfo {\n return isRecord(value) && isStringOrUndefined(value.avatarId) && isStringOrUndefined(value.selfieId);\n}\n\nfunction isFriendUserInfoOrUndefined(value: unknown): value is FriendUserInfo | undefined {\n return isUndefined(value) || isFriendUserInfo(value);\n}\n\nfunction isFriendUserInfo(value: unknown): value is FriendUserInfo {\n return (\n isRecord(value) &&\n isDateOrUndefined(value.friendshipStart) &&\n isDateOrUndefined(value.lastInteraction) &&\n isValidNumberOrUndefined(value.streak)\n );\n}\n\nfunction isZodiacOrUndefined(value: unknown): value is Zodiac | undefined {\n return isUndefined(value) || isZodiac(value);\n}\n\nfunction isLensLaunchParamsOrUndefined(value: unknown): value is LensLaunchParams | undefined {\n return isUndefined(value) || isLensLaunchParams(value);\n}\n\nfunction isLensLaunchParams(value: unknown): value is LensLaunchParams {\n return isRecord(value) && predicateRecordValues(isStringOrNumberOrArrayOfStringsOrNumbers)(value);\n}\n\nfunction isStringOrNumberOrArrayOfStringsOrNumbers(value: unknown): value is string | number | string[] | number[] {\n return (\n isString(value) || isValidNumber(value) || isArrayOfType(isString, value) || isArrayOfType(isValidNumber, value)\n );\n}\n\n/**\n * @internal\n */\nexport const encodeLensLaunchData = (launchData: LensLaunchData, persistentStore: ArrayBuffer): Uint8Array => {\n // finish() protobufjs method returns UInt8Array with shared ArrayBuffer\n // to avoid of detached buffer error when passing data to Lens Core\n // data should be copied using slice() method\n return LaunchData.encode(\n LaunchData.fromPartial({\n ...launchData,\n userData: launchData.userData\n ? {\n ...launchData.userData,\n zodiac: launchData.userData?.zodiac ? zodiacMap[launchData.userData.zodiac] : undefined,\n }\n : undefined,\n launchParams: launchData.launchParams ? encodeLensLaunchParams(launchData.launchParams) : undefined,\n persistentStore: { store: new Uint8Array(persistentStore) },\n })\n )\n .finish()\n .slice();\n};\n\nfunction encodeLensLaunchParams(launchParams?: LensLaunchParams): LaunchParams {\n return { data: new TextEncoder().encode(JSON.stringify(launchParams)) };\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IndexedDBPersistence } from "../persistence/IndexedDBPersistence";
|
|
2
|
+
import type { LensCore } from "../lens-core-module/lensCore";
|
|
3
|
+
export declare const lensPersistenceStoreFactory: {
|
|
4
|
+
(args_0: LensCore): IndexedDBPersistence<ArrayBuffer>;
|
|
5
|
+
token: "lensPersistenceStore";
|
|
6
|
+
dependencies: readonly ["lensCore"];
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=LensPersistenceStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensPersistenceStore.d.ts","sourceRoot":"","sources":["../../src/lens/LensPersistenceStore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAI7D,eAAO,MAAM,2BAA2B;;;;CAcvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensPersistenceStore.js","sourceRoot":"","sources":["../../src/lens/LensPersistenceStore.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CACjD,sBAAsB,EACtB,CAAC,eAAe,CAAC,KAAK,CAAU,EAChC,CAAC,QAAkB,EAAqC,EAAE;IACtD,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,mCAAmC,CAAC,CAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAC5D,IAAI;YACA,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAC5B;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,8CAA8C,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;SAClG;IACL,CAAC,CAAA,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC,CACJ,CAAC","sourcesContent":["import { Injectable } from \"../dependency-injection/Injectable\";\nimport { persistentStoreError } from \"../namedErrors\";\nimport { getLogger } from \"../logger/logger\";\nimport { IndexedDBPersistence } from \"../persistence/IndexedDBPersistence\";\nimport { lensCoreFactory } from \"../lens-core-module/loader/lensCoreFactory\";\nimport type { LensCore } from \"../lens-core-module/lensCore\";\n\nconst logger = getLogger(\"LensPersistenceStore\");\n\nexport const lensPersistenceStoreFactory = Injectable(\n \"lensPersistenceStore\",\n [lensCoreFactory.token] as const,\n (lensCore: LensCore): IndexedDBPersistence<ArrayBuffer> => {\n const db = new IndexedDBPersistence<ArrayBuffer>({ databaseName: \"lensPersistenceStore\" });\n lensCore.registerSavePersistentStoreCallback(async (id, data) => {\n try {\n await db.store(id, data);\n } catch (error) {\n logger.error(persistentStoreError(`Error occurred while storing data for lens ${id}.`, error));\n }\n });\n return db;\n }\n);\n"]}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { FetchHandler } from "../handlers/defaultFetchHandler";
|
|
2
|
+
import type { RequestStateEventTarget } from "../handlers/requestStateEmittingHandler";
|
|
3
|
+
import type { LensDownloadDimensions } from "../metrics/reporters/reportLensAndAssetDownload";
|
|
4
|
+
import type { Handler } from "../handlers/HandlerChainBuilder";
|
|
5
|
+
import type { Lens, LensProtoWithGroupId } from "./Lens";
|
|
6
|
+
import type { LensAssetRepository } from "./assets/LensAssetRepository";
|
|
7
|
+
import type { LensSource } from "./LensSource";
|
|
8
|
+
type LensFetchHandler = Handler<[
|
|
9
|
+
RequestInfo,
|
|
10
|
+
LensDownloadDimensions
|
|
11
|
+
], [
|
|
12
|
+
ArrayBuffer,
|
|
13
|
+
Response
|
|
14
|
+
], RequestInit | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Lens assets are included in a manifest, and each will indicate when that asset will be used by the lens.
|
|
17
|
+
*
|
|
18
|
+
* Assets can have the following timing values:
|
|
19
|
+
* - `required`: the lens will definitely request this asset immediately when the lens is applied.
|
|
20
|
+
* - `onDemand`: the lens may request this asset at some time while the lens is applied.
|
|
21
|
+
*
|
|
22
|
+
* Depending on the use-case, an application may want to cache both required and onDemand assets for
|
|
23
|
+
* a particular lens, or may decide to only cache required assets (or cache no assets).
|
|
24
|
+
*
|
|
25
|
+
* @category Lenses
|
|
26
|
+
*/
|
|
27
|
+
export type AssetTiming = "required" | "onDemand";
|
|
28
|
+
export interface LensBinary {
|
|
29
|
+
lensBuffer: ArrayBuffer;
|
|
30
|
+
lensChecksum: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The LensRepository is used to query for lenses from specific lens groups, or for a lens with a specific ID.
|
|
34
|
+
*
|
|
35
|
+
* Lens groups are configured in the CameraKit Portal -- that's where you'll find lens group IDs and lens IDs.
|
|
36
|
+
*
|
|
37
|
+
* Lenses must be loaded by the LensRepository before they can be applied to a {@link CameraKitSession}.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const cameraKit = await bootstrapCameraKit(options)
|
|
42
|
+
* const session = await cameraKit.createSession()
|
|
43
|
+
* const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)
|
|
44
|
+
* session.applyLens(lens)
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @category Lenses
|
|
48
|
+
*/
|
|
49
|
+
declare class LensRepository {
|
|
50
|
+
private readonly lensFetchHandler;
|
|
51
|
+
private readonly lensSources;
|
|
52
|
+
private readonly lensAssetRepository;
|
|
53
|
+
private readonly metadataCache;
|
|
54
|
+
private readonly binariesCache;
|
|
55
|
+
/** @internal */
|
|
56
|
+
constructor(lensFetchHandler: LensFetchHandler, lensSources: LensSource[], lensAssetRepository: LensAssetRepository);
|
|
57
|
+
/**
|
|
58
|
+
* Retrieve a single Lens.
|
|
59
|
+
*
|
|
60
|
+
* @param lensId Desired Lens's unique ID. Can be found in the CameraKit Portal.
|
|
61
|
+
* @param groupId The ID of a group containing the desired Lens. Can be found in the CameraKit Portal.
|
|
62
|
+
* @returns Resolves with the desired Lens, or rejects if an error occurred (including a missing Lens).
|
|
63
|
+
*/
|
|
64
|
+
loadLens(lensId: string, groupId: string): Promise<Lens>;
|
|
65
|
+
/**
|
|
66
|
+
* Retrieve the Lenses contained in a list of Lens Groups.
|
|
67
|
+
*
|
|
68
|
+
* This may result in multiple requests to retrieve Lens data (e.g. one per desired group). If any constituent
|
|
69
|
+
* requests fail, those errors will be reported in the response – but the returned Promise will not be rejected. Any
|
|
70
|
+
* Lenses which could be successfully retrieved will be available in the response.
|
|
71
|
+
*
|
|
72
|
+
* @param groupIds A list of Lens Group IDs. Can be found in the CameraKit Portal.
|
|
73
|
+
* @returns Resolves with a flattened list of all lenses in the desired groups. If any errors occurred during the
|
|
74
|
+
* query operation, these will be included in a separate list. If errors are present, the list of Lenses may not
|
|
75
|
+
* contain all the Lenses from the desired groups.
|
|
76
|
+
*/
|
|
77
|
+
loadLensGroups(groupIds: string[]): Promise<{
|
|
78
|
+
errors: Error[];
|
|
79
|
+
lenses: Lens[];
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Loads and caches lens content and dependencies to reduce latency when {@link CameraKitSession.applyLens} is later
|
|
83
|
+
* called to apply the lens. This is an in-memory cache, it will not be persisted across page loads.
|
|
84
|
+
*
|
|
85
|
+
* This may useful if the application A) knows which lenses will be applied and B) has some opportunity to call
|
|
86
|
+
* this method before a lens is applied. For example, if the user must perform some other actions before lenses
|
|
87
|
+
* become active, this might be a good opportunity to cache lenses to improve applyLens latency.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)
|
|
92
|
+
* await cameraKit.lensRepository.cacheLensContent([lens])
|
|
93
|
+
*
|
|
94
|
+
* // sometime later -- this call will use the cached lens content, making lens application faster.
|
|
95
|
+
* await cameraKitSession.applyLens(lens)
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @param lenses Array of lenses to cache in memory.
|
|
99
|
+
* @param assetTimingsToCache Lenses specify certain required assets that are necessary for the lens to render, and
|
|
100
|
+
* other assets which may be needed by the lens. By default this method will cache all of those assets, but this
|
|
101
|
+
* behavior can be modified to only load the required assets, only the "onDemand" assets, or neither (by passing
|
|
102
|
+
* an empty array).
|
|
103
|
+
*/
|
|
104
|
+
cacheLensContent(lenses: Lens[], assetTimingsToCache?: AssetTiming[]): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Returns loaded Lens metadata if available.
|
|
107
|
+
*/
|
|
108
|
+
getLensMetadata(lensId: string): LensProtoWithGroupId | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Removes Lens content from the in-memory cache.
|
|
111
|
+
*/
|
|
112
|
+
removeCachedLenses(lenses: Lens[]): void;
|
|
113
|
+
/**
|
|
114
|
+
* Fetches lens content and assets. This may come from the cache, otherwise network requests will be made.
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
117
|
+
*
|
|
118
|
+
* @param lens Lens to fetch content for.
|
|
119
|
+
* @param lowPriority Flag indicating if the fetch requests should be treated with lower priority,
|
|
120
|
+
* leveraging browser capabilities to defer or deprioritize network traffic.
|
|
121
|
+
*/
|
|
122
|
+
getLensContent(lens: Lens, lowPriority?: boolean): Promise<LensBinary>;
|
|
123
|
+
}
|
|
124
|
+
export { LensRepository };
|
|
125
|
+
/**
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
export declare const lensRepositoryFactory: {
|
|
129
|
+
(args_0: RequestStateEventTarget, args_1: FetchHandler, args_2: LensSource[], args_3: LensAssetRepository): LensRepository;
|
|
130
|
+
token: "LensRepository";
|
|
131
|
+
dependencies: readonly ["requestStateEventTarget", "defaultFetchHandler", "lensSources", "lensAssetRepository"];
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=LensRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensRepository.d.ts","sourceRoot":"","sources":["../../src/lens/LensRepository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAKvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAS/D,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,KAAK,gBAAgB,GAAG,OAAO,CAC3B;IAAC,WAAW;IAAE,sBAAsB;CAAC,EACrC;IAAC,WAAW;IAAE,QAAQ;CAAC,EACvB,WAAW,GAAG,SAAS,CAC1B,CAAC;AAoBF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,cAAM,cAAc;IAMZ,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAPxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE,gBAAgB;gBAEK,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,UAAU,EAAE,EACzB,mBAAmB,EAAE,mBAAmB;IAG7D;;;;;;OAMG;IAGG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D;;;;;;;;;;;OAWG;IAGG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC9C,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,CAAC;KAClB,CAAC;IA2BF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IAGG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,mBAAmB,GAAE,WAAW,EAA6B;IAiBpG;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIjE;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE;IAIjC;;;;;;;;OAQG;IACG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,UAAU,CAAC;CAwBtF;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAoBjC,CAAC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { __awaiter, __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { validate } from "../common/validate";
|
|
3
|
+
import { isArrayOfType, isSafeString, isSafeStringArray, isString, isUndefined } from "../common/typeguards";
|
|
4
|
+
import { Injectable } from "../dependency-injection/Injectable";
|
|
5
|
+
import { defaultFetchHandlerFactory } from "../handlers/defaultFetchHandler";
|
|
6
|
+
import { createRequestStateEmittingHandler, requestStateEventTargetFactory, } from "../handlers/requestStateEmittingHandler";
|
|
7
|
+
import { HandlerChainBuilder } from "../handlers/HandlerChainBuilder";
|
|
8
|
+
import { createArrayBufferParsingHandler } from "../handlers/arrayBufferParsingHandler";
|
|
9
|
+
import { LensAssetManifestItem_RequestTiming } from "../generated-proto/pb_schema/camera_kit/v3/lens";
|
|
10
|
+
import { getLogger } from "../logger/logger";
|
|
11
|
+
import { errorLoggingDecorator } from "../logger/errorLoggingDecorator";
|
|
12
|
+
import { ensureError } from "../common/errorHelpers";
|
|
13
|
+
import { withRequestPriority } from "../handlers/utils";
|
|
14
|
+
import { isLensArray, toPublicLens } from "./Lens";
|
|
15
|
+
import { lensAssetRepositoryFactory } from "./assets/LensAssetRepository";
|
|
16
|
+
import { loadLensesFromSources, lensSourcesFactory } from "./LensSource";
|
|
17
|
+
const logger = getLogger("LensRepository");
|
|
18
|
+
const assetTimingMap = {
|
|
19
|
+
required: LensAssetManifestItem_RequestTiming.REQUIRED,
|
|
20
|
+
onDemand: LensAssetManifestItem_RequestTiming.ON_DEMAND,
|
|
21
|
+
};
|
|
22
|
+
function isAssetTiming(value) {
|
|
23
|
+
return isString(value) && assetTimingMap.hasOwnProperty(value);
|
|
24
|
+
}
|
|
25
|
+
function isAssetTimingArrayOrUndefined(value) {
|
|
26
|
+
return isUndefined(value) || isArrayOfType(isAssetTiming, value);
|
|
27
|
+
}
|
|
28
|
+
let LensRepository = (() => {
|
|
29
|
+
var _a;
|
|
30
|
+
let _instanceExtraInitializers = [];
|
|
31
|
+
let _loadLens_decorators;
|
|
32
|
+
let _loadLensGroups_decorators;
|
|
33
|
+
let _cacheLensContent_decorators;
|
|
34
|
+
return _a = class LensRepository {
|
|
35
|
+
constructor(lensFetchHandler, lensSources, lensAssetRepository) {
|
|
36
|
+
this.lensFetchHandler = (__runInitializers(this, _instanceExtraInitializers), lensFetchHandler);
|
|
37
|
+
this.lensSources = lensSources;
|
|
38
|
+
this.lensAssetRepository = lensAssetRepository;
|
|
39
|
+
this.metadataCache = new Map();
|
|
40
|
+
this.binariesCache = new Map();
|
|
41
|
+
}
|
|
42
|
+
loadLens(lensId, groupId) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
const lens = (yield loadLensesFromSources(this.lensSources, groupId, lensId))[0];
|
|
45
|
+
if (!lens) {
|
|
46
|
+
throw new Error(`Cannot load lens. No lens with id ${lensId} was found in lens group ${groupId}.`);
|
|
47
|
+
}
|
|
48
|
+
const lensWithGroup = Object.assign(Object.assign({}, lens), { groupId });
|
|
49
|
+
this.metadataCache.set(lens.id, lensWithGroup);
|
|
50
|
+
return toPublicLens(lensWithGroup);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
loadLensGroups(groupIds) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const responses = yield Promise.all(groupIds.map((groupId) => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
try {
|
|
57
|
+
return (yield loadLensesFromSources(this.lensSources, groupId)).map((lens) => {
|
|
58
|
+
const lensWithGroup = Object.assign(Object.assign({}, lens), { groupId });
|
|
59
|
+
this.metadataCache.set(lens.id, lensWithGroup);
|
|
60
|
+
return toPublicLens(lensWithGroup);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
const error = ensureError(e);
|
|
65
|
+
logger.error(new Error(`Failed to load lens group ${groupId}.`, { cause: error }));
|
|
66
|
+
return error;
|
|
67
|
+
}
|
|
68
|
+
})));
|
|
69
|
+
return responses.reduce((result, response) => {
|
|
70
|
+
if (response instanceof Error)
|
|
71
|
+
result.errors.push(response);
|
|
72
|
+
else
|
|
73
|
+
result.lenses.push(...response);
|
|
74
|
+
return result;
|
|
75
|
+
}, { errors: [], lenses: [] });
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
cacheLensContent(lenses, assetTimingsToCache = ["required", "onDemand"]) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const assetTimingsToLoad = assetTimingsToCache.map((timing) => assetTimingMap[timing]);
|
|
81
|
+
yield Promise.all(lenses.map((lens) => __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
try {
|
|
83
|
+
const { lensBuffer } = yield this.getLensContent(lens, true);
|
|
84
|
+
const { content } = this.metadataCache.get(lens.id);
|
|
85
|
+
this.binariesCache.set(lens.id, lensBuffer);
|
|
86
|
+
yield this.lensAssetRepository.cacheAssets(content.assetManifest, lens, assetTimingsToLoad, true);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
logger.warn(`Failed to cache lens ${lens.id}.`, error);
|
|
90
|
+
}
|
|
91
|
+
})));
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
getLensMetadata(lensId) {
|
|
95
|
+
return this.metadataCache.get(lensId);
|
|
96
|
+
}
|
|
97
|
+
removeCachedLenses(lenses) {
|
|
98
|
+
lenses.forEach((lens) => this.binariesCache.delete(lens.id));
|
|
99
|
+
}
|
|
100
|
+
getLensContent(lens, lowPriority = false) {
|
|
101
|
+
var _a;
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const { content } = (_a = this.metadataCache.get(lens.id)) !== null && _a !== void 0 ? _a : {};
|
|
104
|
+
if (!content) {
|
|
105
|
+
throw new Error(`Cannot find metadata for lens ${lens.id}.`);
|
|
106
|
+
}
|
|
107
|
+
const cachedLensBuffer = this.binariesCache.get(lens.id);
|
|
108
|
+
if (cachedLensBuffer) {
|
|
109
|
+
return {
|
|
110
|
+
lensBuffer: cachedLensBuffer,
|
|
111
|
+
lensChecksum: content.lnsSha256,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const [lensBuffer] = yield this.lensFetchHandler([
|
|
115
|
+
new Request(content.lnsUrlBolt, withRequestPriority({ cache: "force-cache" }, lowPriority)),
|
|
116
|
+
{
|
|
117
|
+
requestType: "lens_content",
|
|
118
|
+
lensId: lens.id,
|
|
119
|
+
},
|
|
120
|
+
]);
|
|
121
|
+
return { lensBuffer, lensChecksum: content.lnsSha256 };
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
(() => {
|
|
126
|
+
_loadLens_decorators = [validate(isSafeString, isSafeString), errorLoggingDecorator(logger)];
|
|
127
|
+
_loadLensGroups_decorators = [validate(isSafeStringArray), errorLoggingDecorator(logger)];
|
|
128
|
+
_cacheLensContent_decorators = [validate(isLensArray, isAssetTimingArrayOrUndefined), errorLoggingDecorator(logger)];
|
|
129
|
+
__esDecorate(_a, null, _loadLens_decorators, { kind: "method", name: "loadLens", static: false, private: false, access: { has: obj => "loadLens" in obj, get: obj => obj.loadLens } }, null, _instanceExtraInitializers);
|
|
130
|
+
__esDecorate(_a, null, _loadLensGroups_decorators, { kind: "method", name: "loadLensGroups", static: false, private: false, access: { has: obj => "loadLensGroups" in obj, get: obj => obj.loadLensGroups } }, null, _instanceExtraInitializers);
|
|
131
|
+
__esDecorate(_a, null, _cacheLensContent_decorators, { kind: "method", name: "cacheLensContent", static: false, private: false, access: { has: obj => "cacheLensContent" in obj, get: obj => obj.cacheLensContent } }, null, _instanceExtraInitializers);
|
|
132
|
+
})(),
|
|
133
|
+
_a;
|
|
134
|
+
})();
|
|
135
|
+
export { LensRepository };
|
|
136
|
+
export const lensRepositoryFactory = Injectable("LensRepository", [
|
|
137
|
+
requestStateEventTargetFactory.token,
|
|
138
|
+
defaultFetchHandlerFactory.token,
|
|
139
|
+
lensSourcesFactory.token,
|
|
140
|
+
lensAssetRepositoryFactory.token,
|
|
141
|
+
], (requestStateEventTarget, defaultFetchHandler, lensSources, lensAssetRepository) => {
|
|
142
|
+
const lensFetchHandler = new HandlerChainBuilder(defaultFetchHandler)
|
|
143
|
+
.map(createRequestStateEmittingHandler(requestStateEventTarget))
|
|
144
|
+
.map(createArrayBufferParsingHandler()).handler;
|
|
145
|
+
return new LensRepository(lensFetchHandler, lensSources, lensAssetRepository);
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=LensRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensRepository.js","sourceRoot":"","sources":["../../src/lens/LensRepository.ts"],"names":[],"mappings":"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","sourcesContent":["import { validate } from \"../common/validate\";\nimport { isArrayOfType, isSafeString, isSafeStringArray, isString, isUndefined } from \"../common/typeguards\";\nimport { Injectable } from \"../dependency-injection/Injectable\";\nimport type { FetchHandler } from \"../handlers/defaultFetchHandler\";\nimport { defaultFetchHandlerFactory } from \"../handlers/defaultFetchHandler\";\nimport type { RequestStateEventTarget } from \"../handlers/requestStateEmittingHandler\";\nimport {\n createRequestStateEmittingHandler,\n requestStateEventTargetFactory,\n} from \"../handlers/requestStateEmittingHandler\";\nimport type { LensDownloadDimensions } from \"../metrics/reporters/reportLensAndAssetDownload\";\nimport type { Handler } from \"../handlers/HandlerChainBuilder\";\nimport { HandlerChainBuilder } from \"../handlers/HandlerChainBuilder\";\nimport { createArrayBufferParsingHandler } from \"../handlers/arrayBufferParsingHandler\";\nimport { LensAssetManifestItem_RequestTiming } from \"../generated-proto/pb_schema/camera_kit/v3/lens\";\nimport { getLogger } from \"../logger/logger\";\nimport { errorLoggingDecorator } from \"../logger/errorLoggingDecorator\";\nimport { ensureError } from \"../common/errorHelpers\";\nimport { withRequestPriority } from \"../handlers/utils\";\nimport type { EnumToPublicStringLiteralMap, ExcludeKeys } from \"../common/types\";\nimport type { Lens, LensProtoWithGroupId } from \"./Lens\";\nimport { isLensArray, toPublicLens } from \"./Lens\";\nimport type { LensAssetRepository } from \"./assets/LensAssetRepository\";\nimport { lensAssetRepositoryFactory } from \"./assets/LensAssetRepository\";\nimport type { LensSource } from \"./LensSource\";\nimport { loadLensesFromSources, lensSourcesFactory } from \"./LensSource\";\n\nconst logger = getLogger(\"LensRepository\");\n\ntype LensFetchHandler = Handler<\n [RequestInfo, LensDownloadDimensions],\n [ArrayBuffer, Response],\n RequestInit | undefined\n>;\n\nconst assetTimingMap: ExcludeKeys<\n EnumToPublicStringLiteralMap<typeof LensAssetManifestItem_RequestTiming>,\n \"preloadUnset\" | \"unrecognized\"\n> = {\n required: LensAssetManifestItem_RequestTiming.REQUIRED,\n onDemand: LensAssetManifestItem_RequestTiming.ON_DEMAND,\n // NOTE: This rule helps keep the public-facing AssetTiming type consistent with the proto.\n // We prefer using a separate type for TypeDoc purposes.\n} satisfies Record<AssetTiming, LensAssetManifestItem_RequestTiming>;\n\nfunction isAssetTiming(value: unknown): value is AssetTiming {\n return isString(value) && assetTimingMap.hasOwnProperty(value);\n}\n\nfunction isAssetTimingArrayOrUndefined(value: unknown): value is undefined | AssetTiming[] {\n return isUndefined(value) || isArrayOfType(isAssetTiming, value);\n}\n\n/**\n * Lens assets are included in a manifest, and each will indicate when that asset will be used by the lens.\n *\n * Assets can have the following timing values:\n * - `required`: the lens will definitely request this asset immediately when the lens is applied.\n * - `onDemand`: the lens may request this asset at some time while the lens is applied.\n *\n * Depending on the use-case, an application may want to cache both required and onDemand assets for\n * a particular lens, or may decide to only cache required assets (or cache no assets).\n *\n * @category Lenses\n */\nexport type AssetTiming = \"required\" | \"onDemand\";\n\nexport interface LensBinary {\n lensBuffer: ArrayBuffer;\n lensChecksum: string;\n}\n\n/**\n * The LensRepository is used to query for lenses from specific lens groups, or for a lens with a specific ID.\n *\n * Lens groups are configured in the CameraKit Portal -- that's where you'll find lens group IDs and lens IDs.\n *\n * Lenses must be loaded by the LensRepository before they can be applied to a {@link CameraKitSession}.\n *\n * @example\n * ```ts\n * const cameraKit = await bootstrapCameraKit(options)\n * const session = await cameraKit.createSession()\n * const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)\n * session.applyLens(lens)\n * ```\n *\n * @category Lenses\n */\nclass LensRepository {\n private readonly metadataCache = new Map<string, LensProtoWithGroupId>();\n private readonly binariesCache = new Map<string, ArrayBuffer>();\n\n /** @internal */\n constructor(\n private readonly lensFetchHandler: LensFetchHandler,\n private readonly lensSources: LensSource[],\n private readonly lensAssetRepository: LensAssetRepository\n ) {}\n\n /**\n * Retrieve a single Lens.\n *\n * @param lensId Desired Lens's unique ID. Can be found in the CameraKit Portal.\n * @param groupId The ID of a group containing the desired Lens. Can be found in the CameraKit Portal.\n * @returns Resolves with the desired Lens, or rejects if an error occurred (including a missing Lens).\n */\n @validate(isSafeString, isSafeString)\n @errorLoggingDecorator(logger)\n async loadLens(lensId: string, groupId: string): Promise<Lens> {\n const lens = (await loadLensesFromSources(this.lensSources, groupId, lensId))[0];\n if (!lens) {\n throw new Error(`Cannot load lens. No lens with id ${lensId} was found in lens group ${groupId}.`);\n }\n const lensWithGroup: LensProtoWithGroupId = { ...lens, groupId };\n this.metadataCache.set(lens.id, lensWithGroup);\n return toPublicLens(lensWithGroup);\n }\n\n /**\n * Retrieve the Lenses contained in a list of Lens Groups.\n *\n * This may result in multiple requests to retrieve Lens data (e.g. one per desired group). If any constituent\n * requests fail, those errors will be reported in the response – but the returned Promise will not be rejected. Any\n * Lenses which could be successfully retrieved will be available in the response.\n *\n * @param groupIds A list of Lens Group IDs. Can be found in the CameraKit Portal.\n * @returns Resolves with a flattened list of all lenses in the desired groups. If any errors occurred during the\n * query operation, these will be included in a separate list. If errors are present, the list of Lenses may not\n * contain all the Lenses from the desired groups.\n */\n @validate(isSafeStringArray)\n @errorLoggingDecorator(logger)\n async loadLensGroups(groupIds: string[]): Promise<{\n errors: Error[];\n lenses: Lens[];\n }> {\n const responses = await Promise.all(\n groupIds.map(async (groupId) => {\n try {\n return (await loadLensesFromSources(this.lensSources, groupId)).map((lens) => {\n const lensWithGroup = { ...lens, groupId };\n this.metadataCache.set(lens.id, lensWithGroup);\n return toPublicLens(lensWithGroup);\n });\n } catch (e) {\n const error = ensureError(e);\n logger.error(new Error(`Failed to load lens group ${groupId}.`, { cause: error }));\n return error;\n }\n })\n );\n\n return responses.reduce(\n (result, response) => {\n if (response instanceof Error) result.errors.push(response);\n else result.lenses.push(...response);\n return result;\n },\n { errors: [], lenses: [] } as { errors: Error[]; lenses: Lens[] }\n );\n }\n\n /**\n * Loads and caches lens content and dependencies to reduce latency when {@link CameraKitSession.applyLens} is later\n * called to apply the lens. This is an in-memory cache, it will not be persisted across page loads.\n *\n * This may useful if the application A) knows which lenses will be applied and B) has some opportunity to call\n * this method before a lens is applied. For example, if the user must perform some other actions before lenses\n * become active, this might be a good opportunity to cache lenses to improve applyLens latency.\n *\n * @example\n * ```ts\n * const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)\n * await cameraKit.lensRepository.cacheLensContent([lens])\n *\n * // sometime later -- this call will use the cached lens content, making lens application faster.\n * await cameraKitSession.applyLens(lens)\n * ```\n *\n * @param lenses Array of lenses to cache in memory.\n * @param assetTimingsToCache Lenses specify certain required assets that are necessary for the lens to render, and\n * other assets which may be needed by the lens. By default this method will cache all of those assets, but this\n * behavior can be modified to only load the required assets, only the \"onDemand\" assets, or neither (by passing\n * an empty array).\n */\n @validate(isLensArray, isAssetTimingArrayOrUndefined)\n @errorLoggingDecorator(logger)\n async cacheLensContent(lenses: Lens[], assetTimingsToCache: AssetTiming[] = [\"required\", \"onDemand\"]) {\n const assetTimingsToLoad = assetTimingsToCache.map((timing) => assetTimingMap[timing]);\n await Promise.all(\n lenses.map(async (lens) => {\n try {\n const { lensBuffer } = await this.getLensContent(lens, true);\n // Safety: getLensContent() call above ensures metadata to exist\n const { content } = this.metadataCache.get(lens.id)!;\n this.binariesCache.set(lens.id, lensBuffer);\n await this.lensAssetRepository.cacheAssets(content!.assetManifest, lens, assetTimingsToLoad, true);\n } catch (error) {\n logger.warn(`Failed to cache lens ${lens.id}.`, error);\n }\n })\n );\n }\n\n /**\n * Returns loaded Lens metadata if available.\n */\n getLensMetadata(lensId: string): LensProtoWithGroupId | undefined {\n return this.metadataCache.get(lensId);\n }\n\n /**\n * Removes Lens content from the in-memory cache.\n */\n removeCachedLenses(lenses: Lens[]) {\n lenses.forEach((lens) => this.binariesCache.delete(lens.id));\n }\n\n /**\n * Fetches lens content and assets. This may come from the cache, otherwise network requests will be made.\n *\n * @internal\n *\n * @param lens Lens to fetch content for.\n * @param lowPriority Flag indicating if the fetch requests should be treated with lower priority,\n * leveraging browser capabilities to defer or deprioritize network traffic.\n */\n async getLensContent(lens: Lens, lowPriority: boolean = false): Promise<LensBinary> {\n const { content } = this.metadataCache.get(lens.id) ?? {};\n if (!content) {\n throw new Error(`Cannot find metadata for lens ${lens.id}.`);\n }\n\n const cachedLensBuffer = this.binariesCache.get(lens.id);\n if (cachedLensBuffer) {\n return {\n lensBuffer: cachedLensBuffer,\n lensChecksum: content.lnsSha256,\n };\n }\n\n const [lensBuffer] = await this.lensFetchHandler([\n // TODO: remove force-cache once https://jira.sc-corp.net/browse/CAMKIT-3671 is addressed\n new Request(content.lnsUrlBolt, withRequestPriority({ cache: \"force-cache\" }, lowPriority)),\n {\n requestType: \"lens_content\",\n lensId: lens.id,\n },\n ]);\n return { lensBuffer, lensChecksum: content.lnsSha256 };\n }\n}\n\n// NOTE: jest doesn't like default exports of classes with decorated methods.\nexport { LensRepository };\n\n/**\n * @internal\n */\nexport const lensRepositoryFactory = Injectable(\n \"LensRepository\",\n [\n requestStateEventTargetFactory.token,\n defaultFetchHandlerFactory.token,\n lensSourcesFactory.token,\n lensAssetRepositoryFactory.token,\n ] as const,\n (\n requestStateEventTarget: RequestStateEventTarget,\n defaultFetchHandler: FetchHandler,\n lensSources: LensSource[],\n lensAssetRepository: LensAssetRepository\n ) => {\n const lensFetchHandler = new HandlerChainBuilder(defaultFetchHandler)\n .map(createRequestStateEmittingHandler<LensDownloadDimensions>(requestStateEventTarget))\n .map(createArrayBufferParsingHandler()).handler;\n\n return new LensRepository(lensFetchHandler, lensSources, lensAssetRepository);\n }\n);\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Lens } from "../generated-proto/pb_schema/camera_kit/v3/lens";
|
|
2
|
+
/**
|
|
3
|
+
* Provides Lens metadata for one or more Lens groups.
|
|
4
|
+
*
|
|
5
|
+
* When a Lens or Lens group is requested via the {@link LensRepository}, CameraKit will find the LensSource which
|
|
6
|
+
* claims ownership of that group. The appropriate LensSource method will be called and must return an ArrayBuffer
|
|
7
|
+
* containing the encoded Lens metadata -- this can be obtained from a CameraKit backend API.
|
|
8
|
+
*/
|
|
9
|
+
export interface LensSource {
|
|
10
|
+
isGroupOwner(groupId: string): boolean;
|
|
11
|
+
loadLens(lensId: string, groupId: string): Promise<ArrayBuffer>;
|
|
12
|
+
loadLensGroup(groupId: string): Promise<ArrayBuffer>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* By default, no custom {@link LensSource} is provided to CameraKit. But to enable certain advanced use-cases,
|
|
16
|
+
* applications may provide their own {@link LensSource}.
|
|
17
|
+
*
|
|
18
|
+
* Perhaps the most convenient way to do this is with {@link ConcatInjectable}, as shown here:
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { bootstrapCameraKit, lensSourcesFactory, LensSource } from '@snap/camera-kit'
|
|
23
|
+
*
|
|
24
|
+
* const cameraKit = bootstrapCameraKit(config, (container) => {
|
|
25
|
+
* return container.provides(ConcatInjectable(
|
|
26
|
+
* lensSourcesFactory.token,
|
|
27
|
+
* (): LensSource => { return ... }
|
|
28
|
+
* ))
|
|
29
|
+
* })
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare const lensSourcesFactory: {
|
|
33
|
+
(): LensSource[];
|
|
34
|
+
token: "lensSources";
|
|
35
|
+
dependencies: [];
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Given a list of LensSources (like the one provided by CameraKit's DI container under the `'lensSources'` token), and
|
|
39
|
+
* a groupId/lensId, return a list of lenses loaded by the first LensSource claiming ownership of the given groupId.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export declare function loadLensesFromSources(sources: LensSource[], groupId: string, lensId?: string): Promise<Lens[]>;
|
|
44
|
+
//# sourceMappingURL=LensSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensSource.d.ts","sourceRoot":"","sources":["../../src/lens/LensSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iDAAiD,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB;;;;CAAoD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAcpH"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from "../dependency-injection/Injectable";
|
|
3
|
+
import { Envelope } from "../generated-proto/pb_schema/camera_kit/v3/export";
|
|
4
|
+
export const lensSourcesFactory = Injectable("lensSources", () => []);
|
|
5
|
+
export function loadLensesFromSources(sources, groupId, lensId) {
|
|
6
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7
|
+
const source = sources.find((source) => source.isGroupOwner(groupId));
|
|
8
|
+
if (!source) {
|
|
9
|
+
throw new Error(`Cannot load lens ${lensId ? `${lensId} from ` : ""}group ${groupId}. ` +
|
|
10
|
+
`No LensSource claimed ownership of that lens group.`);
|
|
11
|
+
}
|
|
12
|
+
const envelope = lensId === undefined ? yield source.loadLensGroup(groupId) : yield source.loadLens(lensId, groupId);
|
|
13
|
+
return envelope instanceof ArrayBuffer || ArrayBuffer.isView(envelope)
|
|
14
|
+
? Envelope.decode(envelope instanceof Uint8Array ? envelope : new Uint8Array(envelope)).lenses
|
|
15
|
+
: [];
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=LensSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LensSource.js","sourceRoot":"","sources":["../../src/lens/LensSource.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAkC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,GAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAQpF,MAAM,UAAgB,qBAAqB,CAAC,OAAqB,EAAE,OAAe,EAAE,MAAe;;QAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,KAAK,CACX,oBAAoB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,IAAI;gBACnE,qDAAqD,CAC5D,CAAC;SACL;QACD,MAAM,QAAQ,GACV,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAExG,OAAO,QAAQ,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,YAAY,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YAC9F,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;CAAA","sourcesContent":["import { Injectable } from \"../dependency-injection/Injectable\";\nimport { Envelope } from \"../generated-proto/pb_schema/camera_kit/v3/export\";\nimport type { Lens } from \"../generated-proto/pb_schema/camera_kit/v3/lens\";\n\n/**\n * Provides Lens metadata for one or more Lens groups.\n *\n * When a Lens or Lens group is requested via the {@link LensRepository}, CameraKit will find the LensSource which\n * claims ownership of that group. The appropriate LensSource method will be called and must return an ArrayBuffer\n * containing the encoded Lens metadata -- this can be obtained from a CameraKit backend API.\n */\nexport interface LensSource {\n isGroupOwner(groupId: string): boolean;\n loadLens(lensId: string, groupId: string): Promise<ArrayBuffer>;\n loadLensGroup(groupId: string): Promise<ArrayBuffer>;\n}\n\n/**\n * By default, no custom {@link LensSource} is provided to CameraKit. But to enable certain advanced use-cases,\n * applications may provide their own {@link LensSource}.\n *\n * Perhaps the most convenient way to do this is with {@link ConcatInjectable}, as shown here:\n *\n * @example\n * ```ts\n * import { bootstrapCameraKit, lensSourcesFactory, LensSource } from '@snap/camera-kit'\n *\n * const cameraKit = bootstrapCameraKit(config, (container) => {\n * return container.provides(ConcatInjectable(\n * lensSourcesFactory.token,\n * (): LensSource => { return ... }\n * ))\n * })\n * ```\n */\nexport const lensSourcesFactory = Injectable(\"lensSources\", (): LensSource[] => []);\n\n/**\n * Given a list of LensSources (like the one provided by CameraKit's DI container under the `'lensSources'` token), and\n * a groupId/lensId, return a list of lenses loaded by the first LensSource claiming ownership of the given groupId.\n *\n * @internal\n */\nexport async function loadLensesFromSources(sources: LensSource[], groupId: string, lensId?: string): Promise<Lens[]> {\n const source = sources.find((source) => source.isGroupOwner(groupId));\n if (!source) {\n throw new Error(\n `Cannot load lens ${lensId ? `${lensId} from ` : \"\"}group ${groupId}. ` +\n `No LensSource claimed ownership of that lens group.`\n );\n }\n const envelope =\n lensId === undefined ? await source.loadLensGroup(groupId) : await source.loadLens(lensId, groupId);\n\n return envelope instanceof ArrayBuffer || ArrayBuffer.isView(envelope)\n ? Envelope.decode(envelope instanceof Uint8Array ? envelope : new Uint8Array(envelope)).lenses\n : [];\n}\n"]}
|