• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript lowdb类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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")
开发者ID:csrakowski,项目名称:DefinitelyTyped,代码行数:31,代码来源:lowdb-tests.ts


示例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();
}
开发者ID:kentongray,项目名称:rollout-server,代码行数:25,代码来源:Database.ts


示例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();
};
开发者ID:csrakowski,项目名称:DefinitelyTyped,代码行数:53,代码来源:lowdb-tests.ts


示例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();
};
开发者ID:Batbold-Gansukh,项目名称:DefinitelyTyped,代码行数:52,代码来源:lowdb-tests.ts



注:本文中的lowdb类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript lru-cache类代码示例发布时间:2022-05-28
下一篇:
TypeScript loopback-boot类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap