@ankhorage/deploy 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 (527) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -1
  3. package/dist/domain/monetization/MonetizationBasePrice.d.ts +6 -0
  4. package/dist/domain/monetization/MonetizationBasePrice.d.ts.map +1 -0
  5. package/dist/domain/monetization/MonetizationBasePrice.js +2 -0
  6. package/dist/domain/monetization/MonetizationBasePrice.js.map +1 -0
  7. package/dist/domain/monetization/MonetizationDesiredState.d.ts +6 -0
  8. package/dist/domain/monetization/MonetizationDesiredState.d.ts.map +1 -0
  9. package/dist/domain/monetization/MonetizationDesiredState.js +2 -0
  10. package/dist/domain/monetization/MonetizationDesiredState.js.map +1 -0
  11. package/dist/domain/monetization/MonetizationDiagnostic.d.ts +9 -0
  12. package/dist/domain/monetization/MonetizationDiagnostic.d.ts.map +1 -0
  13. package/dist/domain/monetization/MonetizationDiagnostic.js +2 -0
  14. package/dist/domain/monetization/MonetizationDiagnostic.js.map +1 -0
  15. package/dist/domain/monetization/MonetizationLocalization.d.ts +6 -0
  16. package/dist/domain/monetization/MonetizationLocalization.d.ts.map +1 -0
  17. package/dist/domain/monetization/MonetizationLocalization.js +2 -0
  18. package/dist/domain/monetization/MonetizationLocalization.js.map +1 -0
  19. package/dist/domain/monetization/MonetizationObservedProduct.d.ts +12 -0
  20. package/dist/domain/monetization/MonetizationObservedProduct.d.ts.map +1 -0
  21. package/dist/domain/monetization/MonetizationObservedProduct.js +2 -0
  22. package/dist/domain/monetization/MonetizationObservedProduct.js.map +1 -0
  23. package/dist/domain/monetization/MonetizationPlan.d.ts +10 -0
  24. package/dist/domain/monetization/MonetizationPlan.d.ts.map +1 -0
  25. package/dist/domain/monetization/MonetizationPlan.js +2 -0
  26. package/dist/domain/monetization/MonetizationPlan.js.map +1 -0
  27. package/dist/domain/monetization/MonetizationPlanStep.d.ts +7 -0
  28. package/dist/domain/monetization/MonetizationPlanStep.d.ts.map +1 -0
  29. package/dist/domain/monetization/MonetizationPlanStep.js +2 -0
  30. package/dist/domain/monetization/MonetizationPlanStep.js.map +1 -0
  31. package/dist/domain/monetization/MonetizationProduct.d.ts +12 -0
  32. package/dist/domain/monetization/MonetizationProduct.d.ts.map +1 -0
  33. package/dist/domain/monetization/MonetizationProduct.js +2 -0
  34. package/dist/domain/monetization/MonetizationProduct.js.map +1 -0
  35. package/dist/domain/monetization/MonetizationSubscription.d.ts +7 -0
  36. package/dist/domain/monetization/MonetizationSubscription.d.ts.map +1 -0
  37. package/dist/domain/monetization/MonetizationSubscription.js +2 -0
  38. package/dist/domain/monetization/MonetizationSubscription.js.map +1 -0
  39. package/dist/domain/monetization/MonetizationTargetState.d.ts +9 -0
  40. package/dist/domain/monetization/MonetizationTargetState.d.ts.map +1 -0
  41. package/dist/domain/monetization/MonetizationTargetState.js +2 -0
  42. package/dist/domain/monetization/MonetizationTargetState.js.map +1 -0
  43. package/dist/domain/monetization/createMonetizationCurrentRevision.d.ts +3 -0
  44. package/dist/domain/monetization/createMonetizationCurrentRevision.d.ts.map +1 -0
  45. package/dist/domain/monetization/createMonetizationCurrentRevision.js +13 -0
  46. package/dist/domain/monetization/createMonetizationCurrentRevision.js.map +1 -0
  47. package/dist/domain/monetization/createMonetizationPlan.d.ts +9 -0
  48. package/dist/domain/monetization/createMonetizationPlan.d.ts.map +1 -0
  49. package/dist/domain/monetization/createMonetizationPlan.js +94 -0
  50. package/dist/domain/monetization/createMonetizationPlan.js.map +1 -0
  51. package/dist/domain/storeListing/StoreListingAsset.d.ts +9 -0
  52. package/dist/domain/storeListing/StoreListingAsset.d.ts.map +1 -0
  53. package/dist/domain/storeListing/StoreListingAsset.js +2 -0
  54. package/dist/domain/storeListing/StoreListingAsset.js.map +1 -0
  55. package/dist/domain/storeListing/StoreListingAssetSet.d.ts +9 -0
  56. package/dist/domain/storeListing/StoreListingAssetSet.d.ts.map +1 -0
  57. package/dist/domain/storeListing/StoreListingAssetSet.js +2 -0
  58. package/dist/domain/storeListing/StoreListingAssetSet.js.map +1 -0
  59. package/dist/domain/storeListing/StoreListingDesiredState.d.ts +8 -0
  60. package/dist/domain/storeListing/StoreListingDesiredState.d.ts.map +1 -0
  61. package/dist/domain/storeListing/StoreListingDesiredState.js +2 -0
  62. package/dist/domain/storeListing/StoreListingDesiredState.js.map +1 -0
  63. package/dist/domain/storeListing/StoreListingDiagnostic.d.ts +12 -0
  64. package/dist/domain/storeListing/StoreListingDiagnostic.d.ts.map +1 -0
  65. package/dist/domain/storeListing/StoreListingDiagnostic.js +2 -0
  66. package/dist/domain/storeListing/StoreListingDiagnostic.js.map +1 -0
  67. package/dist/domain/storeListing/StoreListingField.d.ts +2 -0
  68. package/dist/domain/storeListing/StoreListingField.d.ts.map +1 -0
  69. package/dist/domain/storeListing/StoreListingField.js +2 -0
  70. package/dist/domain/storeListing/StoreListingField.js.map +1 -0
  71. package/dist/domain/storeListing/StoreListingLocale.d.ts +13 -0
  72. package/dist/domain/storeListing/StoreListingLocale.d.ts.map +1 -0
  73. package/dist/domain/storeListing/StoreListingLocale.js +2 -0
  74. package/dist/domain/storeListing/StoreListingLocale.js.map +1 -0
  75. package/dist/domain/storeListing/StoreListingPlan.d.ts +10 -0
  76. package/dist/domain/storeListing/StoreListingPlan.d.ts.map +1 -0
  77. package/dist/domain/storeListing/StoreListingPlan.js +2 -0
  78. package/dist/domain/storeListing/StoreListingPlan.js.map +1 -0
  79. package/dist/domain/storeListing/StoreListingPlanStep.d.ts +10 -0
  80. package/dist/domain/storeListing/StoreListingPlanStep.d.ts.map +1 -0
  81. package/dist/domain/storeListing/StoreListingPlanStep.js +2 -0
  82. package/dist/domain/storeListing/StoreListingPlanStep.js.map +1 -0
  83. package/dist/domain/storeListing/StoreListingRemoteAssetSet.d.ts +9 -0
  84. package/dist/domain/storeListing/StoreListingRemoteAssetSet.d.ts.map +1 -0
  85. package/dist/domain/storeListing/StoreListingRemoteAssetSet.js +2 -0
  86. package/dist/domain/storeListing/StoreListingRemoteAssetSet.js.map +1 -0
  87. package/dist/domain/storeListing/StoreListingTarget.d.ts +2 -0
  88. package/dist/domain/storeListing/StoreListingTarget.d.ts.map +1 -0
  89. package/dist/domain/storeListing/StoreListingTarget.js +2 -0
  90. package/dist/domain/storeListing/StoreListingTarget.js.map +1 -0
  91. package/dist/domain/storeListing/StoreListingTargetState.d.ts +13 -0
  92. package/dist/domain/storeListing/StoreListingTargetState.d.ts.map +1 -0
  93. package/dist/domain/storeListing/StoreListingTargetState.js +2 -0
  94. package/dist/domain/storeListing/StoreListingTargetState.js.map +1 -0
  95. package/dist/domain/storeListing/createStoreListingCurrentRevision.d.ts +3 -0
  96. package/dist/domain/storeListing/createStoreListingCurrentRevision.d.ts.map +1 -0
  97. package/dist/domain/storeListing/createStoreListingCurrentRevision.js +16 -0
  98. package/dist/domain/storeListing/createStoreListingCurrentRevision.js.map +1 -0
  99. package/dist/domain/storeListing/createStoreListingPlan.d.ts +9 -0
  100. package/dist/domain/storeListing/createStoreListingPlan.d.ts.map +1 -0
  101. package/dist/domain/storeListing/createStoreListingPlan.js +85 -0
  102. package/dist/domain/storeListing/createStoreListingPlan.js.map +1 -0
  103. package/dist/domain/storeListing/normalizeStoreListingLocale.d.ts +2 -0
  104. package/dist/domain/storeListing/normalizeStoreListingLocale.d.ts.map +1 -0
  105. package/dist/domain/storeListing/normalizeStoreListingLocale.js +18 -0
  106. package/dist/domain/storeListing/normalizeStoreListingLocale.js.map +1 -0
  107. package/dist/domain/storeListing/storeListingLocaleFieldValue.d.ts +4 -0
  108. package/dist/domain/storeListing/storeListingLocaleFieldValue.d.ts.map +1 -0
  109. package/dist/domain/storeListing/storeListingLocaleFieldValue.js +23 -0
  110. package/dist/domain/storeListing/storeListingLocaleFieldValue.js.map +1 -0
  111. package/dist/index.d.ts +10 -0
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js.map +1 -1
  114. package/dist/project/index.d.ts +13 -0
  115. package/dist/project/index.d.ts.map +1 -1
  116. package/dist/project/index.js +4 -0
  117. package/dist/project/index.js.map +1 -1
  118. package/dist/project/io/assertContainedPath.d.ts.map +1 -1
  119. package/dist/project/io/assertContainedPath.js +4 -3
  120. package/dist/project/io/assertContainedPath.js.map +1 -1
  121. package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.d.ts +8 -0
  122. package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.d.ts.map +1 -0
  123. package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.js +2 -0
  124. package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.js.map +1 -0
  125. package/dist/project/monetization/InspectProjectMonetizationOptions.d.ts +5 -0
  126. package/dist/project/monetization/InspectProjectMonetizationOptions.d.ts.map +1 -0
  127. package/dist/project/monetization/InspectProjectMonetizationOptions.js +2 -0
  128. package/dist/project/monetization/InspectProjectMonetizationOptions.js.map +1 -0
  129. package/dist/project/monetization/ProjectMonetizationAccess.d.ts +7 -0
  130. package/dist/project/monetization/ProjectMonetizationAccess.d.ts.map +1 -0
  131. package/dist/project/monetization/ProjectMonetizationAccess.js +2 -0
  132. package/dist/project/monetization/ProjectMonetizationAccess.js.map +1 -0
  133. package/dist/project/monetization/ProjectMonetizationExecutionResult.d.ts +16 -0
  134. package/dist/project/monetization/ProjectMonetizationExecutionResult.d.ts.map +1 -0
  135. package/dist/project/monetization/ProjectMonetizationExecutionResult.js +2 -0
  136. package/dist/project/monetization/ProjectMonetizationExecutionResult.js.map +1 -0
  137. package/dist/project/monetization/ProjectMonetizationInspection.d.ts +13 -0
  138. package/dist/project/monetization/ProjectMonetizationInspection.d.ts.map +1 -0
  139. package/dist/project/monetization/ProjectMonetizationInspection.js +2 -0
  140. package/dist/project/monetization/ProjectMonetizationInspection.js.map +1 -0
  141. package/dist/project/monetization/ProjectMonetizationInspectionResult.d.ts +10 -0
  142. package/dist/project/monetization/ProjectMonetizationInspectionResult.d.ts.map +1 -0
  143. package/dist/project/monetization/ProjectMonetizationInspectionResult.js +2 -0
  144. package/dist/project/monetization/ProjectMonetizationInspectionResult.js.map +1 -0
  145. package/dist/project/monetization/ProjectMonetizationPlan.d.ts +6 -0
  146. package/dist/project/monetization/ProjectMonetizationPlan.d.ts.map +1 -0
  147. package/dist/project/monetization/ProjectMonetizationPlan.js +2 -0
  148. package/dist/project/monetization/ProjectMonetizationPlan.js.map +1 -0
  149. package/dist/project/monetization/ProjectMonetizationRuntime.d.ts +12 -0
  150. package/dist/project/monetization/ProjectMonetizationRuntime.d.ts.map +1 -0
  151. package/dist/project/monetization/ProjectMonetizationRuntime.js +2 -0
  152. package/dist/project/monetization/ProjectMonetizationRuntime.js.map +1 -0
  153. package/dist/project/monetization/ProjectMonetizationTargets.d.ts +5 -0
  154. package/dist/project/monetization/ProjectMonetizationTargets.d.ts.map +1 -0
  155. package/dist/project/monetization/ProjectMonetizationTargets.js +2 -0
  156. package/dist/project/monetization/ProjectMonetizationTargets.js.map +1 -0
  157. package/dist/project/monetization/ResolvedProjectMonetizationAccess.d.ts +7 -0
  158. package/dist/project/monetization/ResolvedProjectMonetizationAccess.d.ts.map +1 -0
  159. package/dist/project/monetization/ResolvedProjectMonetizationAccess.js +2 -0
  160. package/dist/project/monetization/ResolvedProjectMonetizationAccess.js.map +1 -0
  161. package/dist/project/monetization/areProjectMonetizationPlansEqual.d.ts +3 -0
  162. package/dist/project/monetization/areProjectMonetizationPlansEqual.d.ts.map +1 -0
  163. package/dist/project/monetization/areProjectMonetizationPlansEqual.js +4 -0
  164. package/dist/project/monetization/areProjectMonetizationPlansEqual.js.map +1 -0
  165. package/dist/project/monetization/createProjectMonetizationPlan.d.ts +4 -0
  166. package/dist/project/monetization/createProjectMonetizationPlan.d.ts.map +1 -0
  167. package/dist/project/monetization/createProjectMonetizationPlan.js +14 -0
  168. package/dist/project/monetization/createProjectMonetizationPlan.js.map +1 -0
  169. package/dist/project/monetization/createProjectMonetizationRevision.d.ts +3 -0
  170. package/dist/project/monetization/createProjectMonetizationRevision.d.ts.map +1 -0
  171. package/dist/project/monetization/createProjectMonetizationRevision.js +5 -0
  172. package/dist/project/monetization/createProjectMonetizationRevision.js.map +1 -0
  173. package/dist/project/monetization/defaultProjectMonetizationRuntime.d.ts +3 -0
  174. package/dist/project/monetization/defaultProjectMonetizationRuntime.d.ts.map +1 -0
  175. package/dist/project/monetization/defaultProjectMonetizationRuntime.js +12 -0
  176. package/dist/project/monetization/defaultProjectMonetizationRuntime.js.map +1 -0
  177. package/dist/project/monetization/executeProjectMonetizationSync.d.ts +4 -0
  178. package/dist/project/monetization/executeProjectMonetizationSync.d.ts.map +1 -0
  179. package/dist/project/monetization/executeProjectMonetizationSync.js +6 -0
  180. package/dist/project/monetization/executeProjectMonetizationSync.js.map +1 -0
  181. package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.d.ts +5 -0
  182. package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.d.ts.map +1 -0
  183. package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.js +63 -0
  184. package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.js.map +1 -0
  185. package/dist/project/monetization/executeProjectMonetizationTargets.d.ts +23 -0
  186. package/dist/project/monetization/executeProjectMonetizationTargets.d.ts.map +1 -0
  187. package/dist/project/monetization/executeProjectMonetizationTargets.js +66 -0
  188. package/dist/project/monetization/executeProjectMonetizationTargets.js.map +1 -0
  189. package/dist/project/monetization/inspectProjectMonetization.d.ts +4 -0
  190. package/dist/project/monetization/inspectProjectMonetization.d.ts.map +1 -0
  191. package/dist/project/monetization/inspectProjectMonetization.js +6 -0
  192. package/dist/project/monetization/inspectProjectMonetization.js.map +1 -0
  193. package/dist/project/monetization/inspectProjectMonetizationWithRuntime.d.ts +5 -0
  194. package/dist/project/monetization/inspectProjectMonetizationWithRuntime.d.ts.map +1 -0
  195. package/dist/project/monetization/inspectProjectMonetizationWithRuntime.js +78 -0
  196. package/dist/project/monetization/inspectProjectMonetizationWithRuntime.js.map +1 -0
  197. package/dist/project/monetization/parseProjectMonetization.d.ts +3 -0
  198. package/dist/project/monetization/parseProjectMonetization.d.ts.map +1 -0
  199. package/dist/project/monetization/parseProjectMonetization.js +127 -0
  200. package/dist/project/monetization/parseProjectMonetization.js.map +1 -0
  201. package/dist/project/monetization/readProjectMonetization.d.ts +5 -0
  202. package/dist/project/monetization/readProjectMonetization.d.ts.map +1 -0
  203. package/dist/project/monetization/readProjectMonetization.js +19 -0
  204. package/dist/project/monetization/readProjectMonetization.js.map +1 -0
  205. package/dist/project/monetization/resolveProjectMonetizationAccess.d.ts +4 -0
  206. package/dist/project/monetization/resolveProjectMonetizationAccess.d.ts.map +1 -0
  207. package/dist/project/monetization/resolveProjectMonetizationAccess.js +7 -0
  208. package/dist/project/monetization/resolveProjectMonetizationAccess.js.map +1 -0
  209. package/dist/project/monetization/resolveProjectMonetizationTargets.d.ts +13 -0
  210. package/dist/project/monetization/resolveProjectMonetizationTargets.d.ts.map +1 -0
  211. package/dist/project/monetization/resolveProjectMonetizationTargets.js +27 -0
  212. package/dist/project/monetization/resolveProjectMonetizationTargets.js.map +1 -0
  213. package/dist/project/storeListing/ProjectStoreListing.d.ts +8 -0
  214. package/dist/project/storeListing/ProjectStoreListing.d.ts.map +1 -0
  215. package/dist/project/storeListing/ProjectStoreListing.js +2 -0
  216. package/dist/project/storeListing/ProjectStoreListing.js.map +1 -0
  217. package/dist/project/storeListing/ProjectStoreListingAccess.d.ts +7 -0
  218. package/dist/project/storeListing/ProjectStoreListingAccess.d.ts.map +1 -0
  219. package/dist/project/storeListing/ProjectStoreListingAccess.js +2 -0
  220. package/dist/project/storeListing/ProjectStoreListingAccess.js.map +1 -0
  221. package/dist/project/storeListing/ProjectStoreListingAsset.d.ts +5 -0
  222. package/dist/project/storeListing/ProjectStoreListingAsset.d.ts.map +1 -0
  223. package/dist/project/storeListing/ProjectStoreListingAsset.js +2 -0
  224. package/dist/project/storeListing/ProjectStoreListingAsset.js.map +1 -0
  225. package/dist/project/storeListing/ProjectStoreListingAssetSet.d.ts +9 -0
  226. package/dist/project/storeListing/ProjectStoreListingAssetSet.d.ts.map +1 -0
  227. package/dist/project/storeListing/ProjectStoreListingAssetSet.js +2 -0
  228. package/dist/project/storeListing/ProjectStoreListingAssetSet.js.map +1 -0
  229. package/dist/project/storeListing/ProjectStoreListingRuntime.d.ts +17 -0
  230. package/dist/project/storeListing/ProjectStoreListingRuntime.d.ts.map +1 -0
  231. package/dist/project/storeListing/ProjectStoreListingRuntime.js +19 -0
  232. package/dist/project/storeListing/ProjectStoreListingRuntime.js.map +1 -0
  233. package/dist/project/storeListing/ProjectStoreListingTargetIdentity.d.ts +5 -0
  234. package/dist/project/storeListing/ProjectStoreListingTargetIdentity.d.ts.map +1 -0
  235. package/dist/project/storeListing/ProjectStoreListingTargetIdentity.js +2 -0
  236. package/dist/project/storeListing/ProjectStoreListingTargetIdentity.js.map +1 -0
  237. package/dist/project/storeListing/createProjectStoreListingRevision.d.ts +4 -0
  238. package/dist/project/storeListing/createProjectStoreListingRevision.d.ts.map +1 -0
  239. package/dist/project/storeListing/createProjectStoreListingRevision.js +24 -0
  240. package/dist/project/storeListing/createProjectStoreListingRevision.js.map +1 -0
  241. package/dist/project/storeListing/parseStoreListingLocale.d.ts +3 -0
  242. package/dist/project/storeListing/parseStoreListingLocale.d.ts.map +1 -0
  243. package/dist/project/storeListing/parseStoreListingLocale.js +76 -0
  244. package/dist/project/storeListing/parseStoreListingLocale.js.map +1 -0
  245. package/dist/project/storeListing/readProjectStoreListing.d.ts +5 -0
  246. package/dist/project/storeListing/readProjectStoreListing.d.ts.map +1 -0
  247. package/dist/project/storeListing/readProjectStoreListing.js +24 -0
  248. package/dist/project/storeListing/readProjectStoreListing.js.map +1 -0
  249. package/dist/project/storeListing/readStoreListingAssets.d.ts +8 -0
  250. package/dist/project/storeListing/readStoreListingAssets.d.ts.map +1 -0
  251. package/dist/project/storeListing/readStoreListingAssets.js +110 -0
  252. package/dist/project/storeListing/readStoreListingAssets.js.map +1 -0
  253. package/dist/project/storeListing/readStoreListingLocales.d.ts +3 -0
  254. package/dist/project/storeListing/readStoreListingLocales.d.ts.map +1 -0
  255. package/dist/project/storeListing/readStoreListingLocales.js +43 -0
  256. package/dist/project/storeListing/readStoreListingLocales.js.map +1 -0
  257. package/dist/project/storeListing/resolveProjectStoreListingAccess.d.ts +9 -0
  258. package/dist/project/storeListing/resolveProjectStoreListingAccess.d.ts.map +1 -0
  259. package/dist/project/storeListing/resolveProjectStoreListingAccess.js +7 -0
  260. package/dist/project/storeListing/resolveProjectStoreListingAccess.js.map +1 -0
  261. package/dist/project/storeListing/resolveProjectStoreListingTargets.d.ts +20 -0
  262. package/dist/project/storeListing/resolveProjectStoreListingTargets.d.ts.map +1 -0
  263. package/dist/project/storeListing/resolveProjectStoreListingTargets.js +16 -0
  264. package/dist/project/storeListing/resolveProjectStoreListingTargets.js.map +1 -0
  265. package/dist/project/storeListing/toStoreListingDesiredState.d.ts +4 -0
  266. package/dist/project/storeListing/toStoreListingDesiredState.d.ts.map +1 -0
  267. package/dist/project/storeListing/toStoreListingDesiredState.js +15 -0
  268. package/dist/project/storeListing/toStoreListingDesiredState.js.map +1 -0
  269. package/dist/providers/appStoreConnect/AppStoreConnectTransport.d.ts +1 -1
  270. package/dist/providers/appStoreConnect/AppStoreConnectTransport.d.ts.map +1 -1
  271. package/dist/providers/appStoreConnect/AppStoreConnectTransport.js.map +1 -1
  272. package/dist/providers/appStoreConnect/AppStoreListingContext.d.ts +21 -0
  273. package/dist/providers/appStoreConnect/AppStoreListingContext.d.ts.map +1 -0
  274. package/dist/providers/appStoreConnect/AppStoreListingContext.js +2 -0
  275. package/dist/providers/appStoreConnect/AppStoreListingContext.js.map +1 -0
  276. package/dist/providers/appStoreConnect/AppStoreListingContextResult.d.ts +14 -0
  277. package/dist/providers/appStoreConnect/AppStoreListingContextResult.d.ts.map +1 -0
  278. package/dist/providers/appStoreConnect/AppStoreListingContextResult.js +2 -0
  279. package/dist/providers/appStoreConnect/AppStoreListingContextResult.js.map +1 -0
  280. package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.d.ts +14 -0
  281. package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.d.ts.map +1 -0
  282. package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.js +2 -0
  283. package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.js.map +1 -0
  284. package/dist/providers/appStoreConnect/AppStoreMonetizationResult.d.ts +14 -0
  285. package/dist/providers/appStoreConnect/AppStoreMonetizationResult.d.ts.map +1 -0
  286. package/dist/providers/appStoreConnect/AppStoreMonetizationResult.js +2 -0
  287. package/dist/providers/appStoreConnect/AppStoreMonetizationResult.js.map +1 -0
  288. package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.d.ts +32 -0
  289. package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.d.ts.map +1 -0
  290. package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.js +2 -0
  291. package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.js.map +1 -0
  292. package/dist/providers/appStoreConnect/AppStoreProductVersion.d.ts +7 -0
  293. package/dist/providers/appStoreConnect/AppStoreProductVersion.d.ts.map +1 -0
  294. package/dist/providers/appStoreConnect/AppStoreProductVersion.js +2 -0
  295. package/dist/providers/appStoreConnect/AppStoreProductVersion.js.map +1 -0
  296. package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.d.ts +5 -0
  297. package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.d.ts.map +1 -0
  298. package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.js +2 -0
  299. package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.js.map +1 -0
  300. package/dist/providers/appStoreConnect/appStoreListingFields.d.ts +2 -0
  301. package/dist/providers/appStoreConnect/appStoreListingFields.d.ts.map +1 -0
  302. package/dist/providers/appStoreConnect/appStoreListingFields.js +11 -0
  303. package/dist/providers/appStoreConnect/appStoreListingFields.js.map +1 -0
  304. package/dist/providers/appStoreConnect/appStoreListingUrls.d.ts +5 -0
  305. package/dist/providers/appStoreConnect/appStoreListingUrls.d.ts.map +1 -0
  306. package/dist/providers/appStoreConnect/appStoreListingUrls.js +22 -0
  307. package/dist/providers/appStoreConnect/appStoreListingUrls.js.map +1 -0
  308. package/dist/providers/appStoreConnect/appStoreMonetizationUrls.d.ts +25 -0
  309. package/dist/providers/appStoreConnect/appStoreMonetizationUrls.d.ts.map +1 -0
  310. package/dist/providers/appStoreConnect/appStoreMonetizationUrls.js +67 -0
  311. package/dist/providers/appStoreConnect/appStoreMonetizationUrls.js.map +1 -0
  312. package/dist/providers/appStoreConnect/createAppStoreListingDiagnostics.d.ts +4 -0
  313. package/dist/providers/appStoreConnect/createAppStoreListingDiagnostics.d.ts.map +1 -0
  314. package/dist/providers/appStoreConnect/createAppStoreListingDiagnostics.js +85 -0
  315. package/dist/providers/appStoreConnect/createAppStoreListingDiagnostics.js.map +1 -0
  316. package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.d.ts +10 -0
  317. package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.d.ts.map +1 -0
  318. package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.js +67 -0
  319. package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.js.map +1 -0
  320. package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.d.ts +8 -0
  321. package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.d.ts.map +1 -0
  322. package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.js +67 -0
  323. package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.js.map +1 -0
  324. package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.d.ts +10 -0
  325. package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.d.ts.map +1 -0
  326. package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.js +78 -0
  327. package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.js.map +1 -0
  328. package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.d.ts +19 -0
  329. package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.d.ts.map +1 -0
  330. package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.js +117 -0
  331. package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.js.map +1 -0
  332. package/dist/providers/appStoreConnect/inspectAppStoreMonetization.d.ts +16 -0
  333. package/dist/providers/appStoreConnect/inspectAppStoreMonetization.d.ts.map +1 -0
  334. package/dist/providers/appStoreConnect/inspectAppStoreMonetization.js +53 -0
  335. package/dist/providers/appStoreConnect/inspectAppStoreMonetization.js.map +1 -0
  336. package/dist/providers/appStoreConnect/isAppStoreScreenshotVariant.d.ts +2 -0
  337. package/dist/providers/appStoreConnect/isAppStoreScreenshotVariant.d.ts.map +1 -0
  338. package/dist/providers/appStoreConnect/isAppStoreScreenshotVariant.js +39 -0
  339. package/dist/providers/appStoreConnect/isAppStoreScreenshotVariant.js.map +1 -0
  340. package/dist/providers/appStoreConnect/isEditableAppStoreListingState.d.ts +2 -0
  341. package/dist/providers/appStoreConnect/isEditableAppStoreListingState.d.ts.map +1 -0
  342. package/dist/providers/appStoreConnect/isEditableAppStoreListingState.js +12 -0
  343. package/dist/providers/appStoreConnect/isEditableAppStoreListingState.js.map +1 -0
  344. package/dist/providers/appStoreConnect/mapAppStoreLocale.d.ts +2 -0
  345. package/dist/providers/appStoreConnect/mapAppStoreLocale.d.ts.map +1 -0
  346. package/dist/providers/appStoreConnect/mapAppStoreLocale.js +112 -0
  347. package/dist/providers/appStoreConnect/mapAppStoreLocale.js.map +1 -0
  348. package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.d.ts +3 -0
  349. package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.d.ts.map +1 -0
  350. package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.js +14 -0
  351. package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.js.map +1 -0
  352. package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.d.ts +5 -0
  353. package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.d.ts.map +1 -0
  354. package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.js +65 -0
  355. package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.js.map +1 -0
  356. package/dist/providers/appStoreConnect/parseAppStoreAppId.d.ts +2 -0
  357. package/dist/providers/appStoreConnect/parseAppStoreAppId.d.ts.map +1 -0
  358. package/dist/providers/appStoreConnect/parseAppStoreAppId.js +22 -0
  359. package/dist/providers/appStoreConnect/parseAppStoreAppId.js.map +1 -0
  360. package/dist/providers/appStoreConnect/parseAppStoreListingLocalizations.d.ts +8 -0
  361. package/dist/providers/appStoreConnect/parseAppStoreListingLocalizations.d.ts.map +1 -0
  362. package/dist/providers/appStoreConnect/parseAppStoreListingLocalizations.js +68 -0
  363. package/dist/providers/appStoreConnect/parseAppStoreListingLocalizations.js.map +1 -0
  364. package/dist/providers/appStoreConnect/parseEditableAppStoreResourceId.d.ts +2 -0
  365. package/dist/providers/appStoreConnect/parseEditableAppStoreResourceId.d.ts.map +1 -0
  366. package/dist/providers/appStoreConnect/parseEditableAppStoreResourceId.js +28 -0
  367. package/dist/providers/appStoreConnect/parseEditableAppStoreResourceId.js.map +1 -0
  368. package/dist/providers/appStoreConnect/readAppStoreCollection.d.ts +11 -0
  369. package/dist/providers/appStoreConnect/readAppStoreCollection.d.ts.map +1 -0
  370. package/dist/providers/appStoreConnect/readAppStoreCollection.js +43 -0
  371. package/dist/providers/appStoreConnect/readAppStoreCollection.js.map +1 -0
  372. package/dist/providers/appStoreConnect/readAppStoreJson.d.ts +7 -0
  373. package/dist/providers/appStoreConnect/readAppStoreJson.d.ts.map +1 -0
  374. package/dist/providers/appStoreConnect/readAppStoreJson.js +12 -0
  375. package/dist/providers/appStoreConnect/readAppStoreJson.js.map +1 -0
  376. package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.d.ts +17 -0
  377. package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.d.ts.map +1 -0
  378. package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.js +114 -0
  379. package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.js.map +1 -0
  380. package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.d.ts +11 -0
  381. package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.d.ts.map +1 -0
  382. package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.js +210 -0
  383. package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.js.map +1 -0
  384. package/dist/providers/appStoreConnect/readAppStoreProductVersion.d.ts +9 -0
  385. package/dist/providers/appStoreConnect/readAppStoreProductVersion.d.ts.map +1 -0
  386. package/dist/providers/appStoreConnect/readAppStoreProductVersion.js +56 -0
  387. package/dist/providers/appStoreConnect/readAppStoreProductVersion.js.map +1 -0
  388. package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.d.ts +9 -0
  389. package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.d.ts.map +1 -0
  390. package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.js +44 -0
  391. package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.js.map +1 -0
  392. package/dist/providers/appStoreConnect/resolveAppStoreListingContext.d.ts +10 -0
  393. package/dist/providers/appStoreConnect/resolveAppStoreListingContext.d.ts.map +1 -0
  394. package/dist/providers/appStoreConnect/resolveAppStoreListingContext.js +103 -0
  395. package/dist/providers/appStoreConnect/resolveAppStoreListingContext.js.map +1 -0
  396. package/dist/providers/appStoreConnect/resolveAppStorePricePoint.d.ts +11 -0
  397. package/dist/providers/appStoreConnect/resolveAppStorePricePoint.d.ts.map +1 -0
  398. package/dist/providers/appStoreConnect/resolveAppStorePricePoint.js +46 -0
  399. package/dist/providers/appStoreConnect/resolveAppStorePricePoint.js.map +1 -0
  400. package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.d.ts +10 -0
  401. package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.d.ts.map +1 -0
  402. package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.js +80 -0
  403. package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.js.map +1 -0
  404. package/dist/providers/appStoreConnect/toAppStoreCurrentLocales.d.ts +4 -0
  405. package/dist/providers/appStoreConnect/toAppStoreCurrentLocales.d.ts.map +1 -0
  406. package/dist/providers/appStoreConnect/toAppStoreCurrentLocales.js +27 -0
  407. package/dist/providers/appStoreConnect/toAppStoreCurrentLocales.js.map +1 -0
  408. package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.d.ts +3 -0
  409. package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.d.ts.map +1 -0
  410. package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.js +15 -0
  411. package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.js.map +1 -0
  412. package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.d.ts +2 -0
  413. package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.d.ts.map +1 -0
  414. package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.js +255 -0
  415. package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.js.map +1 -0
  416. package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.d.ts +11 -0
  417. package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.d.ts.map +1 -0
  418. package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.js +83 -0
  419. package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.js.map +1 -0
  420. package/dist/providers/appStoreConnect/updateAppStoreSubscription.d.ts +9 -0
  421. package/dist/providers/appStoreConnect/updateAppStoreSubscription.d.ts.map +1 -0
  422. package/dist/providers/appStoreConnect/updateAppStoreSubscription.js +24 -0
  423. package/dist/providers/appStoreConnect/updateAppStoreSubscription.js.map +1 -0
  424. package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.d.ts +13 -0
  425. package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.d.ts.map +1 -0
  426. package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.js +94 -0
  427. package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.js.map +1 -0
  428. package/dist/providers/googlePlay/GooglePlayMonetizationResult.d.ts +24 -0
  429. package/dist/providers/googlePlay/GooglePlayMonetizationResult.d.ts.map +1 -0
  430. package/dist/providers/googlePlay/GooglePlayMonetizationResult.js +2 -0
  431. package/dist/providers/googlePlay/GooglePlayMonetizationResult.js.map +1 -0
  432. package/dist/providers/googlePlay/GooglePlayPriceConversion.d.ts +4 -0
  433. package/dist/providers/googlePlay/GooglePlayPriceConversion.d.ts.map +1 -0
  434. package/dist/providers/googlePlay/GooglePlayPriceConversion.js +2 -0
  435. package/dist/providers/googlePlay/GooglePlayPriceConversion.js.map +1 -0
  436. package/dist/providers/googlePlay/GooglePlayRequestTracker.d.ts +9 -0
  437. package/dist/providers/googlePlay/GooglePlayRequestTracker.d.ts.map +1 -0
  438. package/dist/providers/googlePlay/GooglePlayRequestTracker.js +13 -0
  439. package/dist/providers/googlePlay/GooglePlayRequestTracker.js.map +1 -0
  440. package/dist/providers/googlePlay/GooglePlayStoreListingResult.d.ts +14 -0
  441. package/dist/providers/googlePlay/GooglePlayStoreListingResult.d.ts.map +1 -0
  442. package/dist/providers/googlePlay/GooglePlayStoreListingResult.js +2 -0
  443. package/dist/providers/googlePlay/GooglePlayStoreListingResult.js.map +1 -0
  444. package/dist/providers/googlePlay/GooglePlayTransport.d.ts +1 -1
  445. package/dist/providers/googlePlay/GooglePlayTransport.d.ts.map +1 -1
  446. package/dist/providers/googlePlay/GooglePlayTransport.js.map +1 -1
  447. package/dist/providers/googlePlay/convertGooglePlayRegionPrices.d.ts +10 -0
  448. package/dist/providers/googlePlay/convertGooglePlayRegionPrices.d.ts.map +1 -0
  449. package/dist/providers/googlePlay/convertGooglePlayRegionPrices.js +32 -0
  450. package/dist/providers/googlePlay/convertGooglePlayRegionPrices.js.map +1 -0
  451. package/dist/providers/googlePlay/createGooglePlayListingDiagnostics.d.ts +4 -0
  452. package/dist/providers/googlePlay/createGooglePlayListingDiagnostics.d.ts.map +1 -0
  453. package/dist/providers/googlePlay/createGooglePlayListingDiagnostics.js +52 -0
  454. package/dist/providers/googlePlay/createGooglePlayListingDiagnostics.js.map +1 -0
  455. package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.d.ts +18 -0
  456. package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.d.ts.map +1 -0
  457. package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.js +97 -0
  458. package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.js.map +1 -0
  459. package/dist/providers/googlePlay/googlePlayListingUrls.d.ts +5 -0
  460. package/dist/providers/googlePlay/googlePlayListingUrls.d.ts.map +1 -0
  461. package/dist/providers/googlePlay/googlePlayListingUrls.js +21 -0
  462. package/dist/providers/googlePlay/googlePlayListingUrls.js.map +1 -0
  463. package/dist/providers/googlePlay/googlePlayMonetizationUrls.d.ts +11 -0
  464. package/dist/providers/googlePlay/googlePlayMonetizationUrls.d.ts.map +1 -0
  465. package/dist/providers/googlePlay/googlePlayMonetizationUrls.js +36 -0
  466. package/dist/providers/googlePlay/googlePlayMonetizationUrls.js.map +1 -0
  467. package/dist/providers/googlePlay/googlePlayStoreListingFields.d.ts +2 -0
  468. package/dist/providers/googlePlay/googlePlayStoreListingFields.d.ts.map +1 -0
  469. package/dist/providers/googlePlay/googlePlayStoreListingFields.js +7 -0
  470. package/dist/providers/googlePlay/googlePlayStoreListingFields.js.map +1 -0
  471. package/dist/providers/googlePlay/inspectGooglePlayMonetization.d.ts +15 -0
  472. package/dist/providers/googlePlay/inspectGooglePlayMonetization.d.ts.map +1 -0
  473. package/dist/providers/googlePlay/inspectGooglePlayMonetization.js +49 -0
  474. package/dist/providers/googlePlay/inspectGooglePlayMonetization.js.map +1 -0
  475. package/dist/providers/googlePlay/inspectGooglePlayStoreListing.d.ts +15 -0
  476. package/dist/providers/googlePlay/inspectGooglePlayStoreListing.d.ts.map +1 -0
  477. package/dist/providers/googlePlay/inspectGooglePlayStoreListing.js +105 -0
  478. package/dist/providers/googlePlay/inspectGooglePlayStoreListing.js.map +1 -0
  479. package/dist/providers/googlePlay/listGooglePlayImageHashes.d.ts +2 -0
  480. package/dist/providers/googlePlay/listGooglePlayImageHashes.d.ts.map +1 -0
  481. package/dist/providers/googlePlay/listGooglePlayImageHashes.js +2 -0
  482. package/dist/providers/googlePlay/listGooglePlayImageHashes.js.map +1 -0
  483. package/dist/providers/googlePlay/mapGooglePlayImageType.d.ts +2 -0
  484. package/dist/providers/googlePlay/mapGooglePlayImageType.d.ts.map +1 -0
  485. package/dist/providers/googlePlay/mapGooglePlayImageType.js +21 -0
  486. package/dist/providers/googlePlay/mapGooglePlayImageType.js.map +1 -0
  487. package/dist/providers/googlePlay/normalizeGooglePlayMonetization.d.ts +8 -0
  488. package/dist/providers/googlePlay/normalizeGooglePlayMonetization.d.ts.map +1 -0
  489. package/dist/providers/googlePlay/normalizeGooglePlayMonetization.js +169 -0
  490. package/dist/providers/googlePlay/normalizeGooglePlayMonetization.js.map +1 -0
  491. package/dist/providers/googlePlay/parseGooglePlayListings.d.ts +3 -0
  492. package/dist/providers/googlePlay/parseGooglePlayListings.d.ts.map +1 -0
  493. package/dist/providers/googlePlay/parseGooglePlayListings.js +47 -0
  494. package/dist/providers/googlePlay/parseGooglePlayListings.js.map +1 -0
  495. package/dist/providers/googlePlay/readGooglePlayAssetSets.d.ts +11 -0
  496. package/dist/providers/googlePlay/readGooglePlayAssetSets.d.ts.map +1 -0
  497. package/dist/providers/googlePlay/readGooglePlayAssetSets.js +32 -0
  498. package/dist/providers/googlePlay/readGooglePlayAssetSets.js.map +1 -0
  499. package/dist/providers/googlePlay/readGooglePlayImages.d.ts +10 -0
  500. package/dist/providers/googlePlay/readGooglePlayImages.d.ts.map +1 -0
  501. package/dist/providers/googlePlay/readGooglePlayImages.js +31 -0
  502. package/dist/providers/googlePlay/readGooglePlayImages.js.map +1 -0
  503. package/dist/providers/googlePlay/readGooglePlayMonetizationResources.d.ts +12 -0
  504. package/dist/providers/googlePlay/readGooglePlayMonetizationResources.d.ts.map +1 -0
  505. package/dist/providers/googlePlay/readGooglePlayMonetizationResources.js +62 -0
  506. package/dist/providers/googlePlay/readGooglePlayMonetizationResources.js.map +1 -0
  507. package/dist/providers/googlePlay/replaceGooglePlayImages.d.ts +12 -0
  508. package/dist/providers/googlePlay/replaceGooglePlayImages.d.ts.map +1 -0
  509. package/dist/providers/googlePlay/replaceGooglePlayImages.js +35 -0
  510. package/dist/providers/googlePlay/replaceGooglePlayImages.js.map +1 -0
  511. package/dist/providers/googlePlay/toGooglePlayMoney.d.ts +3 -0
  512. package/dist/providers/googlePlay/toGooglePlayMoney.d.ts.map +1 -0
  513. package/dist/providers/googlePlay/toGooglePlayMoney.js +11 -0
  514. package/dist/providers/googlePlay/toGooglePlayMoney.js.map +1 -0
  515. package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.d.ts +10 -0
  516. package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.d.ts.map +1 -0
  517. package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.js +121 -0
  518. package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.js.map +1 -0
  519. package/dist/providers/googlePlay/writeGooglePlayListing.d.ts +12 -0
  520. package/dist/providers/googlePlay/writeGooglePlayListing.d.ts.map +1 -0
  521. package/dist/providers/googlePlay/writeGooglePlayListing.js +21 -0
  522. package/dist/providers/googlePlay/writeGooglePlayListing.js.map +1 -0
  523. package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.d.ts +13 -0
  524. package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.d.ts.map +1 -0
  525. package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.js +127 -0
  526. package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.js.map +1 -0
  527. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ import { mapAppStoreLocale } from './mapAppStoreLocale';
