@matter/general 0.13.1-alpha.0-20250506-f9ad9c3d8 → 0.13.1-alpha.0-20250509-28e1567e1

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.
@@ -3,6 +3,7 @@
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";
6
7
  import * as mod from "@noble/curves/abstract/modular";
7
8
  import * as utils from "@noble/curves/abstract/utils";
8
9
  import { MatterError } from "../MatterError.js";
@@ -83,37 +84,37 @@ export declare abstract class Crypto {
83
84
  static readonly getRandomUInt32: () => number;
84
85
  static readonly getRandomBigUInt64: () => bigint;
85
86
  static readonly getRandomBigInt: (size: number, maxValue?: bigint) => bigint;
86
- abstract ecdhGeneratePublicKey(): {
87
+ abstract ecdhGeneratePublicKey(): MaybePromise<{
87
88
  publicKey: Uint8Array;
88
89
  ecdh: any;
89
- };
90
- static readonly ecdhGeneratePublicKey: () => {
90
+ }>;
91
+ static readonly ecdhGeneratePublicKey: () => MaybePromise<{
91
92
  publicKey: Uint8Array;
92
93
  ecdh: any;
93
- };
94
- abstract ecdhGeneratePublicKeyAndSecret(peerPublicKey: Uint8Array): {
94
+ }>;
95
+ abstract ecdhGeneratePublicKeyAndSecret(peerPublicKey: Uint8Array): MaybePromise<{
95
96
  publicKey: Uint8Array;
96
97
  sharedSecret: Uint8Array;
97
- };
98
- static readonly ecdhGeneratePublicKeyAndSecret: (peerPublicKey: Uint8Array) => {
98
+ }>;
99
+ static readonly ecdhGeneratePublicKeyAndSecret: (peerPublicKey: Uint8Array) => MaybePromise<{
99
100
  publicKey: Uint8Array;
100
101
  sharedSecret: Uint8Array;
101
- };
102
- abstract ecdhGenerateSecret(peerPublicKey: Uint8Array, ecdh: any): Uint8Array;
103
- static readonly ecdhGenerateSecret: (peerPublicKey: Uint8Array, ecdh: any) => Uint8Array;
104
- abstract hash(data: Uint8Array | Uint8Array[]): Uint8Array;
105
- static readonly hash: (data: Uint8Array | Uint8Array[]) => Uint8Array;
106
- abstract pbkdf2(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): Promise<Uint8Array>;
107
- static readonly pbkdf2: (secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number) => Promise<Uint8Array>;
108
- abstract hkdf(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): Promise<Uint8Array>;
109
- static readonly hkdf: (secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number) => Promise<Uint8Array>;
110
- abstract hmac(key: Uint8Array, data: Uint8Array): Uint8Array;
111
- static readonly hmac: (key: Uint8Array, data: Uint8Array) => Uint8Array;
112
- abstract sign(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): Uint8Array;
113
- static readonly sign: (privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding) => Uint8Array;
114
- abstract verify(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): void;
115
- static readonly verify: (publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding) => void;
116
- abstract createKeyPair(): PrivateKey;
117
- static readonly createKeyPair: () => PrivateKey;
102
+ }>;
103
+ abstract ecdhGenerateSecret(peerPublicKey: Uint8Array, ecdh: any): MaybePromise<Uint8Array>;
104
+ static readonly ecdhGenerateSecret: (peerPublicKey: Uint8Array, ecdh: any) => MaybePromise<Uint8Array<ArrayBufferLike>>;
105
+ abstract hash(data: Uint8Array | Uint8Array[]): MaybePromise<Uint8Array>;
106
+ static readonly hash: (data: Uint8Array | Uint8Array[]) => MaybePromise<Uint8Array<ArrayBufferLike>>;
107
+ abstract pbkdf2(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): MaybePromise<Uint8Array>;
108
+ static readonly pbkdf2: (secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number) => MaybePromise<Uint8Array<ArrayBufferLike>>;
109
+ abstract hkdf(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): MaybePromise<Uint8Array>;
110
+ static readonly hkdf: (secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number) => MaybePromise<Uint8Array<ArrayBufferLike>>;
111
+ abstract hmac(key: Uint8Array, data: Uint8Array): MaybePromise<Uint8Array>;
112
+ static readonly hmac: (key: Uint8Array, data: Uint8Array) => MaybePromise<Uint8Array<ArrayBufferLike>>;
113
+ abstract sign(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Uint8Array>;
114
+ static readonly sign: (privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding) => MaybePromise<Uint8Array<ArrayBufferLike>>;
115
+ abstract verify(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
116
+ static readonly verify: (publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding) => MaybePromise<void>;
117
+ abstract createKeyPair(): MaybePromise<PrivateKey>;
118
+ static readonly createKeyPair: () => MaybePromise<PrivateKey>;
118
119
  }
119
120
  //# sourceMappingURL=Crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA4EU,GAAI;;gEAuBd,GAAI,yBACH,GAAI;;;;CAhGnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AACtD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,KAAK,CAAC;AAErD,qBAAa,iBAAkB,SAAQ,WAAW;CAAG;AAErD,8BAAsB,MAAM;IACxB,MAAM,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAEzB,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU;IACpG,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAI,KAAK,UAAU,EAAE,MAAM,UAAU,EAAE,OAAO,UAAU,EAAE,MAAM,UAAU,KAAG,UAAU,CAC9D;IAEhD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU;IACpG,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAI,KAAK,UAAU,EAAE,MAAM,UAAU,EAAE,OAAO,UAAU,EAAE,MAAM,UAAU,KAAG,UAAU,CAC9D;IAEhD,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAClD,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAI,QAAQ,MAAM,KAAG,UAAU,CAAuC;IAEnG,MAAM,CAAC,QAAQ,CAAC,SAAS,QAAO,UAAU,CAAqD;IAE/F,MAAM,CAAC,QAAQ,CAAC,eAAe,QAAO,MAAM,CACkC;IAE9E,MAAM,CAAC,QAAQ,CAAC,eAAe,QAAO,MAAM,CACkC;IAE9E,MAAM,CAAC,QAAQ,CAAC,kBAAkB,QAAO,MAAM,CAC+B;IAE9E,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAI,MAAM,MAAM,EAAE,WAAW,MAAM,KAAG,MAAM,CASzE;IAEF,QAAQ,CAAC,qBAAqB,IAAI,YAAY,CAAC;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC;IACpF,MAAM,CAAC,QAAQ,CAAC,qBAAqB;mBADuB,UAAU;cAAQ,GAAG;OACE;IAEnF,QAAQ,CAAC,8BAA8B,CAAC,aAAa,EAAE,UAAU,GAAG,YAAY,CAAC;QAC7E,SAAS,EAAE,UAAU,CAAC;QACtB,YAAY,EAAE,UAAU,CAAC;KAC5B,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,8BAA8B,GAAI,eAAe,UAAU;mBAH5D,UAAU;sBACP,UAAU;OAGmC;IAE/D,QAAQ,CAAC,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC;IAC3F,MAAM,CAAC,QAAQ,CAAC,kBAAkB,GAAI,eAAe,UAAU,EAAE,MAAM,GAAG,+CACjB;IAEzD,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC;IACxE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAI,MAAM,UAAU,GAAG,UAAU,EAAE,+CAA6B;IAEpF,QAAQ,CAAC,MAAM,CACX,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAClB,YAAY,CAAC,UAAU,CAAC;IAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAI,QAAQ,UAAU,EAAE,MAAM,UAAU,EAAE,WAAW,MAAM,EAAE,WAAW,MAAM,+CACxC;IAE5D,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC;IAChH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAI,QAAQ,UAAU,EAAE,MAAM,UAAU,EAAE,MAAM,UAAU,EAAE,SAAS,MAAM,+CAC7C;IAElD,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAI,KAAK,UAAU,EAAE,MAAM,UAAU,+CAAkC;IAE3F,QAAQ,CAAC,IAAI,CACT,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,EAC/B,WAAW,CAAC,EAAE,iBAAiB,GAChC,YAAY,CAAC,UAAU,CAAC;IAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAI,YAAY,UAAU,EAAE,MAAM,UAAU,GAAG,UAAU,EAAE,EAAE,cAAc,iBAAiB,+CAC3D;IAErD,QAAQ,CAAC,MAAM,CACX,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAChC,YAAY,CAAC,IAAI,CAAC;IACrB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAClB,WAAW,UAAU,EACrB,MAAM,UAAU,EAChB,WAAW,UAAU,EACrB,cAAc,iBAAiB,wBAC+B;IAElE,QAAQ,CAAC,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,aAAa,iCAAsC;CACtE"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Crypto.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -96,14 +96,14 @@ class Spake2p {
96
96
  return this.computeSecretAndVerifiers(X, Y, Z.toRawBytes(false), V.toRawBytes(false));
97
97
  }
98
98
  async computeSecretAndVerifiers(X, Y, Z, V) {
99
- const TT_HASH = this.computeTranscriptHash(X, Y, Z, V);
99
+ const TT_HASH = await this.computeTranscriptHash(X, Y, Z, V);
100
100
  const Ka = TT_HASH.slice(0, 16);
101
101
  const Ke = TT_HASH.slice(16, 32);
102
102
  const KcAB = await import_Crypto.Crypto.hkdf(Ka, new Uint8Array(0), import_Bytes.Bytes.fromString("ConfirmationKeys"), 32);
103
103
  const KcA = KcAB.slice(0, 16);
104
104
  const KcB = KcAB.slice(16, 32);
105
- const hAY = import_Crypto.Crypto.hmac(KcA, Y);
106
- const hBX = import_Crypto.Crypto.hmac(KcB, X);
105
+ const hAY = await import_Crypto.Crypto.hmac(KcA, Y);
106
+ const hBX = await import_Crypto.Crypto.hmac(KcB, X);
107
107
  return { Ke, hAY, hBX };
108
108
  }
109
109
  computeTranscriptHash(X, Y, Z, V) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Spake2p.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -144,16 +144,16 @@ export declare const Transaction: {
144
144
  */
145
145
  act<T>(via: string, actor: (transaction: Transaction) => MaybePromise<T>): MaybePromise<T>;
146
146
  ReadOnly: {
147
- "__#15411@#participants": Set<Participant>;
148
- "__#15411@#roles": Map<{}, Participant>;
149
- "__#15411@#resources": Set<Resource>;
150
- "__#15411@#status": Status;
151
- "__#15411@#waitingOn"?: Iterable<Transaction>;
152
- "__#15411@#via": string;
153
- "__#15411@#shared"?: import("../index.js").Observable<[]>;
154
- "__#15411@#closed"?: import("../index.js").Observable<[]>;
155
- "__#15411@#isAsync": boolean;
156
- "__#15411@#reportingLocks": boolean;
147
+ "__#15442@#participants": Set<Participant>;
148
+ "__#15442@#roles": Map<{}, Participant>;
149
+ "__#15442@#resources": Set<Resource>;
150
+ "__#15442@#status": Status;
151
+ "__#15442@#waitingOn"?: Iterable<Transaction>;
152
+ "__#15442@#via": string;
153
+ "__#15442@#shared"?: import("../index.js").Observable<[]>;
154
+ "__#15442@#closed"?: import("../index.js").Observable<[]>;
155
+ "__#15442@#isAsync": boolean;
156
+ "__#15442@#reportingLocks": boolean;
157
157
  close(): void;
158
158
  readonly via: string;
159
159
  readonly status: Status;
@@ -175,15 +175,15 @@ export declare const Transaction: {
175
175
  waitFor(others: Set<Transaction>): Promise<void>;
176
176
  toString(): string;
177
177
  treatAsSlow(): void;
178
- "__#15411@#finalize"(status: Status, why: string, finalizer: () => MaybePromise): Promise<void> | undefined;
179
- "__#15411@#executePreCommit"(): MaybePromise<void>;
180
- "__#15411@#executeCommit"(): MaybePromise;
181
- "__#15411@#executeCommit1"(): MaybePromise;
182
- "__#15411@#executeCommit2"(): Promise<void> | undefined;
183
- "__#15411@#executePostCommit"(participants: Participant[]): MaybePromise;
184
- "__#15411@#executeRollback"(): Promise<void> | undefined;
185
- "__#15411@#locksChanged"(resources: Set<Resource>, how?: string): void;
186
- "__#15411@#assertAvailable"(): void;
178
+ "__#15442@#finalize"(status: Status, why: string, finalizer: () => MaybePromise): Promise<void> | undefined;
179
+ "__#15442@#executePreCommit"(): MaybePromise<void>;
180
+ "__#15442@#executeCommit"(): MaybePromise;
181
+ "__#15442@#executeCommit1"(): MaybePromise;
182
+ "__#15442@#executeCommit2"(): Promise<void> | undefined;
183
+ "__#15442@#executePostCommit"(participants: Participant[]): MaybePromise;
184
+ "__#15442@#executeRollback"(): Promise<void> | undefined;
185
+ "__#15442@#locksChanged"(resources: Set<Resource>, how?: string): void;
186
+ "__#15442@#assertAvailable"(): void;
187
187
  };
188
188
  Status: typeof Status;
189
189
  Resource: typeof Resource;
@@ -8,7 +8,30 @@ export { camelize, describeList, serialize } from "./String.js";
8
8
  * Performs word wrap. Input is assumed to be a series of paragraphs separated by a newline. Output is an array of
9
9
  * formatted lines.
10
10
  *
11
- * Contains specialized support for lists, ESDoc directives ans ANSI escape codes.
11
+ * Contains specialized support for lists, ESDoc directives and ANSI escape codes.
12
12
  */
13
13
  export declare function FormattedText(text: string, width?: number): string[];
14
+ /**
15
+ * Types of things we consider "blocks". Most blocks are lists but we also support markdown-style quotes prefixed with
16
+ * ">".
17
+ */
18
+ export declare enum BlockKind {
19
+ Simple = "simple",
20
+ Bullet1 = "\u2022",
21
+ Bullet2 = "\u25E6",
22
+ Bullet3 = "\u25AA",
23
+ Bullet4 = "\u25CB",
24
+ Bullet5 = "\u25CF",
25
+ Bullet6 = "\u2023",
26
+ Bullet7 = "\u2043",
27
+ Bullet8 = "\u25D8",
28
+ Quote = ">",
29
+ Number = "number",
30
+ LowerAlpha = "alpha",
31
+ UpperAlpha = "ALPHA",
32
+ LowerRoman = "roman",
33
+ UpperRoman = "ROMAN"
34
+ }
35
+ export declare const Bullets: BlockKind[];
36
+ export declare function looksLikeListItem(text: string): boolean;
14
37
  //# sourceMappingURL=FormattedText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormattedText.d.ts","sourceRoot":"","sources":["../../../src/util/FormattedText.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,YAGtD"}
1
+ {"version":3,"file":"FormattedText.d.ts","sourceRoot":"","sources":["../../../src/util/FormattedText.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,YAGtD;AAED;;;GAGG;AACH,oBAAY,SAAS;IACjB,MAAM,WAAW;IACjB,OAAO,WAAM;IACb,OAAO,WAAM;IACb,OAAO,WAAM;IACb,OAAO,WAAM;IACb,OAAO,WAAM;IACb,OAAO,WAAM;IACb,OAAO,WAAM;IACb,OAAO,WAAM;IACb,KAAK,MAAM;IACX,MAAM,WAAW;IACjB,UAAU,UAAU;IACpB,UAAU,UAAU;IACpB,UAAU,UAAU;IACpB,UAAU,UAAU;CACvB;AAED,eAAO,MAAM,OAAO,aAEU,CAAC;AAK/B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,WAE7C"}
@@ -18,9 +18,12 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var FormattedText_exports = {};
20
20
  __export(FormattedText_exports, {
21
+ BlockKind: () => BlockKind,
22
+ Bullets: () => Bullets,
21
23
  FormattedText: () => FormattedText,
22
24
  camelize: () => import_String.camelize,
23
25
  describeList: () => import_String.describeList,
26
+ looksLikeListItem: () => looksLikeListItem,
24
27
  serialize: () => import_String.serialize
25
28
  });
26
29
  module.exports = __toCommonJS(FormattedText_exports);
@@ -30,107 +33,97 @@ var import_String = require("./String.js");
30
33
  * Copyright 2022-2025 Matter.js Authors
31
34
  * SPDX-License-Identifier: Apache-2.0
32
35
  */
33
- const LIST_INDENT = 2;
36
+ const INDENT = " ";
34
37
  function FormattedText(text, width = 120) {
35
38
  const structure = detectStructure(text);
36
- return formatStructure(structure, width);
39
+ return formatBlock(structure, width);
37
40
  }
38
- var ListType = /* @__PURE__ */ ((ListType2) => {
39
- ListType2["Bullet1"] = "\u2022";
40
- ListType2["Bullet2"] = "\u25E6";
41
- ListType2["Bullet3"] = "\u25AA";
42
- ListType2["Bullet4"] = "\u25CB";
43
- ListType2["Bullet5"] = "\u25CF";
44
- ListType2["Bullet6"] = "\u2023";
45
- ListType2["Bullet7"] = "\u2043";
46
- ListType2["Bullet8"] = "\u25D8";
47
- ListType2["Number"] = "number";
48
- ListType2["LowerAlpha"] = "alpha";
49
- ListType2["UpperAlpha"] = "ALPHA";
50
- ListType2["LowerRoman"] = "roman";
51
- ListType2["UpperRoman"] = "ROMAN";
52
- return ListType2;
53
- })(ListType || {});
54
- function detectList(text, listState) {
55
- function enterList(listType) {
56
- const existing = listState.indexOf(listType);
57
- if (existing == -1) {
58
- listState.push(listType);
59
- } else {
60
- listState.length = existing + 1;
61
- }
41
+ var BlockKind = /* @__PURE__ */ ((BlockKind2) => {
42
+ BlockKind2["Simple"] = "simple";
43
+ BlockKind2["Bullet1"] = "\u2022";
44
+ BlockKind2["Bullet2"] = "\u25E6";
45
+ BlockKind2["Bullet3"] = "\u25AA";
46
+ BlockKind2["Bullet4"] = "\u25CB";
47
+ BlockKind2["Bullet5"] = "\u25CF";
48
+ BlockKind2["Bullet6"] = "\u2023";
49
+ BlockKind2["Bullet7"] = "\u2043";
50
+ BlockKind2["Bullet8"] = "\u25D8";
51
+ BlockKind2["Quote"] = ">";
52
+ BlockKind2["Number"] = "number";
53
+ BlockKind2["LowerAlpha"] = "alpha";
54
+ BlockKind2["UpperAlpha"] = "ALPHA";
55
+ BlockKind2["LowerRoman"] = "roman";
56
+ BlockKind2["UpperRoman"] = "ROMAN";
57
+ return BlockKind2;
58
+ })(BlockKind || {});
59
+ const Bullets = Object.entries(BlockKind).filter(([key]) => key.startsWith("Bullet")).map(([, value]) => value);
60
+ const enumTest = "(?:\\d+|[ivx]+|[a-z])\\.";
61
+ const listItemTest = new RegExp(`^(?:[${Bullets.join("")}]|${enumTest})\\s`, "i");
62
+ function looksLikeListItem(text) {
63
+ return !!listItemTest.exec(text);
64
+ }
65
+ const Empty = {
66
+ kind: "simple" /* Simple */,
67
+ indentWidth: 0,
68
+ entries: []
69
+ };
70
+ function detectBlock(text, breadcrumb) {
71
+ const match = text.match(/^\s*(\S+)/);
72
+ if (!match) {
73
+ return;
62
74
  }
63
- for (const value of Object.values(ListType)) {
64
- if (text[0] === value && text[1] === " ") {
65
- enterList(text[0]);
75
+ const [, marker] = match;
76
+ if (Bullets.includes(marker) || marker === ">" /* Quote */) {
77
+ enterBlock(marker);
78
+ return;
79
+ }
80
+ if (detectEnumeration(/^\d+\.$/, "1", "number" /* Number */)) return;
81
+ if (detectEnumeration(/^[ivx]+\.$/, "i", "roman" /* LowerRoman */)) return;
82
+ if (detectEnumeration(/^[IVX]+\.$/, "I", "ROMAN" /* UpperRoman */)) return;
83
+ if (detectEnumeration(/^[a-z]+\.$/, "a", "alpha" /* LowerAlpha */)) return;
84
+ if (detectEnumeration(/^[A-Z]+\.$/, "A", "ALPHA" /* UpperAlpha */)) return;
85
+ breadcrumb.length = 1;
86
+ function enterBlock(kind) {
87
+ const level = breadcrumb.findIndex((entry) => entry.kind === kind);
88
+ if (level !== -1) {
89
+ breadcrumb.length = level + 1;
66
90
  return;
67
91
  }
92
+ const block = {
93
+ kind,
94
+ indentWidth: (breadcrumb[breadcrumb.length - 1]?.indentWidth ?? 0) + kind === ">" /* Quote */ ? 0 : 2,
95
+ entries: []
96
+ };
97
+ breadcrumb[breadcrumb.length - 1].entries.push(block);
98
+ breadcrumb.push(block);
68
99
  }
69
- function detectEnumeration(test, listType, first) {
70
- if (!text.match(test)) {
100
+ function detectEnumeration(test, startsWith, kind) {
101
+ if (!marker.match(test)) {
71
102
  return false;
72
103
  }
73
- if (listState.indexOf(listType) != -1 || text.startsWith(`${first}.`)) {
74
- enterList(listType);
75
- return true;
104
+ if (!breadcrumb.find((block) => block.kind === kind)) {
105
+ if (marker !== `${startsWith}.`) {
106
+ return false;
107
+ }
76
108
  }
77
- return false;
109
+ enterBlock(kind);
110
+ return true;
78
111
  }
79
- if (detectEnumeration(/^\d+\./, "number" /* Number */, "1")) return;
80
- if (detectEnumeration(/^[ivx]+\./, "roman" /* LowerRoman */, "i")) return;
81
- if (detectEnumeration(/^[IVX]+\./, "ROMAN" /* UpperRoman */, "I")) return;
82
- if (detectEnumeration(/^[a-z]+\./, "alpha" /* LowerAlpha */, "a")) return;
83
- if (detectEnumeration(/^[A-Z]+\./, "ALPHA" /* UpperAlpha */, "A")) return;
84
- listState.length = 0;
85
- }
86
- function extractPrefix(text) {
87
- const match = text.match(/^(\S+)\s+($|\S.*$)/);
88
- if (match) {
89
- return { prefix: match[1], text: match[2] };
90
- }
91
- return { prefix: text, text: "" };
92
112
  }
93
113
  function detectStructure(text) {
94
- if (text == "") {
95
- return { prefixWidth: 0, entries: [] };
114
+ const lines = text.split(/\n+/).map((line) => line.trimEnd());
115
+ if (!lines.some((p) => p)) {
116
+ return Empty;
96
117
  }
97
- const paragraphs = text.split(/\n+/).map((paragraph) => paragraph.trim().replace(/\s+/g, " "));
98
- if (!paragraphs.length) {
99
- return { prefixWidth: 0, entries: [] };
118
+ const breadcrumb = [{ ...Empty, entries: [] }];
119
+ for (const line of lines) {
120
+ detectBlock(line, breadcrumb);
121
+ breadcrumb[breadcrumb.length - 1].entries.push(line.trim().replace(/\s+/g, " "));
100
122
  }
101
- const listState = Array();
102
- let index = 0;
103
- function processLevel() {
104
- const level = listState.length;
105
- const structure = {
106
- prefixWidth: 0,
107
- entries: []
108
- };
109
- while (index < paragraphs.length) {
110
- detectList(paragraphs[index], listState);
111
- if (listState.length < level) {
112
- break;
113
- }
114
- if (listState.length > level) {
115
- structure.entries.push(processLevel());
116
- if (listState.length < level || index >= paragraphs.length) {
117
- break;
118
- }
119
- }
120
- structure.entries.push(paragraphs[index]);
121
- if (level) {
122
- const { prefix } = extractPrefix(paragraphs[index]);
123
- if (prefix.length > structure.prefixWidth) {
124
- structure.prefixWidth = prefix.length;
125
- }
126
- }
127
- index++;
128
- }
129
- return structure;
130
- }
131
- return processLevel();
123
+ return breadcrumb[0];
132
124
  }
133
- function wrapParagraph(input, into, wrapWidth, padding, prefixWidth) {
125
+ function wrapParagraph(input, into, wrapWidth, initialPrefix, wrapPrefix) {
126
+ const prefixWidth = visibleWidthOf(initialPrefix);
134
127
  const segments = input.split(/\s+/);
135
128
  if (!segments) {
136
129
  return;
@@ -146,35 +139,23 @@ function wrapParagraph(input, into, wrapWidth, padding, prefixWidth) {
146
139
  }
147
140
  }
148
141
  }
149
- let wrapPrefix;
150
- if (prefixWidth) {
151
- wrapPrefix = "".padStart(prefixWidth + 1, " ");
152
- } else {
153
- wrapPrefix = "";
154
- }
155
- const line = Array();
156
- let length = 0;
142
+ const line = [initialPrefix];
143
+ let width = prefixWidth;
157
144
  let pushedOne = false;
158
- let needWrapPrefix = false;
159
145
  for (const s of segments) {
160
- const segmentLength = visibleLengthOf(s);
161
- if (length && length + segmentLength > wrapWidth) {
146
+ const segmentWidth = visibleWidthOf(s);
147
+ if (width && width + segmentWidth > wrapWidth) {
162
148
  addLine();
163
- line.length = length = 0;
164
- needWrapPrefix = true;
165
- }
166
- if (!line.length && padding) {
167
- line.push("".padStart(padding, " "));
168
- length += padding;
149
+ line.length = 0;
150
+ width = prefixWidth;
169
151
  }
170
- if (needWrapPrefix) {
171
- needWrapPrefix = false;
152
+ if (!line.length) {
172
153
  line.push(wrapPrefix);
173
- length += wrapPrefix.length;
154
+ width = prefixWidth;
174
155
  }
175
156
  line.push(s);
176
157
  line.push(" ");
177
- length += segmentLength + 1;
158
+ width += segmentWidth + 1;
178
159
  }
179
160
  line.length = line.length - 1;
180
161
  if (line.length) {
@@ -190,21 +171,45 @@ function wrapParagraph(input, into, wrapWidth, padding, prefixWidth) {
190
171
  into.push(line.join(""));
191
172
  }
192
173
  }
193
- function formatStructure(structure, width) {
174
+ function separatePrefixFromContent(text) {
175
+ const match = text.match(/^(\S+\s)\s*(\S.*$)/);
176
+ if (match) {
177
+ return { prefix: match[1], text: match[2] };
178
+ }
179
+ return { prefix: "", text };
180
+ }
181
+ function formatBlock(block, width) {
194
182
  const lines = Array();
195
- function formatLevel(structure2, padding) {
196
- for (const entry of structure2.entries) {
183
+ function formatLevel(block2, parentPrefix) {
184
+ for (const entry of block2.entries) {
197
185
  if (typeof entry == "string") {
198
- wrapParagraph(entry, lines, width, padding, structure2.prefixWidth);
186
+ let prefix, text;
187
+ if (block2.kind === "simple" /* Simple */) {
188
+ prefix = "";
189
+ text = entry;
190
+ } else {
191
+ ({ prefix, text } = separatePrefixFromContent(entry));
192
+ }
193
+ wrapParagraph(
194
+ text,
195
+ lines,
196
+ width,
197
+ parentPrefix + prefix,
198
+ parentPrefix + " ".repeat(visibleWidthOf(prefix))
199
+ );
199
200
  } else {
200
- formatLevel(entry, padding + LIST_INDENT);
201
+ let childPrefix = parentPrefix;
202
+ if (entry.kind !== ">" /* Quote */ || parentPrefix !== "") {
203
+ childPrefix += INDENT;
204
+ }
205
+ formatLevel(entry, childPrefix);
201
206
  }
202
207
  }
203
208
  }
204
- formatLevel(structure, 0);
209
+ formatLevel(block, "");
205
210
  return lines;
206
211
  }
207
- function visibleLengthOf(text) {
212
+ function visibleWidthOf(text) {
208
213
  let length = 0;
209
214
  for (let i = 0; i < text.length; ) {
210
215
  switch (text[i]) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/FormattedText.ts"],
4
- "mappings": "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",
5
- "names": ["ListType", "structure"]
4
+ "mappings": "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",
5
+ "names": ["BlockKind", "block"]
6
6
  }