diff --git a/package.json b/package.json index 53502d9..4b8cd68 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "browser": { "fs-extra": false, "./src/text-encoder.js": "./src/text-encoder.browser.js", + "./src/text-decoder.js": "./src/text-decoder.browser.js", "./src/temp-dir.js": "./src/temp-dir.browser.js", "./src/path-join.js": "./src/path-join.browser.js" }, diff --git a/src/http.js b/src/http.js index 2ee9a20..6655e06 100644 --- a/src/http.js +++ b/src/http.js @@ -4,7 +4,7 @@ const fetch = require('node-fetch') const merge = require('merge-options').bind({ ignoreUndefined: true }) const { URL, URLSearchParams } = require('iso-url') -const TextDecoder = require('./text-encoder') +const TextDecoder = require('./text-decoder') const AbortController = require('abort-controller') const anySignal = require('any-signal') diff --git a/src/text-decoder.browser.js b/src/text-decoder.browser.js new file mode 100644 index 0000000..de02262 --- /dev/null +++ b/src/text-decoder.browser.js @@ -0,0 +1,3 @@ +'use strict' + +module.exports = require('./globalthis').TextDecoder diff --git a/src/text-decoder.js b/src/text-decoder.js new file mode 100644 index 0000000..44fc233 --- /dev/null +++ b/src/text-decoder.js @@ -0,0 +1,2 @@ +'use strict' +module.exports = require('util').TextDecoder diff --git a/src/text-encoder.browser.js b/src/text-encoder.browser.js index de02262..8f27641 100644 --- a/src/text-encoder.browser.js +++ b/src/text-encoder.browser.js @@ -1,3 +1,3 @@ 'use strict' -module.exports = require('./globalthis').TextDecoder +module.exports = require('./globalthis').TextEncoder diff --git a/src/text-encoder.js b/src/text-encoder.js index 44fc233..25a82b1 100644 --- a/src/text-encoder.js +++ b/src/text-encoder.js @@ -1,2 +1,2 @@ 'use strict' -module.exports = require('util').TextDecoder +module.exports = require('util').TextEncoder diff --git a/test/text-codec.spec.js b/test/text-codec.spec.js new file mode 100644 index 0000000..a89ee1a --- /dev/null +++ b/test/text-codec.spec.js @@ -0,0 +1,32 @@ +'use strict' + +/* eslint-env mocha */ +const { expect } = require('aegir/utils/chai') +const TextEncoder = require('../src/text-encoder') +const TextDecoder = require('../src/text-decoder') + +describe('text encode/decode', () => { + const data = Uint8Array.from([ + 104, + 101, + 108, + 108, + 111, + 32, + 119, + 111, + 114, + 108, + 100 + ]) + + it('can encode text', () => { + const bytes = new TextEncoder().encode('hello world') + expect(bytes).to.be.deep.equal(data) + }) + + it('can decode text', () => { + const text = new TextDecoder().decode(data) + expect(text).to.be.equal('hello world') + }) +})