本文整理汇总了TypeScript中lowdb类的典型用法代码示例。如果您正苦于以下问题:TypeScript lowdb类的具体用法?TypeScript lowdb怎么用?TypeScript lowdb使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了lowdb类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: low
import * as low from "lowdb";
import * as lowfp from "lowdb/lib/fp";
import * as Base from "lowdb/adapters/Base";
import * as FileSync from "lowdb/adapters/FileSync";
import * as FileAsync from "lowdb/adapters/FileAsync";
import * as LocalStorage from "lowdb/adapters/LocalStorage";
import { find, filter, random, concat, sortBy, take, set } from "lodash/fp";
const adapterSync = new FileSync<DbSchema>("db.json");
const adapterAsync = new FileAsync<DbSchema>("db.json");
const db = low(adapterSync);
const write: DbSchema = db.defaults({ posts: [] }).write();
const result: ArrayLike<Post> = db
.get("posts")
.push({ title: "hello", views: 123 })
.value();
// $ExpectType Post
db.get("posts")
.find({ id: 123 })
.value();
// $ExpectType Post & Promise<Post>
db.get("posts")
.find({ id: 123 })
.write();
low(adapterAsync).then(dbAsync => {
const writeAction: Promise<Post> = dbAsync
.get("posts")
示例2: getNotifications
import {Notification} from "./Notifications";
import * as low from 'lowdb';
import * as FileSync from 'lowdb/adapters/FileSync';
import * as shortid from 'shortid';
const adapter = new FileSync('houstonDb.json');
const db:any = low(adapter);
db.defaults({notifications: [], holidays: []}).write();
export function getNotifications(): Notification[] {
return db.get('notifications').value();
}
export function getNotificationById(id:String): Notification[] {
return db.get('notifications').getById(id);
}
export function addNotification(notification: Notification): void {
db.get('notifications').push({...notification, id: shortid.generate()}).write();
}
export function removeNotification(id:String): void {
db.get('notifications').remove({id}).write();
}
示例3: FileSync
async () => {
const adapterSync: low.AdapterSync<ExampleSchema> = new FileSync("db.json", {
defaultValue: {
posts: [{ name: "baz" }]
}
});
const adapterAsync: low.AdapterAsync<ExampleSchema> = new FileAsync(
"db.json",
{
defaultValue: {
posts: [{ name: "baz" }]
}
}
);
const dbSync = low(adapterSync);
const dbAsync = await low(adapterAsync);
// $ExpectType LowdbSync<ExampleSchema>
dbSync;
// $ExpectType LowdbAsync<ExampleSchema>
dbAsync;
const xSync: ExampleSchema = dbSync
.defaults({ posts: [{ name: "baz" }] })
.write();
const xAsync: Promise<ExampleSchema> = dbAsync
.defaults({ posts: [{ name: "baz" }] })
.write();
const result: ArrayLike<{ name: string }> & Promise<ArrayLike<{ name: string }>> = dbAsync
.get("posts")
.push({ name: "hello" })
.write();
const resultSync: ArrayLike<{ name: string }> & Promise<ArrayLike<{ name: string }>> = dbSync
.get("posts")
.push({ name: "hello" })
.write();
const otherAdapterAsync = new FileAsync<OtherSchema>("db.json");
const dbPromise = low(otherAdapterAsync);
const db = await dbPromise;
const nested: OtherSchema["nested"] = db.get("nested").value();
const result2: Promise<OtherSchema["nested"]["x"]> = db
.get("nested")
.get("x")
.write();
};
示例4: FileSync
async () => {
const adapterSync: low.AdapterSync<ExampleSchema> = new FileSync("db.json", {
defaultValue: {
posts: [{ name: "baz" }]
}
});
const adapterAsync: low.AdapterAsync<ExampleSchema> = new FileAsync(
"db.json",
{
defaultValue: {
posts: [{ name: "baz" }]
}
}
);
const dbSync = low(adapterSync);
const dbAsync = await low(adapterAsync);
const dbAssertTypeSync: low.Lowdb<ExampleSchema, typeof adapterSync> = dbSync;
const dbAssertTypeAsync: low.Lowdb<
ExampleSchema,
typeof adapterAsync
> = dbAsync;
const xSync: ExampleSchema = dbSync
.defaults({ posts: [{ name: "baz" }] })
.write();
const xAsync: Promise<ExampleSchema> = dbAsync
.defaults({ posts: [{ name: "baz" }] })
.write();
const result: Promise<ExampleSchema["posts"]> = dbAsync
.get("posts")
.push({ name: "hello" })
.write();
const resultSync: ExampleSchema["posts"] = dbSync
.get("posts")
.push({ name: "hello" })
.write();
const dbPromise = low<OtherSchema, typeof adapterAsync>(adapterAsync);
const db = await dbPromise;
const nested: OtherSchema["nested"] = db.get("nested").value();
const result2: Promise<OtherSchema["nested"]["x"]> = db
.get("nested")
.get("x")
.write();
};