cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
62 lines (61 loc) • 1.75 kB
JavaScript
import { readNavigatorLanguages, readFeatures, readSettings, hasUrlParameter, localStorageSettings, readUrlSettings, fromEnv, parseString, parseNumber, parseBoolean } from "./utils/config.mjs";
/*
* vuensee
* @author Anders Evenrud <andersevenrud@gmail.com>
* @link https://github.com/andersevenrud/vuensee
* @license MIT
*/
const settingsMap = [
["language", parseString],
["messageTimeout", parseNumber],
["autoconnect", parseBoolean],
["bell", parseBoolean],
["sharedMode", parseBoolean],
["viewOnly", parseBoolean],
["clipToWindow", parseBoolean],
["scalingMode", parseString],
["quality", parseNumber],
["compression", parseNumber],
["reconnect", parseBoolean],
["reconnectDelay", parseNumber],
["dotCursor", parseBoolean],
["hostname", parseString],
["path", parseString],
["repeaterId", parseString],
["port", parseNumber],
["ssl", parseBoolean]
];
const featureMap = [
"localstorageSettings",
"urlSettings",
"viewportDragging",
"touchKeyboard",
"settings",
"clipboard",
"fullscreen",
"power",
"keys",
"panel"
];
const languageMap = {
nb: "no"
};
const localStorageBlacklist = ["password"];
const languages = readNavigatorLanguages(languageMap);
const features = readFeatures(featureMap);
const dotenvSettings = readSettings(settingsMap);
const localSettings = hasUrlParameter("_clear") ? localStorageSettings.clear() : localStorageSettings.load();
const urlSettings = features.urlSettings ? readUrlSettings(settingsMap) : {};
var config = {
title: fromEnv("title") || "SDA",
bell: "sounds/bell",
localStorageBlacklist,
features,
settings: {
language: languages[0],
...dotenvSettings,
...localSettings,
...urlSettings
}
};
export { config as default };