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,19 +1,37 @@
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 {
try { async init() {
await sqlite.executeNonQuery('CREATE TABLE IF NOT EXISTS configs (`key` TEXT PRIMARY KEY, `value` TEXT)'); try {
await sqlite.execute( await sqlite.executeNonQuery('CREATE TABLE IF NOT EXISTS configs (`key` TEXT PRIMARY KEY, `value` TEXT)');
(key, value) => sharedRepository.set(key, value), await sqlite.execute(
'SELECT `key`, `value` FROM configs' (key, value) => sharedRepository.setString(key, value),
); 'SELECT `key`, `value` FROM configs'
} catch (err) { );
console.error(err); } catch (err) {
console.error(err);
}
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() {
@@ -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,110 +1,104 @@
// requires binding of SharedVariable // requires binding of SharedVariable
class SharedRepository {
getString(key, defaultValue = null) {
key = transformKey(key);
var value = SharedVariable.Get(key);
if (value === undefined) {
return defaultValue;
}
return value;
}
setString(key, value) {
key = transformKey(key);
value = String(value);
SharedVariable.Set(key, value);
}
getBool(key, defaultValue = null) {
var value = this.getString(key, null);
if (value === null) {
return defaultValue;
}
return value === 'true';
}
setBool(key, value) {
this.setString(key, value ? 'true' : 'false');
}
getInt(key, defaultValue = null) {
var value = this.getString(key, null);
if (value === null) {
return defaultValue;
}
value = parseInt(value, 10);
if (isNaN(value) === true) {
return defaultValue;
}
return value;
}
setInt(key, value) {
this.setString(key, value);
}
getFloat(key, defaultValue = null) {
var value = this.getString(key, null);
if (value === null) {
return defaultValue;
}
value = parseFloat(value);
if (isNaN(value) === true) {
return defaultValue;
}
return value;
}
setFloat(key, value) {
this.setString(key, value);
}
getObject(key, defaultValue = null) {
var value = this.getString(key, null);
if (value === null) {
return defaultValue;
}
try {
value = JSON.parse(value);
} catch (err) {
}
if (value !== Object(value)) {
return defaultValue;
}
return value;
}
setObject(key, value) {
this.setString(key, JSON.stringify(value));
}
getArray(key, defaultValue = null) {
var value = this.getObject(key, null);
if (Array.isArray(value) === false) {
return defaultValue;
}
return value;
}
setArray(key, value) {
this.setObject(key, value);
}
};
function transformKey(key) { function transformKey(key) {
return String(key).toLowerCase(); return String(key).toLowerCase();
} }
function get(key, defaultValue = null) { var self = new SharedRepository();
key = transformKey(key);
var value = SharedVariable.Get(key);
if (value === undefined) {
return defaultValue;
}
return value;
}
function set(key, value) { export {
key = transformKey(key); self as default,
value = String(value); SharedRepository
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
}; };

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) => {