Deno v1.20

Deno v1.20がリリースされました。

詳しくは下記の記事を参照ください:

deno_std v0.130.0

deno_std v0.130.0がリリースされました。

std/testing/assertsモジュールでassertInstanceOfが実装されました。

import { assertInstanceOf } from "https://deno.land/std@0.130.0/testing/asserts.ts";

assertInstanceOf(new Date(), Date); // OK
assertInstanceOf(/abc/, RegExp); // OK
assertInstanceOf("baz", Number); // NG

その他にもstd/nodeでのfs.writevSyncの実装などが行われています。


IndexedDBサポートについて

Deno本体にIndexedDBを追加するPRが作成されています。

feat(ext/webstorage): IndexedDB (#14035)

内部的にはlocalStorageなどと同様にSQLiteを使用して実装されているようです。

近い将来にリリースされる可能性があるかもしれません。


https://github.com/denoland/deno/pull/14035

deno-sqlite v3.3.0

deno-sqlite v3.3.0がリリースされました。

DBクラスにexecuteメソッドが追加されています。 これを使うと、複数のSQLステートメントをまとめて実行することができます。

import { DB } from "https://deno.land/x/sqlite@v3.3.0/mod.ts";

const db = new DB(":memory:");

db.execute(`
  CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT
  );
  INSERT INTO users (name) VALUES ('foo'), ('bar');
`);

for (const [id, name] of db.query("SELECT * FROM users")) {
  console.log([id, name]);
}

https://github.com/dyedgreen/deno-sqlite/releases/tag/v3.3.0