@chipmobilesdk/rn-ads 0.7.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 (319) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/lib/commonjs/config/resolveAdUnit.js +80 -0
  3. package/lib/commonjs/config/resolveAdUnit.js.map +1 -0
  4. package/lib/commonjs/config/types.js +138 -0
  5. package/lib/commonjs/config/types.js.map +1 -0
  6. package/lib/commonjs/config/validate.js +150 -0
  7. package/lib/commonjs/config/validate.js.map +1 -0
  8. package/lib/commonjs/core/adOriginatedReturn.js +119 -0
  9. package/lib/commonjs/core/adOriginatedReturn.js.map +1 -0
  10. package/lib/commonjs/core/adsInstance.js +129 -0
  11. package/lib/commonjs/core/adsInstance.js.map +1 -0
  12. package/lib/commonjs/core/consentFlow.js +154 -0
  13. package/lib/commonjs/core/consentFlow.js.map +1 -0
  14. package/lib/commonjs/core/enablement.js +64 -0
  15. package/lib/commonjs/core/enablement.js.map +1 -0
  16. package/lib/commonjs/core/fullScreenLock.js +48 -0
  17. package/lib/commonjs/core/fullScreenLock.js.map +1 -0
  18. package/lib/commonjs/core/gates.js +95 -0
  19. package/lib/commonjs/core/gates.js.map +1 -0
  20. package/lib/commonjs/core/initMachine.js +159 -0
  21. package/lib/commonjs/core/initMachine.js.map +1 -0
  22. package/lib/commonjs/core/instance/consent.js +155 -0
  23. package/lib/commonjs/core/instance/consent.js.map +1 -0
  24. package/lib/commonjs/core/instance/context.js +217 -0
  25. package/lib/commonjs/core/instance/context.js.map +1 -0
  26. package/lib/commonjs/core/instance/gate.js +194 -0
  27. package/lib/commonjs/core/instance/gate.js.map +1 -0
  28. package/lib/commonjs/core/instance/init.js +326 -0
  29. package/lib/commonjs/core/instance/init.js.map +1 -0
  30. package/lib/commonjs/core/instance/internals.js +115 -0
  31. package/lib/commonjs/core/instance/internals.js.map +1 -0
  32. package/lib/commonjs/core/instance/load.js +458 -0
  33. package/lib/commonjs/core/instance/load.js.map +1 -0
  34. package/lib/commonjs/core/instance/show.js +243 -0
  35. package/lib/commonjs/core/instance/show.js.map +1 -0
  36. package/lib/commonjs/core/instance/types.js +6 -0
  37. package/lib/commonjs/core/instance/types.js.map +1 -0
  38. package/lib/commonjs/core/placementMachine.js +116 -0
  39. package/lib/commonjs/core/placementMachine.js.map +1 -0
  40. package/lib/commonjs/core/privacyGate.js +93 -0
  41. package/lib/commonjs/core/privacyGate.js.map +1 -0
  42. package/lib/commonjs/core/requestThrottle.js +152 -0
  43. package/lib/commonjs/core/requestThrottle.js.map +1 -0
  44. package/lib/commonjs/core/retryPolicy.js +120 -0
  45. package/lib/commonjs/core/retryPolicy.js.map +1 -0
  46. package/lib/commonjs/core/rewardedSession.js +65 -0
  47. package/lib/commonjs/core/rewardedSession.js.map +1 -0
  48. package/lib/commonjs/core/timers.js +162 -0
  49. package/lib/commonjs/core/timers.js.map +1 -0
  50. package/lib/commonjs/diagnostics/correlation.js +33 -0
  51. package/lib/commonjs/diagnostics/correlation.js.map +1 -0
  52. package/lib/commonjs/diagnostics/errors.js +152 -0
  53. package/lib/commonjs/diagnostics/errors.js.map +1 -0
  54. package/lib/commonjs/diagnostics/events.js +132 -0
  55. package/lib/commonjs/diagnostics/events.js.map +1 -0
  56. package/lib/commonjs/engine/admobBanner.js +58 -0
  57. package/lib/commonjs/engine/admobBanner.js.map +1 -0
  58. package/lib/commonjs/engine/admobEngine.js +343 -0
  59. package/lib/commonjs/engine/admobEngine.js.map +1 -0
  60. package/lib/commonjs/engine/admobErrors.js +45 -0
  61. package/lib/commonjs/engine/admobErrors.js.map +1 -0
  62. package/lib/commonjs/engine/port.js +6 -0
  63. package/lib/commonjs/engine/port.js.map +1 -0
  64. package/lib/commonjs/engine/testAdUnits.js +61 -0
  65. package/lib/commonjs/engine/testAdUnits.js.map +1 -0
  66. package/lib/commonjs/index.js +218 -0
  67. package/lib/commonjs/index.js.map +1 -0
  68. package/lib/commonjs/package.json +1 -0
  69. package/lib/commonjs/react/AdsBanner.js +317 -0
  70. package/lib/commonjs/react/AdsBanner.js.map +1 -0
  71. package/lib/commonjs/react/AdsProvider.js +54 -0
  72. package/lib/commonjs/react/AdsProvider.js.map +1 -0
  73. package/lib/commonjs/react/hooks.js +63 -0
  74. package/lib/commonjs/react/hooks.js.map +1 -0
  75. package/lib/commonjs/testing/clock.js +76 -0
  76. package/lib/commonjs/testing/clock.js.map +1 -0
  77. package/lib/commonjs/testing/conformance.js +99 -0
  78. package/lib/commonjs/testing/conformance.js.map +1 -0
  79. package/lib/commonjs/testing/index.js +389 -0
  80. package/lib/commonjs/testing/index.js.map +1 -0
  81. package/lib/module/config/resolveAdUnit.js +75 -0
  82. package/lib/module/config/resolveAdUnit.js.map +1 -0
  83. package/lib/module/config/types.js +134 -0
  84. package/lib/module/config/types.js.map +1 -0
  85. package/lib/module/config/validate.js +146 -0
  86. package/lib/module/config/validate.js.map +1 -0
  87. package/lib/module/core/adOriginatedReturn.js +115 -0
  88. package/lib/module/core/adOriginatedReturn.js.map +1 -0
  89. package/lib/module/core/adsInstance.js +121 -0
  90. package/lib/module/core/adsInstance.js.map +1 -0
  91. package/lib/module/core/consentFlow.js +143 -0
  92. package/lib/module/core/consentFlow.js.map +1 -0
  93. package/lib/module/core/enablement.js +58 -0
  94. package/lib/module/core/enablement.js.map +1 -0
  95. package/lib/module/core/fullScreenLock.js +44 -0
  96. package/lib/module/core/fullScreenLock.js.map +1 -0
  97. package/lib/module/core/gates.js +91 -0
  98. package/lib/module/core/gates.js.map +1 -0
  99. package/lib/module/core/initMachine.js +152 -0
  100. package/lib/module/core/initMachine.js.map +1 -0
  101. package/lib/module/core/instance/consent.js +151 -0
  102. package/lib/module/core/instance/consent.js.map +1 -0
  103. package/lib/module/core/instance/context.js +212 -0
  104. package/lib/module/core/instance/context.js.map +1 -0
  105. package/lib/module/core/instance/gate.js +183 -0
  106. package/lib/module/core/instance/gate.js.map +1 -0
  107. package/lib/module/core/instance/init.js +321 -0
  108. package/lib/module/core/instance/init.js.map +1 -0
  109. package/lib/module/core/instance/internals.js +109 -0
  110. package/lib/module/core/instance/internals.js.map +1 -0
  111. package/lib/module/core/instance/load.js +452 -0
  112. package/lib/module/core/instance/load.js.map +1 -0
  113. package/lib/module/core/instance/show.js +238 -0
  114. package/lib/module/core/instance/show.js.map +1 -0
  115. package/lib/module/core/instance/types.js +4 -0
  116. package/lib/module/core/instance/types.js.map +1 -0
  117. package/lib/module/core/placementMachine.js +109 -0
  118. package/lib/module/core/placementMachine.js.map +1 -0
  119. package/lib/module/core/privacyGate.js +86 -0
  120. package/lib/module/core/privacyGate.js.map +1 -0
  121. package/lib/module/core/requestThrottle.js +146 -0
  122. package/lib/module/core/requestThrottle.js.map +1 -0
  123. package/lib/module/core/retryPolicy.js +113 -0
  124. package/lib/module/core/retryPolicy.js.map +1 -0
  125. package/lib/module/core/rewardedSession.js +61 -0
  126. package/lib/module/core/rewardedSession.js.map +1 -0
  127. package/lib/module/core/timers.js +150 -0
  128. package/lib/module/core/timers.js.map +1 -0
  129. package/lib/module/diagnostics/correlation.js +29 -0
  130. package/lib/module/diagnostics/correlation.js.map +1 -0
  131. package/lib/module/diagnostics/errors.js +143 -0
  132. package/lib/module/diagnostics/errors.js.map +1 -0
  133. package/lib/module/diagnostics/events.js +128 -0
  134. package/lib/module/diagnostics/events.js.map +1 -0
  135. package/lib/module/engine/admobBanner.js +52 -0
  136. package/lib/module/engine/admobBanner.js.map +1 -0
  137. package/lib/module/engine/admobEngine.js +334 -0
  138. package/lib/module/engine/admobEngine.js.map +1 -0
  139. package/lib/module/engine/admobErrors.js +41 -0
  140. package/lib/module/engine/admobErrors.js.map +1 -0
  141. package/lib/module/engine/port.js +4 -0
  142. package/lib/module/engine/port.js.map +1 -0
  143. package/lib/module/engine/testAdUnits.js +56 -0
  144. package/lib/module/engine/testAdUnits.js.map +1 -0
  145. package/lib/module/index.js +59 -0
  146. package/lib/module/index.js.map +1 -0
  147. package/lib/module/package.json +1 -0
  148. package/lib/module/react/AdsBanner.js +312 -0
  149. package/lib/module/react/AdsBanner.js.map +1 -0
  150. package/lib/module/react/AdsProvider.js +48 -0
  151. package/lib/module/react/AdsProvider.js.map +1 -0
  152. package/lib/module/react/hooks.js +58 -0
  153. package/lib/module/react/hooks.js.map +1 -0
  154. package/lib/module/testing/clock.js +72 -0
  155. package/lib/module/testing/clock.js.map +1 -0
  156. package/lib/module/testing/conformance.js +93 -0
  157. package/lib/module/testing/conformance.js.map +1 -0
  158. package/lib/module/testing/index.js +366 -0
  159. package/lib/module/testing/index.js.map +1 -0
  160. package/lib/typescript/commonjs/config/resolveAdUnit.d.ts +43 -0
  161. package/lib/typescript/commonjs/config/resolveAdUnit.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/config/types.d.ts +280 -0
  163. package/lib/typescript/commonjs/config/types.d.ts.map +1 -0
  164. package/lib/typescript/commonjs/config/validate.d.ts +49 -0
  165. package/lib/typescript/commonjs/config/validate.d.ts.map +1 -0
  166. package/lib/typescript/commonjs/core/adOriginatedReturn.d.ts +61 -0
  167. package/lib/typescript/commonjs/core/adOriginatedReturn.d.ts.map +1 -0
  168. package/lib/typescript/commonjs/core/adsInstance.d.ts +33 -0
  169. package/lib/typescript/commonjs/core/adsInstance.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/core/consentFlow.d.ts +84 -0
  171. package/lib/typescript/commonjs/core/consentFlow.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/core/enablement.d.ts +74 -0
  173. package/lib/typescript/commonjs/core/enablement.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/core/fullScreenLock.d.ts +25 -0
  175. package/lib/typescript/commonjs/core/fullScreenLock.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/core/gates.d.ts +76 -0
  177. package/lib/typescript/commonjs/core/gates.d.ts.map +1 -0
  178. package/lib/typescript/commonjs/core/initMachine.d.ts +66 -0
  179. package/lib/typescript/commonjs/core/initMachine.d.ts.map +1 -0
  180. package/lib/typescript/commonjs/core/instance/consent.d.ts +4 -0
  181. package/lib/typescript/commonjs/core/instance/consent.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/core/instance/context.d.ts +118 -0
  183. package/lib/typescript/commonjs/core/instance/context.d.ts.map +1 -0
  184. package/lib/typescript/commonjs/core/instance/gate.d.ts +38 -0
  185. package/lib/typescript/commonjs/core/instance/gate.d.ts.map +1 -0
  186. package/lib/typescript/commonjs/core/instance/init.d.ts +13 -0
  187. package/lib/typescript/commonjs/core/instance/init.d.ts.map +1 -0
  188. package/lib/typescript/commonjs/core/instance/internals.d.ts +60 -0
  189. package/lib/typescript/commonjs/core/instance/internals.d.ts.map +1 -0
  190. package/lib/typescript/commonjs/core/instance/load.d.ts +9 -0
  191. package/lib/typescript/commonjs/core/instance/load.d.ts.map +1 -0
  192. package/lib/typescript/commonjs/core/instance/show.d.ts +7 -0
  193. package/lib/typescript/commonjs/core/instance/show.d.ts.map +1 -0
  194. package/lib/typescript/commonjs/core/instance/types.d.ts +240 -0
  195. package/lib/typescript/commonjs/core/instance/types.d.ts.map +1 -0
  196. package/lib/typescript/commonjs/core/placementMachine.d.ts +55 -0
  197. package/lib/typescript/commonjs/core/placementMachine.d.ts.map +1 -0
  198. package/lib/typescript/commonjs/core/privacyGate.d.ts +40 -0
  199. package/lib/typescript/commonjs/core/privacyGate.d.ts.map +1 -0
  200. package/lib/typescript/commonjs/core/requestThrottle.d.ts +99 -0
  201. package/lib/typescript/commonjs/core/requestThrottle.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/core/retryPolicy.d.ts +66 -0
  203. package/lib/typescript/commonjs/core/retryPolicy.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/core/rewardedSession.d.ts +37 -0
  205. package/lib/typescript/commonjs/core/rewardedSession.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/core/timers.d.ts +135 -0
  207. package/lib/typescript/commonjs/core/timers.d.ts.map +1 -0
  208. package/lib/typescript/commonjs/diagnostics/correlation.d.ts +18 -0
  209. package/lib/typescript/commonjs/diagnostics/correlation.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/diagnostics/errors.d.ts +59 -0
  211. package/lib/typescript/commonjs/diagnostics/errors.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/diagnostics/events.d.ts +126 -0
  213. package/lib/typescript/commonjs/diagnostics/events.d.ts.map +1 -0
  214. package/lib/typescript/commonjs/engine/admobBanner.d.ts +10 -0
  215. package/lib/typescript/commonjs/engine/admobBanner.d.ts.map +1 -0
  216. package/lib/typescript/commonjs/engine/admobEngine.d.ts +71 -0
  217. package/lib/typescript/commonjs/engine/admobEngine.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/engine/admobErrors.d.ts +9 -0
  219. package/lib/typescript/commonjs/engine/admobErrors.d.ts.map +1 -0
  220. package/lib/typescript/commonjs/engine/port.d.ts +171 -0
  221. package/lib/typescript/commonjs/engine/port.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/engine/testAdUnits.d.ts +33 -0
  223. package/lib/typescript/commonjs/engine/testAdUnits.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/index.d.ts +42 -0
  225. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  226. package/lib/typescript/commonjs/package.json +1 -0
  227. package/lib/typescript/commonjs/react/AdsBanner.d.ts +29 -0
  228. package/lib/typescript/commonjs/react/AdsBanner.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/react/AdsProvider.d.ts +36 -0
  230. package/lib/typescript/commonjs/react/AdsProvider.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/react/hooks.d.ts +27 -0
  232. package/lib/typescript/commonjs/react/hooks.d.ts.map +1 -0
  233. package/lib/typescript/commonjs/testing/clock.d.ts +29 -0
  234. package/lib/typescript/commonjs/testing/clock.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/testing/conformance.d.ts +26 -0
  236. package/lib/typescript/commonjs/testing/conformance.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/testing/index.d.ts +133 -0
  238. package/lib/typescript/commonjs/testing/index.d.ts.map +1 -0
  239. package/lib/typescript/module/config/resolveAdUnit.d.ts +43 -0
  240. package/lib/typescript/module/config/resolveAdUnit.d.ts.map +1 -0
  241. package/lib/typescript/module/config/types.d.ts +280 -0
  242. package/lib/typescript/module/config/types.d.ts.map +1 -0
  243. package/lib/typescript/module/config/validate.d.ts +49 -0
  244. package/lib/typescript/module/config/validate.d.ts.map +1 -0
  245. package/lib/typescript/module/core/adOriginatedReturn.d.ts +61 -0
  246. package/lib/typescript/module/core/adOriginatedReturn.d.ts.map +1 -0
  247. package/lib/typescript/module/core/adsInstance.d.ts +33 -0
  248. package/lib/typescript/module/core/adsInstance.d.ts.map +1 -0
  249. package/lib/typescript/module/core/consentFlow.d.ts +84 -0
  250. package/lib/typescript/module/core/consentFlow.d.ts.map +1 -0
  251. package/lib/typescript/module/core/enablement.d.ts +74 -0
  252. package/lib/typescript/module/core/enablement.d.ts.map +1 -0
  253. package/lib/typescript/module/core/fullScreenLock.d.ts +25 -0
  254. package/lib/typescript/module/core/fullScreenLock.d.ts.map +1 -0
  255. package/lib/typescript/module/core/gates.d.ts +76 -0
  256. package/lib/typescript/module/core/gates.d.ts.map +1 -0
  257. package/lib/typescript/module/core/initMachine.d.ts +66 -0
  258. package/lib/typescript/module/core/initMachine.d.ts.map +1 -0
  259. package/lib/typescript/module/core/instance/consent.d.ts +4 -0
  260. package/lib/typescript/module/core/instance/consent.d.ts.map +1 -0
  261. package/lib/typescript/module/core/instance/context.d.ts +118 -0
  262. package/lib/typescript/module/core/instance/context.d.ts.map +1 -0
  263. package/lib/typescript/module/core/instance/gate.d.ts +38 -0
  264. package/lib/typescript/module/core/instance/gate.d.ts.map +1 -0
  265. package/lib/typescript/module/core/instance/init.d.ts +13 -0
  266. package/lib/typescript/module/core/instance/init.d.ts.map +1 -0
  267. package/lib/typescript/module/core/instance/internals.d.ts +60 -0
  268. package/lib/typescript/module/core/instance/internals.d.ts.map +1 -0
  269. package/lib/typescript/module/core/instance/load.d.ts +9 -0
  270. package/lib/typescript/module/core/instance/load.d.ts.map +1 -0
  271. package/lib/typescript/module/core/instance/show.d.ts +7 -0
  272. package/lib/typescript/module/core/instance/show.d.ts.map +1 -0
  273. package/lib/typescript/module/core/instance/types.d.ts +240 -0
  274. package/lib/typescript/module/core/instance/types.d.ts.map +1 -0
  275. package/lib/typescript/module/core/placementMachine.d.ts +55 -0
  276. package/lib/typescript/module/core/placementMachine.d.ts.map +1 -0
  277. package/lib/typescript/module/core/privacyGate.d.ts +40 -0
  278. package/lib/typescript/module/core/privacyGate.d.ts.map +1 -0
  279. package/lib/typescript/module/core/requestThrottle.d.ts +99 -0
  280. package/lib/typescript/module/core/requestThrottle.d.ts.map +1 -0
  281. package/lib/typescript/module/core/retryPolicy.d.ts +66 -0
  282. package/lib/typescript/module/core/retryPolicy.d.ts.map +1 -0
  283. package/lib/typescript/module/core/rewardedSession.d.ts +37 -0
  284. package/lib/typescript/module/core/rewardedSession.d.ts.map +1 -0
  285. package/lib/typescript/module/core/timers.d.ts +135 -0
  286. package/lib/typescript/module/core/timers.d.ts.map +1 -0
  287. package/lib/typescript/module/diagnostics/correlation.d.ts +18 -0
  288. package/lib/typescript/module/diagnostics/correlation.d.ts.map +1 -0
  289. package/lib/typescript/module/diagnostics/errors.d.ts +59 -0
  290. package/lib/typescript/module/diagnostics/errors.d.ts.map +1 -0
  291. package/lib/typescript/module/diagnostics/events.d.ts +126 -0
  292. package/lib/typescript/module/diagnostics/events.d.ts.map +1 -0
  293. package/lib/typescript/module/engine/admobBanner.d.ts +10 -0
  294. package/lib/typescript/module/engine/admobBanner.d.ts.map +1 -0
  295. package/lib/typescript/module/engine/admobEngine.d.ts +71 -0
  296. package/lib/typescript/module/engine/admobEngine.d.ts.map +1 -0
  297. package/lib/typescript/module/engine/admobErrors.d.ts +9 -0
  298. package/lib/typescript/module/engine/admobErrors.d.ts.map +1 -0
  299. package/lib/typescript/module/engine/port.d.ts +171 -0
  300. package/lib/typescript/module/engine/port.d.ts.map +1 -0
  301. package/lib/typescript/module/engine/testAdUnits.d.ts +33 -0
  302. package/lib/typescript/module/engine/testAdUnits.d.ts.map +1 -0
  303. package/lib/typescript/module/index.d.ts +42 -0
  304. package/lib/typescript/module/index.d.ts.map +1 -0
  305. package/lib/typescript/module/package.json +1 -0
  306. package/lib/typescript/module/react/AdsBanner.d.ts +29 -0
  307. package/lib/typescript/module/react/AdsBanner.d.ts.map +1 -0
  308. package/lib/typescript/module/react/AdsProvider.d.ts +36 -0
  309. package/lib/typescript/module/react/AdsProvider.d.ts.map +1 -0
  310. package/lib/typescript/module/react/hooks.d.ts +27 -0
  311. package/lib/typescript/module/react/hooks.d.ts.map +1 -0
  312. package/lib/typescript/module/testing/clock.d.ts +29 -0
  313. package/lib/typescript/module/testing/clock.d.ts.map +1 -0
  314. package/lib/typescript/module/testing/conformance.d.ts +26 -0
  315. package/lib/typescript/module/testing/conformance.d.ts.map +1 -0
  316. package/lib/typescript/module/testing/index.d.ts +133 -0
  317. package/lib/typescript/module/testing/index.d.ts.map +1 -0
  318. package/package.json +48 -12
  319. package/src/testing/index.ts +17 -3
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AdsProvider = AdsProvider;
7
+ exports.useAds = useAds;
8
+ var _rnCore = require("@chipmobilesdk/rn-core");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
13
+ * Instance context (US1).
14
+ *
15
+ * Supplies one `AdsInstance` to the tree so `AdsBanner` and the hooks can reach
16
+ * it without every screen threading it through props.
17
+ *
18
+ * The provider does not create the instance. The app does, and passes it in —
19
+ * because `createAds` throws on a misconfigured catalog (FR-008, FR-012), and a
20
+ * throw during render is a far worse place to discover that than a throw at
21
+ * startup where the app can decide what to do about it.
22
+ */
23
+
24
+ const AdsContext = /*#__PURE__*/(0, _react.createContext)(null);
25
+ function AdsProvider({
26
+ instance,
27
+ trackAppState = true,
28
+ children
29
+ }) {
30
+ (0, _react.useEffect)(() => {
31
+ if (!trackAppState) {
32
+ return;
33
+ }
34
+ return (0, _rnCore.appLifecycle)().subscribe(state => {
35
+ instance.setAppActive(state === 'active');
36
+ });
37
+ }, [instance, trackAppState]);
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AdsContext.Provider, {
39
+ value: instance,
40
+ children: children
41
+ });
42
+ }
43
+
44
+ /**
45
+ * Returns the instance, or null outside a provider.
46
+ *
47
+ * Null rather than a throw on purpose: a screen that renders a banner should
48
+ * degrade to rendering nothing when ads are not wired up, not take the screen
49
+ * down with it (NFR-005).
50
+ */
51
+ function useAds() {
52
+ return (0, _react.useContext)(AdsContext);
53
+ }
54
+ //# sourceMappingURL=AdsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_rnCore","require","_react","_interopRequireWildcard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AdsContext","createContext","AdsProvider","instance","trackAppState","children","useEffect","appLifecycle","subscribe","state","setAppActive","jsx","Provider","value","useAds","useContext"],"sourceRoot":"../../../src","sources":["react/AdsProvider.tsx"],"mappings":";;;;;;;AAYA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAoF,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAbpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,MAAMkB,UAAU,gBAAG,IAAAC,oBAAa,EAAqB,IAAI,CAAC;AAgBnD,SAASC,WAAWA,CAAC;EAAEC,QAAQ;EAAEC,aAAa,GAAG,IAAI;EAAEC;AAA2B,CAAC,EAAE;EAC3F,IAAAC,gBAAS,EAAC,MAAM;IACf,IAAI,CAACF,aAAa,EAAE;MACnB;IACD;IACA,OAAO,IAAAG,oBAAY,EAAC,CAAC,CAACC,SAAS,CAACC,KAAK,IAAI;MACxCN,QAAQ,CAACO,YAAY,CAACD,KAAK,KAAK,QAAQ,CAAC;IAC1C,CAAC,CAAC;EACH,CAAC,EAAE,CAACN,QAAQ,EAAEC,aAAa,CAAC,CAAC;EAE7B,oBAAO,IAAAxB,WAAA,CAAA+B,GAAA,EAACX,UAAU,CAACY,QAAQ;IAACC,KAAK,EAAEV,QAAS;IAAAE,QAAA,EAAEA;EAAQ,CAAsB,CAAC;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,MAAMA,CAAA,EAAuB;EAC5C,OAAO,IAAAC,iBAAU,EAACf,UAAU,CAAC;AAC9B","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAdsEvents = useAdsEvents;
7
+ exports.useAdsStatus = useAdsStatus;
8
+ exports.usePlacementState = usePlacementState;
9
+ var _react = require("@chipmobilesdk/rn-core/react");
10
+ var _react2 = require("react");
11
+ var _AdsProvider = require("./AdsProvider.js");
12
+ /**
13
+ * React bindings (US1, FR-027).
14
+ *
15
+ * Each hook subscribes to exactly what it reads. `usePlacementState` subscribes
16
+ * to one placement rather than to the whole event stream, which is what keeps a
17
+ * banner from re-rendering because an unrelated interstitial was clicked —
18
+ * PERF-002's bounded re-render assertion depends on it.
19
+ *
20
+ * None of these hand back an ad object. A consumer queries and subscribes to
21
+ * state; it never holds provider-owned memory (FR-027).
22
+ */
23
+
24
+ /** Live state for one placement. `unavailable` outside a provider. */
25
+ function usePlacementState(placementKey) {
26
+ const ads = (0, _AdsProvider.useAds)();
27
+ const subscribe = (0, _react2.useCallback)(listener => ads ? ads.subscribePlacement(placementKey, listener) : NO_SUBSCRIPTION, [ads, placementKey]);
28
+ const getSnapshot = (0, _react2.useCallback)(() => ads ? ads.getPlacementState(placementKey) : 'unavailable', [ads, placementKey]);
29
+ // useSyncExternalStore: tear-free, and no transition lost between render and
30
+ // subscription, which the useState copy had to re-read to avoid.
31
+ return (0, _react.useExternalStore)(subscribe, getSnapshot);
32
+ }
33
+
34
+ /** Live initialization status. `unavailable` outside a provider. */
35
+ function useAdsStatus() {
36
+ const ads = (0, _AdsProvider.useAds)();
37
+ const subscribe = (0, _react2.useCallback)(listener => ads ? ads.subscribeStatus(listener) : NO_SUBSCRIPTION, [ads]);
38
+ const getSnapshot = (0, _react2.useCallback)(() => ads ? ads.getStatus() : 'unavailable', [ads]);
39
+ return (0, _react.useExternalStore)(subscribe, getSnapshot);
40
+ }
41
+ const NO_SUBSCRIPTION = () => undefined;
42
+
43
+ /**
44
+ * Forwards every event to a listener without causing a render.
45
+ *
46
+ * Deliberately does not accumulate events into state: a package that kept an
47
+ * event log would be persisting exactly the kind of history it promises not to
48
+ * (FR-021), and re-rendering on every impression would defeat PERF-002. A screen
49
+ * that wants a visible log keeps its own.
50
+ */
51
+ function useAdsEvents(listener) {
52
+ const ads = (0, _AdsProvider.useAds)();
53
+ // An inline listener is a new function every render; subscribing through the
54
+ // latest one keeps a single subscription per instance (PERF-13).
55
+ const latest = (0, _react.useLatestCallback)(listener);
56
+ (0, _react2.useEffect)(() => {
57
+ if (!ads) {
58
+ return;
59
+ }
60
+ return ads.subscribeEvents(latest);
61
+ }, [ads, latest]);
62
+ }
63
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_react2","_AdsProvider","usePlacementState","placementKey","ads","useAds","subscribe","useCallback","listener","subscribePlacement","NO_SUBSCRIPTION","getSnapshot","getPlacementState","useExternalStore","useAdsStatus","subscribeStatus","getStatus","undefined","useAdsEvents","latest","useLatestCallback","useEffect","subscribeEvents"],"sourceRoot":"../../../src","sources":["react/hooks.ts"],"mappings":";;;;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,YAAA,GAAAF,OAAA;AAjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACO,SAASG,iBAAiBA,CAACC,YAAoB,EAAkB;EACvE,MAAMC,GAAG,GAAG,IAAAC,mBAAM,EAAC,CAAC;EACpB,MAAMC,SAAS,GAAG,IAAAC,mBAAW,EAC3BC,QAAoB,IACpBJ,GAAG,GAAGA,GAAG,CAACK,kBAAkB,CAACN,YAAY,EAAEK,QAAQ,CAAC,GAAGE,eAAe,EACvE,CAACN,GAAG,EAAED,YAAY,CACnB,CAAC;EACD,MAAMQ,WAAW,GAAG,IAAAJ,mBAAW,EAC9B,MAAuBH,GAAG,GAAGA,GAAG,CAACQ,iBAAiB,CAACT,YAAY,CAAC,GAAG,aAAc,EACjF,CAACC,GAAG,EAAED,YAAY,CACnB,CAAC;EACD;EACA;EACA,OAAO,IAAAU,uBAAgB,EAACP,SAAS,EAAEK,WAAW,CAAC;AAChD;;AAEA;AACO,SAASG,YAAYA,CAAA,EAAe;EAC1C,MAAMV,GAAG,GAAG,IAAAC,mBAAM,EAAC,CAAC;EACpB,MAAMC,SAAS,GAAG,IAAAC,mBAAW,EAC3BC,QAAoB,IAAMJ,GAAG,GAAGA,GAAG,CAACW,eAAe,CAACP,QAAQ,CAAC,GAAGE,eAAgB,EACjF,CAACN,GAAG,CACL,CAAC;EACD,MAAMO,WAAW,GAAG,IAAAJ,mBAAW,EAAC,MAAmBH,GAAG,GAAGA,GAAG,CAACY,SAAS,CAAC,CAAC,GAAG,aAAc,EAAE,CAACZ,GAAG,CAAC,CAAC;EACjG,OAAO,IAAAS,uBAAgB,EAACP,SAAS,EAAEK,WAAW,CAAC;AAChD;AAEA,MAAMD,eAAe,GAAGA,CAAA,KAAYO,SAAS;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAACV,QAAyB,EAAQ;EAC7D,MAAMJ,GAAG,GAAG,IAAAC,mBAAM,EAAC,CAAC;EACpB;EACA;EACA,MAAMc,MAAM,GAAG,IAAAC,wBAAiB,EAACZ,QAAQ,CAAC;EAE1C,IAAAa,iBAAS,EAAC,MAAM;IACf,IAAI,CAACjB,GAAG,EAAE;MACT;IACD;IACA,OAAOA,GAAG,CAACkB,eAAe,CAACH,MAAM,CAAC;EACnC,CAAC,EAAE,CAACf,GAAG,EAAEe,MAAM,CAAC,CAAC;AAClB","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTestClock = createTestClock;
7
+ /**
8
+ * A clock the test drives (ADS-11).
9
+ *
10
+ * Every bounded wait in this package — retry backoff, the request throttle, a
11
+ * consent form that never answers — is measured against a clock. Injecting this
12
+ * one is what lets a suite assert the behaviour at the boundary instead of
13
+ * sleeping and hoping.
14
+ */
15
+
16
+ /**
17
+ * A clock a test can move by hand.
18
+ *
19
+ * Retry backoff, app-open expiry, the undecided-state warning, and the
20
+ * ad-originated-return windows are all time-dependent, and all four must be
21
+ * assertable exactly rather than approximately. Advancing a clock makes "two
22
+ * retries, 2s then 4s" a precise assertion; sleeping would make it a flaky one.
23
+ *
24
+ * Callbacks fire in due order, and a callback scheduled *during* an advance is
25
+ * honored within the same advance if its deadline has also passed — matching how
26
+ * real timers behave when work chains.
27
+ */
28
+
29
+ function createTestClock(startMs = 1_000_000) {
30
+ let current = startMs;
31
+ let sequence = 0;
32
+ const timers = new Map();
33
+ const scheduler = {
34
+ setTimeout(callback, ms) {
35
+ sequence += 1;
36
+ timers.set(sequence, {
37
+ at: current + ms,
38
+ callback
39
+ });
40
+ return sequence;
41
+ },
42
+ clearTimeout(handle) {
43
+ timers.delete(handle);
44
+ }
45
+ };
46
+ return {
47
+ now: () => current,
48
+ advance(ms) {
49
+ const target = current + ms;
50
+ // Loop rather than iterate once: a fired callback may schedule another
51
+ // timer that is also due before `target`, which is exactly what a retry
52
+ // chain does.
53
+ for (;;) {
54
+ let nextId = null;
55
+ let nextAt = Number.POSITIVE_INFINITY;
56
+ for (const [id, timer] of timers) {
57
+ if (timer.at <= target && timer.at < nextAt) {
58
+ nextAt = timer.at;
59
+ nextId = id;
60
+ }
61
+ }
62
+ if (nextId === null) {
63
+ break;
64
+ }
65
+ const timer = timers.get(nextId);
66
+ timers.delete(nextId);
67
+ current = timer.at;
68
+ timer.callback();
69
+ }
70
+ current = target;
71
+ },
72
+ scheduler,
73
+ pending: () => timers.size
74
+ };
75
+ }
76
+ //# sourceMappingURL=clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTestClock","startMs","current","sequence","timers","Map","scheduler","setTimeout","callback","ms","set","at","clearTimeout","handle","delete","now","advance","target","nextId","nextAt","Number","POSITIVE_INFINITY","id","timer","get","pending","size"],"sourceRoot":"../../../src","sources":["testing/clock.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQO,SAASA,eAAeA,CAACC,OAAO,GAAG,SAAS,EAAa;EAC/D,IAAIC,OAAO,GAAGD,OAAO;EACrB,IAAIE,QAAQ,GAAG,CAAC;EAChB,MAAMC,MAAM,GAAG,IAAIC,GAAG,CAA+C,CAAC;EAEtE,MAAMC,SAAoB,GAAG;IAC5BC,UAAUA,CAACC,QAAQ,EAAEC,EAAE,EAAE;MACxBN,QAAQ,IAAI,CAAC;MACbC,MAAM,CAACM,GAAG,CAACP,QAAQ,EAAE;QAAEQ,EAAE,EAAET,OAAO,GAAGO,EAAE;QAAED;MAAS,CAAC,CAAC;MACpD,OAAOL,QAAQ;IAChB,CAAC;IACDS,YAAYA,CAACC,MAAM,EAAE;MACpBT,MAAM,CAACU,MAAM,CAACD,MAAgB,CAAC;IAChC;EACD,CAAC;EAED,OAAO;IACNE,GAAG,EAAEA,CAAA,KAAMb,OAAO;IAClBc,OAAOA,CAACP,EAAE,EAAE;MACX,MAAMQ,MAAM,GAAGf,OAAO,GAAGO,EAAE;MAC3B;MACA;MACA;MACA,SAAS;QACR,IAAIS,MAAqB,GAAG,IAAI;QAChC,IAAIC,MAAM,GAAGC,MAAM,CAACC,iBAAiB;QACrC,KAAK,MAAM,CAACC,EAAE,EAAEC,KAAK,CAAC,IAAInB,MAAM,EAAE;UACjC,IAAImB,KAAK,CAACZ,EAAE,IAAIM,MAAM,IAAIM,KAAK,CAACZ,EAAE,GAAGQ,MAAM,EAAE;YAC5CA,MAAM,GAAGI,KAAK,CAACZ,EAAE;YACjBO,MAAM,GAAGI,EAAE;UACZ;QACD;QACA,IAAIJ,MAAM,KAAK,IAAI,EAAE;UACpB;QACD;QACA,MAAMK,KAAK,GAAGnB,MAAM,CAACoB,GAAG,CAACN,MAAM,CAAE;QACjCd,MAAM,CAACU,MAAM,CAACI,MAAM,CAAC;QACrBhB,OAAO,GAAGqB,KAAK,CAACZ,EAAE;QAClBY,KAAK,CAACf,QAAQ,CAAC,CAAC;MACjB;MACAN,OAAO,GAAGe,MAAM;IACjB,CAAC;IACDX,SAAS;IACTmB,OAAO,EAAEA,CAAA,KAAMrB,MAAM,CAACsB;EACvB,CAAC;AACF","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.adsEngineChecks = void 0;
7
+ exports.runAdsEngineConformance = runAdsEngineConformance;
8
+ var _testing = require("@chipmobilesdk/rn-core/testing");
9
+ /**
10
+ * What any `AdsEngine` must do (IOS-12, ADS-13).
11
+ *
12
+ * The same checks run against the fake engine and against the AdMob adapter over
13
+ * the provider mock (or the real provider, from a demo screen on a device), so a
14
+ * test that drives the fake proves something about the device path. The subject
15
+ * says how the provider delivers its callbacks; the checks only use the port.
16
+ */
17
+
18
+ /** Lets callbacks a provider delivers on a later microtask arrive. */
19
+ async function settle() {
20
+ for (let turn = 0; turn < 3; turn += 1) {
21
+ await Promise.resolve();
22
+ }
23
+ }
24
+ const adsEngineChecks = exports.adsEngineChecks = [{
25
+ name: 'is available, and initializes with privacy applied',
26
+ async run(harness) {
27
+ const {
28
+ engine
29
+ } = harness.create();
30
+ (0, _testing.ensure)(engine.isAvailable(), 'reported unavailable');
31
+ await engine.initialize({
32
+ childDirected: true,
33
+ maxAdContentRating: 'G'
34
+ });
35
+ }
36
+ }, {
37
+ name: 'delivers loaded to a subscriber of an interstitial, and nothing after unsubscribing',
38
+ async run(harness) {
39
+ const subject = harness.create();
40
+ const handle = await subject.engine.createFullScreen('interstitial', 'conformance/1');
41
+ (0, _testing.ensure)(typeof handle.id === 'string' && handle.id !== '', 'handle has no id');
42
+ const seen = [];
43
+ const stop = subject.engine.subscribe(handle, event => seen.push(event.type));
44
+ subject.deliverLoad(handle);
45
+ await settle();
46
+ (0, _testing.ensure)(seen.join(',') === 'loaded', `subscriber saw ${seen.join(',') || 'nothing'}`);
47
+ stop();
48
+ stop();
49
+ subject.deliverDismiss(handle);
50
+ await settle();
51
+ (0, _testing.ensure)(seen.length === 1, `notified after unsubscribing: ${seen.join(',')}`);
52
+ }
53
+ }, {
54
+ name: 'delivers the reward and the dismissal of a rewarded ad',
55
+ async run(harness) {
56
+ const subject = harness.create();
57
+ const handle = await subject.engine.createFullScreen('rewarded', 'conformance/2', {
58
+ personalizedAds: false
59
+ });
60
+ const seen = [];
61
+ subject.engine.subscribe(handle, event => seen.push(event));
62
+ subject.deliverLoad(handle);
63
+ await settle();
64
+ subject.deliverReward(handle, {
65
+ type: 'coins',
66
+ amount: 5
67
+ });
68
+ subject.deliverDismiss(handle);
69
+ await settle();
70
+ const reward = seen.find(event => event.type === 'rewarded');
71
+ (0, _testing.ensure)(reward?.type === 'rewarded', `no reward among ${seen.map(e => e.type).join(',')}`);
72
+ (0, _testing.ensure)(reward.reward.type === 'coins' && reward.reward.amount === 5, `reward ${JSON.stringify(reward.reward)}`);
73
+ (0, _testing.ensure)(seen.at(-1)?.type === 'dismissed', `last event ${seen.at(-1)?.type}`);
74
+ }
75
+ }, {
76
+ name: 'gives every ad its own handle',
77
+ async run(harness) {
78
+ const {
79
+ engine
80
+ } = harness.create();
81
+ const first = await engine.createFullScreen('interstitial', 'conformance/1');
82
+ const second = await engine.createFullScreen('interstitial', 'conformance/1');
83
+ (0, _testing.ensure)(first.id !== second.id, 'two ads share a handle');
84
+ }
85
+ }, {
86
+ name: 'disposes safely twice',
87
+ async run(harness) {
88
+ const {
89
+ engine
90
+ } = harness.create();
91
+ const handle = await engine.createFullScreen('interstitial', 'conformance/1');
92
+ engine.dispose(handle);
93
+ engine.dispose(handle);
94
+ }
95
+ }];
96
+ function runAdsEngineConformance(harness) {
97
+ return (0, _testing.runChecks)(() => harness, adsEngineChecks);
98
+ }
99
+ //# sourceMappingURL=conformance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_testing","require","settle","turn","Promise","resolve","adsEngineChecks","exports","name","run","harness","engine","create","ensure","isAvailable","initialize","childDirected","maxAdContentRating","subject","handle","createFullScreen","id","seen","stop","subscribe","event","push","type","deliverLoad","join","deliverDismiss","length","personalizedAds","deliverReward","amount","reward","find","map","e","JSON","stringify","at","first","second","dispose","runAdsEngineConformance","runChecks"],"sourceRoot":"../../../src","sources":["testing/conformance.ts"],"mappings":"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","ignoreList":[]}