當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript lowdb類代碼示例

本文整理匯總了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;未經允許,請勿轉載。