@matter/general 0.14.0-alpha.0-20250527-b2a4cc12b → 0.14.0-alpha.0-20250528-d6d12ae65

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.
@@ -29,6 +29,10 @@ export interface Transaction {
29
29
  * Diagnostic description of the transaction's source.
30
30
  */
31
31
  readonly via: string;
32
+ /**
33
+ * The {@link Transaction.IsolationLevel} of this transaction.
34
+ */
35
+ readonly isolation: Transaction.IsolationLevel;
32
36
  /**
33
37
  * The status of the transaction.
34
38
  */
@@ -151,53 +155,7 @@ export declare const Transaction: {
151
155
  *
152
156
  * When closed the transaction commits automatically if exclusive.
153
157
  */
154
- open(via: string): Transaction & Transaction.Finalization;
155
- ReadOnly: {
156
- "__#15479@#participants": Set<Participant>;
157
- "__#15479@#roles": Map<{}, Participant>;
158
- "__#15479@#resources": Set<Resource>;
159
- "__#15479@#status": Status;
160
- "__#15479@#waitingOn"?: Iterable<Transaction>;
161
- "__#15479@#via": string;
162
- "__#15479@#shared"?: import("../index.js").Observable<[]>;
163
- "__#15479@#closed"?: import("../index.js").Observable<[]>;
164
- "__#15479@#isAsync": boolean;
165
- "__#15479@#reportingLocks": boolean;
166
- readonly via: string;
167
- readonly status: Status;
168
- readonly participants: Set<Participant>;
169
- readonly resources: Set<Resource>;
170
- readonly waitingOn: Iterable<Transaction> | undefined;
171
- get isAsync(): boolean;
172
- set isAsync(isAsync: true);
173
- onShared(listener: () => void, once?: boolean): void;
174
- onClose(listener: () => void): void;
175
- addResources(...resources: Resource[]): Promise<void>;
176
- addResourcesSync(...resources: Resource[]): void;
177
- begin(): Promise<void>;
178
- beginSync(): void;
179
- addParticipants(...participants: Participant[]): void;
180
- getParticipant(role: {}): Participant | undefined;
181
- commit(): MaybePromise<void>;
182
- resolve<T>(result: T): MaybePromise<Awaited<T>>;
183
- rollback(): Promise<void> | undefined;
184
- reject(cause: unknown): MaybePromise<never>;
185
- "__#15479@#executeCommitCycle"(count: number): MaybePromise<void>;
186
- waitFor(others: Set<Transaction>): Promise<void>;
187
- toString(): string;
188
- treatAsSlow(): void;
189
- "__#15479@#finalize"(status: Status, why: string, finalizer: () => MaybePromise): Promise<void> | undefined;
190
- "__#15479@#reset"(why: string): void;
191
- "__#15479@#createPreCommitExecutor"(): () => MaybePromise<void>;
192
- "__#15479@#executeCommit"(): MaybePromise;
193
- "__#15479@#executeCommit1"(): MaybePromise;
194
- "__#15479@#executeCommit2"(): Promise<void> | undefined;
195
- "__#15479@#createPostCommitExecutor"(participants: Participant[]): () => MaybePromise;
196
- "__#15479@#executeRollback"(): Promise<void> | undefined;
197
- "__#15479@#locksChanged"(resources: Set<Resource>, how?: string): void;
198
- "__#15479@#assertAvailable"(): void;
199
- [Symbol.dispose](): void;
200
- };
158
+ open(via: string, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
201
159
  Status: typeof Status;
202
160
  Resource: typeof Resource;
203
161
  [Symbol.toStringTag]: string;
@@ -220,6 +178,19 @@ export declare namespace Transaction {
220
178
  */
221
179
  reject(cause: unknown): MaybePromise<never>;
222
180
  }
181
+ type IsolationLevel =
182
+ /**
183
+ * Transaction reads only committed and may enter exclusive (write) mode.
184
+ */
185
+ "rw"
186
+ /**
187
+ * Transaction is read-only but updates are visible after commit.
188
+ */
189
+ | "ro"
190
+ /**
191
+ * Transaction is read-only and data remains at version of first access.
192
+ */
193
+ | "snapshot";
223
194
  }
224
195
  export {};
225
196
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
@@ -57,10 +57,9 @@ const Transaction = {
57
57
  *
58
58
  * When closed the transaction commits automatically if exclusive.
59
59
  */
60
- open(via) {
61
- return (0, import_Tx.open)(via);
60
+ open(via, isolation = "rw") {
61
+ return (0, import_Tx.open)(via, isolation);
62
62
  },
63
- ReadOnly: import_Tx.ReadOnlyTransaction,
64
63
  Status: import_Status.Status,
65
64
  Resource: import_Resource.Resource,
66
65
  [Symbol.toStringTag]: "Transaction"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/transaction/Transaction.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AAEzB,oBAAuB;AACvB,gBAA0C;AAX1C;AAAA;AAAA;AAAA;AAAA;AA0JO,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWvB,IAAO,KAAa,OAAuE;AACvF,UAAM,SAAK,gBAAK,GAAG;AAEnB,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,EAAE;AAAA,IACrB,SAAS,GAAG;AACR,aAAO,GAAG,OAAO,CAAC;AAAA,IACtB;AAEA,WAAO,GAAG,QAAQ,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAa;AAEd,eAAO,gBAAK,GAAG;AAAA,EACnB;AAAA,EAEA,UAAU;AAAA,EAEV;AAAA,EAEA;AAAA,EAEA,CAAC,OAAO,WAAW,GAAG;AAC1B;AAGA,YAAY,OAAO;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AAEzB,oBAAuB;AACvB,gBAAqB;AAXrB;AAAA;AAAA;AAAA;AAAA;AA+JO,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWvB,IAAO,KAAa,OAAuE;AACvF,UAAM,SAAK,gBAAK,GAAG;AAEnB,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,EAAE;AAAA,IACrB,SAAS,GAAG;AACR,aAAO,GAAG,OAAO,CAAC;AAAA,IACtB;AAEA,WAAO,GAAG,QAAQ,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAa,YAAwC,MAAM;AAE5D,eAAO,gBAAK,KAAK,SAAS;AAAA,EAC9B;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,CAAC,OAAO,WAAW,GAAG;AAC1B;AAGA,YAAY,OAAO;",
5
5
  "names": []
6
6
  }
@@ -3,51 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MaybePromise } from "#util/Promises.js";
7
- import type { Participant } from "./Participant.js";
8
- import type { Resource } from "./Resource.js";
9
- import { Status } from "./Status.js";
10
6
  import type { Transaction } from "./Transaction.js";
11
7
  /**
12
8
  * This is the only public interface to this file.
13
9
  */
14
- export declare function open(via: string): Transaction & Transaction.Finalization;
15
- /**
16
- * The concrete implementation of the Transaction interface.
17
- */
18
- declare class Tx implements Transaction, Transaction.Finalization {
19
- #private;
20
- constructor(via: string, readonly?: boolean);
21
- [Symbol.dispose](): void;
22
- get via(): string;
23
- get status(): Status;
24
- get participants(): Set<Participant>;
25
- get resources(): Set<Resource>;
26
- get waitingOn(): Iterable<Transaction> | undefined;
27
- get isAsync(): boolean;
28
- /**
29
- * We set this during async processing. This enables the lock reporting when too much time ellapses.
30
- */
31
- set isAsync(isAsync: true);
32
- onShared(listener: () => void, once?: boolean): void;
33
- onClose(listener: () => void): void;
34
- addResources(...resources: Resource[]): Promise<void>;
35
- addResourcesSync(...resources: Resource[]): void;
36
- begin(): Promise<void>;
37
- beginSync(): void;
38
- addParticipants(...participants: Participant[]): void;
39
- getParticipant(role: {}): Participant | undefined;
40
- commit(): MaybePromise<void>;
41
- resolve<T>(result: T): MaybePromise<Awaited<T>>;
42
- rollback(): Promise<void> | undefined;
43
- reject(cause: unknown): MaybePromise<never>;
44
- waitFor(others: Set<Transaction>): Promise<void>;
45
- toString(): string;
46
- treatAsSlow(): void;
47
- }
48
- /**
49
- * A read-only offline transaction you may use without context.
50
- */
51
- export declare const ReadOnlyTransaction: Tx;
52
- export {};
10
+ export declare function open(via: string, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
53
11
  //# sourceMappingURL=Tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/transaction/Tx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,YAAY,CAExE;AAED;;GAEG;AACH,cAAM,EAAG,YAAW,WAAW,EAAE,WAAW,CAAC,YAAY;;gBAYzC,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAQ;IASzC,CAAC,MAAM,CAAC,OAAO,CAAC;IAMhB,IAAI,GAAG,WAEN;IAED,IAAI,MAAM,WAET;IAED,IAAI,YAAY,qBAEf;IAED,IAAI,SAAS,kBAEZ;IAED,IAAI,SAAS,sCAEZ;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAOxB;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO;IAW7C,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI;IAatB,YAAY,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE;IAY3C,gBAAgB,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE;IAgBnC,KAAK;IAsBX,SAAS;IAqBT,eAAe,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE;IAyB9C,cAAc,CAAC,IAAI,EAAE,EAAE;IAMvB,MAAM;IAeN,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAiC/C,QAAQ;IAMR,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;IAyE3C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;IA6BhC,QAAQ;IAIR,WAAW;CAuYd;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAA2B,CAAC"}
1
+ {"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/transaction/Tx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD;;GAEG;AACH,wBAAgB,IAAI,CAChB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,WAAW,CAAC,cAAqB,GAC7C,WAAW,GAAG,WAAW,CAAC,YAAY,CAExC"}
@@ -18,7 +18,6 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var Tx_exports = {};
20
20
  __export(Tx_exports, {
21
- ReadOnlyTransaction: () => ReadOnlyTransaction,
22
21
  open: () => open
23
22
  });
24
23
  module.exports = __toCommonJS(Tx_exports);
@@ -41,10 +40,11 @@ var import_Status = require("./Status.js");
41
40
  const logger = import_Logger.Logger.get("Transaction");
42
41
  const MAX_PRECOMMIT_CYCLES = 5;
43
42
  const MAX_CHAINED_COMMITS = 5;
44
- function open(via) {
45
- return new Tx(via);
43
+ function open(via, isolation = "rw") {
44
+ return new Tx(via, isolation);
46
45
  }
47
46
  class Tx {
47
+ #isolation;
48
48
  #participants = /* @__PURE__ */ new Set();
49
49
  #roles = /* @__PURE__ */ new Map();
50
50
  #resources = /* @__PURE__ */ new Set();
@@ -55,12 +55,13 @@ class Tx {
55
55
  #closed;
56
56
  #isAsync = false;
57
57
  #reportingLocks = false;
58
- constructor(via, readonly = false) {
58
+ constructor(via, isolation) {
59
59
  this.#via = import_Diagnostic.Diagnostic.via(via);
60
- if (readonly) {
61
- this.#status = import_Status.Status.ReadOnly;
62
- } else {
60
+ this.#isolation = isolation;
61
+ if (isolation === "rw") {
63
62
  this.#status = import_Status.Status.Shared;
63
+ } else {
64
+ this.#status = import_Status.Status.ReadOnly;
64
65
  }
65
66
  }
66
67
  [Symbol.dispose]() {
@@ -71,6 +72,9 @@ class Tx {
71
72
  get via() {
72
73
  return this.#via;
73
74
  }
75
+ get isolation() {
76
+ return this.#isolation;
77
+ }
74
78
  get status() {
75
79
  return this.#status;
76
80
  }
@@ -622,7 +626,6 @@ class Tx {
622
626
  }
623
627
  }
624
628
  }
625
- const ReadOnlyTransaction = new Tx("readonly", true);
626
629
  function throwIfErrored(errored, when) {
627
630
  if (!errored?.length) {
628
631
  return;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/transaction/Tx.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["result", "reportParticipantError"]
6
6
  }
@@ -29,6 +29,10 @@ export interface Transaction {
29
29
  * Diagnostic description of the transaction's source.
30
30
  */
31
31
  readonly via: string;
32
+ /**
33
+ * The {@link Transaction.IsolationLevel} of this transaction.
34
+ */
35
+ readonly isolation: Transaction.IsolationLevel;
32
36
  /**
33
37
  * The status of the transaction.
34
38
  */
@@ -151,53 +155,7 @@ export declare const Transaction: {
151
155
  *
152
156
  * When closed the transaction commits automatically if exclusive.
153
157
  */
154
- open(via: string): Transaction & Transaction.Finalization;
155
- ReadOnly: {
156
- "__#15479@#participants": Set<Participant>;
157
- "__#15479@#roles": Map<{}, Participant>;
158
- "__#15479@#resources": Set<Resource>;
159
- "__#15479@#status": Status;
160
- "__#15479@#waitingOn"?: Iterable<Transaction>;
161
- "__#15479@#via": string;
162
- "__#15479@#shared"?: import("../index.js").Observable<[]>;
163
- "__#15479@#closed"?: import("../index.js").Observable<[]>;
164
- "__#15479@#isAsync": boolean;
165
- "__#15479@#reportingLocks": boolean;
166
- readonly via: string;
167
- readonly status: Status;
168
- readonly participants: Set<Participant>;
169
- readonly resources: Set<Resource>;
170
- readonly waitingOn: Iterable<Transaction> | undefined;
171
- get isAsync(): boolean;
172
- set isAsync(isAsync: true);
173
- onShared(listener: () => void, once?: boolean): void;
174
- onClose(listener: () => void): void;
175
- addResources(...resources: Resource[]): Promise<void>;
176
- addResourcesSync(...resources: Resource[]): void;
177
- begin(): Promise<void>;
178
- beginSync(): void;
179
- addParticipants(...participants: Participant[]): void;
180
- getParticipant(role: {}): Participant | undefined;
181
- commit(): MaybePromise<void>;
182
- resolve<T>(result: T): MaybePromise<Awaited<T>>;
183
- rollback(): Promise<void> | undefined;
184
- reject(cause: unknown): MaybePromise<never>;
185
- "__#15479@#executeCommitCycle"(count: number): MaybePromise<void>;
186
- waitFor(others: Set<Transaction>): Promise<void>;
187
- toString(): string;
188
- treatAsSlow(): void;
189
- "__#15479@#finalize"(status: Status, why: string, finalizer: () => MaybePromise): Promise<void> | undefined;
190
- "__#15479@#reset"(why: string): void;
191
- "__#15479@#createPreCommitExecutor"(): () => MaybePromise<void>;
192
- "__#15479@#executeCommit"(): MaybePromise;
193
- "__#15479@#executeCommit1"(): MaybePromise;
194
- "__#15479@#executeCommit2"(): Promise<void> | undefined;
195
- "__#15479@#createPostCommitExecutor"(participants: Participant[]): () => MaybePromise;
196
- "__#15479@#executeRollback"(): Promise<void> | undefined;
197
- "__#15479@#locksChanged"(resources: Set<Resource>, how?: string): void;
198
- "__#15479@#assertAvailable"(): void;
199
- [Symbol.dispose](): void;
200
- };
158
+ open(via: string, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
201
159
  Status: typeof Status;
202
160
  Resource: typeof Resource;
203
161
  [Symbol.toStringTag]: string;
@@ -220,6 +178,19 @@ export declare namespace Transaction {
220
178
  */
221
179
  reject(cause: unknown): MaybePromise<never>;
222
180
  }
181
+ type IsolationLevel =
182
+ /**
183
+ * Transaction reads only committed and may enter exclusive (write) mode.
184
+ */
185
+ "rw"
186
+ /**
187
+ * Transaction is read-only but updates are visible after commit.
188
+ */
189
+ | "ro"
190
+ /**
191
+ * Transaction is read-only and data remains at version of first access.
192
+ */
193
+ | "snapshot";
223
194
  }
224
195
  export {};
225
196
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { Resource } from "./Resource.js";
7
7
  import { Status } from "./Status.js";
8
- import { ReadOnlyTransaction, open } from "./Tx.js";
8
+ import { open } from "./Tx.js";
9
9
  const Transaction = {
10
10
  /**
11
11
  * Perform a transactional operation.
@@ -34,10 +34,9 @@ const Transaction = {
34
34
  *
35
35
  * When closed the transaction commits automatically if exclusive.
36
36
  */
37
- open(via) {
38
- return open(via);
37
+ open(via, isolation = "rw") {
38
+ return open(via, isolation);
39
39
  },
40
- ReadOnly: ReadOnlyTransaction,
41
40
  Status,
42
41
  Resource,
43
42
  [Symbol.toStringTag]: "Transaction"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/transaction/Transaction.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AAEzB,SAAS,cAAc;AACvB,SAAS,qBAAqB,YAAY;AA+InC,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWvB,IAAO,KAAa,OAAuE;AACvF,UAAM,KAAK,KAAK,GAAG;AAEnB,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,EAAE;AAAA,IACrB,SAAS,GAAG;AACR,aAAO,GAAG,OAAO,CAAC;AAAA,IACtB;AAEA,WAAO,GAAG,QAAQ,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAa;AAEd,WAAO,KAAK,GAAG;AAAA,EACnB;AAAA,EAEA,UAAU;AAAA,EAEV;AAAA,EAEA;AAAA,EAEA,CAAC,OAAO,WAAW,GAAG;AAC1B;AAGA,YAAY,OAAO;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AAEzB,SAAS,cAAc;AACvB,SAAS,YAAY;AAoJd,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWvB,IAAO,KAAa,OAAuE;AACvF,UAAM,KAAK,KAAK,GAAG;AAEnB,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,EAAE;AAAA,IACrB,SAAS,GAAG;AACR,aAAO,GAAG,OAAO,CAAC;AAAA,IACtB;AAEA,WAAO,GAAG,QAAQ,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAa,YAAwC,MAAM;AAE5D,WAAO,KAAK,KAAK,SAAS;AAAA,EAC9B;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,CAAC,OAAO,WAAW,GAAG;AAC1B;AAGA,YAAY,OAAO;",
5
5
  "names": []
6
6
  }
@@ -3,51 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MaybePromise } from "#util/Promises.js";
7
- import type { Participant } from "./Participant.js";
8
- import type { Resource } from "./Resource.js";
9
- import { Status } from "./Status.js";
10
6
  import type { Transaction } from "./Transaction.js";
11
7
  /**
12
8
  * This is the only public interface to this file.
13
9
  */
14
- export declare function open(via: string): Transaction & Transaction.Finalization;
15
- /**
16
- * The concrete implementation of the Transaction interface.
17
- */
18
- declare class Tx implements Transaction, Transaction.Finalization {
19
- #private;
20
- constructor(via: string, readonly?: boolean);
21
- [Symbol.dispose](): void;
22
- get via(): string;
23
- get status(): Status;
24
- get participants(): Set<Participant>;
25
- get resources(): Set<Resource>;
26
- get waitingOn(): Iterable<Transaction> | undefined;
27
- get isAsync(): boolean;
28
- /**
29
- * We set this during async processing. This enables the lock reporting when too much time ellapses.
30
- */
31
- set isAsync(isAsync: true);
32
- onShared(listener: () => void, once?: boolean): void;
33
- onClose(listener: () => void): void;
34
- addResources(...resources: Resource[]): Promise<void>;
35
- addResourcesSync(...resources: Resource[]): void;
36
- begin(): Promise<void>;
37
- beginSync(): void;
38
- addParticipants(...participants: Participant[]): void;
39
- getParticipant(role: {}): Participant | undefined;
40
- commit(): MaybePromise<void>;
41
- resolve<T>(result: T): MaybePromise<Awaited<T>>;
42
- rollback(): Promise<void> | undefined;
43
- reject(cause: unknown): MaybePromise<never>;
44
- waitFor(others: Set<Transaction>): Promise<void>;
45
- toString(): string;
46
- treatAsSlow(): void;
47
- }
48
- /**
49
- * A read-only offline transaction you may use without context.
50
- */
51
- export declare const ReadOnlyTransaction: Tx;
52
- export {};
10
+ export declare function open(via: string, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
53
11
  //# sourceMappingURL=Tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/transaction/Tx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC,YAAY,CAExE;AAED;;GAEG;AACH,cAAM,EAAG,YAAW,WAAW,EAAE,WAAW,CAAC,YAAY;;gBAYzC,GAAG,EAAE,MAAM,EAAE,QAAQ,UAAQ;IASzC,CAAC,MAAM,CAAC,OAAO,CAAC;IAMhB,IAAI,GAAG,WAEN;IAED,IAAI,MAAM,WAET;IAED,IAAI,YAAY,qBAEf;IAED,IAAI,SAAS,kBAEZ;IAED,IAAI,SAAS,sCAEZ;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAOxB;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO;IAW7C,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI;IAatB,YAAY,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE;IAY3C,gBAAgB,CAAC,GAAG,SAAS,EAAE,QAAQ,EAAE;IAgBnC,KAAK;IAsBX,SAAS;IAqBT,eAAe,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE;IAyB9C,cAAc,CAAC,IAAI,EAAE,EAAE;IAMvB,MAAM;IAeN,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAiC/C,QAAQ;IAMR,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;IAyE3C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC;IA6BhC,QAAQ;IAIR,WAAW;CAuYd;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,IAA2B,CAAC"}
1
+ {"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/transaction/Tx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD;;GAEG;AACH,wBAAgB,IAAI,CAChB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,WAAW,CAAC,cAAqB,GAC7C,WAAW,GAAG,WAAW,CAAC,YAAY,CAExC"}
@@ -17,10 +17,11 @@ import { Status } from "./Status.js";
17
17
  const logger = Logger.get("Transaction");
18
18
  const MAX_PRECOMMIT_CYCLES = 5;
19
19
  const MAX_CHAINED_COMMITS = 5;
20
- function open(via) {
21
- return new Tx(via);
20
+ function open(via, isolation = "rw") {
21
+ return new Tx(via, isolation);
22
22
  }
23
23
  class Tx {
24
+ #isolation;
24
25
  #participants = /* @__PURE__ */ new Set();
25
26
  #roles = /* @__PURE__ */ new Map();
26
27
  #resources = /* @__PURE__ */ new Set();
@@ -31,12 +32,13 @@ class Tx {
31
32
  #closed;
32
33
  #isAsync = false;
33
34
  #reportingLocks = false;
34
- constructor(via, readonly = false) {
35
+ constructor(via, isolation) {
35
36
  this.#via = Diagnostic.via(via);
36
- if (readonly) {
37
- this.#status = Status.ReadOnly;
38
- } else {
37
+ this.#isolation = isolation;
38
+ if (isolation === "rw") {
39
39
  this.#status = Status.Shared;
40
+ } else {
41
+ this.#status = Status.ReadOnly;
40
42
  }
41
43
  }
42
44
  [Symbol.dispose]() {
@@ -47,6 +49,9 @@ class Tx {
47
49
  get via() {
48
50
  return this.#via;
49
51
  }
52
+ get isolation() {
53
+ return this.#isolation;
54
+ }
50
55
  get status() {
51
56
  return this.#status;
52
57
  }
@@ -598,7 +603,6 @@ class Tx {
598
603
  }
599
604
  }
600
605
  }
601
- const ReadOnlyTransaction = new Tx("readonly", true);
602
606
  function throwIfErrored(errored, when) {
603
607
  if (!errored?.length) {
604
608
  return;
@@ -651,7 +655,6 @@ const Monitor = /* @__PURE__ */ function() {
651
655
  };
652
656
  }();
653
657
  export {
654
- ReadOnlyTransaction,
655
658
  open
656
659
  };
657
660
  //# sourceMappingURL=Tx.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/transaction/Tx.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["result", "reportParticipantError"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.14.0-alpha.0-20250527-b2a4cc12b",
3
+ "version": "0.14.0-alpha.0-20250528-d6d12ae65",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^1.9.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.14.0-alpha.0-20250527-b2a4cc12b"
39
+ "@matter/testing": "0.14.0-alpha.0-20250528-d6d12ae65"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -9,7 +9,7 @@ import { Participant } from "./Participant.js";
9
9
  import { Resource } from "./Resource.js";
10
10
  import { ResourceSet } from "./ResourceSet.js";
11
11
  import { Status } from "./Status.js";
12
- import { ReadOnlyTransaction, open } from "./Tx.js";
12
+ import { open } from "./Tx.js";
13
13
 
14
14
  /**
15
15
  * Two-phase commit implementation.
@@ -33,6 +33,11 @@ export interface Transaction {
33
33
  */
34
34
  readonly via: string;
35
35
 
36
+ /**
37
+ * The {@link Transaction.IsolationLevel} of this transaction.
38
+ */
39
+ readonly isolation: Transaction.IsolationLevel;
40
+
36
41
  /**
37
42
  * The status of the transaction.
38
43
  */
@@ -183,13 +188,11 @@ export const Transaction = {
183
188
  *
184
189
  * When closed the transaction commits automatically if exclusive.
185
190
  */
186
- open(via: string) {
191
+ open(via: string, isolation: Transaction.IsolationLevel = "rw") {
187
192
  // This function is replaced below so do not edit
188
- return open(via);
193
+ return open(via, isolation);
189
194
  },
190
195
 
191
- ReadOnly: ReadOnlyTransaction,
192
-
193
196
  Status,
194
197
 
195
198
  Resource,
@@ -224,4 +227,20 @@ export namespace Transaction {
224
227
  */
225
228
  reject(cause: unknown): MaybePromise<never>;
226
229
  }
230
+
231
+ export type IsolationLevel =
232
+ /**
233
+ * Transaction reads only committed and may enter exclusive (write) mode.
234
+ */
235
+ | "rw"
236
+
237
+ /**
238
+ * Transaction is read-only but updates are visible after commit.
239
+ */
240
+ | "ro"
241
+
242
+ /**
243
+ * Transaction is read-only and data remains at version of first access.
244
+ */
245
+ | "snapshot";
227
246
  }
@@ -30,14 +30,18 @@ const MAX_CHAINED_COMMITS = 5;
30
30
  /**
31
31
  * This is the only public interface to this file.
32
32
  */
33
- export function open(via: string): Transaction & Transaction.Finalization {
34
- return new Tx(via);
33
+ export function open(
34
+ via: string,
35
+ isolation: Transaction.IsolationLevel = "rw",
36
+ ): Transaction & Transaction.Finalization {
37
+ return new Tx(via, isolation);
35
38
  }
36
39
 
37
40
  /**
38
41
  * The concrete implementation of the Transaction interface.
39
42
  */
40
43
  class Tx implements Transaction, Transaction.Finalization {
44
+ #isolation: Transaction.IsolationLevel;
41
45
  #participants = new Set<Participant>();
42
46
  #roles = new Map<{}, Participant>();
43
47
  #resources = new Set<Resource>();
@@ -49,12 +53,13 @@ class Tx implements Transaction, Transaction.Finalization {
49
53
  #isAsync = false;
50
54
  #reportingLocks = false;
51
55
 
52
- constructor(via: string, readonly = false) {
56
+ constructor(via: string, isolation: Transaction.IsolationLevel) {
53
57
  this.#via = Diagnostic.via(via);
54
- if (readonly) {
55
- this.#status = Status.ReadOnly;
56
- } else {
58
+ this.#isolation = isolation;
59
+ if (isolation === "rw") {
57
60
  this.#status = Status.Shared;
61
+ } else {
62
+ this.#status = Status.ReadOnly;
58
63
  }
59
64
  }
60
65
 
@@ -68,6 +73,10 @@ class Tx implements Transaction, Transaction.Finalization {
68
73
  return this.#via;
69
74
  }
70
75
 
76
+ get isolation() {
77
+ return this.#isolation;
78
+ }
79
+
71
80
  get status() {
72
81
  return this.#status;
73
82
  }
@@ -779,11 +788,6 @@ class Tx implements Transaction, Transaction.Finalization {
779
788
  }
780
789
  }
781
790
 
782
- /**
783
- * A read-only offline transaction you may use without context.
784
- */
785
- export const ReadOnlyTransaction = new Tx("readonly", true);
786
-
787
791
  function throwIfErrored(errored: undefined | Array<Participant>, when: string) {
788
792
  if (!errored?.length) {
789
793
  return;