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
});
}
sharedRepository.set('current_user_status', ref.status);
sharedRepository.setString('current_user_status', ref.status);
return ref;
};

View File

@@ -1,19 +1,37 @@
import sqlite from '../sqlite.js';
import sharedRepository from './shared.js';
import sharedRepository, { SharedRepository } from './shared.js';
var dirtyKeySet = new Set();
async function init() {
try {
await sqlite.executeNonQuery('CREATE TABLE IF NOT EXISTS configs (`key` TEXT PRIMARY KEY, `value` TEXT)');
await sqlite.execute(
(key, value) => sharedRepository.set(key, value),
'SELECT `key`, `value` FROM configs'
);
} catch (err) {
console.error(err);
class ConfigRepository extends SharedRepository {
async init() {
try {
await sqlite.executeNonQuery('CREATE TABLE IF NOT EXISTS configs (`key` TEXT PRIMARY KEY, `value` TEXT)');
await sqlite.execute(
(key, value) => sharedRepository.setString(key, value),
'SELECT `key`, `value` FROM configs'
);
} 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() {
@@ -41,109 +59,9 @@ async function syncLoop() {
setTimeout(syncLoop, 100);
}
function transformKey(key) {
return `config:${String(key).toLowerCase()}`;
}
var self = new ConfigRepository();
function get(key, defaultValue = null) {
key = transformKey(key);
return sharedRepository.get(key, defaultValue);
}
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
export {
self as default,
ConfigRepository
};

View File

@@ -1,110 +1,104 @@
// 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) {
return String(key).toLowerCase();
}
function get(key, defaultValue = null) {
key = transformKey(key);
var value = SharedVariable.Get(key);
if (value === undefined) {
return defaultValue;
}
return value;
}
var self = new SharedRepository();
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
export {
self as default,
SharedRepository
};

View File

@@ -615,7 +615,7 @@ window.configRepository = configRepository;
$app.methods.updateLoop = async function () {
try {
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) {
VRCX.GetVRDevices().then((devices) => {
devices.forEach((device) => {