@snap/camera-kit 0.16.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1220) hide show
  1. package/LICENSE.md +141 -3875
  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 +20 -0
  547. package/dist/remote-configuration/preloadConfiguration.js.map +1 -0
  548. package/dist/remote-configuration/remoteConfiguration.d.ts +36 -0
  549. package/dist/remote-configuration/remoteConfiguration.d.ts.map +1 -0
  550. package/dist/remote-configuration/remoteConfiguration.js +59 -0
  551. package/dist/remote-configuration/remoteConfiguration.js.map +1 -0
  552. package/dist/session/CameraKitSession.d.ts +257 -0
  553. package/dist/session/CameraKitSession.d.ts.map +1 -0
  554. package/dist/session/CameraKitSession.js +242 -0
  555. package/dist/session/CameraKitSession.js.map +1 -0
  556. package/dist/session/CameraKitSessionEvents.d.ts +29 -0
  557. package/dist/session/CameraKitSessionEvents.d.ts.map +1 -0
  558. package/dist/session/CameraKitSessionEvents.js +15 -0
  559. package/dist/session/CameraKitSessionEvents.js.map +1 -0
  560. package/dist/session/LensKeyboard.d.ts +90 -0
  561. package/dist/session/LensKeyboard.d.ts.map +1 -0
  562. package/dist/session/LensKeyboard.js +89 -0
  563. package/dist/session/LensKeyboard.js.map +1 -0
  564. package/dist/session/LensPerformanceMeasurement.d.ts +58 -0
  565. package/dist/session/LensPerformanceMeasurement.d.ts.map +1 -0
  566. package/dist/session/LensPerformanceMeasurement.js +63 -0
  567. package/dist/session/LensPerformanceMeasurement.js.map +1 -0
  568. package/dist/session/LensPerformanceMetrics.d.ts +32 -0
  569. package/dist/session/LensPerformanceMetrics.d.ts.map +1 -0
  570. package/dist/session/LensPerformanceMetrics.js +39 -0
  571. package/dist/session/LensPerformanceMetrics.js.map +1 -0
  572. package/dist/session/lensState.d.ts +32 -0
  573. package/dist/session/lensState.d.ts.map +1 -0
  574. package/dist/session/lensState.js +194 -0
  575. package/dist/session/lensState.js.map +1 -0
  576. package/dist/session/sessionState.d.ts +11 -0
  577. package/dist/session/sessionState.d.ts.map +1 -0
  578. package/dist/session/sessionState.js.map +1 -0
  579. package/dist/transforms/Transform2D.d.ts +27 -0
  580. package/dist/transforms/Transform2D.d.ts.map +1 -0
  581. package/dist/transforms/Transform2D.js +13 -0
  582. package/dist/transforms/Transform2D.js.map +1 -0
  583. package/dist/utils.d.ts +4 -0
  584. package/dist/utils.d.ts.map +1 -0
  585. package/docs/html/assets/navigation.js +1 -1
  586. package/docs/html/assets/search.js +1 -1
  587. package/docs/html/classes/CameraKit.html +2 -2
  588. package/docs/html/classes/CameraKitSession.html +2 -2
  589. package/docs/html/classes/CameraKitSource.html +2 -2
  590. package/docs/html/classes/LensPerformanceMeasurement.html +2 -2
  591. package/docs/html/classes/LensPerformanceMetrics.html +2 -2
  592. package/docs/html/classes/LensRepository.html +3 -3
  593. package/docs/html/classes/Transform2D.html +2 -2
  594. package/docs/html/classes/TypedCustomEvent.html +2 -2
  595. package/docs/html/classes/TypedEventTarget.html +2 -2
  596. package/docs/html/enums/Lens_CameraFacing.html +2 -2
  597. package/docs/html/functions/ConcatInjectable.html +2 -2
  598. package/docs/html/functions/Injectable.html +2 -2
  599. package/docs/html/functions/bootstrapCameraKit.html +2 -2
  600. package/docs/html/functions/createExtension.html +2 -2
  601. package/docs/html/functions/createImageSource.html +2 -2
  602. package/docs/html/functions/createMediaStreamSource.html +2 -2
  603. package/docs/html/functions/createVideoSource.html +2 -2
  604. package/docs/html/functions/estimateLensPerformance.html +2 -2
  605. package/docs/html/functions/lensSourcesFactory.html +2 -2
  606. package/docs/html/functions/remoteApiServicesFactory.html +2 -2
  607. package/docs/html/hierarchy.html +1 -1
  608. package/docs/html/index.html +3 -3
  609. package/docs/html/interfaces/BitmojiUserInfo.html +3 -0
  610. package/docs/html/interfaces/CameraKitBootstrapConfiguration.html +2 -2
  611. package/docs/html/interfaces/CameraKitDeviceOptions.html +2 -2
  612. package/docs/html/interfaces/CameraKitSourceInfo.html +2 -2
  613. package/docs/html/interfaces/CameraKitSourceSubscriber.html +2 -2
  614. package/docs/html/interfaces/ComputedFrameMetrics.html +2 -2
  615. package/docs/html/interfaces/CreateSessionOptions.html +2 -2
  616. package/docs/html/interfaces/EstimatedLensPerformance.html +2 -2
  617. package/docs/html/interfaces/FriendUserInfo.html +4 -0
  618. package/docs/html/interfaces/FunctionSourceOptions.html +2 -2
  619. package/docs/html/interfaces/Lens.html +2 -2
  620. package/docs/html/interfaces/LensCreator.html +2 -2
  621. package/docs/html/interfaces/LensLaunchData.html +3 -3
  622. package/docs/html/interfaces/LensSource.html +2 -2
  623. package/docs/html/interfaces/LensUserData.html +10 -0
  624. package/docs/html/interfaces/LoadAssetRequest.html +2 -2
  625. package/docs/html/interfaces/MediaStreamSourceOptions.html +2 -2
  626. package/docs/html/interfaces/Preview.html +2 -2
  627. package/docs/html/interfaces/RemoteApiRequest.html +2 -2
  628. package/docs/html/interfaces/RemoteApiResponse.html +4 -4
  629. package/docs/html/interfaces/RemoteApiService.html +3 -3
  630. package/docs/html/interfaces/Snapcode.html +2 -2
  631. package/docs/html/interfaces/UriCancelRequest.html +2 -2
  632. package/docs/html/interfaces/UriRequest.html +2 -2
  633. package/docs/html/interfaces/UriResponse.html +2 -2
  634. package/docs/html/interfaces/VideoSourceOptions.html +2 -2
  635. package/docs/html/modules.html +7 -3
  636. package/docs/html/types/ArgumentValidationError.html +2 -0
  637. package/docs/html/types/AssetLoader.html +2 -2
  638. package/docs/html/types/AssetResponse.html +1 -1
  639. package/docs/html/types/AssetTiming.html +2 -2
  640. package/docs/html/types/BenchmarkError.html +1 -1
  641. package/docs/html/types/BootstrapError.html +2 -2
  642. package/docs/html/types/CacheKeyNotFoundError.html +1 -1
  643. package/docs/html/types/CameraKitSessionEventListener.html +2 -2
  644. package/docs/html/types/CameraKitSessionEvents.html +2 -2
  645. package/docs/html/types/CameraKitSourceError.html +1 -1
  646. package/docs/html/types/ConfigurationError.html +2 -2
  647. package/docs/html/types/FetchHandler.html +1 -1
  648. package/docs/html/types/Keyboard.html +2 -2
  649. package/docs/html/types/KeyboardEvents.html +2 -2
  650. package/docs/html/types/LegalError.html +1 -1
  651. package/docs/html/types/LensAbortError.html +2 -2
  652. package/docs/html/types/LensAssetError.html +2 -2
  653. package/docs/html/types/LensContentValidationError.html +1 -1
  654. package/docs/html/types/LensError.html +1 -1
  655. package/docs/html/types/LensExecutionError.html +2 -2
  656. package/docs/html/types/LensImagePickerError.html +2 -2
  657. package/docs/html/types/LensLaunchParams.html +2 -2
  658. package/docs/html/types/LensMetricsEvents.html +2 -2
  659. package/docs/html/types/LensPerformanceCluster.html +1 -1
  660. package/docs/html/types/LensView.html +2 -2
  661. package/docs/html/types/LensWait.html +2 -2
  662. package/docs/html/types/Matrix.html +2 -2
  663. package/docs/html/types/PersistentStoreError.html +2 -2
  664. package/docs/html/types/PlatformNotSupportedError.html +2 -2
  665. package/docs/html/types/PublicContainer.html +2 -2
  666. package/docs/html/types/PublicServices.html +2 -2
  667. package/docs/html/types/RemoteApiCancelRequestHandler.html +2 -2
  668. package/docs/html/types/RemoteApiRequestHandler.html +2 -2
  669. package/docs/html/types/RemoteApiServices.html +1 -1
  670. package/docs/html/types/RemoteApiStatus.html +2 -2
  671. package/docs/html/types/RenderTarget.html +2 -2
  672. package/docs/html/types/Uri.html +1 -1
  673. package/docs/html/types/WebGLError.html +1 -1
  674. package/docs/html/types/Zodiac.html +1 -0
  675. package/docs/html/variables/extensionRequestContext.html +2 -2
  676. package/docs/md/README.md +1 -1
  677. package/docs/md/classes/CameraKit.md +1 -1
  678. package/docs/md/classes/CameraKitSession.md +1 -1
  679. package/docs/md/classes/CameraKitSource.md +1 -1
  680. package/docs/md/classes/LensPerformanceMeasurement.md +1 -1
  681. package/docs/md/classes/LensPerformanceMetrics.md +1 -1
  682. package/docs/md/classes/LensRepository.md +2 -2
  683. package/docs/md/classes/Transform2D.md +1 -1
  684. package/docs/md/classes/TypedCustomEvent.md +1 -1
  685. package/docs/md/classes/TypedEventTarget.md +1 -1
  686. package/docs/md/enums/Lens_CameraFacing.md +1 -1
  687. package/docs/md/interfaces/BitmojiUserInfo.md +22 -0
  688. package/docs/md/interfaces/CameraKitBootstrapConfiguration.md +1 -1
  689. package/docs/md/interfaces/CameraKitDeviceOptions.md +1 -1
  690. package/docs/md/interfaces/CameraKitSourceInfo.md +1 -1
  691. package/docs/md/interfaces/CameraKitSourceSubscriber.md +1 -1
  692. package/docs/md/interfaces/ComputedFrameMetrics.md +1 -1
  693. package/docs/md/interfaces/CreateSessionOptions.md +1 -1
  694. package/docs/md/interfaces/EstimatedLensPerformance.md +1 -1
  695. package/docs/md/interfaces/FriendUserInfo.md +29 -0
  696. package/docs/md/interfaces/FunctionSourceOptions.md +1 -1
  697. package/docs/md/interfaces/Lens.md +1 -1
  698. package/docs/md/interfaces/LensCreator.md +1 -1
  699. package/docs/md/interfaces/LensLaunchData.md +2 -21
  700. package/docs/md/interfaces/LensSource.md +1 -1
  701. package/docs/md/interfaces/LensUserData.md +71 -0
  702. package/docs/md/interfaces/LoadAssetRequest.md +1 -1
  703. package/docs/md/interfaces/MediaStreamSourceOptions.md +1 -1
  704. package/docs/md/interfaces/Preview.md +1 -1
  705. package/docs/md/interfaces/RemoteApiRequest.md +1 -1
  706. package/docs/md/interfaces/RemoteApiResponse.md +2 -2
  707. package/docs/md/interfaces/RemoteApiService.md +2 -2
  708. package/docs/md/interfaces/Snapcode.md +1 -1
  709. package/docs/md/interfaces/UriCancelRequest.md +1 -1
  710. package/docs/md/interfaces/UriRequest.md +1 -1
  711. package/docs/md/interfaces/UriResponse.md +1 -1
  712. package/docs/md/interfaces/VideoSourceOptions.md +1 -1
  713. package/docs/md/modules.md +23 -5
  714. package/package.json +14 -12
  715. package/docs/html/enums/UserData_Zodiac.html +0 -15
  716. package/docs/md/enums/UserData_Zodiac.md +0 -106
  717. package/lib/CameraKit.d.ts +0 -333
  718. package/lib/CameraKit.js +0 -176
  719. package/lib/CameraKit.js.map +0 -1
  720. package/lib/__tests__/data.d.ts +0 -14
  721. package/lib/__tests__/data.js +0 -69
  722. package/lib/__tests__/data.js.map +0 -1
  723. package/lib/__tests__/deferred.d.ts +0 -16
  724. package/lib/__tests__/deferred.js +0 -29
  725. package/lib/__tests__/deferred.js.map +0 -1
  726. package/lib/__tests__/jest.matchers.d.ts +0 -17
  727. package/lib/__tests__/jest.matchers.js +0 -67
  728. package/lib/__tests__/jest.matchers.js.map +0 -1
  729. package/lib/benchmark/benchmarkGflops.d.ts +0 -16
  730. package/lib/benchmark/benchmarkGflops.js +0 -129
  731. package/lib/benchmark/benchmarkGflops.js.map +0 -1
  732. package/lib/benchmark/estimateLensPerformanceCluster.d.ts +0 -33
  733. package/lib/benchmark/estimateLensPerformanceCluster.js +0 -48
  734. package/lib/benchmark/estimateLensPerformanceCluster.js.map +0 -1
  735. package/lib/benchmark/webglUtils.d.ts +0 -7
  736. package/lib/bootstrapCameraKit.d.ts +0 -96
  737. package/lib/bootstrapCameraKit.js +0 -220
  738. package/lib/bootstrapCameraKit.js.map +0 -1
  739. package/lib/clients/createTsProtoClient.d.ts +0 -40
  740. package/lib/clients/createTsProtoClient.js +0 -52
  741. package/lib/clients/createTsProtoClient.js.map +0 -1
  742. package/lib/clients/grpcHandler.d.ts +0 -26
  743. package/lib/clients/grpcHandler.js +0 -90
  744. package/lib/clients/grpcHandler.js.map +0 -1
  745. package/lib/clients/lensesClient.d.ts +0 -9
  746. package/lib/clients/lensesClient.js.map +0 -1
  747. package/lib/clients/metricsClient.d.ts +0 -26
  748. package/lib/clients/metricsClient.js +0 -120
  749. package/lib/clients/metricsClient.js.map +0 -1
  750. package/lib/common/__mocks__/loadScript.d.ts +0 -1
  751. package/lib/common/__mocks__/loadScript.js +0 -10
  752. package/lib/common/__mocks__/loadScript.js.map +0 -1
  753. package/lib/common/assertions.d.ts +0 -27
  754. package/lib/common/assertions.js +0 -39
  755. package/lib/common/assertions.js.map +0 -1
  756. package/lib/common/copyDefinedProperties.d.ts +0 -13
  757. package/lib/common/copyDefinedProperties.js +0 -16
  758. package/lib/common/copyDefinedProperties.js.map +0 -1
  759. package/lib/common/date.d.ts +0 -3
  760. package/lib/common/dialog.d.ts +0 -59
  761. package/lib/common/dialog.js +0 -160
  762. package/lib/common/dialog.js.map +0 -1
  763. package/lib/common/entries.d.ts +0 -4
  764. package/lib/common/entries.js +0 -5
  765. package/lib/common/entries.js.map +0 -1
  766. package/lib/common/errorHelpers.d.ts +0 -10
  767. package/lib/common/errorHelpers.js +0 -24
  768. package/lib/common/errorHelpers.js.map +0 -1
  769. package/lib/common/getFilename.d.ts +0 -1
  770. package/lib/common/hash.d.ts +0 -5
  771. package/lib/common/hash.js +0 -17
  772. package/lib/common/hash.js.map +0 -1
  773. package/lib/common/loadScript.d.ts +0 -6
  774. package/lib/common/loadScript.js +0 -18
  775. package/lib/common/loadScript.js.map +0 -1
  776. package/lib/common/localization.d.ts +0 -54
  777. package/lib/common/localization.js +0 -654
  778. package/lib/common/localization.js.map +0 -1
  779. package/lib/common/memoize.d.ts +0 -8
  780. package/lib/common/pageVisibility.d.ts +0 -34
  781. package/lib/common/pageVisibility.js +0 -71
  782. package/lib/common/pageVisibility.js.map +0 -1
  783. package/lib/common/result.d.ts +0 -36
  784. package/lib/common/result.js +0 -40
  785. package/lib/common/result.js.map +0 -1
  786. package/lib/common/time.d.ts +0 -2
  787. package/lib/common/typeguards.d.ts +0 -53
  788. package/lib/common/typeguards.js +0 -92
  789. package/lib/common/typeguards.js.map +0 -1
  790. package/lib/common/types.d.ts +0 -18
  791. package/lib/common/types.js.map +0 -1
  792. package/lib/common/unionBy.d.ts +0 -28
  793. package/lib/common/unionBy.js +0 -46
  794. package/lib/common/unionBy.js.map +0 -1
  795. package/lib/common/validate.d.ts +0 -14
  796. package/lib/common/validate.js +0 -112
  797. package/lib/common/validate.js.map +0 -1
  798. package/lib/configuration.d.ts +0 -101
  799. package/lib/configuration.js +0 -51
  800. package/lib/configuration.js.map +0 -1
  801. package/lib/configurationOverrides.d.ts +0 -12
  802. package/lib/configurationOverrides.js +0 -46
  803. package/lib/configurationOverrides.js.map +0 -1
  804. package/lib/dependency-injection/Container.d.ts +0 -176
  805. package/lib/dependency-injection/Container.js +0 -160
  806. package/lib/dependency-injection/Container.js.map +0 -1
  807. package/lib/dependency-injection/Injectable.d.ts +0 -95
  808. package/lib/dependency-injection/Injectable.js.map +0 -1
  809. package/lib/dependency-injection/PartialContainer.d.ts +0 -85
  810. package/lib/dependency-injection/PartialContainer.js +0 -85
  811. package/lib/dependency-injection/PartialContainer.js.map +0 -1
  812. package/lib/dependency-injection/RootServices.d.ts +0 -73
  813. package/lib/dependency-injection/RootServices.js +0 -2
  814. package/lib/dependency-injection/RootServices.js.map +0 -1
  815. package/lib/dependency-injection/types.d.ts +0 -56
  816. package/lib/dependency-injection/types.js.map +0 -1
  817. package/lib/environment.d.ts +0 -4
  818. package/lib/environment.js +0 -2
  819. package/lib/environment.js.map +0 -1
  820. package/lib/events/TypedCustomEvent.d.ts +0 -10
  821. package/lib/events/TypedCustomEvent.js +0 -11
  822. package/lib/events/TypedCustomEvent.js.map +0 -1
  823. package/lib/events/TypedEventTarget.d.ts +0 -25
  824. package/lib/events/TypedEventTarget.js +0 -57
  825. package/lib/events/TypedEventTarget.js.map +0 -1
  826. package/lib/events/scan.d.ts +0 -15
  827. package/lib/events/scan.js +0 -46
  828. package/lib/events/scan.js.map +0 -1
  829. package/lib/extensions/RemoteApiServices.d.ts +0 -101
  830. package/lib/extensions/RemoteApiServices.js +0 -203
  831. package/lib/extensions/RemoteApiServices.js.map +0 -1
  832. package/lib/extensions/UriHandlers.d.ts +0 -47
  833. package/lib/extensions/UriHandlers.js +0 -38
  834. package/lib/extensions/UriHandlers.js.map +0 -1
  835. package/lib/extensions/extensionRequestContext.d.ts +0 -4
  836. package/lib/extensions/extensionRequestContext.js +0 -14
  837. package/lib/extensions/extensionRequestContext.js.map +0 -1
  838. package/lib/extensions/uriHandlersRegister.d.ts +0 -21
  839. package/lib/extensions/uriHandlersRegister.js +0 -72
  840. package/lib/extensions/uriHandlersRegister.js.map +0 -1
  841. package/lib/generated-proto/blizzard/cameraKitEvents.d.ts +0 -9527
  842. package/lib/generated-proto/pb_schema/camera_kit/v3/business_events.d.ts +0 -79
  843. package/lib/generated-proto/pb_schema/camera_kit/v3/export.d.ts +0 -528
  844. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.d.ts +0 -34
  845. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js +0 -43
  846. package/lib/generated-proto/pb_schema/camera_kit/v3/features/ranking_info.js.map +0 -1
  847. package/lib/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.d.ts +0 -29
  848. package/lib/generated-proto/pb_schema/camera_kit/v3/legal_prompt.d.ts +0 -85
  849. package/lib/generated-proto/pb_schema/camera_kit/v3/lens.d.ts +0 -384
  850. package/lib/generated-proto/pb_schema/camera_kit/v3/operational_metrics.d.ts +0 -178
  851. package/lib/generated-proto/pb_schema/camera_kit/v3/ranking.d.ts +0 -56
  852. package/lib/generated-proto/pb_schema/camera_kit/v3/service.d.ts +0 -2511
  853. package/lib/generated-proto/pb_schema/cdp/cof/benchmark.d.ts +0 -78
  854. package/lib/generated-proto/pb_schema/cdp/cof/benchmark_name.d.ts +0 -50
  855. package/lib/generated-proto/pb_schema/cdp/cof/circumstance_service.d.ts +0 -25574
  856. package/lib/generated-proto/pb_schema/cdp/cof/config_request.d.ts +0 -279
  857. package/lib/generated-proto/pb_schema/cdp/cof/config_response.d.ts +0 -3725
  858. package/lib/generated-proto/pb_schema/cdp/cof/config_result.d.ts +0 -10223
  859. package/lib/generated-proto/pb_schema/cdp/cof/debug_info.d.ts +0 -93
  860. package/lib/generated-proto/pb_schema/cdp/cof/namespace.d.ts +0 -8
  861. package/lib/generated-proto/pb_schema/common/ruid.d.ts +0 -51
  862. package/lib/generated-proto/pb_schema/common/value.d.ts +0 -144
  863. package/lib/generated-proto/pb_schema/google/api/annotations.d.ts +0 -1
  864. package/lib/generated-proto/pb_schema/google/api/annotations.js +0 -9
  865. package/lib/generated-proto/pb_schema/google/api/annotations.js.map +0 -1
  866. package/lib/generated-proto/pb_schema/google/api/http.d.ts +0 -3630
  867. package/lib/generated-proto/pb_schema/google/api/http.js +0 -194
  868. package/lib/generated-proto/pb_schema/google/api/http.js.map +0 -1
  869. package/lib/generated-proto/pb_schema/google/protobuf/any.d.ts +0 -32
  870. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.d.ts +0 -50896
  871. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js +0 -1857
  872. package/lib/generated-proto/pb_schema/google/protobuf/descriptor.js.map +0 -1
  873. package/lib/generated-proto/pb_schema/google/protobuf/timestamp.d.ts +0 -32
  874. package/lib/generated-proto/pb_schema/google/protobuf/wrappers.d.ts +0 -119
  875. package/lib/generated-proto/pb_schema/lenses/geocircle.d.ts +0 -42
  876. package/lib/generated-proto/pb_schema/lenses/geopoint.d.ts +0 -32
  877. package/lib/generated-proto/pb_schema/lenses/launch_params.d.ts +0 -29
  878. package/lib/generated-proto/pb_schema/lenses/launchdata.d.ts +0 -396
  879. package/lib/generated-proto/pb_schema/lenses/lures.d.ts +0 -111
  880. package/lib/generated-proto/pb_schema/lenses/persistent_store.d.ts +0 -29
  881. package/lib/generated-proto/pb_schema/lenses/remote_api/remote_api_service.d.ts +0 -569
  882. package/lib/generated-proto/pb_schema/lenses/snappable.d.ts +0 -902
  883. package/lib/generated-proto/pb_schema/lenses/user_data.d.ts +0 -229
  884. package/lib/handlers/HandlerChainBuilder.d.ts +0 -110
  885. package/lib/handlers/HandlerChainBuilder.js +0 -199
  886. package/lib/handlers/HandlerChainBuilder.js.map +0 -1
  887. package/lib/handlers/arrayBufferParsingHandler.d.ts +0 -10
  888. package/lib/handlers/arrayBufferParsingHandler.js +0 -18
  889. package/lib/handlers/arrayBufferParsingHandler.js.map +0 -1
  890. package/lib/handlers/batchingHandler.d.ts +0 -31
  891. package/lib/handlers/batchingHandler.js +0 -76
  892. package/lib/handlers/batchingHandler.js.map +0 -1
  893. package/lib/handlers/cameraKitServiceFetchHandlerFactory.d.ts +0 -12
  894. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js +0 -19
  895. package/lib/handlers/cameraKitServiceFetchHandlerFactory.js.map +0 -1
  896. package/lib/handlers/debugHandler.d.ts +0 -8
  897. package/lib/handlers/debugHandler.js +0 -27
  898. package/lib/handlers/debugHandler.js.map +0 -1
  899. package/lib/handlers/defaultFetchHandler.d.ts +0 -15
  900. package/lib/handlers/defaultFetchHandler.js +0 -38
  901. package/lib/handlers/defaultFetchHandler.js.map +0 -1
  902. package/lib/handlers/headersModifyingFetchHandler.d.ts +0 -8
  903. package/lib/handlers/headersModifyingFetchHandler.js +0 -17
  904. package/lib/handlers/headersModifyingFetchHandler.js.map +0 -1
  905. package/lib/handlers/mappingHandler.d.ts +0 -19
  906. package/lib/handlers/mappingHandler.js +0 -67
  907. package/lib/handlers/mappingHandler.js.map +0 -1
  908. package/lib/handlers/noCorsRetryingFetchHandler.d.ts +0 -48
  909. package/lib/handlers/noCorsRetryingFetchHandler.js +0 -95
  910. package/lib/handlers/noCorsRetryingFetchHandler.js.map +0 -1
  911. package/lib/handlers/persistingHandler.d.ts +0 -14
  912. package/lib/handlers/persistingHandler.js +0 -71
  913. package/lib/handlers/persistingHandler.js.map +0 -1
  914. package/lib/handlers/rateLimitingHandler.d.ts +0 -24
  915. package/lib/handlers/rateLimitingHandler.js +0 -45
  916. package/lib/handlers/rateLimitingHandler.js.map +0 -1
  917. package/lib/handlers/requestStateEmittingHandler.d.ts +0 -41
  918. package/lib/handlers/requestStateEmittingHandler.js +0 -45
  919. package/lib/handlers/requestStateEmittingHandler.js.map +0 -1
  920. package/lib/handlers/responseCachingHandler.d.ts +0 -34
  921. package/lib/handlers/responseCachingHandler.js +0 -109
  922. package/lib/handlers/responseCachingHandler.js.map +0 -1
  923. package/lib/handlers/retryingHandler.d.ts +0 -48
  924. package/lib/handlers/retryingHandler.js +0 -86
  925. package/lib/handlers/retryingHandler.js.map +0 -1
  926. package/lib/handlers/timeoutHandler.d.ts +0 -18
  927. package/lib/handlers/timeoutHandler.js +0 -30
  928. package/lib/handlers/timeoutHandler.js.map +0 -1
  929. package/lib/handlers/utils.d.ts +0 -12
  930. package/lib/handlers/utils.js +0 -19
  931. package/lib/handlers/utils.js.map +0 -1
  932. package/lib/index.d.ts +0 -42
  933. package/lib/index.js +0 -36
  934. package/lib/index.js.map +0 -1
  935. package/lib/legal/legalPrompt.d.ts +0 -20
  936. package/lib/legal/legalPrompt.js +0 -135
  937. package/lib/legal/legalPrompt.js.map +0 -1
  938. package/lib/legal/legalState.d.ts +0 -50
  939. package/lib/legal/legalState.js +0 -163
  940. package/lib/legal/legalState.js.map +0 -1
  941. package/lib/lens/Lens.d.ts +0 -115
  942. package/lib/lens/Lens.js +0 -84
  943. package/lib/lens/Lens.js.map +0 -1
  944. package/lib/lens/LensLaunchData.d.ts +0 -40
  945. package/lib/lens/LensLaunchData.js +0 -37
  946. package/lib/lens/LensLaunchData.js.map +0 -1
  947. package/lib/lens/LensPersistenceStore.d.ts +0 -7
  948. package/lib/lens/LensPersistenceStore.js.map +0 -1
  949. package/lib/lens/LensRepository.d.ts +0 -137
  950. package/lib/lens/LensRepository.js +0 -237
  951. package/lib/lens/LensRepository.js.map +0 -1
  952. package/lib/lens/LensSource.d.ts +0 -43
  953. package/lib/lens/LensSource.js +0 -42
  954. package/lib/lens/LensSource.js.map +0 -1
  955. package/lib/lens/assets/LensAssetRepository.d.ts +0 -99
  956. package/lib/lens/assets/LensAssetRepository.js +0 -184
  957. package/lib/lens/assets/LensAssetRepository.js.map +0 -1
  958. package/lib/lens/assets/LensAssetsProvider.d.ts +0 -27
  959. package/lib/lens/assets/LensAssetsProvider.js +0 -68
  960. package/lib/lens/assets/LensAssetsProvider.js.map +0 -1
  961. package/lib/lens/assets/deviceDependentAssetLoader.d.ts +0 -11
  962. package/lib/lens/assets/deviceDependentAssetLoader.js +0 -59
  963. package/lib/lens/assets/deviceDependentAssetLoader.js.map +0 -1
  964. package/lib/lens/assets/remoteMediaAssetLoaderFactory.d.ts +0 -10
  965. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js +0 -27
  966. package/lib/lens/assets/remoteMediaAssetLoaderFactory.js.map +0 -1
  967. package/lib/lens/assets/staticAssetLoader.d.ts +0 -10
  968. package/lib/lens/assets/staticAssetLoader.js +0 -25
  969. package/lib/lens/assets/staticAssetLoader.js.map +0 -1
  970. package/lib/lens/cameraKitLensSource.d.ts +0 -16
  971. package/lib/lens/cameraKitLensSource.js +0 -59
  972. package/lib/lens/cameraKitLensSource.js.map +0 -1
  973. package/lib/lens-client-interface/exif.d.ts +0 -20
  974. package/lib/lens-client-interface/exif.js +0 -61
  975. package/lib/lens-client-interface/exif.js.map +0 -1
  976. package/lib/lens-client-interface/imagePicker.d.ts +0 -8
  977. package/lib/lens-client-interface/imagePicker.js +0 -128
  978. package/lib/lens-client-interface/imagePicker.js.map +0 -1
  979. package/lib/lens-client-interface/lensClientInterface.d.ts +0 -13
  980. package/lib/lens-client-interface/lensClientInterface.js +0 -30
  981. package/lib/lens-client-interface/lensClientInterface.js.map +0 -1
  982. package/lib/lens-core-module/generated-types.d.ts +0 -469
  983. package/lib/lens-core-module/lensCore.d.ts +0 -43
  984. package/lib/lens-core-module/lensCore.js +0 -59
  985. package/lib/lens-core-module/lensCore.js.map +0 -1
  986. package/lib/lens-core-module/lensCoreError.d.ts +0 -15
  987. package/lib/lens-core-module/lensCoreError.js +0 -43
  988. package/lib/lens-core-module/lensCoreError.js.map +0 -1
  989. package/lib/lens-core-module/loader/bootstrapURLs.d.ts +0 -12
  990. package/lib/lens-core-module/loader/bootstrapURLs.js +0 -48
  991. package/lib/lens-core-module/loader/bootstrapURLs.js.map +0 -1
  992. package/lib/lens-core-module/loader/lensCoreFactory.d.ts +0 -17
  993. package/lib/lens-core-module/loader/lensCoreFactory.js +0 -76
  994. package/lib/lens-core-module/loader/lensCoreFactory.js.map +0 -1
  995. package/lib/lensCoreWasmVersions.d.ts +0 -6
  996. package/lib/lensCoreWasmVersions.js +0 -6
  997. package/lib/lensCoreWasmVersions.js.map +0 -1
  998. package/lib/logger/errorLoggingDecorator.d.ts +0 -9
  999. package/lib/logger/errorLoggingDecorator.js +0 -32
  1000. package/lib/logger/errorLoggingDecorator.js.map +0 -1
  1001. package/lib/logger/logEntries.d.ts +0 -15
  1002. package/lib/logger/logEntries.js +0 -14
  1003. package/lib/logger/logEntries.js.map +0 -1
  1004. package/lib/logger/logger.d.ts +0 -40
  1005. package/lib/logger/logger.js +0 -53
  1006. package/lib/logger/logger.js.map +0 -1
  1007. package/lib/logger/registerLogEntriesSubscriber.d.ts +0 -14
  1008. package/lib/logger/registerLogEntriesSubscriber.js +0 -35
  1009. package/lib/logger/registerLogEntriesSubscriber.js.map +0 -1
  1010. package/lib/media-sources/CameraKitSource.d.ts +0 -126
  1011. package/lib/media-sources/CameraKitSource.js +0 -138
  1012. package/lib/media-sources/CameraKitSource.js.map +0 -1
  1013. package/lib/media-sources/FunctionSource.d.ts +0 -41
  1014. package/lib/media-sources/FunctionSource.js +0 -128
  1015. package/lib/media-sources/FunctionSource.js.map +0 -1
  1016. package/lib/media-sources/ImageSource.d.ts +0 -11
  1017. package/lib/media-sources/ImageSource.js +0 -16
  1018. package/lib/media-sources/ImageSource.js.map +0 -1
  1019. package/lib/media-sources/MediaStreamSource.d.ts +0 -29
  1020. package/lib/media-sources/MediaStreamSource.js +0 -137
  1021. package/lib/media-sources/MediaStreamSource.js.map +0 -1
  1022. package/lib/media-sources/VideoSource.d.ts +0 -25
  1023. package/lib/media-sources/VideoSource.js +0 -22
  1024. package/lib/media-sources/VideoSource.js.map +0 -1
  1025. package/lib/metrics/businessEventsReporter.d.ts +0 -39
  1026. package/lib/metrics/businessEventsReporter.js +0 -195
  1027. package/lib/metrics/businessEventsReporter.js.map +0 -1
  1028. package/lib/metrics/metricsEventTarget.d.ts +0 -41
  1029. package/lib/metrics/metricsEventTarget.js +0 -11
  1030. package/lib/metrics/metricsEventTarget.js.map +0 -1
  1031. package/lib/metrics/operational/Count.d.ts +0 -19
  1032. package/lib/metrics/operational/Count.js +0 -33
  1033. package/lib/metrics/operational/Count.js.map +0 -1
  1034. package/lib/metrics/operational/Histogram.d.ts +0 -17
  1035. package/lib/metrics/operational/Histogram.js +0 -27
  1036. package/lib/metrics/operational/Histogram.js.map +0 -1
  1037. package/lib/metrics/operational/Metric.d.ts +0 -20
  1038. package/lib/metrics/operational/Metric.js +0 -28
  1039. package/lib/metrics/operational/Metric.js.map +0 -1
  1040. package/lib/metrics/operational/Timer.d.ts +0 -94
  1041. package/lib/metrics/operational/Timer.js +0 -108
  1042. package/lib/metrics/operational/Timer.js.map +0 -1
  1043. package/lib/metrics/reporters/reportBenchmarks.d.ts +0 -10
  1044. package/lib/metrics/reporters/reportBenchmarks.js +0 -30
  1045. package/lib/metrics/reporters/reportBenchmarks.js.map +0 -1
  1046. package/lib/metrics/reporters/reportGlobalException.d.ts +0 -26
  1047. package/lib/metrics/reporters/reportGlobalException.js +0 -106
  1048. package/lib/metrics/reporters/reportGlobalException.js.map +0 -1
  1049. package/lib/metrics/reporters/reportHttpMetrics.d.ts +0 -10
  1050. package/lib/metrics/reporters/reportHttpMetrics.js +0 -110
  1051. package/lib/metrics/reporters/reportHttpMetrics.js.map +0 -1
  1052. package/lib/metrics/reporters/reportLegalState.d.ts +0 -15
  1053. package/lib/metrics/reporters/reportLegalState.js +0 -32
  1054. package/lib/metrics/reporters/reportLegalState.js.map +0 -1
  1055. package/lib/metrics/reporters/reportLensAndAssetDownload.d.ts +0 -38
  1056. package/lib/metrics/reporters/reportLensAndAssetDownload.js +0 -92
  1057. package/lib/metrics/reporters/reportLensAndAssetDownload.js.map +0 -1
  1058. package/lib/metrics/reporters/reportLensValidationFailed.d.ts +0 -20
  1059. package/lib/metrics/reporters/reportLensValidationFailed.js +0 -24
  1060. package/lib/metrics/reporters/reportLensValidationFailed.js.map +0 -1
  1061. package/lib/metrics/reporters/reportLensView.d.ts +0 -36
  1062. package/lib/metrics/reporters/reportLensView.js +0 -137
  1063. package/lib/metrics/reporters/reportLensView.js.map +0 -1
  1064. package/lib/metrics/reporters/reportLensWait.d.ts +0 -32
  1065. package/lib/metrics/reporters/reportLensWait.js +0 -60
  1066. package/lib/metrics/reporters/reportLensWait.js.map +0 -1
  1067. package/lib/metrics/reporters/reportPlatformCapabilities.d.ts +0 -12
  1068. package/lib/metrics/reporters/reportPlatformCapabilities.js +0 -19
  1069. package/lib/metrics/reporters/reportPlatformCapabilities.js.map +0 -1
  1070. package/lib/metrics/reporters/reportSessionException.d.ts +0 -17
  1071. package/lib/metrics/reporters/reportSessionException.js +0 -12
  1072. package/lib/metrics/reporters/reportSessionException.js.map +0 -1
  1073. package/lib/metrics/reporters/reportUserSession.d.ts +0 -14
  1074. package/lib/metrics/reporters/reportUserSession.js +0 -66
  1075. package/lib/metrics/reporters/reportUserSession.js.map +0 -1
  1076. package/lib/metrics/reporters/reporters.d.ts +0 -46
  1077. package/lib/metrics/reporters/reporters.js +0 -35
  1078. package/lib/metrics/reporters/reporters.js.map +0 -1
  1079. package/lib/namedErrors.d.ts +0 -124
  1080. package/lib/namedErrors.js +0 -58
  1081. package/lib/namedErrors.js.map +0 -1
  1082. package/lib/observable-operators/unsubscribed.d.ts +0 -12
  1083. package/lib/observable-operators/unsubscribed.js +0 -27
  1084. package/lib/observable-operators/unsubscribed.js.map +0 -1
  1085. package/lib/persistence/ExpiringPersistence.d.ts +0 -21
  1086. package/lib/persistence/ExpiringPersistence.js +0 -71
  1087. package/lib/persistence/ExpiringPersistence.js.map +0 -1
  1088. package/lib/persistence/IndexedDBPersistence.d.ts +0 -47
  1089. package/lib/persistence/IndexedDBPersistence.js +0 -190
  1090. package/lib/persistence/IndexedDBPersistence.js.map +0 -1
  1091. package/lib/persistence/Persistence.d.ts +0 -25
  1092. package/lib/persistence/Persistence.js +0 -10
  1093. package/lib/persistence/Persistence.js.map +0 -1
  1094. package/lib/platform/assertPlatformSupported.d.ts +0 -4
  1095. package/lib/platform/assertPlatformSupported.js +0 -15
  1096. package/lib/platform/assertPlatformSupported.js.map +0 -1
  1097. package/lib/platform/cameraKitUserAgent.d.ts +0 -2
  1098. package/lib/platform/cameraKitUserAgent.js +0 -20
  1099. package/lib/platform/cameraKitUserAgent.js.map +0 -1
  1100. package/lib/platform/platformCapabilities.d.ts +0 -50
  1101. package/lib/platform/platformCapabilities.js +0 -128
  1102. package/lib/platform/platformCapabilities.js.map +0 -1
  1103. package/lib/platform/platformInfo.d.ts +0 -43
  1104. package/lib/platform/platformInfo.js +0 -228
  1105. package/lib/platform/platformInfo.js.map +0 -1
  1106. package/lib/remote-configuration/cofHandler.d.ts +0 -29
  1107. package/lib/remote-configuration/cofHandler.js +0 -115
  1108. package/lib/remote-configuration/cofHandler.js.map +0 -1
  1109. package/lib/remote-configuration/preloadConfiguration.d.ts +0 -7
  1110. package/lib/remote-configuration/preloadConfiguration.js +0 -15
  1111. package/lib/remote-configuration/preloadConfiguration.js.map +0 -1
  1112. package/lib/remote-configuration/remoteConfiguration.d.ts +0 -34
  1113. package/lib/remote-configuration/remoteConfiguration.js +0 -73
  1114. package/lib/remote-configuration/remoteConfiguration.js.map +0 -1
  1115. package/lib/session/CameraKitSession.d.ts +0 -255
  1116. package/lib/session/CameraKitSession.js +0 -440
  1117. package/lib/session/CameraKitSession.js.map +0 -1
  1118. package/lib/session/CameraKitSessionEvents.d.ts +0 -37
  1119. package/lib/session/CameraKitSessionEvents.js +0 -38
  1120. package/lib/session/CameraKitSessionEvents.js.map +0 -1
  1121. package/lib/session/LensKeyboard.d.ts +0 -94
  1122. package/lib/session/LensKeyboard.js +0 -95
  1123. package/lib/session/LensKeyboard.js.map +0 -1
  1124. package/lib/session/LensPerformanceMeasurement.d.ts +0 -57
  1125. package/lib/session/LensPerformanceMeasurement.js +0 -114
  1126. package/lib/session/LensPerformanceMeasurement.js.map +0 -1
  1127. package/lib/session/LensPerformanceMetrics.d.ts +0 -31
  1128. package/lib/session/LensPerformanceMetrics.js +0 -59
  1129. package/lib/session/LensPerformanceMetrics.js.map +0 -1
  1130. package/lib/session/lensState.d.ts +0 -30
  1131. package/lib/session/lensState.js +0 -238
  1132. package/lib/session/lensState.js.map +0 -1
  1133. package/lib/session/sessionState.d.ts +0 -10
  1134. package/lib/session/sessionState.js.map +0 -1
  1135. package/lib/transforms/Transform2D.d.ts +0 -22
  1136. package/lib/transforms/Transform2D.js +0 -19
  1137. package/lib/transforms/Transform2D.js.map +0 -1
  1138. package/lib/utils.d.ts +0 -3
  1139. /package/{lib → dist}/benchmark/webglUtils.js +0 -0
  1140. /package/{lib → dist}/benchmark/webglUtils.js.map +0 -0
  1141. /package/{lib → dist}/clients/lensesClient.js +0 -0
  1142. /package/{lib → dist}/common/date.js +0 -0
  1143. /package/{lib → dist}/common/date.js.map +0 -0
  1144. /package/{lib → dist}/common/getFilename.js +0 -0
  1145. /package/{lib → dist}/common/getFilename.js.map +0 -0
  1146. /package/{lib → dist}/common/memoize.js +0 -0
  1147. /package/{lib → dist}/common/memoize.js.map +0 -0
  1148. /package/{lib → dist}/common/time.js +0 -0
  1149. /package/{lib → dist}/common/time.js.map +0 -0
  1150. /package/{lib → dist}/common/types.js +0 -0
  1151. /package/{lib → dist}/dependency-injection/Injectable.js +0 -0
  1152. /package/{lib → dist}/dependency-injection/types.js +0 -0
  1153. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js +0 -0
  1154. /package/{lib → dist}/generated-proto/blizzard/cameraKitEvents.js.map +0 -0
  1155. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js +0 -0
  1156. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/business_events.js.map +0 -0
  1157. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js +0 -0
  1158. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/export.js.map +0 -0
  1159. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js +0 -0
  1160. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/features/remote_api_info.js.map +0 -0
  1161. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js +0 -0
  1162. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/legal_prompt.js.map +0 -0
  1163. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js +0 -0
  1164. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/lens.js.map +0 -0
  1165. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js +0 -0
  1166. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/operational_metrics.js.map +0 -0
  1167. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js +0 -0
  1168. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/ranking.js.map +0 -0
  1169. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js +0 -0
  1170. /package/{lib → dist}/generated-proto/pb_schema/camera_kit/v3/service.js.map +0 -0
  1171. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js +0 -0
  1172. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark.js.map +0 -0
  1173. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js +0 -0
  1174. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/benchmark_name.js.map +0 -0
  1175. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js +0 -0
  1176. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/circumstance_service.js.map +0 -0
  1177. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js +0 -0
  1178. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_request.js.map +0 -0
  1179. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js +0 -0
  1180. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_response.js.map +0 -0
  1181. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js +0 -0
  1182. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/config_result.js.map +0 -0
  1183. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js +0 -0
  1184. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/debug_info.js.map +0 -0
  1185. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js +0 -0
  1186. /package/{lib → dist}/generated-proto/pb_schema/cdp/cof/namespace.js.map +0 -0
  1187. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js +0 -0
  1188. /package/{lib → dist}/generated-proto/pb_schema/common/ruid.js.map +0 -0
  1189. /package/{lib → dist}/generated-proto/pb_schema/common/value.js +0 -0
  1190. /package/{lib → dist}/generated-proto/pb_schema/common/value.js.map +0 -0
  1191. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js +0 -0
  1192. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/any.js.map +0 -0
  1193. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js +0 -0
  1194. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/timestamp.js.map +0 -0
  1195. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js +0 -0
  1196. /package/{lib → dist}/generated-proto/pb_schema/google/protobuf/wrappers.js.map +0 -0
  1197. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js +0 -0
  1198. /package/{lib → dist}/generated-proto/pb_schema/lenses/geocircle.js.map +0 -0
  1199. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js +0 -0
  1200. /package/{lib → dist}/generated-proto/pb_schema/lenses/geopoint.js.map +0 -0
  1201. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js +0 -0
  1202. /package/{lib → dist}/generated-proto/pb_schema/lenses/launch_params.js.map +0 -0
  1203. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js +0 -0
  1204. /package/{lib → dist}/generated-proto/pb_schema/lenses/launchdata.js.map +0 -0
  1205. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js +0 -0
  1206. /package/{lib → dist}/generated-proto/pb_schema/lenses/lures.js.map +0 -0
  1207. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js +0 -0
  1208. /package/{lib → dist}/generated-proto/pb_schema/lenses/persistent_store.js.map +0 -0
  1209. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js +0 -0
  1210. /package/{lib → dist}/generated-proto/pb_schema/lenses/remote_api/remote_api_service.js.map +0 -0
  1211. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js +0 -0
  1212. /package/{lib → dist}/generated-proto/pb_schema/lenses/snappable.js.map +0 -0
  1213. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js +0 -0
  1214. /package/{lib → dist}/generated-proto/pb_schema/lenses/user_data.js.map +0 -0
  1215. /package/{lib → dist}/lens/LensPersistenceStore.js +0 -0
  1216. /package/{lib → dist}/lens-core-module/generated-types.js +0 -0
  1217. /package/{lib → dist}/lens-core-module/generated-types.js.map +0 -0
  1218. /package/{lib → dist}/session/sessionState.js +0 -0
  1219. /package/{lib → dist}/utils.js +0 -0
  1220. /package/{lib → dist}/utils.js.map +0 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Lens launch params.
