本文整理汇总了TypeScript中levelup.LevelUp.batch方法的典型用法代码示例。如果您正苦于以下问题:TypeScript LevelUp.batch方法的具体用法?TypeScript LevelUp.batch怎么用?TypeScript LevelUp.batch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类levelup.LevelUp
的用法示例。
在下文中一共展示了LevelUp.batch方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: buildExistingFilesDb
public async buildExistingFilesDb(watchPath: string): Promise<number> {
try {
const cwd = watchPath;
const files = await globPromise(`**/*`, {
cwd
});
const filePayload: FilePayload = {
jobStatus: FileJobStatus.Existing,
jobType: FileJobType.Unknown
};
const existingFiles = files.map(
(filepath: string): AbstractBatch => ({
key: path.resolve(cwd, filepath),
type: 'put',
value: filePayload
})
);
await this.files.batch(existingFiles);
return existingFiles.length;
} catch (error) {
throw error;
}
}
示例2: addKeys
async addKeys(params: {
name: string;
keys: Wallet.KeyImport[];
encryptionKey: string;
}) {
const { name, keys, encryptionKey } = params;
const ops = keys.map(key => {
let { pubKey } = key;
pubKey =
pubKey || new bitcoreLib.PrivateKey(key.privKey).publicKey.toString();
let payload = {};
if (pubKey && key.privKey && encryptionKey) {
const encKey = Encryption.encryptPrivateKey(
JSON.stringify(key),
Buffer.from(pubKey, 'hex'),
Buffer.from(encryptionKey, 'hex')
);
payload = { encKey, pubKey };
}
return {
type: 'put',
key: `key|${name}|${key.address}`,
value: JSON.stringify(payload)
};
});
if (ops.length > 1) {
return this.db.batch(ops);
} else {
this.db.put(ops[0].key, ops[0].value);
}
}
示例3: callback
this.get(null, data => {
const batch = this.db.batch();
for (const key in data) {
batch.del(key);
}
batch.write(() => {
callback();
});
});
示例4: set
public set(items: any, callback: any) {
if (items === Object(items)) {
const batch = this.db.batch();
for (const key in items) {
batch.put(key, JSON.stringify(items[key]).toString());
}
batch.write(() => {
callback();
});
}
}
示例5: remove
public remove(keys: any, callback: any) {
if (typeof keys === 'string') {
this.db.del(keys, err => {
callback();
});
} else if (Array.isArray(keys)) {
const batch = this.db.batch();
for (const key of keys) {
batch.del(key);
}
batch.write(() => {
callback();
});
} else {
// error
}
}
示例6: addKeys
async addKeys(params) {
const { name, keys, encryptionKey } = params;
const ops = keys.map(key => {
let { pubKey } = key;
pubKey =
pubKey || new bitcoreLib.PrivateKey(key.privKey).publicKey.toString();
let payload = {};
if (pubKey && key.privKey && encryptionKey) {
const encKey = Encryption.encryptPrivateKey(
JSON.stringify(key),
Buffer.from(pubKey, 'hex'),
Buffer.from(encryptionKey, 'hex')
);
payload = { encKey, pubKey };
}
return {
type: 'put',
key: `key|${name}|${key.address}`,
value: JSON.stringify(payload)
};
});
return this.db.batch(ops);
}