Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
constructor(path: string) {
// TODO: Maybe this check can be improved
if (path.length === 0) {
throw Error('Path cannot be empty!');
}
const file = new FileSync(path);
this.db = lowDb(file);
this.init();
}
import low from 'lowdb'
import LocalStorage from 'lowdb/adapters/LocalStorage'
import shortid from 'shortid'
import currencies from './data/currencies'
const adapter = new LocalStorage('db')
const db = low(adapter)
// Example default values
db.defaults({
holdings: [
{
id: shortid.generate(),
name: 'Example',
value: 20000.0,
hex_color: '#ffbf00',
currency_code: 'EUR'
},
{
id: shortid.generate(),
name: 'Bank account',
value: 50000.0,
hex_color: '#A52A2A',
mkdirp(path.resolve(__dirname, dir), err => {
if (err) {
logger.error(err);
reject(err);
return;
}
let source: string = options.source;
if (cluster.isWorker) {
source = path.resolve(__dirname, `${dir}/lowdb-${cluster.worker.id}.json`);
} else if (cluster.isMaster) {
source = path.resolve(__dirname, `${dir}/lowdb.json`);
}
const adapter = new FileSync(source);
const lowdb = low(adapter);
const authorId1 = shortid.generate();
const authorId2 = shortid.generate();
lowdb.defaults({ users: [], books: [] }).write();
lowdb.set('users', [{ id: authorId1, name: casual.name }, { id: authorId2, name: casual.name }]).write();
lowdb
.set('books', [
{ id: shortid.generate(), title: casual.title, authorId: authorId1 },
{ id: shortid.generate(), title: casual.title, authorId: authorId2 }
])
.write();
resolve({ lowdb, authorId1, authorId2 });
});
private initDbSync(filePath: string): lowdb.LowdbSync {
let adapter: lowdb.AdapterSync;
if (filePath) {
const parentDir = path.dirname(filePath);
mkdirp.sync(parentDir);
adapter = new FileSync(filePath);
} else {
adapter = new Memory('');
}
return lowdb(adapter);
}
}
vm.$onInit = () => {
var meta = configService.config.meta;
vm.selectedCategory = $routeParams.category || meta.active;
const db = low('db', {storage: localStorage});
db.object = vm.index;
vm.selectedPostsByCategory = db('categories').find({name: vm.selectedCategory}).posts;
vm.isIndex = vm.postContent ? false : true;
vm.newestPosts = vm.index.paginator.slice(0, configService.config.paginate);
vm.selectedTagsWithPosts = db('tags').filter(tag => meta.tags.indexOf(tag.name) > -1);
vm.showNav = _isMobile() ? false : true;
vm.showToc = false;
vm.toggleNav = () => {
vm.showNav = !vm.showNav;
vm.showToc = !vm.showToc;
};
private initDataStore(): void {
const settingAdapter = new FileSync(path.join(this.appDir, 'config/setting.json'))
const setting = low(settingAdapter)
this.$setting = setting
const postsAdapter = new FileSync(path.join(this.appDir, 'config/posts.json'))
const posts = low(postsAdapter)
this.$posts = posts
const themeAdapter = new FileSync(path.join(this.appDir, 'config/theme.json'))
const theme = low(themeAdapter)
this.$theme = theme
}
}
import low from 'lowdb';
import LocalStorage from 'lowdb/adapters/LocalStorage';
import Vue from 'vue';
const adapter = new LocalStorage('mikudb');
const db = low(adapter);
db.defaults({
id: '',
noticeId: false,
tool: {
star_history: {}
}
}).write();
Vue.prototype.$db = db;
export default db;