New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@peerbit/any-store

Package Overview
Dependencies
Maintainers
1
Versions
135
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@peerbit/any-store - npm Package Compare versions

Comparing version 1.0.11 to 1.0.12

27

lib/esm/opfs-worker.js

@@ -6,2 +6,3 @@ import { deserialize, serialize } from "@dao-xyz/borsh";

import { waitForResolved } from "@peerbit/time";
const directory = location.hash.split("#")?.[1];
const encodeName = (name) => {

@@ -49,3 +50,3 @@ // since "/" and perhaps other characters might not be allowed we do encode

let isOpen = false;
const createMemory = (root, level = []) => {
const createMemory = (root, levels = []) => {
let m = root;

@@ -56,4 +57,10 @@ // 'open' | 'closed' is just a virtual thing since OPFS is always open as soone as we get the FileSystemDirectoryHandle

await ready;
isOpen = true;
m = m || (await navigator.storage.getDirectory());
if (!m) {
m = await navigator.storage.getDirectory();
if (directory) {
m = await m.getDirectoryHandle(encodeName(directory), {
create: true
});
}
}
};

@@ -123,3 +130,3 @@ return {

});
const sublevel = [...level, encodedName];
const sublevel = [...levels, name];
const subMemory = createMemory(fileHandle, sublevel);

@@ -153,14 +160,12 @@ this._levels.set(memory.levelKey(sublevel), subMemory);

if (message instanceof memory.REQ_Open) {
if (isOpen) {
throw new Error("Already open");
if (!isOpen) {
await this._rootStore.open();
isOpen = true;
}
await this._rootStore.open();
for (const level of message.level) {
this._rootStore = await this._rootStore.sublevel(level);
}
await this.respond(message, new memory.RESP_Open({ level: message.level }), postMessageFn);
return;
}
const m = message.level.length === 0
? this._rootStore
: this._levels.get(memory.levelKey(message.level.map((x) => encodeName(x))));
: this._levels.get(memory.levelKey(message.level));
if (!m) {

@@ -167,0 +172,0 @@ throw new Error("Recieved memory message for an undefined level");

import { AnyStore, MaybePromise } from "./interface.js";
import * as memory from "./opfs-worker-messages.js";
export declare class OPFSStore implements AnyStore {
readonly directory?: string | undefined;
worker: Worker;
level: string[];
levelMap: Map<string, AnyStore>;

@@ -10,3 +10,3 @@ root: AnyStore;

private _createMemory;
constructor(level?: string[]);
constructor(directory?: string | undefined);
status(): MaybePromise<"opening" | "open" | "closing" | "closed">;

@@ -13,0 +13,0 @@ close(): Promise<void>;

@@ -31,8 +31,9 @@ import * as memory from "./opfs-worker-messages.js";

}
const workerURL = new URL("./opfs-worker.js", import.meta.url);
/* new Worker(workerURL, { type: 'module' }) */
const createWorker = () => new Worker(workerURL, { type: "module" });
const createWorker = (directory) => {
const workerURL = new URL("./opfs-worker.js#" + directory, import.meta.url);
return new Worker(workerURL, { type: "module" });
};
export class OPFSStore {
directory;
worker;
level;
levelMap;

@@ -42,4 +43,4 @@ root;

_createMemory;
constructor(level = []) {
this.level = level;
constructor(directory) {
this.directory = directory;
this.levelMap = new Map();

@@ -94,4 +95,4 @@ this._createMemory = (level = []) => {

if (!this.worker) {
this.root = this._createMemory(this.level);
this.worker = createWorker();
this.worker = createWorker(this.directory);
this.root = this._createMemory([]);
this.worker.addEventListener("message", async (ev) => {

@@ -98,0 +99,0 @@ const message = deserialize(ev.data, memory.MemoryMessage);

import { MemoryStore } from "./memory.js";
import { OPFSStore } from "./opfs.js";
export const createStore = (directory) => {
return directory ? new OPFSStore([directory]) : new MemoryStore();
return directory ? new OPFSStore(directory) : new MemoryStore();
};

@@ -6,0 +6,0 @@ /* export const estimate = (directory: string): Promise<{ quota?: number, usage?: number }> => {

{
"name": "@peerbit/any-store",
"version": "1.0.11",
"version": "1.0.12",
"description": "Level with lazy transactions",

@@ -51,3 +51,3 @@ "type": "module",

],
"gitHead": "b9b6843a83f12c6b23e78efef9cd323267881adb"
"gitHead": "954ec9009b2cd65baf4558009504b83eb17badf6"
}

@@ -8,2 +8,4 @@ import { deserialize, serialize } from "@dao-xyz/borsh";

const directory = location.hash.split("#")?.[1];
const encodeName = (name: string): string => {

@@ -66,3 +68,3 @@ // since "/" and perhaps other characters might not be allowed we do encode

root?: FileSystemDirectoryHandle,
level: string[] = []
levels: string[] = []
): AnyStore => {

@@ -75,6 +77,11 @@ let m: FileSystemDirectoryHandle = root!;

await ready;
isOpen = true;
m = m || (await navigator.storage.getDirectory());
if (!m) {
m = await navigator.storage.getDirectory();
if (directory) {
m = await m.getDirectoryHandle(encodeName(directory), {
create: true
});
}
}
};
return {

@@ -147,3 +154,3 @@ clear: async () => {

});
const sublevel = [...level, encodedName];
const sublevel = [...levels, name];
const subMemory = createMemory(fileHandle, sublevel);

@@ -180,9 +187,6 @@ this._levels.set(memory.levelKey(sublevel), subMemory);

if (message instanceof memory.REQ_Open) {
if (isOpen) {
throw new Error("Already open");
if (!isOpen) {
await this._rootStore.open();
isOpen = true;
}
await this._rootStore.open();
for (const level of message.level) {
this._rootStore = await this._rootStore.sublevel(level);
}
await this.respond(

@@ -193,2 +197,3 @@ message,

);
return;
}

@@ -199,5 +204,3 @@

? this._rootStore
: this._levels.get(
memory.levelKey(message.level.map((x) => encodeName(x)))
);
: this._levels.get(memory.levelKey(message.level));
if (!m) {

@@ -204,0 +207,0 @@ throw new Error("Recieved memory message for an undefined level");

@@ -53,9 +53,9 @@ import { AnyStore, MaybePromise } from "./interface.js";

const workerURL = new URL("./opfs-worker.js", import.meta.url);
const createWorker = (directory) => {
const workerURL = new URL("./opfs-worker.js#" + directory, import.meta.url);
return new Worker(workerURL, { type: "module" });
};
/* new Worker(workerURL, { type: 'module' }) */
const createWorker = () => new Worker(workerURL, { type: "module" });
export class OPFSStore implements AnyStore {
worker: Worker;
level: string[];
levelMap: Map<string, AnyStore>;

@@ -70,4 +70,3 @@ root: AnyStore;

private _createMemory: (level: string[]) => AnyStore;
constructor(level: string[] = []) {
this.level = level;
constructor(readonly directory?: string) {
this.levelMap = new Map();

@@ -105,5 +104,3 @@ this._createMemory = (level: string[] = []): AnyStore => {

sublevel: async (name) => {
await this.request<memory.RESP_Sublevel>(
new memory.REQ_Sublevel({ level, name })
);
await this.request(new memory.REQ_Sublevel({ level, name }));
const newLevels = [...level, name];

@@ -146,4 +143,4 @@ const sublevel = this._createMemory(newLevels);

if (!this.worker) {
this.root = this._createMemory(this.level);
this.worker = createWorker();
this.worker = createWorker(this.directory);
this.root = this._createMemory([]);
this.worker.addEventListener("message", async (ev) => {

@@ -150,0 +147,0 @@ const message = deserialize(ev.data, memory.MemoryMessage);

@@ -5,3 +5,3 @@ import { MemoryStore } from "./memory.js";

export const createStore = (directory?: string) => {
return directory ? new OPFSStore([directory]) : new MemoryStore();
return directory ? new OPFSStore(directory) : new MemoryStore();
};

@@ -8,0 +8,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc