onnxruntime/js/common/lib/env-impl.ts
Yulong Wang 204111a79e
[js/webgpu] support proxy for webgpu (#15851)
### Description
[js/webgpu] support proxy for webgpu. fixes #15832
2023-05-15 16:23:13 -07:00

30 lines
883 B
TypeScript

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import {Env} from './env';
type LogLevelType = Env['logLevel'];
let logLevelValue: Required<LogLevelType> = 'warning';
export const env: Env = {
wasm: {} as Env.WebAssemblyFlags,
webgl: {} as Env.WebGLFlags,
webgpu: {} as Env.WebGpuFlags,
set logLevel(value: LogLevelType) {
if (value === undefined) {
return;
}
if (typeof value !== 'string' || ['verbose', 'info', 'warning', 'error', 'fatal'].indexOf(value) === -1) {
throw new Error(`Unsupported logging level: ${value}`);
}
logLevelValue = value;
},
get logLevel(): Required<LogLevelType> {
return logLevelValue;
},
};
// set property 'logLevel' so that they can be correctly transferred to worker by `postMessage()`.
Object.defineProperty(env, 'logLevel', {enumerable: true});