How to create lowdb in TypeScript(main.ts) Angular

2019-08-10 12:31发布

问题:

Creating Lowdb in Javascript working fine, I have searched in net, couldn't find proper(as per beginner's understanding) solution.

creating lowdb using Js

const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
var customerpath = process.env.APPDATA+'/VEGFRUIT/Customer.json';
const cusadapter1 = new FileSync(customerpath)
const db = low(cusadapter1)
db.defaults({ customer: [{}]}).write();

how to convert above set of coding into Tyepscript?

回答1:

1) perform this command

npm install --save @types/lowdb

2) this brief example class shows how to use lowdb in a typescript way

import lowdb from "lowdb";
import { default as FileAsync } from "lowdb/adapters/FileAsync";

export class DbService {
    private db: lowdb.LowdbAsync<any>;

    constructor(){
        this.initDatabase();
    }

    private async initDatabase() {
        const adapter = new FileAsync("db.json");
        this.db = await lowdb(adapter);
    }

    private async SetSomeonesName(fullname: string): Promise<any> {
        await this.db.set("user.fullname", fullname).write();
    }
}