@snap/camera-kit 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1222) hide show
  1. package/LICENSE.md +2 -2
  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 +155 -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/debugHandler.d.ts +9 -0
  252. package/dist/handlers/debugHandler.d.ts.map +1 -0
  253. package/dist/handlers/debugHandler.js +18 -0
  254. package/dist/handlers/debugHandler.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 +25 -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 +470 -0
  371. package/dist/lens-core-module/generated-types.d.ts.map +1 -0
  372. package/dist/lens-core-module/lensCore.d.ts +59 -0
  373. package/dist/lens-core-module/lensCore.d.ts.map +1 -0
  374. package/dist/lens-core-module/lensCore.js +95 -0
  375. package/dist/lens-core-module/lensCore.js.map +1 -0
  376. package/dist/lens-core-module/lensCoreError.d.ts +16 -0
  377. package/dist/lens-core-module/lensCoreError.d.ts.map +1 -0
  378. package/dist/lens-core-module/lensCoreError.js +35 -0
  379. package/dist/lens-core-module/lensCoreError.js.map +1 -0
  380. package/dist/lens-core-module/loader/bootstrapURLs.d.ts +13 -0
  381. package/dist/lens-core-module/loader/bootstrapURLs.d.ts.map +1 -0
  382. package/dist/lens-core-module/loader/bootstrapURLs.js +32 -0
  383. package/dist/lens-core-module/loader/bootstrapURLs.js.map +1 -0
  384. package/dist/lens-core-module/loader/lensCoreFactory.d.ts +18 -0
  385. package/dist/lens-core-module/loader/lensCoreFactory.d.ts.map +1 -0
  386. package/dist/lens-core-module/loader/lensCoreFactory.js +54 -0
  387. package/dist/lens-core-module/loader/lensCoreFactory.js.map +1 -0
  388. package/dist/lensCoreWasmVersions.d.ts +7 -0
  389. package/dist/lensCoreWasmVersions.d.ts.map +1 -0
  390. package/dist/lensCoreWasmVersions.js +6 -0
  391. package/dist/lensCoreWasmVersions.js.map +1 -0
  392. package/dist/logger/errorLoggingDecorator.d.ts +10 -0
  393. package/dist/logger/errorLoggingDecorator.d.ts.map +1 -0
  394. package/dist/logger/errorLoggingDecorator.js +19 -0
  395. package/dist/logger/errorLoggingDecorator.js.map +1 -0
  396. package/dist/logger/logEntries.d.ts +16 -0
  397. package/dist/logger/logEntries.d.ts.map +1 -0
  398. package/dist/logger/logEntries.js +4 -0
  399. package/dist/logger/logEntries.js.map +1 -0
  400. package/dist/logger/logger.d.ts +41 -0
  401. package/dist/logger/logger.d.ts.map +1 -0
  402. package/dist/logger/logger.js +27 -0
  403. package/dist/logger/logger.js.map +1 -0
  404. package/dist/logger/registerLogEntriesSubscriber.d.ts +15 -0
  405. package/dist/logger/registerLogEntriesSubscriber.d.ts.map +1 -0
  406. package/dist/logger/registerLogEntriesSubscriber.js +27 -0
  407. package/dist/logger/registerLogEntriesSubscriber.js.map +1 -0
  408. package/dist/media-sources/CameraKitSource.d.ts +130 -0
  409. package/dist/media-sources/CameraKitSource.d.ts.map +1 -0
  410. package/dist/media-sources/CameraKitSource.js +96 -0
  411. package/dist/media-sources/CameraKitSource.js.map +1 -0
  412. package/dist/media-sources/FunctionSource.d.ts +42 -0
  413. package/dist/media-sources/FunctionSource.d.ts.map +1 -0
  414. package/dist/media-sources/FunctionSource.js +105 -0
  415. package/dist/media-sources/FunctionSource.js.map +1 -0
  416. package/dist/media-sources/ImageSource.d.ts +13 -0
  417. package/dist/media-sources/ImageSource.d.ts.map +1 -0
  418. package/dist/media-sources/ImageSource.js +7 -0
  419. package/dist/media-sources/ImageSource.js.map +1 -0
  420. package/dist/media-sources/MediaStreamSource.d.ts +31 -0
  421. package/dist/media-sources/MediaStreamSource.d.ts.map +1 -0
  422. package/dist/media-sources/MediaStreamSource.js +140 -0
  423. package/dist/media-sources/MediaStreamSource.js.map +1 -0
  424. package/dist/media-sources/VideoSource.d.ts +27 -0
  425. package/dist/media-sources/VideoSource.d.ts.map +1 -0
  426. package/dist/media-sources/VideoSource.js +12 -0
  427. package/dist/media-sources/VideoSource.js.map +1 -0
  428. package/dist/metrics/businessEventsReporter.d.ts +40 -0
  429. package/dist/metrics/businessEventsReporter.d.ts.map +1 -0
  430. package/dist/metrics/businessEventsReporter.js +156 -0
  431. package/dist/metrics/businessEventsReporter.js.map +1 -0
  432. package/dist/metrics/metricsEventTarget.d.ts +42 -0
  433. package/dist/metrics/metricsEventTarget.d.ts.map +1 -0
  434. package/dist/metrics/metricsEventTarget.js +4 -0
  435. package/dist/metrics/metricsEventTarget.js.map +1 -0
  436. package/dist/metrics/operational/Count.d.ts +21 -0
  437. package/dist/metrics/operational/Count.d.ts.map +1 -0
  438. package/dist/metrics/operational/Count.js +31 -0
  439. package/dist/metrics/operational/Count.js.map +1 -0
  440. package/dist/metrics/operational/Histogram.d.ts +19 -0
  441. package/dist/metrics/operational/Histogram.d.ts.map +1 -0
  442. package/dist/metrics/operational/Histogram.js +26 -0
  443. package/dist/metrics/operational/Histogram.js.map +1 -0
  444. package/dist/metrics/operational/Metric.d.ts +21 -0
  445. package/dist/metrics/operational/Metric.d.ts.map +1 -0
  446. package/dist/metrics/operational/Metric.js +23 -0
  447. package/dist/metrics/operational/Metric.js.map +1 -0
  448. package/dist/metrics/operational/Timer.d.ts +96 -0
  449. package/dist/metrics/operational/Timer.d.ts.map +1 -0
  450. package/dist/metrics/operational/Timer.js +64 -0
  451. package/dist/metrics/operational/Timer.js.map +1 -0
  452. package/dist/metrics/reporters/reportBenchmarks.d.ts +11 -0
  453. package/dist/metrics/reporters/reportBenchmarks.d.ts.map +1 -0
  454. package/dist/metrics/reporters/reportBenchmarks.js +27 -0
  455. package/dist/metrics/reporters/reportBenchmarks.js.map +1 -0
  456. package/dist/metrics/reporters/reportGlobalException.d.ts +27 -0
  457. package/dist/metrics/reporters/reportGlobalException.d.ts.map +1 -0
  458. package/dist/metrics/reporters/reportGlobalException.js +82 -0
  459. package/dist/metrics/reporters/reportGlobalException.js.map +1 -0
  460. package/dist/metrics/reporters/reportHttpMetrics.d.ts +11 -0
  461. package/dist/metrics/reporters/reportHttpMetrics.d.ts.map +1 -0
  462. package/dist/metrics/reporters/reportHttpMetrics.js +107 -0
  463. package/dist/metrics/reporters/reportHttpMetrics.js.map +1 -0
  464. package/dist/metrics/reporters/reportLegalState.d.ts +16 -0
  465. package/dist/metrics/reporters/reportLegalState.d.ts.map +1 -0
  466. package/dist/metrics/reporters/reportLegalState.js +29 -0
  467. package/dist/metrics/reporters/reportLegalState.js.map +1 -0
  468. package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts +39 -0
  469. package/dist/metrics/reporters/reportLensAndAssetDownload.d.ts.map +1 -0
  470. package/dist/metrics/reporters/reportLensAndAssetDownload.js +91 -0
  471. package/dist/metrics/reporters/reportLensAndAssetDownload.js.map +1 -0
  472. package/dist/metrics/reporters/reportLensValidationFailed.d.ts +21 -0
  473. package/dist/metrics/reporters/reportLensValidationFailed.d.ts.map +1 -0
  474. package/dist/metrics/reporters/reportLensValidationFailed.js +21 -0
  475. package/dist/metrics/reporters/reportLensValidationFailed.js.map +1 -0
  476. package/dist/metrics/reporters/reportLensView.d.ts +37 -0
  477. package/dist/metrics/reporters/reportLensView.d.ts.map +1 -0
  478. package/dist/metrics/reporters/reportLensView.js +102 -0
  479. package/dist/metrics/reporters/reportLensView.js.map +1 -0
  480. package/dist/metrics/reporters/reportLensWait.d.ts +33 -0
  481. package/dist/metrics/reporters/reportLensWait.d.ts.map +1 -0
  482. package/dist/metrics/reporters/reportLensWait.js +35 -0
  483. package/dist/metrics/reporters/reportLensWait.js.map +1 -0
  484. package/dist/metrics/reporters/reportPlatformCapabilities.d.ts +13 -0
  485. package/dist/metrics/reporters/reportPlatformCapabilities.d.ts.map +1 -0
  486. package/dist/metrics/reporters/reportPlatformCapabilities.js +13 -0
  487. package/dist/metrics/reporters/reportPlatformCapabilities.js.map +1 -0
  488. package/dist/metrics/reporters/reportSessionException.d.ts +18 -0
  489. package/dist/metrics/reporters/reportSessionException.d.ts.map +1 -0
  490. package/dist/metrics/reporters/reportSessionException.js +7 -0
  491. package/dist/metrics/reporters/reportSessionException.js.map +1 -0
  492. package/dist/metrics/reporters/reportUserSession.d.ts +15 -0
  493. package/dist/metrics/reporters/reportUserSession.d.ts.map +1 -0
  494. package/dist/metrics/reporters/reportUserSession.js +61 -0
  495. package/dist/metrics/reporters/reportUserSession.js.map +1 -0
  496. package/dist/metrics/reporters/reporters.d.ts +47 -0
  497. package/dist/metrics/reporters/reporters.d.ts.map +1 -0
  498. package/dist/metrics/reporters/reporters.js +24 -0
  499. package/dist/metrics/reporters/reporters.js.map +1 -0
  500. package/dist/namedErrors.d.ts +131 -0
  501. package/dist/namedErrors.d.ts.map +1 -0
  502. package/dist/namedErrors.js +29 -0
  503. package/dist/namedErrors.js.map +1 -0
  504. package/dist/observable-operators/debounceTimeAfter.d.ts +26 -0
  505. package/dist/observable-operators/debounceTimeAfter.d.ts.map +1 -0
  506. package/dist/observable-operators/debounceTimeAfter.js +22 -0
  507. package/dist/observable-operators/debounceTimeAfter.js.map +1 -0
  508. package/dist/observable-operators/unsubscribed.d.ts +13 -0
  509. package/dist/observable-operators/unsubscribed.d.ts.map +1 -0
  510. package/dist/observable-operators/unsubscribed.js +15 -0
  511. package/dist/observable-operators/unsubscribed.js.map +1 -0
  512. package/dist/persistence/ExpiringPersistence.d.ts +22 -0
  513. package/dist/persistence/ExpiringPersistence.d.ts.map +1 -0
  514. package/dist/persistence/ExpiringPersistence.js +64 -0
  515. package/dist/persistence/ExpiringPersistence.js.map +1 -0
  516. package/dist/persistence/IndexedDBPersistence.d.ts +48 -0
  517. package/dist/persistence/IndexedDBPersistence.d.ts.map +1 -0
  518. package/dist/persistence/IndexedDBPersistence.js +127 -0
  519. package/dist/persistence/IndexedDBPersistence.js.map +1 -0
  520. package/dist/persistence/Persistence.d.ts +26 -0
  521. package/dist/persistence/Persistence.d.ts.map +1 -0
  522. package/dist/persistence/Persistence.js +4 -0
  523. package/dist/persistence/Persistence.js.map +1 -0
  524. package/dist/platform/assertPlatformSupported.d.ts +5 -0
  525. package/dist/platform/assertPlatformSupported.d.ts.map +1 -0
  526. package/dist/platform/assertPlatformSupported.js +12 -0
  527. package/dist/platform/assertPlatformSupported.js.map +1 -0
  528. package/dist/platform/cameraKitUserAgent.d.ts +3 -0
  529. package/dist/platform/cameraKitUserAgent.d.ts.map +1 -0
  530. package/dist/platform/cameraKitUserAgent.js +13 -0
  531. package/dist/platform/cameraKitUserAgent.js.map +1 -0
  532. package/dist/platform/platformCapabilities.d.ts +58 -0
  533. package/dist/platform/platformCapabilities.d.ts.map +1 -0
  534. package/dist/platform/platformCapabilities.js +98 -0
  535. package/dist/platform/platformCapabilities.js.map +1 -0
  536. package/dist/platform/platformInfo.d.ts +44 -0
  537. package/dist/platform/platformInfo.d.ts.map +1 -0
  538. package/dist/platform/platformInfo.js +156 -0
  539. package/dist/platform/platformInfo.js.map +1 -0
  540. package/dist/remote-configuration/cofHandler.d.ts +30 -0
  541. package/dist/remote-configuration/cofHandler.d.ts.map +1 -0
  542. package/dist/remote-configuration/cofHandler.js +83 -0
  543. package/dist/remote-configuration/cofHandler.js.map +1 -0
  544. package/dist/remote-configuration/preloadConfiguration.d.ts +8 -0
  545. package/dist/remote-configuration/preloadConfiguration.d.ts.map +1 -0
  546. package/dist/remote-configuration/preloadConfiguration.js.map +1 -0
  547. package/dist/remote-configuration/remoteConfiguration.d.ts +36 -0
  548. package/dist/remote-configuration/remoteConfiguration.d.ts.map +1 -0
  549. package/dist/remote-configuration/remoteConfiguration.js +59 -0
  550. package/dist/remote-configuration/remoteConfiguration.js.map +1 -0
  551. package/dist/session/CameraKitSession.d.ts +257 -0
  552. package/dist/session/CameraKitSession.d.ts.map +1 -0
  553. package/dist/session/CameraKitSession.js +242 -0
  554. package/dist/session/CameraKitSession.js.map +1 -0
  555. package/dist/session/CameraKitSessionEvents.d.ts +29 -0
  556. package/dist/session/CameraKitSessionEvents.d.ts.map +1 -0
  557. package/dist/session/CameraKitSessionEvents.js +15 -0
  558. package/dist/session/CameraKitSessionEvents.js.map +1 -0
  559. package/dist/session/LensKeyboard.d.ts +90 -0
  560. package/dist/session/LensKeyboard.d.ts.map +1 -0
  561. package/dist/session/LensKeyboard.js +89 -0
  562. package/dist/session/LensKeyboard.js.map +1 -0
  563. package/dist/session/LensPerformanceMeasurement.d.ts +58 -0
  564. package/dist/session/LensPerformanceMeasurement.d.ts.map +1 -0
  565. package/dist/session/LensPerformanceMeasurement.js +63 -0
  566. package/dist/session/LensPerformanceMeasurement.js.map +1 -0
  567. package/dist/session/LensPerformanceMetrics.d.ts +32 -0
  568. package/dist/session/LensPerformanceMetrics.d.ts.map +1 -0
  569. package/dist/session/LensPerformanceMetrics.js +39 -0
  570. package/dist/session/LensPerformanceMetrics.js.map +1 -0
  571. package/dist/session/lensState.d.ts +32 -0
  572. package/dist/session/lensState.d.ts.map +1 -0
  573. package/dist/session/lensState.js +194 -0
  574. package/dist/session/lensState.js.map +1 -0
  575. package/dist/session/sessionState.d.ts +11 -0
  576. package/dist/session/sessionState.d.ts.map +1 -0
  577. package/dist/session/sessionState.js.map +1 -0
  578. package/dist/transforms/Transform2D.d.ts +27 -0
  579. package/dist/transforms/Transform2D.d.ts.map +1 -0
  580. package/dist/transforms/Transform2D.js +13 -0
  581. package/dist/transforms/Transform2D.js.map +1 -0
  582. package/dist/utils.d.ts +4 -0
  583. package/dist/utils.d.ts.map +1 -0
  584. package/docs/html/assets/navigation.js +1 -1
  585. package/docs/html/assets/search.js +1 -1
  586. package/docs/html/classes/CameraKit.html +2 -2
  587. package/docs/html/classes/CameraKitSession.html +2 -2
  588. package/docs/html/classes/CameraKitSource.html +2 -2
  589. package/docs/html/classes/LensPerformanceMeasurement.html +2 -2
  590. package/docs/html/classes/LensPerformanceMetrics.html +2 -2
  591. package/docs/html/classes/LensRepository.html +3 -3
  592. package/docs/html/classes/Transform2D.html +2 -2
  593. package/docs/html/classes/TypedCustomEvent.html +2 -2
  594. package/docs/html/classes/TypedEventTarget.html +2 -2
  595. package/docs/html/enums/Lens_CameraFacing.html +2 -2
  596. package/docs/html/functions/ConcatInjectable.html +2 -2
  597. package/docs/html/functions/Injectable.html +2 -2
  598. package/docs/html/functions/bootstrapCameraKit.html +2 -2
  599. package/docs/html/functions/createExtension.html +2 -2
  600. package/docs/html/functions/createImageSource.html +2 -2
  601. package/docs/html/functions/createMediaStreamSource.html +2 -2
  602. package/docs/html/functions/createVideoSource.html +2 -2
  603. package/docs/html/functions/estimateLensPerformance.html +2 -2
  604. package/docs/html/functions/lensSourcesFactory.html +2 -2
  605. package/docs/html/functions/remoteApiServicesFactory.html +2 -2
  606. package/docs/html/hierarchy.html +1 -1
  607. package/docs/html/index.html +3 -3
  608. package/docs/html/interfaces/BitmojiUserInfo.html +3 -0
  609. package/docs/html/interfaces/CameraKitBootstrapConfiguration.html +2 -2
  610. package/docs/html/interfaces/CameraKitDeviceOptions.html +2 -2
  611. package/docs/html/interfaces/CameraKitSourceInfo.html +2 -2
  612. package/docs/html/interfaces/CameraKitSourceSubscriber.html +2 -2
  613. package/docs/html/interfaces/ComputedFrameMetrics.html +2 -2
  614. package/docs/html/interfaces/CreateSessionOptions.html +2 -2
  615. package/docs/html/interfaces/EstimatedLensPerformance.html +2 -2
  616. package/docs/html/interfaces/FriendUserInfo.html +4 -0
  617. package/docs/html/interfaces/FunctionSourceOptions.html +2 -2
  618. package/docs/html/interfaces/Lens.html +2 -2
  619. package/docs/html/interfaces/LensCreator.html +2 -2
  620. package/docs/html/interfaces/LensLaunchData.html +3 -3
  621. package/docs/html/interfaces/LensSource.html +2 -2
  622. package/docs/html/interfaces/LensUserData.html +10 -0
  623. package/docs/html/interfaces/LoadAssetRequest.html +2 -2
  624. package/docs/html/interfaces/MediaStreamSourceOptions.html +2 -2
  625. package/docs/html/interfaces/Preview.html +2 -2
  626. package/docs/html/interfaces/RemoteApiRequest.html +2 -2
  627. package/docs/html/interfaces/RemoteApiResponse.html +4 -4
  628. package/docs/html/interfaces/RemoteApiService.html +3 -3
  629. package/docs/html/interfaces/Snapcode.html +2 -2
  630. package/docs/html/interfaces/UriCancelRequest.html +2 -2
  631. package/docs/html/interfaces/UriRequest.html +2 -2
  632. package/docs/html/interfaces/UriResponse.html +2 -2
  633. package/docs/html/interfaces/VideoSourceOptions.html +2 -2
  634. package/docs/html/modules.html +7 -3
  635. package/docs/html/types/ArgumentValidationError.html +2 -0
  636. package/docs/html/types/AssetLoader.html +2 -2
  637. package/docs/html/types/AssetResponse.html +1 -1
  638. package/docs/html/types/AssetTiming.html +2 -2
  639. package/docs/html/types/BenchmarkError.html +1 -1
  640. package/docs/html/types/BootstrapError.html +2 -2
  641. package/docs/html/types/CacheKeyNotFoundError.html +1 -1
  642. package/docs/html/types/CameraKitSessionEventListener.html +2 -2
  643. package/docs/html/types/CameraKitSessionEvents.html +2 -2
  644. package/docs/html/types/CameraKitSourceError.html +1 -1
  645. package/docs/html/types/ConfigurationError.html +2 -2
  646. package/docs/html/types/FetchHandler.html +1 -1
  647. package/docs/html/types/Keyboard.html +2 -2
  648. package/docs/html/types/KeyboardEvents.html +2 -2
  649. package/docs/html/types/LegalError.html +1 -1
  650. package/docs/html/types/LensAbortError.html +2 -2
  651. package/docs/html/types/LensAssetError.html +2 -2
  652. package/docs/html/types/LensContentValidationError.html +1 -1
  653. package/docs/html/types/LensError.html +1 -1
  654. package/docs/html/types/LensExecutionError.html +2 -2
  655. package/docs/html/types/LensImagePickerError.html +2 -2
  656. package/docs/html/types/LensLaunchParams.html +2 -2
  657. package/docs/html/types/LensMetricsEvents.html +2 -2
  658. package/docs/html/types/LensPerformanceCluster.html +1 -1
  659. package/docs/html/types/LensView.html +2 -2
  660. package/docs/html/types/LensWait.html +2 -2
  661. package/docs/html/types/Matrix.html +2 -2
  662. package/docs/html/types/PersistentStoreError.html +2 -2
  663. package/docs/html/types/PlatformNotSupportedError.html +2 -2
  664. package/docs/html/types/PublicContainer.html +2 -2
  665. package/docs/html/types/PublicServices.html +2 -2
  666. package/docs/html/types/RemoteApiCancelRequestHandler.html +2 -2
  667. package/docs/html/types/RemoteApiRequestHandler.html +2 -2
  668. package/docs/html/types/RemoteApiServices.html +1 -1
  669. package/docs/html/types/RemoteApiStatus.html +2 -2
  670. package/docs/html/types/RenderTarget.html +2 -2
  671. package/docs/html/types/Uri.html +1 -1
  672. package/docs/html/types/WebGLError.html +1 -1
  673. package/docs/html/types/Zodiac.html +1 -0
  674. package/docs/html/variables/extensionRequestContext.html +2 -2
  675. package/docs/md/README.md +1 -1
  676. package/docs/md/classes/CameraKit.md +1 -1
  677. package/docs/md/classes/CameraKitSession.md +1 -1
  678. package/docs/md/classes/CameraKitSource.md +1 -1
  679. package/docs/md/classes/LensPerformanceMeasurement.md +1 -1
  680. package/docs/md/classes/LensPerformanceMetrics.md +1 -1
  681. package/docs/md/classes/LensRepository.md +2 -2
  682. package/docs/md/classes/Transform2D.md +1 -1
  683. package/docs/md/classes/TypedCustomEvent.md +1 -1
  684. package/docs/md/classes/TypedEventTarget.md +1 -1
  685. package/docs/md/enums/Lens_CameraFacing.md +1 -1
  686. package/docs/md/interfaces/BitmojiUserInfo.md +22 -0
  687. package/docs/md/interfaces/CameraKitBootstrapConfiguration.md +1 -1
  688. package/docs/md/interfaces/CameraKitDeviceOptions.md +1 -1
  689. package/docs/md/interfaces/CameraKitSourceInfo.md +1 -1
  690. package/docs/md/interfaces/CameraKitSourceSubscriber.md +1 -1
  691. package/docs/md/interfaces/ComputedFrameMetrics.md +1 -1
  692. package/docs/md/interfaces/CreateSessionOptions.md +1 -1
  693. package/docs/md/interfaces/EstimatedLensPerformance.md +1 -1
  694. package/docs/md/interfaces/FriendUserInfo.md +29 -0
  695. package/docs/md/interfaces/FunctionSourceOptions.md +1 -1
  696. package/docs/md/interfaces/Lens.md +1 -1
  697. package/docs/md/interfaces/LensCreator.md +1 -1
  698. package/docs/md/interfaces/LensLaunchData.md +2 -21
  699. package/docs/md/interfaces/LensSource.md +1 -1
  700. package/docs/md/interfaces/LensUserData.md +71 -0
  701. package/docs/md/interfaces/LoadAssetRequest.md +1 -1
  702. package/docs/md/interfaces/MediaStreamSourceOptions.md +1 -1
  703. package/docs/md/interfaces/Preview.md +1 -1
  704. package/docs/md/interfaces/RemoteApiRequest.md +1 -1
  705. package/docs/md/interfaces/RemoteApiResponse.md +2 -2
  706. package/docs/md/interfaces/RemoteApiService.md +2 -2
  707. package/docs/md/interfaces/Snapcode.md +1 -1
  708. package/docs/md/interfaces/UriCancelRequest.md +1 -1
  709. package/docs/md/interfaces/UriRequest.md +1 -1
  710. package/docs/md/interfaces/UriResponse.md +1 -1
  711. package/docs/md/interfaces/VideoSourceOptions.md +1 -1
  712. package/docs/md/modules.md +23 -5
  713. package/package.json +14 -12
  714. package/docs/html/enums/UserData_Zodiac.html +0 -15
  715. package/docs/md/enums/UserData_Zodiac.md +0 -106
  716. package/lib/CameraKit.d.ts +0 -333
  717. package/lib/CameraKit.js +0 -176
  718. package/lib/CameraKit.js.map +0 -1
  719. package/lib/__tests__/data.d.ts +0 -14
  720. package/lib/__tests__/data.js +0 -69
  721. package/lib/__tests__/data.js.map +0 -1
  722. package/lib/__tests__/deferred.d.ts +0 -16
  723. package/lib/__tests__/deferred.js +0 -29
  724. package/lib/__tests__/deferred.js.map +0 -1
  725. package/lib/__tests__/jest.matchers.d.ts +0 -17
  726. package/lib/__tests__/jest.matchers.js +0 -67
  727. package/lib/__tests__/jest.matchers.js.map +0 -1
  728. package/lib/benchmark/benchmarkGflops.d.ts +0 -16
  729. package/lib/benchmark/benchmarkGflops.js +0 -129
  730. package/lib/benchmark/benchmarkGflops.js.map +0 -1
  731. package/lib/benchmark/estimateLensPerformanceCluster.d.ts +0 -33
  732. package/lib/benchmark/estimateLensPerformanceCluster.js +0 -48
  733. package/lib/benchmark/estimateLensPerformanceCluster.js.map +0 -1
  734. package/lib/benchmark/webglUtils.d.ts +0 -7
  735. package/lib/bootstrapCameraKit.d.ts +0 -96
  736. package/lib/bootstrapCameraKit.js +0 -222
  737. package/lib/bootstrapCameraKit.js.map +0 -1
  738. package/lib/clients/createTsProtoClient.d.ts +0 -40
  739. package/lib/clients/createTsProtoClient.js +0 -52
  740. package/lib/clients/createTsProtoClient.js.map +0 -1
  741. package/lib/clients/grpcHandler.d.ts +0 -26
  742. package/lib/clients/grpcHandler.js +0 -90
  743. package/lib/clients/grpcHandler.js.map +0 -1
  744. package/lib/clients/lensesClient.d.ts +0 -9
  745. package/lib/clients/lensesClient.js.map +0 -1
  746. package/lib/clients/metricsClient.d.ts +0 -26
  747. package/lib/clients/metricsClient.js +0 -120
  748. package/lib/clients/metricsClient.js.map +0 -1
  749. package/lib/common/__mocks__/loadScript.d.ts +0 -1
  750. package/lib/common/__mocks__/loadScript.js +0 -10
  751. package/lib/common/__mocks__/loadScript.js.map +0 -1
  752. package/lib/common/assertions.d.ts +0 -27
  753. package/lib/common/assertions.js +0 -39
  754. package/lib/common/assertions.js.map +0 -1
  755. package/lib/common/copyDefinedProperties.d.ts +0 -13
  756. package/lib/common/copyDefinedProperties.js +0 -16
  757. package/lib/common/copyDefinedProperties.js.map +0 -1
  758. package/lib/common/date.d.ts +0 -3
  759. package/lib/common/dialog.d.ts +0 -59
  760. package/lib/common/dialog.js +0 -160
  761. package/lib/common/dialog.js.map +0 -1
  762. package/lib/common/entries.d.ts +0 -4
  763. package/lib/common/entries.js +0 -5
  764. package/lib/common/entries.js.map +0 -1
  765. package/lib/common/errorHelpers.d.ts +0 -10
  766. package/lib/common/errorHelpers.js +0 -24
  767. package/lib/common/errorHelpers.js.map +0 -1
  768. package/lib/common/getFilename.d.ts +0 -1
  769. package/lib/common/hash.d.ts +0 -5
  770. package/lib/common/hash.js +0 -17
  771. package/lib/common/hash.js.map +0 -1
  772. package/lib/common/loadScript.d.ts +0 -6
  773. package/lib/common/loadScript.js +0 -18
  774. package/lib/common/loadScript.js.map +0 -1
  775. package/lib/common/localization.d.ts +0 -54
  776. package/lib/common/localization.js +0 -654
  777. package/lib/common/localization.js.map +0 -1
  778. package/lib/common/memoize.d.ts +0 -8
  779. package/lib/common/pageVisibility.d.ts +0 -34
  780. package/lib/common/pageVisibility.js +0 -71
  781. package/lib/common/pageVisibility.js.map +0 -1
  782. package/lib/common/result.d.ts +0 -36
  783. package/lib/common/result.js +0 -40
  784. package/lib/common/result.js.map +0 -1
  785. package/lib/common/time.d.ts +0 -2
  786. package/lib/common/typeguards.d.ts +0 -53
  787. package/lib/common/typeguards.js +0 -92
  788. package/lib/common/typeguards.js.map +0 -1
  789. package/lib/common/types.d.ts +0 -18
  790. package/lib/common/types.js.map +0 -1
  791. package/lib/common/unionBy.d.ts +0 -28
  792. package/lib/common/unionBy.js +0 -46
  793. package/lib/common/unionBy.js.map +0 -1
  794. package/lib/common/validate.d.ts +0 -14
  795. package/lib/common/validate.js +0 -112
  796. package/lib/common/validate.js.map +0 -1
  797. package/lib/configuration.d.ts +0 -101
  798. package/lib/configuration.js +0 -51
  799. package/lib/configuration.js.map +0 -1
  800. package/lib/configurationOverrides.d.ts +0 -12
  801. package/lib/configurationOverrides.js +0 -46
  802. package/lib/configurationOverrides.js.map +0 -1
  803. package/lib/dependency-injection/Container.d.ts +0 -176
  804. package/lib/dependency-injection/Container.js +0 -160
  805. package/lib/dependency-injection/Container.js.map +0 -1
  806. package/lib/dependency-injection/Injectable.d.ts +0 -95
  807. package/lib/dependency-injection/Injectable.js.map +0 -1
  808. package/lib/dependency-injection/PartialContainer.d.ts +0 -85
  809. package/lib/dependency-injection/PartialContainer.js +0 -85
  810. package/lib/dependency-injection/PartialContainer.js.map +0 -1
  811. package/lib/dependency-injection/RootServices.d.ts +0 -73
  812. package/lib/dependency-injection/RootServices.js +0 -2
  813. package/lib/dependency-injection/RootServices.js.map +0 -1
  814. package/lib/dependency-injection/types.d.ts +0 -56
  815. package/lib/dependency-injection/types.js.map +0 -1
  816. package/lib/environment.d.ts +0 -4
  817. package/lib/environment.js +0 -2
  818. package/lib/environment.js.map +0 -1
  819. package/lib/events/TypedCustomEvent.d.ts +0 -10
  820. package/lib/events/TypedCustomEvent.js +0 -11
  821. package/lib/events/TypedCustomEvent.js.map +0 -1
  822. package/lib/events/TypedEventTarget.d.ts +0 -25
  823. package/lib/events/TypedEventTarget.js +0 -57
  824. package/lib/events/TypedEventTarget.js.map +0 -1
  825. package/lib/events/scan.d.ts +0 -15
  826. package/lib/events/scan.js +0 -46
  827. package/lib/events/scan.js.map +0 -1
  828. package/lib/extensions/RemoteApiServices.d.ts +0 -101
  829. package/lib/extensions/RemoteApiServices.js +0 -203
  830. package/lib/extensions/RemoteApiServices.js.map +0 -1
  831. package/lib/extensions/UriHandlers.d.ts +0 -47
  832. package/lib/extensions/UriHandlers.js +0 -38
  833. package/lib/extensions/UriHandlers.js.map +0 -1
  834. package/lib/extensions/extensionRequestContext.d.ts +0 -4
  835. package/lib/extensions/extensionRequestContext.js +0 -14
  836. package/lib/extensions/extensionRequestContext.js.map +0 -1
  837. package/lib/extensions/uriHandlersRegister.d.ts +0 -21
  838. package/lib/extensions/uriHandlersRegister.js +0 -72
  839. package/lib/extensions/uriHandlersRegister.js.map +0 -1
  840. package/lib/generated-proto/blizzard/cameraKitEvents.d.ts +0 -9527
  841. package/lib/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +0 -79
  842. package/lib/generated-proto/pb_schema/camera_kit/v3/export.d.ts +0 -528
  843. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +0 -34
  844. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +0 -43
  845. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +0 -1
  846. package/lib/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +0 -29
  847. package/lib/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +0 -85
  848. package/lib/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +0 -384
  849. package/lib/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +0 -178
  850. package/lib/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +0 -56
  851. package/lib/generated-proto/pb_schema/camera_kit/v3/service.d.ts +0 -2511
  852. package/lib/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +0 -78
  853. package/lib/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +0 -50
  854. package/lib/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +0 -25574
  855. package/lib/generated-proto/pb_schema/cdp/cof/config_request.d.ts +0 -279
  856. package/lib/generated-proto/pb_schema/cdp/cof/config_response.d.ts +0 -3725
  857. package/lib/generated-proto/pb_schema/cdp/cof/config_result.d.ts +0 -10223
  858. package/lib/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +0 -93
  859. package/lib/generated-proto/pb_schema/cdp/cof/namespace.d.ts +0 -8
  860. package/lib/generated-proto/pb_schema/common/ruid.d.ts +0 -51
  861. package/lib/generated-proto/pb_schema/common/value.d.ts +0 -144
  862. package/lib/generated-proto/pb_schema/google/api/annotations.d.ts +0 -1
  863. package/lib/generated-proto/pb_schema/google/api/annotations.js +0 -9
  864. package/lib/generated-proto/pb_schema/google/api/annotations.js.map +0 -1
  865. package/lib/generated-proto/pb_schema/google/api/http.d.ts +0 -3630
  866. package/lib/generated-proto/pb_schema/google/api/http.js +0 -194
  867. package/lib/generated-proto/pb_schema/google/api/http.js.map +0 -1
  868. package/lib/generated-proto/pb_schema/google/protobuf/any.d.ts +0 -32
  869. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +0 -50896
  870. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js +0 -1857
  871. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js.map +0 -1
  872. package/lib/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +0 -32
  873. package/lib/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +0 -119
  874. package/lib/generated-proto/pb_schema/lenses/geocircle.d.ts +0 -42
  875. package/lib/generated-proto/pb_schema/lenses/geopoint.d.ts +0 -32
  876. package/lib/generated-proto/pb_schema/lenses/launch_params.d.ts +0 -29
  877. package/lib/generated-proto/pb_schema/lenses/launchdata.d.ts +0 -396
  878. package/lib/generated-proto/pb_schema/lenses/lures.d.ts +0 -111
  879. package/lib/generated-proto/pb_schema/lenses/persistent_store.d.ts +0 -29
  880. package/lib/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +0 -569
  881. package/lib/generated-proto/pb_schema/lenses/snappable.d.ts +0 -902
  882. package/lib/generated-proto/pb_schema/lenses/user_data.d.ts +0 -229
  883. package/lib/handlers/HandlerChainBuilder.d.ts +0 -110
  884. package/lib/handlers/HandlerChainBuilder.js +0 -199
  885. package/lib/handlers/HandlerChainBuilder.js.map +0 -1
  886. package/lib/handlers/arrayBufferParsingHandler.d.ts +0 -10
  887. package/lib/handlers/arrayBufferParsingHandler.js +0 -18
  888. package/lib/handlers/arrayBufferParsingHandler.js.map +0 -1
  889. package/lib/handlers/batchingHandler.d.ts +0 -31
  890. package/lib/handlers/batchingHandler.js +0 -76
  891. package/lib/handlers/batchingHandler.js.map +0 -1
  892. package/lib/handlers/cameraKitServiceFetchHandlerFactory.d.ts +0 -12
  893. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js +0 -19
  894. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js.map +0 -1
  895. package/lib/handlers/debugHandler.d.ts +0 -8
  896. package/lib/handlers/debugHandler.js +0 -27
  897. package/lib/handlers/debugHandler.js.map +0 -1
  898. package/lib/handlers/defaultFetchHandler.d.ts +0 -15
  899. package/lib/handlers/defaultFetchHandler.js +0 -38
  900. package/lib/handlers/defaultFetchHandler.js.map +0 -1
  901. package/lib/handlers/headersModifyingFetchHandler.d.ts +0 -8
  902. package/lib/handlers/headersModifyingFetchHandler.js +0 -17
  903. package/lib/handlers/headersModifyingFetchHandler.js.map +0 -1
  904. package/lib/handlers/mappingHandler.d.ts +0 -19
  905. package/lib/handlers/mappingHandler.js +0 -67
  906. package/lib/handlers/mappingHandler.js.map +0 -1
  907. package/lib/handlers/noCorsRetryingFetchHandler.d.ts +0 -48
  908. package/lib/handlers/noCorsRetryingFetchHandler.js +0 -95
  909. package/lib/handlers/noCorsRetryingFetchHandler.js.map +0 -1
  910. package/lib/handlers/persistingHandler.d.ts +0 -14
  911. package/lib/handlers/persistingHandler.js +0 -71
  912. package/lib/handlers/persistingHandler.js.map +0 -1
  913. package/lib/handlers/rateLimitingHandler.d.ts +0 -24
  914. package/lib/handlers/rateLimitingHandler.js +0 -45
  915. package/lib/handlers/rateLimitingHandler.js.map +0 -1
  916. package/lib/handlers/requestStateEmittingHandler.d.ts +0 -41
  917. package/lib/handlers/requestStateEmittingHandler.js +0 -45
  918. package/lib/handlers/requestStateEmittingHandler.js.map +0 -1
  919. package/lib/handlers/responseCachingHandler.d.ts +0 -34
  920. package/lib/handlers/responseCachingHandler.js +0 -109
  921. package/lib/handlers/responseCachingHandler.js.map +0 -1
  922. package/lib/handlers/retryingHandler.d.ts +0 -48
  923. package/lib/handlers/retryingHandler.js +0 -86
  924. package/lib/handlers/retryingHandler.js.map +0 -1
  925. package/lib/handlers/timeoutHandler.d.ts +0 -18
  926. package/lib/handlers/timeoutHandler.js +0 -30
  927. package/lib/handlers/timeoutHandler.js.map +0 -1
  928. package/lib/handlers/utils.d.ts +0 -12
  929. package/lib/handlers/utils.js +0 -19
  930. package/lib/handlers/utils.js.map +0 -1
  931. package/lib/index.d.ts +0 -42
  932. package/lib/index.js +0 -36
  933. package/lib/index.js.map +0 -1
  934. package/lib/legal/legalPrompt.d.ts +0 -20
  935. package/lib/legal/legalPrompt.js +0 -135
  936. package/lib/legal/legalPrompt.js.map +0 -1
  937. package/lib/legal/legalState.d.ts +0 -50
  938. package/lib/legal/legalState.js +0 -163
  939. package/lib/legal/legalState.js.map +0 -1
  940. package/lib/lens/Lens.d.ts +0 -115
  941. package/lib/lens/Lens.js +0 -84
  942. package/lib/lens/Lens.js.map +0 -1
  943. package/lib/lens/LensLaunchData.d.ts +0 -40
  944. package/lib/lens/LensLaunchData.js +0 -37
  945. package/lib/lens/LensLaunchData.js.map +0 -1
  946. package/lib/lens/LensPersistenceStore.d.ts +0 -7
  947. package/lib/lens/LensPersistenceStore.js.map +0 -1
  948. package/lib/lens/LensRepository.d.ts +0 -137
  949. package/lib/lens/LensRepository.js +0 -237
  950. package/lib/lens/LensRepository.js.map +0 -1
  951. package/lib/lens/LensSource.d.ts +0 -43
  952. package/lib/lens/LensSource.js +0 -42
  953. package/lib/lens/LensSource.js.map +0 -1
  954. package/lib/lens/assets/LensAssetRepository.d.ts +0 -99
  955. package/lib/lens/assets/LensAssetRepository.js +0 -184
  956. package/lib/lens/assets/LensAssetRepository.js.map +0 -1
  957. package/lib/lens/assets/LensAssetsProvider.d.ts +0 -27
  958. package/lib/lens/assets/LensAssetsProvider.js +0 -68
  959. package/lib/lens/assets/LensAssetsProvider.js.map +0 -1
  960. package/lib/lens/assets/deviceDependentAssetLoader.d.ts +0 -11
  961. package/lib/lens/assets/deviceDependentAssetLoader.js +0 -59
  962. package/lib/lens/assets/deviceDependentAssetLoader.js.map +0 -1
  963. package/lib/lens/assets/remoteMediaAssetLoaderFactory.d.ts +0 -10
  964. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js +0 -27
  965. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js.map +0 -1
  966. package/lib/lens/assets/staticAssetLoader.d.ts +0 -10
  967. package/lib/lens/assets/staticAssetLoader.js +0 -25
  968. package/lib/lens/assets/staticAssetLoader.js.map +0 -1
  969. package/lib/lens/cameraKitLensSource.d.ts +0 -17
  970. package/lib/lens/cameraKitLensSource.js +0 -104
  971. package/lib/lens/cameraKitLensSource.js.map +0 -1
  972. package/lib/lens/fetchWatermarkLens.d.ts +0 -11
  973. package/lib/lens/fetchWatermarkLens.js +0 -27
  974. package/lib/lens/fetchWatermarkLens.js.map +0 -1
  975. package/lib/lens-client-interface/exif.d.ts +0 -20
  976. package/lib/lens-client-interface/exif.js +0 -61
  977. package/lib/lens-client-interface/exif.js.map +0 -1
  978. package/lib/lens-client-interface/imagePicker.d.ts +0 -8
  979. package/lib/lens-client-interface/imagePicker.js +0 -128
  980. package/lib/lens-client-interface/imagePicker.js.map +0 -1
  981. package/lib/lens-client-interface/lensClientInterface.d.ts +0 -13
  982. package/lib/lens-client-interface/lensClientInterface.js +0 -30
  983. package/lib/lens-client-interface/lensClientInterface.js.map +0 -1
  984. package/lib/lens-core-module/generated-types.d.ts +0 -469
  985. package/lib/lens-core-module/lensCore.d.ts +0 -43
  986. package/lib/lens-core-module/lensCore.js +0 -59
  987. package/lib/lens-core-module/lensCore.js.map +0 -1
  988. package/lib/lens-core-module/lensCoreError.d.ts +0 -15
  989. package/lib/lens-core-module/lensCoreError.js +0 -43
  990. package/lib/lens-core-module/lensCoreError.js.map +0 -1
  991. package/lib/lens-core-module/loader/bootstrapURLs.d.ts +0 -12
  992. package/lib/lens-core-module/loader/bootstrapURLs.js +0 -48
  993. package/lib/lens-core-module/loader/bootstrapURLs.js.map +0 -1
  994. package/lib/lens-core-module/loader/lensCoreFactory.d.ts +0 -17
  995. package/lib/lens-core-module/loader/lensCoreFactory.js +0 -76
  996. package/lib/lens-core-module/loader/lensCoreFactory.js.map +0 -1
  997. package/lib/lensCoreWasmVersions.d.ts +0 -6
  998. package/lib/lensCoreWasmVersions.js +0 -6
  999. package/lib/lensCoreWasmVersions.js.map +0 -1
  1000. package/lib/logger/errorLoggingDecorator.d.ts +0 -9
  1001. package/lib/logger/errorLoggingDecorator.js +0 -32
  1002. package/lib/logger/errorLoggingDecorator.js.map +0 -1
  1003. package/lib/logger/logEntries.d.ts +0 -15
  1004. package/lib/logger/logEntries.js +0 -14
  1005. package/lib/logger/logEntries.js.map +0 -1
  1006. package/lib/logger/logger.d.ts +0 -40
  1007. package/lib/logger/logger.js +0 -53
  1008. package/lib/logger/logger.js.map +0 -1
  1009. package/lib/logger/registerLogEntriesSubscriber.d.ts +0 -14
  1010. package/lib/logger/registerLogEntriesSubscriber.js +0 -35
  1011. package/lib/logger/registerLogEntriesSubscriber.js.map +0 -1
  1012. package/lib/media-sources/CameraKitSource.d.ts +0 -126
  1013. package/lib/media-sources/CameraKitSource.js +0 -138
  1014. package/lib/media-sources/CameraKitSource.js.map +0 -1
  1015. package/lib/media-sources/FunctionSource.d.ts +0 -41
  1016. package/lib/media-sources/FunctionSource.js +0 -128
  1017. package/lib/media-sources/FunctionSource.js.map +0 -1
  1018. package/lib/media-sources/ImageSource.d.ts +0 -11
  1019. package/lib/media-sources/ImageSource.js +0 -16
  1020. package/lib/media-sources/ImageSource.js.map +0 -1
  1021. package/lib/media-sources/MediaStreamSource.d.ts +0 -29
  1022. package/lib/media-sources/MediaStreamSource.js +0 -137
  1023. package/lib/media-sources/MediaStreamSource.js.map +0 -1
  1024. package/lib/media-sources/VideoSource.d.ts +0 -25
  1025. package/lib/media-sources/VideoSource.js +0 -22
  1026. package/lib/media-sources/VideoSource.js.map +0 -1
  1027. package/lib/metrics/businessEventsReporter.d.ts +0 -39
  1028. package/lib/metrics/businessEventsReporter.js +0 -195
  1029. package/lib/metrics/businessEventsReporter.js.map +0 -1
  1030. package/lib/metrics/metricsEventTarget.d.ts +0 -41
  1031. package/lib/metrics/metricsEventTarget.js +0 -11
  1032. package/lib/metrics/metricsEventTarget.js.map +0 -1
  1033. package/lib/metrics/operational/Count.d.ts +0 -19
  1034. package/lib/metrics/operational/Count.js +0 -33
  1035. package/lib/metrics/operational/Count.js.map +0 -1
  1036. package/lib/metrics/operational/Histogram.d.ts +0 -17
  1037. package/lib/metrics/operational/Histogram.js +0 -27
  1038. package/lib/metrics/operational/Histogram.js.map +0 -1
  1039. package/lib/metrics/operational/Metric.d.ts +0 -20
  1040. package/lib/metrics/operational/Metric.js +0 -28
  1041. package/lib/metrics/operational/Metric.js.map +0 -1
  1042. package/lib/metrics/operational/Timer.d.ts +0 -94
  1043. package/lib/metrics/operational/Timer.js +0 -108
  1044. package/lib/metrics/operational/Timer.js.map +0 -1
  1045. package/lib/metrics/reporters/reportBenchmarks.d.ts +0 -10
  1046. package/lib/metrics/reporters/reportBenchmarks.js +0 -30
  1047. package/lib/metrics/reporters/reportBenchmarks.js.map +0 -1
  1048. package/lib/metrics/reporters/reportGlobalException.d.ts +0 -26
  1049. package/lib/metrics/reporters/reportGlobalException.js +0 -106
  1050. package/lib/metrics/reporters/reportGlobalException.js.map +0 -1
  1051. package/lib/metrics/reporters/reportHttpMetrics.d.ts +0 -10
  1052. package/lib/metrics/reporters/reportHttpMetrics.js +0 -110
  1053. package/lib/metrics/reporters/reportHttpMetrics.js.map +0 -1
  1054. package/lib/metrics/reporters/reportLegalState.d.ts +0 -15
  1055. package/lib/metrics/reporters/reportLegalState.js +0 -32
  1056. package/lib/metrics/reporters/reportLegalState.js.map +0 -1
  1057. package/lib/metrics/reporters/reportLensAndAssetDownload.d.ts +0 -38
  1058. package/lib/metrics/reporters/reportLensAndAssetDownload.js +0 -92
  1059. package/lib/metrics/reporters/reportLensAndAssetDownload.js.map +0 -1
  1060. package/lib/metrics/reporters/reportLensValidationFailed.d.ts +0 -20
  1061. package/lib/metrics/reporters/reportLensValidationFailed.js +0 -24
  1062. package/lib/metrics/reporters/reportLensValidationFailed.js.map +0 -1
  1063. package/lib/metrics/reporters/reportLensView.d.ts +0 -36
  1064. package/lib/metrics/reporters/reportLensView.js +0 -137
  1065. package/lib/metrics/reporters/reportLensView.js.map +0 -1
  1066. package/lib/metrics/reporters/reportLensWait.d.ts +0 -32
  1067. package/lib/metrics/reporters/reportLensWait.js +0 -60
  1068. package/lib/metrics/reporters/reportLensWait.js.map +0 -1
  1069. package/lib/metrics/reporters/reportPlatformCapabilities.d.ts +0 -12
  1070. package/lib/metrics/reporters/reportPlatformCapabilities.js +0 -19
  1071. package/lib/metrics/reporters/reportPlatformCapabilities.js.map +0 -1
  1072. package/lib/metrics/reporters/reportSessionException.d.ts +0 -17
  1073. package/lib/metrics/reporters/reportSessionException.js +0 -12
  1074. package/lib/metrics/reporters/reportSessionException.js.map +0 -1
  1075. package/lib/metrics/reporters/reportUserSession.d.ts +0 -14
  1076. package/lib/metrics/reporters/reportUserSession.js +0 -66
  1077. package/lib/metrics/reporters/reportUserSession.js.map +0 -1
  1078. package/lib/metrics/reporters/reporters.d.ts +0 -46
  1079. package/lib/metrics/reporters/reporters.js +0 -35
  1080. package/lib/metrics/reporters/reporters.js.map +0 -1
  1081. package/lib/namedErrors.d.ts +0 -124
  1082. package/lib/namedErrors.js +0 -58
  1083. package/lib/namedErrors.js.map +0 -1
  1084. package/lib/observable-operators/unsubscribed.d.ts +0 -12
  1085. package/lib/observable-operators/unsubscribed.js +0 -27
  1086. package/lib/observable-operators/unsubscribed.js.map +0 -1
  1087. package/lib/persistence/ExpiringPersistence.d.ts +0 -21
  1088. package/lib/persistence/ExpiringPersistence.js +0 -71
  1089. package/lib/persistence/ExpiringPersistence.js.map +0 -1
  1090. package/lib/persistence/IndexedDBPersistence.d.ts +0 -47
  1091. package/lib/persistence/IndexedDBPersistence.js +0 -190
  1092. package/lib/persistence/IndexedDBPersistence.js.map +0 -1
  1093. package/lib/persistence/Persistence.d.ts +0 -25
  1094. package/lib/persistence/Persistence.js +0 -10
  1095. package/lib/persistence/Persistence.js.map +0 -1
  1096. package/lib/platform/assertPlatformSupported.d.ts +0 -4
  1097. package/lib/platform/assertPlatformSupported.js +0 -15
  1098. package/lib/platform/assertPlatformSupported.js.map +0 -1
  1099. package/lib/platform/cameraKitUserAgent.d.ts +0 -2
  1100. package/lib/platform/cameraKitUserAgent.js +0 -20
  1101. package/lib/platform/cameraKitUserAgent.js.map +0 -1
  1102. package/lib/platform/platformCapabilities.d.ts +0 -50
  1103. package/lib/platform/platformCapabilities.js +0 -128
  1104. package/lib/platform/platformCapabilities.js.map +0 -1
  1105. package/lib/platform/platformInfo.d.ts +0 -43
  1106. package/lib/platform/platformInfo.js +0 -228
  1107. package/lib/platform/platformInfo.js.map +0 -1
  1108. package/lib/remote-configuration/cofHandler.d.ts +0 -29
  1109. package/lib/remote-configuration/cofHandler.js +0 -115
  1110. package/lib/remote-configuration/cofHandler.js.map +0 -1
  1111. package/lib/remote-configuration/preloadConfiguration.d.ts +0 -7
  1112. package/lib/remote-configuration/preloadConfiguration.js.map +0 -1
  1113. package/lib/remote-configuration/remoteConfiguration.d.ts +0 -34
  1114. package/lib/remote-configuration/remoteConfiguration.js +0 -73
  1115. package/lib/remote-configuration/remoteConfiguration.js.map +0 -1
  1116. package/lib/session/CameraKitSession.d.ts +0 -255
  1117. package/lib/session/CameraKitSession.js +0 -440
  1118. package/lib/session/CameraKitSession.js.map +0 -1
  1119. package/lib/session/CameraKitSessionEvents.d.ts +0 -37
  1120. package/lib/session/CameraKitSessionEvents.js +0 -38
  1121. package/lib/session/CameraKitSessionEvents.js.map +0 -1
  1122. package/lib/session/LensKeyboard.d.ts +0 -89
  1123. package/lib/session/LensKeyboard.js +0 -95
  1124. package/lib/session/LensKeyboard.js.map +0 -1
  1125. package/lib/session/LensPerformanceMeasurement.d.ts +0 -57
  1126. package/lib/session/LensPerformanceMeasurement.js +0 -114
  1127. package/lib/session/LensPerformanceMeasurement.js.map +0 -1
  1128. package/lib/session/LensPerformanceMetrics.d.ts +0 -31
  1129. package/lib/session/LensPerformanceMetrics.js +0 -59
  1130. package/lib/session/LensPerformanceMetrics.js.map +0 -1
  1131. package/lib/session/lensState.d.ts +0 -31
  1132. package/lib/session/lensState.js +0 -261
  1133. package/lib/session/lensState.js.map +0 -1
  1134. package/lib/session/sessionState.d.ts +0 -10
  1135. package/lib/session/sessionState.js.map +0 -1
  1136. package/lib/transforms/Transform2D.d.ts +0 -22
  1137. package/lib/transforms/Transform2D.js +0 -19
  1138. package/lib/transforms/Transform2D.js.map +0 -1
  1139. package/lib/utils.d.ts +0 -3
  1140. /package/{lib → dist}/benchmark/webglUtils.js +0 -0
  1141. /package/{lib → dist}/benchmark/webglUtils.js.map +0 -0
  1142. /package/{lib → dist}/clients/lensesClient.js +0 -0
  1143. /package/{lib → dist}/common/date.js +0 -0
  1144. /package/{lib → dist}/common/date.js.map +0 -0
  1145. /package/{lib → dist}/common/getFilename.js +0 -0
  1146. /package/{lib → dist}/common/getFilename.js.map +0 -0
  1147. /package/{lib → dist}/common/memoize.js +0 -0
  1148. /package/{lib → dist}/common/memoize.js.map +0 -0
  1149. /package/{lib → dist}/common/time.js +0 -0
  1150. /package/{lib → dist}/common/time.js.map +0 -0
  1151. /package/{lib → dist}/common/types.js +0 -0
  1152. /package/{lib → dist}/dependency-injection/Injectable.js +0 -0
  1153. /package/{lib → dist}/dependency-injection/types.js +0 -0
  1154. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js +0 -0
  1155. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js.map +0 -0
  1156. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js +0 -0
  1157. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js.map +0 -0
  1158. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js +0 -0
  1159. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js.map +0 -0
  1160. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js +0 -0
  1161. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js.map +0 -0
  1162. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js +0 -0
  1163. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js.map +0 -0
  1164. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js +0 -0
  1165. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js.map +0 -0
  1166. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js +0 -0
  1167. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js.map +0 -0
  1168. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js +0 -0
  1169. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js.map +0 -0
  1170. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js +0 -0
  1171. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js.map +0 -0
  1172. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js +0 -0
  1173. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js.map +0 -0
  1174. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js +0 -0
  1175. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js.map +0 -0
  1176. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js +0 -0
  1177. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js.map +0 -0
  1178. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js +0 -0
  1179. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js.map +0 -0
  1180. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js +0 -0
  1181. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js.map +0 -0
  1182. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js +0 -0
  1183. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js.map +0 -0
  1184. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js +0 -0
  1185. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js.map +0 -0
  1186. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js +0 -0
  1187. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js.map +0 -0
  1188. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js +0 -0
  1189. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js.map +0 -0
  1190. /package/{lib → dist}/generated-proto/pb_schema/common/value.js +0 -0
  1191. /package/{lib → dist}/generated-proto/pb_schema/common/value.js.map +0 -0
  1192. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js +0 -0
  1193. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js.map +0 -0
  1194. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js +0 -0
  1195. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js.map +0 -0
  1196. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js +0 -0
  1197. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js.map +0 -0
  1198. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js +0 -0
  1199. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js.map +0 -0
  1200. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js +0 -0
  1201. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js.map +0 -0
  1202. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js +0 -0
  1203. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js.map +0 -0
  1204. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js +0 -0
  1205. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js.map +0 -0
  1206. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js +0 -0
  1207. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js.map +0 -0
  1208. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js +0 -0
  1209. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js.map +0 -0
  1210. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js +0 -0
  1211. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js.map +0 -0
  1212. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js +0 -0
  1213. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js.map +0 -0
  1214. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js +0 -0
  1215. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js.map +0 -0
  1216. /package/{lib → dist}/lens/LensPersistenceStore.js +0 -0
  1217. /package/{lib → dist}/lens-core-module/generated-types.js +0 -0
  1218. /package/{lib → dist}/lens-core-module/generated-types.js.map +0 -0
  1219. /package/{lib → dist}/remote-configuration/preloadConfiguration.js +0 -0
  1220. /package/{lib → dist}/session/sessionState.js +0 -0
  1221. /package/{lib → dist}/utils.js +0 -0
  1222. /package/{lib → dist}/utils.js.map +0 -0
