@intentic/base 1.318.0 → 1.320.0

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.
@@ -0,0 +1,10 @@
1
+ export type Utf16 = "utf-16le" | "utf-16be";
2
+ export declare const utf16ByBom: (head: Uint8Array) => Utf16 | undefined;
3
+ export declare const UTF16_PROBE = 2;
4
+ export interface Utf16Window {
5
+ readonly content: string;
6
+ readonly offset: number;
7
+ readonly bytes: number;
8
+ }
9
+ export declare const decodeUtf16Window: (read: Uint8Array, probe: number, from: number, size: number, encoding: Utf16) => Utf16Window;
10
+ //# sourceMappingURL=utf16-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf16-text.d.ts","sourceRoot":"","sources":["../src/utf16-text.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;AAG5C,eAAO,MAAM,UAAU,SAAU,UAAU,KAAG,KAAK,GAAG,SAKrD,CAAC;AAIF,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AASD,eAAO,MAAM,iBAAiB,SAAU,UAAU,SAAS,MAAM,QAAQ,MAAM,QAAQ,MAAM,YAAY,KAAK,KAAG,WA0ChH,CAAC"}
@@ -0,0 +1,52 @@
1
+ export const utf16ByBom = (head) => {
2
+ if (head[0] === 0xff && head[1] === 0xfe) {
3
+ return "utf-16le";
4
+ }
5
+ return head[0] === 0xfe && head[1] === 0xff ? "utf-16be" : undefined;
6
+ };
7
+ export const UTF16_PROBE = 2;
8
+ const NEWLINE = 0x0a;
9
+ const isHighSurrogate = (unit) => unit >= 0xd8_00 && unit <= 0xdb_ff;
10
+ const isLowSurrogate = (unit) => unit >= 0xdc_00 && unit <= 0xdf_ff;
11
+ export const decodeUtf16Window = (read, probe, from, size, encoding) => {
12
+ const unitAt = (index) => encoding === "utf-16le" ? (read[index] ?? 0) | ((read[index + 1] ?? 0) << 8) : ((read[index] ?? 0) << 8) | (read[index + 1] ?? 0);
13
+ let start = probe + (from % 2);
14
+ let end = start + Math.floor((read.length - start) / 2) * 2;
15
+ const lineStart = from - probe + start <= UTF16_PROBE || (start >= 2 && unitAt(start - 2) === NEWLINE);
16
+ if (!lineStart) {
17
+ let newline = -1;
18
+ for (let index = start; index + 1 < end; index += 2) {
19
+ if (unitAt(index) === NEWLINE) {
20
+ newline = index;
21
+ break;
22
+ }
23
+ }
24
+ if (newline !== -1) {
25
+ start = newline + 2;
26
+ }
27
+ else if (start < end && isLowSurrogate(unitAt(start))) {
28
+ start += 2;
29
+ }
30
+ }
31
+ if (from - probe + read.length < size) {
32
+ let newline = -1;
33
+ for (let index = end - 2; index >= start; index -= 2) {
34
+ if (unitAt(index) === NEWLINE) {
35
+ newline = index;
36
+ break;
37
+ }
38
+ }
39
+ if (newline !== -1) {
40
+ end = newline + 2;
41
+ }
42
+ else if (end - 2 >= start && isHighSurrogate(unitAt(end - 2))) {
43
+ end -= 2;
44
+ }
45
+ }
46
+ else {
47
+ end = read.length;
48
+ }
49
+ const content = new TextDecoder(encoding).decode(read.subarray(start, end));
50
+ return { content, offset: from - probe + start, bytes: end - start };
51
+ };
52
+ //# sourceMappingURL=utf16-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf16-text.js","sourceRoot":"","sources":["../src/utf16-text.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/base",
3
- "version": "1.318.0",
3
+ "version": "1.320.0",
4
4
  "description": "Runtime primitives every tier shares, when-expressions, disposal, and the async schedulers",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -149,6 +149,17 @@
149
149
  "default": "./dist/plain-text.js"
150
150
  }
151
151
  },
152
+ "./utf16-text": {
153
+ "types": "./dist/utf16-text.d.ts",
154
+ "import": {
155
+ "@intentic/src": "./src/utf16-text.ts",
156
+ "default": "./dist/utf16-text.js"
157
+ },
158
+ "require": {
159
+ "@intentic/src": "./src/utf16-text.ts",
160
+ "default": "./dist/utf16-text.js"
161
+ }
162
+ },
152
163
  "./held": {
153
164
  "types": "./dist/held.d.ts",
154
165
  "import": {