web-streams-polyfill 3.2.0 → 4.0.0-beta.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +18 -6
  2. package/LICENSE +1 -1
  3. package/README.md +52 -41
  4. package/dist/polyfill.es5.js +8 -0
  5. package/dist/polyfill.js +6 -4368
  6. package/dist/ponyfill.es5.js +8 -0
  7. package/dist/ponyfill.es5.mjs +8 -0
  8. package/dist/ponyfill.js +6 -4340
  9. package/dist/ponyfill.mjs +6 -4318
  10. package/package.json +52 -28
  11. package/types/polyfill.d.ts +62 -0
  12. package/{dist/types/ts3.6/polyfill.d.ts → types/ponyfill.d.ts} +6 -10
  13. package/{dist/types → types}/tsdoc-metadata.json +1 -1
  14. package/dist/polyfill.es2018.js +0 -4229
  15. package/dist/polyfill.es2018.js.map +0 -1
  16. package/dist/polyfill.es2018.min.js +0 -2
  17. package/dist/polyfill.es2018.min.js.map +0 -1
  18. package/dist/polyfill.es2018.mjs +0 -4207
  19. package/dist/polyfill.es2018.mjs.map +0 -1
  20. package/dist/polyfill.es6.js +0 -4240
  21. package/dist/polyfill.es6.js.map +0 -1
  22. package/dist/polyfill.es6.min.js +0 -2
  23. package/dist/polyfill.es6.min.js.map +0 -1
  24. package/dist/polyfill.es6.mjs +0 -4218
  25. package/dist/polyfill.es6.mjs.map +0 -1
  26. package/dist/polyfill.js.map +0 -1
  27. package/dist/polyfill.min.js +0 -2
  28. package/dist/polyfill.min.js.map +0 -1
  29. package/dist/polyfill.mjs +0 -4348
  30. package/dist/polyfill.mjs.map +0 -1
  31. package/dist/ponyfill.es2018.js +0 -4201
  32. package/dist/ponyfill.es2018.js.map +0 -1
  33. package/dist/ponyfill.es2018.mjs +0 -4179
  34. package/dist/ponyfill.es2018.mjs.map +0 -1
  35. package/dist/ponyfill.es6.js +0 -4212
  36. package/dist/ponyfill.es6.js.map +0 -1
  37. package/dist/ponyfill.es6.mjs +0 -4190
  38. package/dist/ponyfill.es6.mjs.map +0 -1
  39. package/dist/ponyfill.js.map +0 -1
  40. package/dist/ponyfill.mjs.map +0 -1
  41. package/dist/types/polyfill.d.ts +0 -771
  42. package/es2018/package.json +0 -7
  43. package/es6/package.json +0 -7
  44. package/ponyfill/es2018/package.json +0 -6
  45. package/ponyfill/es6/package.json +0 -6
  46. package/ponyfill/package.json +0 -6
