@adviser/cement 0.5.30 → 0.5.31
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.
- package/cjs/coerce-binary.cjs +20 -5
- package/cjs/coerce-binary.cjs.map +1 -1
- package/cjs/coerce-binary.d.ts +2 -2
- package/cjs/coerce-binary.d.ts.map +1 -1
- package/cjs/txt-en-decoder.cjs +6 -6
- package/cjs/txt-en-decoder.cjs.map +1 -1
- package/cjs/txt-en-decoder.d.ts +3 -3
- package/cjs/txt-en-decoder.d.ts.map +1 -1
- package/cjs/utils/stream-map.cjs +19 -0
- package/cjs/utils/stream-map.cjs.map +1 -1
- package/cjs/utils/stream-map.d.ts +2 -0
- package/cjs/utils/stream-map.d.ts.map +1 -1
- package/cjs/utils/stream-map.test.cjs +50 -0
- package/cjs/utils/stream-map.test.cjs.map +1 -1
- package/cjs/version.cjs +1 -1
- package/deno.json +1 -1
- package/esm/coerce-binary.d.ts +2 -2
- package/esm/coerce-binary.d.ts.map +1 -1
- package/esm/coerce-binary.js +20 -5
- package/esm/coerce-binary.js.map +1 -1
- package/esm/txt-en-decoder.d.ts +3 -3
- package/esm/txt-en-decoder.d.ts.map +1 -1
- package/esm/txt-en-decoder.js +6 -6
- package/esm/txt-en-decoder.js.map +1 -1
- package/esm/utils/stream-map.d.ts +2 -0
- package/esm/utils/stream-map.d.ts.map +1 -1
- package/esm/utils/stream-map.js +17 -0
- package/esm/utils/stream-map.js.map +1 -1
- package/esm/utils/stream-map.test.js +51 -1
- package/esm/utils/stream-map.test.js.map +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/coerce-binary.ts +19 -7
- package/src/txt-en-decoder.ts +9 -9
- package/src/utils/stream-map.ts +24 -0
- package/ts/cjs/coerce-binary.d.ts +2 -2
- package/ts/cjs/coerce-binary.d.ts.map +1 -1
- package/ts/cjs/coerce-binary.js +20 -5
- package/ts/cjs/coerce-binary.js.map +1 -1
- package/ts/cjs/txt-en-decoder.d.ts +3 -3
- package/ts/cjs/txt-en-decoder.d.ts.map +1 -1
- package/ts/cjs/txt-en-decoder.js +6 -6
- package/ts/cjs/txt-en-decoder.js.map +1 -1
- package/ts/cjs/utils/stream-map.d.ts +2 -0
- package/ts/cjs/utils/stream-map.d.ts.map +1 -1
- package/ts/cjs/utils/stream-map.js +19 -0
- package/ts/cjs/utils/stream-map.js.map +1 -1
- package/ts/cjs/utils/stream-map.test.js +50 -0
- package/ts/cjs/utils/stream-map.test.js.map +1 -1
- package/ts/cjs/version.js +1 -1
- package/ts/esm/coerce-binary.d.ts +2 -2
- package/ts/esm/coerce-binary.d.ts.map +1 -1
- package/ts/esm/coerce-binary.js +20 -5
- package/ts/esm/coerce-binary.js.map +1 -1
- package/ts/esm/txt-en-decoder.d.ts +3 -3
- package/ts/esm/txt-en-decoder.d.ts.map +1 -1
- package/ts/esm/txt-en-decoder.js +6 -6
- package/ts/esm/txt-en-decoder.js.map +1 -1
- package/ts/esm/utils/stream-map.d.ts +2 -0
- package/ts/esm/utils/stream-map.d.ts.map +1 -1
- package/ts/esm/utils/stream-map.js +17 -0
- package/ts/esm/utils/stream-map.js.map +1 -1
- package/ts/esm/utils/stream-map.test.js +51 -1
- package/ts/esm/utils/stream-map.test.js.map +1 -1
- package/ts/esm/version.js +1 -1
package/src/coerce-binary.ts
CHANGED
|
@@ -28,11 +28,11 @@ export function isUint8Array(value: unknown): value is Uint8Array {
|
|
|
28
28
|
* @param input - String, ArrayBuffer, ArrayBufferView, Uint8Array, or Blob to convert
|
|
29
29
|
* @returns Promise resolving to Uint8Array
|
|
30
30
|
*/
|
|
31
|
-
export async function top_uint8(input: CoerceBinaryInput | Blob): Promise<Uint8Array> {
|
|
31
|
+
export async function top_uint8(input: CoerceBinaryInput | Blob, encode?: (x: unknown) => Uint8Array): Promise<Uint8Array> {
|
|
32
32
|
if (input instanceof Blob) {
|
|
33
33
|
return new Uint8Array(await input.arrayBuffer());
|
|
34
34
|
}
|
|
35
|
-
return to_uint8(input);
|
|
35
|
+
return to_uint8(input, encode);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -44,17 +44,29 @@ export async function top_uint8(input: CoerceBinaryInput | Blob): Promise<Uint8A
|
|
|
44
44
|
* @param encoder - Optional TextEncoder instance (uses singleton if not provided)
|
|
45
45
|
* @returns Uint8Array representation of the input
|
|
46
46
|
*/
|
|
47
|
-
export function to_uint8(input: CoerceBinaryInput, encoder?: TextEncoder): Uint8Array {
|
|
48
|
-
if (typeof input === "string") {
|
|
49
|
-
return (encoder ?? TxtEnDecoderSingleton()).encode(input);
|
|
50
|
-
}
|
|
47
|
+
export function to_uint8(input: CoerceBinaryInput, encoder?: TextEncoder | ((x: unknown) => Uint8Array)): Uint8Array {
|
|
51
48
|
if (isArrayBuffer(input)) {
|
|
52
49
|
return new Uint8Array(input);
|
|
53
50
|
}
|
|
54
|
-
|
|
55
51
|
if (isUint8Array(input)) {
|
|
56
52
|
return input;
|
|
57
53
|
}
|
|
54
|
+
let encodeFn: (x: unknown) => Uint8Array;
|
|
55
|
+
let isDefaultTxtEncoder = false;
|
|
56
|
+
if (typeof encoder === "function") {
|
|
57
|
+
encodeFn = encoder;
|
|
58
|
+
} else if (!encoder) {
|
|
59
|
+
isDefaultTxtEncoder = true;
|
|
60
|
+
encodeFn = TxtEnDecoderSingleton().encode as (x: unknown) => Uint8Array;
|
|
61
|
+
} else {
|
|
62
|
+
encodeFn = (x: unknown): Uint8Array => encoder.encode(x as string);
|
|
63
|
+
}
|
|
64
|
+
if (typeof input === "string" || isDefaultTxtEncoder) {
|
|
65
|
+
return encodeFn(input);
|
|
66
|
+
}
|
|
67
|
+
if (encoder) {
|
|
68
|
+
return encodeFn(input);
|
|
69
|
+
}
|
|
58
70
|
// not nice but we make the cloudflare types happy
|
|
59
71
|
return new Uint8Array(input as unknown as ArrayBufferLike);
|
|
60
72
|
}
|
package/src/txt-en-decoder.ts
CHANGED
|
@@ -6,19 +6,19 @@ export type ToDecoder = ToUInt8 | string | Result<string>;
|
|
|
6
6
|
export type AsyncToDecoder = ToDecoder | Blob | Promise<ToDecoder | Blob>;
|
|
7
7
|
|
|
8
8
|
export interface TxtEnDecoder {
|
|
9
|
-
encode(input: string)
|
|
10
|
-
decode(input?: ToDecoder)
|
|
11
|
-
asyncDecode(input?: AsyncToDecoder)
|
|
9
|
+
encode: (input: string) => Uint8Array;
|
|
10
|
+
decode: (input?: ToDecoder) => string;
|
|
11
|
+
asyncDecode: (input?: AsyncToDecoder) => Promise<string>;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
class TxtOps implements TxtEnDecoder {
|
|
15
15
|
readonly encoder = new TextEncoder();
|
|
16
16
|
readonly decoder = new TextDecoder();
|
|
17
17
|
|
|
18
|
-
encode(str: string): Uint8Array {
|
|
18
|
+
readonly encode = (str: string): Uint8Array => {
|
|
19
19
|
return this.encoder.encode(str);
|
|
20
|
-
}
|
|
21
|
-
decode(data?: ToDecoder): string {
|
|
20
|
+
};
|
|
21
|
+
readonly decode = (data?: ToDecoder): string => {
|
|
22
22
|
if (!data) {
|
|
23
23
|
return "";
|
|
24
24
|
}
|
|
@@ -36,9 +36,9 @@ class TxtOps implements TxtEnDecoder {
|
|
|
36
36
|
return data;
|
|
37
37
|
}
|
|
38
38
|
return this.decoder.decode(coerceIntoUint8(data as ToUInt8).Ok());
|
|
39
|
-
}
|
|
39
|
+
};
|
|
40
40
|
|
|
41
|
-
async
|
|
41
|
+
readonly asyncDecode = async (data?: AsyncToDecoder): Promise<string> => {
|
|
42
42
|
if (!data) {
|
|
43
43
|
return "";
|
|
44
44
|
}
|
|
@@ -47,7 +47,7 @@ class TxtOps implements TxtEnDecoder {
|
|
|
47
47
|
resolved = await resolved.arrayBuffer();
|
|
48
48
|
}
|
|
49
49
|
return this.decode(resolved);
|
|
50
|
-
}
|
|
50
|
+
};
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
export const TxtEnDecoderSingleton: () => TxtEnDecoder = Lazy((): TxtEnDecoder => new TxtOps());
|
package/src/utils/stream-map.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { isPromise } from "../is-promise.js";
|
|
2
|
+
import { top_uint8 } from "../coerce-binary.js";
|
|
3
|
+
import { TxtEnDecoderSingleton } from "@adviser/cement";
|
|
2
4
|
|
|
3
5
|
export interface StreamMap<T, U> {
|
|
4
6
|
Map(s: T, idx: number): U | Promise<U>;
|
|
@@ -157,3 +159,25 @@ export async function stream2array<T>(a: ReadableStream<T>): Promise<T[]> {
|
|
|
157
159
|
}
|
|
158
160
|
return ret;
|
|
159
161
|
}
|
|
162
|
+
|
|
163
|
+
export function coerceStreamUint8(
|
|
164
|
+
stream: ReadableStream<Uint8Array | string>,
|
|
165
|
+
encoder?: (x: unknown) => Uint8Array,
|
|
166
|
+
): ReadableStream<Uint8Array> {
|
|
167
|
+
return streamMap(stream, {
|
|
168
|
+
Map: (chunk) => top_uint8(chunk, encoder),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export function coerceStreamString(
|
|
173
|
+
stream: ReadableStream<Uint8Array | string>,
|
|
174
|
+
decode?: (x: unknown) => string,
|
|
175
|
+
): ReadableStream<string> {
|
|
176
|
+
let decodeFn!: (x: unknown) => string;
|
|
177
|
+
if (!decode) {
|
|
178
|
+
decodeFn = (x: unknown): string => (typeof x === "string" ? x : TxtEnDecoderSingleton().decode(x as Uint8Array));
|
|
179
|
+
} else {
|
|
180
|
+
decodeFn = decode;
|
|
181
|
+
}
|
|
182
|
+
return streamMap(stream, { Map: (chunk) => decodeFn(chunk) });
|
|
183
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type CoerceBinaryInput = string | ArrayBufferLike | ArrayBufferView | Uint8Array;
|
|
2
2
|
export declare function isArrayBuffer(value: unknown): value is ArrayBuffer;
|
|
3
3
|
export declare function isUint8Array(value: unknown): value is Uint8Array;
|
|
4
|
-
export declare function top_uint8(input: CoerceBinaryInput | Blob): Promise<Uint8Array>;
|
|
5
|
-
export declare function to_uint8(input: CoerceBinaryInput, encoder?: TextEncoder): Uint8Array;
|
|
4
|
+
export declare function top_uint8(input: CoerceBinaryInput | Blob, encode?: (x: unknown) => Uint8Array): Promise<Uint8Array>;
|
|
5
|
+
export declare function to_uint8(input: CoerceBinaryInput, encoder?: TextEncoder | ((x: unknown) => Uint8Array)): Uint8Array;
|
|
6
6
|
export declare function to_blob(input: CoerceBinaryInput | Blob, encoder?: TextEncoder): Blob;
|
|
7
7
|
export declare function to_arraybuf(input: CoerceBinaryInput, encoder?: TextEncoder): ArrayBuffer;
|
|
8
8
|
//# sourceMappingURL=coerce-binary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-binary.d.ts","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAQxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAQD,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"coerce-binary.d.ts","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAQxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAQD,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAKzH;AAWD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC,GAAG,UAAU,CAyBnH;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAMpF;AASD,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAOxF"}
|
package/ts/cjs/coerce-binary.js
CHANGED
|
@@ -13,22 +13,37 @@ function isArrayBuffer(value) {
|
|
|
13
13
|
function isUint8Array(value) {
|
|
14
14
|
return value instanceof Uint8Array || Object.prototype.toString.call(value) === "[object Uint8Array]";
|
|
15
15
|
}
|
|
16
|
-
async function top_uint8(input) {
|
|
16
|
+
async function top_uint8(input, encode) {
|
|
17
17
|
if (input instanceof Blob) {
|
|
18
18
|
return new Uint8Array(await input.arrayBuffer());
|
|
19
19
|
}
|
|
20
|
-
return to_uint8(input);
|
|
20
|
+
return to_uint8(input, encode);
|
|
21
21
|
}
|
|
22
22
|
function to_uint8(input, encoder) {
|
|
23
|
-
if (typeof input === "string") {
|
|
24
|
-
return (encoder ?? (0, txt_en_decoder_js_1.TxtEnDecoderSingleton)()).encode(input);
|
|
25
|
-
}
|
|
26
23
|
if (isArrayBuffer(input)) {
|
|
27
24
|
return new Uint8Array(input);
|
|
28
25
|
}
|
|
29
26
|
if (isUint8Array(input)) {
|
|
30
27
|
return input;
|
|
31
28
|
}
|
|
29
|
+
let encodeFn;
|
|
30
|
+
let isDefaultTxtEncoder = false;
|
|
31
|
+
if (typeof encoder === "function") {
|
|
32
|
+
encodeFn = encoder;
|
|
33
|
+
}
|
|
34
|
+
else if (!encoder) {
|
|
35
|
+
isDefaultTxtEncoder = true;
|
|
36
|
+
encodeFn = (0, txt_en_decoder_js_1.TxtEnDecoderSingleton)().encode;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
encodeFn = (x) => encoder.encode(x);
|
|
40
|
+
}
|
|
41
|
+
if (typeof input === "string" || isDefaultTxtEncoder) {
|
|
42
|
+
return encodeFn(input);
|
|
43
|
+
}
|
|
44
|
+
if (encoder) {
|
|
45
|
+
return encodeFn(input);
|
|
46
|
+
}
|
|
32
47
|
return new Uint8Array(input);
|
|
33
48
|
}
|
|
34
49
|
function to_blob(input, encoder) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-binary.js","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":";;;;;;;;AAAA,2DAA4D;AAU5D,uBAA8B,KAAc,EAAwB;IAClE,OAAO,KAAK,YAAY,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC;AAAA,CACzG;AAQD,sBAA6B,KAAc,EAAuB;IAChE,OAAO,KAAK,YAAY,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC;AAAA,CACvG;AAQM,KAAK,oBAAoB,KAA+B,EAAuB;
|
|
1
|
+
{"version":3,"file":"coerce-binary.js","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":";;;;;;;;AAAA,2DAA4D;AAU5D,uBAA8B,KAAc,EAAwB;IAClE,OAAO,KAAK,YAAY,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC;AAAA,CACzG;AAQD,sBAA6B,KAAc,EAAuB;IAChE,OAAO,KAAK,YAAY,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC;AAAA,CACvG;AAQM,KAAK,oBAAoB,KAA+B,EAAE,MAAmC,EAAuB;IACzH,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAAA,CAChC;AAWD,kBAAyB,KAAwB,EAAE,OAAoD,EAAc;IACnH,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAoC,CAAC;IACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,mBAAmB,GAAG,IAAI,CAAC;QAC3B,QAAQ,GAAG,IAAA,yCAAqB,GAAE,CAAC,MAAoC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,CAAC,CAAU,EAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAW,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAmC,CAAC,CAAC;AAAA,CAC5D;AASD,iBAAwB,KAA+B,EAAE,OAAqB,EAAQ;IACpF,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,CACvB;AASD,qBAA4B,KAAwB,EAAE,OAAqB,EAAe;IACxF,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAgB,CAAC;AAAA,CAErF"}
|
|
@@ -3,9 +3,9 @@ import { ToUInt8 } from "./utils/coerce-uint8.js";
|
|
|
3
3
|
export type ToDecoder = ToUInt8 | string | Result<string>;
|
|
4
4
|
export type AsyncToDecoder = ToDecoder | Blob | Promise<ToDecoder | Blob>;
|
|
5
5
|
export interface TxtEnDecoder {
|
|
6
|
-
encode(input: string)
|
|
7
|
-
decode(input?: ToDecoder)
|
|
8
|
-
asyncDecode(input?: AsyncToDecoder)
|
|
6
|
+
encode: (input: string) => Uint8Array;
|
|
7
|
+
decode: (input?: ToDecoder) => string;
|
|
8
|
+
asyncDecode: (input?: AsyncToDecoder) => Promise<string>;
|
|
9
9
|
}
|
|
10
10
|
export declare const TxtEnDecoderSingleton: () => TxtEnDecoder;
|
|
11
11
|
//# sourceMappingURL=txt-en-decoder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt-en-decoder.d.ts","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAmB,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"txt-en-decoder.d.ts","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAmB,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACtC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1D;AAyCD,eAAO,MAAM,qBAAqB,EAAE,MAAM,YAAqD,CAAC"}
|
package/ts/cjs/txt-en-decoder.js
CHANGED
|
@@ -7,10 +7,10 @@ const coerce_uint8_js_1 = require("./utils/coerce-uint8.js");
|
|
|
7
7
|
class TxtOps {
|
|
8
8
|
encoder = new TextEncoder();
|
|
9
9
|
decoder = new TextDecoder();
|
|
10
|
-
encode(str) {
|
|
10
|
+
encode = (str) => {
|
|
11
11
|
return this.encoder.encode(str);
|
|
12
|
-
}
|
|
13
|
-
decode(data) {
|
|
12
|
+
};
|
|
13
|
+
decode = (data) => {
|
|
14
14
|
if (!data) {
|
|
15
15
|
return "";
|
|
16
16
|
}
|
|
@@ -27,8 +27,8 @@ class TxtOps {
|
|
|
27
27
|
return data;
|
|
28
28
|
}
|
|
29
29
|
return this.decoder.decode((0, coerce_uint8_js_1.coerceIntoUint8)(data).Ok());
|
|
30
|
-
}
|
|
31
|
-
async
|
|
30
|
+
};
|
|
31
|
+
asyncDecode = async (data) => {
|
|
32
32
|
if (!data) {
|
|
33
33
|
return "";
|
|
34
34
|
}
|
|
@@ -37,7 +37,7 @@ class TxtOps {
|
|
|
37
37
|
resolved = await resolved.arrayBuffer();
|
|
38
38
|
}
|
|
39
39
|
return this.decode(resolved);
|
|
40
|
-
}
|
|
40
|
+
};
|
|
41
41
|
}
|
|
42
42
|
exports.TxtEnDecoderSingleton = (0, resolve_once_js_1.Lazy)(() => new TxtOps());
|
|
43
43
|
//# sourceMappingURL=txt-en-decoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt-en-decoder.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":";;;AAAA,uDAAyC;AACzC,2CAAqC;AACrC,6DAAmE;AAWnE,MAAM,MAAM;IACD,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"txt-en-decoder.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":";;;AAAA,uDAAyC;AACzC,2CAAqC;AACrC,6DAAmE;AAWnE,MAAM,MAAM;IACD,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5B,MAAM,GAAG,CAAC,GAAW,EAAc,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAA,CACjC,CAAC;IACO,MAAM,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,kBAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,iCAAe,EAAC,IAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAAA,CACnE,CAAC;IAEO,WAAW,GAAG,KAAK,EAAE,IAAqB,EAAmB,EAAE,CAAC;QACvE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC;QAC1B,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;YAC7B,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC9B,CAAC;CACH;AAEY,QAAA,qBAAqB,GAAuB,IAAA,sBAAI,EAAC,GAAiB,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC"}
|
|
@@ -6,4 +6,6 @@ export declare function streamMap<T, U>(s: ReadableStream<T>, sm: StreamMap<T, U
|
|
|
6
6
|
export declare function devnull<T>(a: ReadableStream<T>): Promise<number>;
|
|
7
7
|
export declare function array2stream<T>(a: T[]): ReadableStream<T>;
|
|
8
8
|
export declare function stream2array<T>(a: ReadableStream<T>): Promise<T[]>;
|
|
9
|
+
export declare function coerceStreamUint8(stream: ReadableStream<Uint8Array | string>, encoder?: (x: unknown) => Uint8Array): ReadableStream<Uint8Array>;
|
|
10
|
+
export declare function coerceStreamString(stream: ReadableStream<Uint8Array | string>, decode?: (x: unknown) => string): ReadableStream<string>;
|
|
9
11
|
//# sourceMappingURL=stream-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-map.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream-map.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AA+BD,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAsB5F;AAyBD,wBAAsB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAWtE;AAkBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAYzD;AAuBD,wBAAsB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAWxE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,EAC3C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,GACnC,cAAc,CAAC,UAAU,CAAC,CAI5B;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,EAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,GAC9B,cAAc,CAAC,MAAM,CAAC,CAQxB"}
|
|
@@ -4,7 +4,11 @@ exports.streamMap = streamMap;
|
|
|
4
4
|
exports.devnull = devnull;
|
|
5
5
|
exports.array2stream = array2stream;
|
|
6
6
|
exports.stream2array = stream2array;
|
|
7
|
+
exports.coerceStreamUint8 = coerceStreamUint8;
|
|
8
|
+
exports.coerceStreamString = coerceStreamString;
|
|
7
9
|
const is_promise_js_1 = require("../is-promise.js");
|
|
10
|
+
const coerce_binary_js_1 = require("../coerce-binary.js");
|
|
11
|
+
const cement_1 = require("@adviser/cement");
|
|
8
12
|
function streamMap(s, sm) {
|
|
9
13
|
const state = { reader: s.getReader(), streamMap: sm, idx: 0 };
|
|
10
14
|
return new ReadableStream({
|
|
@@ -66,4 +70,19 @@ async function stream2array(a) {
|
|
|
66
70
|
}
|
|
67
71
|
return ret;
|
|
68
72
|
}
|
|
73
|
+
function coerceStreamUint8(stream, encoder) {
|
|
74
|
+
return streamMap(stream, {
|
|
75
|
+
Map: (chunk) => (0, coerce_binary_js_1.top_uint8)(chunk, encoder),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function coerceStreamString(stream, decode) {
|
|
79
|
+
let decodeFn;
|
|
80
|
+
if (!decode) {
|
|
81
|
+
decodeFn = (x) => (typeof x === "string" ? x : (0, cement_1.TxtEnDecoderSingleton)().decode(x));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
decodeFn = decode;
|
|
85
|
+
}
|
|
86
|
+
return streamMap(stream, { Map: (chunk) => decodeFn(chunk) });
|
|
87
|
+
}
|
|
69
88
|
//# sourceMappingURL=stream-map.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-map.js","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream-map.js","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,4 +87,54 @@ const stream_test_helper_js_1 = require("./stream-test-helper.js");
|
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
});
|
|
90
|
+
(0, vitest_1.describe)("coerceStreamUint8", () => {
|
|
91
|
+
(0, vitest_1.it)("default: encodes string chunks to Uint8Array", async () => {
|
|
92
|
+
const result = await (0, cement_1.stream2array)((0, cement_1.coerceStreamUint8)((0, cement_1.array2stream)(["Hello", " ", "World"])));
|
|
93
|
+
(0, vitest_1.expect)(new TextDecoder().decode(new Uint8Array(result.flatMap((c) => [...c])))).toBe("Hello World");
|
|
94
|
+
});
|
|
95
|
+
(0, vitest_1.it)("default: passes Uint8Array chunks through unchanged", async () => {
|
|
96
|
+
const chunks = ["foo", "bar"].map((s) => new TextEncoder().encode(s));
|
|
97
|
+
const result = await (0, cement_1.stream2array)((0, cement_1.coerceStreamUint8)((0, cement_1.array2stream)(chunks)));
|
|
98
|
+
(0, vitest_1.expect)(result).toEqual(chunks);
|
|
99
|
+
});
|
|
100
|
+
(0, vitest_1.it)("default: handles mixed string and Uint8Array chunks", async () => {
|
|
101
|
+
const stream = (0, cement_1.array2stream)(["Hello", new TextEncoder().encode(" World")]);
|
|
102
|
+
const result = await (0, cement_1.stream2array)((0, cement_1.coerceStreamUint8)(stream));
|
|
103
|
+
(0, vitest_1.expect)(new TextDecoder().decode(new Uint8Array(result.flatMap((c) => [...c])))).toBe("Hello World");
|
|
104
|
+
});
|
|
105
|
+
(0, vitest_1.it)("custom encoder: is called for string chunks", async () => {
|
|
106
|
+
const encodeSpy = vitest_1.vitest.fn((x) => {
|
|
107
|
+
return new TextEncoder().encode(x);
|
|
108
|
+
});
|
|
109
|
+
await (0, cement_1.stream2array)((0, cement_1.coerceStreamUint8)((0, cement_1.array2stream)(["a", "b", new Uint8Array([99])]), encodeSpy));
|
|
110
|
+
(0, vitest_1.expect)(encodeSpy).toBeCalledTimes(2);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
(0, vitest_1.describe)("coerceStreamString", () => {
|
|
114
|
+
(0, vitest_1.it)("default: decodes Uint8Array chunks to string", async () => {
|
|
115
|
+
const enc = new TextEncoder();
|
|
116
|
+
const result = await (0, cement_1.stream2array)((0, cement_1.coerceStreamString)((0, cement_1.array2stream)([enc.encode("Hello"), enc.encode(" World")])));
|
|
117
|
+
(0, vitest_1.expect)(result.join("")).toBe("Hello World");
|
|
118
|
+
});
|
|
119
|
+
(0, vitest_1.it)("default: passes string chunks through unchanged", async () => {
|
|
120
|
+
const result = await (0, cement_1.stream2array)((0, cement_1.coerceStreamString)((0, cement_1.array2stream)(["foo", "bar"])));
|
|
121
|
+
(0, vitest_1.expect)(result).toEqual(["foo", "bar"]);
|
|
122
|
+
});
|
|
123
|
+
(0, vitest_1.it)("default: handles mixed Uint8Array and string chunks", async () => {
|
|
124
|
+
const stream = (0, cement_1.array2stream)([new TextEncoder().encode("Hello"), " World"]);
|
|
125
|
+
const result = await (0, cement_1.stream2array)((0, cement_1.coerceStreamString)(stream));
|
|
126
|
+
(0, vitest_1.expect)(result.join("")).toBe("Hello World");
|
|
127
|
+
});
|
|
128
|
+
(0, vitest_1.it)("custom decoder: is called for Uint8Array chunks", async () => {
|
|
129
|
+
const decodeSpy = vitest_1.vitest.fn((x) => {
|
|
130
|
+
if (x instanceof Uint8Array) {
|
|
131
|
+
return new TextDecoder().decode(x);
|
|
132
|
+
}
|
|
133
|
+
return x;
|
|
134
|
+
});
|
|
135
|
+
const enc = new TextEncoder();
|
|
136
|
+
await (0, cement_1.stream2array)((0, cement_1.coerceStreamString)((0, cement_1.array2stream)([enc.encode("a"), enc.encode("b"), "c"]), decodeSpy));
|
|
137
|
+
(0, vitest_1.expect)(decodeSpy).toBeCalledTimes(3);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
90
140
|
//# sourceMappingURL=stream-map.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-map.test.js","sourceRoot":"","sources":["../../../../src/utils/stream-map.test.ts"],"names":[],"mappings":";;AAAA,mCAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"stream-map.test.js","sourceRoot":"","sources":["../../../../src/utils/stream-map.test.ts"],"names":[],"mappings":";;AAAA,mCAAsD;AACtD,4CAAwH;AACxH,mEAA8F;AAE9F,IAAA,WAAE,EAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAA,qBAAY,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;IAC9B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,EAAE,CAAC;YACT,MAAM;QACR,CAAC;QACD,IAAA,eAAM,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AAAA,CACF,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAY,EAC3B,IAAI,cAAc,CAAC;QACjB,KAAK,CAAC,UAAU,EAAQ;YACtB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,UAAU,CAAC,KAAK,EAAE,CAAC;QAAA,CACpB;KACF,CAAC,CACH,CAAC;IACF,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAAA,CAC/B,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAO,EACvB,IAAA,kBAAS,EAAC,IAAA,qBAAY,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;KACxC,CAAC,CACH,CAAC;IACF,IAAA,eAAM,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAAA,CACrB,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,eAAM,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,IAAA,qBAAY,EAC1B,IAAA,kBAAS,EAAC,IAAA,qBAAY,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;QACvC,KAAK,EAAE,OAAO;KACf,CAAC,CACH,CAAC;IACF,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACnC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAAA,CACjC,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,eAAM,CAAC,EAAE,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,IAAA,qBAAY,EAC1B,IAAA,kBAAS,EAAC,IAAA,qBAAY,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,KAAK,EAAE,OAAO;KACf,CAAC,CACH,CAAC;IACF,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACnC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAAA,CACjC,CAAC,CAAC;AAEH,IAAA,WAAE,EAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAY,EAC3B,IAAA,kBAAS,EAAC,IAAA,qBAAY,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACjC,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;YACnB,OAAO,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAAA,CACtC;KACF,CAAC,CACH,CAAC;IACF,IAAA,eAAM,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAAA,CACjD,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kCAAkC,EAAE,GAAG,EAAE,CAAC;IACjD,MAAM,KAAK,GAAuB;QAChC,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,eAAM,CAAC,EAAE,EAAE;KACzB,CAAC;IACF,IAAA,WAAE,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,IAAI,eAAe,CAAyB,SAAS,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QACnG,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,EAAE,CAAC,QAAQ,EAAE;YACjC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;gBAClC,CAAC;gBACD,OAAO,KAAK,CAAC;YAAA,CACd;SACF,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,yCAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAA,oCAAY,EAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAErF,IAAA,eAAM,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAU,CAAC;QACzE,IAAA,eAAM,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACvE,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAW,CAAC,EAAE,EAAE,CAAC;YAC1E,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAA,eAAM,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACvC,IAAA,eAAM,EAAC,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,sBAAsB,CAC5D,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,aAAa,GAAG,KAAK,CAAC,aAAa,CACxF,CAAC;YACF,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC;IAAA,CACF,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC;IAClC,IAAA,WAAE,EAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,IAAA,0BAAiB,EAAC,IAAA,qBAAY,EAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACjH,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAAA,CACrG,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,IAAA,0BAAiB,EAAC,IAAA,qBAAY,EAAsB,MAAM,CAAC,CAAC,CAAC,CAAC;QAChG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,CAChC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAsB,CAAC,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,IAAA,0BAAiB,EAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAAA,CACrG,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,eAAM,CAAC,EAAE,CAAC,CAAC,CAAU,EAAc,EAAE,CAAC;YACtD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAW,CAAC,CAAC;QAAA,CAC9C,CAAC,CAAC;QACH,MAAM,IAAA,qBAAY,EAAC,IAAA,0BAAiB,EAAC,IAAA,qBAAY,EAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACtH,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CACtC,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC;IACnC,IAAA,WAAE,EAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAC/B,IAAA,2BAAkB,EAAC,IAAA,qBAAY,EAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACnG,CAAC;QACF,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAAA,CAC7C,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,IAAA,2BAAkB,EAAC,IAAA,qBAAY,EAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAAA,CACxC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAsB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,IAAA,2BAAkB,EAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAAA,CAC7C,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,eAAM,CAAC,EAAE,CAAC,CAAC,CAAU,EAAU,EAAE,CAAC;YAClD,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;gBAC5B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,CAAW,CAAC;QAAA,CACpB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAA,qBAAY,EAAC,IAAA,2BAAkB,EAAC,IAAA,qBAAY,EAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAC9H,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CACtC,CAAC,CAAC;AAAA,CACJ,CAAC,CAAC"}
|
package/ts/cjs/version.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type CoerceBinaryInput = string | ArrayBufferLike | ArrayBufferView | Uint8Array;
|
|
2
2
|
export declare function isArrayBuffer(value: unknown): value is ArrayBuffer;
|
|
3
3
|
export declare function isUint8Array(value: unknown): value is Uint8Array;
|
|
4
|
-
export declare function top_uint8(input: CoerceBinaryInput | Blob): Promise<Uint8Array>;
|
|
5
|
-
export declare function to_uint8(input: CoerceBinaryInput, encoder?: TextEncoder): Uint8Array;
|
|
4
|
+
export declare function top_uint8(input: CoerceBinaryInput | Blob, encode?: (x: unknown) => Uint8Array): Promise<Uint8Array>;
|
|
5
|
+
export declare function to_uint8(input: CoerceBinaryInput, encoder?: TextEncoder | ((x: unknown) => Uint8Array)): Uint8Array;
|
|
6
6
|
export declare function to_blob(input: CoerceBinaryInput | Blob, encoder?: TextEncoder): Blob;
|
|
7
7
|
export declare function to_arraybuf(input: CoerceBinaryInput, encoder?: TextEncoder): ArrayBuffer;
|
|
8
8
|
//# sourceMappingURL=coerce-binary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-binary.d.ts","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAQxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAQD,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"coerce-binary.d.ts","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;AAQxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAQD,wBAAsB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAKzH;AAWD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC,GAAG,UAAU,CAyBnH;AASD,wBAAgB,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAMpF;AASD,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAOxF"}
|
package/ts/esm/coerce-binary.js
CHANGED
|
@@ -5,22 +5,37 @@ export function isArrayBuffer(value) {
|
|
|
5
5
|
export function isUint8Array(value) {
|
|
6
6
|
return value instanceof Uint8Array || Object.prototype.toString.call(value) === "[object Uint8Array]";
|
|
7
7
|
}
|
|
8
|
-
export async function top_uint8(input) {
|
|
8
|
+
export async function top_uint8(input, encode) {
|
|
9
9
|
if (input instanceof Blob) {
|
|
10
10
|
return new Uint8Array(await input.arrayBuffer());
|
|
11
11
|
}
|
|
12
|
-
return to_uint8(input);
|
|
12
|
+
return to_uint8(input, encode);
|
|
13
13
|
}
|
|
14
14
|
export function to_uint8(input, encoder) {
|
|
15
|
-
if (typeof input === "string") {
|
|
16
|
-
return (encoder ?? TxtEnDecoderSingleton()).encode(input);
|
|
17
|
-
}
|
|
18
15
|
if (isArrayBuffer(input)) {
|
|
19
16
|
return new Uint8Array(input);
|
|
20
17
|
}
|
|
21
18
|
if (isUint8Array(input)) {
|
|
22
19
|
return input;
|
|
23
20
|
}
|
|
21
|
+
let encodeFn;
|
|
22
|
+
let isDefaultTxtEncoder = false;
|
|
23
|
+
if (typeof encoder === "function") {
|
|
24
|
+
encodeFn = encoder;
|
|
25
|
+
}
|
|
26
|
+
else if (!encoder) {
|
|
27
|
+
isDefaultTxtEncoder = true;
|
|
28
|
+
encodeFn = TxtEnDecoderSingleton().encode;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
encodeFn = (x) => encoder.encode(x);
|
|
32
|
+
}
|
|
33
|
+
if (typeof input === "string" || isDefaultTxtEncoder) {
|
|
34
|
+
return encodeFn(input);
|
|
35
|
+
}
|
|
36
|
+
if (encoder) {
|
|
37
|
+
return encodeFn(input);
|
|
38
|
+
}
|
|
24
39
|
return new Uint8Array(input);
|
|
25
40
|
}
|
|
26
41
|
export function to_blob(input, encoder) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-binary.js","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,MAAM,UAAU,aAAa,CAAC,KAAc,EAAwB;IAClE,OAAO,KAAK,YAAY,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC;AAAA,CACzG;AAQD,MAAM,UAAU,YAAY,CAAC,KAAc,EAAuB;IAChE,OAAO,KAAK,YAAY,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC;AAAA,CACvG;AAQD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAA+B,EAAuB;
|
|
1
|
+
{"version":3,"file":"coerce-binary.js","sourceRoot":"","sources":["../../../src/coerce-binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,MAAM,UAAU,aAAa,CAAC,KAAc,EAAwB;IAClE,OAAO,KAAK,YAAY,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,sBAAsB,CAAC;AAAA,CACzG;AAQD,MAAM,UAAU,YAAY,CAAC,KAAc,EAAuB;IAChE,OAAO,KAAK,YAAY,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC;AAAA,CACvG;AAQD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAA+B,EAAE,MAAmC,EAAuB;IACzH,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAAA,CAChC;AAWD,MAAM,UAAU,QAAQ,CAAC,KAAwB,EAAE,OAAoD,EAAc;IACnH,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAoC,CAAC;IACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,QAAQ,GAAG,OAAO,CAAC;IACrB,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,mBAAmB,GAAG,IAAI,CAAC;QAC3B,QAAQ,GAAG,qBAAqB,EAAE,CAAC,MAAoC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,CAAC,CAAU,EAAc,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAW,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAmC,CAAC,CAAC;AAAA,CAC5D;AASD,MAAM,UAAU,OAAO,CAAC,KAA+B,EAAE,OAAqB,EAAQ;IACpF,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,CACvB;AASD,MAAM,UAAU,WAAW,CAAC,KAAwB,EAAE,OAAqB,EAAe;IACxF,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAgB,CAAC;AAAA,CAErF"}
|
|
@@ -3,9 +3,9 @@ import { ToUInt8 } from "./utils/coerce-uint8.js";
|
|
|
3
3
|
export type ToDecoder = ToUInt8 | string | Result<string>;
|
|
4
4
|
export type AsyncToDecoder = ToDecoder | Blob | Promise<ToDecoder | Blob>;
|
|
5
5
|
export interface TxtEnDecoder {
|
|
6
|
-
encode(input: string)
|
|
7
|
-
decode(input?: ToDecoder)
|
|
8
|
-
asyncDecode(input?: AsyncToDecoder)
|
|
6
|
+
encode: (input: string) => Uint8Array;
|
|
7
|
+
decode: (input?: ToDecoder) => string;
|
|
8
|
+
asyncDecode: (input?: AsyncToDecoder) => Promise<string>;
|
|
9
9
|
}
|
|
10
10
|
export declare const TxtEnDecoderSingleton: () => TxtEnDecoder;
|
|
11
11
|
//# sourceMappingURL=txt-en-decoder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt-en-decoder.d.ts","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAmB,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"txt-en-decoder.d.ts","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAmB,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACtC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1D;AAyCD,eAAO,MAAM,qBAAqB,EAAE,MAAM,YAAqD,CAAC"}
|
package/ts/esm/txt-en-decoder.js
CHANGED
|
@@ -4,10 +4,10 @@ import { coerceIntoUint8 } from "./utils/coerce-uint8.js";
|
|
|
4
4
|
class TxtOps {
|
|
5
5
|
encoder = new TextEncoder();
|
|
6
6
|
decoder = new TextDecoder();
|
|
7
|
-
encode(str) {
|
|
7
|
+
encode = (str) => {
|
|
8
8
|
return this.encoder.encode(str);
|
|
9
|
-
}
|
|
10
|
-
decode(data) {
|
|
9
|
+
};
|
|
10
|
+
decode = (data) => {
|
|
11
11
|
if (!data) {
|
|
12
12
|
return "";
|
|
13
13
|
}
|
|
@@ -24,8 +24,8 @@ class TxtOps {
|
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
26
|
return this.decoder.decode(coerceIntoUint8(data).Ok());
|
|
27
|
-
}
|
|
28
|
-
async
|
|
27
|
+
};
|
|
28
|
+
asyncDecode = async (data) => {
|
|
29
29
|
if (!data) {
|
|
30
30
|
return "";
|
|
31
31
|
}
|
|
@@ -34,7 +34,7 @@ class TxtOps {
|
|
|
34
34
|
resolved = await resolved.arrayBuffer();
|
|
35
35
|
}
|
|
36
36
|
return this.decode(resolved);
|
|
37
|
-
}
|
|
37
|
+
};
|
|
38
38
|
}
|
|
39
39
|
export const TxtEnDecoderSingleton = Lazy(() => new TxtOps());
|
|
40
40
|
//# sourceMappingURL=txt-en-decoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txt-en-decoder.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAW,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAWnE,MAAM,MAAM;IACD,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"txt-en-decoder.js","sourceRoot":"","sources":["../../../src/txt-en-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAW,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAWnE,MAAM,MAAM;IACD,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAC5B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAE5B,MAAM,GAAG,CAAC,GAAW,EAAc,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAA,CACjC,CAAC;IACO,MAAM,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,IAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAAA,CACnE,CAAC;IAEO,WAAW,GAAG,KAAK,EAAE,IAAqB,EAAmB,EAAE,CAAC;QACvE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC;QAC1B,IAAI,QAAQ,YAAY,IAAI,EAAE,CAAC;YAC7B,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC9B,CAAC;CACH;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAuB,IAAI,CAAC,GAAiB,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC"}
|
|
@@ -6,4 +6,6 @@ export declare function streamMap<T, U>(s: ReadableStream<T>, sm: StreamMap<T, U
|
|
|
6
6
|
export declare function devnull<T>(a: ReadableStream<T>): Promise<number>;
|
|
7
7
|
export declare function array2stream<T>(a: T[]): ReadableStream<T>;
|
|
8
8
|
export declare function stream2array<T>(a: ReadableStream<T>): Promise<T[]>;
|
|
9
|
+
export declare function coerceStreamUint8(stream: ReadableStream<Uint8Array | string>, encoder?: (x: unknown) => Uint8Array): ReadableStream<Uint8Array>;
|
|
10
|
+
export declare function coerceStreamString(stream: ReadableStream<Uint8Array | string>, decode?: (x: unknown) => string): ReadableStream<string>;
|
|
9
11
|
//# sourceMappingURL=stream-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-map.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream-map.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AA+BD,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAsB5F;AAyBD,wBAAsB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAWtE;AAkBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAYzD;AAuBD,wBAAsB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAWxE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,EAC3C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,GACnC,cAAc,CAAC,UAAU,CAAC,CAI5B;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,EAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,GAC9B,cAAc,CAAC,MAAM,CAAC,CAQxB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { isPromise } from "../is-promise.js";
|
|
2
|
+
import { top_uint8 } from "../coerce-binary.js";
|
|
3
|
+
import { TxtEnDecoderSingleton } from "@adviser/cement";
|
|
2
4
|
export function streamMap(s, sm) {
|
|
3
5
|
const state = { reader: s.getReader(), streamMap: sm, idx: 0 };
|
|
4
6
|
return new ReadableStream({
|
|
@@ -60,4 +62,19 @@ export async function stream2array(a) {
|
|
|
60
62
|
}
|
|
61
63
|
return ret;
|
|
62
64
|
}
|
|
65
|
+
export function coerceStreamUint8(stream, encoder) {
|
|
66
|
+
return streamMap(stream, {
|
|
67
|
+
Map: (chunk) => top_uint8(chunk, encoder),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export function coerceStreamString(stream, decode) {
|
|
71
|
+
let decodeFn;
|
|
72
|
+
if (!decode) {
|
|
73
|
+
decodeFn = (x) => (typeof x === "string" ? x : TxtEnDecoderSingleton().decode(x));
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
decodeFn = decode;
|
|
77
|
+
}
|
|
78
|
+
return streamMap(stream, { Map: (chunk) => decodeFn(chunk) });
|
|
79
|
+
}
|
|
63
80
|
//# sourceMappingURL=stream-map.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-map.js","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-map.js","sourceRoot":"","sources":["../../../../src/utils/stream-map.ts"],"names":[],"mappings":"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"}
|