/**
|
* @license
|
* Copyright 2017 Google LLC. All Rights Reserved.
|
* 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.
|
* =============================================================================
|
*/
|
/// <amd-module name="@tensorflow/tfjs-core/dist/environment" />
|
import { Platform } from './platforms/platform';
|
type FlagValue = number | boolean | string;
|
type FlagEvaluationFn = (() => FlagValue) | (() => Promise<FlagValue>);
|
export type Flags = {
|
[featureName: string]: FlagValue;
|
};
|
export type FlagRegistryEntry = {
|
evaluationFn: FlagEvaluationFn;
|
setHook?: (value: FlagValue) => void;
|
};
|
/**
|
* The environment contains evaluated flags as well as the registered platform.
|
* This is always used as a global singleton and can be retrieved with
|
* `tf.env()`.
|
*
|
* @doc {heading: 'Environment'}
|
*/
|
export declare class Environment {
|
global: any;
|
private flags;
|
private flagRegistry;
|
private urlFlags;
|
platformName: string;
|
platform: Platform;
|
getQueryParams: typeof getQueryParams;
|
constructor(global: any);
|
setPlatform(platformName: string, platform: Platform): void;
|
registerFlag(flagName: string, evaluationFn: FlagEvaluationFn, setHook?: (value: FlagValue) => void): void;
|
getAsync(flagName: string): Promise<FlagValue>;
|
get(flagName: string): FlagValue;
|
getNumber(flagName: string): number;
|
getBool(flagName: string): boolean;
|
getString(flagName: string): string;
|
getFlags(): Flags;
|
get features(): Flags;
|
set(flagName: string, value: FlagValue): void;
|
private evaluateFlag;
|
setFlags(flags: Flags): void;
|
reset(): void;
|
private populateURLFlags;
|
}
|
export declare function getQueryParams(queryString: string): {
|
[key: string]: string;
|
};
|
/**
|
* Returns the current environment (a global singleton).
|
*
|
* The environment object contains the evaluated feature values as well as the
|
* active platform.
|
*
|
* @doc {heading: 'Environment'}
|
*/
|
export declare function env(): Environment;
|
export declare let ENV: Environment;
|
export declare function setEnvironmentGlobal(environment: Environment): void;
|
export {};
|