@@ -0,0 +1,74 @@
1
+ import type { lensRepositoryFactory } from "../lens/LensRepository";
2
+ import type { lensCoreFactory } from "../lens-core-module/loader/lensCoreFactory";
3
+ import type { remoteMediaAssetLoaderFactory } from "../lens/assets/remoteMediaAssetLoaderFactory";
4
+ import type { deviceDependentAssetLoaderFactory } from "../lens/assets/deviceDependentAssetLoader";
5
+ import type { staticAssetLoaderFactory } from "../lens/assets/staticAssetLoader";
6
+ import type { defaultFetchHandlerFactory } from "../handlers/defaultFetchHandler";
7
+ import type { cameraKitServiceFetchHandlerFactory } from "../handlers/cameraKitServiceFetchHandlerFactory";
8
+ import type { createCameraKitConfigurationFactory } from "../configuration";
9
+ import type { externalMetricsSubjectFactory, metricsClientFactory } from "../clients/metricsClient";
10
+ import type { LensCore } from "../lens-core-module/lensCore";
11
+ import type { metricsEventTargetFactory } from "../metrics/metricsEventTarget";
12
+ import type { lensSourcesFactory } from "../lens/LensSource";
13
+ import type { uriHandlersFactory } from "../extensions/UriHandlers";
14
+ import type { lensPersistenceStoreFactory } from "../lens/LensPersistenceStore";
15
+ import type { cofHandlerFactory } from "../remote-configuration/cofHandler";
16
+ import type { remoteConfigurationFactory } from "../remote-configuration/remoteConfiguration";
17
+ import type { lensAssetRepositoryFactory } from "../lens/assets/LensAssetRepository";
18
+ import type { legalStateFactory } from "../legal/legalState";
19
+ import type { legalPromptFactory } from "../legal/legalPrompt";
20
+ import type { logEntriesFactory } from "../logger/logEntries";
21
+ import type { reportGlobalException } from "../metrics/reporters/reportGlobalException";
22
+ import type { requestStateEventTargetFactory } from "../handlers/requestStateEmittingHandler";
23
+ import type { lensesClientFactory } from "../clients/lensesClient";
24
+ import type { pageVisibilityFactory } from "../common/pageVisibility";
25
+ import type { remoteApiServicesFactory } from "../extensions/RemoteApiServices";
26
+ import type { grpcHandlerFactory } from "../clients/grpcHandler";
27
+ import type { ServicesFromInjectables } from "./types";
28
+ /**
29
+ * All services available to be customized by client app.
30
+ */
31
+ export type PublicServices = ServicesFromInjectables<[
32
+ ReturnType<typeof createCameraKitConfigurationFactory>,
33
+ typeof defaultFetchHandlerFactory,
34
+ typeof remoteMediaAssetLoaderFactory,
35
+ typeof lensSourcesFactory,
36
+ typeof remoteApiServicesFactory,
37
+ typeof uriHandlersFactory,
38
+ typeof externalMetricsSubjectFactory
39
+ ]>;
40
+ /**
41
+ * Define all the Services contained in CameraKit's root dependency injection container.
42
+ *
43
+ * Note: we do end up defining this list of Services twice (once here to create the type, once when we actually
44
+ * create the Container inside the `bootstrapCameraKit` function). We could avoid doing this and just infer the
45
+ * RootContainer type from the constructed container – but since we can only do that *inside* `bootstrapCameraKit`, it
46
+ * makes it more awkward to provide a type for the `provide` user-supplied function (or use the type elsewhere, like in
47
+ * CameraKitSession).
48
+ *
49
+ * There may be a way to eliminate this extra boilerplate, but for now it's required in order to present a cleaner
50
+ * `bootstrapCameraKit` API to applications.
51
+ */
52
+ export type RootServices = {
53
+ [lensCoreFactory.token]: LensCore;
54
+ } & PublicServices & ServicesFromInjectables<[
55
+ typeof pageVisibilityFactory,
56
+ typeof metricsEventTargetFactory,
57
+ typeof requestStateEventTargetFactory,
58
+ typeof cameraKitServiceFetchHandlerFactory,
59
+ typeof grpcHandlerFactory,
60
+ typeof lensesClientFactory,
61
+ typeof cofHandlerFactory,
62
+ typeof remoteConfigurationFactory,
63
+ typeof lensRepositoryFactory,
64
+ typeof lensPersistenceStoreFactory,
65
+ typeof metricsClientFactory,
66
+ typeof lensAssetRepositoryFactory,
67
+ typeof deviceDependentAssetLoaderFactory,
68
+ typeof staticAssetLoaderFactory,
69
+ typeof legalStateFactory,
70
+ typeof legalPromptFactory,
71
+ typeof logEntriesFactory,
72
+ typeof reportGlobalException
73
+ ]>;
74
+ //# sourceMappingURL=RootServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RootServices.d.ts","sourceRoot":"","sources":["../../src/dependency-injection/RootServices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AACnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AAC3G,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,uBAAuB,CAChD;IACI,UAAU,CAAC,OAAO,mCAAmC,CAAC;IACtD,OAAO,0BAA0B;IACjC,OAAO,6BAA6B;IACpC,OAAO,kBAAkB;IACzB,OAAO,wBAAwB;IAC/B,OAAO,kBAAkB;IACzB,OAAO,6BAA6B;CACvC,CACJ,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG;IAGvB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CACrC,GAAG,cAAc,GACd,uBAAuB,CACnB;IACI,OAAO,qBAAqB;IAC5B,OAAO,yBAAyB;IAChC,OAAO,8BAA8B;IACrC,OAAO,mCAAmC;IAC1C,OAAO,kBAAkB;IACzB,OAAO,mBAAmB;IAC1B,OAAO,iBAAiB;IACxB,OAAO,0BAA0B;IACjC,OAAO,qBAAqB;IAC5B,OAAO,2BAA2B;IAClC,OAAO,oBAAoB;IAC3B,OAAO,0BAA0B;IACjC,OAAO,iCAAiC;IACxC,OAAO,wBAAwB;IAC/B,OAAO,iBAAiB;IACxB,OAAO,kBAAkB;IACzB,OAAO,iBAAiB;IACxB,OAAO,qBAAqB;CAC/B,CACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RootServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RootServices.js","sourceRoot":"","sources":["../../src/dependency-injection/RootServices.ts"],"names":[],"mappings":"","sourcesContent":["import type { lensRepositoryFactory } from \"../lens/LensRepository\";\nimport type { lensCoreFactory } from \"../lens-core-module/loader/lensCoreFactory\";\nimport type { remoteMediaAssetLoaderFactory } from \"../lens/assets/remoteMediaAssetLoaderFactory\";\nimport type { deviceDependentAssetLoaderFactory } from \"../lens/assets/deviceDependentAssetLoader\";\nimport type { staticAssetLoaderFactory } from \"../lens/assets/staticAssetLoader\";\nimport type { defaultFetchHandlerFactory } from \"../handlers/defaultFetchHandler\";\nimport type { cameraKitServiceFetchHandlerFactory } from \"../handlers/cameraKitServiceFetchHandlerFactory\";\nimport type { createCameraKitConfigurationFactory } from \"../configuration\";\nimport type { externalMetricsSubjectFactory, metricsClientFactory } from \"../clients/metricsClient\";\nimport type { LensCore } from \"../lens-core-module/lensCore\";\nimport type { metricsEventTargetFactory } from \"../metrics/metricsEventTarget\";\nimport type { lensSourcesFactory } from \"../lens/LensSource\";\nimport type { uriHandlersFactory } from \"../extensions/UriHandlers\";\nimport type { lensPersistenceStoreFactory } from \"../lens/LensPersistenceStore\";\nimport type { cofHandlerFactory } from \"../remote-configuration/cofHandler\";\nimport type { remoteConfigurationFactory } from \"../remote-configuration/remoteConfiguration\";\nimport type { lensAssetRepositoryFactory } from \"../lens/assets/LensAssetRepository\";\nimport type { legalStateFactory } from \"../legal/legalState\";\nimport type { legalPromptFactory } from \"../legal/legalPrompt\";\nimport type { logEntriesFactory } from \"../logger/logEntries\";\nimport type { reportGlobalException } from \"../metrics/reporters/reportGlobalException\";\nimport type { requestStateEventTargetFactory } from \"../handlers/requestStateEmittingHandler\";\nimport type { lensesClientFactory } from \"../clients/lensesClient\";\nimport type { pageVisibilityFactory } from \"../common/pageVisibility\";\nimport type { remoteApiServicesFactory } from \"../extensions/RemoteApiServices\";\nimport type { grpcHandlerFactory } from \"../clients/grpcHandler\";\nimport type { ServicesFromInjectables } from \"./types\";\n\n/**\n * All services available to be customized by client app.\n */\nexport type PublicServices = ServicesFromInjectables<\n [\n ReturnType<typeof createCameraKitConfigurationFactory>,\n typeof defaultFetchHandlerFactory,\n typeof remoteMediaAssetLoaderFactory,\n typeof lensSourcesFactory,\n typeof remoteApiServicesFactory,\n typeof uriHandlersFactory,\n typeof externalMetricsSubjectFactory\n ]\n>;\n\n/**\n * Define all the Services contained in CameraKit's root dependency injection container.\n *\n * Note: we do end up defining this list of Services twice (once here to create the type, once when we actually\n * create the Container inside the `bootstrapCameraKit` function). We could avoid doing this and just infer the\n * RootContainer type from the constructed container – but since we can only do that *inside* `bootstrapCameraKit`, it\n * makes it more awkward to provide a type for the `provide` user-supplied function (or use the type elsewhere, like in\n * CameraKitSession).\n *\n * There may be a way to eliminate this extra boilerplate, but for now it's required in order to present a cleaner\n * `bootstrapCameraKit` API to applications.\n */\nexport type RootServices = {\n // bootstrapCameraKit replaces the lensCoreFactory token's value with the resolved LensCore (rather than the\n // Promise of the LensCore), so we need to do the same re-mapping here.\n [lensCoreFactory.token]: LensCore;\n} & PublicServices &\n ServicesFromInjectables<\n [\n typeof pageVisibilityFactory,\n typeof metricsEventTargetFactory,\n typeof requestStateEventTargetFactory,\n typeof cameraKitServiceFetchHandlerFactory,\n typeof grpcHandlerFactory,\n typeof lensesClientFactory,\n typeof cofHandlerFactory,\n typeof remoteConfigurationFactory,\n typeof lensRepositoryFactory,\n typeof lensPersistenceStoreFactory,\n typeof metricsClientFactory,\n typeof lensAssetRepositoryFactory,\n typeof deviceDependentAssetLoaderFactory,\n typeof staticAssetLoaderFactory,\n typeof legalStateFactory,\n typeof legalPromptFactory,\n typeof logEntriesFactory,\n typeof reportGlobalException\n ]\n >;\n"]}
@@ -0,0 +1,57 @@
1
+ import type { Container, ContainerToken } from "./Container";
2
+ type AsTuple<T> = T extends readonly any[] ? T : never;
3
+ type CorrespondingService<Services, Token extends ValidTokens<Services>> = Token extends ContainerToken ? Container<Services> : Token extends keyof Services ? Services[Token] : never;
4
+ /**
5
+ * Given a Services object, the valid Tokens are simply the keys of that object or the special Container Token.
6
+ */
7
+ export type ValidTokens<Services> = ContainerToken | keyof Services;
8
+ /**
9
+ * Given Services, map from a list of Tokens to a list of Service types.
10
+ */
11
+ export type CorrespondingServices<Services, Tokens extends readonly ValidTokens<Services>[]> = {
12
+ [K in keyof Tokens]: Tokens[K] extends ValidTokens<Services> ? CorrespondingService<Services, Tokens[K]> : never;
13
+ };
14
+ /**
15
+ * A valid InjectableFunction is one that can be successfully called, given some Services, to return a new Service. That
16
+ * is, it must satisfy two conditions:
17
+ *
18
+ * 1. All the Tokens it specifies as dependencies are valid given the Services (i.e. they are either the Container
19
+ * Token or keys of the Services type).
20
+ * 2. The function argument types correspond to the Services specified by the dependency Tokens.
21
+ *
22
+ * A InjectableFunction also includes its own key Token and dependency Tokens as metadata, so it may be resolved by
23
+ * Container<Services> later.
24
+ */
25
+ export type InjectableFunction<Services, Tokens, Token extends string, Service> = Tokens extends readonly ValidTokens<Services>[] ? {
26
+ (...args: AsTuple<CorrespondingServices<Services, Tokens>>): Service;
27
+ token: Token;
28
+ dependencies: Tokens;
29
+ } : never;
30
+ export type AnyInjectable = InjectableFunction<any, readonly string[], string, any>;
31
+ export type ServicesFromInjectables<Injectables extends readonly AnyInjectable[]> = {
32
+ [Name in Injectables[number]["token"]]: ReturnType<Extract<Injectables[number], {
33
+ token: Name;
34
+ }>>;
35
+ };
36
+ /**
37
+ * Add a Service with a Token to an existing set of Services.
38
+ */
39
+ export type AddService<ParentServices, Token extends string, Service> = ParentServices extends any ? {
40
+ [K in keyof ParentServices | Token]: K extends keyof ParentServices ? ParentServices[K] : Service;
41
+ } : never;
42
+ /**
43
+ * Create an object type from two tuples of the same length. The first tuple contains the object keys (strings) and the
44
+ * second contains the value types corresponding to those keys.
45
+ *
46
+ * Ex:
47
+ * ```ts
48
+ * type FooBar = ServicesFromTokenizedParams<['foo', 'bar'], [string, number]>
49
+ * const foobar: FooBar = {foo: 'foo', bar: 1}
50
+ * const badfoobar: FooBar = {foo: 1, bar: 'bar'} // any extra, missing, or mis-typed properties raise an error.
51
+ * ```
52
+ */
53
+ export type ServicesFromTokenizedParams<Tokens, Params> = Tokens extends readonly [] ? Params extends readonly [] ? {} : never : Tokens extends readonly [infer Token, ...infer RemainingTokens] ? Params extends readonly [infer Param, ...infer RemainingParams] ? Tokens["length"] extends Params["length"] ? Token extends ContainerToken ? Param extends Container<infer S> ? S & ServicesFromTokenizedParams<RemainingTokens, RemainingParams> : never : Token extends string ? {
54
+ [K in Token]: Param extends Container<infer S> ? S : Param;
55
+ } & ServicesFromTokenizedParams<RemainingTokens, RemainingParams> : never : never : never : never;
56
+ export {};
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dependency-injection/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvD,KAAK,oBAAoB,CAAC,QAAQ,EAAE,KAAK,SAAS,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,cAAc,GACjG,SAAS,CAAC,QAAQ,CAAC,GACnB,KAAK,SAAS,MAAM,QAAQ,GAC5B,QAAQ,CAAC,KAAK,CAAC,GACf,KAAK,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI,cAAc,GAAG,MAAM,QAAQ,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,QAAQ,EAAE,MAAM,SAAS,SAAS,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI;KAC1F,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACnH,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,CAC1B,QAAQ,EACR,MAAM,EACN,KAAK,SAAS,MAAM,EACpB,OAAO,IACP,MAAM,SAAS,SAAS,WAAW,CAAC,QAAQ,CAAC,EAAE,GAC7C;IACI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACxB,GACD,KAAK,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAEpF,MAAM,MAAM,uBAAuB,CAAC,WAAW,SAAS,SAAS,aAAa,EAAE,IAAI;KAC/E,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACpG,CAAC;AAEF;;GAEG;AAGH,MAAM,MAAM,UAAU,CAAC,cAAc,EAAE,KAAK,SAAS,MAAM,EAAE,OAAO,IAAI,cAAc,SAAS,GAAG,GAE5F;KAAG,CAAC,IAAI,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC,SAAS,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO;CAAE,GACrG,KAAK,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,MAAM,MAAM,2BAA2B,CAAC,MAAM,EAAE,MAAM,IAAI,MAAM,SAAS,SAAS,EAAE,GAC9E,MAAM,SAAS,SAAS,EAAE,GACtB,EAAE,GACF,KAAK,GACT,MAAM,SAAS,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,GAC/D,MAAM,SAAS,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,GAC3D,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,GACrC,KAAK,SAAS,cAAc,GACxB,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAC5B,CAAC,GAAG,2BAA2B,CAAC,eAAe,EAAE,eAAe,CAAC,GACjE,KAAK,GACT,KAAK,SAAS,MAAM,GACpB;KAAG,CAAC,IAAI,KAAK,GAAG,KAAK,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,GAAG,2BAA2B,CACxF,eAAe,EACf,eAAe,CAClB,GACD,KAAK,GACT,KAAK,GACT,KAAK,GACT,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/dependency-injection/types.ts"],"names":[],"mappings":"","sourcesContent":["/* eslint-disable import/exports-last */\nimport type { Container, ContainerToken } from \"./Container\";\n\ntype AsTuple<T> = T extends readonly any[] ? T : never;\n\ntype CorrespondingService<Services, Token extends ValidTokens<Services>> = Token extends ContainerToken\n ? Container<Services>\n : Token extends keyof Services\n ? Services[Token]\n : never;\n\n/**\n * Given a Services object, the valid Tokens are simply the keys of that object or the special Container Token.\n */\nexport type ValidTokens<Services> = ContainerToken | keyof Services;\n\n/**\n * Given Services, map from a list of Tokens to a list of Service types.\n */\nexport type CorrespondingServices<Services, Tokens extends readonly ValidTokens<Services>[]> = {\n [K in keyof Tokens]: Tokens[K] extends ValidTokens<Services> ? CorrespondingService<Services, Tokens[K]> : never;\n};\n\n/**\n * A valid InjectableFunction is one that can be successfully called, given some Services, to return a new Service. That\n * is, it must satisfy two conditions:\n *\n * 1. All the Tokens it specifies as dependencies are valid given the Services (i.e. they are either the Container\n * Token or keys of the Services type).\n * 2. The function argument types correspond to the Services specified by the dependency Tokens.\n *\n * A InjectableFunction also includes its own key Token and dependency Tokens as metadata, so it may be resolved by\n * Container<Services> later.\n */\nexport type InjectableFunction<\n Services,\n Tokens,\n Token extends string,\n Service\n> = Tokens extends readonly ValidTokens<Services>[]\n ? {\n (...args: AsTuple<CorrespondingServices<Services, Tokens>>): Service;\n token: Token;\n dependencies: Tokens;\n }\n : never;\n\nexport type AnyInjectable = InjectableFunction<any, readonly string[], string, any>;\n\nexport type ServicesFromInjectables<Injectables extends readonly AnyInjectable[]> = {\n [Name in Injectables[number][\"token\"]]: ReturnType<Extract<Injectables[number], { token: Name }>>;\n};\n\n/**\n * Add a Service with a Token to an existing set of Services.\n */\n// Using a conditional type forces TS language services to evaluate the type -- so when showing e.g. type hints, we\n// will see the mapped type instead of the AddService type alias. This produces better hints.\nexport type AddService<ParentServices, Token extends string, Service> = ParentServices extends any\n ? // A mapped type produces better, more concise type hints than an intersection type.\n { [K in keyof ParentServices | Token]: K extends keyof ParentServices ? ParentServices[K] : Service }\n : never;\n\n/**\n * Create an object type from two tuples of the same length. The first tuple contains the object keys (strings) and the\n * second contains the value types corresponding to those keys.\n *\n * Ex:\n * ```ts\n * type FooBar = ServicesFromTokenizedParams<['foo', 'bar'], [string, number]>\n * const foobar: FooBar = {foo: 'foo', bar: 1}\n * const badfoobar: FooBar = {foo: 1, bar: 'bar'} // any extra, missing, or mis-typed properties raise an error.\n * ```\n */\nexport type ServicesFromTokenizedParams<Tokens, Params> = Tokens extends readonly []\n ? Params extends readonly []\n ? {}\n : never\n : Tokens extends readonly [infer Token, ...infer RemainingTokens]\n ? Params extends readonly [infer Param, ...infer RemainingParams]\n ? Tokens[\"length\"] extends Params[\"length\"]\n ? Token extends ContainerToken\n ? Param extends Container<infer S>\n ? S & ServicesFromTokenizedParams<RemainingTokens, RemainingParams>\n : never\n : Token extends string\n ? { [K in Token]: Param extends Container<infer S> ? S : Param } & ServicesFromTokenizedParams<\n RemainingTokens,\n RemainingParams\n >\n : never\n : never\n : never\n : never;\n"]}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ PACKAGE_VERSION: string;
3
+ };
4
+ export default _default;
5
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,wBAA6C"}
@@ -0,0 +1,2 @@
1
+ export default { PACKAGE_VERSION: "0.18.0" };
2
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["export default { PACKAGE_VERSION: \"0.18.0\" };\n"]}
@@ -0,0 +1,11 @@
1
+ export type EventOfType<K extends string, Event extends TypedCustomEvent> = Extract<Event, TypedCustomEvent<K, any>>;
2
+ /**
3
+ * This wrapper around CustomEvent provides more descriptive type information. By using this class, the `type` property
4
+ * of the CustomEvent will be typed as a string literal – this allows [TypedEventTarget] to provide more useful type
5
+ * checking of events.
6
+ */
7
+ export declare class TypedCustomEvent<N extends string = string, T = any> extends CustomEvent<T> {
8
+ readonly type: N;
9
+ constructor(type: N, detail: T, eventInitDict?: Omit<CustomEventInit<T>, "detail">);
10
+ }
11
+ //# sourceMappingURL=TypedCustomEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedCustomEvent.d.ts","sourceRoot":"","sources":["../../src/events/TypedCustomEvent.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,SAAS,gBAAgB,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAErH;;;;GAIG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAKpF,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACL,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAM;CAGzF"}
@@ -0,0 +1,6 @@
1
+ export class TypedCustomEvent extends CustomEvent {
2
+ constructor(type, detail, eventInitDict = {}) {
3
+ super(type, Object.assign(Object.assign({}, eventInitDict), { detail }));
4
+ }
5
+ }
6
+ //# sourceMappingURL=TypedCustomEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedCustomEvent.js","sourceRoot":"","sources":["../../src/events/TypedCustomEvent.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,gBAAqD,SAAQ,WAAc;IAMpF,YAAY,IAAO,EAAE,MAAS,EAAE,gBAAoD,EAAE;QAClF,KAAK,CAAC,IAAI,kCAAO,aAAa,KAAE,MAAM,IAAG,CAAC;IAC9C,CAAC;CACJ","sourcesContent":["export type EventOfType<K extends string, Event extends TypedCustomEvent> = Extract<Event, TypedCustomEvent<K, any>>;\n\n/**\n * This wrapper around CustomEvent provides more descriptive type information. By using this class, the `type` property\n * of the CustomEvent will be typed as a string literal – this allows [TypedEventTarget] to provide more useful type\n * checking of events.\n */\nexport class TypedCustomEvent<N extends string = string, T = any> extends CustomEvent<T> {\n // @ts-ignore: The compiler complains that this property \"has no initializer and is not definitely set in the\n // constructor\" – we must rely on the superclass constructor to set this, because CustomEvent only implements a\n // getter for type, so if we try to do `this.type = type` we get a runtime error. We do need to re-define type,\n // though, so we can give it the specific type N instead of the less-useful string type defined by the superclass.\n readonly type: N;\n constructor(type: N, detail: T, eventInitDict: Omit<CustomEventInit<T>, \"detail\"> = {}) {\n super(type, { ...eventInitDict, detail });\n }\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import type { EventOfType, TypedCustomEvent } from "./TypedCustomEvent";
2
+ export type TypedEventListener<Event extends TypedCustomEvent> = (evt: Event) => void;
3
+ export interface TypedEventListenerOptions {
4
+ once?: boolean;
5
+ }
6
+ /**
7
+ * Extract the generic Events type (which must extend {@link TypedCustomEvent}) from a {@link TypedEventTarget}
8
+ */
9
+ export type EventsFromTarget<Target extends TypedEventTarget> = Target extends TypedEventTarget<infer Events> ? Events : never;
10
+ /**
11
+ * This wrapper around EventTarget provides more descriptive type information. By using this class, calls to EventTarget
12
+ * methods are correctly type checked to ensure only allowed event types are used, and that events and their type
13
+ * strings are correctly associated.
14
+ *
15
+ * For example, when calling TypedEventTarget::addEventListener, the event passed to the callback will have the correct
16
+ * type corresponding to the type of event for which the listener has been added.
17
+ */
18
+ export declare class TypedEventTarget<Events extends TypedCustomEvent = TypedCustomEvent> {
19
+ private readonly listeners;
20
+ private readonly options;
21
+ constructor();
22
+ addEventListener<K extends Events["type"]>(type: K, callback: TypedEventListener<EventOfType<K, Events>>, options?: TypedEventListenerOptions): void;
23
+ dispatchEvent(event: Events): true;
24
+ removeEventListener<K extends Events["type"]>(type: K, callback: TypedEventListener<EventOfType<K, Events>>): void;
25
+ }
26
+ //# sourceMappingURL=TypedEventTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedEventTarget.d.ts","sourceRoot":"","sources":["../../src/events/TypedEventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,gBAAgB,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AAEtF,MAAM,WAAW,yBAAyB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,gBAAgB,IAAI,MAAM,SAAS,gBAAgB,CAAC,MAAM,MAAM,CAAC,GACvG,MAAM,GACN,KAAK,CAAC;AAEZ;;;;;;;GAOG;AACH,qBAAa,gBAAgB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB;IAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;IAChF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuE;;IAO/F,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EACrC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EACpD,OAAO,CAAC,EAAE,yBAAyB,GACpC,IAAI;IAWP,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBlC,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI;CAUrH"}
@@ -0,0 +1,42 @@
1
+ export class TypedEventTarget {
2
+ constructor() {
3
+ this.listeners = new Map();
4
+ this.options = new Map();
5
+ }
6
+ addEventListener(type, callback, options) {
7
+ var _a;
8
+ const listener = callback;
9
+ const listeners = (_a = this.listeners.get(type)) !== null && _a !== void 0 ? _a : [];
10
+ this.listeners.set(type, [...listeners, listener]);
11
+ if (options)
12
+ this.options.set(listener, options);
13
+ }
14
+ dispatchEvent(event) {
15
+ const listeners = this.listeners.get(event.type);
16
+ if (!listeners)
17
+ return true;
18
+ listeners.forEach((listener) => {
19
+ var _a;
20
+ const options = (_a = this.options.get(listener)) !== null && _a !== void 0 ? _a : {};
21
+ try {
22
+ listener(event);
23
+ }
24
+ catch (error) {
25
+ if (window)
26
+ window.dispatchEvent(new CustomEvent("error", { detail: error }));
27
+ }
28
+ if (options.once)
29
+ this.removeEventListener(event.type, listener);
30
+ });
31
+ return true;
32
+ }
33
+ removeEventListener(type, callback) {
34
+ const listener = callback;
35
+ const listeners = this.listeners.get(type);
36
+ if (!listeners)
37
+ return;
38
+ this.listeners.set(type, listeners.filter((l) => l !== listener));
39
+ this.options.delete(listener);
40
+ }
41
+ }
42
+ //# sourceMappingURL=TypedEventTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypedEventTarget.js","sourceRoot":"","sources":["../../src/events/TypedEventTarget.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAO,gBAAgB;IAIzB;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CACZ,IAAO,EACP,QAAoD,EACpD,OAAmC;;QAMnC,MAAM,QAAQ,GAAG,QAAgD,CAAC;QAClE,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,aAAa,CAAC,KAAa;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;;YAC3B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;YACjD,IAAI;gBACA,QAAQ,CAAC,KAAK,CAAC,CAAC;aACnB;YAAC,OAAO,KAAK,EAAE;gBAIZ,IAAI,MAAM;oBAAE,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aACjF;YACD,IAAI,OAAO,CAAC,IAAI;gBAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mBAAmB,CAA2B,IAAO,EAAE,QAAoD;QACvG,MAAM,QAAQ,GAAG,QAAgD,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CACd,IAAI,EACJ,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;CACJ","sourcesContent":["import type { EventOfType, TypedCustomEvent } from \"./TypedCustomEvent\";\n\nexport type TypedEventListener<Event extends TypedCustomEvent> = (evt: Event) => void;\n\nexport interface TypedEventListenerOptions {\n once?: boolean;\n}\n\n/**\n * Extract the generic Events type (which must extend {@link TypedCustomEvent}) from a {@link TypedEventTarget}\n */\nexport type EventsFromTarget<Target extends TypedEventTarget> = Target extends TypedEventTarget<infer Events>\n ? Events\n : never;\n\n/**\n * This wrapper around EventTarget provides more descriptive type information. By using this class, calls to EventTarget\n * methods are correctly type checked to ensure only allowed event types are used, and that events and their type\n * strings are correctly associated.\n *\n * For example, when calling TypedEventTarget::addEventListener, the event passed to the callback will have the correct\n * type corresponding to the type of event for which the listener has been added.\n */\nexport class TypedEventTarget<Events extends TypedCustomEvent = TypedCustomEvent> {\n private readonly listeners: Map<string, TypedEventListener<TypedCustomEvent>[]>;\n private readonly options: Map<TypedEventListener<TypedCustomEvent>, TypedEventListenerOptions>;\n\n constructor() {\n this.listeners = new Map();\n this.options = new Map();\n }\n\n addEventListener<K extends Events[\"type\"]>(\n type: K,\n callback: TypedEventListener<EventOfType<K, Events>>,\n options?: TypedEventListenerOptions\n ): void {\n // Safety: the type in the method signature ensures the callback handles events of type K, and we use that type\n // as the key when storing the callback – we only ever invoke callbacks obtained by mapping from that event\n // type to the callback, so even though we store the callback with a wider type, we only ever call it with the\n // specific event type specified by K.\n const listener = callback as TypedEventListener<TypedCustomEvent>;\n const listeners = this.listeners.get(type) ?? [];\n this.listeners.set(type, [...listeners, listener]);\n if (options) this.options.set(listener, options);\n }\n\n dispatchEvent(event: Events): true {\n const listeners = this.listeners.get(event.type);\n if (!listeners) return true;\n\n listeners.forEach((listener) => {\n const options = this.options.get(listener) ?? {};\n try {\n listener(event);\n } catch (error) {\n // We'll do our best to immitate native behavior, where if a listener throws an error it is caught and\n // emitted as an error event on the window – this might be slightly different from native behavior since\n // we have to use a CustomEvent, but it's as close as we can get.\n if (window) window.dispatchEvent(new CustomEvent(\"error\", { detail: error }));\n }\n if (options.once) this.removeEventListener(event.type, listener);\n });\n\n return true;\n }\n\n removeEventListener<K extends Events[\"type\"]>(type: K, callback: TypedEventListener<EventOfType<K, Events>>): void {\n const listener = callback as TypedEventListener<TypedCustomEvent>;\n const listeners = this.listeners.get(type);\n if (!listeners) return;\n this.listeners.set(\n type,\n listeners.filter((l) => l !== listener)\n );\n this.options.delete(listener);\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import type { EventOfType } from "./TypedCustomEvent";
2
+ import { TypedCustomEvent } from "./TypedCustomEvent";
3
+ import type { EventsFromTarget } from "./TypedEventTarget";
4
+ import { TypedEventTarget } from "./TypedEventTarget";
5
+ /**
6
+ * Each time an event is emitted, call a given accumulator function with two arguments: some state of type S and the
7
+ * event. The accumulator returns a new state. `scan` returns a new event emitter which emits an event each time a new
8
+ * state is produced by the accumulator.
9
+ *
10
+ * This can be used to implement a Redux-style state management architecture.
11
+ *
12
+ * @param seedState Some initial state, passed to the accumulator when the first event is emitted.
13
+ * @returns A function which takes a source {@link TypedEventTarget}, a list of event types emitted by that target to
14
+ * which to listen, and the accumulator function. The accumulator is called each time an event of the given type(s) is
15
+ * emitted on the source. It is passed the current state and the event, and must return a new state.
16
+ */
17
+ export declare const scan: <S>(seedState: S) => <Target extends TypedEventTarget<TypedCustomEvent<string, any>>, Events extends EventsFromTarget<Target>, EventType extends Events["type"]>(source: Target, eventTypes: EventType[], accumulator: (state: S, event: EventOfType<EventType, Events>) => S) => TypedEventTarget<TypedCustomEvent<"state", S>>;
18
+ //# sourceMappingURL=scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/events/scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,kUAwCZ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { TypedCustomEvent } from "./TypedCustomEvent";
2
+ import { TypedEventTarget } from "./TypedEventTarget";
3
+ export const scan = (seedState) => (source, eventTypes, accumulator) => {
4
+ let state = seedState;
5
+ const sink = new TypedEventTarget();
6
+ const listener = (event) => {
7
+ state = accumulator(state, event);
8
+ sink.dispatchEvent(new TypedCustomEvent("state", state));
9
+ };
10
+ let hasListener = false;
11
+ sink.addEventListener = new Proxy(sink.addEventListener, {
12
+ apply: (target, thisArg, args) => {
13
+ if (hasListener)
14
+ throw new Error("Cannot add another event listener. The TypedEventTarget returned by scan only " +
15
+ "supports a single listener, and one has already been added.");
16
+ hasListener = true;
17
+ eventTypes.forEach((eventType) => source.addEventListener(eventType, listener));
18
+ target.apply(thisArg, args);
19
+ },
20
+ });
21
+ sink.removeEventListener = new Proxy(sink.removeEventListener, {
22
+ apply: (target, thisArg, args) => {
23
+ eventTypes.forEach((eventType) => source.removeEventListener(eventType, listener));
24
+ target.apply(thisArg, args);
25
+ },
26
+ });
27
+ return sink;
28
+ };
29
+ //# sourceMappingURL=scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/events/scan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AActD,MAAM,CAAC,MAAM,IAAI,GACb,CAAI,SAAY,EAAE,EAAE,CACpB,CACI,MAAc,EACd,UAAuB,EACvB,WAAmE,EACrB,EAAE;IAChD,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,gBAAgB,EAAgC,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,KAAuB,EAAE,EAAE;QACzC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,KAAuC,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAOF,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE;QACrD,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAmD,EAAE,EAAE;YAC5E,IAAI,WAAW;gBACX,MAAM,IAAI,KAAK,CACX,gFAAgF;oBAC5E,6DAA6D,CACpE,CAAC;YACN,WAAW,GAAG,IAAI,CAAC;YACnB,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;KACJ,CAAC,CAAC;IACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE;QAC3D,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAsD,EAAE,EAAE;YAC/E,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC","sourcesContent":["import type { EventOfType } from \"./TypedCustomEvent\";\nimport { TypedCustomEvent } from \"./TypedCustomEvent\";\nimport type { EventsFromTarget } from \"./TypedEventTarget\";\nimport { TypedEventTarget } from \"./TypedEventTarget\";\n\n/**\n * Each time an event is emitted, call a given accumulator function with two arguments: some state of type S and the\n * event. The accumulator returns a new state. `scan` returns a new event emitter which emits an event each time a new\n * state is produced by the accumulator.\n *\n * This can be used to implement a Redux-style state management architecture.\n *\n * @param seedState Some initial state, passed to the accumulator when the first event is emitted.\n * @returns A function which takes a source {@link TypedEventTarget}, a list of event types emitted by that target to\n * which to listen, and the accumulator function. The accumulator is called each time an event of the given type(s) is\n * emitted on the source. It is passed the current state and the event, and must return a new state.\n */\nexport const scan =\n <S>(seedState: S) =>\n <Target extends TypedEventTarget, Events extends EventsFromTarget<Target>, EventType extends Events[\"type\"]>(\n source: Target,\n eventTypes: EventType[],\n accumulator: (state: S, event: EventOfType<EventType, Events>) => S\n ): TypedEventTarget<TypedCustomEvent<\"state\", S>> => {\n let state = seedState;\n const sink = new TypedEventTarget<TypedCustomEvent<\"state\", S>>();\n const listener = (event: TypedCustomEvent) => {\n state = accumulator(state, event as EventOfType<EventType, Events>);\n sink.dispatchEvent(new TypedCustomEvent(\"state\", state));\n };\n\n // We'll use Proxies to make sure that event listeners are added/removed at the appropriate time.\n // Callers can then control when to clean up the listeners we add here in a transparent way –\n // by just removing the listener on the returned event target.\n //\n // We also prevent multiple listeners on the sink, as a simplification.\n let hasListener = false;\n sink.addEventListener = new Proxy(sink.addEventListener, {\n apply: (target, thisArg, args: Parameters<(typeof sink)[\"addEventListener\"]>) => {\n if (hasListener)\n throw new Error(\n \"Cannot add another event listener. The TypedEventTarget returned by scan only \" +\n \"supports a single listener, and one has already been added.\"\n );\n hasListener = true;\n eventTypes.forEach((eventType) => source.addEventListener(eventType, listener));\n target.apply(thisArg, args);\n },\n });\n sink.removeEventListener = new Proxy(sink.removeEventListener, {\n apply: (target, thisArg, args: Parameters<(typeof sink)[\"removeEventListener\"]>) => {\n eventTypes.forEach((eventType) => source.removeEventListener(eventType, listener));\n target.apply(thisArg, args);\n },\n });\n\n return sink;\n };\n"]}
@@ -0,0 +1,88 @@
1
+ import type { LensRepository } from "../lens/LensRepository";
2
+ import type { Lens } from "../lens/Lens";
3
+ import type { LensState } from "../session/lensState";
4
+ import type { SessionState } from "../session/sessionState";
5
+ import type { MetricsClient } from "../clients/metricsClient";
6
+ import type { UriHandler } from "./UriHandlers";
7
+ /**
8
+ * Status of a Remote API response.
9
+ */
10
+ export type RemoteApiStatus = "success" | "redirected" | "badRequest" | "accessDenied" | "notFound" | "timeout" | "requestTooLarge" | "serverError" | "cancelled" | "proxyError";
11
+ /**
12
+ * Remote API request sent by a lens.
13
+ */
14
+ export interface RemoteApiRequest {
15
+ /**
16
+ * Unique id of the remote API service specification.
17
+ */
18
+ apiSpecId: string;
19
+ /**
20
+ * Unique id of the remote API service endpoint requested by this request.
21
+ */
22
+ endpointId: string;
23
+ /**
24
+ * A map of named parameters associated with the request.
25
+ */
26
+ parameters: Record<string, string>;
27
+ /**
28
+ * Additional binary request payload.
29
+ */
30
+ body: ArrayBuffer;
31
+ }
32
+ /**
33
+ * Remote API response to a request sent by a lens.
34
+ */
35
+ export interface RemoteApiResponse {
36
+ /**
37
+ * Status of the response
38
+ */
39
+ status: RemoteApiStatus;
40
+ /**
41
+ * A map of named metadata associated with the response.
42
+ */
43
+ metadata: Record<string, string>;
44
+ /**
45
+ * Additional binary request payload.
46
+ */
47
+ body: ArrayBuffer;
48
+ }
49
+ /**
50
+ * Represents a Remote API request cancellation handler function.
51
+ */
52
+ export type RemoteApiCancelRequestHandler = () => void;
53
+ /**
54
+ * Represents a Remote API request handler function.
55
+ * It is provided with a reply callback that must be invoked to send a response back to the lens.
56
+ * The reply callback can be invoked multiple times if needed.
57
+ * Additionally, the handler can return a cancellation callback, which is triggered when the lens cancels the request.
58
+ */
59
+ export type RemoteApiRequestHandler = (reply: (response: RemoteApiResponse) => void) => RemoteApiCancelRequestHandler | void;
60
+ /**
61
+ * Service to handle a lens Remote API request.
62
+ */
63
+ export interface RemoteApiService {
64
+ /**
65
+ * Remote API spec ID(s).
66
+ */
67
+ apiSpecId: string;
68
+ /**
69
+ * This method is called by Camera Kit when a lens triggers a Remote API request with a corresponding spec ID.
70
+ * If the service can handle the request, the method returns a request handler; otherwise, it returns nothing.
71
+ * @param request Remote API request object.
72
+ * @param lens Lens that triggers the request.
73
+ * @returns A request handler if applicable.
74
+ */
75
+ getRequestHandler(request: RemoteApiRequest, lens: Lens): RemoteApiRequestHandler | undefined;
76
+ }
77
+ export type RemoteApiServices = RemoteApiService[];
78
+ export declare const remoteApiServicesFactory: {
79
+ (): RemoteApiServices;
80
+ token: "remoteApiServices";
81
+ dependencies: [];
82
+ };
83
+ /**
84
+ * Provides a URI handler that searches for a match within the provided services to handle Remote API requests,
85
+ * i.e., those whose URI starts with 'app://remote-api/performApiRequest'.
86
+ */
87
+ export declare function getRemoteApiUriHandler(registeredServices: RemoteApiService[], sessionState: SessionState, lensState: LensState, lensRepository: LensRepository, metrics: MetricsClient): UriHandler;
88
+ //# sourceMappingURL=RemoteApiServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteApiServices.d.ts","sourceRoot":"","sources":["../../src/extensions/RemoteApiServices.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,OAAO,KAAK,EAAoB,UAAU,EAA2B,MAAM,eAAe,CAAC;AAyF3F;;GAEG;AACH,MAAM,MAAM,eAAe,GACrB,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,UAAU,GACV,SAAS,GACT,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,YAAY,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,MAAM,EAAE,eAAe,CAAC;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAClC,KAAK,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,KAC3C,6BAA6B,GAAG,IAAI,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,GAAG,uBAAuB,GAAG,SAAS,CAAC;CACjG;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;AAEnD,eAAO,MAAM,wBAAwB;;;;CAGnC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,kBAAkB,EAAE,gBAAgB,EAAE,EACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,aAAa,GACvB,UAAU,CAoKZ"}
@@ -0,0 +1,155 @@
1
+ import { Subject, catchError, filter, map, merge, retry, takeUntil, tap } from "rxjs";
2
+ import { forActions } from "@snap/state-management";
3
+ import { Injectable } from "../dependency-injection/Injectable";
4
+ import { RemoteApiInfo } from "../generated-proto/pb_schema/camera_kit/v3/features/remote_api_info";
5
+ import { ResponseCode, responseCodeToNumber } from "../generated-proto/pb_schema/lenses/remote_api/remote_api_service";
6
+ import { getLogger } from "../logger/logger";
7
+ import { Count } from "../metrics/operational/Count";
8
+ import { joinMetricNames } from "../metrics/operational/Metric";
9
+ import { extractSchemeAndRoute } from "./UriHandlers";
10
+ const logger = getLogger("RemoteApiServices");
11
+ const uriResponseOkCode = 200;
12
+ const apiResponseStatusHeader = ":sc_lens_api_status";
13
+ const apiBinaryContentType = "application/octet-stream";
14
+ const remoteApiInfoProtobufTypeUrl = "type.googleapis.com/com.snap.camerakit.v3.features.RemoteApiInfo";
15
+ const statusToResponseCodeMap = {
16
+ success: ResponseCode.SUCCESS,
17
+ redirected: ResponseCode.REDIRECTED,
18
+ badRequest: ResponseCode.BAD_REQUEST,
19
+ accessDenied: ResponseCode.ACCESS_DENIED,
20
+ notFound: ResponseCode.NOT_FOUND,
21
+ timeout: ResponseCode.TIMEOUT,
22
+ requestTooLarge: ResponseCode.REQUEST_TOO_LARGE,
23
+ serverError: ResponseCode.SERVER_ERROR,
24
+ cancelled: ResponseCode.CANCELLED,
25
+ proxyError: ResponseCode.PROXY_ERROR,
26
+ };
27
+ function callCancellationHandler(cancellationHandlers, ...keys) {
28
+ var _a;
29
+ for (const key of keys) {
30
+ (_a = cancellationHandlers.get(key)) === null || _a === void 0 ? void 0 : _a();
31
+ cancellationHandlers.delete(key);
32
+ }
33
+ }
34
+ function handleLensApplicationEnd(lensRequestState, ...lensIds) {
35
+ for (const lensId of lensIds) {
36
+ const state = lensRequestState.get(lensId);
37
+ if (state) {
38
+ callCancellationHandler(state.cancellationHandlers, ...state.cancellationHandlers.keys());
39
+ lensRequestState.delete(lensId);
40
+ }
41
+ }
42
+ }
43
+ export const remoteApiServicesFactory = Injectable("remoteApiServices", () => {
44
+ const remoteApiServices = [];
45
+ return remoteApiServices;
46
+ });
47
+ export function getRemoteApiUriHandler(registeredServices, sessionState, lensState, lensRepository, metrics) {
48
+ const registeredServiceMap = new Map();
49
+ for (const service of registeredServices) {
50
+ const existingServices = registeredServiceMap.get(service.apiSpecId) || [];
51
+ registeredServiceMap.set(service.apiSpecId, [...existingServices, service]);
52
+ }
53
+ const uriRequests = new Subject();
54
+ const uriCancelRequests = new Subject();
55
+ const lensRequestState = new Map();
56
+ const lensTurnOffEvents = lensState.events.pipe(forActions("turnedOff"), tap(([action]) => handleLensApplicationEnd(lensRequestState, action.data.id)));
57
+ const uriRequestEvents = uriRequests.pipe(map((uriRequest) => {
58
+ var _a, _b;
59
+ const lensId = uriRequest.lens.id;
60
+ if (!lensRequestState.has(lensId)) {
61
+ lensRequestState.set(lensId, {
62
+ cancellationHandlers: new Map(),
63
+ supportedSpecIds: new Set(((_b = (_a = lensRepository.getLensMetadata(lensId)) === null || _a === void 0 ? void 0 : _a.featureMetadata) !== null && _b !== void 0 ? _b : [])
64
+ .filter((feature) => feature.typeUrl === remoteApiInfoProtobufTypeUrl)
65
+ .flatMap((any) => RemoteApiInfo.decode(any.value).apiSpecIds)),
66
+ });
67
+ }
68
+ const requestState = lensRequestState.get(lensId);
69
+ const { route } = extractSchemeAndRoute(uriRequest.request.uri);
70
+ const [specId, endpointIdWithQuery] = route.split("/").slice(2);
71
+ const [endpointId] = endpointIdWithQuery.split("?");
72
+ return { uriRequest, specId, endpointId, requestState };
73
+ }), filter(({ specId, requestState }) => requestState.supportedSpecIds.has(specId)), filter(({ specId }) => registeredServiceMap.has(specId)), map(({ uriRequest, specId, endpointId, requestState }) => {
74
+ var _a;
75
+ const dimensions = { specId };
76
+ const reportSingleCount = (name) => {
77
+ metrics.setOperationalMetrics(Count.count(joinMetricNames(["lens", "remote-api", name]), 1, dimensions));
78
+ };
79
+ reportSingleCount("requests");
80
+ const remoteApiRequest = {
81
+ apiSpecId: specId,
82
+ body: uriRequest.request.data,
83
+ endpointId,
84
+ parameters: uriRequest.request.metadata,
85
+ };
86
+ for (const service of (_a = registeredServiceMap.get(specId)) !== null && _a !== void 0 ? _a : []) {
87
+ let requestHandler = undefined;
88
+ try {
89
+ requestHandler = service.getRequestHandler(remoteApiRequest, uriRequest.lens);
90
+ }
91
+ catch (error) {
92
+ logger.warn("Client's Remote API request handler factory threw an error.", error);
93
+ }
94
+ if (requestHandler) {
95
+ reportSingleCount("handled-requests");
96
+ let cancellationHandler = undefined;
97
+ try {
98
+ cancellationHandler = requestHandler((response) => {
99
+ var _a;
100
+ reportSingleCount("responses");
101
+ const responseCode = (_a = statusToResponseCodeMap[response.status]) !== null && _a !== void 0 ? _a : ResponseCode.UNRECOGNIZED;
102
+ const uriResponse = {
103
+ code: uriResponseOkCode,
104
+ description: "",
105
+ contentType: apiBinaryContentType,
106
+ data: response.body,
107
+ metadata: Object.assign(Object.assign({}, response.metadata), { [apiResponseStatusHeader]: responseCodeToNumber(responseCode).toString() }),
108
+ };
109
+ uriRequest.reply(uriResponse);
110
+ });
111
+ }
112
+ catch (error) {
113
+ logger.warn("Client's Remote API request handler threw an error.", error);
114
+ }
115
+ if (typeof cancellationHandler === "function") {
116
+ requestState.cancellationHandlers.set(uriRequest.request.identifier, () => {
117
+ try {
118
+ cancellationHandler();
119
+ }
120
+ catch (error) {
121
+ logger.warn("Client's Remote API request cancellation handler threw an error.", error);
122
+ }
123
+ });
124
+ }
125
+ break;
126
+ }
127
+ }
128
+ }));
129
+ const uriCancelRequestEvents = uriCancelRequests.pipe(tap((uriRequest) => {
130
+ var _a;
131
+ const cancellationHandlers = (_a = lensRequestState.get(uriRequest.lens.id)) === null || _a === void 0 ? void 0 : _a.cancellationHandlers;
132
+ if (cancellationHandlers) {
133
+ callCancellationHandler(cancellationHandlers, uriRequest.request.requestId);
134
+ }
135
+ }));
136
+ merge(lensTurnOffEvents, uriRequestEvents, uriCancelRequestEvents)
137
+ .pipe(catchError((error, sourcePipe) => {
138
+ logger.error(error);
139
+ metrics.setOperationalMetrics(Count.count(joinMetricNames(["lens", "remote-api", "errors"]), 1));
140
+ return sourcePipe;
141
+ }), retry(), takeUntil(sessionState.events.pipe(forActions("destroy"))))
142
+ .subscribe({
143
+ complete: () => handleLensApplicationEnd(lensRequestState, ...lensRequestState.keys()),
144
+ });
145
+ return {
146
+ uri: "app://remote-api/performApiRequest",
147
+ handleRequest(request, reply, lens) {
148
+ uriRequests.next({ request, reply, lens });
149
+ },
150
+ cancelRequest(request, lens) {
151
+ uriCancelRequests.next({ request, lens });
152
+ },
153
+ };
154
+ }
155
+ //# sourceMappingURL=RemoteApiServices.js.map