@gjsify/web-streams 0.3.16 → 0.3.18

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/lib/esm/util.js CHANGED
@@ -1,138 +1 @@
1
- //#region src/util.ts
2
- const kState = Symbol("kState");
3
- const kType = Symbol("kType");
4
- function isBrandCheck(brand) {
5
- return (value) => {
6
- return value != null && typeof value === "object" && value[kState] !== undefined && value[kType] === brand;
7
- };
8
- }
9
- function dequeueValue(controller) {
10
- const { value, size } = controller[kState].queue.shift();
11
- controller[kState].queueTotalSize = Math.max(0, controller[kState].queueTotalSize - size);
12
- return value;
13
- }
14
- function resetQueue(controller) {
15
- controller[kState].queue = [];
16
- controller[kState].queueTotalSize = 0;
17
- }
18
- function peekQueueValue(controller) {
19
- return controller[kState].queue[0].value;
20
- }
21
- function enqueueValueWithSize(controller, value, size) {
22
- size = +size;
23
- if (typeof size !== "number" || size < 0 || Number.isNaN(size) || size === Infinity) {
24
- throw new RangeError(`Invalid size: ${size}`);
25
- }
26
- controller[kState].queue.push({
27
- value,
28
- size
29
- });
30
- controller[kState].queueTotalSize += size;
31
- }
32
- function extractHighWaterMark(value, defaultHWM) {
33
- if (value === undefined) return defaultHWM;
34
- value = +value;
35
- if (typeof value !== "number" || Number.isNaN(value) || value < 0) {
36
- throw new RangeError(`Invalid highWaterMark: ${value}`);
37
- }
38
- return value;
39
- }
40
- function extractSizeAlgorithm(size) {
41
- if (size === undefined) return () => 1;
42
- if (typeof size !== "function") {
43
- throw new TypeError("strategy.size must be a function");
44
- }
45
- return size;
46
- }
47
- function cloneAsUint8Array(view) {
48
- const buffer = view.buffer;
49
- const byteOffset = view.byteOffset;
50
- const byteLength = view.byteLength;
51
- return new Uint8Array(buffer.slice(byteOffset, byteOffset + byteLength));
52
- }
53
- function ArrayBufferViewGetBuffer(view) {
54
- return view.buffer;
55
- }
56
- function ArrayBufferViewGetByteLength(view) {
57
- return view.byteLength;
58
- }
59
- function ArrayBufferViewGetByteOffset(view) {
60
- return view.byteOffset;
61
- }
62
- function setPromiseHandled(promise) {
63
- promise.then(() => {}, () => {});
64
- }
65
- function createPromiseCallback(name, fn, thisArg) {
66
- if (typeof fn !== "function") {
67
- throw new TypeError(`${name} must be a function`);
68
- }
69
- return async (...args) => fn.call(thisArg, ...args);
70
- }
71
- async function nonOpFlush() {}
72
- function nonOpStart() {}
73
- async function nonOpPull() {}
74
- async function nonOpCancel() {}
75
- async function nonOpWrite() {}
76
- const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype);
77
- const AsyncIterator = {
78
- __proto__: AsyncIteratorPrototype,
79
- next: undefined,
80
- return: undefined
81
- };
82
- function createAsyncFromSyncIterator(syncIteratorRecord) {
83
- const syncIterable = { [Symbol.iterator]: () => syncIteratorRecord.iterator };
84
- const asyncIterator = async function* () {
85
- return yield* syncIterable;
86
- }();
87
- const nextMethod = asyncIterator.next;
88
- return {
89
- iterator: asyncIterator,
90
- nextMethod,
91
- done: false
92
- };
93
- }
94
- function getIterator(obj, kind = "sync", method) {
95
- if (method === undefined) {
96
- if (kind === "async") {
97
- method = obj[Symbol.asyncIterator];
98
- if (method == null) {
99
- const syncMethod = obj[Symbol.iterator];
100
- if (syncMethod === undefined) {
101
- throw new TypeError("Object is not iterable");
102
- }
103
- const syncIteratorRecord = getIterator(obj, "sync", syncMethod);
104
- return createAsyncFromSyncIterator(syncIteratorRecord);
105
- }
106
- } else {
107
- method = obj[Symbol.iterator];
108
- }
109
- }
110
- if (method === undefined) {
111
- throw new TypeError("Object is not iterable");
112
- }
113
- const iterator = method.call(obj);
114
- if (typeof iterator !== "object" || iterator === null) {
115
- throw new TypeError("The iterator method must return an object");
116
- }
117
- const nextMethod = iterator.next;
118
- return {
119
- iterator,
120
- nextMethod,
121
- done: false
122
- };
123
- }
124
- function iteratorNext(iteratorRecord, value) {
125
- let result;
126
- if (value === undefined) {
127
- result = iteratorRecord.nextMethod.call(iteratorRecord.iterator);
128
- } else {
129
- result = iteratorRecord.nextMethod.call(iteratorRecord.iterator, value);
130
- }
131
- if (typeof result !== "object" || result === null) {
132
- throw new TypeError("The iterator.next() method must return an object");
133
- }
134
- return result;
135
- }
136
-
137
- //#endregion
138
- export { ArrayBufferViewGetBuffer, ArrayBufferViewGetByteLength, ArrayBufferViewGetByteOffset, AsyncIterator, cloneAsUint8Array, createAsyncFromSyncIterator, createPromiseCallback, dequeueValue, enqueueValueWithSize, extractHighWaterMark, extractSizeAlgorithm, getIterator, isBrandCheck, iteratorNext, kState, kType, nonOpCancel, nonOpFlush, nonOpPull, nonOpStart, nonOpWrite, peekQueueValue, resetQueue, setPromiseHandled };
1
+ const e=Symbol(`kState`),t=Symbol(`kType`);function n(n){return r=>typeof r==`object`&&!!r&&r[e]!==void 0&&r[t]===n}function r(t){let{value:n,size:r}=t[e].queue.shift();return t[e].queueTotalSize=Math.max(0,t[e].queueTotalSize-r),n}function i(t){t[e].queue=[],t[e].queueTotalSize=0}function a(t){return t[e].queue[0].value}function o(t,n,r){if(r=+r,typeof r!=`number`||r<0||Number.isNaN(r)||r===1/0)throw RangeError(`Invalid size: ${r}`);t[e].queue.push({value:n,size:r}),t[e].queueTotalSize+=r}function s(e,t){if(e===void 0)return t;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function c(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function l(e){let t=e.buffer,n=e.byteOffset,r=e.byteLength;return new Uint8Array(t.slice(n,n+r))}function u(e){return e.buffer}function d(e){return e.byteLength}function f(e){return e.byteOffset}function p(e){e.then(()=>{},()=>{})}function m(e,t,n){if(typeof t!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>t.call(n,...e)}async function h(){}function g(){}async function _(){}async function v(){}async function y(){}const b={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function x(e){let t={[Symbol.iterator]:()=>e.iterator},n=async function*(){return yield*t}();return{iterator:n,nextMethod:n.next,done:!1}}function S(e,t=`sync`,n){if(n===void 0)if(t===`async`){if(n=e[Symbol.asyncIterator],n==null){let t=e[Symbol.iterator];if(t===void 0)throw TypeError(`Object is not iterable`);return x(S(e,`sync`,t))}}else n=e[Symbol.iterator];if(n===void 0)throw TypeError(`Object is not iterable`);let r=n.call(e);if(typeof r!=`object`||!r)throw TypeError(`The iterator method must return an object`);return{iterator:r,nextMethod:r.next,done:!1}}function C(e,t){let n;if(n=t===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,t),typeof n!=`object`||!n)throw TypeError(`The iterator.next() method must return an object`);return n}export{u as ArrayBufferViewGetBuffer,d as ArrayBufferViewGetByteLength,f as ArrayBufferViewGetByteOffset,b as AsyncIterator,l as cloneAsUint8Array,x as createAsyncFromSyncIterator,m as createPromiseCallback,r as dequeueValue,o as enqueueValueWithSize,s as extractHighWaterMark,c as extractSizeAlgorithm,S as getIterator,n as isBrandCheck,C as iteratorNext,e as kState,t as kType,v as nonOpCancel,h as nonOpFlush,_ as nonOpPull,g as nonOpStart,y as nonOpWrite,a as peekQueueValue,i as resetQueue,p as setPromiseHandled};