59 lines
2.9 KiB
JavaScript
59 lines
2.9 KiB
JavaScript
"use strict";
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.setRunOptions = void 0;
|
|
const options_utils_1 = require("./options-utils");
|
|
const string_utils_1 = require("./string-utils");
|
|
const wasm_factory_1 = require("./wasm-factory");
|
|
const setRunOptions = (options) => {
|
|
const wasm = (0, wasm_factory_1.getInstance)();
|
|
let runOptionsHandle = 0;
|
|
const allocs = [];
|
|
const runOptions = options || {};
|
|
try {
|
|
if ((options === null || options === void 0 ? void 0 : options.logSeverityLevel) === undefined) {
|
|
runOptions.logSeverityLevel = 2; // Default to warning
|
|
}
|
|
else if (typeof options.logSeverityLevel !== 'number' || !Number.isInteger(options.logSeverityLevel) ||
|
|
options.logSeverityLevel < 0 || options.logSeverityLevel > 4) {
|
|
throw new Error(`log serverity level is not valid: ${options.logSeverityLevel}`);
|
|
}
|
|
if ((options === null || options === void 0 ? void 0 : options.logVerbosityLevel) === undefined) {
|
|
runOptions.logVerbosityLevel = 0; // Default to 0
|
|
}
|
|
else if (typeof options.logVerbosityLevel !== 'number' || !Number.isInteger(options.logVerbosityLevel)) {
|
|
throw new Error(`log verbosity level is not valid: ${options.logVerbosityLevel}`);
|
|
}
|
|
if ((options === null || options === void 0 ? void 0 : options.terminate) === undefined) {
|
|
runOptions.terminate = false;
|
|
}
|
|
let tagDataOffset = 0;
|
|
if ((options === null || options === void 0 ? void 0 : options.tag) !== undefined) {
|
|
tagDataOffset = (0, string_utils_1.allocWasmString)(options.tag, allocs);
|
|
}
|
|
runOptionsHandle = wasm._OrtCreateRunOptions(runOptions.logSeverityLevel, runOptions.logVerbosityLevel, !!runOptions.terminate, tagDataOffset);
|
|
if (runOptionsHandle === 0) {
|
|
throw new Error('Can\'t create run options');
|
|
}
|
|
if ((options === null || options === void 0 ? void 0 : options.extra) !== undefined) {
|
|
(0, options_utils_1.iterateExtraOptions)(options.extra, '', new WeakSet(), (key, value) => {
|
|
const keyDataOffset = (0, string_utils_1.allocWasmString)(key, allocs);
|
|
const valueDataOffset = (0, string_utils_1.allocWasmString)(value, allocs);
|
|
if (wasm._OrtAddRunConfigEntry(runOptionsHandle, keyDataOffset, valueDataOffset) !== 0) {
|
|
throw new Error(`Can't set a run config entry: ${key} - ${value}`);
|
|
}
|
|
});
|
|
}
|
|
return [runOptionsHandle, allocs];
|
|
}
|
|
catch (e) {
|
|
if (runOptionsHandle !== 0) {
|
|
wasm._OrtReleaseRunOptions(runOptionsHandle);
|
|
}
|
|
allocs.forEach(wasm._free);
|
|
throw e;
|
|
}
|
|
};
|
|
exports.setRunOptions = setRunOptions;
|
|
//# sourceMappingURL=run-options.js.map
|