@loaders.gl/polyfills 3.1.0-alpha.4 → 3.1.0-alpha.5

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 (72) hide show
  1. package/dist/bundle.d.ts +1 -0
  2. package/dist/dist.min.js.map +1 -1
  3. package/dist/es5/bundle.js +1 -1
  4. package/dist/es5/bundle.js.map +1 -1
  5. package/dist/es5/index.js +9 -11
  6. package/dist/es5/index.js.map +1 -1
  7. package/dist/es5/node/buffer/to-array-buffer.node.js +1 -1
  8. package/dist/es5/node/buffer/to-array-buffer.node.js.map +1 -1
  9. package/dist/es5/node/fetch/fetch.node.js +69 -100
  10. package/dist/es5/node/fetch/fetch.node.js.map +1 -1
  11. package/dist/es5/node/fetch/headers.node.js +73 -112
  12. package/dist/es5/node/fetch/headers.node.js.map +1 -1
  13. package/dist/es5/node/fetch/response.node.js +47 -182
  14. package/dist/es5/node/fetch/response.node.js.map +1 -1
  15. package/dist/es5/node/fetch/utils/decode-data-uri.node.js +10 -18
  16. package/dist/es5/node/fetch/utils/decode-data-uri.node.js.map +1 -1
  17. package/dist/es5/node/fetch/utils/stream-utils.node.js +46 -126
  18. package/dist/es5/node/fetch/utils/stream-utils.node.js.map +1 -1
  19. package/dist/es5/node/file/blob-stream-controller.js +37 -82
  20. package/dist/es5/node/file/blob-stream-controller.js.map +1 -1
  21. package/dist/es5/node/file/blob-stream.js +12 -67
  22. package/dist/es5/node/file/blob-stream.js.map +1 -1
  23. package/dist/es5/node/file/blob.js +100 -209
  24. package/dist/es5/node/file/blob.js.map +1 -1
  25. package/dist/es5/node/file/file-reader.js +40 -147
  26. package/dist/es5/node/file/file-reader.js.map +1 -1
  27. package/dist/es5/node/file/file.js +13 -41
  28. package/dist/es5/node/file/file.js.map +1 -1
  29. package/dist/es5/node/file/readable-stream.js +1 -26
  30. package/dist/es5/node/file/readable-stream.js.map +1 -1
  31. package/dist/es5/node/images/encode-image.node.js +8 -10
  32. package/dist/es5/node/images/encode-image.node.js.map +1 -1
  33. package/dist/es5/node/images/parse-image.node.js +17 -44
  34. package/dist/es5/node/images/parse-image.node.js.map +1 -1
  35. package/dist/es5/promise/all-settled.js +7 -7
  36. package/dist/es5/promise/all-settled.js.map +1 -1
  37. package/dist/es5/utils/globals.js +3 -8
  38. package/dist/es5/utils/globals.js.map +1 -1
  39. package/dist/esm/node/fetch/fetch.node.js +12 -1
  40. package/dist/esm/node/fetch/fetch.node.js.map +1 -1
  41. package/dist/esm/node/fetch/headers.node.js +1 -1
  42. package/dist/esm/node/fetch/headers.node.js.map +1 -1
  43. package/dist/esm/node/fetch/utils/decode-data-uri.node.js +2 -2
  44. package/dist/esm/node/fetch/utils/decode-data-uri.node.js.map +1 -1
  45. package/dist/esm/node/file/file-reader.js +1 -1
  46. package/dist/esm/node/file/file-reader.js.map +1 -1
  47. package/dist/esm/utils/assert.js +1 -1
  48. package/dist/esm/utils/assert.js.map +1 -1
  49. package/dist/index.d.ts +5 -0
  50. package/dist/libs/encoding-indexes.d.ts +1 -0
  51. package/dist/libs/encoding.d.ts +66 -0
  52. package/dist/node/buffer/btoa.node.d.ts +2 -0
  53. package/dist/node/buffer/to-array-buffer.node.d.ts +1 -0
  54. package/dist/node/fetch/fetch.node.d.ts +6 -0
  55. package/dist/node/fetch/headers.node.d.ts +33 -0
  56. package/dist/node/fetch/response.node.d.ts +21 -0
  57. package/dist/node/fetch/utils/decode-data-uri.node.d.ts +15 -0
  58. package/dist/node/fetch/utils/stream-utils.node.d.ts +3 -0
  59. package/dist/node/file/blob-stream-controller.d.ts +28 -0
  60. package/dist/node/file/blob-stream.d.ts +24 -0
  61. package/dist/node/file/blob.d.ts +57 -0
  62. package/dist/node/file/file-reader.d.ts +23 -0
  63. package/dist/node/file/file.d.ts +24 -0
  64. package/dist/node/file/install-file-polyfills.d.ts +1 -0
  65. package/dist/node/file/readable-stream.d.ts +3 -0
  66. package/dist/node/images/encode-image.node.d.ts +19 -0
  67. package/dist/node/images/parse-image.node.d.ts +10 -0
  68. package/dist/promise/all-settled.d.ts +9 -0
  69. package/dist/utils/assert.d.ts +1 -0
  70. package/dist/utils/globals.d.ts +3 -0
  71. package/package.json +4 -3
  72. package/src/node/fetch/fetch.node.ts +19 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/polyfills",
