@ankhorage/deploy 0.7.0 → 0.9.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.
- package/CHANGELOG.md +17 -0
- package/README.md +8 -1
- package/dist/domain/monetization/MonetizationBasePrice.d.ts +6 -0
- package/dist/domain/monetization/MonetizationBasePrice.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationBasePrice.js +2 -0
- package/dist/domain/monetization/MonetizationBasePrice.js.map +1 -0
- package/dist/domain/monetization/MonetizationDesiredState.d.ts +6 -0
- package/dist/domain/monetization/MonetizationDesiredState.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationDesiredState.js +2 -0
- package/dist/domain/monetization/MonetizationDesiredState.js.map +1 -0
- package/dist/domain/monetization/MonetizationDiagnostic.d.ts +9 -0
- package/dist/domain/monetization/MonetizationDiagnostic.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationDiagnostic.js +2 -0
- package/dist/domain/monetization/MonetizationDiagnostic.js.map +1 -0
- package/dist/domain/monetization/MonetizationLocalization.d.ts +6 -0
- package/dist/domain/monetization/MonetizationLocalization.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationLocalization.js +2 -0
- package/dist/domain/monetization/MonetizationLocalization.js.map +1 -0
- package/dist/domain/monetization/MonetizationObservedProduct.d.ts +12 -0
- package/dist/domain/monetization/MonetizationObservedProduct.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationObservedProduct.js +2 -0
- package/dist/domain/monetization/MonetizationObservedProduct.js.map +1 -0
- package/dist/domain/monetization/MonetizationPlan.d.ts +10 -0
- package/dist/domain/monetization/MonetizationPlan.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationPlan.js +2 -0
- package/dist/domain/monetization/MonetizationPlan.js.map +1 -0
- package/dist/domain/monetization/MonetizationPlanStep.d.ts +7 -0
- package/dist/domain/monetization/MonetizationPlanStep.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationPlanStep.js +2 -0
- package/dist/domain/monetization/MonetizationPlanStep.js.map +1 -0
- package/dist/domain/monetization/MonetizationProduct.d.ts +12 -0
- package/dist/domain/monetization/MonetizationProduct.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationProduct.js +2 -0
- package/dist/domain/monetization/MonetizationProduct.js.map +1 -0
- package/dist/domain/monetization/MonetizationSubscription.d.ts +7 -0
- package/dist/domain/monetization/MonetizationSubscription.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationSubscription.js +2 -0
- package/dist/domain/monetization/MonetizationSubscription.js.map +1 -0
- package/dist/domain/monetization/MonetizationTargetState.d.ts +9 -0
- package/dist/domain/monetization/MonetizationTargetState.d.ts.map +1 -0
- package/dist/domain/monetization/MonetizationTargetState.js +2 -0
- package/dist/domain/monetization/MonetizationTargetState.js.map +1 -0
- package/dist/domain/monetization/createMonetizationCurrentRevision.d.ts +3 -0
- package/dist/domain/monetization/createMonetizationCurrentRevision.d.ts.map +1 -0
- package/dist/domain/monetization/createMonetizationCurrentRevision.js +13 -0
- package/dist/domain/monetization/createMonetizationCurrentRevision.js.map +1 -0
- package/dist/domain/monetization/createMonetizationPlan.d.ts +9 -0
- package/dist/domain/monetization/createMonetizationPlan.d.ts.map +1 -0
- package/dist/domain/monetization/createMonetizationPlan.js +94 -0
- package/dist/domain/monetization/createMonetizationPlan.js.map +1 -0
- package/dist/domain/release/ReleaseControlExecutionResult.d.ts +13 -0
- package/dist/domain/release/ReleaseControlExecutionResult.d.ts.map +1 -0
- package/dist/domain/release/ReleaseControlExecutionResult.js +2 -0
- package/dist/domain/release/ReleaseControlExecutionResult.js.map +1 -0
- package/dist/domain/release/ReleaseDesiredState.d.ts +11 -0
- package/dist/domain/release/ReleaseDesiredState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseDesiredState.js +2 -0
- package/dist/domain/release/ReleaseDesiredState.js.map +1 -0
- package/dist/domain/release/ReleaseDiagnostic.d.ts +8 -0
- package/dist/domain/release/ReleaseDiagnostic.d.ts.map +1 -0
- package/dist/domain/release/ReleaseDiagnostic.js +2 -0
- package/dist/domain/release/ReleaseDiagnostic.js.map +1 -0
- package/dist/domain/release/ReleaseExecutionState.d.ts +6 -0
- package/dist/domain/release/ReleaseExecutionState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseExecutionState.js +2 -0
- package/dist/domain/release/ReleaseExecutionState.js.map +1 -0
- package/dist/domain/release/ReleaseExecutionStep.d.ts +10 -0
- package/dist/domain/release/ReleaseExecutionStep.d.ts.map +1 -0
- package/dist/domain/release/ReleaseExecutionStep.js +2 -0
- package/dist/domain/release/ReleaseExecutionStep.js.map +1 -0
- package/dist/domain/release/ReleaseLifecycleControl.d.ts +8 -0
- package/dist/domain/release/ReleaseLifecycleControl.d.ts.map +1 -0
- package/dist/domain/release/ReleaseLifecycleControl.js +2 -0
- package/dist/domain/release/ReleaseLifecycleControl.js.map +1 -0
- package/dist/domain/release/ReleaseNote.d.ts +5 -0
- package/dist/domain/release/ReleaseNote.d.ts.map +1 -0
- package/dist/domain/release/ReleaseNote.js +2 -0
- package/dist/domain/release/ReleaseNote.js.map +1 -0
- package/dist/domain/release/ReleaseObservedAndroidState.d.ts +11 -0
- package/dist/domain/release/ReleaseObservedAndroidState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseObservedAndroidState.js +2 -0
- package/dist/domain/release/ReleaseObservedAndroidState.js.map +1 -0
- package/dist/domain/release/ReleaseObservedIosState.d.ts +13 -0
- package/dist/domain/release/ReleaseObservedIosState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseObservedIosState.js +2 -0
- package/dist/domain/release/ReleaseObservedIosState.js.map +1 -0
- package/dist/domain/release/ReleaseObservedState.d.ts +5 -0
- package/dist/domain/release/ReleaseObservedState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseObservedState.js +2 -0
- package/dist/domain/release/ReleaseObservedState.js.map +1 -0
- package/dist/domain/release/ReleaseObservedTargetState.d.ts +5 -0
- package/dist/domain/release/ReleaseObservedTargetState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseObservedTargetState.js +2 -0
- package/dist/domain/release/ReleaseObservedTargetState.js.map +1 -0
- package/dist/domain/release/ReleaseObservedWebState.d.ts +6 -0
- package/dist/domain/release/ReleaseObservedWebState.d.ts.map +1 -0
- package/dist/domain/release/ReleaseObservedWebState.js +2 -0
- package/dist/domain/release/ReleaseObservedWebState.js.map +1 -0
- package/dist/domain/release/ReleasePlan.d.ts +11 -0
- package/dist/domain/release/ReleasePlan.d.ts.map +1 -0
- package/dist/domain/release/ReleasePlan.js +2 -0
- package/dist/domain/release/ReleasePlan.js.map +1 -0
- package/dist/domain/release/ReleasePlanStatus.d.ts +2 -0
- package/dist/domain/release/ReleasePlanStatus.d.ts.map +1 -0
- package/dist/domain/release/ReleasePlanStatus.js +2 -0
- package/dist/domain/release/ReleasePlanStatus.js.map +1 -0
- package/dist/domain/release/ReleasePlanStep.d.ts +12 -0
- package/dist/domain/release/ReleasePlanStep.d.ts.map +1 -0
- package/dist/domain/release/ReleasePlanStep.js +2 -0
- package/dist/domain/release/ReleasePlanStep.js.map +1 -0
- package/dist/domain/release/ReleaseReconcileResult.d.ts +10 -0
- package/dist/domain/release/ReleaseReconcileResult.d.ts.map +1 -0
- package/dist/domain/release/ReleaseReconcileResult.js +2 -0
- package/dist/domain/release/ReleaseReconcileResult.js.map +1 -0
- package/dist/domain/release/ReleaseRollout.d.ts +7 -0
- package/dist/domain/release/ReleaseRollout.d.ts.map +1 -0
- package/dist/domain/release/ReleaseRollout.js +2 -0
- package/dist/domain/release/ReleaseRollout.js.map +1 -0
- package/dist/domain/release/ReleaseRolloutMode.d.ts +2 -0
- package/dist/domain/release/ReleaseRolloutMode.d.ts.map +1 -0
- package/dist/domain/release/ReleaseRolloutMode.js +2 -0
- package/dist/domain/release/ReleaseRolloutMode.js.map +1 -0
- package/dist/domain/release/ReleaseStepOperation.d.ts +2 -0
- package/dist/domain/release/ReleaseStepOperation.d.ts.map +1 -0
- package/dist/domain/release/ReleaseStepOperation.js +2 -0
- package/dist/domain/release/ReleaseStepOperation.js.map +1 -0
- package/dist/domain/release/ReleaseStepRetry.d.ts +2 -0
- package/dist/domain/release/ReleaseStepRetry.d.ts.map +1 -0
- package/dist/domain/release/ReleaseStepRetry.js +2 -0
- package/dist/domain/release/ReleaseStepRetry.js.map +1 -0
- package/dist/domain/release/ReleaseTarget.d.ts +2 -0
- package/dist/domain/release/ReleaseTarget.d.ts.map +1 -0
- package/dist/domain/release/ReleaseTarget.js +2 -0
- package/dist/domain/release/ReleaseTarget.js.map +1 -0
- package/dist/domain/release/ReleaseTargetPlanContribution.d.ts +10 -0
- package/dist/domain/release/ReleaseTargetPlanContribution.d.ts.map +1 -0
- package/dist/domain/release/ReleaseTargetPlanContribution.js +2 -0
- package/dist/domain/release/ReleaseTargetPlanContribution.js.map +1 -0
- package/dist/domain/release/ReleaseTargetRollout.d.ts +6 -0
- package/dist/domain/release/ReleaseTargetRollout.d.ts.map +1 -0
- package/dist/domain/release/ReleaseTargetRollout.js +2 -0
- package/dist/domain/release/ReleaseTargetRollout.js.map +1 -0
- package/dist/domain/release/areReleaseNotesSatisfied.d.ts +3 -0
- package/dist/domain/release/areReleaseNotesSatisfied.d.ts.map +1 -0
- package/dist/domain/release/areReleaseNotesSatisfied.js +4 -0
- package/dist/domain/release/areReleaseNotesSatisfied.js.map +1 -0
- package/dist/domain/release/createAndroidReleaseSteps.d.ts +5 -0
- package/dist/domain/release/createAndroidReleaseSteps.d.ts.map +1 -0
- package/dist/domain/release/createAndroidReleaseSteps.js +76 -0
- package/dist/domain/release/createAndroidReleaseSteps.js.map +1 -0
- package/dist/domain/release/createIosReleaseSteps.d.ts +5 -0
- package/dist/domain/release/createIosReleaseSteps.d.ts.map +1 -0
- package/dist/domain/release/createIosReleaseSteps.js +163 -0
- package/dist/domain/release/createIosReleaseSteps.js.map +1 -0
- package/dist/domain/release/createReleaseCurrentRevision.d.ts +4 -0
- package/dist/domain/release/createReleaseCurrentRevision.d.ts.map +1 -0
- package/dist/domain/release/createReleaseCurrentRevision.js +51 -0
- package/dist/domain/release/createReleaseCurrentRevision.js.map +1 -0
- package/dist/domain/release/createReleaseExecutionState.d.ts +4 -0
- package/dist/domain/release/createReleaseExecutionState.d.ts.map +1 -0
- package/dist/domain/release/createReleaseExecutionState.js +7 -0
- package/dist/domain/release/createReleaseExecutionState.js.map +1 -0
- package/dist/domain/release/createReleaseExecutionStateFromResult.d.ts +9 -0
- package/dist/domain/release/createReleaseExecutionStateFromResult.d.ts.map +1 -0
- package/dist/domain/release/createReleaseExecutionStateFromResult.js +21 -0
- package/dist/domain/release/createReleaseExecutionStateFromResult.js.map +1 -0
- package/dist/domain/release/createReleasePlan.d.ts +5 -0
- package/dist/domain/release/createReleasePlan.d.ts.map +1 -0
- package/dist/domain/release/createReleasePlan.js +89 -0
- package/dist/domain/release/createReleasePlan.js.map +1 -0
- package/dist/domain/release/createReleaseRevision.d.ts +10 -0
- package/dist/domain/release/createReleaseRevision.d.ts.map +1 -0
- package/dist/domain/release/createReleaseRevision.js +11 -0
- package/dist/domain/release/createReleaseRevision.js.map +1 -0
- package/dist/domain/release/createWebReleaseSteps.d.ts +5 -0
- package/dist/domain/release/createWebReleaseSteps.d.ts.map +1 -0
- package/dist/domain/release/createWebReleaseSteps.js +29 -0
- package/dist/domain/release/createWebReleaseSteps.js.map +1 -0
- package/dist/domain/release/isReleaseLifecycleControlReadbackSatisfied.d.ts +4 -0
- package/dist/domain/release/isReleaseLifecycleControlReadbackSatisfied.d.ts.map +1 -0
- package/dist/domain/release/isReleaseLifecycleControlReadbackSatisfied.js +10 -0
- package/dist/domain/release/isReleaseLifecycleControlReadbackSatisfied.js.map +1 -0
- package/dist/domain/release/isReleaseLifecycleControlSatisfied.d.ts +4 -0
- package/dist/domain/release/isReleaseLifecycleControlSatisfied.d.ts.map +1 -0
- package/dist/domain/release/isReleaseLifecycleControlSatisfied.js +24 -0
- package/dist/domain/release/isReleaseLifecycleControlSatisfied.js.map +1 -0
- package/dist/domain/release/isReleaseStepResumable.d.ts +3 -0
- package/dist/domain/release/isReleaseStepResumable.d.ts.map +1 -0
- package/dist/domain/release/isReleaseStepResumable.js +6 -0
- package/dist/domain/release/isReleaseStepResumable.js.map +1 -0
- package/dist/domain/release/listReleaseLifecycleControls.d.ts +4 -0
- package/dist/domain/release/listReleaseLifecycleControls.d.ts.map +1 -0
- package/dist/domain/release/listReleaseLifecycleControls.js +31 -0
- package/dist/domain/release/listReleaseLifecycleControls.js.map +1 -0
- package/dist/domain/release/normalizeReleaseFraction.d.ts +2 -0
- package/dist/domain/release/normalizeReleaseFraction.d.ts.map +1 -0
- package/dist/domain/release/normalizeReleaseFraction.js +7 -0
- package/dist/domain/release/normalizeReleaseFraction.js.map +1 -0
- package/dist/engine/release/ReleaseMutationResult.d.ts +10 -0
- package/dist/engine/release/ReleaseMutationResult.d.ts.map +1 -0
- package/dist/engine/release/ReleaseMutationResult.js +2 -0
- package/dist/engine/release/ReleaseMutationResult.js.map +1 -0
- package/dist/engine/release/executeReleaseLifecycleControl.d.ts +13 -0
- package/dist/engine/release/executeReleaseLifecycleControl.d.ts.map +1 -0
- package/dist/engine/release/executeReleaseLifecycleControl.js +43 -0
- package/dist/engine/release/executeReleaseLifecycleControl.js.map +1 -0
- package/dist/engine/release/executeReleasePlan.d.ts +16 -0
- package/dist/engine/release/executeReleasePlan.d.ts.map +1 -0
- package/dist/engine/release/executeReleasePlan.js +103 -0
- package/dist/engine/release/executeReleasePlan.js.map +1 -0
- package/dist/engine/release/resumeReleaseExecution.d.ts +16 -0
- package/dist/engine/release/resumeReleaseExecution.d.ts.map +1 -0
- package/dist/engine/release/resumeReleaseExecution.js +48 -0
- package/dist/engine/release/resumeReleaseExecution.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/project/index.d.ts +36 -0
- package/dist/project/index.d.ts.map +1 -1
- package/dist/project/index.js +14 -0
- package/dist/project/index.js.map +1 -1
- package/dist/project/io/assertContainedPath.d.ts.map +1 -1
- package/dist/project/io/assertContainedPath.js +4 -3
- package/dist/project/io/assertContainedPath.js.map +1 -1
- package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.d.ts +8 -0
- package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.d.ts.map +1 -0
- package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.js +2 -0
- package/dist/project/monetization/ExecuteProjectMonetizationSyncOptions.js.map +1 -0
- package/dist/project/monetization/InspectProjectMonetizationOptions.d.ts +5 -0
- package/dist/project/monetization/InspectProjectMonetizationOptions.d.ts.map +1 -0
- package/dist/project/monetization/InspectProjectMonetizationOptions.js +2 -0
- package/dist/project/monetization/InspectProjectMonetizationOptions.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationAccess.d.ts +7 -0
- package/dist/project/monetization/ProjectMonetizationAccess.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationAccess.js +2 -0
- package/dist/project/monetization/ProjectMonetizationAccess.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationExecutionResult.d.ts +16 -0
- package/dist/project/monetization/ProjectMonetizationExecutionResult.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationExecutionResult.js +2 -0
- package/dist/project/monetization/ProjectMonetizationExecutionResult.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationInspection.d.ts +13 -0
- package/dist/project/monetization/ProjectMonetizationInspection.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationInspection.js +2 -0
- package/dist/project/monetization/ProjectMonetizationInspection.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationInspectionResult.d.ts +10 -0
- package/dist/project/monetization/ProjectMonetizationInspectionResult.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationInspectionResult.js +2 -0
- package/dist/project/monetization/ProjectMonetizationInspectionResult.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationPlan.d.ts +6 -0
- package/dist/project/monetization/ProjectMonetizationPlan.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationPlan.js +2 -0
- package/dist/project/monetization/ProjectMonetizationPlan.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationRuntime.d.ts +12 -0
- package/dist/project/monetization/ProjectMonetizationRuntime.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationRuntime.js +2 -0
- package/dist/project/monetization/ProjectMonetizationRuntime.js.map +1 -0
- package/dist/project/monetization/ProjectMonetizationTargets.d.ts +5 -0
- package/dist/project/monetization/ProjectMonetizationTargets.d.ts.map +1 -0
- package/dist/project/monetization/ProjectMonetizationTargets.js +2 -0
- package/dist/project/monetization/ProjectMonetizationTargets.js.map +1 -0
- package/dist/project/monetization/ResolvedProjectMonetizationAccess.d.ts +7 -0
- package/dist/project/monetization/ResolvedProjectMonetizationAccess.d.ts.map +1 -0
- package/dist/project/monetization/ResolvedProjectMonetizationAccess.js +2 -0
- package/dist/project/monetization/ResolvedProjectMonetizationAccess.js.map +1 -0
- package/dist/project/monetization/areProjectMonetizationPlansEqual.d.ts +3 -0
- package/dist/project/monetization/areProjectMonetizationPlansEqual.d.ts.map +1 -0
- package/dist/project/monetization/areProjectMonetizationPlansEqual.js +4 -0
- package/dist/project/monetization/areProjectMonetizationPlansEqual.js.map +1 -0
- package/dist/project/monetization/createProjectMonetizationPlan.d.ts +4 -0
- package/dist/project/monetization/createProjectMonetizationPlan.d.ts.map +1 -0
- package/dist/project/monetization/createProjectMonetizationPlan.js +14 -0
- package/dist/project/monetization/createProjectMonetizationPlan.js.map +1 -0
- package/dist/project/monetization/createProjectMonetizationRevision.d.ts +3 -0
- package/dist/project/monetization/createProjectMonetizationRevision.d.ts.map +1 -0
- package/dist/project/monetization/createProjectMonetizationRevision.js +5 -0
- package/dist/project/monetization/createProjectMonetizationRevision.js.map +1 -0
- package/dist/project/monetization/defaultProjectMonetizationRuntime.d.ts +3 -0
- package/dist/project/monetization/defaultProjectMonetizationRuntime.d.ts.map +1 -0
- package/dist/project/monetization/defaultProjectMonetizationRuntime.js +12 -0
- package/dist/project/monetization/defaultProjectMonetizationRuntime.js.map +1 -0
- package/dist/project/monetization/executeProjectMonetizationSync.d.ts +4 -0
- package/dist/project/monetization/executeProjectMonetizationSync.d.ts.map +1 -0
- package/dist/project/monetization/executeProjectMonetizationSync.js +6 -0
- package/dist/project/monetization/executeProjectMonetizationSync.js.map +1 -0
- package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.d.ts +5 -0
- package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.d.ts.map +1 -0
- package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.js +63 -0
- package/dist/project/monetization/executeProjectMonetizationSyncWithRuntime.js.map +1 -0
- package/dist/project/monetization/executeProjectMonetizationTargets.d.ts +23 -0
- package/dist/project/monetization/executeProjectMonetizationTargets.d.ts.map +1 -0
- package/dist/project/monetization/executeProjectMonetizationTargets.js +66 -0
- package/dist/project/monetization/executeProjectMonetizationTargets.js.map +1 -0
- package/dist/project/monetization/inspectProjectMonetization.d.ts +4 -0
- package/dist/project/monetization/inspectProjectMonetization.d.ts.map +1 -0
- package/dist/project/monetization/inspectProjectMonetization.js +6 -0
- package/dist/project/monetization/inspectProjectMonetization.js.map +1 -0
- package/dist/project/monetization/inspectProjectMonetizationWithRuntime.d.ts +5 -0
- package/dist/project/monetization/inspectProjectMonetizationWithRuntime.d.ts.map +1 -0
- package/dist/project/monetization/inspectProjectMonetizationWithRuntime.js +78 -0
- package/dist/project/monetization/inspectProjectMonetizationWithRuntime.js.map +1 -0
- package/dist/project/monetization/parseProjectMonetization.d.ts +3 -0
- package/dist/project/monetization/parseProjectMonetization.d.ts.map +1 -0
- package/dist/project/monetization/parseProjectMonetization.js +127 -0
- package/dist/project/monetization/parseProjectMonetization.js.map +1 -0
- package/dist/project/monetization/readProjectMonetization.d.ts +5 -0
- package/dist/project/monetization/readProjectMonetization.d.ts.map +1 -0
- package/dist/project/monetization/readProjectMonetization.js +19 -0
- package/dist/project/monetization/readProjectMonetization.js.map +1 -0
- package/dist/project/monetization/resolveProjectMonetizationAccess.d.ts +4 -0
- package/dist/project/monetization/resolveProjectMonetizationAccess.d.ts.map +1 -0
- package/dist/project/monetization/resolveProjectMonetizationAccess.js +7 -0
- package/dist/project/monetization/resolveProjectMonetizationAccess.js.map +1 -0
- package/dist/project/monetization/resolveProjectMonetizationTargets.d.ts +13 -0
- package/dist/project/monetization/resolveProjectMonetizationTargets.d.ts.map +1 -0
- package/dist/project/monetization/resolveProjectMonetizationTargets.js +27 -0
- package/dist/project/monetization/resolveProjectMonetizationTargets.js.map +1 -0
- package/dist/project/release/ExecuteProjectReleaseControlOptions.d.ts +7 -0
- package/dist/project/release/ExecuteProjectReleaseControlOptions.d.ts.map +1 -0
- package/dist/project/release/ExecuteProjectReleaseControlOptions.js +2 -0
- package/dist/project/release/ExecuteProjectReleaseControlOptions.js.map +1 -0
- package/dist/project/release/ExecuteProjectReleaseOptions.d.ts +9 -0
- package/dist/project/release/ExecuteProjectReleaseOptions.d.ts.map +1 -0
- package/dist/project/release/ExecuteProjectReleaseOptions.js +2 -0
- package/dist/project/release/ExecuteProjectReleaseOptions.js.map +1 -0
- package/dist/project/release/InspectProjectReleaseOptions.d.ts +5 -0
- package/dist/project/release/InspectProjectReleaseOptions.d.ts.map +1 -0
- package/dist/project/release/InspectProjectReleaseOptions.js +2 -0
- package/dist/project/release/InspectProjectReleaseOptions.js.map +1 -0
- package/dist/project/release/ProjectReleaseAccess.d.ts +13 -0
- package/dist/project/release/ProjectReleaseAccess.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseAccess.js +2 -0
- package/dist/project/release/ProjectReleaseAccess.js.map +1 -0
- package/dist/project/release/ProjectReleaseAndroidContext.d.ts +6 -0
- package/dist/project/release/ProjectReleaseAndroidContext.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseAndroidContext.js +2 -0
- package/dist/project/release/ProjectReleaseAndroidContext.js.map +1 -0
- package/dist/project/release/ProjectReleaseExecution.d.ts +8 -0
- package/dist/project/release/ProjectReleaseExecution.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseExecution.js +2 -0
- package/dist/project/release/ProjectReleaseExecution.js.map +1 -0
- package/dist/project/release/ProjectReleaseExecutionResult.d.ts +10 -0
- package/dist/project/release/ProjectReleaseExecutionResult.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseExecutionResult.js +2 -0
- package/dist/project/release/ProjectReleaseExecutionResult.js.map +1 -0
- package/dist/project/release/ProjectReleaseInspection.d.ts +11 -0
- package/dist/project/release/ProjectReleaseInspection.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseInspection.js +2 -0
- package/dist/project/release/ProjectReleaseInspection.js.map +1 -0
- package/dist/project/release/ProjectReleaseInspectionResult.d.ts +10 -0
- package/dist/project/release/ProjectReleaseInspectionResult.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseInspectionResult.js +2 -0
- package/dist/project/release/ProjectReleaseInspectionResult.js.map +1 -0
- package/dist/project/release/ProjectReleaseIosContext.d.ts +4 -0
- package/dist/project/release/ProjectReleaseIosContext.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseIosContext.js +2 -0
- package/dist/project/release/ProjectReleaseIosContext.js.map +1 -0
- package/dist/project/release/ProjectReleaseMutationContext.d.ts +10 -0
- package/dist/project/release/ProjectReleaseMutationContext.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseMutationContext.js +2 -0
- package/dist/project/release/ProjectReleaseMutationContext.js.map +1 -0
- package/dist/project/release/ProjectReleaseObservedResult.d.ts +12 -0
- package/dist/project/release/ProjectReleaseObservedResult.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseObservedResult.js +2 -0
- package/dist/project/release/ProjectReleaseObservedResult.js.map +1 -0
- package/dist/project/release/ProjectReleasePublishTargetOptions.d.ts +10 -0
- package/dist/project/release/ProjectReleasePublishTargetOptions.d.ts.map +1 -0
- package/dist/project/release/ProjectReleasePublishTargetOptions.js +2 -0
- package/dist/project/release/ProjectReleasePublishTargetOptions.js.map +1 -0
- package/dist/project/release/ProjectReleaseRuntime.d.ts +26 -0
- package/dist/project/release/ProjectReleaseRuntime.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseRuntime.js +2 -0
- package/dist/project/release/ProjectReleaseRuntime.js.map +1 -0
- package/dist/project/release/ProjectReleaseTargetInspection.d.ts +12 -0
- package/dist/project/release/ProjectReleaseTargetInspection.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseTargetInspection.js +2 -0
- package/dist/project/release/ProjectReleaseTargetInspection.js.map +1 -0
- package/dist/project/release/ProjectReleaseTargets.d.ts +15 -0
- package/dist/project/release/ProjectReleaseTargets.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseTargets.js +2 -0
- package/dist/project/release/ProjectReleaseTargets.js.map +1 -0
- package/dist/project/release/ProjectReleaseWebContext.d.ts +5 -0
- package/dist/project/release/ProjectReleaseWebContext.d.ts.map +1 -0
- package/dist/project/release/ProjectReleaseWebContext.js +2 -0
- package/dist/project/release/ProjectReleaseWebContext.js.map +1 -0
- package/dist/project/release/ResolvedProjectReleaseAccess.d.ts +13 -0
- package/dist/project/release/ResolvedProjectReleaseAccess.d.ts.map +1 -0
- package/dist/project/release/ResolvedProjectReleaseAccess.js +2 -0
- package/dist/project/release/ResolvedProjectReleaseAccess.js.map +1 -0
- package/dist/project/release/ResumeProjectReleaseOptions.d.ts +7 -0
- package/dist/project/release/ResumeProjectReleaseOptions.d.ts.map +1 -0
- package/dist/project/release/ResumeProjectReleaseOptions.js +2 -0
- package/dist/project/release/ResumeProjectReleaseOptions.js.map +1 -0
- package/dist/project/release/areReleasePlansEqual.d.ts +3 -0
- package/dist/project/release/areReleasePlansEqual.d.ts.map +1 -0
- package/dist/project/release/areReleasePlansEqual.js +4 -0
- package/dist/project/release/areReleasePlansEqual.js.map +1 -0
- package/dist/project/release/createProjectReleasePlan.d.ts +4 -0
- package/dist/project/release/createProjectReleasePlan.d.ts.map +1 -0
- package/dist/project/release/createProjectReleasePlan.js +5 -0
- package/dist/project/release/createProjectReleasePlan.js.map +1 -0
- package/dist/project/release/defaultProjectReleaseRuntime.d.ts +3 -0
- package/dist/project/release/defaultProjectReleaseRuntime.d.ts.map +1 -0
- package/dist/project/release/defaultProjectReleaseRuntime.js +26 -0
- package/dist/project/release/defaultProjectReleaseRuntime.js.map +1 -0
- package/dist/project/release/executeProjectRelease.d.ts +4 -0
- package/dist/project/release/executeProjectRelease.d.ts.map +1 -0
- package/dist/project/release/executeProjectRelease.js +6 -0
- package/dist/project/release/executeProjectRelease.js.map +1 -0
- package/dist/project/release/executeProjectReleaseAndroidMutation.d.ts +10 -0
- package/dist/project/release/executeProjectReleaseAndroidMutation.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseAndroidMutation.js +42 -0
- package/dist/project/release/executeProjectReleaseAndroidMutation.js.map +1 -0
- package/dist/project/release/executeProjectReleaseControl.d.ts +4 -0
- package/dist/project/release/executeProjectReleaseControl.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseControl.js +6 -0
- package/dist/project/release/executeProjectReleaseControl.js.map +1 -0
- package/dist/project/release/executeProjectReleaseControlMutation.d.ts +12 -0
- package/dist/project/release/executeProjectReleaseControlMutation.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseControlMutation.js +81 -0
- package/dist/project/release/executeProjectReleaseControlMutation.js.map +1 -0
- package/dist/project/release/executeProjectReleaseControlWithRuntime.d.ts +5 -0
- package/dist/project/release/executeProjectReleaseControlWithRuntime.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseControlWithRuntime.js +37 -0
- package/dist/project/release/executeProjectReleaseControlWithRuntime.js.map +1 -0
- package/dist/project/release/executeProjectReleaseIosMutation.d.ts +10 -0
- package/dist/project/release/executeProjectReleaseIosMutation.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseIosMutation.js +34 -0
- package/dist/project/release/executeProjectReleaseIosMutation.js.map +1 -0
- package/dist/project/release/executeProjectReleaseMutation.d.ts +12 -0
- package/dist/project/release/executeProjectReleaseMutation.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseMutation.js +32 -0
- package/dist/project/release/executeProjectReleaseMutation.js.map +1 -0
- package/dist/project/release/executeProjectReleaseWithRuntime.d.ts +5 -0
- package/dist/project/release/executeProjectReleaseWithRuntime.d.ts.map +1 -0
- package/dist/project/release/executeProjectReleaseWithRuntime.js +64 -0
- package/dist/project/release/executeProjectReleaseWithRuntime.js.map +1 -0
- package/dist/project/release/findProjectReleaseTargetState.d.ts +5 -0
- package/dist/project/release/findProjectReleaseTargetState.d.ts.map +1 -0
- package/dist/project/release/findProjectReleaseTargetState.js +5 -0
- package/dist/project/release/findProjectReleaseTargetState.js.map +1 -0
- package/dist/project/release/inspectExpectedProjectReleaseObserved.d.ts +10 -0
- package/dist/project/release/inspectExpectedProjectReleaseObserved.d.ts.map +1 -0
- package/dist/project/release/inspectExpectedProjectReleaseObserved.js +9 -0
- package/dist/project/release/inspectExpectedProjectReleaseObserved.js.map +1 -0
- package/dist/project/release/inspectProjectRelease.d.ts +4 -0
- package/dist/project/release/inspectProjectRelease.d.ts.map +1 -0
- package/dist/project/release/inspectProjectRelease.js +6 -0
- package/dist/project/release/inspectProjectRelease.js.map +1 -0
- package/dist/project/release/inspectProjectReleaseAndroid.d.ts +13 -0
- package/dist/project/release/inspectProjectReleaseAndroid.d.ts.map +1 -0
- package/dist/project/release/inspectProjectReleaseAndroid.js +43 -0
- package/dist/project/release/inspectProjectReleaseAndroid.js.map +1 -0
- package/dist/project/release/inspectProjectReleaseIos.d.ts +13 -0
- package/dist/project/release/inspectProjectReleaseIos.d.ts.map +1 -0
- package/dist/project/release/inspectProjectReleaseIos.js +69 -0
- package/dist/project/release/inspectProjectReleaseIos.js.map +1 -0
- package/dist/project/release/inspectProjectReleaseObserved.d.ts +13 -0
- package/dist/project/release/inspectProjectReleaseObserved.d.ts.map +1 -0
- package/dist/project/release/inspectProjectReleaseObserved.js +36 -0
- package/dist/project/release/inspectProjectReleaseObserved.js.map +1 -0
- package/dist/project/release/inspectProjectReleaseWeb.d.ts +7 -0
- package/dist/project/release/inspectProjectReleaseWeb.d.ts.map +1 -0
- package/dist/project/release/inspectProjectReleaseWeb.js +12 -0
- package/dist/project/release/inspectProjectReleaseWeb.js.map +1 -0
- package/dist/project/release/inspectProjectReleaseWithRuntime.d.ts +5 -0
- package/dist/project/release/inspectProjectReleaseWithRuntime.d.ts.map +1 -0
- package/dist/project/release/inspectProjectReleaseWithRuntime.js +48 -0
- package/dist/project/release/inspectProjectReleaseWithRuntime.js.map +1 -0
- package/dist/project/release/mapDeploymentExecutionToReleaseMutation.d.ts +4 -0
- package/dist/project/release/mapDeploymentExecutionToReleaseMutation.d.ts.map +1 -0
- package/dist/project/release/mapDeploymentExecutionToReleaseMutation.js +12 -0
- package/dist/project/release/mapDeploymentExecutionToReleaseMutation.js.map +1 -0
- package/dist/project/release/parseProjectRelease.d.ts +11 -0
- package/dist/project/release/parseProjectRelease.d.ts.map +1 -0
- package/dist/project/release/parseProjectRelease.js +120 -0
- package/dist/project/release/parseProjectRelease.js.map +1 -0
- package/dist/project/release/publishProjectReleaseAndroid.d.ts +4 -0
- package/dist/project/release/publishProjectReleaseAndroid.d.ts.map +1 -0
- package/dist/project/release/publishProjectReleaseAndroid.js +36 -0
- package/dist/project/release/publishProjectReleaseAndroid.js.map +1 -0
- package/dist/project/release/publishProjectReleaseIos.d.ts +4 -0
- package/dist/project/release/publishProjectReleaseIos.d.ts.map +1 -0
- package/dist/project/release/publishProjectReleaseIos.js +32 -0
- package/dist/project/release/publishProjectReleaseIos.js.map +1 -0
- package/dist/project/release/publishProjectReleaseTarget.d.ts +10 -0
- package/dist/project/release/publishProjectReleaseTarget.d.ts.map +1 -0
- package/dist/project/release/publishProjectReleaseTarget.js +16 -0
- package/dist/project/release/publishProjectReleaseTarget.js.map +1 -0
- package/dist/project/release/publishProjectReleaseWeb.d.ts +4 -0
- package/dist/project/release/publishProjectReleaseWeb.d.ts.map +1 -0
- package/dist/project/release/publishProjectReleaseWeb.js +39 -0
- package/dist/project/release/publishProjectReleaseWeb.js.map +1 -0
- package/dist/project/release/readProjectRelease.d.ts +5 -0
- package/dist/project/release/readProjectRelease.d.ts.map +1 -0
- package/dist/project/release/readProjectRelease.js +13 -0
- package/dist/project/release/readProjectRelease.js.map +1 -0
- package/dist/project/release/readProjectReleaseAndroidArtifact.d.ts +11 -0
- package/dist/project/release/readProjectReleaseAndroidArtifact.d.ts.map +1 -0
- package/dist/project/release/readProjectReleaseAndroidArtifact.js +42 -0
- package/dist/project/release/readProjectReleaseAndroidArtifact.js.map +1 -0
- package/dist/project/release/readProjectReleaseIosArtifact.d.ts +12 -0
- package/dist/project/release/readProjectReleaseIosArtifact.d.ts.map +1 -0
- package/dist/project/release/readProjectReleaseIosArtifact.js +42 -0
- package/dist/project/release/readProjectReleaseIosArtifact.js.map +1 -0
- package/dist/project/release/recordProjectReleaseExecution.d.ts +13 -0
- package/dist/project/release/recordProjectReleaseExecution.d.ts.map +1 -0
- package/dist/project/release/recordProjectReleaseExecution.js +29 -0
- package/dist/project/release/recordProjectReleaseExecution.js.map +1 -0
- package/dist/project/release/resolveProjectReleaseAccess.d.ts +4 -0
- package/dist/project/release/resolveProjectReleaseAccess.d.ts.map +1 -0
- package/dist/project/release/resolveProjectReleaseAccess.js +10 -0
- package/dist/project/release/resolveProjectReleaseAccess.js.map +1 -0
- package/dist/project/release/resolveProjectReleaseMutationContext.d.ts +17 -0
- package/dist/project/release/resolveProjectReleaseMutationContext.d.ts.map +1 -0
- package/dist/project/release/resolveProjectReleaseMutationContext.js +36 -0
- package/dist/project/release/resolveProjectReleaseMutationContext.js.map +1 -0
- package/dist/project/release/resolveProjectReleaseTargets.d.ts +15 -0
- package/dist/project/release/resolveProjectReleaseTargets.d.ts.map +1 -0
- package/dist/project/release/resolveProjectReleaseTargets.js +77 -0
- package/dist/project/release/resolveProjectReleaseTargets.js.map +1 -0
- package/dist/project/release/resumeProjectRelease.d.ts +4 -0
- package/dist/project/release/resumeProjectRelease.d.ts.map +1 -0
- package/dist/project/release/resumeProjectRelease.js +6 -0
- package/dist/project/release/resumeProjectRelease.js.map +1 -0
- package/dist/project/release/resumeProjectReleaseWithRuntime.d.ts +5 -0
- package/dist/project/release/resumeProjectReleaseWithRuntime.d.ts.map +1 -0
- package/dist/project/release/resumeProjectReleaseWithRuntime.js +69 -0
- package/dist/project/release/resumeProjectReleaseWithRuntime.js.map +1 -0
- package/dist/project/releaseHistory/ProjectReleaseHistoryRecord.d.ts +14 -0
- package/dist/project/releaseHistory/ProjectReleaseHistoryRecord.d.ts.map +1 -0
- package/dist/project/releaseHistory/ProjectReleaseHistoryRecord.js +2 -0
- package/dist/project/releaseHistory/ProjectReleaseHistoryRecord.js.map +1 -0
- package/dist/project/releaseHistory/createProjectReleaseHistoryRecord.d.ts +12 -0
- package/dist/project/releaseHistory/createProjectReleaseHistoryRecord.d.ts.map +1 -0
- package/dist/project/releaseHistory/createProjectReleaseHistoryRecord.js +20 -0
- package/dist/project/releaseHistory/createProjectReleaseHistoryRecord.js.map +1 -0
- package/dist/project/releaseHistory/listProjectReleaseHistory.d.ts +5 -0
- package/dist/project/releaseHistory/listProjectReleaseHistory.d.ts.map +1 -0
- package/dist/project/releaseHistory/listProjectReleaseHistory.js +34 -0
- package/dist/project/releaseHistory/listProjectReleaseHistory.js.map +1 -0
- package/dist/project/releaseHistory/parseProjectReleaseHistoryRecord.d.ts +3 -0
- package/dist/project/releaseHistory/parseProjectReleaseHistoryRecord.d.ts.map +1 -0
- package/dist/project/releaseHistory/parseProjectReleaseHistoryRecord.js +56 -0
- package/dist/project/releaseHistory/parseProjectReleaseHistoryRecord.js.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryDesired.d.ts +3 -0
- package/dist/project/releaseHistory/parseReleaseHistoryDesired.d.ts.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryDesired.js +25 -0
- package/dist/project/releaseHistory/parseReleaseHistoryDesired.js.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryExecution.d.ts +3 -0
- package/dist/project/releaseHistory/parseReleaseHistoryExecution.d.ts.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryExecution.js +54 -0
- package/dist/project/releaseHistory/parseReleaseHistoryExecution.js.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlan.d.ts +3 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlan.d.ts.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlan.js +54 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlan.js.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlanStep.d.ts +3 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlanStep.d.ts.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlanStep.js +58 -0
- package/dist/project/releaseHistory/parseReleaseHistoryPlanStep.js.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryResult.d.ts +3 -0
- package/dist/project/releaseHistory/parseReleaseHistoryResult.d.ts.map +1 -0
- package/dist/project/releaseHistory/parseReleaseHistoryResult.js +62 -0
- package/dist/project/releaseHistory/parseReleaseHistoryResult.js.map +1 -0
- package/dist/project/releaseHistory/readProjectReleaseHistory.d.ts +6 -0
- package/dist/project/releaseHistory/readProjectReleaseHistory.d.ts.map +1 -0
- package/dist/project/releaseHistory/readProjectReleaseHistory.js +26 -0
- package/dist/project/releaseHistory/readProjectReleaseHistory.js.map +1 -0
- package/dist/project/releaseHistory/recordProjectReleaseHistory.d.ts +6 -0
- package/dist/project/releaseHistory/recordProjectReleaseHistory.d.ts.map +1 -0
- package/dist/project/releaseHistory/recordProjectReleaseHistory.js +41 -0
- package/dist/project/releaseHistory/recordProjectReleaseHistory.js.map +1 -0
- package/dist/project/web/executeProjectWebDeployment.js +1 -0
- package/dist/project/web/executeProjectWebDeployment.js.map +1 -1
- package/dist/project/web/readCurrentProjectWebProductionDeployment.d.ts +3 -0
- package/dist/project/web/readCurrentProjectWebProductionDeployment.d.ts.map +1 -0
- package/dist/project/web/readCurrentProjectWebProductionDeployment.js +24 -0
- package/dist/project/web/readCurrentProjectWebProductionDeployment.js.map +1 -0
- package/dist/project/web/recordProjectWebDeployment.d.ts +2 -0
- package/dist/project/web/recordProjectWebDeployment.d.ts.map +1 -1
- package/dist/project/web/recordProjectWebDeployment.js +5 -1
- package/dist/project/web/recordProjectWebDeployment.js.map +1 -1
- package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.d.ts +14 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationExecutionResult.js.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationResult.d.ts +14 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationResult.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationResult.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationResult.js.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.d.ts +32 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreMonetizationSnapshot.js.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreProductVersion.d.ts +7 -0
- package/dist/providers/appStoreConnect/AppStoreProductVersion.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreProductVersion.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreProductVersion.js.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseLocalizationResource.d.ts +6 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseLocalizationResource.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseLocalizationResource.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseLocalizationResource.js.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseSnapshot.d.ts +22 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseSnapshot.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseSnapshot.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreReleaseSnapshot.js.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.d.ts +5 -0
- package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.js +2 -0
- package/dist/providers/appStoreConnect/AppStoreResolvedPricePoint.js.map +1 -0
- package/dist/providers/appStoreConnect/appStoreMonetizationUrls.d.ts +25 -0
- package/dist/providers/appStoreConnect/appStoreMonetizationUrls.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/appStoreMonetizationUrls.js +67 -0
- package/dist/providers/appStoreConnect/appStoreMonetizationUrls.js.map +1 -0
- package/dist/providers/appStoreConnect/appStoreReleaseUrls.d.ts +13 -0
- package/dist/providers/appStoreConnect/appStoreReleaseUrls.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/appStoreReleaseUrls.js +57 -0
- package/dist/providers/appStoreConnect/appStoreReleaseUrls.js.map +1 -0
- package/dist/providers/appStoreConnect/cancelAppStoreReviewSubmission.d.ts +7 -0
- package/dist/providers/appStoreConnect/cancelAppStoreReviewSubmission.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/cancelAppStoreReviewSubmission.js +17 -0
- package/dist/providers/appStoreConnect/cancelAppStoreReviewSubmission.js.map +1 -0
- package/dist/providers/appStoreConnect/completeAppStorePhasedRelease.d.ts +7 -0
- package/dist/providers/appStoreConnect/completeAppStorePhasedRelease.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/completeAppStorePhasedRelease.js +17 -0
- package/dist/providers/appStoreConnect/completeAppStorePhasedRelease.js.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.d.ts +10 -0
- package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.js +67 -0
- package/dist/providers/appStoreConnect/createAppStoreMonetizationProduct.js.map +1 -0
- package/dist/providers/appStoreConnect/createAppStorePhasedRelease.d.ts +7 -0
- package/dist/providers/appStoreConnect/createAppStorePhasedRelease.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/createAppStorePhasedRelease.js +21 -0
- package/dist/providers/appStoreConnect/createAppStorePhasedRelease.js.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmission.d.ts +7 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmission.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmission.js +37 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmission.js.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmissionItem.d.ts +8 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmissionItem.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmissionItem.js +23 -0
- package/dist/providers/appStoreConnect/createAppStoreReviewSubmissionItem.js.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreVersionReleaseRequest.d.ts +7 -0
- package/dist/providers/appStoreConnect/createAppStoreVersionReleaseRequest.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/createAppStoreVersionReleaseRequest.js +20 -0
- package/dist/providers/appStoreConnect/createAppStoreVersionReleaseRequest.js.map +1 -0
- package/dist/providers/appStoreConnect/deleteAppStorePhasedRelease.d.ts +7 -0
- package/dist/providers/appStoreConnect/deleteAppStorePhasedRelease.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/deleteAppStorePhasedRelease.js +10 -0
- package/dist/providers/appStoreConnect/deleteAppStorePhasedRelease.js.map +1 -0
- package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.d.ts +8 -0
- package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.js +67 -0
- package/dist/providers/appStoreConnect/ensureAppStoreProductVersion.js.map +1 -0
- package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.d.ts +10 -0
- package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.js +78 -0
- package/dist/providers/appStoreConnect/ensureAppStoreSubscriptionFamily.js.map +1 -0
- package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.d.ts +19 -0
- package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.js +117 -0
- package/dist/providers/appStoreConnect/executeAppStoreMonetizationPlan.js.map +1 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseControl.d.ts +21 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseControl.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseControl.js +64 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseControl.js.map +1 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseMutation.d.ts +19 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseMutation.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseMutation.js +85 -0
- package/dist/providers/appStoreConnect/executeAppStoreReleaseMutation.js.map +1 -0
- package/dist/providers/appStoreConnect/inspectAppStoreMonetization.d.ts +16 -0
- package/dist/providers/appStoreConnect/inspectAppStoreMonetization.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/inspectAppStoreMonetization.js +53 -0
- package/dist/providers/appStoreConnect/inspectAppStoreMonetization.js.map +1 -0
- package/dist/providers/appStoreConnect/inspectAppStoreReleaseState.d.ts +28 -0
- package/dist/providers/appStoreConnect/inspectAppStoreReleaseState.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/inspectAppStoreReleaseState.js +153 -0
- package/dist/providers/appStoreConnect/inspectAppStoreReleaseState.js.map +1 -0
- package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.d.ts +3 -0
- package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.js +14 -0
- package/dist/providers/appStoreConnect/mapAppStoreSubscriptionPeriod.js.map +1 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.d.ts +5 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.js +65 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreMonetization.js.map +1 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreReleaseObservation.d.ts +11 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreReleaseObservation.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreReleaseObservation.js +28 -0
- package/dist/providers/appStoreConnect/normalizeAppStoreReleaseObservation.js.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStorePhasedRelease.d.ts +3 -0
- package/dist/providers/appStoreConnect/parseAppStorePhasedRelease.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStorePhasedRelease.js +42 -0
- package/dist/providers/appStoreConnect/parseAppStorePhasedRelease.js.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseLocalizations.d.ts +3 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseLocalizations.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseLocalizations.js +42 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseLocalizations.js.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseNotes.d.ts +3 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseNotes.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseNotes.js +44 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseNotes.js.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseVersion.d.ts +6 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseVersion.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseVersion.js +38 -0
- package/dist/providers/appStoreConnect/parseAppStoreReleaseVersion.js.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReviewSubmission.d.ts +3 -0
- package/dist/providers/appStoreConnect/parseAppStoreReviewSubmission.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/parseAppStoreReviewSubmission.js +49 -0
- package/dist/providers/appStoreConnect/parseAppStoreReviewSubmission.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreCollection.d.ts +11 -0
- package/dist/providers/appStoreConnect/readAppStoreCollection.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreCollection.js +43 -0
- package/dist/providers/appStoreConnect/readAppStoreCollection.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.d.ts +17 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.js +114 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationPrice.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.d.ts +11 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.js +210 -0
- package/dist/providers/appStoreConnect/readAppStoreMonetizationSnapshot.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreProductVersion.d.ts +9 -0
- package/dist/providers/appStoreConnect/readAppStoreProductVersion.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreProductVersion.js +56 -0
- package/dist/providers/appStoreConnect/readAppStoreProductVersion.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseJson.d.ts +10 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseJson.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseJson.js +18 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseJson.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseLocalizations.d.ts +8 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseLocalizations.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseLocalizations.js +18 -0
- package/dist/providers/appStoreConnect/readAppStoreReleaseLocalizations.js.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.d.ts +9 -0
- package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.js +44 -0
- package/dist/providers/appStoreConnect/readAppStoreVersionLocalizations.js.map +1 -0
- package/dist/providers/appStoreConnect/resolveAppStorePricePoint.d.ts +11 -0
- package/dist/providers/appStoreConnect/resolveAppStorePricePoint.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/resolveAppStorePricePoint.js +46 -0
- package/dist/providers/appStoreConnect/resolveAppStorePricePoint.js.map +1 -0
- package/dist/providers/appStoreConnect/submitAppStoreReviewSubmission.d.ts +7 -0
- package/dist/providers/appStoreConnect/submitAppStoreReviewSubmission.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/submitAppStoreReviewSubmission.js +17 -0
- package/dist/providers/appStoreConnect/submitAppStoreReviewSubmission.js.map +1 -0
- package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.d.ts +10 -0
- package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.js +80 -0
- package/dist/providers/appStoreConnect/syncAppStoreMonetizationLocalizations.js.map +1 -0
- package/dist/providers/appStoreConnect/syncAppStoreReleaseNotes.d.ts +9 -0
- package/dist/providers/appStoreConnect/syncAppStoreReleaseNotes.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/syncAppStoreReleaseNotes.js +57 -0
- package/dist/providers/appStoreConnect/syncAppStoreReleaseNotes.js.map +1 -0
- package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.d.ts +3 -0
- package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.js +15 -0
- package/dist/providers/appStoreConnect/toAppStoreSubscriptionPeriod.js.map +1 -0
- package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.d.ts +2 -0
- package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.js +255 -0
- package/dist/providers/appStoreConnect/toAppStoreTerritoryCode.js.map +1 -0
- package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.d.ts +11 -0
- package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.js +83 -0
- package/dist/providers/appStoreConnect/updateAppStoreMonetizationPrice.js.map +1 -0
- package/dist/providers/appStoreConnect/updateAppStorePhasedReleaseState.d.ts +8 -0
- package/dist/providers/appStoreConnect/updateAppStorePhasedReleaseState.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/updateAppStorePhasedReleaseState.js +17 -0
- package/dist/providers/appStoreConnect/updateAppStorePhasedReleaseState.js.map +1 -0
- package/dist/providers/appStoreConnect/updateAppStoreSubscription.d.ts +9 -0
- package/dist/providers/appStoreConnect/updateAppStoreSubscription.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/updateAppStoreSubscription.js +24 -0
- package/dist/providers/appStoreConnect/updateAppStoreSubscription.js.map +1 -0
- package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.d.ts +13 -0
- package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.d.ts.map +1 -0
- package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.js +94 -0
- package/dist/providers/appStoreConnect/writeAppStoreMonetizationProduct.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayEditableRelease.d.ts +9 -0
- package/dist/providers/googlePlay/GooglePlayEditableRelease.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayEditableRelease.js +2 -0
- package/dist/providers/googlePlay/GooglePlayEditableRelease.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayEditableTrack.d.ts +7 -0
- package/dist/providers/googlePlay/GooglePlayEditableTrack.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayEditableTrack.js +2 -0
- package/dist/providers/googlePlay/GooglePlayEditableTrack.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayMonetizationResult.d.ts +24 -0
- package/dist/providers/googlePlay/GooglePlayMonetizationResult.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayMonetizationResult.js +2 -0
- package/dist/providers/googlePlay/GooglePlayMonetizationResult.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayPriceConversion.d.ts +4 -0
- package/dist/providers/googlePlay/GooglePlayPriceConversion.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayPriceConversion.js +2 -0
- package/dist/providers/googlePlay/GooglePlayPriceConversion.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayReleaseSnapshot.d.ts +14 -0
- package/dist/providers/googlePlay/GooglePlayReleaseSnapshot.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayReleaseSnapshot.js +2 -0
- package/dist/providers/googlePlay/GooglePlayReleaseSnapshot.js.map +1 -0
- package/dist/providers/googlePlay/convertGooglePlayRegionPrices.d.ts +10 -0
- package/dist/providers/googlePlay/convertGooglePlayRegionPrices.d.ts.map +1 -0
- package/dist/providers/googlePlay/convertGooglePlayRegionPrices.js +32 -0
- package/dist/providers/googlePlay/convertGooglePlayRegionPrices.js.map +1 -0
- package/dist/providers/googlePlay/createGooglePlayTrackControlBody.d.ts +12 -0
- package/dist/providers/googlePlay/createGooglePlayTrackControlBody.d.ts.map +1 -0
- package/dist/providers/googlePlay/createGooglePlayTrackControlBody.js +24 -0
- package/dist/providers/googlePlay/createGooglePlayTrackControlBody.js.map +1 -0
- package/dist/providers/googlePlay/createGooglePlayTrackUpdateBody.d.ts +10 -0
- package/dist/providers/googlePlay/createGooglePlayTrackUpdateBody.d.ts.map +1 -0
- package/dist/providers/googlePlay/createGooglePlayTrackUpdateBody.js +49 -0
- package/dist/providers/googlePlay/createGooglePlayTrackUpdateBody.js.map +1 -0
- package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.d.ts +18 -0
- package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.d.ts.map +1 -0
- package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.js +97 -0
- package/dist/providers/googlePlay/executeGooglePlayMonetizationPlan.js.map +1 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseControl.d.ts +22 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseControl.d.ts.map +1 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseControl.js +34 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseControl.js.map +1 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseMutation.d.ts +20 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseMutation.d.ts.map +1 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseMutation.js +53 -0
- package/dist/providers/googlePlay/executeGooglePlayReleaseMutation.js.map +1 -0
- package/dist/providers/googlePlay/googlePlayMonetizationUrls.d.ts +11 -0
- package/dist/providers/googlePlay/googlePlayMonetizationUrls.d.ts.map +1 -0
- package/dist/providers/googlePlay/googlePlayMonetizationUrls.js +36 -0
- package/dist/providers/googlePlay/googlePlayMonetizationUrls.js.map +1 -0
- package/dist/providers/googlePlay/googlePlayReleaseUrls.d.ts +3 -0
- package/dist/providers/googlePlay/googlePlayReleaseUrls.d.ts.map +1 -0
- package/dist/providers/googlePlay/googlePlayReleaseUrls.js +7 -0
- package/dist/providers/googlePlay/googlePlayReleaseUrls.js.map +1 -0
- package/dist/providers/googlePlay/inspectGooglePlayMonetization.d.ts +15 -0
- package/dist/providers/googlePlay/inspectGooglePlayMonetization.d.ts.map +1 -0
- package/dist/providers/googlePlay/inspectGooglePlayMonetization.js +49 -0
- package/dist/providers/googlePlay/inspectGooglePlayMonetization.js.map +1 -0
- package/dist/providers/googlePlay/inspectGooglePlayReleaseState.d.ts +28 -0
- package/dist/providers/googlePlay/inspectGooglePlayReleaseState.d.ts.map +1 -0
- package/dist/providers/googlePlay/inspectGooglePlayReleaseState.js +109 -0
- package/dist/providers/googlePlay/inspectGooglePlayReleaseState.js.map +1 -0
- package/dist/providers/googlePlay/mergeGooglePlayReleaseNotes.d.ts +6 -0
- package/dist/providers/googlePlay/mergeGooglePlayReleaseNotes.d.ts.map +1 -0
- package/dist/providers/googlePlay/mergeGooglePlayReleaseNotes.js +11 -0
- package/dist/providers/googlePlay/mergeGooglePlayReleaseNotes.js.map +1 -0
- package/dist/providers/googlePlay/normalizeGooglePlayMonetization.d.ts +8 -0
- package/dist/providers/googlePlay/normalizeGooglePlayMonetization.d.ts.map +1 -0
- package/dist/providers/googlePlay/normalizeGooglePlayMonetization.js +169 -0
- package/dist/providers/googlePlay/normalizeGooglePlayMonetization.js.map +1 -0
- package/dist/providers/googlePlay/normalizeGooglePlayReleaseObservation.d.ts +11 -0
- package/dist/providers/googlePlay/normalizeGooglePlayReleaseObservation.d.ts.map +1 -0
- package/dist/providers/googlePlay/normalizeGooglePlayReleaseObservation.js +32 -0
- package/dist/providers/googlePlay/normalizeGooglePlayReleaseObservation.js.map +1 -0
- package/dist/providers/googlePlay/parseGooglePlayConfiguredTrack.d.ts +4 -0
- package/dist/providers/googlePlay/parseGooglePlayConfiguredTrack.d.ts.map +1 -0
- package/dist/providers/googlePlay/parseGooglePlayConfiguredTrack.js +99 -0
- package/dist/providers/googlePlay/parseGooglePlayConfiguredTrack.js.map +1 -0
- package/dist/providers/googlePlay/parseGooglePlayEditableTrack.d.ts +4 -0
- package/dist/providers/googlePlay/parseGooglePlayEditableTrack.d.ts.map +1 -0
- package/dist/providers/googlePlay/parseGooglePlayEditableTrack.js +88 -0
- package/dist/providers/googlePlay/parseGooglePlayEditableTrack.js.map +1 -0
- package/dist/providers/googlePlay/readGooglePlayMonetizationResources.d.ts +12 -0
- package/dist/providers/googlePlay/readGooglePlayMonetizationResources.d.ts.map +1 -0
- package/dist/providers/googlePlay/readGooglePlayMonetizationResources.js +62 -0
- package/dist/providers/googlePlay/readGooglePlayMonetizationResources.js.map +1 -0
- package/dist/providers/googlePlay/toGooglePlayMoney.d.ts +3 -0
- package/dist/providers/googlePlay/toGooglePlayMoney.d.ts.map +1 -0
- package/dist/providers/googlePlay/toGooglePlayMoney.js +11 -0
- package/dist/providers/googlePlay/toGooglePlayMoney.js.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.d.ts +10 -0
- package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.d.ts.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.js +121 -0
- package/dist/providers/googlePlay/updateGooglePlayMonetizationPrice.js.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseControlInEdit.d.ts +17 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseControlInEdit.d.ts.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseControlInEdit.js +36 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseControlInEdit.js.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseInEdit.d.ts +15 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseInEdit.d.ts.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseInEdit.js +37 -0
- package/dist/providers/googlePlay/updateGooglePlayReleaseInEdit.js.map +1 -0
- package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.d.ts +13 -0
- package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.d.ts.map +1 -0
- package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.js +127 -0
- package/dist/providers/googlePlay/writeGooglePlayMonetizationProduct.js.map +1 -0
- package/dist/providers/release/createWebReleaseObservation.d.ts +6 -0
- package/dist/providers/release/createWebReleaseObservation.d.ts.map +1 -0
- package/dist/providers/release/createWebReleaseObservation.js +8 -0
- package/dist/providers/release/createWebReleaseObservation.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const COMPLETE = 'COMPLETE';
|
|
2
|
+
export function parseAppStoreReviewSubmission(value, versionId) {
|
|
3
|
+
if (!isRecord(value) || !Array.isArray(value.data))
|
|
4
|
+
return undefined;
|
|
5
|
+
const matches = value.data
|
|
6
|
+
.map((item) => parseSubmission(item, versionId))
|
|
7
|
+
.filter((item) => item !== null);
|
|
8
|
+
const active = matches.filter((item) => item.state !== COMPLETE);
|
|
9
|
+
if (active.length > 1)
|
|
10
|
+
return undefined;
|
|
11
|
+
if (active.length === 1)
|
|
12
|
+
return active[0] ?? undefined;
|
|
13
|
+
const completed = matches.filter((item) => item.state === COMPLETE).sort(compareSubmissions);
|
|
14
|
+
return completed[0] ?? null;
|
|
15
|
+
}
|
|
16
|
+
function parseSubmission(value, versionId) {
|
|
17
|
+
if (!isRecord(value) || value.type !== 'reviewSubmissions' || !isNonEmptyString(value.id)) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
if (!isRecord(value.attributes) || !isNonEmptyString(value.attributes.state))
|
|
21
|
+
return null;
|
|
22
|
+
if (!referencesVersion(value, versionId))
|
|
23
|
+
return null;
|
|
24
|
+
return {
|
|
25
|
+
id: value.id,
|
|
26
|
+
state: value.attributes.state,
|
|
27
|
+
...(isNonEmptyString(value.attributes.submittedDate)
|
|
28
|
+
? { submittedDate: value.attributes.submittedDate }
|
|
29
|
+
: {}),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function referencesVersion(value, versionId) {
|
|
33
|
+
if (!isRecord(value.relationships) || !isRecord(value.relationships.appStoreVersionForReview)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const { data } = value.relationships.appStoreVersionForReview;
|
|
37
|
+
return isRecord(data) && data.type === 'appStoreVersions' && data.id === versionId;
|
|
38
|
+
}
|
|
39
|
+
function compareSubmissions(left, right) {
|
|
40
|
+
const date = (right.submittedDate ?? '').localeCompare(left.submittedDate ?? '');
|
|
41
|
+
return date !== 0 ? date : left.id.localeCompare(right.id);
|
|
42
|
+
}
|
|
43
|
+
function isRecord(value) {
|
|
44
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
45
|
+
}
|
|
46
|
+
function isNonEmptyString(value) {
|
|
47
|
+
return typeof value === 'string' && value.trim().length > 0;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=parseAppStoreReviewSubmission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseAppStoreReviewSubmission.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/parseAppStoreReviewSubmission.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AppStoreReleaseSnapshot } from './AppStoreReleaseSnapshot';\n\nconst COMPLETE = 'COMPLETE';\n\nexport function parseAppStoreReviewSubmission(\n value: unknown,\n versionId: string,\n): AppStoreReleaseSnapshot['reviewSubmission'] | undefined {\n if (!isRecord(value) || !Array.isArray(value.data)) return undefined;\n const matches = value.data\n .map((item) => parseSubmission(item, versionId))\n .filter((item): item is NonNullable<typeof item> => item !== null);\n const active = matches.filter((item) => item.state !== COMPLETE);\n if (active.length > 1) return undefined;\n if (active.length === 1) return active[0] ?? undefined;\n const completed = matches.filter((item) => item.state === COMPLETE).sort(compareSubmissions);\n return completed[0] ?? null;\n}\n\nfunction parseSubmission(\n value: unknown,\n versionId: string,\n): NonNullable<AppStoreReleaseSnapshot['reviewSubmission']> | null {\n if (!isRecord(value) || value.type !== 'reviewSubmissions' || !isNonEmptyString(value.id)) {\n return null;\n }\n if (!isRecord(value.attributes) || !isNonEmptyString(value.attributes.state)) return null;\n if (!referencesVersion(value, versionId)) return null;\n return {\n id: value.id,\n state: value.attributes.state,\n ...(isNonEmptyString(value.attributes.submittedDate)\n ? { submittedDate: value.attributes.submittedDate }\n : {}),\n };\n}\n\nfunction referencesVersion(value: Record<string, unknown>, versionId: string): boolean {\n if (!isRecord(value.relationships) || !isRecord(value.relationships.appStoreVersionForReview)) {\n return false;\n }\n const { data } = value.relationships.appStoreVersionForReview;\n return isRecord(data) && data.type === 'appStoreVersions' && data.id === versionId;\n}\n\nfunction compareSubmissions(\n left: NonNullable<AppStoreReleaseSnapshot['reviewSubmission']>,\n right: NonNullable<AppStoreReleaseSnapshot['reviewSubmission']>,\n): number {\n const date = (right.submittedDate ?? '').localeCompare(left.submittedDate ?? '');\n return date !== 0 ? date : left.id.localeCompare(right.id);\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,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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readAppStoreMonetizationSnapshot.js","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreMonetizationSnapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MonetizationDesiredState } from '../../domain/monetization/MonetizationDesiredState';\nimport type { MonetizationDiagnostic } from '../../domain/monetization/MonetizationDiagnostic';\nimport type { MonetizationProduct } from '../../domain/monetization/MonetizationProduct';\nimport type { AppStoreConnectTransport } from './AppStoreConnectTransport';\nimport { appStoreConnectAppsUrl } from './appStoreConnectUrls';\nimport type {\n AppStoreMonetizationFamilyResource,\n AppStoreMonetizationProductResource,\n AppStoreMonetizationSnapshot,\n} from './AppStoreMonetizationSnapshot';\nimport { appStoreMonetizationUrls } from './appStoreMonetizationUrls';\nimport { fromAppStoreSubscriptionPeriod } from './mapAppStoreSubscriptionPeriod';\nimport { parseAppStoreAppId } from './parseAppStoreAppId';\nimport { readAppStoreCollection } from './readAppStoreCollection';\nimport { readAppStoreJson } from './readAppStoreJson';\nimport { readAppStoreMonetizationPrice } from './readAppStoreMonetizationPrice';\nimport { readAppStoreProductVersion } from './readAppStoreProductVersion';\n\ninterface ReadProductResult {\n readonly products: readonly AppStoreMonetizationProductResource[];\n readonly diagnostics: readonly MonetizationDiagnostic[];\n}\n\nexport async function readAppStoreMonetizationSnapshot(options: {\n readonly bundleIdentifier: string;\n readonly desired: MonetizationDesiredState;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n readonly now: Date;\n}): Promise<AppStoreMonetizationSnapshot | null | 'app-required'> {\n const appId = await resolveAppId(options);\n if (appId === undefined) return null;\n if (appId === null) return 'app-required';\n const catalog = await readCatalog({ ...options, appId });\n if (catalog === null) return null;\n const families = parseFamilies(catalog.groups.data);\n if (families === null) return null;\n const products: AppStoreMonetizationProductResource[] = [];\n const diagnostics: MonetizationDiagnostic[] = [];\n for (const desired of options.desired.products) {\n const result = await readDesiredProduct({ ...options, desired, families, catalog });\n products.push(...result.products);\n diagnostics.push(...result.diagnostics);\n }\n return { appId, products, families, diagnostics };\n}\n\nasync function resolveAppId(\n options: Parameters<typeof readAppStoreMonetizationSnapshot>[0],\n): Promise<string | null | undefined> {\n const value = await readAppStoreJson({\n url: appStoreConnectAppsUrl(options.bundleIdentifier),\n token: options.token,\n request: options.request,\n });\n return value === null ? undefined : parseAppStoreAppId(value, options.bundleIdentifier);\n}\n\nasync function readCatalog(options: {\n readonly appId: string;\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n}): Promise<{\n iaps: { readonly data: readonly unknown[]; readonly included: readonly unknown[] };\n groups: { readonly data: readonly unknown[]; readonly included: readonly unknown[] };\n} | null> {\n const [iaps, groups] = await Promise.all([\n readAppStoreCollection({\n url: appStoreMonetizationUrls.inAppPurchases(options.appId),\n token: options.token,\n request: options.request,\n }),\n readAppStoreCollection({\n url: appStoreMonetizationUrls.subscriptionGroups(options.appId),\n token: options.token,\n request: options.request,\n }),\n ]);\n return iaps === null || groups === null ? null : { iaps, groups };\n}\n\nasync function readDesiredProduct(options: {\n readonly desired: MonetizationProduct;\n readonly families: readonly AppStoreMonetizationFamilyResource[];\n readonly catalog: {\n readonly iaps: { readonly data: readonly unknown[]; readonly included: readonly unknown[] };\n readonly groups: { readonly data: readonly unknown[]; readonly included: readonly unknown[] };\n };\n readonly token: string;\n readonly request: AppStoreConnectTransport;\n readonly now: Date;\n}): Promise<ReadProductResult> {\n const iap = findProduct(options.catalog.iaps.data, options.desired.id);\n const subscription = findProduct(options.catalog.groups.included, options.desired.id);\n if (iap !== undefined && subscription !== undefined) {\n return {\n products: [],\n diagnostics: [diagnostic(options.desired.id, 'APP_STORE_PRODUCT_ID_CONFLICT')],\n };\n }\n if (options.desired.kind === 'subscription') {\n if (iap !== undefined) return readIap(options, iap);\n return subscription === undefined ? empty() : readSubscription(options, subscription);\n }\n if (subscription !== undefined) return readSubscription(options, subscription);\n return iap === undefined ? empty() : readIap(options, iap);\n}\n\nasync function readIap(\n options: Parameters<typeof readDesiredProduct>[0],\n value: unknown,\n): Promise<ReadProductResult> {\n const base = parseIap(value);\n if (base === null) return invalid(options.desired.id);\n const version = await readAppStoreProductVersion({\n kind: 'iap',\n productId: base.resourceId,\n token: options.token,\n request: options.request,\n });\n if (version === null) return invalid(options.desired.id);\n return withPrice(options, base, version, 'iap');\n}\n\nasync function readSubscription(\n options: Parameters<typeof readDesiredProduct>[0],\n value: unknown,\n): Promise<ReadProductResult> {\n const base = parseSubscription(value, options.families);\n if (base === null) return invalid(options.desired.id);\n const version = await readAppStoreProductVersion({\n kind: 'subscription',\n productId: base.resourceId,\n token: options.token,\n request: options.request,\n });\n if (version === null) return invalid(options.desired.id);\n return withPrice(options, base, version, 'subscription');\n}\n\nasync function withPrice(\n options: Parameters<typeof readDesiredProduct>[0],\n base: Omit<AppStoreMonetizationProductResource, 'localizations' | 'basePriceMatches'>,\n version: Exclude<Awaited<ReturnType<typeof readAppStoreProductVersion>>, null>,\n kind: 'iap' | 'subscription',\n): Promise<ReadProductResult> {\n const price = await readAppStoreMonetizationPrice({\n kind,\n resourceId: base.resourceId,\n productId: options.desired.id,\n price: options.desired.basePrice,\n token: options.token,\n request: options.request,\n now: options.now,\n });\n return {\n products: [\n {\n ...base,\n localizations: version?.localizations ?? [],\n basePriceMatches: price.matches,\n ...(version === undefined\n ? {}\n : { versionId: version.resourceId, versionState: version.state }),\n },\n ],\n diagnostics: price.diagnostics,\n };\n}\n\nfunction parseIap(\n value: unknown,\n): Omit<AppStoreMonetizationProductResource, 'localizations' | 'basePriceMatches'> | null {\n if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes)) return null;\n const { productId } = value.attributes;\n const kind = mapIapKind(value.attributes.inAppPurchaseType);\n if (!isString(productId) || kind === null) return null;\n const state = isString(value.attributes.state) ? value.attributes.state : undefined;\n return { resourceId: value.id, productId, kind, ...(state === undefined ? {} : { state }) };\n}\n\nfunction parseSubscription(\n value: unknown,\n families: readonly AppStoreMonetizationFamilyResource[],\n): Omit<AppStoreMonetizationProductResource, 'localizations' | 'basePriceMatches'> | null {\n if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes)) return null;\n const { productId } = value.attributes;\n const period = fromAppStoreSubscriptionPeriod(value.attributes.subscriptionPeriod);\n const familyId = relationshipId(\n isRecord(value.relationships) ? value.relationships.group : undefined,\n );\n const family = families.find((item) => item.resourceId === familyId);\n if (!isString(productId) || period === null || family === undefined) return null;\n const level = isPositiveInteger(value.attributes.groupLevel)\n ? value.attributes.groupLevel\n : undefined;\n const state = isString(value.attributes.state) ? value.attributes.state : undefined;\n return {\n resourceId: value.id,\n productId,\n kind: 'subscription',\n family: family.referenceName,\n familyId: family.resourceId,\n period,\n ...(level === undefined ? {} : { level }),\n ...(state === undefined ? {} : { state }),\n };\n}\n\nfunction parseFamilies(\n values: readonly unknown[],\n): readonly AppStoreMonetizationFamilyResource[] | null {\n const result: AppStoreMonetizationFamilyResource[] = [];\n for (const value of values) {\n if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes)) return null;\n if (!isString(value.attributes.referenceName)) return null;\n result.push({ resourceId: value.id, referenceName: value.attributes.referenceName });\n }\n return result.sort((a, b) => a.referenceName.localeCompare(b.referenceName));\n}\n\nfunction findProduct(values: readonly unknown[], productId: string): unknown {\n return values.find(\n (value) =>\n isRecord(value) && isRecord(value.attributes) && value.attributes.productId === productId,\n );\n}\n\nfunction mapIapKind(value: unknown): 'consumable' | 'non-consumable' | null {\n if (value === 'CONSUMABLE') return 'consumable';\n if (value === 'NON_CONSUMABLE') return 'non-consumable';\n return null;\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 empty(): ReadProductResult {\n return { products: [], diagnostics: [] };\n}\n\nfunction invalid(productId: string): ReadProductResult {\n return {\n products: [],\n diagnostics: [diagnostic(productId, 'APP_STORE_PRODUCT_STATE_INVALID')],\n };\n}\n\nfunction diagnostic(productId: string, code: string): MonetizationDiagnostic {\n return {\n severity: 'error',\n code,\n message: `App Store monetization product ${productId} cannot be normalized safely.`,\n target: 'ios',\n productId,\n };\n}\n\nfunction isPositiveInteger(value: unknown): value is number {\n return typeof value === 'number' && Number.isSafeInteger(value) && value >= 1;\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,9 @@
|
|
|
1
|
+
import type { AppStoreConnectTransport } from './AppStoreConnectTransport';
|
|
2
|
+
import type { AppStoreProductVersion } from './AppStoreProductVersion';
|
|
3
|
+
export declare function readAppStoreProductVersion(options: {
|
|
4
|
+
readonly kind: 'iap' | 'subscription';
|
|
5
|
+
readonly productId: string;
|
|
6
|
+
readonly token: string;
|
|
7
|
+
readonly request: AppStoreConnectTransport;
|
|
8
|
+
}): Promise<AppStoreProductVersion | null | undefined>;
|
|
9
|
+
//# sourceMappingURL=readAppStoreProductVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readAppStoreProductVersion.d.ts","sourceRoot":"","sources":["../../../src/providers/appStoreConnect/readAppStoreProductVersion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAUvE,wBAAsB,0BAA0B,CAAC,OAAO,EAAE;IACxD,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;CAC5C,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC,CAmBrD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { appStoreMonetizationUrls } from './appStoreMonetizationUrls';
|
|
2
|
+
import { readAppStoreCollection } from './readAppStoreCollection';
|
|
3
|
+
import { readAppStoreVersionLocalizations } from './readAppStoreVersionLocalizations';
|
|
4
|
+
export async function readAppStoreProductVersion(options) {
|
|
5
|
+
const url = options.kind === 'iap'
|
|
6
|
+
? appStoreMonetizationUrls.iapVersions(options.productId)
|
|
7
|
+
: appStoreMonetizationUrls.subscriptionVersions(options.productId);
|
|
8
|
+
const page = await readAppStoreCollection({ ...options, url });
|
|
9
|
+
if (page === null)
|
|
10
|
+
return null;
|
|
11
|
+
const candidates = parseCandidates(page.data);
|
|
12
|
+
if (candidates === null)
|
|
13
|
+
return null;
|
|
14
|
+
const selected = selectCandidate(candidates);
|
|
15
|
+
if (selected === null)
|
|
16
|
+
return null;
|
|
17
|
+
if (selected === undefined)
|
|
18
|
+
return undefined;
|
|
19
|
+
const localizations = await readAppStoreVersionLocalizations({
|
|
20
|
+
...options,
|
|
21
|
+
versionId: selected.resourceId,
|
|
22
|
+
});
|
|
23
|
+
return localizations === null
|
|
24
|
+
? null
|
|
25
|
+
: { resourceId: selected.resourceId, state: selected.state, localizations };
|
|
26
|
+
}
|
|
27
|
+
function parseCandidates(values) {
|
|
28
|
+
const result = [];
|
|
29
|
+
for (const value of values) {
|
|
30
|
+
if (!isRecord(value) || !isString(value.id) || !isRecord(value.attributes))
|
|
31
|
+
return null;
|
|
32
|
+
const { version, state } = value.attributes;
|
|
33
|
+
if (!isPositiveInteger(version) || !isString(state))
|
|
34
|
+
return null;
|
|
35
|
+
result.push({ resourceId: value.id, version, state });
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
function selectCandidate(values) {
|
|
40
|
+
const drafts = values.filter((item) => item.state === 'PREPARE_FOR_SUBMISSION');
|
|
41
|
+
if (drafts.length === 1)
|
|
42
|
+
return drafts[0];
|
|
43
|
+
if (drafts.length > 1)
|
|
44
|
+
return null;
|
|
45
|
+
return values.slice().sort((a, b) => b.version - a.version)[0];
|
|
46
|
+
}
|
|
47
|
+
function isPositiveInteger(value) {
|
|
48
|
+
return typeof value === 'number' && Number.isSafeInteger(value) && value >= 1;
|
|
49
|
+
}
|
|
50
|
+
function isRecord(value) {
|
|
51
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
52
|
+
}
|
|
53
|
+
function isString(value) {
|
|
54
|
+
return typeof value === 'string';
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=readAppStoreProductVersion.js.map
|