package/package.json CHANGED
@@ -1,39 +1,64 @@
1
1
  {
2
2
  "name": "web-streams-polyfill",
3
- "version": "3.2.0",
3
+ "version": "4.0.0-beta.1",
4
4
  "description": "Web Streams, based on the WHATWG spec reference implementation",
5
- "main": "dist/polyfill",
6
- "browser": "dist/polyfill.min.js",
7
- "module": "dist/polyfill.mjs",
8
- "types": "dist/types/polyfill.d.ts",
5
+ "main": "dist/ponyfill.js",
6
+ "module": "dist/ponyfill.mjs",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/ponyfill.mjs",
10
+ "require": "./dist/ponyfill.js"
11
+ },
12
+ "./es5": {
13
+ "import": "./dist/ponyfill.es5.mjs",
14
+ "require": "./dist/ponyfill.es5.js"
15
+ },
16
+ "./polyfill": "./dist/polyfill.js",
17
+ "./polyfill/es5": "./dist/polyfill.es5.js",
18
+ "./dist/*": "./dist/*",
19
+ "./types/*": "./types/*",
20
+ "./package": "./package.json",
21
+ "./package.json": "./package.json"
22
+ },
23
+ "types": "types/ponyfill.d.ts",
9
24
  "typesVersions": {
10
25
  ">=3.6": {
11
- "dist/types/*": [
12
- "dist/types/ts3.6/*"
26
+ ".": [
27
+ "./types/ponyfill.d.ts"
28
+ ],
29
+ "./es5": [
30
+ "./types/ponyfill.d.ts"
31
+ ],
32
+ "./polyfill": [
33
+ "./types/polyfill.d.ts"
34
+ ],
35
+ "./polyfill/es5": [
36
+ "./types/polyfill.d.ts"
13
37
  ]
14
38
  }
15
39
  },
16
40
  "scripts": {
17
- "test": "npm run test:types && npm run test:unit && npm run test:wpt",
41
+ "test": "npm run test:types && npm run test:unit && npm run test:wpt && npm run test:bundlers",
18
42
  "test:wpt": "node --expose_gc ./test/run-web-platform-tests.js",
43
+ "test:bundlers": "npm run test:rollup && npm run test:webpack",
44
+ "test:rollup": "cd test/rollup && npm ci && npm test",
45
+ "test:webpack": "cd test/webpack && npm ci && npm test",
19
46
  "pretest:wpt": "git submodule update --init --recursive",
20
47
  "test:types": "tsc -p ./test/types/tsconfig.json",
21
48
  "test:unit": "jasmine --config=test/unit/jasmine.json",
22
49
  "lint": "eslint \"src/**/*.ts\"",
23
50
  "build": "npm run build:bundle && npm run build:types",
24
51
  "build:bundle": "rollup -c",
25
- "build:types": "tsc --project . --emitDeclarationOnly --declarationDir ./lib && api-extractor run && node ./build/downlevel-dts.js",
26
- "accept:types": "tsc --project . --emitDeclarationOnly --declarationDir ./lib && api-extractor run --local && node ./build/downlevel-dts.js",
52
+ "build:types": "tsc --project . --emitDeclarationOnly --declarationDir ./lib && api-extractor run",
53
+ "accept:types": "tsc --project . --emitDeclarationOnly --declarationDir ./lib && api-extractor run --local",
27
54
  "prepare": "npm run build"
28
55
  },
29
56
  "files": [
30
57
  "dist",
31
- "es6",
32
- "es2018",
33
- "ponyfill"
58
+ "types"
34
59
  ],
35
60
  "engines": {
36
- "node": ">= 8"
61
+ "node": ">= 12"
37
62
  },
38
63
  "repository": {
39
64
  "type": "git",
@@ -54,23 +79,22 @@
54
79
  },
55
80
  "homepage": "https://github.com/MattiasBuelens/web-streams-polyfill#readme",
56
81
  "devDependencies": {
57
- "@microsoft/api-extractor": "^7.13.4",
82
+ "@microsoft/api-extractor": "^7.18.7",
58
83
  "@rollup/plugin-inject": "^4.0.2",
59
- "@rollup/plugin-replace": "^2.4.2",
60
- "@rollup/plugin-strip": "^2.0.0",
61
- "@rollup/plugin-typescript": "^8.2.1",
62
- "@types/node": "^14.14.37",
63
- "@typescript-eslint/eslint-plugin": "^4.21.0",
64
- "@typescript-eslint/parser": "^4.21.0",
84
+ "@rollup/plugin-replace": "^3.0.0",
85
+ "@rollup/plugin-strip": "^2.1.0",
86
+ "@rollup/plugin-typescript": "^8.2.5",
87
+ "@types/node": "^14.17.12",
88
+ "@typescript-eslint/eslint-plugin": "^4.29.3",
89
+ "@typescript-eslint/parser": "^4.29.3",
65
90
  "@ungap/promise-all-settled": "^1.1.2",
66
- "eslint": "^7.23.0",
67
- "jasmine": "^3.7.0",
68
- "micromatch": "^4.0.2",
69
- "rollup": "^2.44.0",
91
+ "eslint": "^7.32.0",
92
+ "jasmine": "^3.9.0",
93
+ "micromatch": "^4.0.4",
94
+ "rollup": "^2.56.3",
70
95
  "rollup-plugin-terser": "^7.0.2",
71
- "ts-morph": "^10.0.2",
72
- "tslib": "^2.2.0",
73
- "typescript": "^4.2.4",
96
+ "tslib": "^2.3.0",
97
+ "typescript": "~4.3.5",
74
98
  "wpt-runner": "^3.2.1"
75
99
  }
76
100
  }
