@xyo-network/xl1-driver-lmdb 4.0.6 → 4.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/node/Params.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractCreatable } from '@
|
|
1
|
+
import { AbstractCreatable } from '@ariestools/sdk';
|
|
2
2
|
import type { SyncMap } from '@xyo-network/xl1-protocol-lib';
|
|
3
3
|
import type { Database, Key, RootDatabase } from 'lmdb';
|
|
4
4
|
import type { LmdbMapParams } from './Params.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynchronousLmdbMap.d.ts","sourceRoot":"","sources":["../../src/SynchronousLmdbMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"SynchronousLmdbMap.d.ts","sourceRoot":"","sources":["../../src/SynchronousLmdbMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,EACV,QAAQ,EAAE,GAAG,EAAE,YAAY,EAC5B,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD;;;;;;;GAOG;AACH,qBACa,kBAAkB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAE,SAAQ,iBAAiB,CAAC,aAAa,CAAE,YAAW,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACjH,SAAS,CAAC,EAAE,EAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7B,SAAS,CAAC,YAAY,EAAG,YAAY,CAAA;IAErC;;;;;;OAMG;IACH,IAAI,UAAU,WAEb;IAED,GAAG,IAAI,CAAC,EAAE;IAIV,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAItB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAIzB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAWtB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAInB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAIzB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI;IAMjB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7C"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -20,7 +20,7 @@ import { rm } from "node:fs/promises";
|
|
|
20
20
|
import Path2 from "node:path";
|
|
21
21
|
|
|
22
22
|
// src/SynchronousLmdbMap.ts
|
|
23
|
-
import { AbstractCreatable, creatable } from "@
|
|
23
|
+
import { AbstractCreatable, creatable } from "@ariestools/sdk";
|
|
24
24
|
import { open } from "lmdb";
|
|
25
25
|
var SynchronousLmdbMap = class extends AbstractCreatable {
|
|
26
26
|
db;
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/getStoreDirectory.ts", "../../src/localPersistentMap.ts", "../../src/SynchronousLmdbMap.ts"],
|
|
4
|
-
"sourcesContent": ["import Path from 'node:path'\n\nimport type { StoreKind } from './StoreKind.ts'\n\n/**\n * Creates a convention-based directory path for an archivist store\n * @param name The name of the archivist\n * @param storageRoot The root directory for storage\n * @param kind The kind of the archivist (optional)\n * @returns The directory path for the archivist store\n */\nexport const getStoreDirectory = (name: string, storageRoot: string, kind?: StoreKind): string => {\n return (kind === undefined) ? Path.join(storageRoot, name) : Path.join(storageRoot, kind, name)\n}\n", "import { rm } from 'node:fs/promises'\nimport Path from 'node:path'\n\nimport type { MapType } from '@xyo-network/xl1-protocol-lib'\n\nimport { getStoreDirectory } from './getStoreDirectory.ts'\nimport type { StoreKind } from './StoreKind.ts'\nimport { SynchronousLmdbMap } from './SynchronousLmdbMap.ts'\n\nconst DEFAULT_STORAGE_ROOT = Path.join(process.cwd(), '.store')\n\n/**\n * Returns a local persistent map\n * @param dbName The name of the database\n * @param storeName The name of the store\n * @param storageRoot The root directory for storage (default is '.store' in the current working directory)\n * @param kind The kind of the map\n * @returns a map\n */\nexport const getLocalPersistentMap = async <TId, TData>(\n dbName: string,\n storeName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb'): Promise<MapType<TId, TData>> => {\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n const location = getStoreDirectory(dbName, root, 'lmdb')\n const store = await SynchronousLmdbMap.create({\n location, dbName, storeName,\n })\n await store.start()\n return store as unknown as MapType<TId, TData>\n }\n }\n}\n\nexport const deleteLocalPersistentMap = async (\n dbName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb',\n): Promise<void> => {\n await Promise.resolve()\n let location = ''\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n location = getStoreDirectory(dbName, root, 'lmdb')\n break\n }\n }\n await rm(location, { recursive: true, force: true })\n}\n", "import { AbstractCreatable, creatable } from '@
|
|
4
|
+
"sourcesContent": ["import Path from 'node:path'\n\nimport type { StoreKind } from './StoreKind.ts'\n\n/**\n * Creates a convention-based directory path for an archivist store\n * @param name The name of the archivist\n * @param storageRoot The root directory for storage\n * @param kind The kind of the archivist (optional)\n * @returns The directory path for the archivist store\n */\nexport const getStoreDirectory = (name: string, storageRoot: string, kind?: StoreKind): string => {\n return (kind === undefined) ? Path.join(storageRoot, name) : Path.join(storageRoot, kind, name)\n}\n", "import { rm } from 'node:fs/promises'\nimport Path from 'node:path'\n\nimport type { MapType } from '@xyo-network/xl1-protocol-lib'\n\nimport { getStoreDirectory } from './getStoreDirectory.ts'\nimport type { StoreKind } from './StoreKind.ts'\nimport { SynchronousLmdbMap } from './SynchronousLmdbMap.ts'\n\nconst DEFAULT_STORAGE_ROOT = Path.join(process.cwd(), '.store')\n\n/**\n * Returns a local persistent map\n * @param dbName The name of the database\n * @param storeName The name of the store\n * @param storageRoot The root directory for storage (default is '.store' in the current working directory)\n * @param kind The kind of the map\n * @returns a map\n */\nexport const getLocalPersistentMap = async <TId, TData>(\n dbName: string,\n storeName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb'): Promise<MapType<TId, TData>> => {\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n const location = getStoreDirectory(dbName, root, 'lmdb')\n const store = await SynchronousLmdbMap.create({\n location, dbName, storeName,\n })\n await store.start()\n return store as unknown as MapType<TId, TData>\n }\n }\n}\n\nexport const deleteLocalPersistentMap = async (\n dbName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb',\n): Promise<void> => {\n await Promise.resolve()\n let location = ''\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n location = getStoreDirectory(dbName, root, 'lmdb')\n break\n }\n }\n await rm(location, { recursive: true, force: true })\n}\n", "import { AbstractCreatable, creatable } from '@ariestools/sdk'\nimport type { SyncMap } from '@xyo-network/xl1-protocol-lib'\nimport type {\n Database, Key, RootDatabase,\n} from 'lmdb'\nimport { open } from 'lmdb'\n\nimport type { LmdbMapParams } from './Params.ts'\n\n// TODO: Abstract creatable instead of service?\n/**\n * A synchronous LMDB-backed Map implementation.\n * This class provides a synchronous interface to an LMDB database, allowing for key-value storage.\n * It allows for multi-tenancy within a single LMDB environment by using a root database (located\n * at this.folderPath) and a specific DB within the environment (specified by this.params.storeName).\n * @template K - The type of keys in the map.\n * @template V - The type of values in the map.\n */\n@creatable()\nexport class SynchronousLmdbMap<K extends Key, V> extends AbstractCreatable<LmdbMapParams> implements SyncMap<K, V> {\n protected db!: Database<V, K>\n protected rootDatabase!: RootDatabase\n\n /**\n * The path to the LMDB folder where the database is stored.\n * This is constructed from the location and dbName parameters\n * allowing for multiple DBs within the root (by specifying a\n * different storeName).\n * @returns The folder path for the LMDB database.\n */\n get folderPath() {\n return `${this.params.location}/${this.params.storeName}`\n }\n\n all(): V[] {\n return [...this.db.getRange({})].map(entry => entry.value)\n }\n\n clear(): void {\n this.db.clearSync()\n }\n\n delete(id: K): boolean {\n return this.db.removeSync(id)\n }\n\n get(id: K): V | undefined {\n return this.db.get(id)\n }\n\n getMany(ids: K[]): V[] {\n const results: V[] = []\n for (const id of ids) {\n const value = this.db.get(id)\n if (value !== undefined) {\n results.push(value)\n }\n }\n return results\n }\n\n has(id: K): boolean {\n return this.db.doesExist(id)\n }\n\n set(id: K, data: V): void {\n this.db.putSync(id, data)\n }\n\n setMany(entries: [K, V][]): void {\n for (const [key, value] of entries) {\n this.set(key, value)\n }\n }\n\n override async startHandler(): Promise<void> {\n await super.startHandler()\n // Initialize the DB Environment (opens the default LMDB database)\n this.rootDatabase = open({ path: this.folderPath, name: this.params.dbName })\n // Open the desired DB (using the store name)\n this.db = this.rootDatabase.openDB<V, K>({ name: this.params.storeName, cache: true })\n }\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;AAAA,OAAO,UAAU;AAWV,IAAM,oBAAoB,CAAC,MAAc,aAAqB,SAA6B;AAChG,SAAQ,SAAS,SAAa,KAAK,KAAK,aAAa,IAAI,IAAI,KAAK,KAAK,aAAa,MAAM,IAAI;AAChG;;;ACbA,SAAS,UAAU;AACnB,OAAOA,WAAU;;;ACDjB,SAAS,mBAAmB,iBAAiB;AAK7C,SAAS,YAAY;AAcd,IAAM,qBAAN,cAAmD,kBAA0D;AAAA,EACxG;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASV,IAAI,aAAa;AACf,WAAO,GAAG,KAAK,OAAO,QAAQ,IAAI,KAAK,OAAO,SAAS;AAAA,EACzD;AAAA,EAEA,MAAW;AACT,WAAO,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,WAAS,MAAM,KAAK;AAAA,EAC3D;AAAA,EAEA,QAAc;AACZ,SAAK,GAAG,UAAU;AAAA,EACpB;AAAA,EAEA,OAAO,IAAgB;AACrB,WAAO,KAAK,GAAG,WAAW,EAAE;AAAA,EAC9B;AAAA,EAEA,IAAI,IAAsB;AACxB,WAAO,KAAK,GAAG,IAAI,EAAE;AAAA,EACvB;AAAA,EAEA,QAAQ,KAAe;AACrB,UAAM,UAAe,CAAC;AACtB,eAAW,MAAM,KAAK;AACpB,YAAM,QAAQ,KAAK,GAAG,IAAI,EAAE;AAC5B,UAAI,UAAU,QAAW;AACvB,gBAAQ,KAAK,KAAK;AAAA,MACpB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,IAAgB;AAClB,WAAO,KAAK,GAAG,UAAU,EAAE;AAAA,EAC7B;AAAA,EAEA,IAAI,IAAO,MAAe;AACxB,SAAK,GAAG,QAAQ,IAAI,IAAI;AAAA,EAC1B;AAAA,EAEA,QAAQ,SAAyB;AAC/B,eAAW,CAAC,KAAK,KAAK,KAAK,SAAS;AAClC,WAAK,IAAI,KAAK,KAAK;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,MAAe,eAA8B;AAC3C,UAAM,MAAM,aAAa;AAEzB,SAAK,eAAe,KAAK,EAAE,MAAM,KAAK,YAAY,MAAM,KAAK,OAAO,OAAO,CAAC;AAE5E,SAAK,KAAK,KAAK,aAAa,OAAa,EAAE,MAAM,KAAK,OAAO,WAAW,OAAO,KAAK,CAAC;AAAA,EACvF;AACF;AA/Da,qBAAN;AAAA,EADN,UAAU;AAAA,GACE;;;ADVb,IAAM,uBAAuBC,MAAK,KAAK,QAAQ,IAAI,GAAG,QAAQ;AAUvD,IAAM,wBAAwB,OACnC,QACA,WACA,aACA,OAAkB,WAAyC;AAC3D,UAAQ,MAAM;AAAA,IACZ,KAAK,QAAQ;AACX,YAAM,OAAO,eAAe;AAC5B,YAAM,WAAW,kBAAkB,QAAQ,MAAM,MAAM;AACvD,YAAM,QAAQ,MAAM,mBAAmB,OAAO;AAAA,QAC5C;AAAA,QAAU;AAAA,QAAQ;AAAA,MACpB,CAAC;AACD,YAAM,MAAM,MAAM;AAClB,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,IAAM,2BAA2B,OACtC,QACA,aACA,OAAkB,WACA;AAClB,QAAM,QAAQ,QAAQ;AACtB,MAAI,WAAW;AACf,UAAQ,MAAM;AAAA,IACZ,KAAK,QAAQ;AACX,YAAM,OAAO,eAAe;AAC5B,iBAAW,kBAAkB,QAAQ,MAAM,MAAM;AACjD;AAAA,IACF;AAAA,EACF;AACA,QAAM,GAAG,UAAU,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AACrD;",
|
|
6
6
|
"names": ["Path", "Path"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/xl1-driver-lmdb",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.8",
|
|
5
5
|
"description": "XYO Layer One SDK Protocol LMDB Driver",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -35,20 +35,21 @@
|
|
|
35
35
|
"README.md"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@xyo-network/xl1-protocol-lib": "~4.0.
|
|
38
|
+
"@xyo-network/xl1-protocol-lib": "~4.0.8"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
+
"@ariestools/sdk": "^7.0.3",
|
|
41
42
|
"@bitauth/libauth": "~3.0.0",
|
|
42
43
|
"@noble/post-quantum": "~0.6.1",
|
|
43
44
|
"@opentelemetry/api": "^1.9.1",
|
|
44
45
|
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
45
46
|
"@scure/base": "~2.2.0",
|
|
46
47
|
"@scure/bip39": "~2.2.0",
|
|
47
|
-
"@xylabs/geo": "^7.0.
|
|
48
|
-
"@xylabs/sdk": "^7.0
|
|
49
|
-
"@xylabs/threads": "^7.0.
|
|
50
|
-
"@xylabs/toolchain": "~8.5.
|
|
51
|
-
"@xylabs/tsconfig": "~8.5.
|
|
48
|
+
"@xylabs/geo": "^7.0.3",
|
|
49
|
+
"@xylabs/sdk": "^7.0",
|
|
50
|
+
"@xylabs/threads": "^7.0.3",
|
|
51
|
+
"@xylabs/toolchain": "~8.5.11",
|
|
52
|
+
"@xylabs/tsconfig": "~8.5.11",
|
|
52
53
|
"@xyo-network/sdk-js": "~7.0.4",
|
|
53
54
|
"@xyo-network/sdk-protocol": "~7.0.5",
|
|
54
55
|
"ajv": "^8.20.0",
|
|
@@ -61,10 +62,12 @@
|
|
|
61
62
|
"lmdb": "^3.5.6",
|
|
62
63
|
"lru-cache": "^11.5.1",
|
|
63
64
|
"observable-fns": "~0.6.1",
|
|
65
|
+
"tslib": "^2.8.1",
|
|
64
66
|
"typescript": "~6.0.3",
|
|
65
67
|
"zod": "~4.4.3"
|
|
66
68
|
},
|
|
67
69
|
"peerDependencies": {
|
|
70
|
+
"@ariestools/sdk": "^7.0",
|
|
68
71
|
"@bitauth/libauth": "~3.0",
|
|
69
72
|
"@noble/post-quantum": "~0.6.1",
|
|
70
73
|
"@opentelemetry/api": "^1.9",
|