UNPKG

@foxy.io/sdk

Version:

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

29 lines (28 loc) 1.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllowedFrequencies = void 0; const jsonata_1 = __importDefault(require("jsonata")); /** * Returns allowed frequencies for given subscription and customer portal settings. * * @param opts Subscription and settings. */ function* getAllowedFrequencies(opts) { const returnedFrequencies = []; for (const rule of opts.settings.subscriptions.allowFrequencyModification) { const isRuleApplicable = !!jsonata_1.default(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; } } } exports.getAllowedFrequencies = getAllowedFrequencies;