@@ -0,0 +1,62 @@
1
+ /// <reference lib="dom" />
2
+ /// <reference lib="es2018.asynciterable" />
3
+
4
+ import type {
5
+ ReadableStreamAsyncIterator,
6
+ ReadableStreamBYOBReader,
7
+ ReadableStreamBYOBReadResult,
8
+ ReadableStreamIteratorOptions
9
+ } from './ponyfill';
10
+
11
+ export type {
12
+ ReadableStreamAsyncIterator,
13
+ ReadableStreamBYOBReader,
14
+ ReadableStreamBYOBReadResult,
15
+ ReadableStreamIteratorOptions
16
+ };
17
+
18
+ declare global {
19
+ interface ReadableStream<R = any> {
20
+ /**
21
+ * Creates a {@link ReadableStreamBYOBReader} and locks the stream to the new reader.
22
+ *
23
+ * This call behaves the same way as the no-argument variant, except that it only works on readable byte streams,
24
+ * i.e. streams which were constructed specifically with the ability to handle "bring your own buffer" reading.
25
+ * The returned BYOB reader provides the ability to directly read individual chunks from the stream via its
26
+ * {@link ReadableStreamBYOBReader.read | read()} method, into developer-supplied buffers, allowing more precise
27
+ * control over allocation.
28
+ */
29
+ getReader({ mode }: {
30
+ mode: 'byob';
31
+ }): ReadableStreamBYOBReader;
32
+
33
+ /**
34
+ * Creates a {@link ReadableStreamDefaultReader} and locks the stream to the new reader.
35
+ * While the stream is locked, no other reader can be acquired until this one is released.
36
+ *
37
+ * This functionality is especially useful for creating abstractions that desire the ability to consume a stream
38
+ * in its entirety. By getting a reader for the stream, you can ensure nobody else can interleave reads with yours
39
+ * or cancel the stream, which would interfere with your abstraction.
40
+ */
41
+ getReader(): ReadableStreamDefaultReader<R>;
42
+
43
+ /**
44
+ * Asynchronously iterates over the chunks in the stream's internal queue.
45
+ *
46
+ * Asynchronously iterating over the stream will lock it, preventing any other consumer from acquiring a reader.
47
+ * The lock will be released if the async iterator's {@link ReadableStreamAsyncIterator.return | return()} method
48
+ * is called, e.g. by breaking out of the loop.
49
+ *
50
+ * By default, calling the async iterator's {@link ReadableStreamAsyncIterator.return | return()} method will also
51
+ * cancel the stream. To prevent this, use the stream's {@link ReadableStream.values | values()} method, passing
52
+ * `true` for the `preventCancel` option.
53
+ */
54
+ values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;
55
+
56
+ /**
57
+ * {@inheritDoc ReadableStream.values}
58
+ */
59
+ [Symbol.asyncIterator]: (options?: ReadableStreamIteratorOptions) => ReadableStreamAsyncIterator<R>;
60
+ }
61
+ }
62
+
@@ -87,11 +87,11 @@ export declare interface QueuingStrategyInit {
87
87
  highWaterMark: number;
88
88
  }
89
89
 
90
- declare type QueuingStrategySizeCallback<T = any> = (chunk: T) => number;
91
-
92
- declare type ReadableByteStream = ReadableStream<Uint8Array> & {
93
- _readableStreamController: ReadableByteStreamController;
94
- };
90
+ /**
91
+ * {@inheritDoc QueuingStrategy.size}
92
+ * @public
93
+ */
94
+ export declare type QueuingStrategySizeCallback<T = any> = (chunk: T) => number;
95
95
 
96
96
  /**
97
97
  * Allows control of a {@link ReadableStream | readable byte stream}'s state and internal queue.
@@ -233,7 +233,7 @@ export declare interface ReadableStreamAsyncIterator<R> extends AsyncIterator<R>
233
233
  * @public
234
234
  */
235
235
  export declare class ReadableStreamBYOBReader {
236
- constructor(stream: ReadableByteStream);
236
+ constructor(stream: ReadableStream<Uint8Array>);
237
237
  /**
238
238
  * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or
239
239
  * the reader's lock is released before the stream finishes closing.
@@ -687,10 +687,6 @@ export declare class WritableStreamDefaultController<W = any> {
687
687
  private constructor();
688
688
  /**
689
689
  * The reason which was passed to `WritableStream.abort(reason)` when the stream was aborted.
690
- *
691
- * @deprecated
692
- * This property has been removed from the specification, see https://github.com/whatwg/streams/pull/1177.
693
- * Use {@link WritableStreamDefaultController.signal}'s `reason` instead.
694
690
  */
695
691
  get abortReason(): any;
696
692
  /**
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.13.4"
8
+ "packageVersion": "7.18.7"
9
9
  }
10
10
  ]
11
11
  }