UNPKG

@foxy.io/sdk

Version:

Universal SDK for a full server-side and a limited in-browser access to Foxy hAPI.

22 lines (21 loc) 761 B
import jsonata from 'jsonata'; /** * Returns allowed frequencies for given subscription and customer portal settings. * * @param opts Subscription and settings. */ export function* getAllowedFrequencies(opts) { const returnedFrequencies = []; for (const rule of opts.settings.subscriptions.allowFrequencyModification) { const isRuleApplicable = !!jsonata(rule.jsonataQuery).evaluate(opts.subscription); if (!isRuleApplicable) continue; for (const frequency of rule.values) { const isFrequencyUnique = !returnedFrequencies.includes(frequency); if (!isFrequencyUnique) continue; returnedFrequencies.push(frequency); yield frequency; } } }