@snap/camera-kit 0.17.0 → 0.18.1

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.
Files changed (1223) hide show
  1. package/LICENSE.md +13 -391
  2. package/README.md +1 -1
  3. package/dist/CameraKit.d.ts +334 -0
  4. package/dist/CameraKit.d.ts.map +1 -0
  5. package/dist/CameraKit.js +104 -0
  6. package/dist/CameraKit.js.map +1 -0
  7. package/dist/benchmark/benchmarkGflops.d.ts +17 -0
  8. package/dist/benchmark/benchmarkGflops.d.ts.map +1 -0
  9. package/dist/benchmark/benchmarkGflops.js +116 -0
  10. package/dist/benchmark/benchmarkGflops.js.map +1 -0
  11. package/dist/benchmark/estimateLensPerformanceCluster.d.ts +34 -0
  12. package/dist/benchmark/estimateLensPerformanceCluster.d.ts.map +1 -0
  13. package/dist/benchmark/estimateLensPerformanceCluster.js +34 -0
  14. package/dist/benchmark/estimateLensPerformanceCluster.js.map +1 -0
  15. package/dist/benchmark/webglUtils.d.ts +8 -0
  16. package/dist/benchmark/webglUtils.d.ts.map +1 -0
  17. package/dist/bootstrapCameraKit.d.ts +97 -0
  18. package/dist/bootstrapCameraKit.d.ts.map +1 -0
  19. package/dist/bootstrapCameraKit.js +117 -0
  20. package/dist/bootstrapCameraKit.js.map +1 -0
  21. package/dist/clients/createTsProtoClient.d.ts +41 -0
  22. package/dist/clients/createTsProtoClient.d.ts.map +1 -0
  23. package/dist/clients/createTsProtoClient.js +36 -0
  24. package/dist/clients/createTsProtoClient.js.map +1 -0
  25. package/dist/clients/grpcHandler.d.ts +27 -0
  26. package/dist/clients/grpcHandler.d.ts.map +1 -0
  27. package/dist/clients/grpcHandler.js +79 -0
  28. package/dist/clients/grpcHandler.js.map +1 -0
  29. package/dist/clients/lensesClient.d.ts +10 -0
  30. package/dist/clients/lensesClient.d.ts.map +1 -0
  31. package/dist/clients/lensesClient.js.map +1 -0
  32. package/dist/clients/metricsClient.d.ts +27 -0
  33. package/dist/clients/metricsClient.d.ts.map +1 -0
  34. package/dist/clients/metricsClient.js +96 -0
  35. package/dist/clients/metricsClient.js.map +1 -0
  36. package/dist/common/assertions.d.ts +28 -0
  37. package/dist/common/assertions.d.ts.map +1 -0
  38. package/dist/common/assertions.js +14 -0
  39. package/dist/common/assertions.js.map +1 -0
  40. package/dist/common/copyDefinedProperties.d.ts +14 -0
  41. package/dist/common/copyDefinedProperties.d.ts.map +1 -0
  42. package/dist/common/copyDefinedProperties.js +4 -0
  43. package/dist/common/copyDefinedProperties.js.map +1 -0
  44. package/dist/common/date.d.ts +4 -0
  45. package/dist/common/date.d.ts.map +1 -0
  46. package/dist/common/dialog.d.ts +60 -0
  47. package/dist/common/dialog.d.ts.map +1 -0
  48. package/dist/common/dialog.js +158 -0
  49. package/dist/common/dialog.js.map +1 -0
  50. package/dist/common/entries.d.ts +5 -0
  51. package/dist/common/entries.d.ts.map +1 -0
  52. package/dist/common/entries.js +3 -0
  53. package/dist/common/entries.js.map +1 -0
  54. package/dist/common/errorHelpers.d.ts +18 -0
  55. package/dist/common/errorHelpers.d.ts.map +1 -0
  56. package/dist/common/errorHelpers.js +20 -0
  57. package/dist/common/errorHelpers.js.map +1 -0
  58. package/dist/common/getFilename.d.ts +2 -0
  59. package/dist/common/getFilename.d.ts.map +1 -0
  60. package/dist/common/hash.d.ts +6 -0
  61. package/dist/common/hash.d.ts.map +1 -0
  62. package/dist/common/hash.js +13 -0
  63. package/dist/common/hash.js.map +1 -0
  64. package/dist/common/loadScript.d.ts +7 -0
  65. package/dist/common/loadScript.d.ts.map +1 -0
  66. package/dist/common/loadScript.js +13 -0
  67. package/dist/common/loadScript.js.map +1 -0
  68. package/dist/common/localization.d.ts +55 -0
  69. package/dist/common/localization.d.ts.map +1 -0
  70. package/dist/common/localization.js +622 -0
  71. package/dist/common/localization.js.map +1 -0
  72. package/dist/common/memoize.d.ts +9 -0
  73. package/dist/common/memoize.d.ts.map +1 -0
  74. package/dist/common/pageVisibility.d.ts +35 -0
  75. package/dist/common/pageVisibility.d.ts.map +1 -0
  76. package/dist/common/pageVisibility.js +52 -0
  77. package/dist/common/pageVisibility.js.map +1 -0
  78. package/dist/common/result.d.ts +37 -0
  79. package/dist/common/result.d.ts.map +1 -0
  80. package/dist/common/result.js +39 -0
  81. package/dist/common/result.js.map +1 -0
  82. package/dist/common/time.d.ts +3 -0
  83. package/dist/common/time.d.ts.map +1 -0
  84. package/dist/common/typeguards.d.ts +68 -0
  85. package/dist/common/typeguards.d.ts.map +1 -0
  86. package/dist/common/typeguards.js +68 -0
  87. package/dist/common/typeguards.js.map +1 -0
  88. package/dist/common/types.d.ts +38 -0
  89. package/dist/common/types.d.ts.map +1 -0
  90. package/dist/common/types.js.map +1 -0
  91. package/dist/common/unionBy.d.ts +29 -0
  92. package/dist/common/unionBy.d.ts.map +1 -0
  93. package/dist/common/unionBy.js +16 -0
  94. package/dist/common/unionBy.js.map +1 -0
  95. package/dist/common/validate.d.ts +16 -0
  96. package/dist/common/validate.d.ts.map +1 -0
  97. package/dist/common/validate.js +57 -0
  98. package/dist/common/validate.js.map +1 -0
  99. package/dist/configuration.d.ts +102 -0
  100. package/dist/configuration.d.ts.map +1 -0
  101. package/dist/configuration.js +30 -0
  102. package/dist/configuration.js.map +1 -0
  103. package/dist/configurationOverrides.d.ts +13 -0
  104. package/dist/configurationOverrides.d.ts.map +1 -0
  105. package/dist/configurationOverrides.js +38 -0
  106. package/dist/configurationOverrides.js.map +1 -0
  107. package/dist/dependency-injection/Container.d.ts +177 -0
  108. package/dist/dependency-injection/Container.d.ts.map +1 -0
  109. package/dist/dependency-injection/Container.js +72 -0
  110. package/dist/dependency-injection/Container.js.map +1 -0
  111. package/dist/dependency-injection/Injectable.d.ts +96 -0
  112. package/dist/dependency-injection/Injectable.d.ts.map +1 -0
  113. package/dist/dependency-injection/Injectable.js.map +1 -0
  114. package/dist/dependency-injection/PartialContainer.d.ts +86 -0
  115. package/dist/dependency-injection/PartialContainer.d.ts.map +1 -0
  116. package/dist/dependency-injection/PartialContainer.js +28 -0
  117. package/dist/dependency-injection/PartialContainer.js.map +1 -0
  118. package/dist/dependency-injection/RootServices.d.ts +74 -0
  119. package/dist/dependency-injection/RootServices.d.ts.map +1 -0
  120. package/dist/dependency-injection/RootServices.js +2 -0
  121. package/dist/dependency-injection/RootServices.js.map +1 -0
  122. package/dist/dependency-injection/types.d.ts +57 -0
  123. package/dist/dependency-injection/types.d.ts.map +1 -0
  124. package/dist/dependency-injection/types.js.map +1 -0
  125. package/dist/environment.d.ts +5 -0
  126. package/dist/environment.d.ts.map +1 -0
  127. package/dist/environment.js +2 -0
  128. package/dist/environment.js.map +1 -0
  129. package/dist/events/TypedCustomEvent.d.ts +11 -0
  130. package/dist/events/TypedCustomEvent.d.ts.map +1 -0
  131. package/dist/events/TypedCustomEvent.js +6 -0
  132. package/dist/events/TypedCustomEvent.js.map +1 -0
  133. package/dist/events/TypedEventTarget.d.ts +26 -0
  134. package/dist/events/TypedEventTarget.d.ts.map +1 -0
  135. package/dist/events/TypedEventTarget.js +42 -0
  136. package/dist/events/TypedEventTarget.js.map +1 -0
  137. package/dist/events/scan.d.ts +18 -0
  138. package/dist/events/scan.d.ts.map +1 -0
  139. package/dist/events/scan.js +29 -0
  140. package/dist/events/scan.js.map +1 -0
  141. package/dist/extensions/RemoteApiServices.d.ts +88 -0
  142. package/dist/extensions/RemoteApiServices.d.ts.map +1 -0
  143. package/dist/extensions/RemoteApiServices.js +159 -0
  144. package/dist/extensions/RemoteApiServices.js.map +1 -0
  145. package/dist/extensions/UriHandlers.d.ts +48 -0
  146. package/dist/extensions/UriHandlers.d.ts.map +1 -0
  147. package/dist/extensions/UriHandlers.js +34 -0
  148. package/dist/extensions/UriHandlers.js.map +1 -0
  149. package/dist/extensions/extensionRequestContext.d.ts +5 -0
  150. package/dist/extensions/extensionRequestContext.d.ts.map +1 -0
  151. package/dist/extensions/extensionRequestContext.js +11 -0
  152. package/dist/extensions/extensionRequestContext.js.map +1 -0
  153. package/dist/extensions/uriHandlersRegister.d.ts +22 -0
  154. package/dist/extensions/uriHandlersRegister.d.ts.map +1 -0
  155. package/dist/extensions/uriHandlersRegister.js +61 -0
  156. package/dist/extensions/uriHandlersRegister.js.map +1 -0
  157. package/dist/generated-proto/blizzard/cameraKitEvents.d.ts +9528 -0
  158. package/dist/generated-proto/blizzard/cameraKitEvents.d.ts.map +1 -0
  159. package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +80 -0
  160. package/dist/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts.map +1 -0
  161. package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts +529 -0
  162. package/dist/generated-proto/pb_schema/camera_kit/v3/export.d.ts.map +1 -0
  163. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +35 -0
  164. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts.map +1 -0
  165. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +42 -0
  166. package/dist/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +1 -0
  167. package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +30 -0
  168. package/dist/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts.map +1 -0
  169. package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +86 -0
  170. package/dist/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts.map +1 -0
  171. package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +385 -0
  172. package/dist/generated-proto/pb_schema/camera_kit/v3/lens.d.ts.map +1 -0
  173. package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +179 -0
  174. package/dist/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts.map +1 -0
  175. package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +57 -0
  176. package/dist/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts.map +1 -0
  177. package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts +2512 -0
  178. package/dist/generated-proto/pb_schema/camera_kit/v3/service.d.ts.map +1 -0
  179. package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +79 -0
  180. package/dist/generated-proto/pb_schema/cdp/cof/benchmark.d.ts.map +1 -0
  181. package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +51 -0
  182. package/dist/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts.map +1 -0
  183. package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +25575 -0
  184. package/dist/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts.map +1 -0
  185. package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts +280 -0
  186. package/dist/generated-proto/pb_schema/cdp/cof/config_request.d.ts.map +1 -0
  187. package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts +3726 -0
  188. package/dist/generated-proto/pb_schema/cdp/cof/config_response.d.ts.map +1 -0
  189. package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts +10224 -0
  190. package/dist/generated-proto/pb_schema/cdp/cof/config_result.d.ts.map +1 -0
  191. package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +94 -0
  192. package/dist/generated-proto/pb_schema/cdp/cof/debug_info.d.ts.map +1 -0
  193. package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts +9 -0
  194. package/dist/generated-proto/pb_schema/cdp/cof/namespace.d.ts.map +1 -0
  195. package/dist/generated-proto/pb_schema/common/ruid.d.ts +52 -0
  196. package/dist/generated-proto/pb_schema/common/ruid.d.ts.map +1 -0
  197. package/dist/generated-proto/pb_schema/common/value.d.ts +145 -0
  198. package/dist/generated-proto/pb_schema/common/value.d.ts.map +1 -0
  199. package/dist/generated-proto/pb_schema/google/api/annotations.d.ts +2 -0
  200. package/dist/generated-proto/pb_schema/google/api/annotations.d.ts.map +1 -0
  201. package/dist/generated-proto/pb_schema/google/api/annotations.js +8 -0
  202. package/dist/generated-proto/pb_schema/google/api/annotations.js.map +1 -0
  203. package/dist/generated-proto/pb_schema/google/api/http.d.ts +3631 -0
  204. package/dist/generated-proto/pb_schema/google/api/http.d.ts.map +1 -0
  205. package/dist/generated-proto/pb_schema/google/api/http.js +193 -0
  206. package/dist/generated-proto/pb_schema/google/api/http.js.map +1 -0
  207. package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts +33 -0
  208. package/dist/generated-proto/pb_schema/google/protobuf/any.d.ts.map +1 -0
  209. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +50897 -0
  210. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.d.ts.map +1 -0
  211. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js +1818 -0
  212. package/dist/generated-proto/pb_schema/google/protobuf/descriptor.js.map +1 -0
  213. package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +33 -0
  214. package/dist/generated-proto/pb_schema/google/protobuf/timestamp.d.ts.map +1 -0
  215. package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +120 -0
  216. package/dist/generated-proto/pb_schema/google/protobuf/wrappers.d.ts.map +1 -0
  217. package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts +43 -0
  218. package/dist/generated-proto/pb_schema/lenses/geocircle.d.ts.map +1 -0
  219. package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts +33 -0
  220. package/dist/generated-proto/pb_schema/lenses/geopoint.d.ts.map +1 -0
  221. package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts +30 -0
  222. package/dist/generated-proto/pb_schema/lenses/launch_params.d.ts.map +1 -0
  223. package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts +397 -0
  224. package/dist/generated-proto/pb_schema/lenses/launchdata.d.ts.map +1 -0
  225. package/dist/generated-proto/pb_schema/lenses/lures.d.ts +112 -0
  226. package/dist/generated-proto/pb_schema/lenses/lures.d.ts.map +1 -0
  227. package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts +30 -0
  228. package/dist/generated-proto/pb_schema/lenses/persistent_store.d.ts.map +1 -0
  229. package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +570 -0
  230. package/dist/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts.map +1 -0
  231. package/dist/generated-proto/pb_schema/lenses/snappable.d.ts +903 -0
  232. package/dist/generated-proto/pb_schema/lenses/snappable.d.ts.map +1 -0
  233. package/dist/generated-proto/pb_schema/lenses/user_data.d.ts +230 -0
  234. package/dist/generated-proto/pb_schema/lenses/user_data.d.ts.map +1 -0
  235. package/dist/handlers/HandlerChainBuilder.d.ts +111 -0
  236. package/dist/handlers/HandlerChainBuilder.d.ts.map +1 -0
  237. package/dist/handlers/HandlerChainBuilder.js +55 -0
  238. package/dist/handlers/HandlerChainBuilder.js.map +1 -0
  239. package/dist/handlers/arrayBufferParsingHandler.d.ts +11 -0
  240. package/dist/handlers/arrayBufferParsingHandler.d.ts.map +1 -0
  241. package/dist/handlers/arrayBufferParsingHandler.js +13 -0
  242. package/dist/handlers/arrayBufferParsingHandler.js.map +1 -0
  243. package/dist/handlers/batchingHandler.d.ts +32 -0
  244. package/dist/handlers/batchingHandler.d.ts.map +1 -0
  245. package/dist/handlers/batchingHandler.js +45 -0
  246. package/dist/handlers/batchingHandler.js.map +1 -0
  247. package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts +13 -0
  248. package/dist/handlers/cameraKitServiceFetchHandlerFactory.d.ts.map +1 -0
  249. package/dist/handlers/cameraKitServiceFetchHandlerFactory.js +14 -0
  250. package/dist/handlers/cameraKitServiceFetchHandlerFactory.js.map +1 -0
  251. package/dist/handlers/customLensCoreHandler.d.ts +8 -0
  252. package/dist/handlers/customLensCoreHandler.d.ts.map +1 -0
  253. package/dist/handlers/customLensCoreHandler.js +12 -0
  254. package/dist/handlers/customLensCoreHandler.js.map +1 -0
  255. package/dist/handlers/defaultFetchHandler.d.ts +16 -0
  256. package/dist/handlers/defaultFetchHandler.d.ts.map +1 -0
  257. package/dist/handlers/defaultFetchHandler.js +23 -0
  258. package/dist/handlers/defaultFetchHandler.js.map +1 -0
  259. package/dist/handlers/headersModifyingFetchHandler.d.ts +9 -0
  260. package/dist/handlers/headersModifyingFetchHandler.d.ts.map +1 -0
  261. package/dist/handlers/headersModifyingFetchHandler.js +10 -0
  262. package/dist/handlers/headersModifyingFetchHandler.js.map +1 -0
  263. package/dist/handlers/mappingHandler.d.ts +20 -0
  264. package/dist/handlers/mappingHandler.d.ts.map +1 -0
  265. package/dist/handlers/mappingHandler.js +44 -0
  266. package/dist/handlers/mappingHandler.js.map +1 -0
  267. package/dist/handlers/noCorsRetryingFetchHandler.d.ts +49 -0
  268. package/dist/handlers/noCorsRetryingFetchHandler.d.ts.map +1 -0
  269. package/dist/handlers/noCorsRetryingFetchHandler.js +33 -0
  270. package/dist/handlers/noCorsRetryingFetchHandler.js.map +1 -0
  271. package/dist/handlers/persistingHandler.d.ts +15 -0
  272. package/dist/handlers/persistingHandler.d.ts.map +1 -0
  273. package/dist/handlers/persistingHandler.js +43 -0
  274. package/dist/handlers/persistingHandler.js.map +1 -0
  275. package/dist/handlers/rateLimitingHandler.d.ts +25 -0
  276. package/dist/handlers/rateLimitingHandler.d.ts.map +1 -0
  277. package/dist/handlers/rateLimitingHandler.js +21 -0
  278. package/dist/handlers/rateLimitingHandler.js.map +1 -0
  279. package/dist/handlers/requestStateEmittingHandler.d.ts +42 -0
  280. package/dist/handlers/requestStateEmittingHandler.d.ts.map +1 -0
  281. package/dist/handlers/requestStateEmittingHandler.js +42 -0
  282. package/dist/handlers/requestStateEmittingHandler.js.map +1 -0
  283. package/dist/handlers/responseCachingHandler.d.ts +35 -0
  284. package/dist/handlers/responseCachingHandler.d.ts.map +1 -0
  285. package/dist/handlers/responseCachingHandler.js +83 -0
  286. package/dist/handlers/responseCachingHandler.js.map +1 -0
  287. package/dist/handlers/retryingHandler.d.ts +49 -0
  288. package/dist/handlers/retryingHandler.d.ts.map +1 -0
  289. package/dist/handlers/retryingHandler.js +62 -0
  290. package/dist/handlers/retryingHandler.js.map +1 -0
  291. package/dist/handlers/timeoutHandler.d.ts +19 -0
  292. package/dist/handlers/timeoutHandler.d.ts.map +1 -0
  293. package/dist/handlers/timeoutHandler.js +20 -0
  294. package/dist/handlers/timeoutHandler.js.map +1 -0
  295. package/dist/handlers/utils.d.ts +13 -0
  296. package/dist/handlers/utils.d.ts.map +1 -0
  297. package/dist/handlers/utils.js +7 -0
  298. package/dist/handlers/utils.js.map +1 -0
  299. package/dist/index.d.ts +43 -0
  300. package/dist/index.d.ts.map +1 -0
  301. package/dist/index.js +35 -0
  302. package/dist/index.js.map +1 -0
  303. package/dist/legal/legalPrompt.d.ts +21 -0
  304. package/dist/legal/legalPrompt.d.ts.map +1 -0
  305. package/dist/legal/legalPrompt.js +130 -0
  306. package/dist/legal/legalPrompt.js.map +1 -0
  307. package/dist/legal/legalState.d.ts +51 -0
  308. package/dist/legal/legalState.d.ts.map +1 -0
  309. package/dist/legal/legalState.js +100 -0
  310. package/dist/legal/legalState.js.map +1 -0
  311. package/dist/lens/Lens.d.ts +117 -0
  312. package/dist/lens/Lens.d.ts.map +1 -0
  313. package/dist/lens/Lens.js +74 -0
  314. package/dist/lens/Lens.js.map +1 -0
  315. package/dist/lens/LensLaunchData.d.ts +45 -0
  316. package/dist/lens/LensLaunchData.d.ts.map +1 -0
  317. package/dist/lens/LensLaunchData.js +83 -0
  318. package/dist/lens/LensLaunchData.js.map +1 -0
  319. package/dist/lens/LensPersistenceStore.d.ts +8 -0
  320. package/dist/lens/LensPersistenceStore.d.ts.map +1 -0
  321. package/dist/lens/LensPersistenceStore.js.map +1 -0
  322. package/dist/lens/LensRepository.d.ts +133 -0
  323. package/dist/lens/LensRepository.d.ts.map +1 -0
  324. package/dist/lens/LensRepository.js +147 -0
  325. package/dist/lens/LensRepository.js.map +1 -0
  326. package/dist/lens/LensSource.d.ts +44 -0
  327. package/dist/lens/LensSource.d.ts.map +1 -0
  328. package/dist/lens/LensSource.js +18 -0
  329. package/dist/lens/LensSource.js.map +1 -0
  330. package/dist/lens/assets/LensAssetRepository.d.ts +101 -0
  331. package/dist/lens/assets/LensAssetRepository.d.ts.map +1 -0
  332. package/dist/lens/assets/LensAssetRepository.js +139 -0
  333. package/dist/lens/assets/LensAssetRepository.js.map +1 -0
  334. package/dist/lens/assets/LensAssetsProvider.d.ts +28 -0
  335. package/dist/lens/assets/LensAssetsProvider.d.ts.map +1 -0
  336. package/dist/lens/assets/LensAssetsProvider.js +52 -0
  337. package/dist/lens/assets/LensAssetsProvider.js.map +1 -0
  338. package/dist/lens/assets/deviceDependentAssetLoader.d.ts +12 -0
  339. package/dist/lens/assets/deviceDependentAssetLoader.d.ts.map +1 -0
  340. package/dist/lens/assets/deviceDependentAssetLoader.js +49 -0
  341. package/dist/lens/assets/deviceDependentAssetLoader.js.map +1 -0
  342. package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts +11 -0
  343. package/dist/lens/assets/remoteMediaAssetLoaderFactory.d.ts.map +1 -0
  344. package/dist/lens/assets/remoteMediaAssetLoaderFactory.js +18 -0
  345. package/dist/lens/assets/remoteMediaAssetLoaderFactory.js.map +1 -0
  346. package/dist/lens/assets/staticAssetLoader.d.ts +11 -0
  347. package/dist/lens/assets/staticAssetLoader.d.ts.map +1 -0
  348. package/dist/lens/assets/staticAssetLoader.js +21 -0
  349. package/dist/lens/assets/staticAssetLoader.js.map +1 -0
  350. package/dist/lens/cameraKitLensSource.d.ts +18 -0
  351. package/dist/lens/cameraKitLensSource.d.ts.map +1 -0
  352. package/dist/lens/cameraKitLensSource.js +93 -0
  353. package/dist/lens/cameraKitLensSource.js.map +1 -0
  354. package/dist/lens/fetchWatermarkLens.d.ts +12 -0
  355. package/dist/lens/fetchWatermarkLens.d.ts.map +1 -0
  356. package/dist/lens/fetchWatermarkLens.js +23 -0
  357. package/dist/lens/fetchWatermarkLens.js.map +1 -0
  358. package/dist/lens-client-interface/exif.d.ts +21 -0
  359. package/dist/lens-client-interface/exif.d.ts.map +1 -0
  360. package/dist/lens-client-interface/exif.js +51 -0
  361. package/dist/lens-client-interface/exif.js.map +1 -0
  362. package/dist/lens-client-interface/imagePicker.d.ts +9 -0
  363. package/dist/lens-client-interface/imagePicker.d.ts.map +1 -0
  364. package/dist/lens-client-interface/imagePicker.js +113 -0
  365. package/dist/lens-client-interface/imagePicker.js.map +1 -0
  366. package/dist/lens-client-interface/lensClientInterface.d.ts +14 -0
  367. package/dist/lens-client-interface/lensClientInterface.d.ts.map +1 -0
  368. package/dist/lens-client-interface/lensClientInterface.js +22 -0
  369. package/dist/lens-client-interface/lensClientInterface.js.map +1 -0
  370. package/dist/lens-core-module/generated-types.d.ts +474 -0
  371. package/dist/lens-core-module/generated-types.d.ts.map +1 -0
  372. package/dist/lens-core-module/generated-types.js.map +1 -0
  373. package/dist/lens-core-module/lensCore.d.ts +59 -0
  374. package/dist/lens-core-module/lensCore.d.ts.map +1 -0
  375. package/dist/lens-core-module/lensCore.js +95 -0
  376. package/dist/lens-core-module/lensCore.js.map +1 -0
  377. package/dist/lens-core-module/lensCoreError.d.ts +16 -0
  378. package/dist/lens-core-module/lensCoreError.d.ts.map +1 -0
  379. package/dist/lens-core-module/lensCoreError.js +35 -0
  380. package/dist/lens-core-module/lensCoreError.js.map +1 -0
  381. package/dist/lens-core-module/loader/bootstrapURLs.d.ts +13 -0
  382. package/dist/lens-core-module/loader/bootstrapURLs.d.ts.map +1 -0
  383. package/dist/lens-core-module/loader/bootstrapURLs.js +32 -0
  384. package/dist/lens-core-module/loader/bootstrapURLs.js.map +1 -0
  385. package/dist/lens-core-module/loader/lensCoreFactory.d.ts +18 -0
  386. package/dist/lens-core-module/loader/lensCoreFactory.d.ts.map +1 -0
  387. package/dist/lens-core-module/loader/lensCoreFactory.js +59 -0
  388. package/dist/lens-core-module/loader/lensCoreFactory.js.map +1 -0
  389. package/dist/lensCoreWasmVersions.d.ts +7 -0
  390. package/dist/lensCoreWasmVersions.d.ts.map +1 -0
  391. package/dist/lensCoreWasmVersions.js +6 -0
  392. package/dist/lensCoreWasmVersions.js.map +1 -0
  393. package/dist/logger/errorLoggingDecorator.d.ts +10 -0
  394. package/dist/logger/errorLoggingDecorator.d.ts.map +1 -0
  395. package/dist/logger/errorLoggingDecorator.js +19 -0
  396. package/dist/logger/errorLoggingDecorator.js.map +1 -0
  397. package/dist/logger/logEntries.d.ts +16 -0
  398. package/dist/logger/logEntries.d.ts.map +1 -0
  399. package/dist/logger/logEntries.js +4 -0
  400. package/dist/logger/logEntries.js.map +1 -0
  401. package/dist/logger/logger.d.ts +41 -0
  402. package/dist/logger/logger.d.ts.map +1 -0
  403. package/dist/logger/logger.js +27 -0
  404. package/dist/logger/logger.js.map +1 -0
  405. package/dist/logger/registerLogEntriesSubscriber.d.ts +15 -0
  406. package/dist/logger/registerLogEntriesSubscriber.d.ts.map +1 -0
  407. package/dist/logger/registerLogEntriesSubscriber.js +27 -0
  408. package/dist/logger/registerLogEntriesSubscriber.js.map +1 -0
  409. package/dist/media-sources/CameraKitSource.d.ts +130 -0
  410. package/dist/media-sources/CameraKitSource.d.ts.map +1 -0
  411. package/dist/media-sources/CameraKitSource.js +96 -0
  412. package/dist/media-sources/CameraKitSource.js.map +1 -0
  413. package/dist/media-sources/FunctionSource.d.ts +42 -0
  414. package/dist/media-sources/FunctionSource.d.ts.map +1 -0
  415. package/dist/media-sources/FunctionSource.js +105 -0
  416. package/dist/media-sources/FunctionSource.js.map +1 -0
  417. package/dist/media-sources/ImageSource.d.ts +13 -0
  418. package/dist/media-sources/ImageSource.d.ts.map +1 -0
  419. package/dist/media-sources/ImageSource.js +7 -0
  420. package/dist/media-sources/ImageSource.js.map +1 -0
  421. package/dist/media-sources/MediaStreamSource.d.ts +31 -0
  422. package/dist/media-sources/MediaStreamSource.d.ts.map +1 -0
  423. package/dist/media-sources/MediaStreamSource.js +140 -0
  424. package/dist/media-sources/MediaStreamSource.js.map +1 -0
  425. package/dist/media-sources/VideoSource.d.ts +27 -0
  426. package/dist/media-sources/VideoSource.d.ts.map +1 -0
  427. package/dist/media-sources/VideoSource.js +12 -0
  428. package/dist/media-sources/VideoSource.js.map +1 -0
  429. package/dist/metrics/businessEventsReporter.d.ts +40 -0
  430. package/dist/metrics/businessEventsReporter.d.ts.map +1 -0
  431. package/dist/metrics/businessEventsReporter.js +156 -0
  432. package/dist/metrics/businessEventsReporter.js.map +1 -0
  433. package/dist/metrics/metricsEventTarget.d.ts +42 -0
  434. package/dist/metrics/metricsEventTarget.d.ts.map +1 -0
  435. package/dist/metrics/metricsEventTarget.js +4 -0
  436. package/dist/metrics/metricsEventTarget.js.map +1 -0
  437. package/dist/metrics/operational/Count.d.ts +21 -0
  438. package/dist/metrics/operational/Count.d.ts.map +1 -0
  439. package/dist/metrics/operational/Count.js +31 -0
  440. package/dist/metrics/operational/Count.js.map +1 -0
  441. package/dist/metrics/operational/Histogram.d.ts +19 -0
  442. package/dist/metrics/operational/Histogram.d.ts.map +1 -0
  443. package/dist/metrics/operational/Histogram.js +26 -0
  444. package/dist/metrics/operational/Histogram.js.map +1 -0
  445. package/dist/metrics/operational/Metric.d.ts +21 -0
  446. package/dist/metrics/operational/Metric.d.ts.map +1 -0
  447. package/dist/metrics/operational/Metric.js +23 -0
  448. package/dist/metrics/operational/Metric.js.map +1 -0
  449. package/dist/metrics/operational/Timer.d.ts +96 -0
  450. package/dist/metrics/operational/Timer.d.ts.map +1 -0
  451. package/dist/metrics/operational/Timer.js +64 -0
  452. package/dist/metrics/operational/Timer.js.map +1 -0
  453. package/dist/metrics/reporters/reportBenchmarks.d.ts +11 -0
  454. package/dist/metrics/reporters/reportBenchmarks.d.ts.map +1 -0
  455. package/dist/metrics/reporters/reportBenchmarks.js +27 -0
  456. package/dist/metrics/reporters/reportBenchmarks.js.map +1 -0
  457. package/dist/metrics/reporters/reportGlobalException.d.ts +27 -0
  458. package/dist/metrics/reporters/reportGlobalException.d.ts.map +1 -0
  459. package/dist/metrics/reporters/reportGlobalException.js +82 -0
  460. package/dist/metrics/reporters/reportGlobalException.js.map +1 -0
  461. package/dist/metrics/reporters/reportHttpMetrics.d.ts +11 -0
  462. package/dist/metrics/reporters/reportHttpMetrics.d.ts.map +1 -0
  463. package/dist/metrics/reporters/reportHttpMetrics.js +107 -0
  464. package/dist/metrics/reporters/reportHttpMetrics.js.map +1 -0
  465. package/dist/metrics/reporters/reportLegalState.d.ts +16 -0
  466. package/dist/metrics/reporters/reportLegalState.d.ts.map +1 -0
  467. package/dist/metrics/reporters/reportLegalState.js +29 -0
  468. package/dist/metrics/reporters/reportLegalState.js.map +1 -0
  469. package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts +39 -0
  470. package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts.map +1 -0
  471. package/dist/metrics/reporters/reportLensAndAssetDownload.js +91 -0
  472. package/dist/metrics/reporters/reportLensAndAssetDownload.js.map +1 -0
  473. package/dist/metrics/reporters/reportLensValidationFailed.d.ts +21 -0
  474. package/dist/metrics/reporters/reportLensValidationFailed.d.ts.map +1 -0
  475. package/dist/metrics/reporters/reportLensValidationFailed.js +21 -0
  476. package/dist/metrics/reporters/reportLensValidationFailed.js.map +1 -0
  477. package/dist/metrics/reporters/reportLensView.d.ts +37 -0
  478. package/dist/metrics/reporters/reportLensView.d.ts.map +1 -0
  479. package/dist/metrics/reporters/reportLensView.js +102 -0
  480. package/dist/metrics/reporters/reportLensView.js.map +1 -0
  481. package/dist/metrics/reporters/reportLensWait.d.ts +33 -0
  482. package/dist/metrics/reporters/reportLensWait.d.ts.map +1 -0
  483. package/dist/metrics/reporters/reportLensWait.js +35 -0
  484. package/dist/metrics/reporters/reportLensWait.js.map +1 -0
  485. package/dist/metrics/reporters/reportPlatformCapabilities.d.ts +13 -0
  486. package/dist/metrics/reporters/reportPlatformCapabilities.d.ts.map +1 -0
  487. package/dist/metrics/reporters/reportPlatformCapabilities.js +13 -0
  488. package/dist/metrics/reporters/reportPlatformCapabilities.js.map +1 -0
  489. package/dist/metrics/reporters/reportSessionException.d.ts +18 -0
  490. package/dist/metrics/reporters/reportSessionException.d.ts.map +1 -0
  491. package/dist/metrics/reporters/reportSessionException.js +7 -0
  492. package/dist/metrics/reporters/reportSessionException.js.map +1 -0
  493. package/dist/metrics/reporters/reportUserSession.d.ts +15 -0
  494. package/dist/metrics/reporters/reportUserSession.d.ts.map +1 -0
  495. package/dist/metrics/reporters/reportUserSession.js +61 -0
  496. package/dist/metrics/reporters/reportUserSession.js.map +1 -0
  497. package/dist/metrics/reporters/reporters.d.ts +47 -0
  498. package/dist/metrics/reporters/reporters.d.ts.map +1 -0
  499. package/dist/metrics/reporters/reporters.js +24 -0
  500. package/dist/metrics/reporters/reporters.js.map +1 -0
  501. package/dist/namedErrors.d.ts +131 -0
  502. package/dist/namedErrors.d.ts.map +1 -0
  503. package/dist/namedErrors.js +29 -0
  504. package/dist/namedErrors.js.map +1 -0
  505. package/dist/observable-operators/debounceTimeAfter.d.ts +26 -0
  506. package/dist/observable-operators/debounceTimeAfter.d.ts.map +1 -0
  507. package/dist/observable-operators/debounceTimeAfter.js +22 -0
  508. package/dist/observable-operators/debounceTimeAfter.js.map +1 -0
  509. package/dist/observable-operators/unsubscribed.d.ts +13 -0
  510. package/dist/observable-operators/unsubscribed.d.ts.map +1 -0
  511. package/dist/observable-operators/unsubscribed.js +15 -0
  512. package/dist/observable-operators/unsubscribed.js.map +1 -0
  513. package/dist/persistence/ExpiringPersistence.d.ts +22 -0
  514. package/dist/persistence/ExpiringPersistence.d.ts.map +1 -0
  515. package/dist/persistence/ExpiringPersistence.js +64 -0
  516. package/dist/persistence/ExpiringPersistence.js.map +1 -0
  517. package/dist/persistence/IndexedDBPersistence.d.ts +48 -0
  518. package/dist/persistence/IndexedDBPersistence.d.ts.map +1 -0
  519. package/dist/persistence/IndexedDBPersistence.js +127 -0
  520. package/dist/persistence/IndexedDBPersistence.js.map +1 -0
  521. package/dist/persistence/Persistence.d.ts +26 -0
  522. package/dist/persistence/Persistence.d.ts.map +1 -0
  523. package/dist/persistence/Persistence.js +4 -0
  524. package/dist/persistence/Persistence.js.map +1 -0
  525. package/dist/platform/assertPlatformSupported.d.ts +5 -0
  526. package/dist/platform/assertPlatformSupported.d.ts.map +1 -0
  527. package/dist/platform/assertPlatformSupported.js +12 -0
  528. package/dist/platform/assertPlatformSupported.js.map +1 -0
  529. package/dist/platform/cameraKitUserAgent.d.ts +3 -0
  530. package/dist/platform/cameraKitUserAgent.d.ts.map +1 -0
  531. package/dist/platform/cameraKitUserAgent.js +13 -0
  532. package/dist/platform/cameraKitUserAgent.js.map +1 -0
  533. package/dist/platform/platformCapabilities.d.ts +58 -0
  534. package/dist/platform/platformCapabilities.d.ts.map +1 -0
  535. package/dist/platform/platformCapabilities.js +98 -0
  536. package/dist/platform/platformCapabilities.js.map +1 -0
  537. package/dist/platform/platformInfo.d.ts +44 -0
  538. package/dist/platform/platformInfo.d.ts.map +1 -0
  539. package/dist/platform/platformInfo.js +156 -0
  540. package/dist/platform/platformInfo.js.map +1 -0
  541. package/dist/remote-configuration/cofHandler.d.ts +30 -0
  542. package/dist/remote-configuration/cofHandler.d.ts.map +1 -0
  543. package/dist/remote-configuration/cofHandler.js +83 -0
  544. package/dist/remote-configuration/cofHandler.js.map +1 -0
  545. package/dist/remote-configuration/preloadConfiguration.d.ts +8 -0
  546. package/dist/remote-configuration/preloadConfiguration.d.ts.map +1 -0
  547. package/dist/remote-configuration/preloadConfiguration.js.map +1 -0
  548. package/dist/remote-configuration/remoteConfiguration.d.ts +36 -0
  549. package/dist/remote-configuration/remoteConfiguration.d.ts.map +1 -0
  550. package/dist/remote-configuration/remoteConfiguration.js +59 -0
  551. package/dist/remote-configuration/remoteConfiguration.js.map +1 -0
  552. package/dist/session/CameraKitSession.d.ts +257 -0
  553. package/dist/session/CameraKitSession.d.ts.map +1 -0
  554. package/dist/session/CameraKitSession.js +242 -0
  555. package/dist/session/CameraKitSession.js.map +1 -0
  556. package/dist/session/CameraKitSessionEvents.d.ts +29 -0
  557. package/dist/session/CameraKitSessionEvents.d.ts.map +1 -0
  558. package/dist/session/CameraKitSessionEvents.js +15 -0
  559. package/dist/session/CameraKitSessionEvents.js.map +1 -0
  560. package/dist/session/LensKeyboard.d.ts +90 -0
  561. package/dist/session/LensKeyboard.d.ts.map +1 -0
  562. package/dist/session/LensKeyboard.js +89 -0
  563. package/dist/session/LensKeyboard.js.map +1 -0
  564. package/dist/session/LensPerformanceMeasurement.d.ts +58 -0
  565. package/dist/session/LensPerformanceMeasurement.d.ts.map +1 -0
  566. package/dist/session/LensPerformanceMeasurement.js +63 -0
  567. package/dist/session/LensPerformanceMeasurement.js.map +1 -0
  568. package/dist/session/LensPerformanceMetrics.d.ts +32 -0
  569. package/dist/session/LensPerformanceMetrics.d.ts.map +1 -0
  570. package/dist/session/LensPerformanceMetrics.js +39 -0
  571. package/dist/session/LensPerformanceMetrics.js.map +1 -0
  572. package/dist/session/lensState.d.ts +32 -0
  573. package/dist/session/lensState.d.ts.map +1 -0
  574. package/dist/session/lensState.js +194 -0
  575. package/dist/session/lensState.js.map +1 -0
  576. package/dist/session/sessionState.d.ts +11 -0
  577. package/dist/session/sessionState.d.ts.map +1 -0
  578. package/dist/session/sessionState.js.map +1 -0
  579. package/dist/transforms/Transform2D.d.ts +27 -0
  580. package/dist/transforms/Transform2D.d.ts.map +1 -0
  581. package/dist/transforms/Transform2D.js +13 -0
  582. package/dist/transforms/Transform2D.js.map +1 -0
  583. package/dist/utils.d.ts +4 -0
  584. package/dist/utils.d.ts.map +1 -0
  585. package/docs/html/assets/navigation.js +1 -1
  586. package/docs/html/assets/search.js +1 -1
  587. package/docs/html/classes/CameraKit.html +2 -2
  588. package/docs/html/classes/CameraKitSession.html +2 -2
  589. package/docs/html/classes/CameraKitSource.html +2 -2
  590. package/docs/html/classes/LensPerformanceMeasurement.html +2 -2
  591. package/docs/html/classes/LensPerformanceMetrics.html +2 -2
  592. package/docs/html/classes/LensRepository.html +3 -3
  593. package/docs/html/classes/Transform2D.html +2 -2
  594. package/docs/html/classes/TypedCustomEvent.html +2 -2
  595. package/docs/html/classes/TypedEventTarget.html +2 -2
  596. package/docs/html/enums/Lens_CameraFacing.html +2 -2
  597. package/docs/html/functions/ConcatInjectable.html +2 -2
  598. package/docs/html/functions/Injectable.html +2 -2
  599. package/docs/html/functions/bootstrapCameraKit.html +2 -2
  600. package/docs/html/functions/createExtension.html +2 -2
  601. package/docs/html/functions/createImageSource.html +2 -2
  602. package/docs/html/functions/createMediaStreamSource.html +2 -2
  603. package/docs/html/functions/createVideoSource.html +2 -2
  604. package/docs/html/functions/estimateLensPerformance.html +2 -2
  605. package/docs/html/functions/lensSourcesFactory.html +2 -2
  606. package/docs/html/functions/remoteApiServicesFactory.html +2 -2
  607. package/docs/html/hierarchy.html +1 -1
  608. package/docs/html/index.html +3 -3
  609. package/docs/html/interfaces/BitmojiUserInfo.html +3 -0
  610. package/docs/html/interfaces/CameraKitBootstrapConfiguration.html +2 -2
  611. package/docs/html/interfaces/CameraKitDeviceOptions.html +2 -2
  612. package/docs/html/interfaces/CameraKitSourceInfo.html +2 -2
  613. package/docs/html/interfaces/CameraKitSourceSubscriber.html +2 -2
  614. package/docs/html/interfaces/ComputedFrameMetrics.html +2 -2
  615. package/docs/html/interfaces/CreateSessionOptions.html +2 -2
  616. package/docs/html/interfaces/EstimatedLensPerformance.html +2 -2
  617. package/docs/html/interfaces/FriendUserInfo.html +4 -0
  618. package/docs/html/interfaces/FunctionSourceOptions.html +2 -2
  619. package/docs/html/interfaces/Lens.html +2 -2
  620. package/docs/html/interfaces/LensCreator.html +2 -2
  621. package/docs/html/interfaces/LensLaunchData.html +3 -3
  622. package/docs/html/interfaces/LensSource.html +2 -2
  623. package/docs/html/interfaces/LensUserData.html +10 -0
  624. package/docs/html/interfaces/LoadAssetRequest.html +2 -2
  625. package/docs/html/interfaces/MediaStreamSourceOptions.html +2 -2
  626. package/docs/html/interfaces/Preview.html +2 -2
  627. package/docs/html/interfaces/RemoteApiRequest.html +2 -2
  628. package/docs/html/interfaces/RemoteApiResponse.html +4 -4
  629. package/docs/html/interfaces/RemoteApiService.html +3 -3
  630. package/docs/html/interfaces/Snapcode.html +2 -2
  631. package/docs/html/interfaces/UriCancelRequest.html +2 -2
  632. package/docs/html/interfaces/UriRequest.html +2 -2
  633. package/docs/html/interfaces/UriResponse.html +2 -2
  634. package/docs/html/interfaces/VideoSourceOptions.html +2 -2
  635. package/docs/html/modules.html +7 -3
  636. package/docs/html/types/ArgumentValidationError.html +2 -0
  637. package/docs/html/types/AssetLoader.html +2 -2
  638. package/docs/html/types/AssetResponse.html +1 -1
  639. package/docs/html/types/AssetTiming.html +2 -2
  640. package/docs/html/types/BenchmarkError.html +1 -1
  641. package/docs/html/types/BootstrapError.html +2 -2
  642. package/docs/html/types/CacheKeyNotFoundError.html +1 -1
  643. package/docs/html/types/CameraKitSessionEventListener.html +2 -2
  644. package/docs/html/types/CameraKitSessionEvents.html +2 -2
  645. package/docs/html/types/CameraKitSourceError.html +1 -1
  646. package/docs/html/types/ConfigurationError.html +2 -2
  647. package/docs/html/types/FetchHandler.html +1 -1
  648. package/docs/html/types/Keyboard.html +2 -2
  649. package/docs/html/types/KeyboardEvents.html +2 -2
  650. package/docs/html/types/LegalError.html +1 -1
  651. package/docs/html/types/LensAbortError.html +2 -2
  652. package/docs/html/types/LensAssetError.html +2 -2
  653. package/docs/html/types/LensContentValidationError.html +1 -1
  654. package/docs/html/types/LensError.html +1 -1
  655. package/docs/html/types/LensExecutionError.html +2 -2
  656. package/docs/html/types/LensImagePickerError.html +2 -2
  657. package/docs/html/types/LensLaunchParams.html +2 -2
  658. package/docs/html/types/LensMetricsEvents.html +2 -2
  659. package/docs/html/types/LensPerformanceCluster.html +1 -1
  660. package/docs/html/types/LensView.html +2 -2
  661. package/docs/html/types/LensWait.html +2 -2
  662. package/docs/html/types/Matrix.html +2 -2
  663. package/docs/html/types/PersistentStoreError.html +2 -2
  664. package/docs/html/types/PlatformNotSupportedError.html +2 -2
  665. package/docs/html/types/PublicContainer.html +2 -2
  666. package/docs/html/types/PublicServices.html +2 -2
  667. package/docs/html/types/RemoteApiCancelRequestHandler.html +2 -2
  668. package/docs/html/types/RemoteApiRequestHandler.html +2 -2
  669. package/docs/html/types/RemoteApiServices.html +1 -1
  670. package/docs/html/types/RemoteApiStatus.html +2 -2
  671. package/docs/html/types/RenderTarget.html +2 -2
  672. package/docs/html/types/Uri.html +1 -1
  673. package/docs/html/types/WebGLError.html +1 -1
  674. package/docs/html/types/Zodiac.html +1 -0
  675. package/docs/html/variables/extensionRequestContext.html +2 -2
  676. package/docs/md/README.md +1 -1
  677. package/docs/md/classes/CameraKit.md +1 -1
  678. package/docs/md/classes/CameraKitSession.md +1 -1
  679. package/docs/md/classes/CameraKitSource.md +1 -1
  680. package/docs/md/classes/LensPerformanceMeasurement.md +1 -1
  681. package/docs/md/classes/LensPerformanceMetrics.md +1 -1
  682. package/docs/md/classes/LensRepository.md +2 -2
  683. package/docs/md/classes/Transform2D.md +1 -1
  684. package/docs/md/classes/TypedCustomEvent.md +1 -1
  685. package/docs/md/classes/TypedEventTarget.md +1 -1
  686. package/docs/md/enums/Lens_CameraFacing.md +1 -1
  687. package/docs/md/interfaces/BitmojiUserInfo.md +22 -0
  688. package/docs/md/interfaces/CameraKitBootstrapConfiguration.md +1 -1
  689. package/docs/md/interfaces/CameraKitDeviceOptions.md +1 -1
  690. package/docs/md/interfaces/CameraKitSourceInfo.md +1 -1
  691. package/docs/md/interfaces/CameraKitSourceSubscriber.md +1 -1
  692. package/docs/md/interfaces/ComputedFrameMetrics.md +1 -1
  693. package/docs/md/interfaces/CreateSessionOptions.md +1 -1
  694. package/docs/md/interfaces/EstimatedLensPerformance.md +1 -1
  695. package/docs/md/interfaces/FriendUserInfo.md +29 -0
  696. package/docs/md/interfaces/FunctionSourceOptions.md +1 -1
  697. package/docs/md/interfaces/Lens.md +1 -1
  698. package/docs/md/interfaces/LensCreator.md +1 -1
  699. package/docs/md/interfaces/LensLaunchData.md +2 -21
  700. package/docs/md/interfaces/LensSource.md +1 -1
  701. package/docs/md/interfaces/LensUserData.md +71 -0
  702. package/docs/md/interfaces/LoadAssetRequest.md +1 -1
  703. package/docs/md/interfaces/MediaStreamSourceOptions.md +1 -1
  704. package/docs/md/interfaces/Preview.md +1 -1
  705. package/docs/md/interfaces/RemoteApiRequest.md +1 -1
  706. package/docs/md/interfaces/RemoteApiResponse.md +2 -2
  707. package/docs/md/interfaces/RemoteApiService.md +2 -2
  708. package/docs/md/interfaces/Snapcode.md +1 -1
  709. package/docs/md/interfaces/UriCancelRequest.md +1 -1
  710. package/docs/md/interfaces/UriRequest.md +1 -1
  711. package/docs/md/interfaces/UriResponse.md +1 -1
  712. package/docs/md/interfaces/VideoSourceOptions.md +1 -1
  713. package/docs/md/modules.md +23 -5
  714. package/package.json +14 -12
  715. package/docs/html/enums/UserData_Zodiac.html +0 -15
  716. package/docs/md/enums/UserData_Zodiac.md +0 -106
  717. package/lib/CameraKit.d.ts +0 -333
  718. package/lib/CameraKit.js +0 -176
  719. package/lib/CameraKit.js.map +0 -1
  720. package/lib/__tests__/data.d.ts +0 -14
  721. package/lib/__tests__/data.js +0 -69
  722. package/lib/__tests__/data.js.map +0 -1
  723. package/lib/__tests__/deferred.d.ts +0 -16
  724. package/lib/__tests__/deferred.js +0 -29
  725. package/lib/__tests__/deferred.js.map +0 -1
  726. package/lib/__tests__/jest.matchers.d.ts +0 -17
  727. package/lib/__tests__/jest.matchers.js +0 -67
  728. package/lib/__tests__/jest.matchers.js.map +0 -1
  729. package/lib/benchmark/benchmarkGflops.d.ts +0 -16
  730. package/lib/benchmark/benchmarkGflops.js +0 -129
  731. package/lib/benchmark/benchmarkGflops.js.map +0 -1
  732. package/lib/benchmark/estimateLensPerformanceCluster.d.ts +0 -33
  733. package/lib/benchmark/estimateLensPerformanceCluster.js +0 -48
  734. package/lib/benchmark/estimateLensPerformanceCluster.js.map +0 -1
  735. package/lib/benchmark/webglUtils.d.ts +0 -7
  736. package/lib/bootstrapCameraKit.d.ts +0 -96
  737. package/lib/bootstrapCameraKit.js +0 -222
  738. package/lib/bootstrapCameraKit.js.map +0 -1
  739. package/lib/clients/createTsProtoClient.d.ts +0 -40
  740. package/lib/clients/createTsProtoClient.js +0 -52
  741. package/lib/clients/createTsProtoClient.js.map +0 -1
  742. package/lib/clients/grpcHandler.d.ts +0 -26
  743. package/lib/clients/grpcHandler.js +0 -90
  744. package/lib/clients/grpcHandler.js.map +0 -1
  745. package/lib/clients/lensesClient.d.ts +0 -9
  746. package/lib/clients/lensesClient.js.map +0 -1
  747. package/lib/clients/metricsClient.d.ts +0 -26
  748. package/lib/clients/metricsClient.js +0 -120
  749. package/lib/clients/metricsClient.js.map +0 -1
  750. package/lib/common/__mocks__/loadScript.d.ts +0 -1
  751. package/lib/common/__mocks__/loadScript.js +0 -10
  752. package/lib/common/__mocks__/loadScript.js.map +0 -1
  753. package/lib/common/assertions.d.ts +0 -27
  754. package/lib/common/assertions.js +0 -39
  755. package/lib/common/assertions.js.map +0 -1
  756. package/lib/common/copyDefinedProperties.d.ts +0 -13
  757. package/lib/common/copyDefinedProperties.js +0 -16
  758. package/lib/common/copyDefinedProperties.js.map +0 -1
  759. package/lib/common/date.d.ts +0 -3
  760. package/lib/common/dialog.d.ts +0 -59
  761. package/lib/common/dialog.js +0 -160
  762. package/lib/common/dialog.js.map +0 -1
  763. package/lib/common/entries.d.ts +0 -4
  764. package/lib/common/entries.js +0 -5
  765. package/lib/common/entries.js.map +0 -1
  766. package/lib/common/errorHelpers.d.ts +0 -10
  767. package/lib/common/errorHelpers.js +0 -24
  768. package/lib/common/errorHelpers.js.map +0 -1
  769. package/lib/common/getFilename.d.ts +0 -1
  770. package/lib/common/hash.d.ts +0 -5
  771. package/lib/common/hash.js +0 -17
  772. package/lib/common/hash.js.map +0 -1
  773. package/lib/common/loadScript.d.ts +0 -6
  774. package/lib/common/loadScript.js +0 -18
  775. package/lib/common/loadScript.js.map +0 -1
  776. package/lib/common/localization.d.ts +0 -54
  777. package/lib/common/localization.js +0 -654
  778. package/lib/common/localization.js.map +0 -1
  779. package/lib/common/memoize.d.ts +0 -8
  780. package/lib/common/pageVisibility.d.ts +0 -34
  781. package/lib/common/pageVisibility.js +0 -71
  782. package/lib/common/pageVisibility.js.map +0 -1
  783. package/lib/common/result.d.ts +0 -36
  784. package/lib/common/result.js +0 -40
  785. package/lib/common/result.js.map +0 -1
  786. package/lib/common/time.d.ts +0 -2
  787. package/lib/common/typeguards.d.ts +0 -53
  788. package/lib/common/typeguards.js +0 -92
  789. package/lib/common/typeguards.js.map +0 -1
  790. package/lib/common/types.d.ts +0 -18
  791. package/lib/common/types.js.map +0 -1
  792. package/lib/common/unionBy.d.ts +0 -28
  793. package/lib/common/unionBy.js +0 -46
  794. package/lib/common/unionBy.js.map +0 -1
  795. package/lib/common/validate.d.ts +0 -14
  796. package/lib/common/validate.js +0 -112
  797. package/lib/common/validate.js.map +0 -1
  798. package/lib/configuration.d.ts +0 -101
  799. package/lib/configuration.js +0 -51
  800. package/lib/configuration.js.map +0 -1
  801. package/lib/configurationOverrides.d.ts +0 -12
  802. package/lib/configurationOverrides.js +0 -46
  803. package/lib/configurationOverrides.js.map +0 -1
  804. package/lib/dependency-injection/Container.d.ts +0 -176
  805. package/lib/dependency-injection/Container.js +0 -160
  806. package/lib/dependency-injection/Container.js.map +0 -1
  807. package/lib/dependency-injection/Injectable.d.ts +0 -95
  808. package/lib/dependency-injection/Injectable.js.map +0 -1
  809. package/lib/dependency-injection/PartialContainer.d.ts +0 -85
  810. package/lib/dependency-injection/PartialContainer.js +0 -85
  811. package/lib/dependency-injection/PartialContainer.js.map +0 -1
  812. package/lib/dependency-injection/RootServices.d.ts +0 -73
  813. package/lib/dependency-injection/RootServices.js +0 -2
  814. package/lib/dependency-injection/RootServices.js.map +0 -1
  815. package/lib/dependency-injection/types.d.ts +0 -56
  816. package/lib/dependency-injection/types.js.map +0 -1
  817. package/lib/environment.d.ts +0 -4
  818. package/lib/environment.js +0 -2
  819. package/lib/environment.js.map +0 -1
  820. package/lib/events/TypedCustomEvent.d.ts +0 -10
  821. package/lib/events/TypedCustomEvent.js +0 -11
  822. package/lib/events/TypedCustomEvent.js.map +0 -1
  823. package/lib/events/TypedEventTarget.d.ts +0 -25
  824. package/lib/events/TypedEventTarget.js +0 -57
  825. package/lib/events/TypedEventTarget.js.map +0 -1
  826. package/lib/events/scan.d.ts +0 -15
  827. package/lib/events/scan.js +0 -46
  828. package/lib/events/scan.js.map +0 -1
  829. package/lib/extensions/RemoteApiServices.d.ts +0 -101
  830. package/lib/extensions/RemoteApiServices.js +0 -203
  831. package/lib/extensions/RemoteApiServices.js.map +0 -1
  832. package/lib/extensions/UriHandlers.d.ts +0 -47
  833. package/lib/extensions/UriHandlers.js +0 -38
  834. package/lib/extensions/UriHandlers.js.map +0 -1
  835. package/lib/extensions/extensionRequestContext.d.ts +0 -4
  836. package/lib/extensions/extensionRequestContext.js +0 -14
  837. package/lib/extensions/extensionRequestContext.js.map +0 -1
  838. package/lib/extensions/uriHandlersRegister.d.ts +0 -21
  839. package/lib/extensions/uriHandlersRegister.js +0 -72
  840. package/lib/extensions/uriHandlersRegister.js.map +0 -1
  841. package/lib/generated-proto/blizzard/cameraKitEvents.d.ts +0 -9527
  842. package/lib/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +0 -79
  843. package/lib/generated-proto/pb_schema/camera_kit/v3/export.d.ts +0 -528
  844. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +0 -34
  845. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +0 -43
  846. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +0 -1
  847. package/lib/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +0 -29
  848. package/lib/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +0 -85
  849. package/lib/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +0 -384
  850. package/lib/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +0 -178
  851. package/lib/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +0 -56
  852. package/lib/generated-proto/pb_schema/camera_kit/v3/service.d.ts +0 -2511
  853. package/lib/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +0 -78
  854. package/lib/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +0 -50
  855. package/lib/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +0 -25574
  856. package/lib/generated-proto/pb_schema/cdp/cof/config_request.d.ts +0 -279
  857. package/lib/generated-proto/pb_schema/cdp/cof/config_response.d.ts +0 -3725
  858. package/lib/generated-proto/pb_schema/cdp/cof/config_result.d.ts +0 -10223
  859. package/lib/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +0 -93
  860. package/lib/generated-proto/pb_schema/cdp/cof/namespace.d.ts +0 -8
  861. package/lib/generated-proto/pb_schema/common/ruid.d.ts +0 -51
  862. package/lib/generated-proto/pb_schema/common/value.d.ts +0 -144
  863. package/lib/generated-proto/pb_schema/google/api/annotations.d.ts +0 -1
  864. package/lib/generated-proto/pb_schema/google/api/annotations.js +0 -9
  865. package/lib/generated-proto/pb_schema/google/api/annotations.js.map +0 -1
  866. package/lib/generated-proto/pb_schema/google/api/http.d.ts +0 -3630
  867. package/lib/generated-proto/pb_schema/google/api/http.js +0 -194
  868. package/lib/generated-proto/pb_schema/google/api/http.js.map +0 -1
  869. package/lib/generated-proto/pb_schema/google/protobuf/any.d.ts +0 -32
  870. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +0 -50896
  871. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js +0 -1857
  872. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js.map +0 -1
  873. package/lib/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +0 -32
  874. package/lib/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +0 -119
  875. package/lib/generated-proto/pb_schema/lenses/geocircle.d.ts +0 -42
  876. package/lib/generated-proto/pb_schema/lenses/geopoint.d.ts +0 -32
  877. package/lib/generated-proto/pb_schema/lenses/launch_params.d.ts +0 -29
  878. package/lib/generated-proto/pb_schema/lenses/launchdata.d.ts +0 -396
  879. package/lib/generated-proto/pb_schema/lenses/lures.d.ts +0 -111
  880. package/lib/generated-proto/pb_schema/lenses/persistent_store.d.ts +0 -29
  881. package/lib/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +0 -569
  882. package/lib/generated-proto/pb_schema/lenses/snappable.d.ts +0 -902
  883. package/lib/generated-proto/pb_schema/lenses/user_data.d.ts +0 -229
  884. package/lib/handlers/HandlerChainBuilder.d.ts +0 -110
  885. package/lib/handlers/HandlerChainBuilder.js +0 -199
  886. package/lib/handlers/HandlerChainBuilder.js.map +0 -1
  887. package/lib/handlers/arrayBufferParsingHandler.d.ts +0 -10
  888. package/lib/handlers/arrayBufferParsingHandler.js +0 -18
  889. package/lib/handlers/arrayBufferParsingHandler.js.map +0 -1
  890. package/lib/handlers/batchingHandler.d.ts +0 -31
  891. package/lib/handlers/batchingHandler.js +0 -76
  892. package/lib/handlers/batchingHandler.js.map +0 -1
  893. package/lib/handlers/cameraKitServiceFetchHandlerFactory.d.ts +0 -12
  894. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js +0 -19
  895. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js.map +0 -1
  896. package/lib/handlers/debugHandler.d.ts +0 -8
  897. package/lib/handlers/debugHandler.js +0 -27
  898. package/lib/handlers/debugHandler.js.map +0 -1
  899. package/lib/handlers/defaultFetchHandler.d.ts +0 -15
  900. package/lib/handlers/defaultFetchHandler.js +0 -38
  901. package/lib/handlers/defaultFetchHandler.js.map +0 -1
  902. package/lib/handlers/headersModifyingFetchHandler.d.ts +0 -8
  903. package/lib/handlers/headersModifyingFetchHandler.js +0 -17
  904. package/lib/handlers/headersModifyingFetchHandler.js.map +0 -1
  905. package/lib/handlers/mappingHandler.d.ts +0 -19
  906. package/lib/handlers/mappingHandler.js +0 -67
  907. package/lib/handlers/mappingHandler.js.map +0 -1
  908. package/lib/handlers/noCorsRetryingFetchHandler.d.ts +0 -48
  909. package/lib/handlers/noCorsRetryingFetchHandler.js +0 -95
  910. package/lib/handlers/noCorsRetryingFetchHandler.js.map +0 -1
  911. package/lib/handlers/persistingHandler.d.ts +0 -14
  912. package/lib/handlers/persistingHandler.js +0 -71
  913. package/lib/handlers/persistingHandler.js.map +0 -1
  914. package/lib/handlers/rateLimitingHandler.d.ts +0 -24
  915. package/lib/handlers/rateLimitingHandler.js +0 -45
  916. package/lib/handlers/rateLimitingHandler.js.map +0 -1
  917. package/lib/handlers/requestStateEmittingHandler.d.ts +0 -41
  918. package/lib/handlers/requestStateEmittingHandler.js +0 -45
  919. package/lib/handlers/requestStateEmittingHandler.js.map +0 -1
  920. package/lib/handlers/responseCachingHandler.d.ts +0 -34
  921. package/lib/handlers/responseCachingHandler.js +0 -109
  922. package/lib/handlers/responseCachingHandler.js.map +0 -1
  923. package/lib/handlers/retryingHandler.d.ts +0 -48
  924. package/lib/handlers/retryingHandler.js +0 -86
  925. package/lib/handlers/retryingHandler.js.map +0 -1
  926. package/lib/handlers/timeoutHandler.d.ts +0 -18
  927. package/lib/handlers/timeoutHandler.js +0 -30
  928. package/lib/handlers/timeoutHandler.js.map +0 -1
  929. package/lib/handlers/utils.d.ts +0 -12
  930. package/lib/handlers/utils.js +0 -19
  931. package/lib/handlers/utils.js.map +0 -1
  932. package/lib/index.d.ts +0 -42
  933. package/lib/index.js +0 -36
  934. package/lib/index.js.map +0 -1
  935. package/lib/legal/legalPrompt.d.ts +0 -20
  936. package/lib/legal/legalPrompt.js +0 -135
  937. package/lib/legal/legalPrompt.js.map +0 -1
  938. package/lib/legal/legalState.d.ts +0 -50
  939. package/lib/legal/legalState.js +0 -163
  940. package/lib/legal/legalState.js.map +0 -1
  941. package/lib/lens/Lens.d.ts +0 -115
  942. package/lib/lens/Lens.js +0 -84
  943. package/lib/lens/Lens.js.map +0 -1
  944. package/lib/lens/LensLaunchData.d.ts +0 -40
  945. package/lib/lens/LensLaunchData.js +0 -37
  946. package/lib/lens/LensLaunchData.js.map +0 -1
  947. package/lib/lens/LensPersistenceStore.d.ts +0 -7
  948. package/lib/lens/LensPersistenceStore.js.map +0 -1
  949. package/lib/lens/LensRepository.d.ts +0 -137
  950. package/lib/lens/LensRepository.js +0 -237
  951. package/lib/lens/LensRepository.js.map +0 -1
  952. package/lib/lens/LensSource.d.ts +0 -43
  953. package/lib/lens/LensSource.js +0 -42
  954. package/lib/lens/LensSource.js.map +0 -1
  955. package/lib/lens/assets/LensAssetRepository.d.ts +0 -99
  956. package/lib/lens/assets/LensAssetRepository.js +0 -184
  957. package/lib/lens/assets/LensAssetRepository.js.map +0 -1
  958. package/lib/lens/assets/LensAssetsProvider.d.ts +0 -27
  959. package/lib/lens/assets/LensAssetsProvider.js +0 -68
  960. package/lib/lens/assets/LensAssetsProvider.js.map +0 -1
  961. package/lib/lens/assets/deviceDependentAssetLoader.d.ts +0 -11
  962. package/lib/lens/assets/deviceDependentAssetLoader.js +0 -59
  963. package/lib/lens/assets/deviceDependentAssetLoader.js.map +0 -1
  964. package/lib/lens/assets/remoteMediaAssetLoaderFactory.d.ts +0 -10
  965. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js +0 -27
  966. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js.map +0 -1
  967. package/lib/lens/assets/staticAssetLoader.d.ts +0 -10
  968. package/lib/lens/assets/staticAssetLoader.js +0 -25
  969. package/lib/lens/assets/staticAssetLoader.js.map +0 -1
  970. package/lib/lens/cameraKitLensSource.d.ts +0 -17
  971. package/lib/lens/cameraKitLensSource.js +0 -104
  972. package/lib/lens/cameraKitLensSource.js.map +0 -1
  973. package/lib/lens/fetchWatermarkLens.d.ts +0 -11
  974. package/lib/lens/fetchWatermarkLens.js +0 -27
  975. package/lib/lens/fetchWatermarkLens.js.map +0 -1
  976. package/lib/lens-client-interface/exif.d.ts +0 -20
  977. package/lib/lens-client-interface/exif.js +0 -61
  978. package/lib/lens-client-interface/exif.js.map +0 -1
  979. package/lib/lens-client-interface/imagePicker.d.ts +0 -8
  980. package/lib/lens-client-interface/imagePicker.js +0 -128
  981. package/lib/lens-client-interface/imagePicker.js.map +0 -1
  982. package/lib/lens-client-interface/lensClientInterface.d.ts +0 -13
  983. package/lib/lens-client-interface/lensClientInterface.js +0 -30
  984. package/lib/lens-client-interface/lensClientInterface.js.map +0 -1
  985. package/lib/lens-core-module/generated-types.d.ts +0 -469
  986. package/lib/lens-core-module/generated-types.js.map +0 -1
  987. package/lib/lens-core-module/lensCore.d.ts +0 -43
  988. package/lib/lens-core-module/lensCore.js +0 -59
  989. package/lib/lens-core-module/lensCore.js.map +0 -1
  990. package/lib/lens-core-module/lensCoreError.d.ts +0 -15
  991. package/lib/lens-core-module/lensCoreError.js +0 -43
  992. package/lib/lens-core-module/lensCoreError.js.map +0 -1
  993. package/lib/lens-core-module/loader/bootstrapURLs.d.ts +0 -12
  994. package/lib/lens-core-module/loader/bootstrapURLs.js +0 -48
  995. package/lib/lens-core-module/loader/bootstrapURLs.js.map +0 -1
  996. package/lib/lens-core-module/loader/lensCoreFactory.d.ts +0 -17
  997. package/lib/lens-core-module/loader/lensCoreFactory.js +0 -76
  998. package/lib/lens-core-module/loader/lensCoreFactory.js.map +0 -1
  999. package/lib/lensCoreWasmVersions.d.ts +0 -6
  1000. package/lib/lensCoreWasmVersions.js +0 -6
  1001. package/lib/lensCoreWasmVersions.js.map +0 -1
  1002. package/lib/logger/errorLoggingDecorator.d.ts +0 -9
  1003. package/lib/logger/errorLoggingDecorator.js +0 -32
  1004. package/lib/logger/errorLoggingDecorator.js.map +0 -1
  1005. package/lib/logger/logEntries.d.ts +0 -15
  1006. package/lib/logger/logEntries.js +0 -14
  1007. package/lib/logger/logEntries.js.map +0 -1
  1008. package/lib/logger/logger.d.ts +0 -40
  1009. package/lib/logger/logger.js +0 -53
  1010. package/lib/logger/logger.js.map +0 -1
  1011. package/lib/logger/registerLogEntriesSubscriber.d.ts +0 -14
  1012. package/lib/logger/registerLogEntriesSubscriber.js +0 -35
  1013. package/lib/logger/registerLogEntriesSubscriber.js.map +0 -1
  1014. package/lib/media-sources/CameraKitSource.d.ts +0 -126
  1015. package/lib/media-sources/CameraKitSource.js +0 -138
  1016. package/lib/media-sources/CameraKitSource.js.map +0 -1
  1017. package/lib/media-sources/FunctionSource.d.ts +0 -41
  1018. package/lib/media-sources/FunctionSource.js +0 -128
  1019. package/lib/media-sources/FunctionSource.js.map +0 -1
  1020. package/lib/media-sources/ImageSource.d.ts +0 -11
  1021. package/lib/media-sources/ImageSource.js +0 -16
  1022. package/lib/media-sources/ImageSource.js.map +0 -1
  1023. package/lib/media-sources/MediaStreamSource.d.ts +0 -29
  1024. package/lib/media-sources/MediaStreamSource.js +0 -137
  1025. package/lib/media-sources/MediaStreamSource.js.map +0 -1
  1026. package/lib/media-sources/VideoSource.d.ts +0 -25
  1027. package/lib/media-sources/VideoSource.js +0 -22
  1028. package/lib/media-sources/VideoSource.js.map +0 -1
  1029. package/lib/metrics/businessEventsReporter.d.ts +0 -39
  1030. package/lib/metrics/businessEventsReporter.js +0 -195
  1031. package/lib/metrics/businessEventsReporter.js.map +0 -1
  1032. package/lib/metrics/metricsEventTarget.d.ts +0 -41
  1033. package/lib/metrics/metricsEventTarget.js +0 -11
  1034. package/lib/metrics/metricsEventTarget.js.map +0 -1
  1035. package/lib/metrics/operational/Count.d.ts +0 -19
  1036. package/lib/metrics/operational/Count.js +0 -33
  1037. package/lib/metrics/operational/Count.js.map +0 -1
  1038. package/lib/metrics/operational/Histogram.d.ts +0 -17
  1039. package/lib/metrics/operational/Histogram.js +0 -27
  1040. package/lib/metrics/operational/Histogram.js.map +0 -1
  1041. package/lib/metrics/operational/Metric.d.ts +0 -20
  1042. package/lib/metrics/operational/Metric.js +0 -28
  1043. package/lib/metrics/operational/Metric.js.map +0 -1
  1044. package/lib/metrics/operational/Timer.d.ts +0 -94
  1045. package/lib/metrics/operational/Timer.js +0 -108
  1046. package/lib/metrics/operational/Timer.js.map +0 -1
  1047. package/lib/metrics/reporters/reportBenchmarks.d.ts +0 -10
  1048. package/lib/metrics/reporters/reportBenchmarks.js +0 -30
  1049. package/lib/metrics/reporters/reportBenchmarks.js.map +0 -1
  1050. package/lib/metrics/reporters/reportGlobalException.d.ts +0 -26
  1051. package/lib/metrics/reporters/reportGlobalException.js +0 -106
  1052. package/lib/metrics/reporters/reportGlobalException.js.map +0 -1
  1053. package/lib/metrics/reporters/reportHttpMetrics.d.ts +0 -10
  1054. package/lib/metrics/reporters/reportHttpMetrics.js +0 -110
  1055. package/lib/metrics/reporters/reportHttpMetrics.js.map +0 -1
  1056. package/lib/metrics/reporters/reportLegalState.d.ts +0 -15
  1057. package/lib/metrics/reporters/reportLegalState.js +0 -32
  1058. package/lib/metrics/reporters/reportLegalState.js.map +0 -1
  1059. package/lib/metrics/reporters/reportLensAndAssetDownload.d.ts +0 -38
  1060. package/lib/metrics/reporters/reportLensAndAssetDownload.js +0 -92
  1061. package/lib/metrics/reporters/reportLensAndAssetDownload.js.map +0 -1
  1062. package/lib/metrics/reporters/reportLensValidationFailed.d.ts +0 -20
  1063. package/lib/metrics/reporters/reportLensValidationFailed.js +0 -24
  1064. package/lib/metrics/reporters/reportLensValidationFailed.js.map +0 -1
  1065. package/lib/metrics/reporters/reportLensView.d.ts +0 -36
  1066. package/lib/metrics/reporters/reportLensView.js +0 -137
  1067. package/lib/metrics/reporters/reportLensView.js.map +0 -1
  1068. package/lib/metrics/reporters/reportLensWait.d.ts +0 -32
  1069. package/lib/metrics/reporters/reportLensWait.js +0 -60
  1070. package/lib/metrics/reporters/reportLensWait.js.map +0 -1
  1071. package/lib/metrics/reporters/reportPlatformCapabilities.d.ts +0 -12
  1072. package/lib/metrics/reporters/reportPlatformCapabilities.js +0 -19
  1073. package/lib/metrics/reporters/reportPlatformCapabilities.js.map +0 -1
  1074. package/lib/metrics/reporters/reportSessionException.d.ts +0 -17
  1075. package/lib/metrics/reporters/reportSessionException.js +0 -12
  1076. package/lib/metrics/reporters/reportSessionException.js.map +0 -1
  1077. package/lib/metrics/reporters/reportUserSession.d.ts +0 -14
  1078. package/lib/metrics/reporters/reportUserSession.js +0 -66
  1079. package/lib/metrics/reporters/reportUserSession.js.map +0 -1
  1080. package/lib/metrics/reporters/reporters.d.ts +0 -46
  1081. package/lib/metrics/reporters/reporters.js +0 -35
  1082. package/lib/metrics/reporters/reporters.js.map +0 -1
  1083. package/lib/namedErrors.d.ts +0 -124
  1084. package/lib/namedErrors.js +0 -58
  1085. package/lib/namedErrors.js.map +0 -1
  1086. package/lib/observable-operators/unsubscribed.d.ts +0 -12
  1087. package/lib/observable-operators/unsubscribed.js +0 -27
  1088. package/lib/observable-operators/unsubscribed.js.map +0 -1
  1089. package/lib/persistence/ExpiringPersistence.d.ts +0 -21
  1090. package/lib/persistence/ExpiringPersistence.js +0 -71
  1091. package/lib/persistence/ExpiringPersistence.js.map +0 -1
  1092. package/lib/persistence/IndexedDBPersistence.d.ts +0 -47
  1093. package/lib/persistence/IndexedDBPersistence.js +0 -190
  1094. package/lib/persistence/IndexedDBPersistence.js.map +0 -1
  1095. package/lib/persistence/Persistence.d.ts +0 -25
  1096. package/lib/persistence/Persistence.js +0 -10
  1097. package/lib/persistence/Persistence.js.map +0 -1
  1098. package/lib/platform/assertPlatformSupported.d.ts +0 -4
  1099. package/lib/platform/assertPlatformSupported.js +0 -15
  1100. package/lib/platform/assertPlatformSupported.js.map +0 -1
  1101. package/lib/platform/cameraKitUserAgent.d.ts +0 -2
  1102. package/lib/platform/cameraKitUserAgent.js +0 -20
  1103. package/lib/platform/cameraKitUserAgent.js.map +0 -1
  1104. package/lib/platform/platformCapabilities.d.ts +0 -50
  1105. package/lib/platform/platformCapabilities.js +0 -128
  1106. package/lib/platform/platformCapabilities.js.map +0 -1
  1107. package/lib/platform/platformInfo.d.ts +0 -43
  1108. package/lib/platform/platformInfo.js +0 -228
  1109. package/lib/platform/platformInfo.js.map +0 -1
  1110. package/lib/remote-configuration/cofHandler.d.ts +0 -29
  1111. package/lib/remote-configuration/cofHandler.js +0 -115
  1112. package/lib/remote-configuration/cofHandler.js.map +0 -1
  1113. package/lib/remote-configuration/preloadConfiguration.d.ts +0 -7
  1114. package/lib/remote-configuration/preloadConfiguration.js.map +0 -1
  1115. package/lib/remote-configuration/remoteConfiguration.d.ts +0 -34
  1116. package/lib/remote-configuration/remoteConfiguration.js +0 -73
  1117. package/lib/remote-configuration/remoteConfiguration.js.map +0 -1
  1118. package/lib/session/CameraKitSession.d.ts +0 -255
  1119. package/lib/session/CameraKitSession.js +0 -440
  1120. package/lib/session/CameraKitSession.js.map +0 -1
  1121. package/lib/session/CameraKitSessionEvents.d.ts +0 -37
  1122. package/lib/session/CameraKitSessionEvents.js +0 -38
  1123. package/lib/session/CameraKitSessionEvents.js.map +0 -1
  1124. package/lib/session/LensKeyboard.d.ts +0 -89
  1125. package/lib/session/LensKeyboard.js +0 -95
  1126. package/lib/session/LensKeyboard.js.map +0 -1
  1127. package/lib/session/LensPerformanceMeasurement.d.ts +0 -57
  1128. package/lib/session/LensPerformanceMeasurement.js +0 -114
  1129. package/lib/session/LensPerformanceMeasurement.js.map +0 -1
  1130. package/lib/session/LensPerformanceMetrics.d.ts +0 -31
  1131. package/lib/session/LensPerformanceMetrics.js +0 -59
  1132. package/lib/session/LensPerformanceMetrics.js.map +0 -1
  1133. package/lib/session/lensState.d.ts +0 -31
  1134. package/lib/session/lensState.js +0 -261
  1135. package/lib/session/lensState.js.map +0 -1
  1136. package/lib/session/sessionState.d.ts +0 -10
  1137. package/lib/session/sessionState.js.map +0 -1
  1138. package/lib/transforms/Transform2D.d.ts +0 -22
  1139. package/lib/transforms/Transform2D.js +0 -19
  1140. package/lib/transforms/Transform2D.js.map +0 -1
  1141. package/lib/utils.d.ts +0 -3
  1142. /package/{lib → dist}/benchmark/webglUtils.js +0 -0
  1143. /package/{lib → dist}/benchmark/webglUtils.js.map +0 -0
  1144. /package/{lib → dist}/clients/lensesClient.js +0 -0
  1145. /package/{lib → dist}/common/date.js +0 -0
  1146. /package/{lib → dist}/common/date.js.map +0 -0
  1147. /package/{lib → dist}/common/getFilename.js +0 -0
  1148. /package/{lib → dist}/common/getFilename.js.map +0 -0
  1149. /package/{lib → dist}/common/memoize.js +0 -0
  1150. /package/{lib → dist}/common/memoize.js.map +0 -0
  1151. /package/{lib → dist}/common/time.js +0 -0
  1152. /package/{lib → dist}/common/time.js.map +0 -0
  1153. /package/{lib → dist}/common/types.js +0 -0
  1154. /package/{lib → dist}/dependency-injection/Injectable.js +0 -0
  1155. /package/{lib → dist}/dependency-injection/types.js +0 -0
  1156. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js +0 -0
  1157. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js.map +0 -0
  1158. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js +0 -0
  1159. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js.map +0 -0
  1160. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js +0 -0
  1161. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js.map +0 -0
  1162. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js +0 -0
  1163. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js.map +0 -0
  1164. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js +0 -0
  1165. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js.map +0 -0
  1166. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js +0 -0
  1167. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js.map +0 -0
  1168. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js +0 -0
  1169. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js.map +0 -0
  1170. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js +0 -0
  1171. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js.map +0 -0
  1172. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js +0 -0
  1173. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js.map +0 -0
  1174. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js +0 -0
  1175. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js.map +0 -0
  1176. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js +0 -0
  1177. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js.map +0 -0
  1178. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js +0 -0
  1179. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js.map +0 -0
  1180. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js +0 -0
  1181. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js.map +0 -0
  1182. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js +0 -0
  1183. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js.map +0 -0
  1184. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js +0 -0
  1185. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js.map +0 -0
  1186. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js +0 -0
  1187. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js.map +0 -0
  1188. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js +0 -0
  1189. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js.map +0 -0
  1190. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js +0 -0
  1191. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js.map +0 -0
  1192. /package/{lib → dist}/generated-proto/pb_schema/common/value.js +0 -0
  1193. /package/{lib → dist}/generated-proto/pb_schema/common/value.js.map +0 -0
  1194. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js +0 -0
  1195. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js.map +0 -0
  1196. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js +0 -0
  1197. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js.map +0 -0
  1198. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js +0 -0
  1199. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js.map +0 -0
  1200. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js +0 -0
  1201. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js.map +0 -0
  1202. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js +0 -0
  1203. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js.map +0 -0
  1204. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js +0 -0
  1205. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js.map +0 -0
  1206. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js +0 -0
  1207. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js.map +0 -0
  1208. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js +0 -0
  1209. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js.map +0 -0
  1210. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js +0 -0
  1211. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js.map +0 -0
  1212. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js +0 -0
  1213. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js.map +0 -0
  1214. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js +0 -0
  1215. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js.map +0 -0
  1216. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js +0 -0
  1217. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js.map +0 -0
  1218. /package/{lib → dist}/lens/LensPersistenceStore.js +0 -0
  1219. /package/{lib → dist}/lens-core-module/generated-types.js +0 -0
  1220. /package/{lib → dist}/remote-configuration/preloadConfiguration.js +0 -0
  1221. /package/{lib → dist}/session/sessionState.js +0 -0
  1222. /package/{lib → dist}/utils.js +0 -0
  1223. /package/{lib → dist}/utils.js.map +0 -0
