@peerbit/string 2.0.3 → 2.0.4
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AppendOptions, CanAppend, Entry } from "@peerbit/log";
|
|
1
|
+
import { AppendOptions, CanAppend, Change, Entry } from "@peerbit/log";
|
|
2
2
|
import { SharedLog, SharedLogOptions } from "@peerbit/shared-log";
|
|
3
3
|
import { SignatureWithKey } from "@peerbit/crypto";
|
|
4
|
-
import { Program } from "@peerbit/program";
|
|
4
|
+
import { Program, ProgramEvents } from "@peerbit/program";
|
|
5
5
|
import { RPCOptions, CanRead, RPC } from "@peerbit/rpc";
|
|
6
6
|
import { StringOperation, StringIndex } from "./string-index.js";
|
|
7
7
|
import { StringQueryRequest, StringResult } from "./query.js";
|
|
@@ -10,12 +10,15 @@ export declare const STRING_STORE_TYPE = "string_store";
|
|
|
10
10
|
export type StringStoreOptions = {
|
|
11
11
|
canRead?: (key: SignatureWithKey) => Promise<boolean>;
|
|
12
12
|
};
|
|
13
|
+
export interface StringEvents {
|
|
14
|
+
change: CustomEvent<Change<StringOperation>>;
|
|
15
|
+
}
|
|
13
16
|
type Args = {
|
|
14
17
|
canRead?: CanRead;
|
|
15
18
|
canAppend?: CanAppend<StringOperation>;
|
|
16
19
|
log?: SharedLogOptions;
|
|
17
20
|
};
|
|
18
|
-
export declare class DString extends Program {
|
|
21
|
+
export declare class DString extends Program<Args, StringEvents & ProgramEvents> {
|
|
19
22
|
_log: SharedLog<StringOperation>;
|
|
20
23
|
query: RPC<StringQueryRequest, StringResult>;
|
|
21
24
|
_index: StringIndex;
|
package/lib/esm/string-store.js
CHANGED
|
@@ -14,6 +14,7 @@ import { RPC } from "@peerbit/rpc";
|
|
|
14
14
|
import { logger as loggerFn } from "@peerbit/logger";
|
|
15
15
|
import { StringOperation, StringIndex, encoding } from "./string-index.js";
|
|
16
16
|
import { RangeMetadata, RangeMetadatas, StringMatch, StringQueryRequest, StringResult, } from "./query.js";
|
|
17
|
+
import { CustomEvent } from "@libp2p/interfaces/events";
|
|
17
18
|
const logger = loggerFn({ module: "string" });
|
|
18
19
|
export const STRING_STORE_TYPE = "string_store";
|
|
19
20
|
const findAllOccurrences = (str, substr) => {
|
|
@@ -43,7 +44,12 @@ export let DString = class DString extends Program {
|
|
|
43
44
|
await this._log.open({
|
|
44
45
|
encoding,
|
|
45
46
|
canAppend: this.canAppend.bind(this),
|
|
46
|
-
onChange:
|
|
47
|
+
onChange: async (change) => {
|
|
48
|
+
await this._index.updateIndex(change);
|
|
49
|
+
this.events.dispatchEvent(new CustomEvent("change", {
|
|
50
|
+
detail: change,
|
|
51
|
+
}));
|
|
52
|
+
},
|
|
47
53
|
});
|
|
48
54
|
await this.query.open({
|
|
49
55
|
...options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-store.js","sourceRoot":"","sources":["../../src/string-store.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"string-store.js","sourceRoot":"","sources":["../../src/string-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/string",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "String store",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@peerbit/test-utils": "^1.0.15"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "638f34214cdee5fdd16ee1aa8089451edf3a121d"
|
|
44
44
|
}
|
package/src/string-store.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { field, variant } from "@dao-xyz/borsh";
|
|
2
|
-
import { AppendOptions, CanAppend, Entry } from "@peerbit/log";
|
|
2
|
+
import { AppendOptions, CanAppend, Change, Entry } from "@peerbit/log";
|
|
3
3
|
import { SharedLog, SharedLogOptions } from "@peerbit/shared-log";
|
|
4
4
|
import { SignatureWithKey } from "@peerbit/crypto";
|
|
5
|
-
import { Program } from "@peerbit/program";
|
|
5
|
+
import { Program, ProgramEvents } from "@peerbit/program";
|
|
6
6
|
import { RPCOptions, CanRead, RPC } from "@peerbit/rpc";
|
|
7
7
|
import { logger as loggerFn } from "@peerbit/logger";
|
|
8
8
|
import { StringOperation, StringIndex, encoding } from "./string-index.js";
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
StringQueryRequest,
|
|
14
14
|
StringResult,
|
|
15
15
|
} from "./query.js";
|
|
16
|
+
import { CustomEvent } from "@libp2p/interfaces/events";
|
|
16
17
|
|
|
17
18
|
import { Range } from "./range.js";
|
|
18
19
|
|
|
@@ -37,13 +38,18 @@ export type StringStoreOptions = {
|
|
|
37
38
|
canRead?: (key: SignatureWithKey) => Promise<boolean>;
|
|
38
39
|
};
|
|
39
40
|
|
|
41
|
+
export interface StringEvents {
|
|
42
|
+
change: CustomEvent<Change<StringOperation>>;
|
|
43
|
+
}
|
|
44
|
+
|
|
40
45
|
type Args = {
|
|
41
46
|
canRead?: CanRead;
|
|
42
47
|
canAppend?: CanAppend<StringOperation>;
|
|
43
48
|
log?: SharedLogOptions;
|
|
44
49
|
};
|
|
50
|
+
|
|
45
51
|
@variant("dstring")
|
|
46
|
-
export class DString extends Program {
|
|
52
|
+
export class DString extends Program<Args, StringEvents & ProgramEvents> {
|
|
47
53
|
@field({ type: SharedLog })
|
|
48
54
|
_log: SharedLog<StringOperation>;
|
|
49
55
|
|
|
@@ -72,7 +78,14 @@ export class DString extends Program {
|
|
|
72
78
|
await this._log.open({
|
|
73
79
|
encoding,
|
|
74
80
|
canAppend: this.canAppend.bind(this),
|
|
75
|
-
onChange:
|
|
81
|
+
onChange: async (change) => {
|
|
82
|
+
await this._index.updateIndex(change);
|
|
83
|
+
this.events.dispatchEvent(
|
|
84
|
+
new CustomEvent("change", {
|
|
85
|
+
detail: change,
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
},
|
|
76
89
|
});
|
|
77
90
|
|
|
78
91
|
await this.query.open({
|