@snap/camera-kit 0.17.0 → 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 +2 -2
- 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.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 -222
- 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 -17
- package/lib/lens/cameraKitLensSource.js +0 -104
- package/lib/lens/cameraKitLensSource.js.map +0 -1
- package/lib/lens/fetchWatermarkLens.d.ts +0 -11
- package/lib/lens/fetchWatermarkLens.js +0 -27
- package/lib/lens/fetchWatermarkLens.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.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 -89
- 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 -31
- package/lib/session/lensState.js +0 -261
- 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}/remote-configuration/preloadConfiguration.js +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,140 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Subject, map } from "rxjs";
|
|
3
|
+
import { copyDefinedProperties } from "../common/copyDefinedProperties";
|
|
4
|
+
import { ensureError, stringifyErrorMessage } from "../common/errorHelpers";
|
|
5
|
+
import { Transform2D } from "../transforms/Transform2D";
|
|
6
|
+
import { debounceTimeAfter } from "../observable-operators/debounceTimeAfter";
|
|
7
|
+
import { CameraKitSource, defaultDeviceInfo } from "./CameraKitSource";
|
|
8
|
+
const defaultOptions = Object.assign(Object.assign({}, defaultDeviceInfo), { transform: Transform2D.Identity, disableSourceAudio: false });
|
|
9
|
+
function closeWorklet(worklet) {
|
|
10
|
+
if (!worklet)
|
|
11
|
+
return;
|
|
12
|
+
worklet.port.close();
|
|
13
|
+
worklet.port.onmessage = null;
|
|
14
|
+
worklet.disconnect();
|
|
15
|
+
}
|
|
16
|
+
function closeAudioContext(audioContext) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
if (!audioContext || audioContext.state === "closed")
|
|
19
|
+
return;
|
|
20
|
+
return audioContext.close();
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function handleAudioProcessingErrors(errors, reportError) {
|
|
24
|
+
return errors
|
|
25
|
+
.pipe(debounceTimeAfter(1, 1000), map((event) => {
|
|
26
|
+
if (event.type === "initial") {
|
|
27
|
+
reportError(new Error("The first audio processing error before debouncing.", { cause: event.value }));
|
|
28
|
+
}
|
|
29
|
+
else if (event.type === "debounced") {
|
|
30
|
+
const errorMessages = [...new Set(event.values.map(stringifyErrorMessage))].join("\n");
|
|
31
|
+
reportError(new Error(`Debounced ${event.values.length} audio processing errors.`, {
|
|
32
|
+
cause: new Error(errorMessages),
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}))
|
|
36
|
+
.subscribe();
|
|
37
|
+
}
|
|
38
|
+
export function createMediaStreamSource(stream, options = {}) {
|
|
39
|
+
var _a;
|
|
40
|
+
const { facingMode } = stream.getVideoTracks().length > 0 ? stream.getVideoTracks()[0].getSettings() : { facingMode: undefined };
|
|
41
|
+
const detectedCameraType = facingMode === "user" || facingMode === "environment" ? facingMode : undefined;
|
|
42
|
+
const optionsWithDefaults = Object.assign(Object.assign(Object.assign({}, defaultOptions), copyDefinedProperties(options)), { cameraType: (_a = options.cameraType) !== null && _a !== void 0 ? _a : detectedCameraType });
|
|
43
|
+
const enableSourceAudio = stream.getAudioTracks().length > 0 && !optionsWithDefaults.disableSourceAudio;
|
|
44
|
+
const simulateStereoAudio = true;
|
|
45
|
+
const sampleRate = 44100;
|
|
46
|
+
let audioContext = undefined;
|
|
47
|
+
let audioSource = undefined;
|
|
48
|
+
let worklet = undefined;
|
|
49
|
+
let microphoneRecorderUrl;
|
|
50
|
+
if (enableSourceAudio) {
|
|
51
|
+
const microphoneRecorderWorklet = `
|
|
52
|
+
class MicrophoneWorkletProcessor extends AudioWorkletProcessor {
|
|
53
|
+
process(inputs, outputs, parameters) {
|
|
54
|
+
this.port.postMessage({
|
|
55
|
+
eventType: 'data',
|
|
56
|
+
buffer: inputs
|
|
57
|
+
});
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
registerProcessor('microphone-worklet', MicrophoneWorkletProcessor);`;
|
|
62
|
+
const microphoneRecorderBlob = new Blob([microphoneRecorderWorklet], {
|
|
63
|
+
type: "application/javascript",
|
|
64
|
+
});
|
|
65
|
+
microphoneRecorderUrl = URL.createObjectURL(microphoneRecorderBlob);
|
|
66
|
+
}
|
|
67
|
+
let audioProcessingErrorSubscription = undefined;
|
|
68
|
+
return new CameraKitSource({ media: stream }, {
|
|
69
|
+
onAttach: (source, lensCore, reportError) => __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
yield source.setTransform(optionsWithDefaults.transform);
|
|
71
|
+
if (enableSourceAudio) {
|
|
72
|
+
const audioProcessingErrors = new Subject();
|
|
73
|
+
audioProcessingErrorSubscription = handleAudioProcessingErrors(audioProcessingErrors, reportError);
|
|
74
|
+
yield lensCore.setAudioParameters({
|
|
75
|
+
parameters: {
|
|
76
|
+
numChannels: simulateStereoAudio ? 2 : 1,
|
|
77
|
+
sampleRate,
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
try {
|
|
81
|
+
closeWorklet(worklet);
|
|
82
|
+
audioSource === null || audioSource === void 0 ? void 0 : audioSource.disconnect();
|
|
83
|
+
yield closeAudioContext(audioContext);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
reportError(ensureError(error));
|
|
87
|
+
}
|
|
88
|
+
audioContext = new AudioContext();
|
|
89
|
+
audioSource = audioContext.createMediaStreamSource(stream);
|
|
90
|
+
const scopedAudioSource = audioSource;
|
|
91
|
+
audioContext.audioWorklet
|
|
92
|
+
.addModule(microphoneRecorderUrl)
|
|
93
|
+
.then(() => {
|
|
94
|
+
if (audioContext) {
|
|
95
|
+
worklet = new AudioWorkletNode(audioContext, "microphone-worklet");
|
|
96
|
+
scopedAudioSource.connect(worklet);
|
|
97
|
+
worklet.connect(audioContext.destination);
|
|
98
|
+
worklet.port.onmessage = (e) => {
|
|
99
|
+
if (e.data.eventType === "data") {
|
|
100
|
+
const leftSamples = e.data.buffer[0][0];
|
|
101
|
+
if (!leftSamples)
|
|
102
|
+
return;
|
|
103
|
+
let inputBuffers = [leftSamples];
|
|
104
|
+
if (simulateStereoAudio) {
|
|
105
|
+
const rightSamples = e.data.buffer[0].length > 1 ? e.data.buffer[0][1] : leftSamples.slice();
|
|
106
|
+
inputBuffers.push(rightSamples);
|
|
107
|
+
}
|
|
108
|
+
lensCore
|
|
109
|
+
.processAudioSampleBuffer({ input: inputBuffers })
|
|
110
|
+
.catch((error) => audioProcessingErrors.next(error));
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
.catch((error) => {
|
|
116
|
+
reportError(error);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}),
|
|
120
|
+
onDetach: (reportError) => __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
if (worklet) {
|
|
122
|
+
closeWorklet(worklet);
|
|
123
|
+
worklet = undefined;
|
|
124
|
+
}
|
|
125
|
+
if (audioSource) {
|
|
126
|
+
audioSource.disconnect();
|
|
127
|
+
audioSource = undefined;
|
|
128
|
+
}
|
|
129
|
+
if (audioContext) {
|
|
130
|
+
yield closeAudioContext(audioContext).catch(reportError);
|
|
131
|
+
audioContext = undefined;
|
|
132
|
+
}
|
|
133
|
+
if (audioProcessingErrorSubscription) {
|
|
134
|
+
audioProcessingErrorSubscription.unsubscribe();
|
|
135
|
+
audioProcessingErrorSubscription = undefined;
|
|
136
|
+
}
|
|
137
|
+
}),
|
|
138
|
+
}, optionsWithDefaults);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=MediaStreamSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaStreamSource.js","sourceRoot":"","sources":["../../src/media-sources/MediaStreamSource.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Observable, Subscription } from \"rxjs\";\nimport { Subject, map } from \"rxjs\";\nimport { copyDefinedProperties } from \"../common/copyDefinedProperties\";\nimport { ensureError, stringifyErrorMessage } from \"../common/errorHelpers\";\nimport type { LensCoreError } from \"../lens-core-module/lensCoreError\";\nimport { Transform2D } from \"../transforms/Transform2D\";\nimport { debounceTimeAfter } from \"../observable-operators/debounceTimeAfter\";\nimport type { CameraKitDeviceOptions } from \"./CameraKitSource\";\nimport { CameraKitSource, defaultDeviceInfo } from \"./CameraKitSource\";\n\nconst defaultOptions: MediaStreamSourceOptions = {\n ...defaultDeviceInfo,\n transform: Transform2D.Identity,\n disableSourceAudio: false,\n};\n\nfunction closeWorklet(worklet: AudioWorkletNode | undefined) {\n if (!worklet) return;\n worklet.port.close();\n worklet.port.onmessage = null;\n worklet.disconnect();\n}\n\nasync function closeAudioContext(audioContext: AudioContext | undefined) {\n if (!audioContext || audioContext.state === \"closed\") return;\n return audioContext.close();\n}\n\nfunction handleAudioProcessingErrors(errors: Observable<LensCoreError>, reportError: (error: Error) => void) {\n return errors\n .pipe(\n // Emit the first error immediately and debounce any subsequent errors for 1 second.\n debounceTimeAfter(1, 1000),\n\n map((event) => {\n if (event.type === \"initial\") {\n reportError(\n new Error(\"The first audio processing error before debouncing.\", { cause: event.value })\n );\n } else if (event.type === \"debounced\") {\n const errorMessages = [...new Set(event.values.map(stringifyErrorMessage))].join(\"\\n\");\n reportError(\n new Error(`Debounced ${event.values.length} audio processing errors.`, {\n cause: new Error(errorMessages),\n })\n );\n }\n })\n )\n .subscribe();\n}\n\n/**\n * Media stream source options.\n *\n * @category Rendering\n */\nexport interface MediaStreamSourceOptions extends CameraKitDeviceOptions {\n /**\n * Specifies the 2D transformation to apply to the Lens.\n * By default, CameraKit applies no transformation.\n */\n transform: Transform2D;\n\n /**\n * Indicates whether the audio from the source should be disabled.\n * By default, CameraKit passes audio to the Lens.\n */\n disableSourceAudio: boolean;\n}\n\n/**\n * Create a {@link CameraKitSource} from any\n * [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream).\n *\n * @param stream Any MediaStream, such as obtained via `canvas.captureStream()` or `mediaDevices.getUserMedia()`.\n * @param options Options.\n *\n * @category Rendering\n */\nexport function createMediaStreamSource(\n stream: MediaStream,\n options: Partial<MediaStreamSourceOptions> = {}\n): CameraKitSource {\n const { facingMode } =\n stream.getVideoTracks().length > 0 ? stream.getVideoTracks()[0].getSettings() : { facingMode: undefined };\n\n const detectedCameraType = facingMode === \"user\" || facingMode === \"environment\" ? facingMode : undefined;\n\n const optionsWithDefaults = {\n ...defaultOptions,\n ...copyDefinedProperties(options),\n cameraType: options.cameraType ?? detectedCameraType,\n };\n\n const enableSourceAudio: boolean = stream.getAudioTracks().length > 0 && !optionsWithDefaults.disableSourceAudio;\n\n const simulateStereoAudio = true;\n const sampleRate: number = 44100;\n\n let audioContext: AudioContext | undefined = undefined;\n let audioSource: MediaStreamAudioSourceNode | undefined = undefined;\n let worklet: AudioWorkletNode | undefined = undefined;\n let microphoneRecorderUrl: string;\n\n if (enableSourceAudio) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_AudioWorklet\n const microphoneRecorderWorklet = `\n class MicrophoneWorkletProcessor extends AudioWorkletProcessor {\n process(inputs, outputs, parameters) {\n this.port.postMessage({\n eventType: 'data',\n buffer: inputs\n });\n return true;\n }\n }\n registerProcessor('microphone-worklet', MicrophoneWorkletProcessor);`;\n const microphoneRecorderBlob = new Blob([microphoneRecorderWorklet], {\n type: \"application/javascript\",\n });\n microphoneRecorderUrl = URL.createObjectURL(microphoneRecorderBlob);\n }\n\n // Subscription for audio processing errors.\n let audioProcessingErrorSubscription: Subscription | undefined = undefined;\n\n return new CameraKitSource(\n { media: stream },\n {\n onAttach: async (source, lensCore, reportError) => {\n await source.setTransform(optionsWithDefaults.transform);\n\n if (enableSourceAudio) {\n // We call LensCore.processAudioSampleBuffer every time microphone data appears,\n // which occurs multiple times per second.\n // It may happen that LensCore enters an inoperable state, resulting in the call failing with\n // the same error over and over again.\n // Instead of reporting all errors, we debounce them within a second and only report two errors:\n // 1. The initial error when the debounce starts.\n // 2. An aggregated error that includes unique error messages from all errors\n // within the debounce period.\n const audioProcessingErrors = new Subject<LensCoreError>();\n audioProcessingErrorSubscription = handleAudioProcessingErrors(audioProcessingErrors, reportError);\n\n // Audio parameters set has to be called before lens is applied\n await lensCore.setAudioParameters({\n parameters: {\n numChannels: simulateStereoAudio ? 2 : 1,\n sampleRate,\n },\n });\n\n try {\n // There is a possibility of the onAttach method being called twice in a row due to a bug.\n // To ensure there are not leaks, it is better to close any existing connections.\n closeWorklet(worklet);\n audioSource?.disconnect();\n await closeAudioContext(audioContext);\n } catch (error) {\n // We still want to continue if anything above failed\n reportError(ensureError(error));\n }\n\n audioContext = new AudioContext();\n audioSource = audioContext.createMediaStreamSource(stream);\n const scopedAudioSource = audioSource;\n audioContext.audioWorklet\n .addModule(microphoneRecorderUrl)\n .then(() => {\n if (audioContext) {\n worklet = new AudioWorkletNode(audioContext, \"microphone-worklet\");\n scopedAudioSource.connect(worklet);\n worklet.connect(audioContext.destination);\n // NOTE: We subscribe to messages here, and they will continue to arrive\n // even after audioContext.close() is called. To disconnect the audio worklets\n // created here, we need to track two variables - worklet and audioSource.\n // By calling disconnect() on them, we can properly\n // disconnect the audio worklets.\n worklet.port.onmessage = (e) => {\n if (e.data.eventType === \"data\") {\n // developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor/process\n // inputs[n][m] is the list of samples in the n-th input at the m-th channel.\n const leftSamples = e.data.buffer[0][0] as Float32Array;\n\n // Firefox might have leftSamples undefined:\n // https://jira.sc-corp.net/browse/CAMKIT-5189\n if (!leftSamples) return;\n\n let inputBuffers = [leftSamples];\n if (simulateStereoAudio) {\n const rightSamples =\n e.data.buffer[0].length > 1 ? e.data.buffer[0][1] : leftSamples.slice();\n inputBuffers.push(rightSamples);\n }\n\n lensCore\n .processAudioSampleBuffer({ input: inputBuffers })\n .catch((error) => audioProcessingErrors.next(error));\n }\n };\n }\n })\n .catch((error: Error) => {\n reportError(error);\n });\n }\n },\n onDetach: async (reportError) => {\n if (worklet) {\n closeWorklet(worklet);\n worklet = undefined;\n }\n if (audioSource) {\n audioSource.disconnect();\n audioSource = undefined;\n }\n if (audioContext) {\n await closeAudioContext(audioContext).catch(reportError);\n audioContext = undefined;\n }\n if (audioProcessingErrorSubscription) {\n audioProcessingErrorSubscription.unsubscribe();\n audioProcessingErrorSubscription = undefined;\n }\n },\n },\n optionsWithDefaults\n );\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CameraKitDeviceOptions } from "./CameraKitSource";
|
|
2
|
+
import { CameraKitSource } from "./CameraKitSource";
|
|
3
|
+
/**
|
|
4
|
+
* Video source options.
|
|
5
|
+
*
|
|
6
|
+
* @category Rendering
|
|
7
|
+
*/
|
|
8
|
+
export interface VideoSourceOptions extends CameraKitDeviceOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Optional pre-computed tracking data to enhance rendering performance.
|
|
11
|
+
* While not commonly provided, this can be used in specific scenarios
|
|
12
|
+
* where such data is available to optimize video processing.
|
|
13
|
+
*/
|
|
14
|
+
trackingData: ArrayBuffer;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a {@link CameraKitSource} from an
|
|
18
|
+
* [HTMLVideoElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement).
|
|
19
|
+
*
|
|
20
|
+
* @param video CameraKit performs best when the source video is 720p – arbitrary resolutions are supported, but very
|
|
21
|
+
* high resolutions may not perform well.
|
|
22
|
+
* @param options Options.
|
|
23
|
+
*
|
|
24
|
+
* @category Rendering
|
|
25
|
+
*/
|
|
26
|
+
export declare function createVideoSource(video: HTMLVideoElement, options?: Partial<VideoSourceOptions>): CameraKitSource;
|
|
27
|
+
//# sourceMappingURL=VideoSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoSource.d.ts","sourceRoot":"","sources":["../../src/media-sources/VideoSource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAqB,MAAM,mBAAmB,CAAC;AAOvE;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAC9D;;;;OAIG;IACH,YAAY,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,eAAe,CAYrH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { copyDefinedProperties } from "../common/copyDefinedProperties";
|
|
2
|
+
import { CameraKitSource, defaultDeviceInfo } from "./CameraKitSource";
|
|
3
|
+
const defaultOptions = Object.assign(Object.assign({}, defaultDeviceInfo), { trackingData: new ArrayBuffer(0) });
|
|
4
|
+
export function createVideoSource(video, options = {}) {
|
|
5
|
+
const { trackingData } = Object.assign(Object.assign({}, defaultOptions), copyDefinedProperties(options));
|
|
6
|
+
const replayTrackingData = trackingData.byteLength > 0 ? { buffer: trackingData } : undefined;
|
|
7
|
+
return new CameraKitSource({
|
|
8
|
+
media: video,
|
|
9
|
+
replayTrackingData,
|
|
10
|
+
}, {}, options);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=VideoSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoSource.js","sourceRoot":"","sources":["../../src/media-sources/VideoSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,cAAc,mCACb,iBAAiB,KACpB,YAAY,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,GACnC,CAAC;AA0BF,MAAM,UAAU,iBAAiB,CAAC,KAAuB,EAAE,UAAuC,EAAE;IAChG,MAAM,EAAE,YAAY,EAAE,mCAAQ,cAAc,GAAK,qBAAqB,CAAC,OAAO,CAAC,CAAE,CAAC;IAClF,MAAM,kBAAkB,GAAG,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,OAAO,IAAI,eAAe,CACtB;QACI,KAAK,EAAE,KAAK;QACZ,kBAAkB;KACrB,EACD,EAAE,EACF,OAAO,CACV,CAAC;AACN,CAAC","sourcesContent":["import { copyDefinedProperties } from \"../common/copyDefinedProperties\";\nimport type { CameraKitDeviceOptions } from \"./CameraKitSource\";\nimport { CameraKitSource, defaultDeviceInfo } from \"./CameraKitSource\";\n\nconst defaultOptions: VideoSourceOptions = {\n ...defaultDeviceInfo,\n trackingData: new ArrayBuffer(0),\n};\n\n/**\n * Video source options.\n *\n * @category Rendering\n */\nexport interface VideoSourceOptions extends CameraKitDeviceOptions {\n /**\n * Optional pre-computed tracking data to enhance rendering performance.\n * While not commonly provided, this can be used in specific scenarios\n * where such data is available to optimize video processing.\n */\n trackingData: ArrayBuffer;\n}\n\n/**\n * Create a {@link CameraKitSource} from an\n * [HTMLVideoElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement).\n *\n * @param video CameraKit performs best when the source video is 720p – arbitrary resolutions are supported, but very\n * high resolutions may not perform well.\n * @param options Options.\n *\n * @category Rendering\n */\nexport function createVideoSource(video: HTMLVideoElement, options: Partial<VideoSourceOptions> = {}): CameraKitSource {\n const { trackingData } = { ...defaultOptions, ...copyDefinedProperties(options) };\n const replayTrackingData = trackingData.byteLength > 0 ? { buffer: trackingData } : undefined;\n\n return new CameraKitSource(\n {\n media: video,\n replayTrackingData,\n },\n {},\n options\n );\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as blizzard from "../generated-proto/blizzard/cameraKitEvents";
|
|
2
|
+
import type { MetricsClient } from "../clients/metricsClient";
|
|
3
|
+
import type { CameraKitConfiguration } from "../configuration";
|
|
4
|
+
import type { RemoteConfiguration } from "../remote-configuration/remoteConfiguration";
|
|
5
|
+
import type { MetricsEventTarget } from "./metricsEventTarget";
|
|
6
|
+
/**
|
|
7
|
+
* Translate between an external metric name, which is exposed to SDK users, and an internal Blizzard event name,
|
|
8
|
+
* property name, and constructor.
|
|
9
|
+
*
|
|
10
|
+
* It is very important that we do this, since the naming of these internal business events are unintuitive and will
|
|
11
|
+
* not make sense to SDK users.
|
|
12
|
+
*
|
|
13
|
+
* For a full list of business events (using their internal names), see:
|
|
14
|
+
* https://docs.google.com/document/d/1-kSzFWCWw9Qo3D08FR1_cqeHTsUtk9p3p3uOptzWDTY/
|
|
15
|
+
*/
|
|
16
|
+
type CameraKitBusinessEventMap = {
|
|
17
|
+
assetDownload: MakeBusinessEvent<blizzard.CameraKitAssetDownload>;
|
|
18
|
+
assetValidationFailed: MakeBusinessEvent<blizzard.CameraKitAssetValidationFailed>;
|
|
19
|
+
benchmarkComplete: MakeBusinessEvent<blizzard.CameraKitWebBenchmarkComplete>;
|
|
20
|
+
exception: MakeBusinessEvent<blizzard.CameraKitException>;
|
|
21
|
+
legalPrompt: MakeBusinessEvent<blizzard.CameraKitLegalPrompt>;
|
|
22
|
+
lensDownload: MakeBusinessEvent<blizzard.CameraKitLensDownload>;
|
|
23
|
+
lensView: MakeBusinessEvent<blizzard.CameraKitWebLensSwipe>;
|
|
24
|
+
lensWait: MakeBusinessEvent<blizzard.CameraKitLensSpin>;
|
|
25
|
+
lensContentValidationFailed: MakeBusinessEvent<blizzard.CameraKitLensContentValidationFailed>;
|
|
26
|
+
session: MakeBusinessEvent<blizzard.CameraKitSession>;
|
|
27
|
+
};
|
|
28
|
+
export type MakeBusinessEvent<E> = Omit<{
|
|
29
|
+
[K in keyof E]: Exclude<E[K], undefined> extends Record<keyof any, any> ? MakeBusinessEvent<Exclude<E[K], undefined>> : E[K];
|
|
30
|
+
}, "cameraKitEventBase">;
|
|
31
|
+
export type MakeTaggedBusinessEvent<K extends keyof CameraKitBusinessEventMap> = {
|
|
32
|
+
name: K;
|
|
33
|
+
} & CameraKitBusinessEventMap[K];
|
|
34
|
+
export declare const businessEventsReporterFactory: {
|
|
35
|
+
(args_0: MetricsEventTarget, args_1: MetricsClient, args_2: CameraKitConfiguration, args_3: RemoteConfiguration): void;
|
|
36
|
+
token: "businessEventsReporter";
|
|
37
|
+
dependencies: readonly ["metricsEventTarget", "metricsClient", "configuration", "remoteConfiguration"];
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=businessEventsReporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"businessEventsReporter.d.ts","sourceRoot":"","sources":["../../src/metrics/businessEventsReporter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,QAAQ,MAAM,6CAA6C,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAOvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAoB/D;;;;;;;;;GASG;AACH,KAAK,yBAAyB,GAAG;IAC7B,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAClE,qBAAqB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IAClF,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAC7E,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1D,WAAW,EAAE,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC9D,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAChE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAC5D,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACxD,2BAA2B,EAAE,iBAAiB,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;IAC9F,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CACzD,CAAC;AAqIF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,IAAI,CACnC;KACK,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GACjE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAC3C,CAAC,CAAC,CAAC,CAAC;CACb,EACD,oBAAoB,CACvB,CAAC;AA+BF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,yBAAyB,IAAI;IAC7E,IAAI,EAAE,CAAC,CAAC;CACX,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAEjC,eAAO,MAAM,6BAA6B;;;;CAyFzC,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { v4 } from "uuid";
|
|
3
|
+
import { catchError, combineLatestWith, from, fromEvent, map, merge, of, switchMap, take } from "rxjs";
|
|
4
|
+
import { entries } from "../common/entries";
|
|
5
|
+
import { Injectable } from "../dependency-injection/Injectable";
|
|
6
|
+
import * as blizzard from "../generated-proto/blizzard/cameraKitEvents";
|
|
7
|
+
import { getLogger } from "../logger/logger";
|
|
8
|
+
import { metricsClientFactory } from "../clients/metricsClient";
|
|
9
|
+
import { configurationToken } from "../configuration";
|
|
10
|
+
import { remoteConfigurationFactory } from "../remote-configuration/remoteConfiguration";
|
|
11
|
+
import { IndexedDBPersistence } from "../persistence/IndexedDBPersistence";
|
|
12
|
+
import { ExpiringPersistence } from "../persistence/ExpiringPersistence";
|
|
13
|
+
import { convertDaysToSeconds } from "../common/time";
|
|
14
|
+
import { getPlatformInfo } from "../platform/platformInfo";
|
|
15
|
+
import { metricsEventTargetFactory } from "./metricsEventTarget";
|
|
16
|
+
const logger = getLogger("BusinessEventsReporter");
|
|
17
|
+
const connectivityTypeMapping = {
|
|
18
|
+
cellular: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_MOBILE,
|
|
19
|
+
bluetooth: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_BLUETOOTH,
|
|
20
|
+
wifi: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_WIFI,
|
|
21
|
+
unknown: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_UNKNOWN,
|
|
22
|
+
none: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_UNREACHABLE,
|
|
23
|
+
};
|
|
24
|
+
const vendorUuidKey = "vendorUuid";
|
|
25
|
+
const vendorUuidExpiry = convertDaysToSeconds(60);
|
|
26
|
+
const getOrGenerateVendorUuid = (persistence) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
try {
|
|
28
|
+
const storedUuid = yield persistence.retrieve(vendorUuidKey);
|
|
29
|
+
if (storedUuid) {
|
|
30
|
+
return storedUuid;
|
|
31
|
+
}
|
|
32
|
+
const newUuid = v4();
|
|
33
|
+
yield persistence.store(vendorUuidKey, newUuid);
|
|
34
|
+
return newUuid;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new Error("Failed to generate vendor UUID");
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
function listenAndReport(metricsEventTarget, metricsClient, eventHandlers, appVendorAndPartnerUuid) {
|
|
41
|
+
const sessionId = v4();
|
|
42
|
+
logger.log(`Session ID: ${sessionId}`);
|
|
43
|
+
let sequenceId = 1;
|
|
44
|
+
const makeBlizzardEvent = (event, appVendorUuid, partnerUuid) => {
|
|
45
|
+
var _a;
|
|
46
|
+
const { sdkShortVersion, sdkLongVersion, lensCore, locale, origin, deviceModel, connectionType } = getPlatformInfo();
|
|
47
|
+
const deviceConnectivity = (_a = connectivityTypeMapping[connectionType]) !== null && _a !== void 0 ? _a : blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_UNKNOWN;
|
|
48
|
+
return Object.assign(Object.assign({}, event), { cameraKitEventBase: blizzard.CameraKitEventBase.fromPartial({
|
|
49
|
+
kitEventBase: blizzard.KitEventBase.fromPartial({
|
|
50
|
+
locale,
|
|
51
|
+
kitVariant: blizzard.KitType.CAMERA_KIT_WEB,
|
|
52
|
+
kitVariantVersion: sdkShortVersion,
|
|
53
|
+
kitClientTimestampMillis: `${Date.now()}`,
|
|
54
|
+
}),
|
|
55
|
+
deviceCluster: "0",
|
|
56
|
+
cameraKitVersion: sdkLongVersion,
|
|
57
|
+
lensCoreVersion: lensCore.version,
|
|
58
|
+
deviceModel,
|
|
59
|
+
cameraKitVariant: blizzard.CameraKitVariant.CAMERA_KIT_VARIANT_PARTNER,
|
|
60
|
+
cameraKitFlavor: blizzard.CameraKitFlavor.CAMERA_KIT_FLAVOR_DEBUG,
|
|
61
|
+
appId: origin,
|
|
62
|
+
deviceConnectivity,
|
|
63
|
+
sessionId,
|
|
64
|
+
appVendorUuid,
|
|
65
|
+
partnerUuid,
|
|
66
|
+
}) });
|
|
67
|
+
};
|
|
68
|
+
const sendServerEvent = (eventName, eventData) => {
|
|
69
|
+
const { osName: osType, osVersion } = getPlatformInfo();
|
|
70
|
+
return metricsClient.setBusinessEvents(blizzard.ServerEvent.fromPartial({
|
|
71
|
+
eventName,
|
|
72
|
+
osType,
|
|
73
|
+
osVersion,
|
|
74
|
+
maxSequenceIdOnInstance: "0",
|
|
75
|
+
sequenceId: `${sequenceId++}`,
|
|
76
|
+
eventData,
|
|
77
|
+
}));
|
|
78
|
+
};
|
|
79
|
+
const metricsEvents = entries(eventHandlers).map(([eventType, createEventData]) => fromEvent(metricsEventTarget, eventType).pipe(map((event) => ({ event, createEventData }))));
|
|
80
|
+
merge(...metricsEvents)
|
|
81
|
+
.pipe(combineLatestWith(appVendorAndPartnerUuid))
|
|
82
|
+
.subscribe(([{ event, createEventData }, { appVendorUuid, partnerUuid }]) => {
|
|
83
|
+
const [eventName, eventData] = createEventData(makeBlizzardEvent(event.detail, appVendorUuid, partnerUuid));
|
|
84
|
+
sendServerEvent(eventName, eventData);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function getAppVendorAndPartnerUuid(configuration, remoteConfiguration) {
|
|
88
|
+
const vendorAnalyticsPersistence = new ExpiringPersistence(() => vendorUuidExpiry, new IndexedDBPersistence({ databaseName: "VendorAnalytics" }));
|
|
89
|
+
return remoteConfiguration.getInitializationConfig().pipe(take(1), switchMap(({ appVendorUuidOptIn }) => {
|
|
90
|
+
const partnerUuid = configuration.analyticsId;
|
|
91
|
+
if (appVendorUuidOptIn) {
|
|
92
|
+
return from(getOrGenerateVendorUuid(vendorAnalyticsPersistence)).pipe(map((appVendorUuid) => ({ appVendorUuid, partnerUuid })));
|
|
93
|
+
}
|
|
94
|
+
return of({ appVendorUuid: undefined, partnerUuid });
|
|
95
|
+
}), catchError((error) => {
|
|
96
|
+
logger.warn(`Failed to retrieve or generate vendor UUID.`, error);
|
|
97
|
+
return of({ appVendorUuid: undefined, partnerUuid: configuration.analyticsId });
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
export const businessEventsReporterFactory = Injectable("businessEventsReporter", [
|
|
101
|
+
metricsEventTargetFactory.token,
|
|
102
|
+
metricsClientFactory.token,
|
|
103
|
+
configurationToken,
|
|
104
|
+
remoteConfigurationFactory.token,
|
|
105
|
+
], (metricsEventTarget, metricsClient, configuration, remoteConfiguration) => {
|
|
106
|
+
const appVendorAndPartnerUuid = getAppVendorAndPartnerUuid(configuration, remoteConfiguration);
|
|
107
|
+
listenAndReport(metricsEventTarget, metricsClient, {
|
|
108
|
+
assetDownload: (event) => [
|
|
109
|
+
"CAMERA_KIT_ASSET_DOWNLOAD",
|
|
110
|
+
{ cameraKitAssetDownload: blizzard.CameraKitAssetDownload.fromPartial(event) },
|
|
111
|
+
],
|
|
112
|
+
assetValidationFailed: (event) => [
|
|
113
|
+
"CAMERA_KIT_ASSET_VALIDATION_FAILED",
|
|
114
|
+
{
|
|
115
|
+
cameraKitAssetValidationFailed: blizzard.CameraKitAssetValidationFailed.fromPartial(event),
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
benchmarkComplete: (event) => [
|
|
119
|
+
"CAMERA_KIT_WEB_BENCHMARK_COMPLETE",
|
|
120
|
+
{
|
|
121
|
+
cameraKitWebBenchmarkComplete: blizzard.CameraKitWebBenchmarkComplete.fromPartial(event),
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
exception: (event) => [
|
|
125
|
+
"CAMERA_KIT_EXCEPTION",
|
|
126
|
+
{ cameraKitException: blizzard.CameraKitException.fromPartial(event) },
|
|
127
|
+
],
|
|
128
|
+
legalPrompt: (event) => [
|
|
129
|
+
"CAMERA_KIT_LEGAL_PROMPT",
|
|
130
|
+
{ cameraKitLegalPrompt: blizzard.CameraKitLegalPrompt.fromPartial(event) },
|
|
131
|
+
],
|
|
132
|
+
lensDownload: (event) => [
|
|
133
|
+
"CAMERA_KIT_LENS_DOWNLOAD",
|
|
134
|
+
{ cameraKitLensDownload: blizzard.CameraKitLensDownload.fromPartial(event) },
|
|
135
|
+
],
|
|
136
|
+
lensView: (event) => [
|
|
137
|
+
"CAMERA_KIT_WEB_LENS_SWIPE",
|
|
138
|
+
{ cameraKitWebLensSwipe: blizzard.CameraKitWebLensSwipe.fromPartial(event) },
|
|
139
|
+
],
|
|
140
|
+
lensWait: (event) => [
|
|
141
|
+
"CAMERA_KIT_LENS_SPIN",
|
|
142
|
+
{ cameraKitLensSpin: blizzard.CameraKitLensSpin.fromPartial(event) },
|
|
143
|
+
],
|
|
144
|
+
lensContentValidationFailed: (event) => [
|
|
145
|
+
"CAMERA_KIT_LENS_CONTENT_VALIDATION_FAILED",
|
|
146
|
+
{
|
|
147
|
+
cameraKitLensContentValidationFailed: blizzard.CameraKitLensContentValidationFailed.fromPartial(event),
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
session: (event) => [
|
|
151
|
+
"CAMERA_KIT_SESSION",
|
|
152
|
+
{ cameraKitSession: blizzard.CameraKitSession.fromPartial(event) },
|
|
153
|
+
],
|
|
154
|
+
}, appVendorAndPartnerUuid);
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=businessEventsReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"businessEventsReporter.js","sourceRoot":"","sources":["../../src/metrics/businessEventsReporter.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 } from \"uuid\";\nimport type { Observable } from \"rxjs\";\nimport { catchError, combineLatestWith, from, fromEvent, map, merge, of, switchMap, take } from \"rxjs\";\nimport { entries } from \"../common/entries\";\nimport { Injectable } from \"../dependency-injection/Injectable\";\nimport type { EventOfType } from \"../events/TypedCustomEvent\";\nimport type { EventsFromTarget } from \"../events/TypedEventTarget\";\nimport * as blizzard from \"../generated-proto/blizzard/cameraKitEvents\";\nimport { getLogger } from \"../logger/logger\";\nimport type { MetricsClient } from \"../clients/metricsClient\";\nimport { metricsClientFactory } from \"../clients/metricsClient\";\nimport type { CameraKitConfiguration } from \"../configuration\";\nimport { configurationToken } from \"../configuration\";\nimport type { RemoteConfiguration } from \"../remote-configuration/remoteConfiguration\";\nimport { remoteConfigurationFactory } from \"../remote-configuration/remoteConfiguration\";\nimport { IndexedDBPersistence } from \"../persistence/IndexedDBPersistence\";\nimport { ExpiringPersistence } from \"../persistence/ExpiringPersistence\";\nimport { convertDaysToSeconds } from \"../common/time\";\nimport type { ConnectionType } from \"../platform/platformInfo\";\nimport { getPlatformInfo } from \"../platform/platformInfo\";\nimport type { MetricsEventTarget } from \"./metricsEventTarget\";\nimport { metricsEventTargetFactory } from \"./metricsEventTarget\";\n\nconst logger = getLogger(\"BusinessEventsReporter\");\n\ntype Nullables<T> = { [K in keyof T]-?: undefined extends T[K] ? K : never }[keyof T];\ntype UndefinedToOptional<T> = Partial<Pick<T, Nullables<T>>> & Omit<T, Nullables<T>>;\n\ntype CameraKitBusinessEvents = EventsFromTarget<MetricsEventTarget>[\"detail\"];\n\ntype MakeBlizzardEvent<E> = Omit<E, \"name\"> & { cameraKitEventBase: blizzard.CameraKitEventBase };\n\ntype CreateEventData<EventType extends EventsFromTarget<MetricsEventTarget>[\"type\"]> = (\n event: MakeBlizzardEvent<EventOfType<EventType, EventsFromTarget<MetricsEventTarget>>[\"detail\"]>\n) => [string, UndefinedToOptional<blizzard.ServerEventData>];\n\ntype EventHandlers = {\n [EventType in EventsFromTarget<MetricsEventTarget>[\"type\"]]: CreateEventData<EventType>;\n};\n\n/**\n * Translate between an external metric name, which is exposed to SDK users, and an internal Blizzard event name,\n * property name, and constructor.\n *\n * It is very important that we do this, since the naming of these internal business events are unintuitive and will\n * not make sense to SDK users.\n *\n * For a full list of business events (using their internal names), see:\n * https://docs.google.com/document/d/1-kSzFWCWw9Qo3D08FR1_cqeHTsUtk9p3p3uOptzWDTY/\n */\ntype CameraKitBusinessEventMap = {\n assetDownload: MakeBusinessEvent<blizzard.CameraKitAssetDownload>;\n assetValidationFailed: MakeBusinessEvent<blizzard.CameraKitAssetValidationFailed>;\n benchmarkComplete: MakeBusinessEvent<blizzard.CameraKitWebBenchmarkComplete>;\n exception: MakeBusinessEvent<blizzard.CameraKitException>;\n legalPrompt: MakeBusinessEvent<blizzard.CameraKitLegalPrompt>;\n lensDownload: MakeBusinessEvent<blizzard.CameraKitLensDownload>;\n lensView: MakeBusinessEvent<blizzard.CameraKitWebLensSwipe>;\n lensWait: MakeBusinessEvent<blizzard.CameraKitLensSpin>;\n lensContentValidationFailed: MakeBusinessEvent<blizzard.CameraKitLensContentValidationFailed>;\n session: MakeBusinessEvent<blizzard.CameraKitSession>;\n};\n\ninterface AppVendorAndPartnerUuid {\n appVendorUuid: string | undefined;\n partnerUuid: string | undefined;\n}\n\nconst connectivityTypeMapping: Partial<Record<ConnectionType, blizzard.CameraKitConnectivityType>> = {\n cellular: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_MOBILE,\n bluetooth: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_BLUETOOTH,\n wifi: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_WIFI,\n unknown: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_UNKNOWN,\n none: blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_UNREACHABLE,\n};\n\nconst vendorUuidKey = \"vendorUuid\";\nconst vendorUuidExpiry = convertDaysToSeconds(60);\n\n/**\n * Retrieves or generates a vendor UUID (Universally Unique Identifier).\n *\n * @param persistence - The persistence storage interface where UUID is stored.\n * @returns {Promise<string | undefined>} - A Promise that resolves to the vendor UUID or undefined,\n * if any failure occurs or opt-in is not enabled.\n */\nconst getOrGenerateVendorUuid = async (persistence: ExpiringPersistence<string>): Promise<string | undefined> => {\n try {\n const storedUuid = await persistence.retrieve(vendorUuidKey);\n if (storedUuid) {\n return storedUuid;\n }\n\n const newUuid = v4();\n await persistence.store(vendorUuidKey, newUuid);\n\n return newUuid;\n } catch (error) {\n throw new Error(\"Failed to generate vendor UUID\");\n }\n};\n\nfunction listenAndReport(\n metricsEventTarget: MetricsEventTarget,\n metricsClient: MetricsClient,\n eventHandlers: EventHandlers,\n appVendorAndPartnerUuid: Observable<AppVendorAndPartnerUuid>\n): void {\n const sessionId = v4();\n logger.log(`Session ID: ${sessionId}`);\n\n // Blizzard convention is to start the sequenceId at 1.\n let sequenceId = 1;\n\n const makeBlizzardEvent = <E extends CameraKitBusinessEvents>(\n event: E,\n appVendorUuid: string | undefined,\n partnerUuid: string | undefined\n ): MakeBlizzardEvent<E> => {\n const { sdkShortVersion, sdkLongVersion, lensCore, locale, origin, deviceModel, connectionType } =\n getPlatformInfo();\n\n const deviceConnectivity =\n connectivityTypeMapping[connectionType!] ??\n blizzard.CameraKitConnectivityType.CAMERA_KIT_CONNECTIVITY_TYPE_UNKNOWN;\n\n return {\n ...event,\n cameraKitEventBase: blizzard.CameraKitEventBase.fromPartial({\n kitEventBase: blizzard.KitEventBase.fromPartial({\n locale,\n kitVariant: blizzard.KitType.CAMERA_KIT_WEB,\n kitVariantVersion: sdkShortVersion,\n kitClientTimestampMillis: `${Date.now()}`,\n }),\n deviceCluster: \"0\",\n cameraKitVersion: sdkLongVersion,\n lensCoreVersion: lensCore.version,\n deviceModel,\n cameraKitVariant: blizzard.CameraKitVariant.CAMERA_KIT_VARIANT_PARTNER,\n cameraKitFlavor: blizzard.CameraKitFlavor.CAMERA_KIT_FLAVOR_DEBUG,\n // We overload appId, using the origin instead because it's nice and human-readable (our backed adds\n // the true appId as oauth_client_id before forwarding events to Blizzard).\n appId: origin,\n deviceConnectivity,\n sessionId,\n appVendorUuid,\n partnerUuid,\n }),\n };\n };\n\n const sendServerEvent = (\n eventName: string,\n eventData: UndefinedToOptional<blizzard.ServerEventData>\n ): Promise<void> => {\n const { osName: osType, osVersion } = getPlatformInfo();\n return metricsClient.setBusinessEvents(\n blizzard.ServerEvent.fromPartial({\n eventName,\n osType,\n osVersion,\n maxSequenceIdOnInstance: \"0\",\n sequenceId: `${sequenceId++}`,\n eventData,\n })\n );\n };\n\n // Add event listeners for each event type and turn those listeners into Observables\n const metricsEvents = entries(eventHandlers).map(([eventType, createEventData]) =>\n fromEvent(metricsEventTarget, eventType).pipe(map((event) => ({ event, createEventData })))\n );\n\n // Subscribe to all the metrics events and combine them with the app/partner IDs obtained\n // from remote configuration -- this means we'll queue up any metrics events that occur\n // before remote config is downloaded, and send them once that config is available.\n merge(...metricsEvents)\n .pipe(combineLatestWith(appVendorAndPartnerUuid))\n .subscribe(([{ event, createEventData }, { appVendorUuid, partnerUuid }]) => {\n // Safety: When iterating over object keys in a mapped type, we lose the association between the key type\n // and the value type – at each iteration, the key type is a union of all possible keys and the value type\n // is a union of all possible values. When the value is a function with an argument, and that argument\n // depends on the key type (which is a union), the contravariance of the argument type means that the union\n // becomes an intersection. In our case here, this means the compiler expects each argument to contain all\n // properties from all event types. The cast is safe because the mapped `EventHandlers` type ensures that\n // `createEventData` takes an argument of the type corresponding its key's `eventType`'s event detail.\n const [eventName, eventData] = createEventData(\n makeBlizzardEvent(event.detail, appVendorUuid, partnerUuid) as any\n );\n sendServerEvent(eventName, eventData);\n });\n}\n\nexport type MakeBusinessEvent<E> = Omit<\n {\n [K in keyof E]: Exclude<E[K], undefined> extends Record<keyof any, any>\n ? MakeBusinessEvent<Exclude<E[K], undefined>>\n : E[K];\n },\n \"cameraKitEventBase\"\n>;\n\nfunction getAppVendorAndPartnerUuid(\n configuration: CameraKitConfiguration,\n remoteConfiguration: RemoteConfiguration\n): Observable<AppVendorAndPartnerUuid> {\n const vendorAnalyticsPersistence = new ExpiringPersistence<string>(\n () => vendorUuidExpiry,\n new IndexedDBPersistence({ databaseName: \"VendorAnalytics\" })\n );\n\n return remoteConfiguration.getInitializationConfig().pipe(\n take(1),\n\n switchMap(({ appVendorUuidOptIn }) => {\n const partnerUuid = configuration.analyticsId;\n if (appVendorUuidOptIn) {\n return from(getOrGenerateVendorUuid(vendorAnalyticsPersistence)).pipe(\n map((appVendorUuid) => ({ appVendorUuid, partnerUuid }))\n );\n }\n return of({ appVendorUuid: undefined, partnerUuid });\n }),\n\n catchError((error) => {\n logger.warn(`Failed to retrieve or generate vendor UUID.`, error);\n return of({ appVendorUuid: undefined, partnerUuid: configuration.analyticsId });\n })\n );\n}\n\nexport type MakeTaggedBusinessEvent<K extends keyof CameraKitBusinessEventMap> = {\n name: K;\n} & CameraKitBusinessEventMap[K];\n\nexport const businessEventsReporterFactory = Injectable(\n \"businessEventsReporter\",\n [\n metricsEventTargetFactory.token,\n metricsClientFactory.token,\n configurationToken,\n remoteConfigurationFactory.token,\n ] as const,\n (\n metricsEventTarget: MetricsEventTarget,\n metricsClient: MetricsClient,\n configuration: CameraKitConfiguration,\n remoteConfiguration: RemoteConfiguration\n ) => {\n const appVendorAndPartnerUuid = getAppVendorAndPartnerUuid(configuration, remoteConfiguration);\n\n /**\n * This defines a mapping from a business event's external name (the name we document in public\n * API docs), to its internal representation as a Blizzard ServerEvent.\n *\n * It is important that we do this, since the naming of these internal business events are\n * unintuitive and will not make sense to SDK users.\n *\n * To specify the internal event, we must give the ServerEvent's eventName, the specific property\n * name which contains the event data (this is a \"oneof\" property on ServerEvent), and use the\n * correct event type's `fromPartial` method (this is generated from the ServerEvent protobuf).\n *\n * These events are documented here:\n * https://docs.google.com/document/d/1-kSzFWCWw9Qo3D08FR1_cqeHTsUtk9p3p3uOptzWDTY/\n *\n * They are defined in code here:\n * https://github.sc-corp.net/Snapchat/snapchat/tree/master/blizzard/schema/blizzard-schema/\n * codeGen/src/main/java/com/snapchat/analytics/schema/events/cameraKit\n */\n listenAndReport(\n metricsEventTarget,\n metricsClient,\n {\n assetDownload: (event) => [\n \"CAMERA_KIT_ASSET_DOWNLOAD\",\n { cameraKitAssetDownload: blizzard.CameraKitAssetDownload.fromPartial(event) },\n ],\n assetValidationFailed: (event) => [\n \"CAMERA_KIT_ASSET_VALIDATION_FAILED\",\n {\n cameraKitAssetValidationFailed: blizzard.CameraKitAssetValidationFailed.fromPartial(event),\n },\n ],\n benchmarkComplete: (event) => [\n \"CAMERA_KIT_WEB_BENCHMARK_COMPLETE\",\n {\n cameraKitWebBenchmarkComplete: blizzard.CameraKitWebBenchmarkComplete.fromPartial(event),\n },\n ],\n exception: (event) => [\n \"CAMERA_KIT_EXCEPTION\",\n { cameraKitException: blizzard.CameraKitException.fromPartial(event) },\n ],\n legalPrompt: (event) => [\n \"CAMERA_KIT_LEGAL_PROMPT\",\n { cameraKitLegalPrompt: blizzard.CameraKitLegalPrompt.fromPartial(event) },\n ],\n lensDownload: (event) => [\n \"CAMERA_KIT_LENS_DOWNLOAD\",\n { cameraKitLensDownload: blizzard.CameraKitLensDownload.fromPartial(event) },\n ],\n lensView: (event) => [\n \"CAMERA_KIT_WEB_LENS_SWIPE\",\n { cameraKitWebLensSwipe: blizzard.CameraKitWebLensSwipe.fromPartial(event) },\n ],\n lensWait: (event) => [\n \"CAMERA_KIT_LENS_SPIN\",\n { cameraKitLensSpin: blizzard.CameraKitLensSpin.fromPartial(event) },\n ],\n lensContentValidationFailed: (event) => [\n \"CAMERA_KIT_LENS_CONTENT_VALIDATION_FAILED\",\n {\n cameraKitLensContentValidationFailed:\n blizzard.CameraKitLensContentValidationFailed.fromPartial(event),\n },\n ],\n session: (event) => [\n \"CAMERA_KIT_SESSION\",\n { cameraKitSession: blizzard.CameraKitSession.fromPartial(event) },\n ],\n },\n appVendorAndPartnerUuid\n );\n }\n);\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { TypedCustomEvent } from "../events/TypedCustomEvent";
|
|
2
|
+
import { TypedEventTarget } from "../events/TypedEventTarget";
|
|
3
|
+
import type { AssetValidationFailed } from "../lens/assets/LensAssetsProvider";
|
|
4
|
+
import type { AssetDownload, LensDownload } from "./reporters/reportLensAndAssetDownload";
|
|
5
|
+
import type { LensContentValidationFailed } from "./reporters/reportLensValidationFailed";
|
|
6
|
+
import type { LensView } from "./reporters/reportLensView";
|
|
7
|
+
import type { LensWait } from "./reporters/reportLensWait";
|
|
8
|
+
import type { Session } from "./reporters/reportUserSession";
|
|
9
|
+
import type { BenchmarkComplete } from "./reporters/reportBenchmarks";
|
|
10
|
+
import type { LegalPrompt } from "./reporters/reportLegalState";
|
|
11
|
+
import type { MakeTaggedBusinessEvent } from "./businessEventsReporter";
|
|
12
|
+
/**
|
|
13
|
+
* The Exception metric reports every time we handle an exception.
|
|
14
|
+
*/
|
|
15
|
+
export type Exception = MakeTaggedBusinessEvent<"exception">;
|
|
16
|
+
export type CameraKitBootstrapMetricEvents = TypedCustomEvent<BenchmarkComplete["name"], BenchmarkComplete>;
|
|
17
|
+
export type CameraKitSessionMetricEvents = TypedCustomEvent<LegalPrompt["name"], LegalPrompt> | TypedCustomEvent<LensView["name"], LensView> | TypedCustomEvent<LensWait["name"], LensWait> | TypedCustomEvent<LensDownload["name"], LensDownload> | TypedCustomEvent<AssetDownload["name"], AssetDownload> | TypedCustomEvent<AssetValidationFailed["name"], AssetValidationFailed> | TypedCustomEvent<LensContentValidationFailed["name"], LensContentValidationFailed> | TypedCustomEvent<Session["name"], Session>;
|
|
18
|
+
/**
|
|
19
|
+
* A union of all event types emitted by the {@link CameraKit.events} event emitter.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export type CameraKitMetricEvents = CameraKitSessionMetricEvents | CameraKitBootstrapMetricEvents | TypedCustomEvent<Exception["name"], Exception>;
|
|
24
|
+
/**
|
|
25
|
+
* This event target may be used to listen for any of the metrics events reported by CameraKit.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export type MetricsEventTarget = TypedEventTarget<CameraKitMetricEvents>;
|
|
30
|
+
/**
|
|
31
|
+
* Any metrics that we wish to emit to applications should be dispatched on this event target.
|
|
32
|
+
*
|
|
33
|
+
* Our business events reporter also listens to this event target, and may report the emitted metrics to our backend.
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare const metricsEventTargetFactory: {
|
|
38
|
+
(): MetricsEventTarget;
|
|
39
|
+
token: "metricsEventTarget";
|
|
40
|
+
dependencies: [];
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=metricsEventTarget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metricsEventTarget.d.ts","sourceRoot":"","sources":["../../src/metrics/metricsEventTarget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;AAE7D,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAE5G,MAAM,MAAM,4BAA4B,GAClC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAClD,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAC5C,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,GAC5C,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,GACpD,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,GACtD,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,GACtE,gBAAgB,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC,GAClF,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAC3B,4BAA4B,GAC5B,8BAA8B,GAC9B,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;CAGrC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Injectable } from "../dependency-injection/Injectable";
|
|
2
|
+
import { TypedEventTarget } from "../events/TypedEventTarget";
|
|
3
|
+
export const metricsEventTargetFactory = Injectable("metricsEventTarget", () => new TypedEventTarget());
|
|
4
|
+
//# sourceMappingURL=metricsEventTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metricsEventTarget.js","sourceRoot":"","sources":["../../src/metrics/metricsEventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAoD9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAC/C,oBAAoB,EACpB,GAAuB,EAAE,CAAC,IAAI,gBAAgB,EAAE,CACnD,CAAC","sourcesContent":["import { Injectable } from \"../dependency-injection/Injectable\";\nimport type { TypedCustomEvent } from \"../events/TypedCustomEvent\";\nimport { TypedEventTarget } from \"../events/TypedEventTarget\";\nimport type { AssetValidationFailed } from \"../lens/assets/LensAssetsProvider\";\nimport type { AssetDownload, LensDownload } from \"./reporters/reportLensAndAssetDownload\";\nimport type { LensContentValidationFailed } from \"./reporters/reportLensValidationFailed\";\nimport type { LensView } from \"./reporters/reportLensView\";\nimport type { LensWait } from \"./reporters/reportLensWait\";\nimport type { Session } from \"./reporters/reportUserSession\";\nimport type { BenchmarkComplete } from \"./reporters/reportBenchmarks\";\nimport type { LegalPrompt } from \"./reporters/reportLegalState\";\nimport type { MakeTaggedBusinessEvent } from \"./businessEventsReporter\";\n\n/**\n * The Exception metric reports every time we handle an exception.\n */\nexport type Exception = MakeTaggedBusinessEvent<\"exception\">;\n\nexport type CameraKitBootstrapMetricEvents = TypedCustomEvent<BenchmarkComplete[\"name\"], BenchmarkComplete>;\n\nexport type CameraKitSessionMetricEvents =\n | TypedCustomEvent<LegalPrompt[\"name\"], LegalPrompt>\n | TypedCustomEvent<LensView[\"name\"], LensView>\n | TypedCustomEvent<LensWait[\"name\"], LensWait>\n | TypedCustomEvent<LensDownload[\"name\"], LensDownload>\n | TypedCustomEvent<AssetDownload[\"name\"], AssetDownload>\n | TypedCustomEvent<AssetValidationFailed[\"name\"], AssetValidationFailed>\n | TypedCustomEvent<LensContentValidationFailed[\"name\"], LensContentValidationFailed>\n | TypedCustomEvent<Session[\"name\"], Session>;\n\n/**\n * A union of all event types emitted by the {@link CameraKit.events} event emitter.\n *\n * @internal\n */\nexport type CameraKitMetricEvents =\n | CameraKitSessionMetricEvents\n | CameraKitBootstrapMetricEvents\n | TypedCustomEvent<Exception[\"name\"], Exception>;\n\n/**\n * This event target may be used to listen for any of the metrics events reported by CameraKit.\n *\n * @internal\n */\nexport type MetricsEventTarget = TypedEventTarget<CameraKitMetricEvents>;\n\n/**\n * Any metrics that we wish to emit to applications should be dispatched on this event target.\n *\n * Our business events reporter also listens to this event target, and may report the emitted metrics to our backend.\n *\n * @internal\n */\nexport const metricsEventTargetFactory = Injectable(\n \"metricsEventTarget\",\n (): MetricsEventTarget => new TypedEventTarget()\n);\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { OperationalMetric } from "../../generated-proto/pb_schema/camera_kit/v3/operational_metrics";
|
|
2
|
+
import type { MetricDimensions } from "./Metric";
|
|
3
|
+
import { Metric } from "./Metric";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export type CountMetric = OperationalMetric & {
|
|
6
|
+
metric: Extract<OperationalMetric["metric"], {
|
|
7
|
+
$case: "count";
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare function isCountMetric(value: OperationalMetric): value is CountMetric;
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare class Count extends Metric {
|
|
14
|
+
readonly name: string;
|
|
15
|
+
static count(name: string, n: number, dimensions?: MetricDimensions): Count;
|
|
16
|
+
private count;
|
|
17
|
+
constructor(name: string, dimensions?: MetricDimensions);
|
|
18
|
+
increment(count: number): number;
|
|
19
|
+
toOperationalMetric(): CountMetric[];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=Count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Count.d.ts","sourceRoot":"","sources":["../../../src/metrics/operational/Count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAC;AAE7D,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC1C,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,gBAAgB;AAChB,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,IAAI,WAAW,CAE5E;AAED,gBAAgB;AAChB,qBAAa,KAAM,SAAQ,MAAM;IASjB,QAAQ,CAAC,IAAI,EAAE,MAAM;IARjC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,gBAAqB,GAAG,KAAK;IAM/E,OAAO,CAAC,KAAK,CAAK;gBAEG,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,gBAAqB;IAIpE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAKhC,mBAAmB,IAAI,WAAW,EAAE;CASvC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Metric, serializeMetricDimensions } from "./Metric";
|
|
2
|
+
export function isCountMetric(value) {
|
|
3
|
+
var _a;
|
|
4
|
+
return ((_a = value.metric) === null || _a === void 0 ? void 0 : _a.$case) === "count";
|
|
5
|
+
}
|
|
6
|
+
export class Count extends Metric {
|
|
7
|
+
static count(name, n, dimensions = {}) {
|
|
8
|
+
const count = new Count(name, dimensions);
|
|
9
|
+
count.increment(n);
|
|
10
|
+
return count;
|
|
11
|
+
}
|
|
12
|
+
constructor(name, dimensions = {}) {
|
|
13
|
+
super(name, dimensions);
|
|
14
|
+
this.name = name;
|
|
15
|
+
this.count = 0;
|
|
16
|
+
}
|
|
17
|
+
increment(count) {
|
|
18
|
+
this.count += count;
|
|
19
|
+
return this.count;
|
|
20
|
+
}
|
|
21
|
+
toOperationalMetric() {
|
|
22
|
+
return [
|
|
23
|
+
{
|
|
24
|
+
name: `${this.name}${serializeMetricDimensions(this.dimensions)}`,
|
|
25
|
+
timestamp: new Date(),
|
|
26
|
+
metric: { $case: "count", count: `${Math.ceil(this.count)}` },
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Count.js","sourceRoot":"","sources":["../../../src/metrics/operational/Count.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAQ7D,MAAM,UAAU,aAAa,CAAC,KAAwB;;IAClD,OAAO,CAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,KAAK,MAAK,OAAO,CAAC;AAC3C,CAAC;AAGD,MAAM,OAAO,KAAM,SAAQ,MAAM;IAC7B,MAAM,CAAC,KAAK,CAAC,IAAY,EAAE,CAAS,EAAE,aAA+B,EAAE;QACnE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAID,YAAqB,IAAY,EAAE,aAA+B,EAAE;QAChE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QADP,SAAI,GAAJ,IAAI,CAAQ;QAFzB,UAAK,GAAG,CAAC,CAAC;IAIlB,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,mBAAmB;QACf,OAAO;YACH;gBACI,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACjE,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;aAChE;SACJ,CAAC;IACN,CAAC;CACJ","sourcesContent":["import type { OperationalMetric } from \"../../generated-proto/pb_schema/camera_kit/v3/operational_metrics\";\nimport type { MetricDimensions } from \"./Metric\";\nimport { Metric, serializeMetricDimensions } from \"./Metric\";\n\n/** @internal */\nexport type CountMetric = OperationalMetric & {\n metric: Extract<OperationalMetric[\"metric\"], { $case: \"count\" }>;\n};\n\n/** @internal */\nexport function isCountMetric(value: OperationalMetric): value is CountMetric {\n return value.metric?.$case === \"count\";\n}\n\n/** @internal */\nexport class Count extends Metric {\n static count(name: string, n: number, dimensions: MetricDimensions = {}): Count {\n const count = new Count(name, dimensions);\n count.increment(n);\n return count;\n }\n\n private count = 0;\n\n constructor(readonly name: string, dimensions: MetricDimensions = {}) {\n super(name, dimensions);\n }\n\n increment(count: number): number {\n this.count += count;\n return this.count;\n }\n\n toOperationalMetric(): CountMetric[] {\n return [\n {\n name: `${this.name}${serializeMetricDimensions(this.dimensions)}`,\n timestamp: new Date(),\n metric: { $case: \"count\", count: `${Math.ceil(this.count)}` },\n },\n ];\n }\n}\n"]}
|