@launchdarkly/js-server-sdk-common
Version: 
LaunchDarkly Server SDK for JavaScript - common code
31 lines • 950 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
 * @internal
 */
function isExperiment(flag, reason) {
    if (reason) {
        // If the reason says we're in an experiment, we are. Otherwise, apply
        // the legacy rule exclusion logic.
        if (reason.inExperiment) {
            return true;
        }
        switch (reason.kind) {
            case 'RULE_MATCH': {
                const index = reason.ruleIndex;
                if (index !== undefined) {
                    const rules = flag.rules || [];
                    return index >= 0 && index < rules.length && !!rules[index].trackEvents;
                }
                break;
            }
            case 'FALLTHROUGH':
                return !!flag.trackEventsFallthrough;
            default:
            // No action needed.
        }
    }
    return false;
}
exports.default = isExperiment;
//# sourceMappingURL=isExperiment.js.map