3
+ */
4
+ export type LensLaunchParams = Record<string, string | number | string[] | number[]>;
5
+ /**
6
+ * Some Lenses may accept (or require) certain data provided to them when the Lens is applied.
7
+ *
8
+ * This data may include things like user info (to render the user's name, for example, or perform some task based on
9
+ * their birth date), or arbitrary `launchParams` defined by the Lens.
10
+ *
11
+ * @category Lenses
12
+ */
13
+ export interface LensLaunchData {
14
+ userId?: string;
15
+ userData?: LensUserData;
16
+ launchParams?: LensLaunchParams;
17
+ }
18
+ export interface LensUserData {
19
+ userId?: string;
20
+ username?: string;
21
+ birthdate?: string;
22
+ displayName?: string;
23
+ countrycode?: string;
24
+ score?: string;
25
+ bitmojiInfo?: BitmojiUserInfo;
26
+ friendInfo?: FriendUserInfo;
27
+ zodiac?: Zodiac;
28
+ }
29
+ export interface BitmojiUserInfo {
30
+ avatarId?: string;
31
+ selfieId?: string;
32
+ }
33
+ export interface FriendUserInfo {
34
+ friendshipStart?: Date;
35
+ lastInteraction?: Date;
36
+ streak?: number;
37
+ }
38
+ export type Zodiac = "aquarius" | "aries" | "cancer" | "capricorn" | "gemini" | "leo" | "libra" | "pisces" | "sagittarius" | "scorpio" | "taurus" | "virgo";
39
+ export declare function isZodiac(value: unknown): value is Zodiac;
40
+ export declare function isLensLaunchDataOrUndefined(value: unknown): value is LensLaunchData | undefined;
41
+ /**
42
+ * @internal
43
+ */
44
+ export declare const encodeLensLaunchData: (launchData: LensLaunchData, persistentStore: ArrayBuffer) => Uint8Array;
45
+ //# sourceMappingURL=LensLaunchData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensLaunchData.d.ts","sourceRoot":"","sources":["../../src/lens/LensLaunchData.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAErF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAoBD,MAAM,MAAM,MAAM,GACZ,UAAU,GACV,OAAO,GACP,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,KAAK,GACL,OAAO,GACP,QAAQ,GACR,aAAa,GACb,SAAS,GACT,QAAQ,GACR,OAAO,CAAC;AAId,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,GAAG,SAAS,CAE/F;AAqED;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAAgB,cAAc,mBAAmB,WAAW,KAAG,UAmB/F,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { LaunchData } from "../generated-proto/pb_schema/lenses/launchdata";
2
+ import { isArrayOfType, isDateOrUndefined, isValidNumberOrUndefined, isRecord, isString, isStringOrUndefined, isUndefined, isValidNumber, predicateRecordValues, } from "../common/typeguards";
3
+ import { UserData_Zodiac } from "../generated-proto/pb_schema/lenses/user_data";
4
+ const zodiacMap = {
5
+ aquarius: UserData_Zodiac.Aquarius,
6
+ aries: UserData_Zodiac.Aries,
7
+ cancer: UserData_Zodiac.Cancer,
8
+ capricorn: UserData_Zodiac.Capricorn,
9
+ gemini: UserData_Zodiac.Gemini,
10
+ leo: UserData_Zodiac.Leo,
11
+ libra: UserData_Zodiac.Libra,
12
+ pisces: UserData_Zodiac.Pisces,
13
+ sagittarius: UserData_Zodiac.Sagittarius,
14
+ scorpio: UserData_Zodiac.Scorpio,
15
+ taurus: UserData_Zodiac.Taurus,
16
+ virgo: UserData_Zodiac.Virgo,
17
+ };
18
+ const zodiacValueSet = new Set(Object.keys(zodiacMap));
19
+ export function isZodiac(value) {
20
+ return zodiacValueSet.has(value);
21
+ }
22
+ export function isLensLaunchDataOrUndefined(value) {
23
+ return isUndefined(value) || isLensLaunchData(value);
24
+ }
25
+ function isLensLaunchData(value) {
26
+ return (isRecord(value) &&
27
+ isStringOrUndefined(value.userId) &&
28
+ isLensUserDataOrUndefined(value.userData) &&
29
+ isLensLaunchParamsOrUndefined(value.launchParams));
30
+ }
31
+ function isLensUserDataOrUndefined(value) {
32
+ return isUndefined(value) || isLensUserData(value);
33
+ }
34
+ function isLensUserData(value) {
35
+ return (isRecord(value) &&
36
+ isStringOrUndefined(value.userId) &&
37
+ isStringOrUndefined(value.username) &&
38
+ isStringOrUndefined(value.birthdate) &&
39
+ isStringOrUndefined(value.displayName) &&
40
+ isStringOrUndefined(value.countrycode) &&
41
+ isStringOrUndefined(value.score) &&
42
+ isBitmojiUserInfoOrUndefined(value.bitmojiInfo) &&
43
+ isFriendUserInfoOrUndefined(value.friendInfo) &&
44
+ isZodiacOrUndefined(value.zodiac));
45
+ }
46
+ function isBitmojiUserInfoOrUndefined(value) {
47
+ return isUndefined(value) || isBitmojiUserInfo(value);
48
+ }
49
+ function isBitmojiUserInfo(value) {
50
+ return isRecord(value) && isStringOrUndefined(value.avatarId) && isStringOrUndefined(value.selfieId);
51
+ }
52
+ function isFriendUserInfoOrUndefined(value) {
53
+ return isUndefined(value) || isFriendUserInfo(value);
54
+ }
55
+ function isFriendUserInfo(value) {
56
+ return (isRecord(value) &&
57
+ isDateOrUndefined(value.friendshipStart) &&
58
+ isDateOrUndefined(value.lastInteraction) &&
59
+ isValidNumberOrUndefined(value.streak));
60
+ }
61
+ function isZodiacOrUndefined(value) {
62
+ return isUndefined(value) || isZodiac(value);
63
+ }
64
+ function isLensLaunchParamsOrUndefined(value) {
65
+ return isUndefined(value) || isLensLaunchParams(value);
66
+ }
67
+ function isLensLaunchParams(value) {
68
+ return isRecord(value) && predicateRecordValues(isStringOrNumberOrArrayOfStringsOrNumbers)(value);
69
+ }
70
+ function isStringOrNumberOrArrayOfStringsOrNumbers(value) {
71
+ return (isString(value) || isValidNumber(value) || isArrayOfType(isString, value) || isArrayOfType(isValidNumber, value));
72
+ }
73
+ export const encodeLensLaunchData = (launchData, persistentStore) => {
74
+ var _a;
75
+ return LaunchData.encode(LaunchData.fromPartial(Object.assign(Object.assign({}, launchData), { userData: launchData.userData
76
+ ? Object.assign(Object.assign({}, launchData.userData), { zodiac: ((_a = launchData.userData) === null || _a === void 0 ? void 0 : _a.zodiac) ? zodiacMap[launchData.userData.zodiac] : undefined }) : undefined, launchParams: launchData.launchParams ? encodeLensLaunchParams(launchData.launchParams) : undefined, persistentStore: { store: new Uint8Array(persistentStore) } })))
77
+ .finish()
78
+ .slice();
79
+ };
80
+ function encodeLensLaunchParams(launchParams) {
81
+ return { data: new TextEncoder().encode(JSON.stringify(launchParams)) };
82
+ }
83
+ //# sourceMappingURL=LensLaunchData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensLaunchData.js","sourceRoot":"","sources":["../../src/lens/LensLaunchData.ts"],"names":[],"mappings":"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","sourcesContent":["import { LaunchData } from \"../generated-proto/pb_schema/lenses/launchdata\";\nimport {\n isArrayOfType,\n isDateOrUndefined,\n isValidNumberOrUndefined,\n isRecord,\n isString,\n isStringOrUndefined,\n isUndefined,\n isValidNumber,\n predicateRecordValues,\n} from \"../common/typeguards\";\nimport type { LaunchParams } from \"../generated-proto/pb_schema/lenses/launch_params\";\nimport { UserData_Zodiac } from \"../generated-proto/pb_schema/lenses/user_data\";\nimport type { EnumToPublicStringLiteralMap, ExcludeKeys } from \"../common/types\";\n\n/**\n * Lens launch params.\n */\nexport type LensLaunchParams = Record<string, string | number | string[] | number[]>;\n\n/**\n * Some Lenses may accept (or require) certain data provided to them when the Lens is applied.\n *\n * This data may include things like user info (to render the user's name, for example, or perform some task based on\n * their birth date), or arbitrary `launchParams` defined by the Lens.\n *\n * @category Lenses\n */\nexport interface LensLaunchData {\n userId?: string;\n userData?: LensUserData;\n launchParams?: LensLaunchParams;\n}\n\nexport interface LensUserData {\n userId?: string;\n username?: string;\n birthdate?: string;\n displayName?: string;\n countrycode?: string;\n score?: string;\n bitmojiInfo?: BitmojiUserInfo;\n friendInfo?: FriendUserInfo;\n zodiac?: Zodiac;\n}\n\nexport interface BitmojiUserInfo {\n avatarId?: string;\n selfieId?: string;\n}\n\nexport interface FriendUserInfo {\n friendshipStart?: Date;\n lastInteraction?: Date;\n streak?: number;\n}\n\n// Extract public values of UserData_Zodiac\nconst zodiacMap: ExcludeKeys<EnumToPublicStringLiteralMap<typeof UserData_Zodiac>, \"invalid\" | \"unrecognized\"> = {\n aquarius: UserData_Zodiac.Aquarius,\n aries: UserData_Zodiac.Aries,\n cancer: UserData_Zodiac.Cancer,\n capricorn: UserData_Zodiac.Capricorn,\n gemini: UserData_Zodiac.Gemini,\n leo: UserData_Zodiac.Leo,\n libra: UserData_Zodiac.Libra,\n pisces: UserData_Zodiac.Pisces,\n sagittarius: UserData_Zodiac.Sagittarius,\n scorpio: UserData_Zodiac.Scorpio,\n taurus: UserData_Zodiac.Taurus,\n virgo: UserData_Zodiac.Virgo,\n // NOTE: This rule helps keep the public-facing Zodiac type consistent with the proto.\n // We prefer using a separate type for TypeDoc purposes.\n} satisfies Record<Zodiac, UserData_Zodiac>;\n\nexport type Zodiac =\n | \"aquarius\"\n | \"aries\"\n | \"cancer\"\n | \"capricorn\"\n | \"gemini\"\n | \"leo\"\n | \"libra\"\n | \"pisces\"\n | \"sagittarius\"\n | \"scorpio\"\n | \"taurus\"\n | \"virgo\";\n\nconst zodiacValueSet = new Set(Object.keys(zodiacMap) as Zodiac[]);\n\nexport function isZodiac(value: unknown): value is Zodiac {\n return zodiacValueSet.has(value as Zodiac);\n}\n\nexport function isLensLaunchDataOrUndefined(value: unknown): value is LensLaunchData | undefined {\n return isUndefined(value) || isLensLaunchData(value);\n}\n\nfunction isLensLaunchData(value: unknown): value is LensLaunchData {\n return (\n isRecord(value) &&\n isStringOrUndefined(value.userId) &&\n isLensUserDataOrUndefined(value.userData) &&\n isLensLaunchParamsOrUndefined(value.launchParams)\n );\n}\n\nfunction isLensUserDataOrUndefined(value: unknown): value is LensUserData | undefined {\n return isUndefined(value) || isLensUserData(value);\n}\n\nfunction isLensUserData(value: unknown): value is LensUserData {\n return (\n isRecord(value) &&\n isStringOrUndefined(value.userId) &&\n isStringOrUndefined(value.username) &&\n isStringOrUndefined(value.birthdate) &&\n isStringOrUndefined(value.displayName) &&\n isStringOrUndefined(value.countrycode) &&\n isStringOrUndefined(value.score) &&\n isBitmojiUserInfoOrUndefined(value.bitmojiInfo) &&\n isFriendUserInfoOrUndefined(value.friendInfo) &&\n isZodiacOrUndefined(value.zodiac)\n );\n}\n\nfunction isBitmojiUserInfoOrUndefined(value: unknown): value is BitmojiUserInfo | undefined {\n return isUndefined(value) || isBitmojiUserInfo(value);\n}\n\nfunction isBitmojiUserInfo(value: unknown): value is BitmojiUserInfo {\n return isRecord(value) && isStringOrUndefined(value.avatarId) && isStringOrUndefined(value.selfieId);\n}\n\nfunction isFriendUserInfoOrUndefined(value: unknown): value is FriendUserInfo | undefined {\n return isUndefined(value) || isFriendUserInfo(value);\n}\n\nfunction isFriendUserInfo(value: unknown): value is FriendUserInfo {\n return (\n isRecord(value) &&\n isDateOrUndefined(value.friendshipStart) &&\n isDateOrUndefined(value.lastInteraction) &&\n isValidNumberOrUndefined(value.streak)\n );\n}\n\nfunction isZodiacOrUndefined(value: unknown): value is Zodiac | undefined {\n return isUndefined(value) || isZodiac(value);\n}\n\nfunction isLensLaunchParamsOrUndefined(value: unknown): value is LensLaunchParams | undefined {\n return isUndefined(value) || isLensLaunchParams(value);\n}\n\nfunction isLensLaunchParams(value: unknown): value is LensLaunchParams {\n return isRecord(value) && predicateRecordValues(isStringOrNumberOrArrayOfStringsOrNumbers)(value);\n}\n\nfunction isStringOrNumberOrArrayOfStringsOrNumbers(value: unknown): value is string | number | string[] | number[] {\n return (\n isString(value) || isValidNumber(value) || isArrayOfType(isString, value) || isArrayOfType(isValidNumber, value)\n );\n}\n\n/**\n * @internal\n */\nexport const encodeLensLaunchData = (launchData: LensLaunchData, persistentStore: ArrayBuffer): Uint8Array => {\n // finish() protobufjs method returns UInt8Array with shared ArrayBuffer\n // to avoid of detached buffer error when passing data to Lens Core\n // data should be copied using slice() method\n return LaunchData.encode(\n LaunchData.fromPartial({\n ...launchData,\n userData: launchData.userData\n ? {\n ...launchData.userData,\n zodiac: launchData.userData?.zodiac ? zodiacMap[launchData.userData.zodiac] : undefined,\n }\n : undefined,\n launchParams: launchData.launchParams ? encodeLensLaunchParams(launchData.launchParams) : undefined,\n persistentStore: { store: new Uint8Array(persistentStore) },\n })\n )\n .finish()\n .slice();\n};\n\nfunction encodeLensLaunchParams(launchParams?: LensLaunchParams): LaunchParams {\n return { data: new TextEncoder().encode(JSON.stringify(launchParams)) };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { IndexedDBPersistence } from "../persistence/IndexedDBPersistence";
2
+ import type { LensCore } from "../lens-core-module/lensCore";
3
+ export declare const lensPersistenceStoreFactory: {
4
+ (args_0: LensCore): IndexedDBPersistence<ArrayBuffer>;
5
+ token: "lensPersistenceStore";
6
+ dependencies: readonly ["lensCore"];
7
+ };
8
+ //# sourceMappingURL=LensPersistenceStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensPersistenceStore.d.ts","sourceRoot":"","sources":["../../src/lens/LensPersistenceStore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAI7D,eAAO,MAAM,2BAA2B;;;;CAcvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensPersistenceStore.js","sourceRoot":"","sources":["../../src/lens/LensPersistenceStore.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CACjD,sBAAsB,EACtB,CAAC,eAAe,CAAC,KAAK,CAAU,EAChC,CAAC,QAAkB,EAAqC,EAAE;IACtD,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAc,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,mCAAmC,CAAC,CAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAC5D,IAAI;YACA,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAC5B;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,8CAA8C,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;SAClG;IACL,CAAC,CAAA,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACd,CAAC,CACJ,CAAC","sourcesContent":["import { Injectable } from \"../dependency-injection/Injectable\";\nimport { persistentStoreError } from \"../namedErrors\";\nimport { getLogger } from \"../logger/logger\";\nimport { IndexedDBPersistence } from \"../persistence/IndexedDBPersistence\";\nimport { lensCoreFactory } from \"../lens-core-module/loader/lensCoreFactory\";\nimport type { LensCore } from \"../lens-core-module/lensCore\";\n\nconst logger = getLogger(\"LensPersistenceStore\");\n\nexport const lensPersistenceStoreFactory = Injectable(\n \"lensPersistenceStore\",\n [lensCoreFactory.token] as const,\n (lensCore: LensCore): IndexedDBPersistence<ArrayBuffer> => {\n const db = new IndexedDBPersistence<ArrayBuffer>({ databaseName: \"lensPersistenceStore\" });\n lensCore.registerSavePersistentStoreCallback(async (id, data) => {\n try {\n await db.store(id, data);\n } catch (error) {\n logger.error(persistentStoreError(`Error occurred while storing data for lens ${id}.`, error));\n }\n });\n return db;\n }\n);\n"]}
@@ -0,0 +1,133 @@
1
+ import type { FetchHandler } from "../handlers/defaultFetchHandler";
2
+ import type { RequestStateEventTarget } from "../handlers/requestStateEmittingHandler";
3
+ import type { LensDownloadDimensions } from "../metrics/reporters/reportLensAndAssetDownload";
4
+ import type { Handler } from "../handlers/HandlerChainBuilder";
5
+ import type { Lens, LensProtoWithGroupId } from "./Lens";
6
+ import type { LensAssetRepository } from "./assets/LensAssetRepository";
7
+ import type { LensSource } from "./LensSource";
8
+ type LensFetchHandler = Handler<[
9
+ RequestInfo,
10
+ LensDownloadDimensions
11
+ ], [
12
+ ArrayBuffer,
13
+ Response
14
+ ], RequestInit | undefined>;
15
+ /**
16
+ * Lens assets are included in a manifest, and each will indicate when that asset will be used by the lens.
17
+ *
18
+ * Assets can have the following timing values:
19
+ * - `required`: the lens will definitely request this asset immediately when the lens is applied.
20
+ * - `onDemand`: the lens may request this asset at some time while the lens is applied.
21
+ *
22
+ * Depending on the use-case, an application may want to cache both required and onDemand assets for
23
+ * a particular lens, or may decide to only cache required assets (or cache no assets).
24
+ *
25
+ * @category Lenses
26
+ */
27
+ export type AssetTiming = "required" | "onDemand";
28
+ export interface LensBinary {
29
+ lensBuffer: ArrayBuffer;
30
+ lensChecksum: string;
31
+ }
32
+ /**
33
+ * The LensRepository is used to query for lenses from specific lens groups, or for a lens with a specific ID.
34
+ *
35
+ * Lens groups are configured in the CameraKit Portal -- that's where you'll find lens group IDs and lens IDs.
36
+ *
37
+ * Lenses must be loaded by the LensRepository before they can be applied to a {@link CameraKitSession}.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const cameraKit = await bootstrapCameraKit(options)
42
+ * const session = await cameraKit.createSession()
43
+ * const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)
44
+ * session.applyLens(lens)
45
+ * ```
46
+ *
47
+ * @category Lenses
48
+ */
49
+ declare class LensRepository {
50
+ private readonly lensFetchHandler;
51
+ private readonly lensSources;
52
+ private readonly lensAssetRepository;
53
+ private readonly metadataCache;
54
+ private readonly binariesCache;
55
+ /** @internal */
56
+ constructor(lensFetchHandler: LensFetchHandler, lensSources: LensSource[], lensAssetRepository: LensAssetRepository);
57
+ /**
58
+ * Retrieve a single Lens.
59
+ *
60
+ * @param lensId Desired Lens's unique ID. Can be found in the CameraKit Portal.
61
+ * @param groupId The ID of a group containing the desired Lens. Can be found in the CameraKit Portal.
62
+ * @returns Resolves with the desired Lens, or rejects if an error occurred (including a missing Lens).
63
+ */
64
+ loadLens(lensId: string, groupId: string): Promise<Lens>;
65
+ /**
66
+ * Retrieve the Lenses contained in a list of Lens Groups.
67
+ *
68
+ * This may result in multiple requests to retrieve Lens data (e.g. one per desired group). If any constituent
69
+ * requests fail, those errors will be reported in the response – but the returned Promise will not be rejected. Any
70
+ * Lenses which could be successfully retrieved will be available in the response.
71
+ *
72
+ * @param groupIds A list of Lens Group IDs. Can be found in the CameraKit Portal.
73
+ * @returns Resolves with a flattened list of all lenses in the desired groups. If any errors occurred during the
74
+ * query operation, these will be included in a separate list. If errors are present, the list of Lenses may not
75
+ * contain all the Lenses from the desired groups.
76
+ */
77
+ loadLensGroups(groupIds: string[]): Promise<{
78
+ errors: Error[];
79
+ lenses: Lens[];
80
+ }>;
81
+ /**
82
+ * Loads and caches lens content and dependencies to reduce latency when {@link CameraKitSession.applyLens} is later
83
+ * called to apply the lens. This is an in-memory cache, it will not be persisted across page loads.
84
+ *
85
+ * This may useful if the application A) knows which lenses will be applied and B) has some opportunity to call
86
+ * this method before a lens is applied. For example, if the user must perform some other actions before lenses
87
+ * become active, this might be a good opportunity to cache lenses to improve applyLens latency.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)
92
+ * await cameraKit.lensRepository.cacheLensContent([lens])
93
+ *
94
+ * // sometime later -- this call will use the cached lens content, making lens application faster.
95
+ * await cameraKitSession.applyLens(lens)
96
+ * ```
97
+ *
98
+ * @param lenses Array of lenses to cache in memory.
99
+ * @param assetTimingsToCache Lenses specify certain required assets that are necessary for the lens to render, and
100
+ * other assets which may be needed by the lens. By default this method will cache all of those assets, but this
101
+ * behavior can be modified to only load the required assets, only the "onDemand" assets, or neither (by passing
102
+ * an empty array).
103
+ */
104
+ cacheLensContent(lenses: Lens[], assetTimingsToCache?: AssetTiming[]): Promise<void>;
105
+ /**
106
+ * Returns loaded Lens metadata if available.
107
+ */
108
+ getLensMetadata(lensId: string): LensProtoWithGroupId | undefined;
109
+ /**
110
+ * Removes Lens content from the in-memory cache.
111
+ */
112
+ removeCachedLenses(lenses: Lens[]): void;
113
+ /**
114
+ * Fetches lens content and assets. This may come from the cache, otherwise network requests will be made.
115
+ *
116
+ * @internal
117
+ *
118
+ * @param lens Lens to fetch content for.
119
+ * @param lowPriority Flag indicating if the fetch requests should be treated with lower priority,
120
+ * leveraging browser capabilities to defer or deprioritize network traffic.
121
+ */
122
+ getLensContent(lens: Lens, lowPriority?: boolean): Promise<LensBinary>;
123
+ }
124
+ export { LensRepository };
125
+ /**
126
+ * @internal
127
+ */
128
+ export declare const lensRepositoryFactory: {
129
+ (args_0: RequestStateEventTarget, args_1: FetchHandler, args_2: LensSource[], args_3: LensAssetRepository): LensRepository;
130
+ token: "LensRepository";
131
+ dependencies: readonly ["requestStateEventTarget", "defaultFetchHandler", "lensSources", "lensAssetRepository"];
132
+ };
133
+ //# sourceMappingURL=LensRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensRepository.d.ts","sourceRoot":"","sources":["../../src/lens/LensRepository.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAKvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAS/D,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,KAAK,gBAAgB,GAAG,OAAO,CAC3B;IAAC,WAAW;IAAE,sBAAsB;CAAC,EACrC;IAAC,WAAW;IAAE,QAAQ;CAAC,EACvB,WAAW,GAAG,SAAS,CAC1B,CAAC;AAoBF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC;AAElD,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,WAAW,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,cAAM,cAAc;IAMZ,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAPxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE,gBAAgB;gBAEK,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,UAAU,EAAE,EACzB,mBAAmB,EAAE,mBAAmB;IAG7D;;;;;;OAMG;IAGG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D;;;;;;;;;;;OAWG;IAGG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC9C,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI,EAAE,CAAC;KAClB,CAAC;IA2BF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IAGG,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,mBAAmB,GAAE,WAAW,EAA6B;IAiBpG;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIjE;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE;IAIjC;;;;;;;;OAQG;IACG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO,CAAC,UAAU,CAAC;CAwBtF;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;CAoBjC,CAAC"}
@@ -0,0 +1,147 @@
1
+ import { __awaiter, __esDecorate, __runInitializers } from "tslib";
2
+ import { validate } from "../common/validate";
3
+ import { isArrayOfType, isSafeString, isSafeStringArray, isString, isUndefined } from "../common/typeguards";
4
+ import { Injectable } from "../dependency-injection/Injectable";
5
+ import { defaultFetchHandlerFactory } from "../handlers/defaultFetchHandler";
6
+ import { createRequestStateEmittingHandler, requestStateEventTargetFactory, } from "../handlers/requestStateEmittingHandler";
7
+ import { HandlerChainBuilder } from "../handlers/HandlerChainBuilder";
8
+ import { createArrayBufferParsingHandler } from "../handlers/arrayBufferParsingHandler";
9
+ import { LensAssetManifestItem_RequestTiming } from "../generated-proto/pb_schema/camera_kit/v3/lens";
10
+ import { getLogger } from "../logger/logger";
11
+ import { errorLoggingDecorator } from "../logger/errorLoggingDecorator";
12
+ import { ensureError } from "../common/errorHelpers";
13
+ import { withRequestPriority } from "../handlers/utils";
14
+ import { isLensArray, toPublicLens } from "./Lens";
15
+ import { lensAssetRepositoryFactory } from "./assets/LensAssetRepository";
16
+ import { loadLensesFromSources, lensSourcesFactory } from "./LensSource";
17
+ const logger = getLogger("LensRepository");
18
+ const assetTimingMap = {
19
+ required: LensAssetManifestItem_RequestTiming.REQUIRED,
20
+ onDemand: LensAssetManifestItem_RequestTiming.ON_DEMAND,
21
+ };
22
+ function isAssetTiming(value) {
23
+ return isString(value) && assetTimingMap.hasOwnProperty(value);
24
+ }
25
+ function isAssetTimingArrayOrUndefined(value) {
26
+ return isUndefined(value) || isArrayOfType(isAssetTiming, value);
27
+ }
28
+ let LensRepository = (() => {
29
+ var _a;
30
+ let _instanceExtraInitializers = [];
31
+ let _loadLens_decorators;
32
+ let _loadLensGroups_decorators;
33
+ let _cacheLensContent_decorators;
34
+ return _a = class LensRepository {
35
+ constructor(lensFetchHandler, lensSources, lensAssetRepository) {
36
+ this.lensFetchHandler = (__runInitializers(this, _instanceExtraInitializers), lensFetchHandler);
37
+ this.lensSources = lensSources;
38
+ this.lensAssetRepository = lensAssetRepository;
39
+ this.metadataCache = new Map();
40
+ this.binariesCache = new Map();
41
+ }
42
+ loadLens(lensId, groupId) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const lens = (yield loadLensesFromSources(this.lensSources, groupId, lensId))[0];
45
+ if (!lens) {
46
+ throw new Error(`Cannot load lens. No lens with id ${lensId} was found in lens group ${groupId}.`);
47
+ }
48
+ const lensWithGroup = Object.assign(Object.assign({}, lens), { groupId });
49
+ this.metadataCache.set(lens.id, lensWithGroup);
50
+ return toPublicLens(lensWithGroup);
51
+ });
52
+ }
53
+ loadLensGroups(groupIds) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ const responses = yield Promise.all(groupIds.map((groupId) => __awaiter(this, void 0, void 0, function* () {
56
+ try {
57
+ return (yield loadLensesFromSources(this.lensSources, groupId)).map((lens) => {
58
+ const lensWithGroup = Object.assign(Object.assign({}, lens), { groupId });
59
+ this.metadataCache.set(lens.id, lensWithGroup);
60
+ return toPublicLens(lensWithGroup);
61
+ });
62
+ }
63
+ catch (e) {
64
+ const error = ensureError(e);
65
+ logger.error(new Error(`Failed to load lens group ${groupId}.`, { cause: error }));
66
+ return error;
67
+ }
68
+ })));
69
+ return responses.reduce((result, response) => {
70
+ if (response instanceof Error)
71
+ result.errors.push(response);
72
+ else
73
+ result.lenses.push(...response);
74
+ return result;
75
+ }, { errors: [], lenses: [] });
76
+ });
77
+ }
78
+ cacheLensContent(lenses, assetTimingsToCache = ["required", "onDemand"]) {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ const assetTimingsToLoad = assetTimingsToCache.map((timing) => assetTimingMap[timing]);
81
+ yield Promise.all(lenses.map((lens) => __awaiter(this, void 0, void 0, function* () {
82
+ try {
83
+ const { lensBuffer } = yield this.getLensContent(lens, true);
84
+ const { content } = this.metadataCache.get(lens.id);
85
+ this.binariesCache.set(lens.id, lensBuffer);
86
+ yield this.lensAssetRepository.cacheAssets(content.assetManifest, lens, assetTimingsToLoad, true);
87
+ }
88
+ catch (error) {
89
+ logger.warn(`Failed to cache lens ${lens.id}.`, error);
90
+ }
91
+ })));
92
+ });
93
+ }
94
+ getLensMetadata(lensId) {
95
+ return this.metadataCache.get(lensId);
96
+ }
97
+ removeCachedLenses(lenses) {
98
+ lenses.forEach((lens) => this.binariesCache.delete(lens.id));
99
+ }
100
+ getLensContent(lens, lowPriority = false) {
101
+ var _a;
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const { content } = (_a = this.metadataCache.get(lens.id)) !== null && _a !== void 0 ? _a : {};
104
+ if (!content) {
105
+ throw new Error(`Cannot find metadata for lens ${lens.id}.`);
106
+ }
107
+ const cachedLensBuffer = this.binariesCache.get(lens.id);
108
+ if (cachedLensBuffer) {
109
+ return {
110
+ lensBuffer: cachedLensBuffer,
111
+ lensChecksum: content.lnsSha256,
112
+ };
113
+ }
114
+ const [lensBuffer] = yield this.lensFetchHandler([
115
+ new Request(content.lnsUrlBolt, withRequestPriority({ cache: "force-cache" }, lowPriority)),
116
+ {
117
+ requestType: "lens_content",
118
+ lensId: lens.id,
119
+ },
120
+ ]);
121
+ return { lensBuffer, lensChecksum: content.lnsSha256 };
122
+ });
123
+ }
124
+ },
125
+ (() => {
126
+ _loadLens_decorators = [validate(isSafeString, isSafeString), errorLoggingDecorator(logger)];
127
+ _loadLensGroups_decorators = [validate(isSafeStringArray), errorLoggingDecorator(logger)];
128
+ _cacheLensContent_decorators = [validate(isLensArray, isAssetTimingArrayOrUndefined), errorLoggingDecorator(logger)];
129
+ __esDecorate(_a, null, _loadLens_decorators, { kind: "method", name: "loadLens", static: false, private: false, access: { has: obj => "loadLens" in obj, get: obj => obj.loadLens } }, null, _instanceExtraInitializers);
130
+ __esDecorate(_a, null, _loadLensGroups_decorators, { kind: "method", name: "loadLensGroups", static: false, private: false, access: { has: obj => "loadLensGroups" in obj, get: obj => obj.loadLensGroups } }, null, _instanceExtraInitializers);
131
+ __esDecorate(_a, null, _cacheLensContent_decorators, { kind: "method", name: "cacheLensContent", static: false, private: false, access: { has: obj => "cacheLensContent" in obj, get: obj => obj.cacheLensContent } }, null, _instanceExtraInitializers);
132
+ })(),
133
+ _a;
134
+ })();
135
+ export { LensRepository };
136
+ export const lensRepositoryFactory = Injectable("LensRepository", [
137
+ requestStateEventTargetFactory.token,
138
+ defaultFetchHandlerFactory.token,
139
+ lensSourcesFactory.token,
140
+ lensAssetRepositoryFactory.token,
141
+ ], (requestStateEventTarget, defaultFetchHandler, lensSources, lensAssetRepository) => {
142
+ const lensFetchHandler = new HandlerChainBuilder(defaultFetchHandler)
143
+ .map(createRequestStateEmittingHandler(requestStateEventTarget))
144
+ .map(createArrayBufferParsingHandler()).handler;
145
+ return new LensRepository(lensFetchHandler, lensSources, lensAssetRepository);
146
+ });
147
+ //# sourceMappingURL=LensRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensRepository.js","sourceRoot":"","sources":["../../src/lens/LensRepository.ts"],"names":[],"mappings":"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","sourcesContent":["import { validate } from \"../common/validate\";\nimport { isArrayOfType, isSafeString, isSafeStringArray, isString, isUndefined } from \"../common/typeguards\";\nimport { Injectable } from \"../dependency-injection/Injectable\";\nimport type { FetchHandler } from \"../handlers/defaultFetchHandler\";\nimport { defaultFetchHandlerFactory } from \"../handlers/defaultFetchHandler\";\nimport type { RequestStateEventTarget } from \"../handlers/requestStateEmittingHandler\";\nimport {\n createRequestStateEmittingHandler,\n requestStateEventTargetFactory,\n} from \"../handlers/requestStateEmittingHandler\";\nimport type { LensDownloadDimensions } from \"../metrics/reporters/reportLensAndAssetDownload\";\nimport type { Handler } from \"../handlers/HandlerChainBuilder\";\nimport { HandlerChainBuilder } from \"../handlers/HandlerChainBuilder\";\nimport { createArrayBufferParsingHandler } from \"../handlers/arrayBufferParsingHandler\";\nimport { LensAssetManifestItem_RequestTiming } from \"../generated-proto/pb_schema/camera_kit/v3/lens\";\nimport { getLogger } from \"../logger/logger\";\nimport { errorLoggingDecorator } from \"../logger/errorLoggingDecorator\";\nimport { ensureError } from \"../common/errorHelpers\";\nimport { withRequestPriority } from \"../handlers/utils\";\nimport type { EnumToPublicStringLiteralMap, ExcludeKeys } from \"../common/types\";\nimport type { Lens, LensProtoWithGroupId } from \"./Lens\";\nimport { isLensArray, toPublicLens } from \"./Lens\";\nimport type { LensAssetRepository } from \"./assets/LensAssetRepository\";\nimport { lensAssetRepositoryFactory } from \"./assets/LensAssetRepository\";\nimport type { LensSource } from \"./LensSource\";\nimport { loadLensesFromSources, lensSourcesFactory } from \"./LensSource\";\n\nconst logger = getLogger(\"LensRepository\");\n\ntype LensFetchHandler = Handler<\n [RequestInfo, LensDownloadDimensions],\n [ArrayBuffer, Response],\n RequestInit | undefined\n>;\n\nconst assetTimingMap: ExcludeKeys<\n EnumToPublicStringLiteralMap<typeof LensAssetManifestItem_RequestTiming>,\n \"preloadUnset\" | \"unrecognized\"\n> = {\n required: LensAssetManifestItem_RequestTiming.REQUIRED,\n onDemand: LensAssetManifestItem_RequestTiming.ON_DEMAND,\n // NOTE: This rule helps keep the public-facing AssetTiming type consistent with the proto.\n // We prefer using a separate type for TypeDoc purposes.\n} satisfies Record<AssetTiming, LensAssetManifestItem_RequestTiming>;\n\nfunction isAssetTiming(value: unknown): value is AssetTiming {\n return isString(value) && assetTimingMap.hasOwnProperty(value);\n}\n\nfunction isAssetTimingArrayOrUndefined(value: unknown): value is undefined | AssetTiming[] {\n return isUndefined(value) || isArrayOfType(isAssetTiming, value);\n}\n\n/**\n * Lens assets are included in a manifest, and each will indicate when that asset will be used by the lens.\n *\n * Assets can have the following timing values:\n * - `required`: the lens will definitely request this asset immediately when the lens is applied.\n * - `onDemand`: the lens may request this asset at some time while the lens is applied.\n *\n * Depending on the use-case, an application may want to cache both required and onDemand assets for\n * a particular lens, or may decide to only cache required assets (or cache no assets).\n *\n * @category Lenses\n */\nexport type AssetTiming = \"required\" | \"onDemand\";\n\nexport interface LensBinary {\n lensBuffer: ArrayBuffer;\n lensChecksum: string;\n}\n\n/**\n * The LensRepository is used to query for lenses from specific lens groups, or for a lens with a specific ID.\n *\n * Lens groups are configured in the CameraKit Portal -- that's where you'll find lens group IDs and lens IDs.\n *\n * Lenses must be loaded by the LensRepository before they can be applied to a {@link CameraKitSession}.\n *\n * @example\n * ```ts\n * const cameraKit = await bootstrapCameraKit(options)\n * const session = await cameraKit.createSession()\n * const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)\n * session.applyLens(lens)\n * ```\n *\n * @category Lenses\n */\nclass LensRepository {\n private readonly metadataCache = new Map<string, LensProtoWithGroupId>();\n private readonly binariesCache = new Map<string, ArrayBuffer>();\n\n /** @internal */\n constructor(\n private readonly lensFetchHandler: LensFetchHandler,\n private readonly lensSources: LensSource[],\n private readonly lensAssetRepository: LensAssetRepository\n ) {}\n\n /**\n * Retrieve a single Lens.\n *\n * @param lensId Desired Lens's unique ID. Can be found in the CameraKit Portal.\n * @param groupId The ID of a group containing the desired Lens. Can be found in the CameraKit Portal.\n * @returns Resolves with the desired Lens, or rejects if an error occurred (including a missing Lens).\n */\n @validate(isSafeString, isSafeString)\n @errorLoggingDecorator(logger)\n async loadLens(lensId: string, groupId: string): Promise<Lens> {\n const lens = (await loadLensesFromSources(this.lensSources, groupId, lensId))[0];\n if (!lens) {\n throw new Error(`Cannot load lens. No lens with id ${lensId} was found in lens group ${groupId}.`);\n }\n const lensWithGroup: LensProtoWithGroupId = { ...lens, groupId };\n this.metadataCache.set(lens.id, lensWithGroup);\n return toPublicLens(lensWithGroup);\n }\n\n /**\n * Retrieve the Lenses contained in a list of Lens Groups.\n *\n * This may result in multiple requests to retrieve Lens data (e.g. one per desired group). If any constituent\n * requests fail, those errors will be reported in the response – but the returned Promise will not be rejected. Any\n * Lenses which could be successfully retrieved will be available in the response.\n *\n * @param groupIds A list of Lens Group IDs. Can be found in the CameraKit Portal.\n * @returns Resolves with a flattened list of all lenses in the desired groups. If any errors occurred during the\n * query operation, these will be included in a separate list. If errors are present, the list of Lenses may not\n * contain all the Lenses from the desired groups.\n */\n @validate(isSafeStringArray)\n @errorLoggingDecorator(logger)\n async loadLensGroups(groupIds: string[]): Promise<{\n errors: Error[];\n lenses: Lens[];\n }> {\n const responses = await Promise.all(\n groupIds.map(async (groupId) => {\n try {\n return (await loadLensesFromSources(this.lensSources, groupId)).map((lens) => {\n const lensWithGroup = { ...lens, groupId };\n this.metadataCache.set(lens.id, lensWithGroup);\n return toPublicLens(lensWithGroup);\n });\n } catch (e) {\n const error = ensureError(e);\n logger.error(new Error(`Failed to load lens group ${groupId}.`, { cause: error }));\n return error;\n }\n })\n );\n\n return responses.reduce(\n (result, response) => {\n if (response instanceof Error) result.errors.push(response);\n else result.lenses.push(...response);\n return result;\n },\n { errors: [], lenses: [] } as { errors: Error[]; lenses: Lens[] }\n );\n }\n\n /**\n * Loads and caches lens content and dependencies to reduce latency when {@link CameraKitSession.applyLens} is later\n * called to apply the lens. This is an in-memory cache, it will not be persisted across page loads.\n *\n * This may useful if the application A) knows which lenses will be applied and B) has some opportunity to call\n * this method before a lens is applied. For example, if the user must perform some other actions before lenses\n * become active, this might be a good opportunity to cache lenses to improve applyLens latency.\n *\n * @example\n * ```ts\n * const lens = await cameraKit.lensRepository.loadLens(lensId, groupId)\n * await cameraKit.lensRepository.cacheLensContent([lens])\n *\n * // sometime later -- this call will use the cached lens content, making lens application faster.\n * await cameraKitSession.applyLens(lens)\n * ```\n *\n * @param lenses Array of lenses to cache in memory.\n * @param assetTimingsToCache Lenses specify certain required assets that are necessary for the lens to render, and\n * other assets which may be needed by the lens. By default this method will cache all of those assets, but this\n * behavior can be modified to only load the required assets, only the \"onDemand\" assets, or neither (by passing\n * an empty array).\n */\n @validate(isLensArray, isAssetTimingArrayOrUndefined)\n @errorLoggingDecorator(logger)\n async cacheLensContent(lenses: Lens[], assetTimingsToCache: AssetTiming[] = [\"required\", \"onDemand\"]) {\n const assetTimingsToLoad = assetTimingsToCache.map((timing) => assetTimingMap[timing]);\n await Promise.all(\n lenses.map(async (lens) => {\n try {\n const { lensBuffer } = await this.getLensContent(lens, true);\n // Safety: getLensContent() call above ensures metadata to exist\n const { content } = this.metadataCache.get(lens.id)!;\n this.binariesCache.set(lens.id, lensBuffer);\n await this.lensAssetRepository.cacheAssets(content!.assetManifest, lens, assetTimingsToLoad, true);\n } catch (error) {\n logger.warn(`Failed to cache lens ${lens.id}.`, error);\n }\n })\n );\n }\n\n /**\n * Returns loaded Lens metadata if available.\n */\n getLensMetadata(lensId: string): LensProtoWithGroupId | undefined {\n return this.metadataCache.get(lensId);\n }\n\n /**\n * Removes Lens content from the in-memory cache.\n */\n removeCachedLenses(lenses: Lens[]) {\n lenses.forEach((lens) => this.binariesCache.delete(lens.id));\n }\n\n /**\n * Fetches lens content and assets. This may come from the cache, otherwise network requests will be made.\n *\n * @internal\n *\n * @param lens Lens to fetch content for.\n * @param lowPriority Flag indicating if the fetch requests should be treated with lower priority,\n * leveraging browser capabilities to defer or deprioritize network traffic.\n */\n async getLensContent(lens: Lens, lowPriority: boolean = false): Promise<LensBinary> {\n const { content } = this.metadataCache.get(lens.id) ?? {};\n if (!content) {\n throw new Error(`Cannot find metadata for lens ${lens.id}.`);\n }\n\n const cachedLensBuffer = this.binariesCache.get(lens.id);\n if (cachedLensBuffer) {\n return {\n lensBuffer: cachedLensBuffer,\n lensChecksum: content.lnsSha256,\n };\n }\n\n const [lensBuffer] = await this.lensFetchHandler([\n // TODO: remove force-cache once https://jira.sc-corp.net/browse/CAMKIT-3671 is addressed\n new Request(content.lnsUrlBolt, withRequestPriority({ cache: \"force-cache\" }, lowPriority)),\n {\n requestType: \"lens_content\",\n lensId: lens.id,\n },\n ]);\n return { lensBuffer, lensChecksum: content.lnsSha256 };\n }\n}\n\n// NOTE: jest doesn't like default exports of classes with decorated methods.\nexport { LensRepository };\n\n/**\n * @internal\n */\nexport const lensRepositoryFactory = Injectable(\n \"LensRepository\",\n [\n requestStateEventTargetFactory.token,\n defaultFetchHandlerFactory.token,\n lensSourcesFactory.token,\n lensAssetRepositoryFactory.token,\n ] as const,\n (\n requestStateEventTarget: RequestStateEventTarget,\n defaultFetchHandler: FetchHandler,\n lensSources: LensSource[],\n lensAssetRepository: LensAssetRepository\n ) => {\n const lensFetchHandler = new HandlerChainBuilder(defaultFetchHandler)\n .map(createRequestStateEmittingHandler<LensDownloadDimensions>(requestStateEventTarget))\n .map(createArrayBufferParsingHandler()).handler;\n\n return new LensRepository(lensFetchHandler, lensSources, lensAssetRepository);\n }\n);\n"]}
@@ -0,0 +1,44 @@
1
+ import type { Lens } from "../generated-proto/pb_schema/camera_kit/v3/lens";
2
+ /**
3
+ * Provides Lens metadata for one or more Lens groups.
4
+ *
5
+ * When a Lens or Lens group is requested via the {@link LensRepository}, CameraKit will find the LensSource which
6
+ * claims ownership of that group. The appropriate LensSource method will be called and must return an ArrayBuffer
7
+ * containing the encoded Lens metadata -- this can be obtained from a CameraKit backend API.
8
+ */
9
+ export interface LensSource {
10
+ isGroupOwner(groupId: string): boolean;
11
+ loadLens(lensId: string, groupId: string): Promise<ArrayBuffer>;
12
+ loadLensGroup(groupId: string): Promise<ArrayBuffer>;
13
+ }
14
+ /**
15
+ * By default, no custom {@link LensSource} is provided to CameraKit. But to enable certain advanced use-cases,
16
+ * applications may provide their own {@link LensSource}.
17
+ *
18
+ * Perhaps the most convenient way to do this is with {@link ConcatInjectable}, as shown here:
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { bootstrapCameraKit, lensSourcesFactory, LensSource } from '@snap/camera-kit'
23
+ *
24
+ * const cameraKit = bootstrapCameraKit(config, (container) => {
25
+ * return container.provides(ConcatInjectable(
26
+ * lensSourcesFactory.token,
27
+ * (): LensSource => { return ... }
28
+ * ))
29
+ * })
30
+ * ```
31
+ */
32
+ export declare const lensSourcesFactory: {
33
+ (): LensSource[];
34
+ token: "lensSources";
35
+ dependencies: [];
36
+ };
37
+ /**
38
+ * Given a list of LensSources (like the one provided by CameraKit's DI container under the `'lensSources'` token), and
39
+ * a groupId/lensId, return a list of lenses loaded by the first LensSource claiming ownership of the given groupId.
40
+ *
41
+ * @internal
42
+ */
43
+ export declare function loadLensesFromSources(sources: LensSource[], groupId: string, lensId?: string): Promise<Lens[]>;
44
+ //# sourceMappingURL=LensSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensSource.d.ts","sourceRoot":"","sources":["../../src/lens/LensSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iDAAiD,CAAC;AAE5E;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAChE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,kBAAkB;;;;CAAoD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAcpH"}
@@ -0,0 +1,18 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable } from "../dependency-injection/Injectable";
3
+ import { Envelope } from "../generated-proto/pb_schema/camera_kit/v3/export";
4
+ export const lensSourcesFactory = Injectable("lensSources", () => []);
5
+ export function loadLensesFromSources(sources, groupId, lensId) {
6
+ return __awaiter(this, void 0, void 0, function* () {
7
+ const source = sources.find((source) => source.isGroupOwner(groupId));
8
+ if (!source) {
9
+ throw new Error(`Cannot load lens ${lensId ? `${lensId} from ` : ""}group ${groupId}. ` +
10
+ `No LensSource claimed ownership of that lens group.`);
11
+ }
12
+ const envelope = lensId === undefined ? yield source.loadLensGroup(groupId) : yield source.loadLens(lensId, groupId);
13
+ return envelope instanceof ArrayBuffer || ArrayBuffer.isView(envelope)
14
+ ? Envelope.decode(envelope instanceof Uint8Array ? envelope : new Uint8Array(envelope)).lenses
15
+ : [];
16
+ });
17
+ }
18
+ //# sourceMappingURL=LensSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LensSource.js","sourceRoot":"","sources":["../../src/lens/LensSource.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mDAAmD,CAAC;AAkC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,GAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAQpF,MAAM,UAAgB,qBAAqB,CAAC,OAAqB,EAAE,OAAe,EAAE,MAAe;;QAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,KAAK,CACX,oBAAoB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,IAAI;gBACnE,qDAAqD,CAC5D,CAAC;SACL;QACD,MAAM,QAAQ,GACV,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAExG,OAAO,QAAQ,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,YAAY,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YAC9F,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;CAAA","sourcesContent":["import { Injectable } from \"../dependency-injection/Injectable\";\nimport { Envelope } from \"../generated-proto/pb_schema/camera_kit/v3/export\";\nimport type { Lens } from \"../generated-proto/pb_schema/camera_kit/v3/lens\";\n\n/**\n * Provides Lens metadata for one or more Lens groups.\n *\n * When a Lens or Lens group is requested via the {@link LensRepository}, CameraKit will find the LensSource which\n * claims ownership of that group. The appropriate LensSource method will be called and must return an ArrayBuffer\n * containing the encoded Lens metadata -- this can be obtained from a CameraKit backend API.\n */\nexport interface LensSource {\n isGroupOwner(groupId: string): boolean;\n loadLens(lensId: string, groupId: string): Promise<ArrayBuffer>;\n loadLensGroup(groupId: string): Promise<ArrayBuffer>;\n}\n\n/**\n * By default, no custom {@link LensSource} is provided to CameraKit. But to enable certain advanced use-cases,\n * applications may provide their own {@link LensSource}.\n *\n * Perhaps the most convenient way to do this is with {@link ConcatInjectable}, as shown here:\n *\n * @example\n * ```ts\n * import { bootstrapCameraKit, lensSourcesFactory, LensSource } from '@snap/camera-kit'\n *\n * const cameraKit = bootstrapCameraKit(config, (container) => {\n * return container.provides(ConcatInjectable(\n * lensSourcesFactory.token,\n * (): LensSource => { return ... }\n * ))\n * })\n * ```\n */\nexport const lensSourcesFactory = Injectable(\"lensSources\", (): LensSource[] => []);\n\n/**\n * Given a list of LensSources (like the one provided by CameraKit's DI container under the `'lensSources'` token), and\n * a groupId/lensId, return a list of lenses loaded by the first LensSource claiming ownership of the given groupId.\n *\n * @internal\n */\nexport async function loadLensesFromSources(sources: LensSource[], groupId: string, lensId?: string): Promise<Lens[]> {\n const source = sources.find((source) => source.isGroupOwner(groupId));\n if (!source) {\n throw new Error(\n `Cannot load lens ${lensId ? `${lensId} from ` : \"\"}group ${groupId}. ` +\n `No LensSource claimed ownership of that lens group.`\n );\n }\n const envelope =\n lensId === undefined ? await source.loadLensGroup(groupId) : await source.loadLens(lensId, groupId);\n\n return envelope instanceof ArrayBuffer || ArrayBuffer.isView(envelope)\n ? Envelope.decode(envelope instanceof Uint8Array ? envelope : new Uint8Array(envelope)).lenses\n : [];\n}\n"]}