index.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { EventEmitter } from 'events';
  2. import { setExternals, setNativeFunctions, Dbi, version } from './native.js';
  3. import { arch, tmpdir, platform } from 'os';
  4. import fs from 'fs';
  5. import { Encoder as MsgpackrEncoder } from 'msgpackr';
  6. import { WeakLRUCache } from 'weak-lru-cache';
  7. import * as orderedBinary from 'ordered-binary';
  8. orderedBinary.enableNullTermination();
  9. setExternals({
  10. arch, fs, tmpdir, MsgpackrEncoder, WeakLRUCache, orderedBinary,
  11. EventEmitter, os: platform(), onExit(callback) {
  12. if (process.getMaxListeners() < process.listenerCount('exit') + 8)
  13. process.setMaxListeners(process.listenerCount('exit') + 8);
  14. process.on('exit', callback);
  15. },
  16. });
  17. export { toBufferKey as keyValueToBuffer, compareKeys, compareKeys as compareKey, fromBufferKey as bufferToKeyValue } from 'ordered-binary';
  18. export { ABORT, IF_EXISTS, asBinary } from './write.js';
  19. import { ABORT, IF_EXISTS, asBinary } from './write.js';
  20. export { levelup } from './level.js';
  21. export { SKIP } from './util/RangeIterable.js';
  22. import { levelup } from './level.js';
  23. export { clearKeptObjects, version } from './native.js';
  24. import { nativeAddon } from './native.js';
  25. export let { noop } = nativeAddon;
  26. export const TIMESTAMP_PLACEHOLDER = new Uint8Array([1,1,1,1,0,0,0,0]);
  27. export const DIRECT_WRITE_PLACEHOLDER = new Uint8Array([1,1,1,2,0,0,0,0]);
  28. export { open, openAsClass, getLastVersion, allDbs, getLastTxnId } from './open.js';
  29. import { toBufferKey as keyValueToBuffer, compareKeys as compareKey, fromBufferKey as bufferToKeyValue } from 'ordered-binary';
  30. import { open, openAsClass, getLastVersion } from './open.js';
  31. export const TransactionFlags = {
  32. ABORTABLE: 1,
  33. SYNCHRONOUS_COMMIT: 2,
  34. NO_SYNC_FLUSH: 0x10000,
  35. };
  36. export default {
  37. open, openAsClass, getLastVersion, compareKey, keyValueToBuffer, bufferToKeyValue, ABORT, IF_EXISTS, asBinary, levelup, TransactionFlags, version
  38. };