3
- "version": "3.1.0-alpha.4",
3
+ "version": "3.1.0-alpha.5",
4
4
  "description": "Polyfills for TextEncoder/TextDecoder",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -17,7 +17,7 @@
17
17
  "TextEncoder",
18
18
  "TextDecoder"
19
19
  ],
20
- "types": "src/index.ts",
20
+ "types": "dist/index.d.ts",
21
21
  "main": "dist/es5/index.js",
22
22
  "module": "dist/esm/index.js",
23
23
  "files": [
@@ -93,6 +93,7 @@
93
93
  },
94
94
  "scripts": {
95
95
  "pre-build": "npm run build-bundle",
96
+ "post-build": "tsc",
96
97
  "build-bundle": "webpack --display=minimal --config ../../scripts/webpack/bundle.js"
97
98
  },
98
99
  "dependencies": {
@@ -105,5 +106,5 @@
105
106
  "web-streams-polyfill": "^3.0.0",
106
107
  "xmldom": "^0.5.0"
107
108
  },
108
- "gitHead": "e309784af37ef9f3640c7733c7851124c72e1fa3"
109
+ "gitHead": "352241dd910a8c6307a235dadbe154ca915b885b"
109
110
  }
@@ -43,10 +43,11 @@ export default async function fetchNode(url, options) {
43
43
  !options || options.followRedirect || options.followRedirect === undefined;
44
44
 
45
45
  if (status >= 300 && status < 400 && headers.has('location') && followRedirect) {
46
+ const redirectUrl = generateRedirectUrl(url, headers.get('location'));
47
+
46
48
  // Redirect
47
- return await fetchNode(headers.get('location'), options);
49
+ return await fetchNode(redirectUrl, options);
48
50
  }
49
-
50
51
  return new Response(body, {headers, status, statusText, url});
51
52
  } catch (error) {
52
53
  // TODO - what error code to use here?
@@ -54,6 +55,22 @@ export default async function fetchNode(url, options) {
54
55
  }
55
56
  }
56
57
 
58
+ /**
59
+ * Generate redirect url from location without origin and protocol.
60
+ * @param originalUrl
61
+ * @param redirectUrl
62
+ */
63
+ function generateRedirectUrl(originalUrl: string, location: string): string {
64
+ if (location.startsWith('http')) {
65
+ return location;
66
+ }
67
+ // If url doesn't have origin and protocol just extend current url origin with location.
68
+ const url = new URL(originalUrl);
69
+ url.pathname = location;
70
+
71
+ return url.href;
72
+ }
73
+
57
74
  // HELPER FUNCTIONS
58
75
  // PRIVATE
59
76