From 072ab07618fbb8bee95f416ac3c81ec07381afd4 Mon Sep 17 00:00:00 2001 From: Bas Pennings Date: Mon, 14 Sep 2015 16:05:03 +0200 Subject: [PATCH] New definition files for level-sublevel --- level-sublevel/level-sublevel-tests.ts | 28 ++++++++++++++++++++++++++ level-sublevel/level-sublevel.d.ts | 24 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 level-sublevel/level-sublevel-tests.ts create mode 100644 level-sublevel/level-sublevel.d.ts diff --git a/level-sublevel/level-sublevel-tests.ts b/level-sublevel/level-sublevel-tests.ts new file mode 100644 index 0000000000..9887dd70c1 --- /dev/null +++ b/level-sublevel/level-sublevel-tests.ts @@ -0,0 +1,28 @@ +/// + +import levelup = require('levelup'); +import sublevel = require('level-sublevel'); + +var db = sublevel(levelup('./tmp/sublevel-example')); +var sub = db.sublevel('stuff'); + +db.put('foo', 'bar', err => {}); + +sub.put('foo', 'bar', err => {}); + +db.pre((ch, add) => { + add({ + key: ''+Date.now(), + value: ch.key, + type: 'put', + prefix: sub + }) +}); + +var sub1 = db.sublevel('SUB_1'); +var sub2 = db.sublevel('SUM_2'); + +sub1.batch([ + { key: 'key', value: 'Value', type: 'put' }, + { key: 'key', value: 'Value', type: 'put', prefix: sub2 } +], err => { if (err) throw err; }); \ No newline at end of file diff --git a/level-sublevel/level-sublevel.d.ts b/level-sublevel/level-sublevel.d.ts new file mode 100644 index 0000000000..969ada9637 --- /dev/null +++ b/level-sublevel/level-sublevel.d.ts @@ -0,0 +1,24 @@ +// Type definitions for level-sublevel +// Project: https://github.com/dominictarr/level-sublevel +// Definitions by: Bas Pennings +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +interface Hook { + (ch: any, add: (op: Batch|boolean) => void): void; +} + +interface Batch { + prefix?: Sublevel; +} + +interface Sublevel extends LevelUp { + sublevel(key: string): Sublevel; + pre(hook: Hook): Function; +} + +declare module "level-sublevel" { + function sublevel(levelup: LevelUp): Sublevel; + export = sublevel; +} \ No newline at end of file