@chipmobilesdk/rn-ads 0.6.0 → 0.8.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 (340) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/README.md +4 -2
  3. package/lib/commonjs/config/resolveAdUnit.js +80 -0
  4. package/lib/commonjs/config/resolveAdUnit.js.map +1 -0
  5. package/lib/commonjs/config/types.js +138 -0
  6. package/lib/commonjs/config/types.js.map +1 -0
  7. package/lib/commonjs/config/validate.js +150 -0
  8. package/lib/commonjs/config/validate.js.map +1 -0
  9. package/lib/commonjs/core/adOriginatedReturn.js +119 -0
  10. package/lib/commonjs/core/adOriginatedReturn.js.map +1 -0
  11. package/lib/commonjs/core/adsInstance.js +129 -0
  12. package/lib/commonjs/core/adsInstance.js.map +1 -0
  13. package/lib/commonjs/core/consentFlow.js +154 -0
  14. package/lib/commonjs/core/consentFlow.js.map +1 -0
  15. package/lib/commonjs/core/enablement.js +64 -0
  16. package/lib/commonjs/core/enablement.js.map +1 -0
  17. package/lib/commonjs/core/fullScreenLock.js +48 -0
  18. package/lib/commonjs/core/fullScreenLock.js.map +1 -0
  19. package/lib/commonjs/core/gates.js +95 -0
  20. package/lib/commonjs/core/gates.js.map +1 -0
  21. package/lib/commonjs/core/initMachine.js +159 -0
  22. package/lib/commonjs/core/initMachine.js.map +1 -0
  23. package/lib/commonjs/core/instance/consent.js +155 -0
  24. package/lib/commonjs/core/instance/consent.js.map +1 -0
  25. package/lib/commonjs/core/instance/context.js +217 -0
  26. package/lib/commonjs/core/instance/context.js.map +1 -0
  27. package/lib/commonjs/core/instance/gate.js +194 -0
  28. package/lib/commonjs/core/instance/gate.js.map +1 -0
  29. package/lib/commonjs/core/instance/init.js +326 -0
  30. package/lib/commonjs/core/instance/init.js.map +1 -0
  31. package/lib/commonjs/core/instance/internals.js +115 -0
  32. package/lib/commonjs/core/instance/internals.js.map +1 -0
  33. package/lib/commonjs/core/instance/load.js +458 -0
  34. package/lib/commonjs/core/instance/load.js.map +1 -0
  35. package/lib/commonjs/core/instance/show.js +243 -0
  36. package/lib/commonjs/core/instance/show.js.map +1 -0
  37. package/lib/commonjs/core/instance/types.js +6 -0
  38. package/lib/commonjs/core/instance/types.js.map +1 -0
  39. package/lib/commonjs/core/placementMachine.js +116 -0
  40. package/lib/commonjs/core/placementMachine.js.map +1 -0
  41. package/lib/commonjs/core/privacyGate.js +93 -0
  42. package/lib/commonjs/core/privacyGate.js.map +1 -0
  43. package/lib/commonjs/core/requestThrottle.js +152 -0
  44. package/lib/commonjs/core/requestThrottle.js.map +1 -0
  45. package/lib/commonjs/core/retryPolicy.js +120 -0
  46. package/lib/commonjs/core/retryPolicy.js.map +1 -0
  47. package/lib/commonjs/core/rewardedSession.js +65 -0
  48. package/lib/commonjs/core/rewardedSession.js.map +1 -0
  49. package/lib/commonjs/core/timers.js +162 -0
  50. package/lib/commonjs/core/timers.js.map +1 -0
  51. package/lib/commonjs/diagnostics/correlation.js +33 -0
  52. package/lib/commonjs/diagnostics/correlation.js.map +1 -0
  53. package/lib/commonjs/diagnostics/errors.js +152 -0
  54. package/lib/commonjs/diagnostics/errors.js.map +1 -0
  55. package/lib/commonjs/diagnostics/events.js +132 -0
  56. package/lib/commonjs/diagnostics/events.js.map +1 -0
  57. package/lib/commonjs/engine/admobBanner.js +58 -0
  58. package/lib/commonjs/engine/admobBanner.js.map +1 -0
  59. package/lib/commonjs/engine/admobEngine.js +343 -0
  60. package/lib/commonjs/engine/admobEngine.js.map +1 -0
  61. package/lib/commonjs/engine/admobErrors.js +45 -0
  62. package/lib/commonjs/engine/admobErrors.js.map +1 -0
  63. package/lib/commonjs/engine/port.js +6 -0
  64. package/lib/commonjs/engine/port.js.map +1 -0
  65. package/lib/commonjs/engine/testAdUnits.js +61 -0
  66. package/lib/commonjs/engine/testAdUnits.js.map +1 -0
  67. package/lib/commonjs/index.js +218 -0
  68. package/lib/commonjs/index.js.map +1 -0
  69. package/lib/commonjs/package.json +1 -0
  70. package/lib/commonjs/react/AdsBanner.js +317 -0
  71. package/lib/commonjs/react/AdsBanner.js.map +1 -0
  72. package/lib/commonjs/react/AdsProvider.js +54 -0
  73. package/lib/commonjs/react/AdsProvider.js.map +1 -0
  74. package/lib/commonjs/react/hooks.js +63 -0
  75. package/lib/commonjs/react/hooks.js.map +1 -0
  76. package/lib/commonjs/testing/clock.js +76 -0
  77. package/lib/commonjs/testing/clock.js.map +1 -0
  78. package/lib/commonjs/testing/conformance.js +99 -0
  79. package/lib/commonjs/testing/conformance.js.map +1 -0
  80. package/lib/commonjs/testing/index.js +389 -0
  81. package/lib/commonjs/testing/index.js.map +1 -0
  82. package/lib/module/config/resolveAdUnit.js +75 -0
  83. package/lib/module/config/resolveAdUnit.js.map +1 -0
  84. package/lib/module/config/types.js +134 -0
  85. package/lib/module/config/types.js.map +1 -0
  86. package/lib/module/config/validate.js +146 -0
  87. package/lib/module/config/validate.js.map +1 -0
  88. package/lib/module/core/adOriginatedReturn.js +115 -0
  89. package/lib/module/core/adOriginatedReturn.js.map +1 -0
  90. package/lib/module/core/adsInstance.js +121 -0
  91. package/lib/module/core/adsInstance.js.map +1 -0
  92. package/lib/module/core/consentFlow.js +143 -0
  93. package/lib/module/core/consentFlow.js.map +1 -0
  94. package/lib/module/core/enablement.js +58 -0
  95. package/lib/module/core/enablement.js.map +1 -0
  96. package/lib/module/core/fullScreenLock.js +44 -0
  97. package/lib/module/core/fullScreenLock.js.map +1 -0
  98. package/lib/module/core/gates.js +91 -0
  99. package/lib/module/core/gates.js.map +1 -0
  100. package/lib/module/core/initMachine.js +152 -0
  101. package/lib/module/core/initMachine.js.map +1 -0
  102. package/lib/module/core/instance/consent.js +151 -0
  103. package/lib/module/core/instance/consent.js.map +1 -0
  104. package/lib/module/core/instance/context.js +212 -0
  105. package/lib/module/core/instance/context.js.map +1 -0
  106. package/lib/module/core/instance/gate.js +183 -0
  107. package/lib/module/core/instance/gate.js.map +1 -0
  108. package/lib/module/core/instance/init.js +321 -0
  109. package/lib/module/core/instance/init.js.map +1 -0
  110. package/lib/module/core/instance/internals.js +109 -0
  111. package/lib/module/core/instance/internals.js.map +1 -0
  112. package/lib/module/core/instance/load.js +452 -0
  113. package/lib/module/core/instance/load.js.map +1 -0
  114. package/lib/module/core/instance/show.js +238 -0
  115. package/lib/module/core/instance/show.js.map +1 -0
  116. package/lib/module/core/instance/types.js +4 -0
  117. package/lib/module/core/instance/types.js.map +1 -0
  118. package/lib/module/core/placementMachine.js +109 -0
  119. package/lib/module/core/placementMachine.js.map +1 -0
  120. package/lib/module/core/privacyGate.js +86 -0
  121. package/lib/module/core/privacyGate.js.map +1 -0
  122. package/lib/module/core/requestThrottle.js +146 -0
  123. package/lib/module/core/requestThrottle.js.map +1 -0
  124. package/lib/module/core/retryPolicy.js +113 -0
  125. package/lib/module/core/retryPolicy.js.map +1 -0
  126. package/lib/module/core/rewardedSession.js +61 -0
  127. package/lib/module/core/rewardedSession.js.map +1 -0
  128. package/lib/module/core/timers.js +150 -0
  129. package/lib/module/core/timers.js.map +1 -0
  130. package/lib/module/diagnostics/correlation.js +29 -0
  131. package/lib/module/diagnostics/correlation.js.map +1 -0
  132. package/lib/module/diagnostics/errors.js +143 -0
  133. package/lib/module/diagnostics/errors.js.map +1 -0
  134. package/lib/module/diagnostics/events.js +128 -0
  135. package/lib/module/diagnostics/events.js.map +1 -0
  136. package/lib/module/engine/admobBanner.js +52 -0
  137. package/lib/module/engine/admobBanner.js.map +1 -0
  138. package/lib/module/engine/admobEngine.js +334 -0
  139. package/lib/module/engine/admobEngine.js.map +1 -0
  140. package/lib/module/engine/admobErrors.js +41 -0
  141. package/lib/module/engine/admobErrors.js.map +1 -0
  142. package/lib/module/engine/port.js +4 -0
  143. package/lib/module/engine/port.js.map +1 -0
  144. package/lib/module/engine/testAdUnits.js +56 -0
  145. package/lib/module/engine/testAdUnits.js.map +1 -0
  146. package/lib/module/index.js +59 -0
  147. package/lib/module/index.js.map +1 -0
  148. package/lib/module/package.json +1 -0
  149. package/lib/module/react/AdsBanner.js +312 -0
  150. package/lib/module/react/AdsBanner.js.map +1 -0
  151. package/lib/module/react/AdsProvider.js +48 -0
  152. package/lib/module/react/AdsProvider.js.map +1 -0
  153. package/lib/module/react/hooks.js +58 -0
  154. package/lib/module/react/hooks.js.map +1 -0
  155. package/lib/module/testing/clock.js +72 -0
  156. package/lib/module/testing/clock.js.map +1 -0
  157. package/lib/module/testing/conformance.js +93 -0
  158. package/lib/module/testing/conformance.js.map +1 -0
  159. package/lib/module/testing/index.js +366 -0
  160. package/lib/module/testing/index.js.map +1 -0
  161. package/lib/typescript/commonjs/config/resolveAdUnit.d.ts +43 -0
  162. package/lib/typescript/commonjs/config/resolveAdUnit.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/config/types.d.ts +280 -0
  164. package/lib/typescript/commonjs/config/types.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/config/validate.d.ts +49 -0
  166. package/lib/typescript/commonjs/config/validate.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/core/adOriginatedReturn.d.ts +61 -0
  168. package/lib/typescript/commonjs/core/adOriginatedReturn.d.ts.map +1 -0
  169. package/lib/typescript/commonjs/core/adsInstance.d.ts +33 -0
  170. package/lib/typescript/commonjs/core/adsInstance.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/core/consentFlow.d.ts +84 -0
  172. package/lib/typescript/commonjs/core/consentFlow.d.ts.map +1 -0
  173. package/lib/typescript/commonjs/core/enablement.d.ts +74 -0
  174. package/lib/typescript/commonjs/core/enablement.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/core/fullScreenLock.d.ts +25 -0
  176. package/lib/typescript/commonjs/core/fullScreenLock.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/core/gates.d.ts +76 -0
  178. package/lib/typescript/commonjs/core/gates.d.ts.map +1 -0
  179. package/lib/typescript/commonjs/core/initMachine.d.ts +66 -0
  180. package/lib/typescript/commonjs/core/initMachine.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/core/instance/consent.d.ts +4 -0
  182. package/lib/typescript/commonjs/core/instance/consent.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/core/instance/context.d.ts +118 -0
  184. package/lib/typescript/commonjs/core/instance/context.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/core/instance/gate.d.ts +38 -0
  186. package/lib/typescript/commonjs/core/instance/gate.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/core/instance/init.d.ts +13 -0
  188. package/lib/typescript/commonjs/core/instance/init.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/core/instance/internals.d.ts +60 -0
  190. package/lib/typescript/commonjs/core/instance/internals.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/core/instance/load.d.ts +9 -0
  192. package/lib/typescript/commonjs/core/instance/load.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/core/instance/show.d.ts +7 -0
  194. package/lib/typescript/commonjs/core/instance/show.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/core/instance/types.d.ts +240 -0
  196. package/lib/typescript/commonjs/core/instance/types.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/core/placementMachine.d.ts +55 -0
  198. package/lib/typescript/commonjs/core/placementMachine.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/core/privacyGate.d.ts +40 -0
  200. package/lib/typescript/commonjs/core/privacyGate.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/core/requestThrottle.d.ts +99 -0
  202. package/lib/typescript/commonjs/core/requestThrottle.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/core/retryPolicy.d.ts +66 -0
  204. package/lib/typescript/commonjs/core/retryPolicy.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/core/rewardedSession.d.ts +37 -0
  206. package/lib/typescript/commonjs/core/rewardedSession.d.ts.map +1 -0
  207. package/lib/typescript/commonjs/core/timers.d.ts +135 -0
  208. package/lib/typescript/commonjs/core/timers.d.ts.map +1 -0
  209. package/lib/typescript/commonjs/diagnostics/correlation.d.ts +18 -0
  210. package/lib/typescript/commonjs/diagnostics/correlation.d.ts.map +1 -0
  211. package/lib/typescript/commonjs/diagnostics/errors.d.ts +59 -0
  212. package/lib/typescript/commonjs/diagnostics/errors.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/diagnostics/events.d.ts +126 -0
  214. package/lib/typescript/commonjs/diagnostics/events.d.ts.map +1 -0
  215. package/lib/typescript/commonjs/engine/admobBanner.d.ts +10 -0
  216. package/lib/typescript/commonjs/engine/admobBanner.d.ts.map +1 -0
  217. package/lib/typescript/commonjs/engine/admobEngine.d.ts +71 -0
  218. package/lib/typescript/commonjs/engine/admobEngine.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/engine/admobErrors.d.ts +9 -0
  220. package/lib/typescript/commonjs/engine/admobErrors.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/engine/port.d.ts +171 -0
  222. package/lib/typescript/commonjs/engine/port.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/engine/testAdUnits.d.ts +33 -0
  224. package/lib/typescript/commonjs/engine/testAdUnits.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/index.d.ts +42 -0
  226. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/package.json +1 -0
  228. package/lib/typescript/commonjs/react/AdsBanner.d.ts +29 -0
  229. package/lib/typescript/commonjs/react/AdsBanner.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/react/AdsProvider.d.ts +36 -0
  231. package/lib/typescript/commonjs/react/AdsProvider.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/react/hooks.d.ts +27 -0
  233. package/lib/typescript/commonjs/react/hooks.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/testing/clock.d.ts +29 -0
  235. package/lib/typescript/commonjs/testing/clock.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/testing/conformance.d.ts +26 -0
  237. package/lib/typescript/commonjs/testing/conformance.d.ts.map +1 -0
  238. package/lib/typescript/commonjs/testing/index.d.ts +133 -0
  239. package/lib/typescript/commonjs/testing/index.d.ts.map +1 -0
  240. package/lib/typescript/module/config/resolveAdUnit.d.ts +43 -0
  241. package/lib/typescript/module/config/resolveAdUnit.d.ts.map +1 -0
  242. package/lib/typescript/module/config/types.d.ts +280 -0
  243. package/lib/typescript/module/config/types.d.ts.map +1 -0
  244. package/lib/typescript/module/config/validate.d.ts +49 -0
  245. package/lib/typescript/module/config/validate.d.ts.map +1 -0
  246. package/lib/typescript/module/core/adOriginatedReturn.d.ts +61 -0
  247. package/lib/typescript/module/core/adOriginatedReturn.d.ts.map +1 -0
  248. package/lib/typescript/module/core/adsInstance.d.ts +33 -0
  249. package/lib/typescript/module/core/adsInstance.d.ts.map +1 -0
  250. package/lib/typescript/module/core/consentFlow.d.ts +84 -0
  251. package/lib/typescript/module/core/consentFlow.d.ts.map +1 -0
  252. package/lib/typescript/module/core/enablement.d.ts +74 -0
  253. package/lib/typescript/module/core/enablement.d.ts.map +1 -0
  254. package/lib/typescript/module/core/fullScreenLock.d.ts +25 -0
  255. package/lib/typescript/module/core/fullScreenLock.d.ts.map +1 -0
  256. package/lib/typescript/module/core/gates.d.ts +76 -0
  257. package/lib/typescript/module/core/gates.d.ts.map +1 -0
  258. package/lib/typescript/module/core/initMachine.d.ts +66 -0
  259. package/lib/typescript/module/core/initMachine.d.ts.map +1 -0
  260. package/lib/typescript/module/core/instance/consent.d.ts +4 -0
  261. package/lib/typescript/module/core/instance/consent.d.ts.map +1 -0
  262. package/lib/typescript/module/core/instance/context.d.ts +118 -0
  263. package/lib/typescript/module/core/instance/context.d.ts.map +1 -0
  264. package/lib/typescript/module/core/instance/gate.d.ts +38 -0
  265. package/lib/typescript/module/core/instance/gate.d.ts.map +1 -0
  266. package/lib/typescript/module/core/instance/init.d.ts +13 -0
  267. package/lib/typescript/module/core/instance/init.d.ts.map +1 -0
  268. package/lib/typescript/module/core/instance/internals.d.ts +60 -0
  269. package/lib/typescript/module/core/instance/internals.d.ts.map +1 -0
  270. package/lib/typescript/module/core/instance/load.d.ts +9 -0
  271. package/lib/typescript/module/core/instance/load.d.ts.map +1 -0
  272. package/lib/typescript/module/core/instance/show.d.ts +7 -0
  273. package/lib/typescript/module/core/instance/show.d.ts.map +1 -0
  274. package/lib/typescript/module/core/instance/types.d.ts +240 -0
  275. package/lib/typescript/module/core/instance/types.d.ts.map +1 -0
  276. package/lib/typescript/module/core/placementMachine.d.ts +55 -0
  277. package/lib/typescript/module/core/placementMachine.d.ts.map +1 -0
  278. package/lib/typescript/module/core/privacyGate.d.ts +40 -0
  279. package/lib/typescript/module/core/privacyGate.d.ts.map +1 -0
  280. package/lib/typescript/module/core/requestThrottle.d.ts +99 -0
  281. package/lib/typescript/module/core/requestThrottle.d.ts.map +1 -0
  282. package/lib/typescript/module/core/retryPolicy.d.ts +66 -0
  283. package/lib/typescript/module/core/retryPolicy.d.ts.map +1 -0
  284. package/lib/typescript/module/core/rewardedSession.d.ts +37 -0
  285. package/lib/typescript/module/core/rewardedSession.d.ts.map +1 -0
  286. package/lib/typescript/module/core/timers.d.ts +135 -0
  287. package/lib/typescript/module/core/timers.d.ts.map +1 -0
  288. package/lib/typescript/module/diagnostics/correlation.d.ts +18 -0
  289. package/lib/typescript/module/diagnostics/correlation.d.ts.map +1 -0
  290. package/lib/typescript/module/diagnostics/errors.d.ts +59 -0
  291. package/lib/typescript/module/diagnostics/errors.d.ts.map +1 -0
  292. package/lib/typescript/module/diagnostics/events.d.ts +126 -0
  293. package/lib/typescript/module/diagnostics/events.d.ts.map +1 -0
  294. package/lib/typescript/module/engine/admobBanner.d.ts +10 -0
  295. package/lib/typescript/module/engine/admobBanner.d.ts.map +1 -0
  296. package/lib/typescript/module/engine/admobEngine.d.ts +71 -0
  297. package/lib/typescript/module/engine/admobEngine.d.ts.map +1 -0
  298. package/lib/typescript/module/engine/admobErrors.d.ts +9 -0
  299. package/lib/typescript/module/engine/admobErrors.d.ts.map +1 -0
  300. package/lib/typescript/module/engine/port.d.ts +171 -0
  301. package/lib/typescript/module/engine/port.d.ts.map +1 -0
  302. package/lib/typescript/module/engine/testAdUnits.d.ts +33 -0
  303. package/lib/typescript/module/engine/testAdUnits.d.ts.map +1 -0
  304. package/lib/typescript/module/index.d.ts +42 -0
  305. package/lib/typescript/module/index.d.ts.map +1 -0
  306. package/lib/typescript/module/package.json +1 -0
  307. package/lib/typescript/module/react/AdsBanner.d.ts +29 -0
  308. package/lib/typescript/module/react/AdsBanner.d.ts.map +1 -0
  309. package/lib/typescript/module/react/AdsProvider.d.ts +36 -0
  310. package/lib/typescript/module/react/AdsProvider.d.ts.map +1 -0
  311. package/lib/typescript/module/react/hooks.d.ts +27 -0
  312. package/lib/typescript/module/react/hooks.d.ts.map +1 -0
  313. package/lib/typescript/module/testing/clock.d.ts +29 -0
  314. package/lib/typescript/module/testing/clock.d.ts.map +1 -0
  315. package/lib/typescript/module/testing/conformance.d.ts +26 -0
  316. package/lib/typescript/module/testing/conformance.d.ts.map +1 -0
  317. package/lib/typescript/module/testing/index.d.ts +133 -0
  318. package/lib/typescript/module/testing/index.d.ts.map +1 -0
  319. package/package.json +48 -12
  320. package/skills/sdk-rn-ads/SKILL.md +2 -1
  321. package/src/core/adsInstance.ts +72 -1829
  322. package/src/core/consentFlow.ts +1 -20
  323. package/src/core/instance/consent.ts +162 -0
  324. package/src/core/instance/context.ts +328 -0
  325. package/src/core/instance/gate.ts +147 -0
  326. package/src/core/instance/init.ts +262 -0
  327. package/src/core/instance/internals.ts +138 -0
  328. package/src/core/instance/load.ts +426 -0
  329. package/src/core/instance/show.ts +202 -0
  330. package/src/core/instance/types.ts +198 -0
  331. package/src/core/requestThrottle.ts +11 -17
  332. package/src/diagnostics/errors.ts +24 -5
  333. package/src/engine/admobBanner.tsx +55 -0
  334. package/src/engine/admobEngine.ts +21 -12
  335. package/src/engine/admobErrors.ts +44 -0
  336. package/src/engine/port.ts +46 -1
  337. package/src/engine/testAdUnits.ts +0 -5
  338. package/src/react/AdsBanner.tsx +81 -80
  339. package/src/testing/clock.ts +75 -0
  340. package/src/testing/index.ts +43 -68
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.armUndecidedWarning = armUndecidedWarning;
7
+ exports.cancelAllRetries = cancelAllRetries;
8
+ exports.closeGate = closeGate;
9
+ exports.currentGate = currentGate;
10
+ exports.disarmUndecidedWarning = disarmUndecidedWarning;
11
+ exports.gateRefusal = gateRefusal;
12
+ exports.refusalFor = refusalFor;
13
+ var _consentFlow = require("../consentFlow.js");
14
+ var _gates = require("../gates.js");
15
+ var _initMachine = require("../initMachine.js");
16
+ var _privacyGate = require("../privacyGate.js");
17
+ /**
18
+ * The request gate, evaluated in one place, and closed in one place (FR-140,
19
+ * ADS-10).
20
+ *
21
+ * Every path that closes the gate — ads turned off or undecided, the app's
22
+ * privacy input withdrawn, the consent flow withdrawn — goes through
23
+ * `closeGate`. In 0.5.0 each of those paths wrote its own teardown, and the one
24
+ * that forgot to cancel retries let a request reach the provider after consent
25
+ * was withdrawn (ADS-02).
26
+ */
27
+
28
+ /**
29
+ * Assembles the gate's inputs and defers the precedence entirely to
30
+ * `evaluateGates`: availability, then enablement, then the app's privacy input,
31
+ * then the consent flow. Nothing else compares gate state.
32
+ *
33
+ * The consent flow contributes `null` until the app opts into it, which is what
34
+ * makes FR-102 structural: with no flow started the gate sees only the app's
35
+ * own input and behaves exactly as 0.1.0 did.
36
+ */
37
+ function currentGate(context) {
38
+ const {
39
+ engine,
40
+ state
41
+ } = context;
42
+ const appGate = (0, _privacyGate.evaluateGate)(state.currentPrivacy);
43
+ return (0, _gates.evaluateGates)({
44
+ available: engine.isAvailable() ? {
45
+ ok: true
46
+ } : {
47
+ ok: false,
48
+ reason: 'unsupported_platform'
49
+ },
50
+ enablement: state.enablement,
51
+ appGate: appGate.allowed ? {
52
+ permitted: true
53
+ } : {
54
+ permitted: false,
55
+ reason: appGate.reason
56
+ },
57
+ consentGate: state.consentStarted ? (0, _consentFlow.toGateInput)(state.consent) : null
58
+ });
59
+ }
60
+
61
+ /** Maps a closed gate onto the refusal shape load, show, and the banner share. */
62
+ function refusalFor(decision) {
63
+ switch (decision.kind) {
64
+ case 'unavailable':
65
+ return {
66
+ status: 'unavailable',
67
+ reason: decision.reason
68
+ };
69
+ case 'disabled':
70
+ return {
71
+ status: 'disabled'
72
+ };
73
+ case 'undecided':
74
+ return {
75
+ status: 'undecided'
76
+ };
77
+ default:
78
+ return {
79
+ status: 'blocked',
80
+ reason: decision.reason
81
+ };
82
+ }
83
+ }
84
+
85
+ /** The refusal that applies now, or null when a request may go ahead. */
86
+ function gateRefusal(context) {
87
+ const decision = currentGate(context);
88
+ return decision.allowed ? null : refusalFor(decision);
89
+ }
90
+
91
+ /** Cancels every pending retry, everywhere (FR-137). */
92
+ function cancelAllRetries(context) {
93
+ for (const runtime of context.placements.values()) {
94
+ runtime.cancelRetry?.();
95
+ runtime.cancelRetry = null;
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Stops every request a gate that just closed forbids (FR-125, FR-153, FR-159).
101
+ *
102
+ * In-flight loads are abandoned and their resources released, a loaded ad that
103
+ * may no longer be shown is released with them, and an ad already on screen is
104
+ * left alone — the provider offers no safe way to close it.
105
+ *
106
+ * An abandoned load *settles*: its caller gets `refusal`, the same answer a load
107
+ * started now would get, and a handle the provider hands back afterwards is
108
+ * disposed rather than adopted.
109
+ */
110
+ function haltPlacements(context, refusal) {
111
+ for (const [key, runtime] of context.placements) {
112
+ if (runtime.snapshot.state === 'showing') {
113
+ continue;
114
+ }
115
+ const abort = runtime.abortLoad;
116
+ context.releasePlacementResources(key);
117
+ context.dispatchPlacement(key, {
118
+ type: 'RESET'
119
+ });
120
+ if (abort) {
121
+ context.emitRefusal('load', refusal, key, context.resolved.placements.get(key)?.format);
122
+ abort(refusal);
123
+ }
124
+ }
125
+ }
126
+
127
+ /**
128
+ * The one teardown for a gate that closed to `refusal`: retries cancelled,
129
+ * placements halted, and the init status moved to match.
130
+ */
131
+ function closeGate(context, refusal) {
132
+ cancelAllRetries(context);
133
+ haltPlacements(context, refusal);
134
+ const {
135
+ init
136
+ } = context.state;
137
+ switch (refusal.status) {
138
+ case 'disabled':
139
+ context.setInit((0, _initMachine.initReducer)(init, {
140
+ type: 'DISABLE'
141
+ }));
142
+ return;
143
+ case 'undecided':
144
+ context.setInit((0, _initMachine.initReducer)(init, {
145
+ type: 'UNDECIDE'
146
+ }));
147
+ return;
148
+ default:
149
+ context.setInit((0, _initMachine.initReducer)(init, {
150
+ type: 'BLOCK',
151
+ reason: refusal.reason
152
+ }));
153
+ }
154
+ }
155
+
156
+ /**
157
+ * Warns once if the app leaves `undecided` unresolved (FR-119).
158
+ *
159
+ * Once, not repeatedly: a warning that fires every ten seconds becomes noise.
160
+ * And it only warns — resolving the state would mean guessing the business
161
+ * decision FR-120 forbids the package from knowing.
162
+ */
163
+ function armUndecidedWarning(context) {
164
+ const {
165
+ state,
166
+ timers,
167
+ resolved,
168
+ events,
169
+ now
170
+ } = context;
171
+ if (state.enablement !== 'undecided' || state.undecidedWarned || state.cancelUndecidedTimer) {
172
+ return;
173
+ }
174
+ const armedAt = now();
175
+ state.cancelUndecidedTimer = timers.after(resolved.timeouts.undecidedWarning, () => {
176
+ state.cancelUndecidedTimer = null;
177
+ if (state.disposed || state.enablement !== 'undecided' || state.undecidedWarned) {
178
+ return;
179
+ }
180
+ state.undecidedWarned = true;
181
+ events.emit({
182
+ type: 'config_warning',
183
+ timestamp: now(),
184
+ warning: 'enablement_undecided_timeout',
185
+ placementKeys: [],
186
+ elapsedMs: now() - armedAt
187
+ });
188
+ });
189
+ }
190
+ function disarmUndecidedWarning(context) {
191
+ context.state.cancelUndecidedTimer?.();
192
+ context.state.cancelUndecidedTimer = null;
193
+ }
194
+ //# sourceMappingURL=gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_consentFlow","require","_gates","_initMachine","_privacyGate","currentGate","context","engine","state","appGate","evaluateGate","currentPrivacy","evaluateGates","available","isAvailable","ok","reason","enablement","allowed","permitted","consentGate","consentStarted","toGateInput","consent","refusalFor","decision","kind","status","gateRefusal","cancelAllRetries","runtime","placements","values","cancelRetry","haltPlacements","refusal","key","snapshot","abort","abortLoad","releasePlacementResources","dispatchPlacement","type","emitRefusal","resolved","get","format","closeGate","init","setInit","initReducer","armUndecidedWarning","timers","events","now","undecidedWarned","cancelUndecidedTimer","armedAt","after","timeouts","undecidedWarning","disposed","emit","timestamp","warning","placementKeys","elapsedMs","disarmUndecidedWarning"],"sourceRoot":"../../../../src","sources":["core/instance/gate.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createInitController = createInitController;
7
+ var _errors = require("../../diagnostics/errors.js");
8
+ var _enablement = require("../enablement.js");
9
+ var _initMachine = require("../initMachine.js");
10
+ var _privacyGate = require("../privacyGate.js");
11
+ var _gate = require("./gate.js");
12
+ /**
13
+ * Initialization, privacy updates and enablement (FR-017 – FR-022, FR-115 –
14
+ * FR-125).
15
+ *
16
+ * One native initialization however many callers race (FR-022), none before
17
+ * the whole gate permits it (FR-017), and a gate that closes and reopens
18
+ * resumes instead of initializing again (FR-154).
19
+ */
20
+
21
+ function createInitController(context) {
22
+ const {
23
+ state,
24
+ engine,
25
+ events,
26
+ resolved,
27
+ now
28
+ } = context;
29
+ function warnSubstitutionOnce() {
30
+ if (state.warnedSubstitution || resolved.catalog.substitutedKeys.length === 0) {
31
+ return;
32
+ }
33
+ state.warnedSubstitution = true;
34
+ events.emit({
35
+ type: 'config_warning',
36
+ timestamp: now(),
37
+ warning: 'test_ad_unit_substituted',
38
+ placementKeys: resolved.catalog.substitutedKeys
39
+ });
40
+ }
41
+ async function doInitialize(privacy) {
42
+ try {
43
+ // The adapter applies privacy configuration before initializing the
44
+ // provider; that ordering is the whole reason FR-017 is enforceable.
45
+ await engine.initialize((0, _privacyGate.toEnginePrivacy)(privacy, resolved.testDeviceIds));
46
+ // Recorded before the status moves, and whether or not it moves: a gate
47
+ // that closed while this was in flight leaves the status `blocked`, but
48
+ // the provider is initialized all the same and must not be again.
49
+ state.providerInitialized = true;
50
+ state.appliedPrivacy = privacy;
51
+ context.setInit((0, _initMachine.initReducer)(state.init, {
52
+ type: 'SUCCEED'
53
+ }));
54
+ warnSubstitutionOnce();
55
+ return {
56
+ status: 'ready'
57
+ };
58
+ } catch (error) {
59
+ const normalized = (0, _errors.normalizeProviderError)(error, {
60
+ operation: 'initialize'
61
+ });
62
+ context.setInit((0, _initMachine.initReducer)(state.init, {
63
+ type: 'FAIL',
64
+ error: normalized
65
+ }));
66
+ return {
67
+ status: 'failed',
68
+ error: normalized
69
+ };
70
+ } finally {
71
+ state.inFlightInit = null;
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Answers `initialize` without a native call when the provider is already up
77
+ * (FR-022, FR-154), or returns `null` to let a real initialization proceed.
78
+ * Init-time-only flags that changed meanwhile fall through to a real
79
+ * initialization: it is the only way they can take effect.
80
+ */
81
+ function resumeInitialized(privacy) {
82
+ if (!state.providerInitialized || !(0, _initMachine.canStart)(state.init.status) || (0, _privacyGate.requiresReinitialization)(state.appliedPrivacy, privacy)) {
83
+ return null;
84
+ }
85
+ context.setInit((0, _initMachine.initReducer)(state.init, {
86
+ type: 'RESUME'
87
+ }));
88
+ return {
89
+ status: 'ready'
90
+ };
91
+ }
92
+ const controller = {
93
+ async initialize(privacy) {
94
+ if (state.disposed) {
95
+ return {
96
+ status: 'unavailable',
97
+ reason: 'provider_missing'
98
+ };
99
+ }
100
+ state.currentPrivacy = privacy;
101
+
102
+ // Availability, then enablement, then consent — the one order, evaluated
103
+ // in the one place (FR-140). Nothing provider-facing happens on any
104
+ // refusal: not a configuration call, not an initialization (FR-017,
105
+ // FR-158). The consent flow opening the gate later initializes, through
106
+ // `reevaluateAfterConsent`.
107
+ const decision = (0, _gate.currentGate)(context);
108
+ if (!decision.allowed) {
109
+ const refusal = (0, _gate.refusalFor)(decision);
110
+ switch (refusal.status) {
111
+ case 'unavailable':
112
+ context.setInit((0, _initMachine.initReducer)(state.init, {
113
+ type: 'UNAVAILABLE',
114
+ reason: refusal.reason
115
+ }));
116
+ break;
117
+ case 'disabled':
118
+ context.setInit((0, _initMachine.initReducer)(state.init, {
119
+ type: 'DISABLE'
120
+ }));
121
+ break;
122
+ case 'undecided':
123
+ // FR-115: the status says `undecided`, so a banner host can hold
124
+ // its space instead of reclaiming it.
125
+ context.setInit((0, _initMachine.initReducer)(state.init, {
126
+ type: 'UNDECIDE'
127
+ }));
128
+ (0, _gate.armUndecidedWarning)(context);
129
+ break;
130
+ default:
131
+ context.setInit((0, _initMachine.initReducer)(state.init, {
132
+ type: 'BLOCK',
133
+ reason: refusal.reason
134
+ }));
135
+ }
136
+ context.emitRefusal('initialize', refusal);
137
+ return refusal;
138
+ }
139
+ if (state.init.status === 'ready') {
140
+ return {
141
+ status: 'ready'
142
+ };
143
+ }
144
+ const resumed = resumeInitialized(privacy);
145
+ if (resumed) {
146
+ return resumed;
147
+ }
148
+ // FR-022, SC-005. Racing callers share one operation.
149
+ if (state.inFlightInit) {
150
+ return state.inFlightInit;
151
+ }
152
+ if (!(0, _initMachine.canStart)(state.init.status)) {
153
+ return {
154
+ status: 'ready'
155
+ };
156
+ }
157
+ context.setInit((0, _initMachine.initReducer)(state.init, {
158
+ type: 'START'
159
+ }));
160
+ state.inFlightInit = doInitialize(privacy);
161
+ return state.inFlightInit;
162
+ },
163
+ async updatePrivacy(privacy) {
164
+ if (state.disposed) {
165
+ // The same answer initialize and load give a disposed instance.
166
+ return {
167
+ status: 'unavailable',
168
+ reason: 'provider_missing'
169
+ };
170
+ }
171
+ if (state.enablement === 'undecided') {
172
+ return {
173
+ status: 'undecided'
174
+ };
175
+ }
176
+ if (state.enablement === 'disabled') {
177
+ return {
178
+ status: 'disabled'
179
+ };
180
+ }
181
+ if (!engine.isAvailable()) {
182
+ return {
183
+ status: 'unavailable',
184
+ reason: 'unsupported_platform'
185
+ };
186
+ }
187
+ // FR-020: a flag the provider only honors at initialization cannot be
188
+ // applied now. Say so, rather than accepting it and running half-old.
189
+ if ((0, _privacyGate.requiresReinitialization)(state.appliedPrivacy, privacy)) {
190
+ return {
191
+ status: 'requires_reinitialization'
192
+ };
193
+ }
194
+ state.currentPrivacy = privacy;
195
+ const gate = (0, _privacyGate.evaluateGate)(privacy);
196
+ if (!gate.allowed) {
197
+ // FR-017, FR-137, FR-153: the same teardown as a consent withdrawal.
198
+ (0, _gate.closeGate)(context, {
199
+ status: 'blocked',
200
+ reason: gate.reason
201
+ });
202
+ return {
203
+ status: 'blocked',
204
+ reason: gate.reason
205
+ };
206
+ }
207
+ // FR-019: resolving consent after a block must not initialize twice.
208
+ if (state.init.status === 'ready') {
209
+ return {
210
+ status: 'applied'
211
+ };
212
+ }
213
+ // Exhaustive on purpose (ADS-04): a new InitResult member fails to
214
+ // compile here instead of falling through to `applied`.
215
+ const result = await controller.initialize(privacy);
216
+ switch (result.status) {
217
+ case 'ready':
218
+ return {
219
+ status: 'applied'
220
+ };
221
+ case 'blocked':
222
+ case 'disabled':
223
+ case 'undecided':
224
+ case 'unavailable':
225
+ case 'failed':
226
+ return result;
227
+ default:
228
+ {
229
+ const unreachable = result;
230
+ return unreachable;
231
+ }
232
+ }
233
+ },
234
+ setEnablement(next) {
235
+ if (state.disposed) {
236
+ return {
237
+ status: 'unavailable',
238
+ reason: 'provider_missing'
239
+ };
240
+ }
241
+ if (state.enablement === next) {
242
+ return {
243
+ status: 'unchanged'
244
+ };
245
+ }
246
+ const previous = state.enablement;
247
+ state.enablement = next;
248
+ if (next === 'disabled' || next === 'undecided') {
249
+ // FR-037, FR-125: new work stops and in-flight resources are released;
250
+ // an ad already on screen is left to finish.
251
+ (0, _gate.closeGate)(context, {
252
+ status: next
253
+ });
254
+ if (next === 'undecided') {
255
+ (0, _gate.armUndecidedWarning)(context);
256
+ return {
257
+ status: 'undecided'
258
+ };
259
+ }
260
+ (0, _gate.disarmUndecidedWarning)(context);
261
+ return {
262
+ status: 'disabled'
263
+ };
264
+ }
265
+
266
+ // Turning ads on. 0.1.0 dropped the status to `not_started` and returned
267
+ // nothing, so every later load was refused in silence (FR-121).
268
+ (0, _gate.disarmUndecidedWarning)(context);
269
+ const resumable = (0, _enablement.canResume)(state.init.resumeTo);
270
+ context.setInit((0, _initMachine.initReducer)(state.init, {
271
+ type: 'ENABLE'
272
+ }));
273
+ const {
274
+ init
275
+ } = state;
276
+ if (init.status === 'unavailable') {
277
+ return {
278
+ status: 'unavailable',
279
+ reason: init.unavailableReason ?? 'unsupported_platform'
280
+ };
281
+ }
282
+ // The provider was never un-initialized, and FR-022 forbids doing it twice.
283
+ if (init.status === 'ready' && (resumable || previous === 'undecided')) {
284
+ return {
285
+ status: 'resumed',
286
+ initStatus: init.status
287
+ };
288
+ }
289
+ // Said out loud: the package will not hide an asynchronous, billable
290
+ // initialization behind a setter the caller may not be awaiting.
291
+ return {
292
+ status: 'requires_initialization'
293
+ };
294
+ },
295
+ /**
296
+ * When consent opens the gate and the instance was blocked, it initializes —
297
+ * once, because `initialize` shares one in-flight operation (FR-022,
298
+ * SC-102). When consent closes it, requests stop, pending retries are
299
+ * cancelled (FR-137), and a `ready` instance moves to `blocked` so a banner
300
+ * host keyed on `ready` stops requesting (FR-153).
301
+ */
302
+ async reevaluateAfterConsent() {
303
+ if (state.disposed || !state.currentPrivacy) {
304
+ return;
305
+ }
306
+ const decision = (0, _gate.currentGate)(context);
307
+ if (!decision.allowed) {
308
+ if (decision.kind === 'blocked') {
309
+ (0, _gate.closeGate)(context, {
310
+ status: 'blocked',
311
+ reason: decision.reason
312
+ });
313
+ } else {
314
+ (0, _gate.cancelAllRetries)(context);
315
+ }
316
+ return;
317
+ }
318
+ if (state.init.status === 'ready' || state.init.status === 'initializing') {
319
+ return;
320
+ }
321
+ await controller.initialize(state.currentPrivacy);
322
+ }
323
+ };
324
+ return controller;
325
+ }
326
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","_enablement","_initMachine","_privacyGate","_gate","createInitController","context","state","engine","events","resolved","now","warnSubstitutionOnce","warnedSubstitution","catalog","substitutedKeys","length","emit","type","timestamp","warning","placementKeys","doInitialize","privacy","initialize","toEnginePrivacy","testDeviceIds","providerInitialized","appliedPrivacy","setInit","initReducer","init","status","error","normalized","normalizeProviderError","operation","inFlightInit","resumeInitialized","canStart","requiresReinitialization","controller","disposed","reason","currentPrivacy","decision","currentGate","allowed","refusal","refusalFor","armUndecidedWarning","emitRefusal","resumed","updatePrivacy","enablement","isAvailable","gate","evaluateGate","closeGate","result","unreachable","setEnablement","next","previous","disarmUndecidedWarning","resumable","canResume","resumeTo","unavailableReason","initStatus","reevaluateAfterConsent","kind","cancelAllRetries"],"sourceRoot":"../../../../src","sources":["core/instance/init.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.attachInternals = attachInternals;
7
+ exports.createInternals = createInternals;
8
+ exports.getInternals = getInternals;
9
+ var _errors = require("../../diagnostics/errors.js");
10
+ var _enablement = require("../enablement.js");
11
+ var _initMachine = require("../initMachine.js");
12
+ var _privacyGate = require("../privacyGate.js");
13
+ var _gate = require("./gate.js");
14
+ /**
15
+ * What `AdsBanner` needs from an instance, held off the public type (ADS-13).
16
+ *
17
+ * 0.5.0 exposed this as `AdsInstance.internals`, so any consumer could emit an
18
+ * `impression` or a `reward_earned` into the stream used for revenue
19
+ * reconciliation, and every change here was a breaking type change. It now
20
+ * lives in a WeakMap keyed by the instance: the banner host looks it up, and an
21
+ * instance an app wrote by hand simply has none.
22
+ */
23
+
24
+ const registry = new WeakMap();
25
+
26
+ /** The banner host's view of an instance `createAds` made; null for any other. */
27
+ function getInternals(instance) {
28
+ return registry.get(instance) ?? null;
29
+ }
30
+ function attachInternals(instance, internals) {
31
+ registry.set(instance, internals);
32
+ }
33
+ function createInternals(context) {
34
+ const {
35
+ state,
36
+ engine,
37
+ resolved,
38
+ events,
39
+ timers,
40
+ requestThrottle,
41
+ now
42
+ } = context;
43
+ return {
44
+ resolveBanner(placementKey) {
45
+ const definition = resolved.placements.get(placementKey);
46
+ if (!definition || definition.format !== 'banner') {
47
+ const code = definition ? 'format_mismatch' : 'placement_not_found';
48
+ return {
49
+ ok: false,
50
+ result: {
51
+ status: 'failed',
52
+ error: new _errors.AdsError(code, {
53
+ operation: 'load',
54
+ placementKey,
55
+ format: definition?.format,
56
+ message: definition ? `"${placementKey}" is not a banner placement` : `unknown placement "${placementKey}"`
57
+ })
58
+ }
59
+ };
60
+ }
61
+ const refusal = (0, _gate.gateRefusal)(context);
62
+ if (refusal) {
63
+ return {
64
+ ok: false,
65
+ result: refusal
66
+ };
67
+ }
68
+ if (!(0, _initMachine.canRequest)(state.init.status)) {
69
+ return {
70
+ ok: false,
71
+ result: {
72
+ status: 'blocked',
73
+ reason: 'consent_required'
74
+ }
75
+ };
76
+ }
77
+ // The throttle is deliberately not consulted here: a fresh mount must be
78
+ // throttled while a width re-adaptation of a mounted banner must not be,
79
+ // and only the host knows which it is (FR-140).
80
+ return {
81
+ ok: true,
82
+ adUnitId: resolved.catalog.byKey.get(placementKey) ?? '',
83
+ personalizedAds: (0, _privacyGate.toEngineRequest)(state.currentPrivacy).personalizedAds
84
+ };
85
+ },
86
+ commitBannerRequest(placementKey, token) {
87
+ if (!resolved.placements.has(placementKey)) {
88
+ return null;
89
+ }
90
+ const decision = requestThrottle.tryAcquire(placementKey, resolved.minRequestIntervalByKey.get(placementKey) ?? 0, token);
91
+ return decision.allowed ? null : {
92
+ status: 'throttled',
93
+ retryAfterMs: decision.retryAfterMs
94
+ };
95
+ },
96
+ throttleFloorFor: placementKey => resolved.minRequestIntervalByKey.get(placementKey) ?? 0,
97
+ banner: () => engine.banner?.isAvailable() ? engine.banner : null,
98
+ emit: event => events.emit(event),
99
+ setPlacementState(key, next) {
100
+ const runtime = context.placements.get(key);
101
+ if (runtime) {
102
+ context.setPlacement(key, {
103
+ ...runtime.snapshot,
104
+ state: next
105
+ });
106
+ }
107
+ },
108
+ isReady: () => (0, _enablement.permitsRequests)(state.enablement) && engine.isAvailable() && (0, _initMachine.canRequest)(state.init.status),
109
+ nextCorrelationId: () => context.correlation.next(),
110
+ now,
111
+ schedule: (delayMs, task) => timers.after(delayMs, task),
112
+ timerCount: () => timers.size()
113
+ };
114
+ }
115
+ //# sourceMappingURL=internals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_errors","require","_enablement","_initMachine","_privacyGate","_gate","registry","WeakMap","getInternals","instance","get","attachInternals","internals","set","createInternals","context","state","engine","resolved","events","timers","requestThrottle","now","resolveBanner","placementKey","definition","placements","format","code","ok","result","status","error","AdsError","operation","message","refusal","gateRefusal","canRequest","init","reason","adUnitId","catalog","byKey","personalizedAds","toEngineRequest","currentPrivacy","commitBannerRequest","token","has","decision","tryAcquire","minRequestIntervalByKey","allowed","retryAfterMs","throttleFloorFor","banner","isAvailable","emit","event","setPlacementState","key","next","runtime","setPlacement","snapshot","isReady","permitsRequests","enablement","nextCorrelationId","correlation","schedule","delayMs","task","after","timerCount","size"],"sourceRoot":"../../../../src","sources":["core/instance/internals.ts"],"mappings":";;;;;;;;AAUA,IAAAA,OAAA,GAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,KAAA,GAAAJ,OAAA;AAjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqDA,MAAMK,QAAQ,GAAG,IAAIC,OAAO,CAAiC,CAAC;;AAE9D;AACO,SAASC,YAAYA,CAACC,QAAqB,EAA4B;EAC7E,OAAOH,QAAQ,CAACI,GAAG,CAACD,QAAQ,CAAC,IAAI,IAAI;AACtC;AAEO,SAASE,eAAeA,CAACF,QAAqB,EAAEG,SAA4B,EAAQ;EAC1FN,QAAQ,CAACO,GAAG,CAACJ,QAAQ,EAAEG,SAAS,CAAC;AAClC;AAEO,SAASE,eAAeA,CAACC,OAAwB,EAAqB;EAC5E,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,MAAM;IAAEC,eAAe;IAAEC;EAAI,CAAC,GAAGP,OAAO;EACjF,OAAO;IACNQ,aAAaA,CAACC,YAAY,EAAE;MAC3B,MAAMC,UAAU,GAAGP,QAAQ,CAACQ,UAAU,CAAChB,GAAG,CAACc,YAAY,CAAC;MACxD,IAAI,CAACC,UAAU,IAAIA,UAAU,CAACE,MAAM,KAAK,QAAQ,EAAE;QAClD,MAAMC,IAAI,GAAGH,UAAU,GAAG,iBAAiB,GAAG,qBAAqB;QACnE,OAAO;UACNI,EAAE,EAAE,KAAK;UACTC,MAAM,EAAE;YACPC,MAAM,EAAE,QAAQ;YAChBC,KAAK,EAAE,IAAIC,gBAAQ,CAACL,IAAI,EAAE;cACzBM,SAAS,EAAE,MAAM;cACjBV,YAAY;cACZG,MAAM,EAAEF,UAAU,EAAEE,MAAM;cAC1BQ,OAAO,EAAEV,UAAU,GAChB,IAAID,YAAY,6BAA6B,GAC7C,sBAAsBA,YAAY;YACtC,CAAC;UACF;QACD,CAAC;MACF;MACA,MAAMY,OAAO,GAAG,IAAAC,iBAAW,EAACtB,OAAO,CAAC;MACpC,IAAIqB,OAAO,EAAE;QACZ,OAAO;UAAEP,EAAE,EAAE,KAAK;UAAEC,MAAM,EAAEM;QAAQ,CAAC;MACtC;MACA,IAAI,CAAC,IAAAE,uBAAU,EAACtB,KAAK,CAACuB,IAAI,CAACR,MAAM,CAAC,EAAE;QACnC,OAAO;UAAEF,EAAE,EAAE,KAAK;UAAEC,MAAM,EAAE;YAAEC,MAAM,EAAE,SAAS;YAAES,MAAM,EAAE;UAAmB;QAAE,CAAC;MAChF;MACA;MACA;MACA;MACA,OAAO;QACNX,EAAE,EAAE,IAAI;QACRY,QAAQ,EAAEvB,QAAQ,CAACwB,OAAO,CAACC,KAAK,CAACjC,GAAG,CAACc,YAAY,CAAC,IAAI,EAAE;QACxDoB,eAAe,EAAE,IAAAC,4BAAe,EAAC7B,KAAK,CAAC8B,cAAc,CAAC,CAACF;MACxD,CAAC;IACF,CAAC;IACDG,mBAAmBA,CAACvB,YAAY,EAAEwB,KAAK,EAAE;MACxC,IAAI,CAAC9B,QAAQ,CAACQ,UAAU,CAACuB,GAAG,CAACzB,YAAY,CAAC,EAAE;QAC3C,OAAO,IAAI;MACZ;MACA,MAAM0B,QAAQ,GAAG7B,eAAe,CAAC8B,UAAU,CAC1C3B,YAAY,EACZN,QAAQ,CAACkC,uBAAuB,CAAC1C,GAAG,CAACc,YAAY,CAAC,IAAI,CAAC,EACvDwB,KACD,CAAC;MACD,OAAOE,QAAQ,CAACG,OAAO,GAAG,IAAI,GAAG;QAAEtB,MAAM,EAAE,WAAW;QAAEuB,YAAY,EAAEJ,QAAQ,CAACI;MAAa,CAAC;IAC9F,CAAC;IACDC,gBAAgB,EAAE/B,YAAY,IAAIN,QAAQ,CAACkC,uBAAuB,CAAC1C,GAAG,CAACc,YAAY,CAAC,IAAI,CAAC;IACzFgC,MAAM,EAAEA,CAAA,KAAOvC,MAAM,CAACuC,MAAM,EAAEC,WAAW,CAAC,CAAC,GAAGxC,MAAM,CAACuC,MAAM,GAAG,IAAK;IACnEE,IAAI,EAAEC,KAAK,IAAIxC,MAAM,CAACuC,IAAI,CAACC,KAAK,CAAC;IACjCC,iBAAiBA,CAACC,GAAG,EAAEC,IAAI,EAAE;MAC5B,MAAMC,OAAO,GAAGhD,OAAO,CAACW,UAAU,CAAChB,GAAG,CAACmD,GAAG,CAAC;MAC3C,IAAIE,OAAO,EAAE;QACZhD,OAAO,CAACiD,YAAY,CAACH,GAAG,EAAE;UAAE,GAAGE,OAAO,CAACE,QAAQ;UAAEjD,KAAK,EAAE8C;QAAK,CAAC,CAAC;MAChE;IACD,CAAC;IACDI,OAAO,EAAEA,CAAA,KACR,IAAAC,2BAAe,EAACnD,KAAK,CAACoD,UAAU,CAAC,IAAInD,MAAM,CAACwC,WAAW,CAAC,CAAC,IAAI,IAAAnB,uBAAU,EAACtB,KAAK,CAACuB,IAAI,CAACR,MAAM,CAAC;IAC3FsC,iBAAiB,EAAEA,CAAA,KAAMtD,OAAO,CAACuD,WAAW,CAACR,IAAI,CAAC,CAAC;IACnDxC,GAAG;IACHiD,QAAQ,EAAEA,CAACC,OAAO,EAAEC,IAAI,KAAKrD,MAAM,CAACsD,KAAK,CAACF,OAAO,EAAEC,IAAI,CAAC;IACxDE,UAAU,EAAEA,CAAA,KAAMvD,MAAM,CAACwD,IAAI,CAAC;EAC/B,CAAC;AACF","ignoreList":[]}