@protontech/openpgp 4.10.5 → 5.3.1
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/README.md +311 -239
- package/dist/lightweight/bn.interface.min.mjs +3 -0
- package/dist/lightweight/bn.interface.min.mjs.map +1 -0
- package/dist/lightweight/bn.interface.mjs +340 -0
- package/dist/lightweight/bn.min.mjs +3 -0
- package/dist/lightweight/bn.min.mjs.map +1 -0
- package/dist/lightweight/bn.mjs +3434 -0
- package/dist/lightweight/elliptic.min.mjs +3 -0
- package/dist/lightweight/elliptic.min.mjs.map +1 -0
- package/dist/lightweight/elliptic.mjs +4313 -0
- package/dist/lightweight/openpgp.min.mjs +3 -0
- package/dist/lightweight/openpgp.min.mjs.map +1 -0
- package/dist/lightweight/openpgp.mjs +31375 -0
- package/dist/lightweight/ponyfill.es6.min.mjs +3 -0
- package/dist/lightweight/ponyfill.es6.min.mjs.map +1 -0
- package/dist/lightweight/ponyfill.es6.mjs +3831 -0
- package/dist/lightweight/web-streams-adapter.min.mjs +17 -0
- package/dist/lightweight/web-streams-adapter.min.mjs.map +1 -0
- package/dist/lightweight/web-streams-adapter.mjs +561 -0
- package/dist/node/openpgp.js +43943 -0
- package/dist/node/openpgp.min.js +17 -0
- package/dist/node/openpgp.min.js.map +1 -0
- package/dist/node/openpgp.min.mjs +17 -0
- package/dist/node/openpgp.min.mjs.map +1 -0
- package/dist/node/openpgp.mjs +43880 -0
- package/dist/openpgp.js +41080 -41565
- package/dist/openpgp.min.js +17 -2
- package/dist/openpgp.min.js.map +1 -0
- package/dist/openpgp.min.mjs +17 -0
- package/dist/openpgp.min.mjs.map +1 -0
- package/dist/openpgp.mjs +43868 -0
- package/lightweight/package.json +5 -0
- package/openpgp.d.ts +889 -0
- package/package.json +63 -57
- package/dist/compat/openpgp.js +0 -61067
- package/dist/compat/openpgp.min.js +0 -2
- package/dist/compat/openpgp.worker.js +0 -173
- package/dist/compat/openpgp.worker.min.js +0 -2
- package/dist/lightweight/elliptic.min.js +0 -5
- package/dist/lightweight/openpgp.js +0 -40024
- package/dist/lightweight/openpgp.min.js +0 -2
- package/dist/lightweight/openpgp.worker.js +0 -173
- package/dist/lightweight/openpgp.worker.min.js +0 -2
- package/dist/openpgp.worker.js +0 -173
- package/dist/openpgp.worker.min.js +0 -2
- package/src/cleartext.js +0 -220
- package/src/config/config.js +0 -224
- package/src/config/index.js +0 -7
- package/src/config/localStorage.js +0 -35
- package/src/crypto/aes_kw.js +0 -153
- package/src/crypto/cfb.js +0 -169
- package/src/crypto/cipher/aes.js +0 -27
- package/src/crypto/cipher/blowfish.js +0 -398
- package/src/crypto/cipher/cast5.js +0 -610
- package/src/crypto/cipher/des.js +0 -476
- package/src/crypto/cipher/index.js +0 -91
- package/src/crypto/cipher/twofish.js +0 -346
- package/src/crypto/cmac.js +0 -98
- package/src/crypto/crypto.js +0 -394
- package/src/crypto/eax.js +0 -172
- package/src/crypto/gcm.js +0 -141
- package/src/crypto/hash/index.js +0 -163
- package/src/crypto/hash/md5.js +0 -205
- package/src/crypto/index.js +0 -57
- package/src/crypto/ocb.js +0 -274
- package/src/crypto/pkcs1.js +0 -170
- package/src/crypto/pkcs5.js +0 -55
- package/src/crypto/public_key/dsa.js +0 -188
- package/src/crypto/public_key/elgamal.js +0 -137
- package/src/crypto/public_key/elliptic/curves.js +0 -385
- package/src/crypto/public_key/elliptic/ecdh.js +0 -414
- package/src/crypto/public_key/elliptic/ecdsa.js +0 -348
- package/src/crypto/public_key/elliptic/eddsa.js +0 -119
- package/src/crypto/public_key/elliptic/index.js +0 -34
- package/src/crypto/public_key/elliptic/indutnyKey.js +0 -85
- package/src/crypto/public_key/index.js +0 -28
- package/src/crypto/public_key/prime.js +0 -275
- package/src/crypto/public_key/rsa.js +0 -597
- package/src/crypto/random.js +0 -145
- package/src/crypto/signature.js +0 -137
- package/src/encoding/armor.js +0 -433
- package/src/encoding/base64.js +0 -96
- package/src/enums.js +0 -493
- package/src/hkp.js +0 -89
- package/src/index.js +0 -161
- package/src/key/factory.js +0 -326
- package/src/key/helper.js +0 -363
- package/src/key/index.js +0 -32
- package/src/key/key.js +0 -890
- package/src/key/subkey.js +0 -187
- package/src/key/user.js +0 -230
- package/src/keyring/index.js +0 -12
- package/src/keyring/keyring.js +0 -229
- package/src/keyring/localstore.js +0 -119
- package/src/lightweight_helper.js +0 -26
- package/src/message.js +0 -825
- package/src/openpgp.js +0 -717
- package/src/packet/all_packets.js +0 -116
- package/src/packet/clone.js +0 -189
- package/src/packet/compressed.js +0 -194
- package/src/packet/index.js +0 -20
- package/src/packet/literal.js +0 -168
- package/src/packet/marker.js +0 -62
- package/src/packet/one_pass_signature.js +0 -156
- package/src/packet/packet.js +0 -300
- package/src/packet/packetlist.js +0 -232
- package/src/packet/public_key.js +0 -280
- package/src/packet/public_key_encrypted_session_key.js +0 -156
- package/src/packet/public_subkey.js +0 -44
- package/src/packet/secret_key.js +0 -448
- package/src/packet/secret_subkey.js +0 -41
- package/src/packet/signature.js +0 -782
- package/src/packet/sym_encrypted_aead_protected.js +0 -189
- package/src/packet/sym_encrypted_integrity_protected.js +0 -139
- package/src/packet/sym_encrypted_session_key.js +0 -204
- package/src/packet/symmetrically_encrypted.js +0 -118
- package/src/packet/trust.js +0 -35
- package/src/packet/user_attribute.js +0 -94
- package/src/packet/userid.js +0 -87
- package/src/polyfills.js +0 -64
- package/src/signature.js +0 -73
- package/src/type/ecdh_symkey.js +0 -69
- package/src/type/kdf_params.js +0 -114
- package/src/type/keyid.js +0 -110
- package/src/type/mpi.js +0 -138
- package/src/type/oid.js +0 -110
- package/src/type/s2k.js +0 -203
- package/src/util.js +0 -836
- package/src/wkd.js +0 -88
- package/src/worker/async_proxy.js +0 -190
- package/src/worker/worker.js +0 -167
- package/test/crypto/aes_kw.js +0 -57
- package/test/crypto/cipher/aes.js +0 -86
- package/test/crypto/cipher/blowfish.js +0 -58
- package/test/crypto/cipher/cast5.js +0 -25
- package/test/crypto/cipher/des.js +0 -143
- package/test/crypto/cipher/index.js +0 -7
- package/test/crypto/cipher/twofish.js +0 -71
- package/test/crypto/crypto.js +0 -383
- package/test/crypto/eax.js +0 -150
- package/test/crypto/ecdh.js +0 -359
- package/test/crypto/elliptic.js +0 -251
- package/test/crypto/elliptic_data.js +0 -102
- package/test/crypto/hash/index.js +0 -5
- package/test/crypto/hash/md5.js +0 -16
- package/test/crypto/hash/ripemd.js +0 -14
- package/test/crypto/hash/sha.js +0 -20
- package/test/crypto/index.js +0 -14
- package/test/crypto/ocb.js +0 -183
- package/test/crypto/pkcs5.js +0 -39
- package/test/crypto/random.js +0 -79
- package/test/crypto/rsa.js +0 -180
- package/test/crypto/validate.js +0 -387
- package/test/general/armor.js +0 -408
- package/test/general/brainpool.js +0 -360
- package/test/general/decompression.js +0 -60
- package/test/general/ecc_nist.js +0 -115
- package/test/general/ecc_secp256k1.js +0 -242
- package/test/general/forwarding.js +0 -43
- package/test/general/hkp.js +0 -165
- package/test/general/index.js +0 -20
- package/test/general/key.js +0 -3402
- package/test/general/keyring.js +0 -336
- package/test/general/oid.js +0 -39
- package/test/general/openpgp.js +0 -2542
- package/test/general/packet.js +0 -937
- package/test/general/signature.js +0 -1665
- package/test/general/streaming.js +0 -944
- package/test/general/testInputs.js +0 -18
- package/test/general/util.js +0 -183
- package/test/general/wkd.js +0 -48
- package/test/general/x25519.js +0 -556
- package/test/unittests.js +0 -64
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*! OpenPGP.js v5.3.1 - 2022-07-12 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
|
+
"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;
|
|
3
|
+
/*! *****************************************************************************
|
|
4
|
+
Copyright (c) Microsoft Corporation.
|
|
5
|
+
|
|
6
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
7
|
+
purpose with or without fee is hereby granted.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
+
***************************************************************************** */var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};function e(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+r+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}function r(t){if(!t)throw new TypeError("Assertion failed")}function n(){}function i(t){return"object"==typeof t&&null!==t||"function"==typeof t}function o(t){if("function"!=typeof t)return!1;var e=!1;try{new t({start:function(){e=!0}})}catch(t){}return e}function a(t){return!!i(t)&&"function"==typeof t.getReader}function s(t){return!!i(t)&&"function"==typeof t.getWriter}function u(t){return!!i(t)&&(!!a(t.readable)&&!!s(t.writable))}function d(t){try{return t.getReader({mode:"byob"}).releaseLock(),!0}catch(t){return!1}}function h(t){r(function(t){return!!o(t)&&!!a(new t)}(t));var e=function(t){try{return new t({type:"bytes"}),!0}catch(t){return!1}}(t);return function(r,n){var i=(void 0===n?{}:n).type;if("bytes"!==(i=f(i))||e||(i=void 0),r.constructor===t&&("bytes"!==i||d(r)))return r;if("bytes"===i){var o=c(r,{type:i});return new t(o)}o=c(r);return new t(o)}}function c(t,e){var n=(void 0===e?{}:e).type;return r(a(t)),r(!1===t.locked),"bytes"===(n=f(n))?new y(t):new _(t)}function f(t){var e=t+"";if("bytes"===e)return e;if(void 0===t)return t;throw new RangeError("Invalid type is specified")}var l=function(){function t(t){this._underlyingReader=void 0,this._readerMode=void 0,this._readableStreamController=void 0,this._pendingRead=void 0,this._underlyingStream=t,this._attachDefaultReader()}return t.prototype.start=function(t){this._readableStreamController=t},t.prototype.cancel=function(t){return r(void 0!==this._underlyingReader),this._underlyingReader.cancel(t)},t.prototype._attachDefaultReader=function(){if("default"!==this._readerMode){this._detachReader();var t=this._underlyingStream.getReader();this._readerMode="default",this._attachReader(t)}},t.prototype._attachReader=function(t){var e=this;r(void 0===this._underlyingReader),this._underlyingReader=t;var i=this._underlyingReader.closed;i&&i.then((function(){return e._finishPendingRead()})).then((function(){t===e._underlyingReader&&e._readableStreamController.close()}),(function(r){t===e._underlyingReader&&e._readableStreamController.error(r)})).catch(n)},t.prototype._detachReader=function(){void 0!==this._underlyingReader&&(this._underlyingReader.releaseLock(),this._underlyingReader=void 0,this._readerMode=void 0)},t.prototype._pullWithDefaultReader=function(){var t=this;this._attachDefaultReader();var e=this._underlyingReader.read().then((function(e){var r=t._readableStreamController;e.done?t._tryClose():r.enqueue(e.value)}));return this._setPendingRead(e),e},t.prototype._tryClose=function(){try{this._readableStreamController.close()}catch(t){}},t.prototype._setPendingRead=function(t){var e,r=this,n=function(){r._pendingRead===e&&(r._pendingRead=void 0)};this._pendingRead=e=t.then(n,n)},t.prototype._finishPendingRead=function(){var t=this;if(this._pendingRead){var e=function(){return t._finishPendingRead()};return this._pendingRead.then(e,e)}},t}(),_=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return e(r,t),r.prototype.pull=function(){return this._pullWithDefaultReader()},r}(l);function p(t){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}var y=function(t){function n(e){var r=this,n=d(e);return(r=t.call(this,e)||this)._supportsByob=n,r}return e(n,t),Object.defineProperty(n.prototype,"type",{get:function(){return"bytes"},enumerable:!1,configurable:!0}),n.prototype._attachByobReader=function(){if("byob"!==this._readerMode){r(this._supportsByob),this._detachReader();var t=this._underlyingStream.getReader({mode:"byob"});this._readerMode="byob",this._attachReader(t)}},n.prototype.pull=function(){if(this._supportsByob){var t=this._readableStreamController.byobRequest;if(t)return this._pullWithByobRequest(t)}return this._pullWithDefaultReader()},n.prototype._pullWithByobRequest=function(t){var e=this;this._attachByobReader();var r=new Uint8Array(t.view.byteLength),n=this._underlyingReader.read(r).then((function(r){var n,i,o;e._readableStreamController,r.done?(e._tryClose(),t.respond(0)):(n=r.value,i=t.view,o=p(n),p(i).set(o,0),t.respond(r.value.byteLength))}));return this._setPendingRead(n),n},n}(l);function v(t){return r(function(t){return!!o(t)&&!!s(new t)}(t)),function(e){if(e.constructor===t)return e;var r=g(e);return new t(r)}}function g(t){r(s(t)),r(!1===t.locked);var e=t.getWriter();return new b(e)}var b=function(){function t(t){var e=this;this._writableStreamController=void 0,this._pendingWrite=void 0,this._state="writable",this._storedError=void 0,this._underlyingWriter=t,this._errorPromise=new Promise((function(t,r){e._errorPromiseReject=r})),this._errorPromise.catch(n)}return t.prototype.start=function(t){var e=this;this._writableStreamController=t,this._underlyingWriter.closed.then((function(){e._state="closed"})).catch((function(t){return e._finishErroring(t)}))},t.prototype.write=function(t){var e=this,r=this._underlyingWriter;if(null===r.desiredSize)return r.ready;var n=r.write(t);n.catch((function(t){return e._finishErroring(t)})),r.ready.catch((function(t){return e._startErroring(t)}));var i=Promise.race([n,this._errorPromise]);return this._setPendingWrite(i),i},t.prototype.close=function(){var t=this;return void 0===this._pendingWrite?this._underlyingWriter.close():this._finishPendingWrite().then((function(){return t.close()}))},t.prototype.abort=function(t){if("errored"!==this._state)return this._underlyingWriter.abort(t)},t.prototype._setPendingWrite=function(t){var e,r=this,n=function(){r._pendingWrite===e&&(r._pendingWrite=void 0)};this._pendingWrite=e=t.then(n,n)},t.prototype._finishPendingWrite=function(){var t=this;if(void 0===this._pendingWrite)return Promise.resolve();var e=function(){return t._finishPendingWrite()};return this._pendingWrite.then(e,e)},t.prototype._startErroring=function(t){var e=this;if("writable"===this._state){this._state="erroring",this._storedError=t;var r=function(){return e._finishErroring(t)};void 0===this._pendingWrite?r():this._finishPendingWrite().then(r,r),this._writableStreamController.error(t)}},t.prototype._finishErroring=function(t){"writable"===this._state&&this._startErroring(t),"erroring"===this._state&&(this._state="errored",this._errorPromiseReject(this._storedError))},t}();function R(t){return r(function(t){return!!o(t)&&!!u(new t)}(t)),function(e){if(e.constructor===t)return e;var r=w(e);return new t(r)}}function w(t){r(u(t));var e=t.readable,n=t.writable;r(!1===e.locked),r(!1===n.locked);var i,o=e.getReader();try{i=n.getWriter()}catch(t){throw o.releaseLock(),t}return new m(o,i)}var m=function(){function t(t,e){var r=this;this._transformStreamController=void 0,this._onRead=function(t){if(!t.done)return r._transformStreamController.enqueue(t.value),r._reader.read().then(r._onRead)},this._onError=function(t){r._flushReject(t),r._transformStreamController.error(t),r._reader.cancel(t).catch(n),r._writer.abort(t).catch(n)},this._onTerminate=function(){r._flushResolve(),r._transformStreamController.terminate();var t=new TypeError("TransformStream terminated");r._writer.abort(t).catch(n)},this._reader=t,this._writer=e,this._flushPromise=new Promise((function(t,e){r._flushResolve=t,r._flushReject=e}))}return t.prototype.start=function(t){this._transformStreamController=t,this._reader.read().then(this._onRead).then(this._onTerminate,this._onError);var e=this._reader.closed;e&&e.then(this._onTerminate,this._onError)},t.prototype.transform=function(t){return this._writer.write(t)},t.prototype.flush=function(){var t=this;return this._writer.close().then((function(){return t._flushPromise}))},t}();export{h as createReadableStreamWrapper,R as createTransformStreamWrapper,c as createWrappingReadableSource,w as createWrappingTransformer,g as createWrappingWritableSink,v as createWritableStreamWrapper};
|
|
17
|
+
//# sourceMappingURL=web-streams-adapter.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-streams-adapter.min.mjs","sources":["../../node_modules/@mattiasbuelens/web-streams-adapter/dist/web-streams-adapter.mjs"],"sourcesContent":["/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nfunction assert(test) {\n if (!test) {\n throw new TypeError('Assertion failed');\n }\n}\n\nfunction noop() {\n return;\n}\nfunction typeIsObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n}\n\nfunction isStreamConstructor(ctor) {\n if (typeof ctor !== 'function') {\n return false;\n }\n var startCalled = false;\n try {\n new ctor({\n start: function () {\n startCalled = true;\n }\n });\n }\n catch (e) {\n // ignore\n }\n return startCalled;\n}\nfunction isReadableStream(readable) {\n if (!typeIsObject(readable)) {\n return false;\n }\n if (typeof readable.getReader !== 'function') {\n return false;\n }\n return true;\n}\nfunction isReadableStreamConstructor(ctor) {\n if (!isStreamConstructor(ctor)) {\n return false;\n }\n if (!isReadableStream(new ctor())) {\n return false;\n }\n return true;\n}\nfunction isWritableStream(writable) {\n if (!typeIsObject(writable)) {\n return false;\n }\n if (typeof writable.getWriter !== 'function') {\n return false;\n }\n return true;\n}\nfunction isWritableStreamConstructor(ctor) {\n if (!isStreamConstructor(ctor)) {\n return false;\n }\n if (!isWritableStream(new ctor())) {\n return false;\n }\n return true;\n}\nfunction isTransformStream(transform) {\n if (!typeIsObject(transform)) {\n return false;\n }\n if (!isReadableStream(transform.readable)) {\n return false;\n }\n if (!isWritableStream(transform.writable)) {\n return false;\n }\n return true;\n}\nfunction isTransformStreamConstructor(ctor) {\n if (!isStreamConstructor(ctor)) {\n return false;\n }\n if (!isTransformStream(new ctor())) {\n return false;\n }\n return true;\n}\nfunction supportsByobReader(readable) {\n try {\n var reader = readable.getReader({ mode: 'byob' });\n reader.releaseLock();\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction supportsByteSource(ctor) {\n try {\n new ctor({ type: 'bytes' });\n return true;\n }\n catch (_a) {\n return false;\n }\n}\n\nfunction createReadableStreamWrapper(ctor) {\n assert(isReadableStreamConstructor(ctor));\n var byteSourceSupported = supportsByteSource(ctor);\n return function (readable, _a) {\n var _b = _a === void 0 ? {} : _a, type = _b.type;\n type = parseReadableType(type);\n if (type === 'bytes' && !byteSourceSupported) {\n type = undefined;\n }\n if (readable.constructor === ctor) {\n if (type !== 'bytes' || supportsByobReader(readable)) {\n return readable;\n }\n }\n if (type === 'bytes') {\n var source = createWrappingReadableSource(readable, { type: type });\n return new ctor(source);\n }\n else {\n var source = createWrappingReadableSource(readable);\n return new ctor(source);\n }\n };\n}\nfunction createWrappingReadableSource(readable, _a) {\n var _b = _a === void 0 ? {} : _a, type = _b.type;\n assert(isReadableStream(readable));\n assert(readable.locked === false);\n type = parseReadableType(type);\n var source;\n if (type === 'bytes') {\n source = new WrappingReadableByteStreamSource(readable);\n }\n else {\n source = new WrappingReadableStreamDefaultSource(readable);\n }\n return source;\n}\nfunction parseReadableType(type) {\n var typeString = String(type);\n if (typeString === 'bytes') {\n return typeString;\n }\n else if (type === undefined) {\n return type;\n }\n else {\n throw new RangeError('Invalid type is specified');\n }\n}\nvar AbstractWrappingReadableStreamSource = /** @class */ (function () {\n function AbstractWrappingReadableStreamSource(underlyingStream) {\n this._underlyingReader = undefined;\n this._readerMode = undefined;\n this._readableStreamController = undefined;\n this._pendingRead = undefined;\n this._underlyingStream = underlyingStream;\n // always keep a reader attached to detect close/error\n this._attachDefaultReader();\n }\n AbstractWrappingReadableStreamSource.prototype.start = function (controller) {\n this._readableStreamController = controller;\n };\n AbstractWrappingReadableStreamSource.prototype.cancel = function (reason) {\n assert(this._underlyingReader !== undefined);\n return this._underlyingReader.cancel(reason);\n };\n AbstractWrappingReadableStreamSource.prototype._attachDefaultReader = function () {\n if (this._readerMode === \"default\" /* DEFAULT */) {\n return;\n }\n this._detachReader();\n var reader = this._underlyingStream.getReader();\n this._readerMode = \"default\" /* DEFAULT */;\n this._attachReader(reader);\n };\n AbstractWrappingReadableStreamSource.prototype._attachReader = function (reader) {\n var _this = this;\n assert(this._underlyingReader === undefined);\n this._underlyingReader = reader;\n var closed = this._underlyingReader.closed;\n if (!closed) {\n return;\n }\n closed\n .then(function () { return _this._finishPendingRead(); })\n .then(function () {\n if (reader === _this._underlyingReader) {\n _this._readableStreamController.close();\n }\n }, function (reason) {\n if (reader === _this._underlyingReader) {\n _this._readableStreamController.error(reason);\n }\n })\n .catch(noop);\n };\n AbstractWrappingReadableStreamSource.prototype._detachReader = function () {\n if (this._underlyingReader === undefined) {\n return;\n }\n this._underlyingReader.releaseLock();\n this._underlyingReader = undefined;\n this._readerMode = undefined;\n };\n AbstractWrappingReadableStreamSource.prototype._pullWithDefaultReader = function () {\n var _this = this;\n this._attachDefaultReader();\n // TODO Backpressure?\n var read = this._underlyingReader.read()\n .then(function (result) {\n var controller = _this._readableStreamController;\n if (result.done) {\n _this._tryClose();\n }\n else {\n controller.enqueue(result.value);\n }\n });\n this._setPendingRead(read);\n return read;\n };\n AbstractWrappingReadableStreamSource.prototype._tryClose = function () {\n try {\n this._readableStreamController.close();\n }\n catch (_a) {\n // already errored or closed\n }\n };\n AbstractWrappingReadableStreamSource.prototype._setPendingRead = function (readPromise) {\n var _this = this;\n var pendingRead;\n var finishRead = function () {\n if (_this._pendingRead === pendingRead) {\n _this._pendingRead = undefined;\n }\n };\n this._pendingRead = pendingRead = readPromise.then(finishRead, finishRead);\n };\n AbstractWrappingReadableStreamSource.prototype._finishPendingRead = function () {\n var _this = this;\n if (!this._pendingRead) {\n return undefined;\n }\n var afterRead = function () { return _this._finishPendingRead(); };\n return this._pendingRead.then(afterRead, afterRead);\n };\n return AbstractWrappingReadableStreamSource;\n}());\nvar WrappingReadableStreamDefaultSource = /** @class */ (function (_super) {\n __extends(WrappingReadableStreamDefaultSource, _super);\n function WrappingReadableStreamDefaultSource() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WrappingReadableStreamDefaultSource.prototype.pull = function () {\n return this._pullWithDefaultReader();\n };\n return WrappingReadableStreamDefaultSource;\n}(AbstractWrappingReadableStreamSource));\nfunction toUint8Array(view) {\n return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);\n}\nfunction copyArrayBufferView(from, to) {\n var fromArray = toUint8Array(from);\n var toArray = toUint8Array(to);\n toArray.set(fromArray, 0);\n}\nvar WrappingReadableByteStreamSource = /** @class */ (function (_super) {\n __extends(WrappingReadableByteStreamSource, _super);\n function WrappingReadableByteStreamSource(underlyingStream) {\n var _this = this;\n var supportsByob = supportsByobReader(underlyingStream);\n _this = _super.call(this, underlyingStream) || this;\n _this._supportsByob = supportsByob;\n return _this;\n }\n Object.defineProperty(WrappingReadableByteStreamSource.prototype, \"type\", {\n get: function () {\n return 'bytes';\n },\n enumerable: false,\n configurable: true\n });\n WrappingReadableByteStreamSource.prototype._attachByobReader = function () {\n if (this._readerMode === \"byob\" /* BYOB */) {\n return;\n }\n assert(this._supportsByob);\n this._detachReader();\n var reader = this._underlyingStream.getReader({ mode: 'byob' });\n this._readerMode = \"byob\" /* BYOB */;\n this._attachReader(reader);\n };\n WrappingReadableByteStreamSource.prototype.pull = function () {\n if (this._supportsByob) {\n var byobRequest = this._readableStreamController.byobRequest;\n if (byobRequest) {\n return this._pullWithByobRequest(byobRequest);\n }\n }\n return this._pullWithDefaultReader();\n };\n WrappingReadableByteStreamSource.prototype._pullWithByobRequest = function (byobRequest) {\n var _this = this;\n this._attachByobReader();\n // reader.read(view) detaches the input view, therefore we cannot pass byobRequest.view directly\n // create a separate buffer to read into, then copy that to byobRequest.view\n var buffer = new Uint8Array(byobRequest.view.byteLength);\n // TODO Backpressure?\n var read = this._underlyingReader.read(buffer)\n .then(function (result) {\n _this._readableStreamController;\n if (result.done) {\n _this._tryClose();\n byobRequest.respond(0);\n }\n else {\n copyArrayBufferView(result.value, byobRequest.view);\n byobRequest.respond(result.value.byteLength);\n }\n });\n this._setPendingRead(read);\n return read;\n };\n return WrappingReadableByteStreamSource;\n}(AbstractWrappingReadableStreamSource));\n\nfunction createWritableStreamWrapper(ctor) {\n assert(isWritableStreamConstructor(ctor));\n return function (writable) {\n if (writable.constructor === ctor) {\n return writable;\n }\n var sink = createWrappingWritableSink(writable);\n return new ctor(sink);\n };\n}\nfunction createWrappingWritableSink(writable) {\n assert(isWritableStream(writable));\n assert(writable.locked === false);\n var writer = writable.getWriter();\n return new WrappingWritableStreamSink(writer);\n}\nvar WrappingWritableStreamSink = /** @class */ (function () {\n function WrappingWritableStreamSink(underlyingWriter) {\n var _this = this;\n this._writableStreamController = undefined;\n this._pendingWrite = undefined;\n this._state = \"writable\" /* WRITABLE */;\n this._storedError = undefined;\n this._underlyingWriter = underlyingWriter;\n this._errorPromise = new Promise(function (resolve, reject) {\n _this._errorPromiseReject = reject;\n });\n this._errorPromise.catch(noop);\n }\n WrappingWritableStreamSink.prototype.start = function (controller) {\n var _this = this;\n this._writableStreamController = controller;\n this._underlyingWriter.closed\n .then(function () {\n _this._state = \"closed\" /* CLOSED */;\n })\n .catch(function (reason) { return _this._finishErroring(reason); });\n };\n WrappingWritableStreamSink.prototype.write = function (chunk) {\n var _this = this;\n var writer = this._underlyingWriter;\n // Detect past errors\n if (writer.desiredSize === null) {\n return writer.ready;\n }\n var writeRequest = writer.write(chunk);\n // Detect future errors\n writeRequest.catch(function (reason) { return _this._finishErroring(reason); });\n writer.ready.catch(function (reason) { return _this._startErroring(reason); });\n // Reject write when errored\n var write = Promise.race([writeRequest, this._errorPromise]);\n this._setPendingWrite(write);\n return write;\n };\n WrappingWritableStreamSink.prototype.close = function () {\n var _this = this;\n if (this._pendingWrite === undefined) {\n return this._underlyingWriter.close();\n }\n return this._finishPendingWrite().then(function () { return _this.close(); });\n };\n WrappingWritableStreamSink.prototype.abort = function (reason) {\n if (this._state === \"errored\" /* ERRORED */) {\n return undefined;\n }\n var writer = this._underlyingWriter;\n return writer.abort(reason);\n };\n WrappingWritableStreamSink.prototype._setPendingWrite = function (writePromise) {\n var _this = this;\n var pendingWrite;\n var finishWrite = function () {\n if (_this._pendingWrite === pendingWrite) {\n _this._pendingWrite = undefined;\n }\n };\n this._pendingWrite = pendingWrite = writePromise.then(finishWrite, finishWrite);\n };\n WrappingWritableStreamSink.prototype._finishPendingWrite = function () {\n var _this = this;\n if (this._pendingWrite === undefined) {\n return Promise.resolve();\n }\n var afterWrite = function () { return _this._finishPendingWrite(); };\n return this._pendingWrite.then(afterWrite, afterWrite);\n };\n WrappingWritableStreamSink.prototype._startErroring = function (reason) {\n var _this = this;\n if (this._state === \"writable\" /* WRITABLE */) {\n this._state = \"erroring\" /* ERRORING */;\n this._storedError = reason;\n var afterWrite = function () { return _this._finishErroring(reason); };\n if (this._pendingWrite === undefined) {\n afterWrite();\n }\n else {\n this._finishPendingWrite().then(afterWrite, afterWrite);\n }\n this._writableStreamController.error(reason);\n }\n };\n WrappingWritableStreamSink.prototype._finishErroring = function (reason) {\n if (this._state === \"writable\" /* WRITABLE */) {\n this._startErroring(reason);\n }\n if (this._state === \"erroring\" /* ERRORING */) {\n this._state = \"errored\" /* ERRORED */;\n this._errorPromiseReject(this._storedError);\n }\n };\n return WrappingWritableStreamSink;\n}());\n\nfunction createTransformStreamWrapper(ctor) {\n assert(isTransformStreamConstructor(ctor));\n return function (transform) {\n if (transform.constructor === ctor) {\n return transform;\n }\n var transformer = createWrappingTransformer(transform);\n return new ctor(transformer);\n };\n}\nfunction createWrappingTransformer(transform) {\n assert(isTransformStream(transform));\n var readable = transform.readable, writable = transform.writable;\n assert(readable.locked === false);\n assert(writable.locked === false);\n var reader = readable.getReader();\n var writer;\n try {\n writer = writable.getWriter();\n }\n catch (e) {\n reader.releaseLock(); // do not leak reader\n throw e;\n }\n return new WrappingTransformStreamTransformer(reader, writer);\n}\nvar WrappingTransformStreamTransformer = /** @class */ (function () {\n function WrappingTransformStreamTransformer(reader, writer) {\n var _this = this;\n this._transformStreamController = undefined;\n this._onRead = function (result) {\n if (result.done) {\n return;\n }\n _this._transformStreamController.enqueue(result.value);\n return _this._reader.read().then(_this._onRead);\n };\n this._onError = function (reason) {\n _this._flushReject(reason);\n _this._transformStreamController.error(reason);\n _this._reader.cancel(reason).catch(noop);\n _this._writer.abort(reason).catch(noop);\n };\n this._onTerminate = function () {\n _this._flushResolve();\n _this._transformStreamController.terminate();\n var error = new TypeError('TransformStream terminated');\n _this._writer.abort(error).catch(noop);\n };\n this._reader = reader;\n this._writer = writer;\n this._flushPromise = new Promise(function (resolve, reject) {\n _this._flushResolve = resolve;\n _this._flushReject = reject;\n });\n }\n WrappingTransformStreamTransformer.prototype.start = function (controller) {\n this._transformStreamController = controller;\n this._reader.read()\n .then(this._onRead)\n .then(this._onTerminate, this._onError);\n var readerClosed = this._reader.closed;\n if (readerClosed) {\n readerClosed\n .then(this._onTerminate, this._onError);\n }\n };\n WrappingTransformStreamTransformer.prototype.transform = function (chunk) {\n return this._writer.write(chunk);\n };\n WrappingTransformStreamTransformer.prototype.flush = function () {\n var _this = this;\n return this._writer.close()\n .then(function () { return _this._flushPromise; });\n };\n return WrappingTransformStreamTransformer;\n}());\n\nexport { createReadableStreamWrapper, createTransformStreamWrapper, createWrappingReadableSource, createWrappingTransformer, createWrappingWritableSink, createWritableStreamWrapper };\n//# sourceMappingURL=web-streams-adapter.mjs.map\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","__","this","constructor","create","assert","test","noop","typeIsObject","x","isStreamConstructor","ctor","startCalled","start","e","isReadableStream","readable","getReader","isWritableStream","writable","getWriter","isTransformStream","transform","supportsByobReader","mode","releaseLock","_a","createReadableStreamWrapper","isReadableStreamConstructor","byteSourceSupported","type","supportsByteSource","parseReadableType","undefined","source","createWrappingReadableSource","locked","WrappingReadableByteStreamSource","WrappingReadableStreamDefaultSource","typeString","String","RangeError","AbstractWrappingReadableStreamSource","underlyingStream","_underlyingReader","_readerMode","_readableStreamController","_pendingRead","_underlyingStream","_attachDefaultReader","controller","cancel","reason","_detachReader","reader","_attachReader","_this","closed","then","_finishPendingRead","close","error","catch","_pullWithDefaultReader","read","result","done","_tryClose","enqueue","value","_setPendingRead","readPromise","pendingRead","finishRead","afterRead","_super","apply","arguments","pull","toUint8Array","view","Uint8Array","buffer","byteOffset","byteLength","supportsByob","_supportsByob","defineProperty","get","enumerable","configurable","_attachByobReader","byobRequest","_pullWithByobRequest","from","to","fromArray","respond","set","createWritableStreamWrapper","isWritableStreamConstructor","sink","createWrappingWritableSink","writer","WrappingWritableStreamSink","underlyingWriter","_writableStreamController","_pendingWrite","_state","_storedError","_underlyingWriter","_errorPromise","Promise","resolve","reject","_errorPromiseReject","_finishErroring","write","chunk","desiredSize","ready","writeRequest","_startErroring","race","_setPendingWrite","_finishPendingWrite","abort","writePromise","pendingWrite","finishWrite","afterWrite","createTransformStreamWrapper","isTransformStreamConstructor","transformer","createWrappingTransformer","WrappingTransformStreamTransformer","_transformStreamController","_onRead","_reader","_onError","_flushReject","_writer","_onTerminate","_flushResolve","terminate","_flushPromise","readerClosed","flush"],"mappings":"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"}
|
|
@@ -0,0 +1,561 @@
|
|
|
1
|
+
/*! OpenPGP.js v5.3.1 - 2022-07-12 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
|
+
const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3
|
+
|
|
4
|
+
/*! *****************************************************************************
|
|
5
|
+
Copyright (c) Microsoft Corporation.
|
|
6
|
+
|
|
7
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
8
|
+
purpose with or without fee is hereby granted.
|
|
9
|
+
|
|
10
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
11
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
12
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
13
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
14
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
15
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
16
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
17
|
+
***************************************************************************** */
|
|
18
|
+
/* global Reflect, Promise */
|
|
19
|
+
|
|
20
|
+
var extendStatics = function(d, b) {
|
|
21
|
+
extendStatics = Object.setPrototypeOf ||
|
|
22
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
23
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
24
|
+
return extendStatics(d, b);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function __extends(d, b) {
|
|
28
|
+
if (typeof b !== "function" && b !== null)
|
|
29
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
30
|
+
extendStatics(d, b);
|
|
31
|
+
function __() { this.constructor = d; }
|
|
32
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function assert(test) {
|
|
36
|
+
if (!test) {
|
|
37
|
+
throw new TypeError('Assertion failed');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function noop() {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
function typeIsObject(x) {
|
|
45
|
+
return (typeof x === 'object' && x !== null) || typeof x === 'function';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function isStreamConstructor(ctor) {
|
|
49
|
+
if (typeof ctor !== 'function') {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
var startCalled = false;
|
|
53
|
+
try {
|
|
54
|
+
new ctor({
|
|
55
|
+
start: function () {
|
|
56
|
+
startCalled = true;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
// ignore
|
|
62
|
+
}
|
|
63
|
+
return startCalled;
|
|
64
|
+
}
|
|
65
|
+
function isReadableStream(readable) {
|
|
66
|
+
if (!typeIsObject(readable)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
if (typeof readable.getReader !== 'function') {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
function isReadableStreamConstructor(ctor) {
|
|
75
|
+
if (!isStreamConstructor(ctor)) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
if (!isReadableStream(new ctor())) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
function isWritableStream(writable) {
|
|
84
|
+
if (!typeIsObject(writable)) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
if (typeof writable.getWriter !== 'function') {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
function isWritableStreamConstructor(ctor) {
|
|
93
|
+
if (!isStreamConstructor(ctor)) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
if (!isWritableStream(new ctor())) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
function isTransformStream(transform) {
|
|
102
|
+
if (!typeIsObject(transform)) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (!isReadableStream(transform.readable)) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (!isWritableStream(transform.writable)) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
function isTransformStreamConstructor(ctor) {
|
|
114
|
+
if (!isStreamConstructor(ctor)) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (!isTransformStream(new ctor())) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
function supportsByobReader(readable) {
|
|
123
|
+
try {
|
|
124
|
+
var reader = readable.getReader({ mode: 'byob' });
|
|
125
|
+
reader.releaseLock();
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch (_a) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function supportsByteSource(ctor) {
|
|
133
|
+
try {
|
|
134
|
+
new ctor({ type: 'bytes' });
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
catch (_a) {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function createReadableStreamWrapper(ctor) {
|
|
143
|
+
assert(isReadableStreamConstructor(ctor));
|
|
144
|
+
var byteSourceSupported = supportsByteSource(ctor);
|
|
145
|
+
return function (readable, _a) {
|
|
146
|
+
var _b = _a === void 0 ? {} : _a, type = _b.type;
|
|
147
|
+
type = parseReadableType(type);
|
|
148
|
+
if (type === 'bytes' && !byteSourceSupported) {
|
|
149
|
+
type = undefined;
|
|
150
|
+
}
|
|
151
|
+
if (readable.constructor === ctor) {
|
|
152
|
+
if (type !== 'bytes' || supportsByobReader(readable)) {
|
|
153
|
+
return readable;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (type === 'bytes') {
|
|
157
|
+
var source = createWrappingReadableSource(readable, { type: type });
|
|
158
|
+
return new ctor(source);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
var source = createWrappingReadableSource(readable);
|
|
162
|
+
return new ctor(source);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
function createWrappingReadableSource(readable, _a) {
|
|
167
|
+
var _b = _a === void 0 ? {} : _a, type = _b.type;
|
|
168
|
+
assert(isReadableStream(readable));
|
|
169
|
+
assert(readable.locked === false);
|
|
170
|
+
type = parseReadableType(type);
|
|
171
|
+
var source;
|
|
172
|
+
if (type === 'bytes') {
|
|
173
|
+
source = new WrappingReadableByteStreamSource(readable);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
source = new WrappingReadableStreamDefaultSource(readable);
|
|
177
|
+
}
|
|
178
|
+
return source;
|
|
179
|
+
}
|
|
180
|
+
function parseReadableType(type) {
|
|
181
|
+
var typeString = String(type);
|
|
182
|
+
if (typeString === 'bytes') {
|
|
183
|
+
return typeString;
|
|
184
|
+
}
|
|
185
|
+
else if (type === undefined) {
|
|
186
|
+
return type;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
throw new RangeError('Invalid type is specified');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
var AbstractWrappingReadableStreamSource = /** @class */ (function () {
|
|
193
|
+
function AbstractWrappingReadableStreamSource(underlyingStream) {
|
|
194
|
+
this._underlyingReader = undefined;
|
|
195
|
+
this._readerMode = undefined;
|
|
196
|
+
this._readableStreamController = undefined;
|
|
197
|
+
this._pendingRead = undefined;
|
|
198
|
+
this._underlyingStream = underlyingStream;
|
|
199
|
+
// always keep a reader attached to detect close/error
|
|
200
|
+
this._attachDefaultReader();
|
|
201
|
+
}
|
|
202
|
+
AbstractWrappingReadableStreamSource.prototype.start = function (controller) {
|
|
203
|
+
this._readableStreamController = controller;
|
|
204
|
+
};
|
|
205
|
+
AbstractWrappingReadableStreamSource.prototype.cancel = function (reason) {
|
|
206
|
+
assert(this._underlyingReader !== undefined);
|
|
207
|
+
return this._underlyingReader.cancel(reason);
|
|
208
|
+
};
|
|
209
|
+
AbstractWrappingReadableStreamSource.prototype._attachDefaultReader = function () {
|
|
210
|
+
if (this._readerMode === "default" /* DEFAULT */) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
this._detachReader();
|
|
214
|
+
var reader = this._underlyingStream.getReader();
|
|
215
|
+
this._readerMode = "default" /* DEFAULT */;
|
|
216
|
+
this._attachReader(reader);
|
|
217
|
+
};
|
|
218
|
+
AbstractWrappingReadableStreamSource.prototype._attachReader = function (reader) {
|
|
219
|
+
var _this = this;
|
|
220
|
+
assert(this._underlyingReader === undefined);
|
|
221
|
+
this._underlyingReader = reader;
|
|
222
|
+
var closed = this._underlyingReader.closed;
|
|
223
|
+
if (!closed) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
closed
|
|
227
|
+
.then(function () { return _this._finishPendingRead(); })
|
|
228
|
+
.then(function () {
|
|
229
|
+
if (reader === _this._underlyingReader) {
|
|
230
|
+
_this._readableStreamController.close();
|
|
231
|
+
}
|
|
232
|
+
}, function (reason) {
|
|
233
|
+
if (reader === _this._underlyingReader) {
|
|
234
|
+
_this._readableStreamController.error(reason);
|
|
235
|
+
}
|
|
236
|
+
})
|
|
237
|
+
.catch(noop);
|
|
238
|
+
};
|
|
239
|
+
AbstractWrappingReadableStreamSource.prototype._detachReader = function () {
|
|
240
|
+
if (this._underlyingReader === undefined) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
this._underlyingReader.releaseLock();
|
|
244
|
+
this._underlyingReader = undefined;
|
|
245
|
+
this._readerMode = undefined;
|
|
246
|
+
};
|
|
247
|
+
AbstractWrappingReadableStreamSource.prototype._pullWithDefaultReader = function () {
|
|
248
|
+
var _this = this;
|
|
249
|
+
this._attachDefaultReader();
|
|
250
|
+
// TODO Backpressure?
|
|
251
|
+
var read = this._underlyingReader.read()
|
|
252
|
+
.then(function (result) {
|
|
253
|
+
var controller = _this._readableStreamController;
|
|
254
|
+
if (result.done) {
|
|
255
|
+
_this._tryClose();
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
controller.enqueue(result.value);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
this._setPendingRead(read);
|
|
262
|
+
return read;
|
|
263
|
+
};
|
|
264
|
+
AbstractWrappingReadableStreamSource.prototype._tryClose = function () {
|
|
265
|
+
try {
|
|
266
|
+
this._readableStreamController.close();
|
|
267
|
+
}
|
|
268
|
+
catch (_a) {
|
|
269
|
+
// already errored or closed
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
AbstractWrappingReadableStreamSource.prototype._setPendingRead = function (readPromise) {
|
|
273
|
+
var _this = this;
|
|
274
|
+
var pendingRead;
|
|
275
|
+
var finishRead = function () {
|
|
276
|
+
if (_this._pendingRead === pendingRead) {
|
|
277
|
+
_this._pendingRead = undefined;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
this._pendingRead = pendingRead = readPromise.then(finishRead, finishRead);
|
|
281
|
+
};
|
|
282
|
+
AbstractWrappingReadableStreamSource.prototype._finishPendingRead = function () {
|
|
283
|
+
var _this = this;
|
|
284
|
+
if (!this._pendingRead) {
|
|
285
|
+
return undefined;
|
|
286
|
+
}
|
|
287
|
+
var afterRead = function () { return _this._finishPendingRead(); };
|
|
288
|
+
return this._pendingRead.then(afterRead, afterRead);
|
|
289
|
+
};
|
|
290
|
+
return AbstractWrappingReadableStreamSource;
|
|
291
|
+
}());
|
|
292
|
+
var WrappingReadableStreamDefaultSource = /** @class */ (function (_super) {
|
|
293
|
+
__extends(WrappingReadableStreamDefaultSource, _super);
|
|
294
|
+
function WrappingReadableStreamDefaultSource() {
|
|
295
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
296
|
+
}
|
|
297
|
+
WrappingReadableStreamDefaultSource.prototype.pull = function () {
|
|
298
|
+
return this._pullWithDefaultReader();
|
|
299
|
+
};
|
|
300
|
+
return WrappingReadableStreamDefaultSource;
|
|
301
|
+
}(AbstractWrappingReadableStreamSource));
|
|
302
|
+
function toUint8Array(view) {
|
|
303
|
+
return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
|
|
304
|
+
}
|
|
305
|
+
function copyArrayBufferView(from, to) {
|
|
306
|
+
var fromArray = toUint8Array(from);
|
|
307
|
+
var toArray = toUint8Array(to);
|
|
308
|
+
toArray.set(fromArray, 0);
|
|
309
|
+
}
|
|
310
|
+
var WrappingReadableByteStreamSource = /** @class */ (function (_super) {
|
|
311
|
+
__extends(WrappingReadableByteStreamSource, _super);
|
|
312
|
+
function WrappingReadableByteStreamSource(underlyingStream) {
|
|
313
|
+
var _this = this;
|
|
314
|
+
var supportsByob = supportsByobReader(underlyingStream);
|
|
315
|
+
_this = _super.call(this, underlyingStream) || this;
|
|
316
|
+
_this._supportsByob = supportsByob;
|
|
317
|
+
return _this;
|
|
318
|
+
}
|
|
319
|
+
Object.defineProperty(WrappingReadableByteStreamSource.prototype, "type", {
|
|
320
|
+
get: function () {
|
|
321
|
+
return 'bytes';
|
|
322
|
+
},
|
|
323
|
+
enumerable: false,
|
|
324
|
+
configurable: true
|
|
325
|
+
});
|
|
326
|
+
WrappingReadableByteStreamSource.prototype._attachByobReader = function () {
|
|
327
|
+
if (this._readerMode === "byob" /* BYOB */) {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
assert(this._supportsByob);
|
|
331
|
+
this._detachReader();
|
|
332
|
+
var reader = this._underlyingStream.getReader({ mode: 'byob' });
|
|
333
|
+
this._readerMode = "byob" /* BYOB */;
|
|
334
|
+
this._attachReader(reader);
|
|
335
|
+
};
|
|
336
|
+
WrappingReadableByteStreamSource.prototype.pull = function () {
|
|
337
|
+
if (this._supportsByob) {
|
|
338
|
+
var byobRequest = this._readableStreamController.byobRequest;
|
|
339
|
+
if (byobRequest) {
|
|
340
|
+
return this._pullWithByobRequest(byobRequest);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return this._pullWithDefaultReader();
|
|
344
|
+
};
|
|
345
|
+
WrappingReadableByteStreamSource.prototype._pullWithByobRequest = function (byobRequest) {
|
|
346
|
+
var _this = this;
|
|
347
|
+
this._attachByobReader();
|
|
348
|
+
// reader.read(view) detaches the input view, therefore we cannot pass byobRequest.view directly
|
|
349
|
+
// create a separate buffer to read into, then copy that to byobRequest.view
|
|
350
|
+
var buffer = new Uint8Array(byobRequest.view.byteLength);
|
|
351
|
+
// TODO Backpressure?
|
|
352
|
+
var read = this._underlyingReader.read(buffer)
|
|
353
|
+
.then(function (result) {
|
|
354
|
+
_this._readableStreamController;
|
|
355
|
+
if (result.done) {
|
|
356
|
+
_this._tryClose();
|
|
357
|
+
byobRequest.respond(0);
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
copyArrayBufferView(result.value, byobRequest.view);
|
|
361
|
+
byobRequest.respond(result.value.byteLength);
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
this._setPendingRead(read);
|
|
365
|
+
return read;
|
|
366
|
+
};
|
|
367
|
+
return WrappingReadableByteStreamSource;
|
|
368
|
+
}(AbstractWrappingReadableStreamSource));
|
|
369
|
+
|
|
370
|
+
function createWritableStreamWrapper(ctor) {
|
|
371
|
+
assert(isWritableStreamConstructor(ctor));
|
|
372
|
+
return function (writable) {
|
|
373
|
+
if (writable.constructor === ctor) {
|
|
374
|
+
return writable;
|
|
375
|
+
}
|
|
376
|
+
var sink = createWrappingWritableSink(writable);
|
|
377
|
+
return new ctor(sink);
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
function createWrappingWritableSink(writable) {
|
|
381
|
+
assert(isWritableStream(writable));
|
|
382
|
+
assert(writable.locked === false);
|
|
383
|
+
var writer = writable.getWriter();
|
|
384
|
+
return new WrappingWritableStreamSink(writer);
|
|
385
|
+
}
|
|
386
|
+
var WrappingWritableStreamSink = /** @class */ (function () {
|
|
387
|
+
function WrappingWritableStreamSink(underlyingWriter) {
|
|
388
|
+
var _this = this;
|
|
389
|
+
this._writableStreamController = undefined;
|
|
390
|
+
this._pendingWrite = undefined;
|
|
391
|
+
this._state = "writable" /* WRITABLE */;
|
|
392
|
+
this._storedError = undefined;
|
|
393
|
+
this._underlyingWriter = underlyingWriter;
|
|
394
|
+
this._errorPromise = new Promise(function (resolve, reject) {
|
|
395
|
+
_this._errorPromiseReject = reject;
|
|
396
|
+
});
|
|
397
|
+
this._errorPromise.catch(noop);
|
|
398
|
+
}
|
|
399
|
+
WrappingWritableStreamSink.prototype.start = function (controller) {
|
|
400
|
+
var _this = this;
|
|
401
|
+
this._writableStreamController = controller;
|
|
402
|
+
this._underlyingWriter.closed
|
|
403
|
+
.then(function () {
|
|
404
|
+
_this._state = "closed" /* CLOSED */;
|
|
405
|
+
})
|
|
406
|
+
.catch(function (reason) { return _this._finishErroring(reason); });
|
|
407
|
+
};
|
|
408
|
+
WrappingWritableStreamSink.prototype.write = function (chunk) {
|
|
409
|
+
var _this = this;
|
|
410
|
+
var writer = this._underlyingWriter;
|
|
411
|
+
// Detect past errors
|
|
412
|
+
if (writer.desiredSize === null) {
|
|
413
|
+
return writer.ready;
|
|
414
|
+
}
|
|
415
|
+
var writeRequest = writer.write(chunk);
|
|
416
|
+
// Detect future errors
|
|
417
|
+
writeRequest.catch(function (reason) { return _this._finishErroring(reason); });
|
|
418
|
+
writer.ready.catch(function (reason) { return _this._startErroring(reason); });
|
|
419
|
+
// Reject write when errored
|
|
420
|
+
var write = Promise.race([writeRequest, this._errorPromise]);
|
|
421
|
+
this._setPendingWrite(write);
|
|
422
|
+
return write;
|
|
423
|
+
};
|
|
424
|
+
WrappingWritableStreamSink.prototype.close = function () {
|
|
425
|
+
var _this = this;
|
|
426
|
+
if (this._pendingWrite === undefined) {
|
|
427
|
+
return this._underlyingWriter.close();
|
|
428
|
+
}
|
|
429
|
+
return this._finishPendingWrite().then(function () { return _this.close(); });
|
|
430
|
+
};
|
|
431
|
+
WrappingWritableStreamSink.prototype.abort = function (reason) {
|
|
432
|
+
if (this._state === "errored" /* ERRORED */) {
|
|
433
|
+
return undefined;
|
|
434
|
+
}
|
|
435
|
+
var writer = this._underlyingWriter;
|
|
436
|
+
return writer.abort(reason);
|
|
437
|
+
};
|
|
438
|
+
WrappingWritableStreamSink.prototype._setPendingWrite = function (writePromise) {
|
|
439
|
+
var _this = this;
|
|
440
|
+
var pendingWrite;
|
|
441
|
+
var finishWrite = function () {
|
|
442
|
+
if (_this._pendingWrite === pendingWrite) {
|
|
443
|
+
_this._pendingWrite = undefined;
|
|
444
|
+
}
|
|
445
|
+
};
|
|
446
|
+
this._pendingWrite = pendingWrite = writePromise.then(finishWrite, finishWrite);
|
|
447
|
+
};
|
|
448
|
+
WrappingWritableStreamSink.prototype._finishPendingWrite = function () {
|
|
449
|
+
var _this = this;
|
|
450
|
+
if (this._pendingWrite === undefined) {
|
|
451
|
+
return Promise.resolve();
|
|
452
|
+
}
|
|
453
|
+
var afterWrite = function () { return _this._finishPendingWrite(); };
|
|
454
|
+
return this._pendingWrite.then(afterWrite, afterWrite);
|
|
455
|
+
};
|
|
456
|
+
WrappingWritableStreamSink.prototype._startErroring = function (reason) {
|
|
457
|
+
var _this = this;
|
|
458
|
+
if (this._state === "writable" /* WRITABLE */) {
|
|
459
|
+
this._state = "erroring" /* ERRORING */;
|
|
460
|
+
this._storedError = reason;
|
|
461
|
+
var afterWrite = function () { return _this._finishErroring(reason); };
|
|
462
|
+
if (this._pendingWrite === undefined) {
|
|
463
|
+
afterWrite();
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
this._finishPendingWrite().then(afterWrite, afterWrite);
|
|
467
|
+
}
|
|
468
|
+
this._writableStreamController.error(reason);
|
|
469
|
+
}
|
|
470
|
+
};
|
|
471
|
+
WrappingWritableStreamSink.prototype._finishErroring = function (reason) {
|
|
472
|
+
if (this._state === "writable" /* WRITABLE */) {
|
|
473
|
+
this._startErroring(reason);
|
|
474
|
+
}
|
|
475
|
+
if (this._state === "erroring" /* ERRORING */) {
|
|
476
|
+
this._state = "errored" /* ERRORED */;
|
|
477
|
+
this._errorPromiseReject(this._storedError);
|
|
478
|
+
}
|
|
479
|
+
};
|
|
480
|
+
return WrappingWritableStreamSink;
|
|
481
|
+
}());
|
|
482
|
+
|
|
483
|
+
function createTransformStreamWrapper(ctor) {
|
|
484
|
+
assert(isTransformStreamConstructor(ctor));
|
|
485
|
+
return function (transform) {
|
|
486
|
+
if (transform.constructor === ctor) {
|
|
487
|
+
return transform;
|
|
488
|
+
}
|
|
489
|
+
var transformer = createWrappingTransformer(transform);
|
|
490
|
+
return new ctor(transformer);
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
function createWrappingTransformer(transform) {
|
|
494
|
+
assert(isTransformStream(transform));
|
|
495
|
+
var readable = transform.readable, writable = transform.writable;
|
|
496
|
+
assert(readable.locked === false);
|
|
497
|
+
assert(writable.locked === false);
|
|
498
|
+
var reader = readable.getReader();
|
|
499
|
+
var writer;
|
|
500
|
+
try {
|
|
501
|
+
writer = writable.getWriter();
|
|
502
|
+
}
|
|
503
|
+
catch (e) {
|
|
504
|
+
reader.releaseLock(); // do not leak reader
|
|
505
|
+
throw e;
|
|
506
|
+
}
|
|
507
|
+
return new WrappingTransformStreamTransformer(reader, writer);
|
|
508
|
+
}
|
|
509
|
+
var WrappingTransformStreamTransformer = /** @class */ (function () {
|
|
510
|
+
function WrappingTransformStreamTransformer(reader, writer) {
|
|
511
|
+
var _this = this;
|
|
512
|
+
this._transformStreamController = undefined;
|
|
513
|
+
this._onRead = function (result) {
|
|
514
|
+
if (result.done) {
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
_this._transformStreamController.enqueue(result.value);
|
|
518
|
+
return _this._reader.read().then(_this._onRead);
|
|
519
|
+
};
|
|
520
|
+
this._onError = function (reason) {
|
|
521
|
+
_this._flushReject(reason);
|
|
522
|
+
_this._transformStreamController.error(reason);
|
|
523
|
+
_this._reader.cancel(reason).catch(noop);
|
|
524
|
+
_this._writer.abort(reason).catch(noop);
|
|
525
|
+
};
|
|
526
|
+
this._onTerminate = function () {
|
|
527
|
+
_this._flushResolve();
|
|
528
|
+
_this._transformStreamController.terminate();
|
|
529
|
+
var error = new TypeError('TransformStream terminated');
|
|
530
|
+
_this._writer.abort(error).catch(noop);
|
|
531
|
+
};
|
|
532
|
+
this._reader = reader;
|
|
533
|
+
this._writer = writer;
|
|
534
|
+
this._flushPromise = new Promise(function (resolve, reject) {
|
|
535
|
+
_this._flushResolve = resolve;
|
|
536
|
+
_this._flushReject = reject;
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
WrappingTransformStreamTransformer.prototype.start = function (controller) {
|
|
540
|
+
this._transformStreamController = controller;
|
|
541
|
+
this._reader.read()
|
|
542
|
+
.then(this._onRead)
|
|
543
|
+
.then(this._onTerminate, this._onError);
|
|
544
|
+
var readerClosed = this._reader.closed;
|
|
545
|
+
if (readerClosed) {
|
|
546
|
+
readerClosed
|
|
547
|
+
.then(this._onTerminate, this._onError);
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
WrappingTransformStreamTransformer.prototype.transform = function (chunk) {
|
|
551
|
+
return this._writer.write(chunk);
|
|
552
|
+
};
|
|
553
|
+
WrappingTransformStreamTransformer.prototype.flush = function () {
|
|
554
|
+
var _this = this;
|
|
555
|
+
return this._writer.close()
|
|
556
|
+
.then(function () { return _this._flushPromise; });
|
|
557
|
+
};
|
|
558
|
+
return WrappingTransformStreamTransformer;
|
|
559
|
+
}());
|
|
560
|
+
|
|
561
|
+
export { createReadableStreamWrapper, createTransformStreamWrapper, createWrappingReadableSource, createWrappingTransformer, createWrappingWritableSink, createWritableStreamWrapper };
|