2
+ export function parseAppStoreListingLocalizations(options) {
3
+ const appInfo = parseLayer(options.appInfo, 'appInfoLocalizations');
4
+ const version = parseLayer(options.version, 'appStoreVersionLocalizations');
5
+ if (appInfo === null || version === null)
6
+ return null;
7
+ return options.desired.locales.map((locale) => mergeLocale(locale.locale, appInfo, version));
8
+ }
9
+ function mergeLocale(canonicalLocale, appInfo, version) {
10
+ const providerLocale = mapAppStoreLocale(canonicalLocale) ?? canonicalLocale;
11
+ const info = appInfo.find((item) => item.locale === providerLocale);
12
+ const ver = version.find((item) => item.locale === providerLocale);
13
+ return {
14
+ canonicalLocale,
15
+ providerLocale,
16
+ ...(info === undefined ? {} : appInfoProperties(info)),
17
+ ...(ver === undefined ? {} : versionProperties(ver)),
18
+ };
19
+ }
20
+ function parseLayer(value, type) {
21
+ if (!isRecord(value) || !Array.isArray(value.data))
22
+ return null;
23
+ const result = [];
24
+ for (const item of value.data) {
25
+ if (!isRecord(item) || item.type !== type || !isNonEmptyString(item.id))
26
+ return null;
27
+ if (!isRecord(item.attributes) || !isNonEmptyString(item.attributes.locale))
28
+ return null;
29
+ result.push({ id: item.id, locale: item.attributes.locale, attributes: item.attributes });
30
+ }
31
+ return result;
32
+ }
33
+ function appInfoProperties(item) {
34
+ const name = readString(item.attributes.name);
35
+ const summary = readString(item.attributes.subtitle);
36
+ const privacyPolicyUrl = readString(item.attributes.privacyPolicyUrl);
37
+ return {
38
+ appInfoLocalizationId: item.id,
39
+ ...(name === undefined ? {} : { name }),
40
+ ...(summary === undefined ? {} : { summary }),
41
+ ...(privacyPolicyUrl === undefined ? {} : { privacyPolicyUrl }),
42
+ };
43
+ }
44
+ function versionProperties(item) {
45
+ const description = readString(item.attributes.description);
46
+ const keywords = readString(item.attributes.keywords);
47
+ const promotionalText = readString(item.attributes.promotionalText);
48
+ const supportUrl = readString(item.attributes.supportUrl);
49
+ const marketingUrl = readString(item.attributes.marketingUrl);
50
+ return {
51
+ versionLocalizationId: item.id,
52
+ ...(description === undefined ? {} : { description }),
53
+ ...(keywords === undefined ? {} : { keywords }),
54
+ ...(promotionalText === undefined ? {} : { promotionalText }),
55
+ ...(supportUrl === undefined ? {} : { supportUrl }),
56
+ ...(marketingUrl === undefined ? {} : { marketingUrl }),
57
+ };
58
+ }
59
+ function readString(value) {
60
+ return typeof value === 'string' ? value : undefined;
61
+ }
62
+ function isRecord(value) {
63
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
64
+ }
65
+ function isNonEmptyString(value) {
66
+ return typeof value === 'string' && value.trim().length > 0;
67
+ }
68
+ //# sourceMappingURL=parseAppStoreListingLocalizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAppStoreListingLocalizations.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/parseAppStoreListingLocalizations.ts"],"names":[],"mappings":"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","sourcesContent":["import type { StoreListingDesiredState } from '../../domain/storeListing/StoreListingDesiredState';\nimport type { AppStoreListingLocaleResource } from './AppStoreListingContext';\nimport { mapAppStoreLocale } from './mapAppStoreLocale';\n\ninterface LayerLocalization {\n readonly id: string;\n readonly locale: string;\n readonly attributes: Record<string, unknown>;\n}\n\nexport function parseAppStoreListingLocalizations(options: {\n readonly appInfo: unknown;\n readonly version: unknown;\n readonly desired: StoreListingDesiredState;\n}): readonly AppStoreListingLocaleResource[] | null {\n const appInfo = parseLayer(options.appInfo, 'appInfoLocalizations');\n const version = parseLayer(options.version, 'appStoreVersionLocalizations');\n if (appInfo === null || version === null) return null;\n return options.desired.locales.map((locale) => mergeLocale(locale.locale, appInfo, version));\n}\n\nfunction mergeLocale(\n canonicalLocale: string,\n appInfo: readonly LayerLocalization[],\n version: readonly LayerLocalization[],\n): AppStoreListingLocaleResource {\n const providerLocale = mapAppStoreLocale(canonicalLocale) ?? canonicalLocale;\n const info = appInfo.find((item) => item.locale === providerLocale);\n const ver = version.find((item) => item.locale === providerLocale);\n return {\n canonicalLocale,\n providerLocale,\n ...(info === undefined ? {} : appInfoProperties(info)),\n ...(ver === undefined ? {} : versionProperties(ver)),\n };\n}\n\nfunction parseLayer(value: unknown, type: string): readonly LayerLocalization[] | null {\n if (!isRecord(value) || !Array.isArray(value.data)) return null;\n const result: LayerLocalization[] = [];\n for (const item of value.data as unknown[]) {\n if (!isRecord(item) || item.type !== type || !isNonEmptyString(item.id)) return null;\n if (!isRecord(item.attributes) || !isNonEmptyString(item.attributes.locale)) return null;\n result.push({ id: item.id, locale: item.attributes.locale, attributes: item.attributes });\n }\n return result;\n}\n\nfunction appInfoProperties(item: LayerLocalization): Partial<AppStoreListingLocaleResource> {\n const name = readString(item.attributes.name);\n const summary = readString(item.attributes.subtitle);\n const privacyPolicyUrl = readString(item.attributes.privacyPolicyUrl);\n return {\n appInfoLocalizationId: item.id,\n ...(name === undefined ? {} : { name }),\n ...(summary === undefined ? {} : { summary }),\n ...(privacyPolicyUrl === undefined ? {} : { privacyPolicyUrl }),\n };\n}\n\nfunction versionProperties(item: LayerLocalization): Partial<AppStoreListingLocaleResource> {\n const description = readString(item.attributes.description);\n const keywords = readString(item.attributes.keywords);\n const promotionalText = readString(item.attributes.promotionalText);\n const supportUrl = readString(item.attributes.supportUrl);\n const marketingUrl = readString(item.attributes.marketingUrl);\n return {\n versionLocalizationId: item.id,\n ...(description === undefined ? {} : { description }),\n ...(keywords === undefined ? {} : { keywords }),\n ...(promotionalText === undefined ? {} : { promotionalText }),\n ...(supportUrl === undefined ? {} : { supportUrl }),\n ...(marketingUrl === undefined ? {} : { marketingUrl }),\n };\n}\n\nfunction readString(value: unknown): string | undefined {\n return typeof value === 'string' ? value : undefined;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function parseEditableAppStoreResourceId(value: unknown, type: 'appInfos' | 'appStoreVersions'): string | null | undefined;
2
+ //# sourceMappingURL=parseEditableAppStoreResourceId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseEditableAppStoreResourceId.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/parseEditableAppStoreResourceId.ts"],"names":[],"mappings":"AAEA,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,GAAG,kBAAkB,GACpC,MAAM,GAAG,IAAI,GAAG,SAAS,CAe3B"}
@@ -0,0 +1,28 @@
1
+ import { isEditableAppStoreListingState } from './isEditableAppStoreListingState';
2
+ export function parseEditableAppStoreResourceId(value, type) {
3
+ if (!isRecord(value) || !Array.isArray(value.data))
4
+ return undefined;
5
+ let match = null;
6
+ for (const item of value.data) {
7
+ if (!isRecord(item) || item.type !== type || !isNonEmptyString(item.id))
8
+ continue;
9
+ if (!isRecord(item.attributes))
10
+ return undefined;
11
+ const state = type === 'appInfos'
12
+ ? (item.attributes.state ?? item.attributes.appStoreState)
13
+ : (item.attributes.appVersionState ?? item.attributes.appStoreState);
14
+ if (!isEditableAppStoreListingState(state))
15
+ continue;
16
+ if (match !== null)
17
+ return undefined;
18
+ match = item.id;
19
+ }
20
+ return match;
21
+ }
22
+ function isRecord(value) {
23
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
24
+ }
25
+ function isNonEmptyString(value) {
26
+ return typeof value === 'string' && value.trim().length > 0;
27
+ }
28
+ //# sourceMappingURL=parseEditableAppStoreResourceId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseEditableAppStoreResourceId.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/parseEditableAppStoreResourceId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,MAAM,UAAU,+BAA+B,CAC7C,KAAc,EACd,IAAqC;IAErC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACrE,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAiB,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAClF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,KAAK,GACT,IAAI,KAAK,UAAU;YACjB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;YAAE,SAAS;QACrD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACrC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC","sourcesContent":["import { isEditableAppStoreListingState } from './isEditableAppStoreListingState';\n\nexport function parseEditableAppStoreResourceId(\n value: unknown,\n type: 'appInfos' | 'appStoreVersions',\n): string | null | undefined {\n if (!isRecord(value) || !Array.isArray(value.data)) return undefined;\n let match: string | null = null;\n for (const item of value.data as unknown[]) {\n if (!isRecord(item) || item.type !== type || !isNonEmptyString(item.id)) continue;\n if (!isRecord(item.attributes)) return undefined;\n const state =\n type === 'appInfos'\n ? (item.attributes.state ?? item.attributes.appStoreState)\n : (item.attributes.appVersionState ?? item.attributes.appStoreState);\n if (!isEditableAppStoreListingState(state)) continue;\n if (match !== null) return undefined;\n match = item.id;\n }\n return match;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
2
+ export interface AppStoreCollectionPage {
3
+ readonly data: readonly unknown[];
4
+ readonly included: readonly unknown[];
5
+ }
6
+ export declare function readAppStoreCollection(options: {
7
+ readonly url: string;
8
+ readonly token: string;
9
+ readonly request: AppStoreConnectTransport;
10
+ }): Promise<AppStoreCollectionPage | null>;
11
+ //# sourceMappingURL=readAppStoreCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreCollection.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAiBzC"}
@@ -0,0 +1,43 @@
1
+ export async function readAppStoreCollection(options) {
2
+ const data = [];
3
+ const included = [];
4
+ let url = options.url;
5
+ let pages = 0;
6
+ while (url !== undefined) {
7
+ if (pages >= 100)
8
+ return null;
9
+ const response = await options.request({ method: 'GET', url, token: options.token });
10
+ if (response.status < 200 || response.status >= 300)
11
+ return null;
12
+ const page = parsePage(response.body);
13
+ if (page === null)
14
+ return null;
15
+ data.push(...page.data);
16
+ included.push(...page.included);
17
+ url = page.next;
18
+ pages += 1;
19
+ }
20
+ return { data, included };
21
+ }
22
+ function parsePage(body) {
23
+ try {
24
+ const value = JSON.parse(body);
25
+ if (!isRecord(value) || !Array.isArray(value.data))
26
+ return null;
27
+ const included = Array.isArray(value.included) ? value.included : [];
28
+ const next = readNext(value.links);
29
+ return { data: value.data, included, ...(next === undefined ? {} : { next }) };
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ }
35
+ function readNext(value) {
36
+ if (!isRecord(value))
37
+ return undefined;
38
+ return typeof value.next === 'string' && value.next.length > 0 ? value.next : undefined;
39
+ }
40
+ function isRecord(value) {
41
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
42
+ }
43
+ //# sourceMappingURL=readAppStoreCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreCollection.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreCollection.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAI5C;IACC,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,GAAG,GAAuB,OAAO,CAAC,GAAG,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,KAAK,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,SAAS,CAChB,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC","sourcesContent":["import type { AppStoreConnectTransport } from './AppStoreConnectTransport';\n\nexport interface AppStoreCollectionPage {\n readonly data: readonly unknown[];\n readonly included: readonly unknown[];\n}\n\nexport async function readAppStoreCollection(options: {\n readonly url: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<AppStoreCollectionPage | null> {\n const data: unknown[] = [];\n const included: unknown[] = [];\n let url: string | undefined = options.url;\n let pages = 0;\n while (url !== undefined) {\n if (pages >= 100) return null;\n const response = await options.request({ method: 'GET', url, token: options.token });\n if (response.status < 200 || response.status >= 300) return null;\n const page = parsePage(response.body);\n if (page === null) return null;\n data.push(...page.data);\n included.push(...page.included);\n url = page.next;\n pages += 1;\n }\n return { data, included };\n}\n\nfunction parsePage(\n body: string,\n): { data: readonly unknown[]; included: readonly unknown[]; next?: string } | null {\n try {\n const value: unknown = JSON.parse(body);\n if (!isRecord(value) || !Array.isArray(value.data)) return null;\n const included = Array.isArray(value.included) ? value.included : [];\n const next = readNext(value.links);\n return { data: value.data, included, ...(next === undefined ? {} : { next }) };\n } catch {\n return null;\n }\n}\n\nfunction readNext(value: unknown): string | undefined {\n if (!isRecord(value)) return undefined;\n return typeof value.next === 'string' && value.next.length > 0 ? value.next : undefined;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
2
+ export declare function readAppStoreJson(options: {
3
+ readonly url: string;
4
+ readonly token: string;
5
+ readonly request: AppStoreConnectTransport;
6
+ }): Promise<unknown>;
7
+ //# sourceMappingURL=readAppStoreJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreJson.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GAAG,OAAO,CAAC,OAAO,CAAC,CAQnB"}
@@ -0,0 +1,12 @@
1
+ export async function readAppStoreJson(options) {
2
+ const response = await options.request({ method: 'GET', ...options });
3
+ if (response.status < 200 || response.status >= 300)
4
+ return null;
5
+ try {
6
+ return JSON.parse(response.body);
7
+ }
8
+ catch {
9
+ return null;
10
+ }
11
+ }
12
+ //# sourceMappingURL=readAppStoreJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreJson.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreJson.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAItC;IACC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAY,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import type { AppStoreConnectTransport } from './AppStoreConnectTransport';\n\nexport async function readAppStoreJson(options: {\n readonly url: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<unknown> {\n const response = await options.request({ method: 'GET', ...options });\n if (response.status < 200 || response.status >= 300) return null;\n try {\n return JSON.parse(response.body) as unknown;\n } catch {\n return null;\n }\n}\n"]}
@@ -0,0 +1,17 @@
1
+ import type { MonetizationBasePrice } from '../../domain/monetization/MonetizationBasePrice';
2
+ import type { MonetizationDiagnostic } from '../../domain/monetization/MonetizationDiagnostic';
3
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
4
+ export interface AppStorePriceInspection {
5
+ readonly matches: boolean;
6
+ readonly diagnostics: readonly MonetizationDiagnostic[];
7
+ }
8
+ export declare function readAppStoreMonetizationPrice(options: {
9
+ readonly kind: 'iap' | 'subscription';
10
+ readonly resourceId: string;
11
+ readonly productId: string;
12
+ readonly price: MonetizationBasePrice;
13
+ readonly token: string;
14
+ readonly request: AppStoreConnectTransport;
15
+ readonly now: Date;
16
+ }): Promise<AppStorePriceInspection>;
17
+ //# sourceMappingURL=readAppStoreMonetizationPrice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreMonetizationPrice.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreMonetizationPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAK3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACzD;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAQnC"}
@@ -0,0 +1,114 @@
1
+ import { appStoreMonetizationUrls } from './appStoreMonetizationUrls';
2
+ import { readAppStoreJson } from './readAppStoreJson';
3
+ import { toAppStoreTerritoryCode } from './toAppStoreTerritoryCode';
4
+ export async function readAppStoreMonetizationPrice(options) {
5
+ const territory = toAppStoreTerritoryCode(options.price.country);
6
+ if (territory === null)
7
+ return diagnostic(options.productId, 'APP_STORE_TERRITORY_UNSUPPORTED');
8
+ const pricePoint = await resolvePricePoint({ ...options, territory });
9
+ if (pricePoint === null)
10
+ return diagnostic(options.productId, 'APP_STORE_PRICE_POINT_NOT_FOUND');
11
+ const current = await readCurrentPricePoint({ ...options, territory });
12
+ if (current === undefined)
13
+ return diagnostic(options.productId, 'APP_STORE_PRICE_STATE_INVALID');
14
+ return { matches: current === pricePoint, diagnostics: [] };
15
+ }
16
+ async function resolvePricePoint(options) {
17
+ const url = options.kind === 'iap'
18
+ ? appStoreMonetizationUrls.iapPricePoints(options.resourceId, options.territory)
19
+ : appStoreMonetizationUrls.subscriptionPricePoints(options.resourceId, options.territory);
20
+ const value = await readAppStoreJson({ ...options, url });
21
+ if (!isRecord(value) || !Array.isArray(value.data))
22
+ return null;
23
+ if (!currencyMatches(value.included, options.territory, options.price.currency))
24
+ return null;
25
+ const matches = value.data.filter((item) => pricePointMatches(item, options.price.amount));
26
+ return matches.length === 1 && isRecord(matches[0]) && isString(matches[0].id)
27
+ ? matches[0].id
28
+ : null;
29
+ }
30
+ async function readCurrentPricePoint(options) {
31
+ const url = options.kind === 'iap'
32
+ ? appStoreMonetizationUrls.iapPriceSchedule(options.resourceId)
33
+ : appStoreMonetizationUrls.subscriptionPrices(options.resourceId, options.territory);
34
+ const value = await readAppStoreJson({ ...options, url });
35
+ if (!isRecord(value))
36
+ return undefined;
37
+ return options.kind === 'iap'
38
+ ? currentIapPricePoint(value, options.territory, options.now)
39
+ : currentSubscriptionPricePoint(value, options.now);
40
+ }
41
+ function currentIapPricePoint(value, territory, now) {
42
+ if (!isRecord(value.data) || !isRecord(value.data.relationships))
43
+ return undefined;
44
+ if (!relationshipHasId(value.data.relationships.baseTerritory, territory))
45
+ return null;
46
+ if (!Array.isArray(value.included))
47
+ return undefined;
48
+ const prices = value.included.filter((item) => isResourceType(item, 'inAppPurchasePrices'));
49
+ return currentPointFromPrices(prices, now, 'inAppPurchasePricePoint');
50
+ }
51
+ function currentSubscriptionPricePoint(value, now) {
52
+ if (!Array.isArray(value.data))
53
+ return undefined;
54
+ return currentPointFromPrices(value.data, now, 'subscriptionPricePoint');
55
+ }
56
+ function currentPointFromPrices(values, now, relationship) {
57
+ const active = values.filter((item) => isActivePrice(item, now));
58
+ if (active.length !== 1 || !isRecord(active[0]) || !isRecord(active[0].relationships))
59
+ return null;
60
+ return relationship === 'inAppPurchasePricePoint'
61
+ ? relationshipId(active[0].relationships.inAppPurchasePricePoint)
62
+ : relationshipId(active[0].relationships.subscriptionPricePoint);
63
+ }
64
+ function isActivePrice(value, now) {
65
+ if (!isRecord(value) || !isRecord(value.attributes))
66
+ return false;
67
+ const today = now.toISOString().slice(0, 10);
68
+ const start = value.attributes.startDate;
69
+ const end = value.attributes.endDate;
70
+ const startOk = start === null || start === undefined || (isString(start) && start <= today);
71
+ const endOk = end === null || end === undefined || (isString(end) && end > today);
72
+ return startOk && endOk;
73
+ }
74
+ function pricePointMatches(value, amount) {
75
+ if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes))
76
+ return false;
77
+ return value.attributes.customerPrice === amount;
78
+ }
79
+ function currencyMatches(value, territory, currency) {
80
+ if (!Array.isArray(value))
81
+ return false;
82
+ return value.some((item) => isResourceType(item, 'territories') &&
83
+ item.id === territory &&
84
+ isRecord(item.attributes) &&
85
+ item.attributes.currency === currency);
86
+ }
87
+ function relationshipHasId(value, id) {
88
+ return relationshipId(value) === id;
89
+ }
90
+ function relationshipId(value) {
91
+ if (!isRecord(value) || !isRecord(value.data) || !isString(value.data.id))
92
+ return null;
93
+ return value.data.id;
94
+ }
95
+ function isResourceType(value, type) {
96
+ return isRecord(value) && value.type === type && isString(value.id);
97
+ }
98
+ function diagnostic(productId, code) {
99
+ const item = {
100
+ severity: 'error',
101
+ code,
102
+ message: `App Store price for ${productId} cannot be resolved safely.`,
103
+ target: 'ios',
104
+ productId,
105
+ };
106
+ return { matches: false, diagnostics: [item] };
107
+ }
108
+ function isRecord(value) {
109
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
110
+ }
111
+ function isString(value) {
112
+ return typeof value === 'string';
113
+ }
114
+ //# sourceMappingURL=readAppStoreMonetizationPrice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreMonetizationPrice.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreMonetizationPrice.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MonetizationBasePrice } from '../../domain/monetization/MonetizationBasePrice';\nimport type { MonetizationDiagnostic } from '../../domain/monetization/MonetizationDiagnostic';\nimport type { AppStoreConnectTransport } from './AppStoreConnectTransport';\nimport { appStoreMonetizationUrls } from './appStoreMonetizationUrls';\nimport { readAppStoreJson } from './readAppStoreJson';\nimport { toAppStoreTerritoryCode } from './toAppStoreTerritoryCode';\n\nexport interface AppStorePriceInspection {\n readonly matches: boolean;\n readonly diagnostics: readonly MonetizationDiagnostic[];\n}\n\nexport async function readAppStoreMonetizationPrice(options: {\n readonly kind: 'iap' | 'subscription';\n readonly resourceId: string;\n readonly productId: string;\n readonly price: MonetizationBasePrice;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n readonly now: Date;\n}): Promise<AppStorePriceInspection> {\n const territory = toAppStoreTerritoryCode(options.price.country);\n if (territory === null) return diagnostic(options.productId, 'APP_STORE_TERRITORY_UNSUPPORTED');\n const pricePoint = await resolvePricePoint({ ...options, territory });\n if (pricePoint === null) return diagnostic(options.productId, 'APP_STORE_PRICE_POINT_NOT_FOUND');\n const current = await readCurrentPricePoint({ ...options, territory });\n if (current === undefined) return diagnostic(options.productId, 'APP_STORE_PRICE_STATE_INVALID');\n return { matches: current === pricePoint, diagnostics: [] };\n}\n\nasync function resolvePricePoint(options: {\n readonly kind: 'iap' | 'subscription';\n readonly resourceId: string;\n readonly price: MonetizationBasePrice;\n readonly territory: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<string | null> {\n const url =\n options.kind === 'iap'\n ? appStoreMonetizationUrls.iapPricePoints(options.resourceId, options.territory)\n : appStoreMonetizationUrls.subscriptionPricePoints(options.resourceId, options.territory);\n const value = await readAppStoreJson({ ...options, url });\n if (!isRecord(value) || !Array.isArray(value.data)) return null;\n if (!currencyMatches(value.included, options.territory, options.price.currency)) return null;\n const matches = value.data.filter((item) => pricePointMatches(item, options.price.amount));\n return matches.length === 1 && isRecord(matches[0]) && isString(matches[0].id)\n ? matches[0].id\n : null;\n}\n\nasync function readCurrentPricePoint(options: {\n readonly kind: 'iap' | 'subscription';\n readonly resourceId: string;\n readonly territory: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n readonly now: Date;\n}): Promise<string | null | undefined> {\n const url =\n options.kind === 'iap'\n ? appStoreMonetizationUrls.iapPriceSchedule(options.resourceId)\n : appStoreMonetizationUrls.subscriptionPrices(options.resourceId, options.territory);\n const value = await readAppStoreJson({ ...options, url });\n if (!isRecord(value)) return undefined;\n return options.kind === 'iap'\n ? currentIapPricePoint(value, options.territory, options.now)\n : currentSubscriptionPricePoint(value, options.now);\n}\n\nfunction currentIapPricePoint(\n value: Record<string, unknown>,\n territory: string,\n now: Date,\n): string | null | undefined {\n if (!isRecord(value.data) || !isRecord(value.data.relationships)) return undefined;\n if (!relationshipHasId(value.data.relationships.baseTerritory, territory)) return null;\n if (!Array.isArray(value.included)) return undefined;\n const prices = value.included.filter((item) => isResourceType(item, 'inAppPurchasePrices'));\n return currentPointFromPrices(prices, now, 'inAppPurchasePricePoint');\n}\n\nfunction currentSubscriptionPricePoint(\n value: Record<string, unknown>,\n now: Date,\n): string | null | undefined {\n if (!Array.isArray(value.data)) return undefined;\n return currentPointFromPrices(value.data, now, 'subscriptionPricePoint');\n}\n\nfunction currentPointFromPrices(\n values: readonly unknown[],\n now: Date,\n relationship: 'inAppPurchasePricePoint' | 'subscriptionPricePoint',\n): string | null {\n const active = values.filter((item) => isActivePrice(item, now));\n if (active.length !== 1 || !isRecord(active[0]) || !isRecord(active[0].relationships))\n return null;\n return relationship === 'inAppPurchasePricePoint'\n ? relationshipId(active[0].relationships.inAppPurchasePricePoint)\n : relationshipId(active[0].relationships.subscriptionPricePoint);\n}\n\nfunction isActivePrice(value: unknown, now: Date): boolean {\n if (!isRecord(value) || !isRecord(value.attributes)) return false;\n const today = now.toISOString().slice(0, 10);\n const start = value.attributes.startDate;\n const end = value.attributes.endDate;\n const startOk = start === null || start === undefined || (isString(start) && start <= today);\n const endOk = end === null || end === undefined || (isString(end) && end > today);\n return startOk && endOk;\n}\n\nfunction pricePointMatches(value: unknown, amount: string): boolean {\n if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes)) return false;\n return value.attributes.customerPrice === amount;\n}\n\nfunction currencyMatches(value: unknown, territory: string, currency: string): boolean {\n if (!Array.isArray(value)) return false;\n return value.some(\n (item) =>\n isResourceType(item, 'territories') &&\n item.id === territory &&\n isRecord(item.attributes) &&\n item.attributes.currency === currency,\n );\n}\n\nfunction relationshipHasId(value: unknown, id: string): boolean {\n return relationshipId(value) === id;\n}\n\nfunction relationshipId(value: unknown): string | null {\n if (!isRecord(value) || !isRecord(value.data) || !isString(value.data.id)) return null;\n return value.data.id;\n}\n\nfunction isResourceType(\n value: unknown,\n type: string,\n): value is Record<string, unknown> & { readonly id: string } {\n return isRecord(value) && value.type === type && isString(value.id);\n}\n\nfunction diagnostic(productId: string, code: string): AppStorePriceInspection {\n const item: MonetizationDiagnostic = {\n severity: 'error',\n code,\n message: `App Store price for ${productId} cannot be resolved safely.`,\n target: 'ios',\n productId,\n };\n return { matches: false, diagnostics: [item] };\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isString(value: unknown): value is string {\n return typeof value === 'string';\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { MonetizationDesiredState } from '../../domain/monetization/MonetizationDesiredState';
2
+ import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
3
+ import type { AppStoreMonetizationSnapshot } from './AppStoreMonetizationSnapshot';
4
+ export declare function readAppStoreMonetizationSnapshot(options: {
5
+ readonly bundleIdentifier: string;
6
+ readonly desired: MonetizationDesiredState;
7
+ readonly token: string;
8
+ readonly request: AppStoreConnectTransport;
9
+ readonly now: Date;
10
+ }): Promise<AppStoreMonetizationSnapshot | null | 'app-required'>;
11
+ //# sourceMappingURL=readAppStoreMonetizationSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readAppStoreMonetizationSnapshot.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreMonetizationSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAGnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAGV,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAcxC,wBAAsB,gCAAgC,CAAC,OAAO,EAAE;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB,GAAG,OAAO,CAAC,4BAA4B,GAAG,IAAI,GAAG,cAAc,CAAC,CAgBhE"}
@@ -0,0 +1,210 @@
1
+ import { appStoreConnectAppsUrl } from './appStoreConnectUrls';
2
+ import { appStoreMonetizationUrls } from './appStoreMonetizationUrls';
3
+ import { fromAppStoreSubscriptionPeriod } from './mapAppStoreSubscriptionPeriod';
4
+ import { parseAppStoreAppId } from './parseAppStoreAppId';
5
+ import { readAppStoreCollection } from './readAppStoreCollection';
6
+ import { readAppStoreJson } from './readAppStoreJson';
7
+ import { readAppStoreMonetizationPrice } from './readAppStoreMonetizationPrice';
8
+ import { readAppStoreProductVersion } from './readAppStoreProductVersion';
9
+ export async function readAppStoreMonetizationSnapshot(options) {
10
+ const appId = await resolveAppId(options);
11
+ if (appId === undefined)
12
+ return null;
13
+ if (appId === null)
14
+ return 'app-required';
15
+ const catalog = await readCatalog({ ...options, appId });
16
+ if (catalog === null)
17
+ return null;
18
+ const families = parseFamilies(catalog.groups.data);
19
+ if (families === null)
20
+ return null;
21
+ const products = [];
22
+ const diagnostics = [];
23
+ for (const desired of options.desired.products) {
24
+ const result = await readDesiredProduct({ ...options, desired, families, catalog });
25
+ products.push(...result.products);
26
+ diagnostics.push(...result.diagnostics);
27
+ }
28
+ return { appId, products, families, diagnostics };
29
+ }
30
+ async function resolveAppId(options) {
31
+ const value = await readAppStoreJson({
32
+ url: appStoreConnectAppsUrl(options.bundleIdentifier),
33
+ token: options.token,
34
+ request: options.request,
35
+ });
36
+ return value === null ? undefined : parseAppStoreAppId(value, options.bundleIdentifier);
37
+ }
38
+ async function readCatalog(options) {
39
+ const [iaps, groups] = await Promise.all([
40
+ readAppStoreCollection({
41
+ url: appStoreMonetizationUrls.inAppPurchases(options.appId),
42
+ token: options.token,
43
+ request: options.request,
44
+ }),
45
+ readAppStoreCollection({
46
+ url: appStoreMonetizationUrls.subscriptionGroups(options.appId),
47
+ token: options.token,
48
+ request: options.request,
49
+ }),
50
+ ]);
51
+ return iaps === null || groups === null ? null : { iaps, groups };
52
+ }
53
+ async function readDesiredProduct(options) {
54
+ const iap = findProduct(options.catalog.iaps.data, options.desired.id);
55
+ const subscription = findProduct(options.catalog.groups.included, options.desired.id);
56
+ if (iap !== undefined && subscription !== undefined) {
57
+ return {
58
+ products: [],
59
+ diagnostics: [diagnostic(options.desired.id, 'APP_STORE_PRODUCT_ID_CONFLICT')],
60
+ };
61
+ }
62
+ if (options.desired.kind === 'subscription') {
63
+ if (iap !== undefined)
64
+ return readIap(options, iap);
65
+ return subscription === undefined ? empty() : readSubscription(options, subscription);
66
+ }
67
+ if (subscription !== undefined)
68
+ return readSubscription(options, subscription);
69
+ return iap === undefined ? empty() : readIap(options, iap);
70
+ }
71
+ async function readIap(options, value) {
72
+ const base = parseIap(value);
73
+ if (base === null)
74
+ return invalid(options.desired.id);
75
+ const version = await readAppStoreProductVersion({
76
+ kind: 'iap',
77
+ productId: base.resourceId,
78
+ token: options.token,
79
+ request: options.request,
80
+ });
81
+ if (version === null)
82
+ return invalid(options.desired.id);
83
+ return withPrice(options, base, version, 'iap');
84
+ }
85
+ async function readSubscription(options, value) {
86
+ const base = parseSubscription(value, options.families);
87
+ if (base === null)
88
+ return invalid(options.desired.id);
89
+ const version = await readAppStoreProductVersion({
90
+ kind: 'subscription',
91
+ productId: base.resourceId,
92
+ token: options.token,
93
+ request: options.request,
94
+ });
95
+ if (version === null)
96
+ return invalid(options.desired.id);
97
+ return withPrice(options, base, version, 'subscription');
98
+ }
99
+ async function withPrice(options, base, version, kind) {
100
+ const price = await readAppStoreMonetizationPrice({
101
+ kind,
102
+ resourceId: base.resourceId,
103
+ productId: options.desired.id,
104
+ price: options.desired.basePrice,
105
+ token: options.token,
106
+ request: options.request,
107
+ now: options.now,
108
+ });
109
+ return {
110
+ products: [
111
+ {
112
+ ...base,
113
+ localizations: version?.localizations ?? [],
114
+ basePriceMatches: price.matches,
115
+ ...(version === undefined
116
+ ? {}
117
+ : { versionId: version.resourceId, versionState: version.state }),
118
+ },
119
+ ],
120
+ diagnostics: price.diagnostics,
121
+ };
122
+ }
123
+ function parseIap(value) {
124
+ if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes))
125
+ return null;
126
+ const { productId } = value.attributes;
127
+ const kind = mapIapKind(value.attributes.inAppPurchaseType);
128
+ if (!isString(productId) || kind === null)
129
+ return null;
130
+ const state = isString(value.attributes.state) ? value.attributes.state : undefined;
131
+ return { resourceId: value.id, productId, kind, ...(state === undefined ? {} : { state }) };
132
+ }
133
+ function parseSubscription(value, families) {
134
+ if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes))
135
+ return null;
136
+ const { productId } = value.attributes;
137
+ const period = fromAppStoreSubscriptionPeriod(value.attributes.subscriptionPeriod);
138
+ const familyId = relationshipId(isRecord(value.relationships) ? value.relationships.group : undefined);
139
+ const family = families.find((item) => item.resourceId === familyId);
140
+ if (!isString(productId) || period === null || family === undefined)
141
+ return null;
142
+ const level = isPositiveInteger(value.attributes.groupLevel)
143
+ ? value.attributes.groupLevel
144
+ : undefined;
145
+ const state = isString(value.attributes.state) ? value.attributes.state : undefined;
146
+ return {
147
+ resourceId: value.id,
148
+ productId,
149
+ kind: 'subscription',
150
+ family: family.referenceName,
151
+ familyId: family.resourceId,
152
+ period,
153
+ ...(level === undefined ? {} : { level }),
154
+ ...(state === undefined ? {} : { state }),
155
+ };
156
+ }
157
+ function parseFamilies(values) {
158
+ const result = [];
159
+ for (const value of values) {
160
+ if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes))
161
+ return null;
162
+ if (!isString(value.attributes.referenceName))
163
+ return null;
164
+ result.push({ resourceId: value.id, referenceName: value.attributes.referenceName });
165
+ }
166
+ return result.sort((a, b) => a.referenceName.localeCompare(b.referenceName));
167
+ }
168
+ function findProduct(values, productId) {
169
+ return values.find((value) => isRecord(value) && isRecord(value.attributes) && value.attributes.productId === productId);
170
+ }
171
+ function mapIapKind(value) {
172
+ if (value === 'CONSUMABLE')
173
+ return 'consumable';
174
+ if (value === 'NON_CONSUMABLE')
175
+ return 'non-consumable';
176
+ return null;
177
+ }
178
+ function relationshipId(value) {
179
+ if (!isRecord(value) || !isRecord(value.data) || !isString(value.data.id))
180
+ return null;
181
+ return value.data.id;
182
+ }
183
+ function empty() {
184
+ return { products: [], diagnostics: [] };
185
+ }
186
+ function invalid(productId) {
187
+ return {
188
+ products: [],
189
+ diagnostics: [diagnostic(productId, 'APP_STORE_PRODUCT_STATE_INVALID')],
190
+ };
191
+ }
192
+ function diagnostic(productId, code) {
193
+ return {
194
+ severity: 'error',
195
+ code,
196
+ message: `App Store monetization product ${productId} cannot be normalized safely.`,
197
+ target: 'ios',
198
+ productId,
199
+ };
200
+ }
201
+ function isPositiveInteger(value) {
202
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 1;
203
+ }
204
+ function isRecord(value) {
205
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
206
+ }
207
+ function isString(value) {
208
+ return typeof value === 'string';
209
+ }
210
+ //# sourceMappingURL=readAppStoreMonetizationSnapshot.js.map