/** * @flow * ITunesParameters representation wrapper */ import type DynamicLink from './DynamicLink'; import type { NativeITunesParameters } from './types'; export default class ITunesParameters { _affiliateToken: string | void; _campaignToken: string | void; _link: DynamicLink; _providerToken: string | void; constructor(link: DynamicLink) { this._link = link; } /** * * @param affiliateToken * @returns {DynamicLink} */ setAffiliateToken(affiliateToken: string): DynamicLink { this._affiliateToken = affiliateToken; return this._link; } /** * * @param campaignToken * @returns {DynamicLink} */ setCampaignToken(campaignToken: string): DynamicLink { this._campaignToken = campaignToken; return this._link; } /** * * @param providerToken * @returns {DynamicLink} */ setProviderToken(providerToken: string): DynamicLink { this._providerToken = providerToken; return this._link; } build(): NativeITunesParameters { return { affiliateToken: this._affiliateToken, campaignToken: this._campaignToken, providerToken: this._providerToken, }; } }