UNPKG

@optimizely/optimizely-sdk

Version:

JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts

35 lines (34 loc) 2.45 kB
/**************************************************************************** * Copyright 2018, 2021, Optimizely, Inc. and contributors * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * ***************************************************************************/ import { Platform } from '../../platform_support'; export declare const DEFAULT_OPERATOR_TYPES: string[]; export type ConditionTree<Leaf> = Leaf | unknown[]; type LeafEvaluator<Leaf> = (leaf: Leaf) => boolean | null; /** * Top level method to evaluate conditions * @param {ConditionTree<Leaf>} conditions Nested array of and/or conditions, or a single leaf * condition value of any type * Example: ['and', '0', ['or', '1', '2']] * @param {LeafEvaluator<Leaf>} leafEvaluator Function which will be called to evaluate leaf condition * values * @return {?boolean} Result of evaluating the conditions using the operator * rules and the leaf evaluator. A return value of null * indicates that the conditions are invalid or unable to be * evaluated. */ export declare function evaluate<Leaf>(conditions: ConditionTree<Leaf>, leafEvaluator: LeafEvaluator<Leaf>): boolean | null; export declare const __platforms: Platform[]; export {};