cleanup code

This commit is contained in:
pypy
2020-11-02 01:48:54 +09:00
parent 94bbd6c7d5
commit 705c7e22ad
4 changed files with 131 additions and 219 deletions

View File

@@ -1084,7 +1084,7 @@ window.configRepository = configRepository;
ref ref
}); });
} }
sharedRepository.set('current_user_status', ref.status); sharedRepository.setString('current_user_status', ref.status);
return ref; return ref;
}; };

View File

@@ -1,13 +1,14 @@
import sqlite from '../sqlite.js'; import sqlite from '../sqlite.js';
import sharedRepository from './shared.js'; import sharedRepository, { SharedRepository } from './shared.js';
var dirtyKeySet = new Set(); var dirtyKeySet = new Set();
async function init() { class ConfigRepository extends SharedRepository {
async init() {
try { try {
await sqlite.executeNonQuery('CREATE TABLE IF NOT EXISTS configs (`key` TEXT PRIMARY KEY, `value` TEXT)'); await sqlite.executeNonQuery('CREATE TABLE IF NOT EXISTS configs (`key` TEXT PRIMARY KEY, `value` TEXT)');
await sqlite.execute( await sqlite.execute(
(key, value) => sharedRepository.set(key, value), (key, value) => sharedRepository.setString(key, value),
'SELECT `key`, `value` FROM configs' 'SELECT `key`, `value` FROM configs'
); );
} catch (err) { } catch (err) {
@@ -16,6 +17,23 @@ async function init() {
syncLoop(); syncLoop();
} }
getString(key, defaultValue = null) {
key = transformKey(key);
return sharedRepository.getString(key, defaultValue);
}
setString(key, value) {
key = transformKey(key);
value = String(value);
sharedRepository.setString(key, value);
dirtyKeySet.add(key);
}
}
function transformKey(key) {
return `config:${String(key).toLowerCase()}`;
}
async function syncLoop() { async function syncLoop() {
if (dirtyKeySet.size > 0) { if (dirtyKeySet.size > 0) {
try { try {
@@ -41,109 +59,9 @@ async function syncLoop() {
setTimeout(syncLoop, 100); setTimeout(syncLoop, 100);
} }
function transformKey(key) { var self = new ConfigRepository();
return `config:${String(key).toLowerCase()}`;
}
function get(key, defaultValue = null) { export {
key = transformKey(key); self as default,
return sharedRepository.get(key, defaultValue); ConfigRepository
}
function set(key, value) {
key = transformKey(key);
value = String(value);
sharedRepository.set(key, value);
dirtyKeySet.add(key);
}
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 {
init,
get,
set,
getBool,
setBool,
getInt,
setInt,
getFloat,
setFloat,
getObject,
setObject,
getArray,
setArray
}; };

View File

@@ -1,10 +1,7 @@
// requires binding of SharedVariable // requires binding of SharedVariable
function transformKey(key) { class SharedRepository {
return String(key).toLowerCase(); getString(key, defaultValue = null) {
}
function get(key, defaultValue = null) {
key = transformKey(key); key = transformKey(key);
var value = SharedVariable.Get(key); var value = SharedVariable.Get(key);
if (value === undefined) { if (value === undefined) {
@@ -13,26 +10,26 @@ function get(key, defaultValue = null) {
return value; return value;
} }
function set(key, value) { setString(key, value) {
key = transformKey(key); key = transformKey(key);
value = String(value); value = String(value);
SharedVariable.Set(key, value); SharedVariable.Set(key, value);
} }
function getBool(key, defaultValue = null) { getBool(key, defaultValue = null) {
var value = get(key, null); var value = this.getString(key, null);
if (value === null) { if (value === null) {
return defaultValue; return defaultValue;
} }
return value === 'true'; return value === 'true';
} }
function setBool(key, value) { setBool(key, value) {
set(key, value ? 'true' : 'false'); this.setString(key, value ? 'true' : 'false');
} }
function getInt(key, defaultValue = null) { getInt(key, defaultValue = null) {
var value = get(key, null); var value = this.getString(key, null);
if (value === null) { if (value === null) {
return defaultValue; return defaultValue;
} }
@@ -43,12 +40,12 @@ function getInt(key, defaultValue = null) {
return value; return value;
} }
function setInt(key, value) { setInt(key, value) {
set(key, value); this.setString(key, value);
} }
function getFloat(key, defaultValue = null) { getFloat(key, defaultValue = null) {
var value = get(key, null); var value = this.getString(key, null);
if (value === null) { if (value === null) {
return defaultValue; return defaultValue;
} }
@@ -59,12 +56,12 @@ function getFloat(key, defaultValue = null) {
return value; return value;
} }
function setFloat(key, value) { setFloat(key, value) {
set(key, value); this.setString(key, value);
} }
function getObject(key, defaultValue = null) { getObject(key, defaultValue = null) {
var value = get(key, null); var value = this.getString(key, null);
if (value === null) { if (value === null) {
return defaultValue; return defaultValue;
} }
@@ -78,33 +75,30 @@ function getObject(key, defaultValue = null) {
return value; return value;
} }
function setObject(key, value) { setObject(key, value) {
set(key, JSON.stringify(value)); this.setString(key, JSON.stringify(value));
} }
function getArray(key, defaultValue = null) { getArray(key, defaultValue = null) {
var value = getObject(key, null); var value = this.getObject(key, null);
if (Array.isArray(value) === false) { if (Array.isArray(value) === false) {
return defaultValue; return defaultValue;
} }
return value; return value;
} }
function setArray(key, value) { setArray(key, value) {
setObject(key, value); this.setObject(key, value);
}
};
function transformKey(key) {
return String(key).toLowerCase();
} }
export default { var self = new SharedRepository();
get,
set, export {
getBool, self as default,
setBool, SharedRepository
getInt,
setInt,
getFloat,
setFloat,
getObject,
setObject,
getArray,
setArray
}; };

View File

@@ -615,7 +615,7 @@ window.configRepository = configRepository;
$app.methods.updateLoop = async function () { $app.methods.updateLoop = async function () {
try { try {
this.currentTime = new Date().toJSON(); this.currentTime = new Date().toJSON();
this.currentUserStatus = sharedRepository.get('current_user_status'); this.currentUserStatus = sharedRepository.getString('current_user_status');
if (configRepository.getBool('VRCX_hideDevicesFromFeed') === false) { if (configRepository.getBool('VRCX_hideDevicesFromFeed') === false) {
VRCX.GetVRDevices().then((devices) => { VRCX.GetVRDevices().then((devices) => {
devices.forEach((device) => { devices.forEach((device) => {