mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-16 21:33:51 +02:00
shared repository
This commit is contained in:
110
html/src/repository/shared.js
Normal file
110
html/src/repository/shared.js
Normal file
@@ -0,0 +1,110 @@
|
||||
// requires binding of SharedVariable
|
||||
|
||||
function transformKey(key) {
|
||||
return String(key).toLowerCase();
|
||||
}
|
||||
|
||||
function get(key, defaultValue = null) {
|
||||
key = transformKey(key);
|
||||
var value = SharedVariable.Get(key);
|
||||
if (value === undefined) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function set(key, value) {
|
||||
key = transformKey(key);
|
||||
value = String(value);
|
||||
SharedVariable.Set(key, value);
|
||||
}
|
||||
|
||||
function getBool(key, defaultValue = null) {
|
||||
var value = get(key, null);
|
||||
if (value === null) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value === 'true';
|
||||
}
|
||||
|
||||
function setBool(key, value) {
|
||||
set(key, value ? 'true' : 'false');
|
||||
}
|
||||
|
||||
function getInt(key, defaultValue = null) {
|
||||
var value = get(key, null);
|
||||
if (value === null) {
|
||||
return defaultValue;
|
||||
}
|
||||
value = parseInt(value, 10);
|
||||
if (isNaN(value) === true) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function setInt(key, value) {
|
||||
set(key, value);
|
||||
}
|
||||
|
||||
function getFloat(key, defaultValue = null) {
|
||||
var value = get(key, null);
|
||||
if (value === null) {
|
||||
return defaultValue;
|
||||
}
|
||||
value = parseFloat(value);
|
||||
if (isNaN(value) === true) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function setFloat(key, value) {
|
||||
set(key, value);
|
||||
}
|
||||
|
||||
function getObject(key, defaultValue = null) {
|
||||
var value = get(key, null);
|
||||
if (value === null) {
|
||||
return defaultValue;
|
||||
}
|
||||
try {
|
||||
value = JSON.parse(value);
|
||||
} catch (err) {
|
||||
}
|
||||
if (value !== Object(value)) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function setObject(key, value) {
|
||||
set(key, JSON.stringify(value));
|
||||
}
|
||||
|
||||
function getArray(key, defaultValue = null) {
|
||||
var value = getObject(key, null);
|
||||
if (Array.isArray(value) === false) {
|
||||
return defaultValue;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
function setArray(key, value) {
|
||||
setObject(key, value);
|
||||
}
|
||||
|
||||
export default {
|
||||
get,
|
||||
set,
|
||||
getBool,
|
||||
setBool,
|
||||
getInt,
|
||||
setInt,
|
||||
getFloat,
|
||||
setFloat,
|
||||
getObject,
|
||||
setObject,
|
||||
getArray,
|
||||
setArray
|
||||
};
|
||||
Reference in New Issue
Block a user