@@ -0,0 +1,83 @@
1
+ import { __awaiter } from "tslib";
2
+ import { ensureError } from "../common/errorHelpers";
3
+ import { cacheKeyNotFoundError } from "../namedErrors";
4
+ import { getLogger } from "../logger/logger";
5
+ const logger = getLogger("responseCachingHandler");
6
+ const notFound = (key) => cacheKeyNotFoundError(`Response for key ${key} not found in cache.`);
7
+ const strategyFailed = (key, cause) => new Error(`Network request and cache lookup for key ${key} both failed.`, { cause });
8
+ export const staleIfErrorStrategy = (options) => (key, cache, network) => __awaiter(void 0, void 0, void 0, function* () {
9
+ var _a, _b;
10
+ try {
11
+ const response = yield network();
12
+ cache.store(key, response).catch((error) => {
13
+ logger.warn(`staleIfErrorStrategy failed to store key ${key}.`, error);
14
+ });
15
+ return response;
16
+ }
17
+ catch (networkError) {
18
+ try {
19
+ const cachedResponse = yield cache.retrieve(key);
20
+ if (!cachedResponse) {
21
+ (_a = options === null || options === void 0 ? void 0 : options.onMiss) === null || _a === void 0 ? void 0 : _a.call(options);
22
+ throw notFound(key);
23
+ }
24
+ logger.debug(`staleIfErrorStrategy successfully fell back to cache for key ${key} after network error.`, networkError);
25
+ (_b = options === null || options === void 0 ? void 0 : options.onHit) === null || _b === void 0 ? void 0 : _b.call(options);
26
+ return cachedResponse;
27
+ }
28
+ catch (cacheError) {
29
+ const error = ensureError(cacheError);
30
+ error.cause = networkError;
31
+ throw strategyFailed(key, error);
32
+ }
33
+ }
34
+ });
35
+ export const staleWhileRevalidateStrategy = (options) => (key, cache, network) => __awaiter(void 0, void 0, void 0, function* () {
36
+ var _c, _d;
37
+ try {
38
+ const cachedResponse = yield cache.retrieve(key);
39
+ if (!cachedResponse)
40
+ throw notFound(key);
41
+ network({ isSideEffect: true })
42
+ .then((response) => cache.store(key, response))
43
+ .catch((error) => {
44
+ logger.warn(`staleWhileRevalidateStrategy failed to retrieve and store key ${key}.`, error);
45
+ });
46
+ (_c = options === null || options === void 0 ? void 0 : options.onHit) === null || _c === void 0 ? void 0 : _c.call(options);
47
+ return cachedResponse;
48
+ }
49
+ catch (cacheError) {
50
+ (_d = options === null || options === void 0 ? void 0 : options.onMiss) === null || _d === void 0 ? void 0 : _d.call(options);
51
+ try {
52
+ const response = yield network();
53
+ cache.store(key, response).catch((error) => {
54
+ logger.warn(`staleWhileRevalidateStrategy failed to store key ${key}.`, error);
55
+ });
56
+ logger.debug(`staleWhileRevalidateStrategy successfully fell back to network for key ${key} after cache error.`, cacheError);
57
+ return response;
58
+ }
59
+ catch (networkError) {
60
+ const error = ensureError(networkError);
61
+ error.cause = cacheError;
62
+ throw strategyFailed(key, error);
63
+ }
64
+ }
65
+ });
66
+ export const createResponseCachingHandler = (cache, resolveKey, strategy) => {
67
+ return (next) => (request, metadata) => __awaiter(void 0, void 0, void 0, function* () {
68
+ const network = (additionalMetadata = {}) => {
69
+ const m = Object.assign(Object.assign({}, metadata), additionalMetadata);
70
+ return next(request, m);
71
+ };
72
+ let key;
73
+ try {
74
+ key = resolveKey(request, metadata);
75
+ }
76
+ catch (error) {
77
+ logger.warn("Cache lookup failed because the cache key could not be resolved.", error);
78
+ return network();
79
+ }
80
+ return strategy(key, cache, network);
81
+ });
82
+ };
83
+ //# sourceMappingURL=responseCachingHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseCachingHandler.js","sourceRoot":"","sources":["../../src/handlers/responseCachingHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { ensureError } from \"../common/errorHelpers\";\nimport { cacheKeyNotFoundError } from \"../namedErrors\";\nimport { getLogger } from \"../logger/logger\";\nimport type { Persistence, ValidKey } from \"../persistence/Persistence\";\nimport type { ChainableHandler, RequestMetadata } from \"./HandlerChainBuilder\";\n\nconst logger = getLogger(\"responseCachingHandler\");\nconst notFound = (key: ValidKey) => cacheKeyNotFoundError(`Response for key ${key} not found in cache.`);\nconst strategyFailed = (key: ValidKey, cause?: unknown) =>\n new Error(`Network request and cache lookup for key ${key} both failed.`, { cause });\n\nexport type CachingStrategy<T> = (\n key: ValidKey,\n cache: Persistence<T>,\n network: (metadata?: RequestMetadata) => Promise<T>\n) => Promise<T>;\n\n/**\n * Callers may want to do something (e.g. report a metric) on cache hits or misses.\n */\nexport interface CachingOptions {\n onHit?: () => void;\n onMiss?: () => void;\n}\n\n/**\n * Create a CachingStrategy that first makes a request to the network, falling back to cache if the network request\n * fails. If the network request fails and a prior response has not been cached, an error is returned to the caller.\n */\nexport const staleIfErrorStrategy =\n <T>(options?: CachingOptions): CachingStrategy<T> =>\n async (key, cache, network) => {\n try {\n const response = await network();\n cache.store(key, response).catch((error) => {\n logger.warn(`staleIfErrorStrategy failed to store key ${key}.`, error);\n });\n return response;\n } catch (networkError) {\n try {\n const cachedResponse = await cache.retrieve(key);\n if (!cachedResponse) {\n options?.onMiss?.();\n throw notFound(key);\n }\n logger.debug(\n `staleIfErrorStrategy successfully fell back to cache for key ${key} after network error.`,\n networkError\n );\n options?.onHit?.();\n return cachedResponse;\n } catch (cacheError) {\n const error = ensureError(cacheError);\n error.cause = networkError;\n throw strategyFailed(key, error);\n }\n }\n };\n\n/**\n * Create a CachingStrategy that first does a cache lookup – if the response is found in cache, it is returned and the\n * entry is updated with a request to the network in the background. If no cached response is found, the network request\n * is made, the result cached and returned to the caller.\n */\nexport const staleWhileRevalidateStrategy =\n <T>(options?: CachingOptions): CachingStrategy<T> =>\n async (key, cache, network) => {\n try {\n const cachedResponse = await cache.retrieve(key);\n if (!cachedResponse) throw notFound(key);\n\n // By specifying isSideEffect: true, the handler chain allows the network handler to run to completion,\n // even though we return an immediate response from the cache. In the typical use-case, once a response has\n // resolved, any ongoing handlers are aborted because the handler chain knows their result will not be\n // used -- but here, the network handler is run as a side-effect to update the cache after the cached\n // response has been resolved.\n network({ isSideEffect: true })\n .then((response) => cache.store(key, response))\n .catch((error) => {\n logger.warn(`staleWhileRevalidateStrategy failed to retrieve and store key ${key}.`, error);\n });\n\n options?.onHit?.();\n return cachedResponse;\n } catch (cacheError) {\n options?.onMiss?.();\n try {\n const response = await network();\n cache.store(key, response).catch((error) => {\n logger.warn(`staleWhileRevalidateStrategy failed to store key ${key}.`, error);\n });\n logger.debug(\n `staleWhileRevalidateStrategy successfully fell back to network for key ${key} after cache error.`,\n cacheError\n );\n return response;\n } catch (networkError) {\n const error = ensureError(networkError);\n error.cause = cacheError;\n throw strategyFailed(key, error);\n }\n }\n };\n\n/**\n * Create a Handler capable of caching responses using various caching strategies.\n *\n * More than one caching strategy can be provided, and they will be composed into a single strategy. For example, an\n * expiringStrategy could be composed with a staleIfErrorStrategy so that responses\n *\n * @param cache A Persistence instance capable of storing responses.\n * @param resolveKey This function is called once for each request, and must return a valid persistence key\n * corresponding uniquely to that request.\n * @param strategy A CachingStrategy used to determine when to retrieve from cache vs. request from the network.\n * @returns\n */\nexport const createResponseCachingHandler = <Req, Res, Meta extends RequestMetadata>(\n cache: Persistence<Res>,\n resolveKey: (request: Req, metadata?: Meta) => ValidKey,\n strategy: CachingStrategy<Res>\n): ChainableHandler<Req, Res, Req, Res, Meta> => {\n return (next) => async (request, metadata) => {\n const network = (additionalMetadata: RequestMetadata = {}) => {\n const m = { ...metadata, ...additionalMetadata } as Meta;\n return next(request, m);\n };\n\n let key: ValidKey;\n try {\n key = resolveKey(request, metadata);\n } catch (error) {\n logger.warn(\"Cache lookup failed because the cache key could not be resolved.\", error);\n return network();\n }\n return strategy(key, cache, network);\n };\n};\n"]}
@@ -0,0 +1,49 @@
1
+ import type { ChainableHandler, RequestMetadata } from "./HandlerChainBuilder";
2
+ /**
3
+ * Returns a cloned instance of Request if the input is of that type, otherwise returns the input unchanged.
4
+ *
5
+ * This is necessary when attempting to retry a request.
6
+ * It is not possible to reuse the same Request instance that has already been sent.
7
+ */
8
+ export declare function ensureClonedRequest<T>(input: T): T;
9
+ export interface RetryingHandlerOptions<Req> {
10
+ /**
11
+ * Multiple used to increase the random backoff between attempts. Default is 3, usually doesn't need to be changed.
12
+ */
13
+ backoffMultiple: number;
14
+ /**
15
+ * The minimum number of milliseconds to sleep between attempts.
16
+ *
17
+ * The actual number of milliseconds slept between attempts is chosen at random.
18
+ */
19
+ baseSleep: number;
20
+ /**
21
+ * The maximum number of milliseconds to sleep between attempts. Note that this is not a timeout -- if multiple
22
+ * request attempts are made, the total request latency will be longer than this.
23
+ *
24
+ * The actual number of milliseconds slept between attempts is chosen at random.
25
+ */
26
+ maxSleep: number;
27
+ /**
28
+ * The maximum number of retry attempts. The initial request is not counted against this number.
29
+ */
30
+ maxRetries: number;
31
+ /**
32
+ * Determine if a given error is retryable. If `false` is returned, the error will be passed up to the Handler's
33
+ * caller and no additional retry attempts will be made.
34
+ */
35
+ retryPredicate: (responseOrError: Req | Error, retryCount: number) => boolean;
36
+ }
37
+ /**
38
+ * Retry requests using an exponential backoff with jitter strategy.
39
+ *
40
+ * More about this approach to retries can be found
41
+ * [here](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). This implementation uses the
42
+ * "Decorrelated jitter" algorithm described in that post. This offers a good tradeoff between call volume and latency,
43
+ * and also allows for convenient configurability.
44
+ *
45
+ * @param options
46
+ * @returns {@link ChainableHandler}, suitable for use in {@link HandlerChainBuilder.map}
47
+ */
48
+ export declare const createRetryingHandler: <Req, Res, Meta extends RequestMetadata>(options?: Partial<RetryingHandlerOptions<Res>>) => ChainableHandler<Req, Res, Req, Res, Meta>;
49
+ //# sourceMappingURL=retryingHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retryingHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/retryingHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAW,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA0BxF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAElD;AAED,MAAM,WAAW,sBAAsB,CAAC,GAAG;IACvC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,EAAE,CAAC,eAAe,EAAE,GAAG,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACjF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,wIA0DjC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { __awaiter } from "tslib";
2
+ import { copyDefinedProperties } from "../common/copyDefinedProperties";
3
+ import { getLogger } from "../logger/logger";
4
+ const logger = getLogger("retryingHandler");
5
+ const logRetry = (responseOrError, sleep) => {
6
+ logger.warn(`Retrying handler got failed response:`, responseOrError, `Waited ${sleep} millis, attempting retry now.`);
7
+ };
8
+ const sleep = (millis) => new Promise((resolve) => setTimeout(resolve, millis));
9
+ const randomInRange = (min, max) => Math.round(Math.random() * (max - min) + min);
10
+ const defaultOptions = {
11
+ backoffMultiple: 3,
12
+ baseSleep: 500,
13
+ maxSleep: 5 * 1000,
14
+ maxRetries: 10,
15
+ retryPredicate: (responseOrError) => (responseOrError instanceof Response ? !responseOrError.ok : true),
16
+ };
17
+ export function ensureClonedRequest(input) {
18
+ return input instanceof Request ? input.clone() : input;
19
+ }
20
+ export const createRetryingHandler = (options = {}) => {
21
+ const definedOptions = copyDefinedProperties(options);
22
+ const { backoffMultiple, baseSleep, maxSleep, maxRetries, retryPredicate } = Object.assign(Object.assign({}, defaultOptions), definedOptions);
23
+ let retryCount = -1;
24
+ const jitterSleep = (priorSleep) => __awaiter(void 0, void 0, void 0, function* () {
25
+ const nextSleep = Math.min(maxSleep, randomInRange(baseSleep, priorSleep * backoffMultiple));
26
+ yield sleep(nextSleep);
27
+ return nextSleep;
28
+ });
29
+ const makeRequestAttempt = (next, priorSleep = baseSleep) => (req, metadata) => __awaiter(void 0, void 0, void 0, function* () {
30
+ var _a, _b;
31
+ retryCount++;
32
+ try {
33
+ const response = yield next(ensureClonedRequest(req), metadata);
34
+ if (retryCount < maxRetries && retryPredicate(response, retryCount)) {
35
+ const nextSleep = yield jitterSleep(priorSleep);
36
+ if ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.signal) === null || _a === void 0 ? void 0 : _a.aborted)
37
+ return response;
38
+ logRetry(response, nextSleep);
39
+ return makeRequestAttempt(next, nextSleep)(req, metadata);
40
+ }
41
+ return response;
42
+ }
43
+ catch (error) {
44
+ if (!(error instanceof Error)) {
45
+ throw new Error("Invalid type caught by retrying handler. Handlers may only throw Errors. Got " +
46
+ `${JSON.stringify(error)}`);
47
+ }
48
+ if (error.name === "AbortError")
49
+ throw error;
50
+ if (retryCount < maxRetries && retryPredicate(error, retryCount)) {
51
+ const nextSleep = yield jitterSleep(priorSleep);
52
+ if ((_b = metadata === null || metadata === void 0 ? void 0 : metadata.signal) === null || _b === void 0 ? void 0 : _b.aborted)
53
+ throw error;
54
+ logRetry(error, nextSleep);
55
+ return makeRequestAttempt(next, nextSleep)(req, metadata);
56
+ }
57
+ throw error;
58
+ }
59
+ });
60
+ return (next) => makeRequestAttempt(next);
61
+ };
62
+ //# sourceMappingURL=retryingHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retryingHandler.js","sourceRoot":"","sources":["../../src/handlers/retryingHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { copyDefinedProperties } from \"../common/copyDefinedProperties\";\nimport { getLogger } from \"../logger/logger\";\nimport type { ChainableHandler, Handler, RequestMetadata } from \"./HandlerChainBuilder\";\n\nconst logger = getLogger(\"retryingHandler\");\n\nconst logRetry = (responseOrError: any, sleep: number) => {\n logger.warn(\n `Retrying handler got failed response:`,\n responseOrError,\n `Waited ${sleep} millis, attempting retry now.`\n );\n};\n\nconst sleep = (millis: number) => new Promise((resolve) => setTimeout(resolve, millis));\n\nconst randomInRange = (min: number, max: number) => Math.round(Math.random() * (max - min) + min);\n\nconst defaultOptions: RetryingHandlerOptions<unknown> = {\n backoffMultiple: 3,\n baseSleep: 500,\n maxSleep: 5 * 1000,\n maxRetries: 10,\n\n // The Response type is very common, so our default predicate special-cases to retry all failed Responses.\n retryPredicate: (responseOrError: unknown) => (responseOrError instanceof Response ? !responseOrError.ok : true),\n};\n\n/**\n * Returns a cloned instance of Request if the input is of that type, otherwise returns the input unchanged.\n *\n * This is necessary when attempting to retry a request.\n * It is not possible to reuse the same Request instance that has already been sent.\n */\nexport function ensureClonedRequest<T>(input: T): T {\n return input instanceof Request ? (input.clone() as T) : input;\n}\n\nexport interface RetryingHandlerOptions<Req> {\n /**\n * Multiple used to increase the random backoff between attempts. Default is 3, usually doesn't need to be changed.\n */\n backoffMultiple: number;\n\n /**\n * The minimum number of milliseconds to sleep between attempts.\n *\n * The actual number of milliseconds slept between attempts is chosen at random.\n */\n baseSleep: number;\n\n /**\n * The maximum number of milliseconds to sleep between attempts. Note that this is not a timeout -- if multiple\n * request attempts are made, the total request latency will be longer than this.\n *\n * The actual number of milliseconds slept between attempts is chosen at random.\n */\n maxSleep: number;\n\n /**\n * The maximum number of retry attempts. The initial request is not counted against this number.\n */\n maxRetries: number;\n\n /**\n * Determine if a given error is retryable. If `false` is returned, the error will be passed up to the Handler's\n * caller and no additional retry attempts will be made.\n */\n retryPredicate: (responseOrError: Req | Error, retryCount: number) => boolean;\n}\n\n/**\n * Retry requests using an exponential backoff with jitter strategy.\n *\n * More about this approach to retries can be found\n * [here](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/). This implementation uses the\n * \"Decorrelated jitter\" algorithm described in that post. This offers a good tradeoff between call volume and latency,\n * and also allows for convenient configurability.\n *\n * @param options\n * @returns {@link ChainableHandler}, suitable for use in {@link HandlerChainBuilder.map}\n */\nexport const createRetryingHandler = <Req, Res, Meta extends RequestMetadata>(\n options: Partial<RetryingHandlerOptions<Res>> = {}\n): ChainableHandler<Req, Res, Req, Res, Meta> => {\n const definedOptions = copyDefinedProperties(options);\n const { backoffMultiple, baseSleep, maxSleep, maxRetries, retryPredicate } = {\n ...defaultOptions,\n ...definedOptions,\n };\n let retryCount = -1;\n\n const jitterSleep = async (priorSleep: number) => {\n const nextSleep = Math.min(maxSleep, randomInRange(baseSleep, priorSleep * backoffMultiple));\n await sleep(nextSleep);\n return nextSleep;\n };\n\n const makeRequestAttempt =\n (next: Handler<Req, Res, Meta>, priorSleep = baseSleep) =>\n async (req: Req, metadata?: Meta): Promise<Res> => {\n retryCount++;\n\n try {\n const response = await next(ensureClonedRequest(req), metadata);\n if (retryCount < maxRetries && retryPredicate(response, retryCount)) {\n const nextSleep = await jitterSleep(priorSleep);\n // The request may have been aborted while we were sleeping. In that case, we'll resolve\n // with the failed response. In many cases this will be ignored, because an AbortError has already\n // been returned to the caller of the Handler chain – but this prevents us from doing\n // any extra work, and there may be edge cases where the caller could find the response useful.\n if (metadata?.signal?.aborted) return response;\n logRetry(response, nextSleep);\n return makeRequestAttempt(next, nextSleep)(req, metadata);\n }\n return response;\n } catch (error) {\n if (!(error instanceof Error)) {\n throw new Error(\n \"Invalid type caught by retrying handler. Handlers may only throw Errors. Got \" +\n `${JSON.stringify(error)}`\n );\n }\n\n // If the request fails because it was aborted, we assume this was done intentionally and we can stop.\n if (error.name === \"AbortError\") throw error;\n\n if (retryCount < maxRetries && retryPredicate(error, retryCount)) {\n const nextSleep = await jitterSleep(priorSleep);\n if (metadata?.signal?.aborted) throw error;\n logRetry(error, nextSleep);\n return makeRequestAttempt(next, nextSleep)(req, metadata);\n }\n\n // If no retry is to be attempted, return the error to the caller.\n throw error;\n }\n };\n\n return (next) => makeRequestAttempt(next);\n};\n"]}
@@ -0,0 +1,19 @@
1
+ import type { ChainableHandler, RequestMetadata } from "./HandlerChainBuilder";
2
+ export interface TimeoutHandlerOptions<Req> {
3
+ /**
4
+ * A function that returns a new Error instance when a timeout occurs.
5
+ */
6
+ createError: (req: Req, meta?: RequestMetadata | void) => Error;
7
+ /**
8
+ * Abort requests after this number of milliseconds. Defaults to 30 seconds.
9
+ */
10
+ timeout: number;
11
+ }
12
+ /**
13
+ * Timeout requests after a given number of milliseconds, rejecting the Response promise with a custom error.
14
+ *
15
+ * @param options
16
+ * @returns {@link ChainableHandler}, suitable for use in {@link HandlerChainBuilder.map}
17
+ */
18
+ export declare const createTimeoutHandler: <Req, Res, Meta extends RequestMetadata>(options?: Partial<TimeoutHandlerOptions<Req>>) => ChainableHandler<Req, Res, Req, Res, Meta>;
19
+ //# sourceMappingURL=timeoutHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeoutHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/timeoutHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkB/E,MAAM,WAAW,qBAAqB,CAAC,GAAG;IACtC;;OAEG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,KAAK,KAAK,CAAC;IAEhE;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,uIAUhC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { copyDefinedProperties } from "../common/copyDefinedProperties";
2
+ import { isString } from "../common/typeguards";
3
+ const sleep = (millis) => new Promise((resolve) => setTimeout(resolve, millis));
4
+ const defaultOptions = {
5
+ createError: (request) => {
6
+ const destination = isString(request)
7
+ ? `for ${request}`
8
+ : request instanceof Request
9
+ ? `for ${request.url}`
10
+ : "";
11
+ return new Error(`Request ${destination} timed out by client timeout handler.`);
12
+ },
13
+ timeout: 30 * 1000,
14
+ };
15
+ export const createTimeoutHandler = (options = {}) => {
16
+ const definedOptions = copyDefinedProperties(options);
17
+ const { createError, timeout } = Object.assign(Object.assign({}, defaultOptions), definedOptions);
18
+ return (next) => (req, meta) => Promise.race([next(req, meta), sleep(timeout).then(() => Promise.reject(createError(req, meta)))]);
19
+ };
20
+ //# sourceMappingURL=timeoutHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeoutHandler.js","sourceRoot":"","sources":["../../src/handlers/timeoutHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9F,MAAM,cAAc,GAAmC;IACnD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;QAGrB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;YACjC,CAAC,CAAC,OAAO,OAAO,EAAE;YAClB,CAAC,CAAC,OAAO,YAAY,OAAO;gBAC5B,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE;gBACtB,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,KAAK,CAAC,WAAW,WAAW,uCAAuC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,EAAE,EAAE,GAAG,IAAI;CACrB,CAAC;AAoBF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,UAA+C,EAAE,EACP,EAAE;IAC5C,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,mCAAQ,cAAc,GAAK,cAAc,CAAE,CAAC;IAI1E,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC","sourcesContent":["import { copyDefinedProperties } from \"../common/copyDefinedProperties\";\nimport { isString } from \"../common/typeguards\";\nimport type { ChainableHandler, RequestMetadata } from \"./HandlerChainBuilder\";\n\nconst sleep = (millis: number) => new Promise<void>((resolve) => setTimeout(resolve, millis));\n\nconst defaultOptions: TimeoutHandlerOptions<unknown> = {\n createError: (request) => {\n // The string and Request types are very common, so our default error creator special-cases those types to\n // provide better error messages.\n const destination = isString(request)\n ? `for ${request}`\n : request instanceof Request\n ? `for ${request.url}`\n : \"\";\n return new Error(`Request ${destination} timed out by client timeout handler.`);\n },\n timeout: 30 * 1000,\n};\n\nexport interface TimeoutHandlerOptions<Req> {\n /**\n * A function that returns a new Error instance when a timeout occurs.\n */\n createError: (req: Req, meta?: RequestMetadata | void) => Error;\n\n /**\n * Abort requests after this number of milliseconds. Defaults to 30 seconds.\n */\n timeout: number;\n}\n\n/**\n * Timeout requests after a given number of milliseconds, rejecting the Response promise with a custom error.\n *\n * @param options\n * @returns {@link ChainableHandler}, suitable for use in {@link HandlerChainBuilder.map}\n */\nexport const createTimeoutHandler = <Req, Res, Meta extends RequestMetadata>(\n options: Partial<TimeoutHandlerOptions<Req>> = {}\n): ChainableHandler<Req, Res, Req, Res, Meta> => {\n const definedOptions = copyDefinedProperties(options);\n const { createError, timeout } = { ...defaultOptions, ...definedOptions };\n\n // If the timeout Promise wins the race, the HandlerChainBuilder sets the abort signal for subsequent handlers. They\n // may look at the abort signal in order to terminate themselves early.\n return (next) => (req, meta) =>\n Promise.race([next(req, meta), sleep(timeout).then(() => Promise.reject(createError(req, meta)))]);\n};\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Modifies the provided request object to include a priority field if the lowPriority flag is true.
3
+ * Returns the request object unchanged if lowPriority is false.
4
+ *
5
+ * @internal
6
+ *
7
+ * @param request The request object to be potentially modified.
8
+ * @param lowPriority A boolean flag indicating whether to add a priority field to the request object.
9
+ * @returns The modified request object with a priority field if lowPriority is true,
10
+ * or the original request object if lowPriority is false.
11
+ */
12
+ export declare function withRequestPriority(request: RequestInit, lowPriority: boolean | undefined): RequestInit;
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/handlers/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAMvG"}
@@ -0,0 +1,7 @@
1
+ export function withRequestPriority(request, lowPriority) {
2
+ if (lowPriority) {
3
+ return Object.assign(Object.assign({}, request), { priority: "low" });
4
+ }
5
+ return request;
6
+ }
7
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/handlers/utils.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mBAAmB,CAAC,OAAoB,EAAE,WAAgC;IACtF,IAAI,WAAW,EAAE;QAEb,OAAO,gCAAK,OAAO,KAAE,QAAQ,EAAE,KAAK,GAAiB,CAAC;KACzD;IACD,OAAO,OAAO,CAAC;AACnB,CAAC","sourcesContent":["/**\n * Modifies the provided request object to include a priority field if the lowPriority flag is true.\n * Returns the request object unchanged if lowPriority is false.\n *\n * @internal\n *\n * @param request The request object to be potentially modified.\n * @param lowPriority A boolean flag indicating whether to add a priority field to the request object.\n * @returns The modified request object with a priority field if lowPriority is true,\n * or the original request object if lowPriority is false.\n */\nexport function withRequestPriority(request: RequestInit, lowPriority: boolean | undefined): RequestInit {\n if (lowPriority) {\n // Safety: priority is defined in some browsers: https://developer.mozilla.org/en-US/docs/Web/API/fetch\n return { ...request, priority: \"low\" } as RequestInit;\n }\n return request;\n}\n"]}
@@ -0,0 +1,43 @@
1
+ export { Keyboard, KeyboardEvents } from "./session/LensKeyboard";
2
+ export { CameraKitConfiguration, CameraKitBootstrapConfiguration, configurationToken } from "./configuration";
3
+ export { estimateLensPerformance, EstimatedLensPerformance, LensPerformanceCluster, } from "./benchmark/estimateLensPerformanceCluster";
4
+ export { createExtension, bootstrapCameraKit, PublicContainer } from "./bootstrapCameraKit";
5
+ export { PublicServices } from "./dependency-injection/RootServices";
6
+ export { extensionRequestContext } from "./extensions/extensionRequestContext";
7
+ export { LensSource, lensSourcesFactory } from "./lens/LensSource";
8
+ export { Uri, UriRequest, UriResponse, UriCancelRequest, UriHandler, UriHandlers, uriHandlersFactory, } from "./extensions/UriHandlers";
9
+ export { RemoteApiCancelRequestHandler, RemoteApiRequest, RemoteApiRequestHandler, RemoteApiResponse, RemoteApiService, RemoteApiServices, RemoteApiStatus, remoteApiServicesFactory, } from "./extensions/RemoteApiServices";
10
+ export { CameraKit, CreateSessionOptions, LensMetricsEvents } from "./CameraKit";
11
+ export { externalMetricsSubjectFactory } from "./clients/metricsClient";
12
+ export { Count } from "./metrics/operational/Count";
13
+ export { Histogram } from "./metrics/operational/Histogram";
14
+ export { Metric } from "./metrics/operational/Metric";
15
+ export { Timer } from "./metrics/operational/Timer";
16
+ export { LensView } from "./metrics/reporters/reportLensView";
17
+ export { LensWait } from "./metrics/reporters/reportLensWait";
18
+ export { Lens, toPublicLens, Snapcode, Preview, Lens_CameraFacing, LensCreator } from "./lens/Lens";
19
+ export { AssetTiming, LensRepository } from "./lens/LensRepository";
20
+ export { LensLaunchData, LensUserData, BitmojiUserInfo, FriendUserInfo, LensLaunchParams, Zodiac, } from "./lens/LensLaunchData";
21
+ export { AssetLoader, LoadAssetRequest, AssetResponse } from "./lens/assets/LensAssetRepository";
22
+ export { defaultFetchHandlerFactory, FetchHandler } from "./handlers/defaultFetchHandler";
23
+ export { remoteMediaAssetLoaderFactory } from "./lens/assets/remoteMediaAssetLoaderFactory";
24
+ export { CameraKitSource, CameraKitSourceInfo, CameraKitDeviceOptions, CameraKitSourceSubscriber, } from "./media-sources/CameraKitSource";
25
+ export { createMediaStreamSource, MediaStreamSourceOptions } from "./media-sources/MediaStreamSource";
26
+ export { createFunctionSource, FrameFormat, FrameInput, FrameOutput, FunctionSourceOptions, MediaSourceFunction, } from "./media-sources/FunctionSource";
27
+ export { createVideoSource, VideoSourceOptions } from "./media-sources/VideoSource";
28
+ export { createImageSource } from "./media-sources/ImageSource";
29
+ export { RenderTarget, CameraKitSession } from "./session/CameraKitSession";
30
+ export { CameraKitSessionEvents, CameraKitSessionEventListener } from "./session/CameraKitSessionEvents";
31
+ export { Container } from "./dependency-injection/Container";
32
+ export { Injectable, ConcatInjectable } from "./dependency-injection/Injectable";
33
+ export { PartialContainer } from "./dependency-injection/PartialContainer";
34
+ export { Transform2D, Matrix } from "./transforms/Transform2D";
35
+ export * from "./namedErrors";
36
+ export { LensPerformanceMeasurement, ComputedFrameMetrics } from "./session/LensPerformanceMeasurement";
37
+ export { LensPerformanceMetrics } from "./session/LensPerformanceMetrics";
38
+ export { TypedCustomEvent } from "./events/TypedCustomEvent";
39
+ export { TypedEventTarget } from "./events/TypedEventTarget";
40
+ export { namedError } from "./namedErrors";
41
+ export { Any } from "./generated-proto/pb_schema/google/protobuf/any";
42
+ export { LensCore } from "./lens-core-module/lensCore";
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,35 @@
1
+ export { configurationToken } from "./configuration";
2
+ export { estimateLensPerformance, } from "./benchmark/estimateLensPerformanceCluster";
3
+ export { createExtension, bootstrapCameraKit } from "./bootstrapCameraKit";
4
+ export { extensionRequestContext } from "./extensions/extensionRequestContext";
5
+ export { lensSourcesFactory } from "./lens/LensSource";
6
+ export { uriHandlersFactory, } from "./extensions/UriHandlers";
7
+ export { remoteApiServicesFactory, } from "./extensions/RemoteApiServices";
8
+ export { CameraKit } from "./CameraKit";
9
+ export { externalMetricsSubjectFactory } from "./clients/metricsClient";
10
+ export { Count } from "./metrics/operational/Count";
11
+ export { Histogram } from "./metrics/operational/Histogram";
12
+ export { Metric } from "./metrics/operational/Metric";
13
+ export { Timer } from "./metrics/operational/Timer";
14
+ export { toPublicLens, Lens_CameraFacing } from "./lens/Lens";
15
+ export { LensRepository } from "./lens/LensRepository";
16
+ export { defaultFetchHandlerFactory } from "./handlers/defaultFetchHandler";
17
+ export { remoteMediaAssetLoaderFactory } from "./lens/assets/remoteMediaAssetLoaderFactory";
18
+ export { CameraKitSource, } from "./media-sources/CameraKitSource";
19
+ export { createMediaStreamSource } from "./media-sources/MediaStreamSource";
20
+ export { createFunctionSource, } from "./media-sources/FunctionSource";
21
+ export { createVideoSource } from "./media-sources/VideoSource";
22
+ export { createImageSource } from "./media-sources/ImageSource";
23
+ export { CameraKitSession } from "./session/CameraKitSession";
24
+ export { Container } from "./dependency-injection/Container";
25
+ export { Injectable, ConcatInjectable } from "./dependency-injection/Injectable";
26
+ export { PartialContainer } from "./dependency-injection/PartialContainer";
27
+ export { Transform2D } from "./transforms/Transform2D";
28
+ export * from "./namedErrors";
29
+ export { LensPerformanceMeasurement } from "./session/LensPerformanceMeasurement";
30
+ export { LensPerformanceMetrics } from "./session/LensPerformanceMetrics";
31
+ export { TypedCustomEvent } from "./events/TypedCustomEvent";
32
+ export { TypedEventTarget } from "./events/TypedEventTarget";
33
+ export { namedError } from "./namedErrors";
34
+ export { Any } from "./generated-proto/pb_schema/google/protobuf/any";
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA2D,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EACH,uBAAuB,GAG1B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAmB,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAc,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAOH,kBAAkB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAQH,wBAAwB,GAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,SAAS,EAA2C,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGpD,OAAO,EAAQ,YAAY,EAAqB,iBAAiB,EAAe,MAAM,aAAa,CAAC;AACpG,OAAO,EAAe,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAUpE,OAAO,EAAE,0BAA0B,EAAgB,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EACH,eAAe,GAIlB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAA4B,MAAM,mCAAmC,CAAC;AACtG,OAAO,EACH,oBAAoB,GAMvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAsB,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAgB,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAU,MAAM,0BAA0B,CAAC;AAC/D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAwB,MAAM,sCAAsC,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,iDAAiD,CAAC","sourcesContent":["export { Keyboard, KeyboardEvents } from \"./session/LensKeyboard\";\nexport { CameraKitConfiguration, CameraKitBootstrapConfiguration, configurationToken } from \"./configuration\";\nexport {\n estimateLensPerformance,\n EstimatedLensPerformance,\n LensPerformanceCluster,\n} from \"./benchmark/estimateLensPerformanceCluster\";\nexport { createExtension, bootstrapCameraKit, PublicContainer } from \"./bootstrapCameraKit\";\nexport { PublicServices } from \"./dependency-injection/RootServices\";\nexport { extensionRequestContext } from \"./extensions/extensionRequestContext\";\nexport { LensSource, lensSourcesFactory } from \"./lens/LensSource\";\nexport {\n Uri,\n UriRequest,\n UriResponse,\n UriCancelRequest,\n UriHandler,\n UriHandlers,\n uriHandlersFactory,\n} from \"./extensions/UriHandlers\";\nexport {\n RemoteApiCancelRequestHandler,\n RemoteApiRequest,\n RemoteApiRequestHandler,\n RemoteApiResponse,\n RemoteApiService,\n RemoteApiServices,\n RemoteApiStatus,\n remoteApiServicesFactory,\n} from \"./extensions/RemoteApiServices\";\nexport { CameraKit, CreateSessionOptions, LensMetricsEvents } from \"./CameraKit\";\nexport { externalMetricsSubjectFactory } from \"./clients/metricsClient\";\nexport { Count } from \"./metrics/operational/Count\";\nexport { Histogram } from \"./metrics/operational/Histogram\";\nexport { Metric } from \"./metrics/operational/Metric\";\nexport { Timer } from \"./metrics/operational/Timer\";\nexport { LensView } from \"./metrics/reporters/reportLensView\";\nexport { LensWait } from \"./metrics/reporters/reportLensWait\";\nexport { Lens, toPublicLens, Snapcode, Preview, Lens_CameraFacing, LensCreator } from \"./lens/Lens\";\nexport { AssetTiming, LensRepository } from \"./lens/LensRepository\";\nexport {\n LensLaunchData,\n LensUserData,\n BitmojiUserInfo,\n FriendUserInfo,\n LensLaunchParams,\n Zodiac,\n} from \"./lens/LensLaunchData\";\nexport { AssetLoader, LoadAssetRequest, AssetResponse } from \"./lens/assets/LensAssetRepository\";\nexport { defaultFetchHandlerFactory, FetchHandler } from \"./handlers/defaultFetchHandler\";\nexport { remoteMediaAssetLoaderFactory } from \"./lens/assets/remoteMediaAssetLoaderFactory\";\nexport {\n CameraKitSource,\n CameraKitSourceInfo,\n CameraKitDeviceOptions,\n CameraKitSourceSubscriber,\n} from \"./media-sources/CameraKitSource\";\nexport { createMediaStreamSource, MediaStreamSourceOptions } from \"./media-sources/MediaStreamSource\";\nexport {\n createFunctionSource,\n FrameFormat,\n FrameInput,\n FrameOutput,\n FunctionSourceOptions,\n MediaSourceFunction,\n} from \"./media-sources/FunctionSource\";\nexport { createVideoSource, VideoSourceOptions } from \"./media-sources/VideoSource\";\nexport { createImageSource } from \"./media-sources/ImageSource\";\nexport { RenderTarget, CameraKitSession } from \"./session/CameraKitSession\";\nexport { CameraKitSessionEvents, CameraKitSessionEventListener } from \"./session/CameraKitSessionEvents\";\nexport { Container } from \"./dependency-injection/Container\";\nexport { Injectable, ConcatInjectable } from \"./dependency-injection/Injectable\";\nexport { PartialContainer } from \"./dependency-injection/PartialContainer\";\nexport { Transform2D, Matrix } from \"./transforms/Transform2D\";\nexport * from \"./namedErrors\";\nexport { LensPerformanceMeasurement, ComputedFrameMetrics } from \"./session/LensPerformanceMeasurement\";\nexport { LensPerformanceMetrics } from \"./session/LensPerformanceMetrics\";\nexport { TypedCustomEvent } from \"./events/TypedCustomEvent\";\nexport { TypedEventTarget } from \"./events/TypedEventTarget\";\nexport { namedError } from \"./namedErrors\";\nexport { Any } from \"./generated-proto/pb_schema/google/protobuf/any\";\nexport { LensCore } from \"./lens-core-module/lensCore\";\n"]}
@@ -0,0 +1,21 @@
1
+ import type { LegalDocument, LegalDocument_Type } from "../generated-proto/pb_schema/camera_kit/v3/legal_prompt";
2
+ export type LegalPromptFactory = (privacyPolicy: LegalDocument & {
3
+ type: LegalDocument_Type.PRIVACY_POLICY;
4
+ }, termsOfService: LegalDocument & {
5
+ type: LegalDocument_Type.TERMS_OF_SERVICE;
6
+ }, learnMore: LegalDocument & {
7
+ type: LegalDocument_Type.LEARN_MORE;
8
+ }, childrenProtectionActRestricted: boolean) => LegalPrompt;
9
+ export type LegalPrompt = {
10
+ contentHash: string;
11
+ show: () => Promise<boolean>;
12
+ };
13
+ /**
14
+ * @internal
15
+ */
16
+ export declare const legalPromptFactory: {
17
+ (): LegalPromptFactory;
18
+ token: "legalPrompt";
19
+ dependencies: [];
20
+ };
21
+ //# sourceMappingURL=legalPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legalPrompt.d.ts","sourceRoot":"","sources":["../../src/legal/legalPrompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAsFjH,MAAM,MAAM,kBAAkB,GAAG,CAC7B,aAAa,EAAE,aAAa,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,CAAA;CAAE,EAC1E,cAAc,EAAE,aAAa,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAC,gBAAgB,CAAA;CAAE,EAC7E,SAAS,EAAE,aAAa,GAAG;IAAE,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAA;CAAE,EAClE,+BAA+B,EAAE,OAAO,KACvC,WAAW,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;CAoD7B,CAAC"}
@@ -0,0 +1,130 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from "../dependency-injection/Injectable";
3
+ import { supportedLocale, localizedString } from "../common/localization";
4
+ import { showDialog } from "../common/dialog";
5
+ import { assertUnreachable } from "../common/assertions";
6
+ import { computeHash } from "../common/hash";
7
+ const snapIcon = `
8
+ <svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 32 32" height="48px">
9
+ <g>
10
+ <path
11
+ d="M 30.898 23.477 C 30.77 23.045 30.148 22.743 30.148 22.743 C 30.092 22.71 30.039 22.684 29.994 22.663 C 28.962 22.161 28.048 21.561 27.277 20.876 C 26.659 20.325 26.128 19.719 25.701 19.074 C 25.182 18.288 24.937 17.632 24.831 17.275 C 24.773 17.043 24.782 16.951 24.831 16.832 C 24.873 16.731 24.99 16.632 25.049 16.588 C 25.397 16.341 25.96 15.976 26.303 15.75 C 26.602 15.556 26.859 15.389 27.009 15.283 C 27.494 14.944 27.824 14.596 28.02 14.223 C 28.275 13.74 28.303 13.208 28.107 12.684 C 27.84 11.978 27.184 11.556 26.35 11.556 C 26.163 11.556 25.974 11.577 25.785 11.62 C 25.308 11.723 24.852 11.894 24.474 12.042 C 24.446 12.054 24.416 12.032 24.418 12.002 C 24.457 11.059 24.502 9.79 24.399 8.584 C 24.306 7.493 24.082 6.576 23.717 5.776 C 23.351 4.972 22.874 4.376 22.5 3.947 C 22.143 3.536 21.519 2.936 20.577 2.394 C 19.251 1.631 17.742 1.244 16.09 1.244 C 14.443 1.244 12.934 1.631 11.605 2.394 C 10.607 2.966 9.97 3.614 9.678 3.947 C 9.304 4.376 8.827 4.972 8.46 5.776 C 8.096 6.576 7.872 7.496 7.778 8.584 C 7.673 9.792 7.715 10.96 7.76 11.999 C 7.762 12.03 7.732 12.051 7.704 12.039 C 7.325 11.892 6.87 11.72 6.393 11.617 C 6.204 11.575 6.012 11.554 5.828 11.554 C 4.994 11.554 4.337 11.976 4.071 12.682 C 3.875 13.205 3.903 13.738 4.157 14.221 C 4.354 14.594 4.685 14.941 5.169 15.281 C 5.318 15.387 5.575 15.553 5.874 15.748 C 6.211 15.968 6.758 16.323 7.108 16.569 C 7.152 16.599 7.299 16.712 7.346 16.827 C 7.397 16.951 7.404 17.045 7.341 17.289 C 7.234 17.648 6.989 18.298 6.479 19.069 C 6.052 19.715 5.522 20.32 4.902 20.871 C 4.132 21.556 3.218 22.157 2.186 22.658 C 2.137 22.682 2.078 22.712 2.015 22.748 C 2.015 22.748 1.399 23.064 1.282 23.472 C 1.109 24.075 1.567 24.64 2.036 24.943 C 2.8 25.438 3.732 25.703 4.272 25.849 C 4.421 25.889 4.559 25.926 4.683 25.964 C 4.76 25.989 4.956 26.062 5.038 26.17 C 5.143 26.306 5.155 26.473 5.192 26.66 C 5.253 26.977 5.384 27.373 5.774 27.643 C 6.204 27.941 6.75 27.962 7.444 27.99 C 8.168 28.018 9.07 28.054 10.1 28.394 C 10.579 28.553 11.011 28.818 11.514 29.128 C 12.56 29.773 13.864 30.578 16.09 30.578 C 18.318 30.578 19.629 29.768 20.685 29.119 C 21.183 28.811 21.612 28.546 22.08 28.391 C 23.11 28.049 24.011 28.014 24.735 27.988 C 25.427 27.962 25.974 27.941 26.404 27.641 C 26.822 27.35 26.943 26.918 26.997 26.59 C 27.027 26.428 27.046 26.285 27.14 26.165 C 27.219 26.064 27.399 25.992 27.483 25.964 C 27.609 25.924 27.751 25.886 27.906 25.844 C 28.445 25.698 29.123 25.527 29.945 25.061 C 30.933 24.511 31.001 23.82 30.898 23.477"
12
+ fill="#ffffff"
13
+ stroke="#00000000"
14
+ stroke-width="1"
15
+ />
16
+ </g>
17
+ <g>
18
+ <path
19
+ d="M 29.56 24.299 C 28.21 25.045 27.312 24.965 26.613 25.414 C 26.021 25.795 26.37 26.618 25.939 26.915 C 25.411 27.279 23.843 26.889 21.822 27.555 C 20.155 28.107 19.09 29.689 16.089 29.689 C 13.081 29.689 12.047 28.114 10.357 27.555 C 8.335 26.889 6.768 27.279 6.24 26.915 C 5.809 26.618 6.16 25.795 5.566 25.414 C 4.869 24.965 3.969 25.045 2.619 24.299 C 1.758 23.825 2.247 23.53 2.532 23.393 C 7.426 21.027 8.204 17.372 8.24 17.096 C 8.282 16.769 8.328 16.509 7.966 16.175 C 7.615 15.853 6.066 14.895 5.636 14.593 C 4.925 14.098 4.612 13.6 4.841 12.99 C 5 12.569 5.395 12.41 5.812 12.41 C 5.94 12.41 6.071 12.426 6.2 12.452 C 6.981 12.623 7.741 13.013 8.179 13.118 C 8.24 13.132 8.293 13.139 8.34 13.139 C 8.574 13.139 8.656 13.022 8.639 12.754 C 8.59 11.9 8.469 10.234 8.602 8.677 C 8.787 6.536 9.477 5.476 10.298 4.538 C 10.693 4.087 12.543 2.133 16.082 2.133 C 19.633 2.133 21.474 4.087 21.867 4.538 C 22.688 5.478 23.378 6.536 23.563 8.677 C 23.698 10.234 23.581 11.898 23.525 12.754 C 23.506 13.034 23.591 13.139 23.825 13.139 C 23.872 13.139 23.925 13.132 23.986 13.118 C 24.426 13.013 25.184 12.62 25.965 12.452 C 26.091 12.424 26.222 12.41 26.353 12.41 C 26.77 12.41 27.165 12.569 27.324 12.99 C 27.555 13.6 27.242 14.095 26.529 14.593 C 26.098 14.892 24.547 15.85 24.199 16.175 C 23.836 16.509 23.883 16.767 23.925 17.096 C 23.96 17.372 24.739 21.025 29.633 23.393 C 29.932 23.53 30.421 23.825 29.56 24.299 M 31.709 23.12 C 31.489 22.523 31.07 22.203 30.594 21.939 C 30.505 21.887 30.423 21.845 30.355 21.812 C 30.212 21.74 30.067 21.667 29.922 21.592 C 28.435 20.806 27.275 19.812 26.469 18.635 C 26.198 18.238 26.008 17.88 25.877 17.587 C 25.809 17.391 25.811 17.281 25.86 17.178 C 25.898 17.101 25.996 17.019 26.05 16.979 C 26.305 16.811 26.57 16.64 26.748 16.525 C 27.067 16.319 27.317 16.156 27.481 16.043 C 28.093 15.617 28.519 15.164 28.786 14.658 C 29.163 13.945 29.21 13.131 28.919 12.363 C 28.517 11.301 27.509 10.642 26.291 10.642 C 26.038 10.642 25.783 10.67 25.527 10.726 C 25.46 10.74 25.394 10.756 25.328 10.773 C 25.34 10.05 25.324 9.278 25.258 8.524 C 25.029 5.872 24.099 4.48 23.129 3.371 C 22.724 2.908 22.021 2.232 20.964 1.628 C 19.491 0.781 17.821 0.356 16 0.356 C 14.185 0.356 12.518 0.781 11.044 1.623 C 9.983 2.229 9.278 2.905 8.875 3.366 C 7.905 4.475 6.975 5.867 6.746 8.52 C 6.68 9.273 6.663 10.045 6.675 10.768 C 6.61 10.752 6.544 10.735 6.476 10.721 C 6.221 10.665 5.965 10.637 5.713 10.637 C 4.494 10.637 3.487 11.297 3.084 12.359 C 2.794 13.126 2.841 13.94 3.218 14.654 C 3.485 15.159 3.911 15.613 4.522 16.039 C 4.686 16.153 4.937 16.314 5.256 16.52 C 5.427 16.633 5.68 16.794 5.926 16.958 C 5.963 16.984 6.097 17.082 6.141 17.173 C 6.193 17.279 6.195 17.393 6.118 17.604 C 5.987 17.891 5.801 18.242 5.535 18.631 C 4.747 19.782 3.62 20.757 2.18 21.536 C 1.419 21.941 0.54 22.355 0.29 23.118 C 0.039 23.88 0.203 24.582 0.842 25.239 C 1.053 25.466 1.318 25.665 1.653 25.85 C 2.438 26.283 3.105 26.496 3.63 26.641 C 3.721 26.669 3.937 26.736 4.031 26.819 C 4.265 27.022 4.23 27.331 4.543 27.78 C 4.731 28.061 4.949 28.25 5.129 28.374 C 5.783 28.826 6.516 28.854 7.294 28.881 C 7.997 28.908 8.793 28.94 9.702 29.24 C 10.079 29.364 10.47 29.605 10.922 29.883 C 12.011 30.552 13.501 31.467 15.998 31.467 C 18.493 31.467 19.995 30.547 21.091 29.876 C 21.541 29.6 21.93 29.361 22.297 29.242 C 23.206 28.942 24.003 28.912 24.706 28.884 C 25.483 28.854 26.216 28.826 26.87 28.377 C 27.076 28.234 27.331 28.004 27.535 27.651 C 27.76 27.272 27.753 27.003 27.964 26.821 C 28.05 26.746 28.238 26.68 28.338 26.65 C 28.868 26.505 29.545 26.292 30.344 25.852 C 30.697 25.658 30.976 25.443 31.192 25.2 C 31.194 25.197 31.196 25.192 31.199 25.19 C 31.805 24.544 31.955 23.787 31.709 23.12"
20
+ fill="#000000"
21
+ stroke="#00000000"
22
+ stroke-width="1"
23
+ />
24
+ </g>
25
+ </svg>`;
26
+ function showTosDialog(title, titleText, body) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const result = yield showDialog({
29
+ container: document.body,
30
+ dataTestId: "tos-dialog",
31
+ lang: supportedLocale,
32
+ title,
33
+ titleText,
34
+ body,
35
+ dismissButtonText: localizedString("legalPromptReject"),
36
+ buttons: [
37
+ {
38
+ text: localizedString("legalPromptAccept"),
39
+ key: "accept",
40
+ },
41
+ ],
42
+ });
43
+ return result === "accept";
44
+ });
45
+ }
46
+ function showAdultOrChildDialog() {
47
+ return showDialog({
48
+ container: document.body,
49
+ dataTestId: "adult-or-child-dialog",
50
+ lang: supportedLocale,
51
+ title: localizedString("legalPromptVariantGAdultOrChild"),
52
+ buttons: [
53
+ {
54
+ text: localizedString("legalPromptVariantGAdult"),
55
+ key: "adult",
56
+ },
57
+ {
58
+ text: localizedString("legalPromptVariantGChild"),
59
+ key: "child",
60
+ },
61
+ ],
62
+ });
63
+ }
64
+ function showFindGuardianDialog() {
65
+ return showDialog({
66
+ container: document.body,
67
+ dataTestId: "find-guardian-dialog",
68
+ lang: supportedLocale,
69
+ title: localizedString("legalPromptVariantGFindYourParent"),
70
+ buttons: [
71
+ {
72
+ text: localizedString("legalPromptVariantGIAmGuardian"),
73
+ key: "guardian",
74
+ },
75
+ {
76
+ text: localizedString("legalPromptVariantGCancel"),
77
+ key: "cancel",
78
+ isSecondary: true,
79
+ },
80
+ ],
81
+ });
82
+ }
83
+ export const legalPromptFactory = Injectable("legalPrompt", () => {
84
+ return function legalPrompt(privacyPolicy, termsOfService, learnMore, childrenProtectionActRestricted) {
85
+ const legalMessage = childrenProtectionActRestricted
86
+ ? localizedString("legalPromptVariantGMessage")
87
+ : localizedString("legalPromptMessage")({
88
+ privacyPolicyUrl: privacyPolicy.webUrl,
89
+ termsOfServiceUrl: termsOfService.webUrl,
90
+ learnMoreUrl: learnMore.webUrl,
91
+ });
92
+ const legalTitleText = localizedString("legalPromptTermsOfService");
93
+ const legalTitle = childrenProtectionActRestricted ? legalTitleText : snapIcon;
94
+ return {
95
+ contentHash: computeHash(legalMessage),
96
+ show() {
97
+ return __awaiter(this, void 0, void 0, function* () {
98
+ if (!childrenProtectionActRestricted) {
99
+ return showTosDialog(legalTitle, legalTitleText, legalMessage);
100
+ }
101
+ while (true) {
102
+ const adultOrChild = yield showAdultOrChildDialog();
103
+ switch (adultOrChild) {
104
+ case "child": {
105
+ const findGuardian = yield showFindGuardianDialog();
106
+ switch (findGuardian) {
107
+ case "cancel":
108
+ continue;
109
+ case "guardian":
110
+ return showTosDialog(legalTitle, legalTitleText, legalMessage);
111
+ case "dismiss":
112
+ return false;
113
+ default:
114
+ assertUnreachable(findGuardian);
115
+ }
116
+ }
117
+ case "adult":
118
+ return showTosDialog(legalTitle, legalTitleText, legalMessage);
119
+ case "dismiss":
120
+ return false;
121
+ default:
122
+ assertUnreachable(adultOrChild);
123
+ }
124
+ }
125
+ });
126
+ },
127
+ };
128
+ };
129
+ });
130
+ //# sourceMappingURL=legalPrompt.js.map