From 79b4d5990d17949b9725f0e954ba233c6969b5d2 Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Tue, 9 Jun 2020 15:02:50 -0700 Subject: [PATCH 1/3] feat: expose TextDecoder from text-decoder --- package.json | 1 + src/text-decoder.browser.js | 3 +++ src/text-decoder.js | 2 ++ 3 files changed, 6 insertions(+) create mode 100644 src/text-decoder.browser.js create mode 100644 src/text-decoder.js 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/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 From e9ab0a363382fead9c4132e6d98b9474a86b8999 Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Tue, 9 Jun 2020 15:03:41 -0700 Subject: [PATCH 2/3] fix: export TextEncoder from text-encoder --- src/http.js | 2 +- src/text-encoder.browser.js | 2 +- src/text-encoder.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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-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 From 17be39552998e8d897e57e23c1064d1ff7378da9 Mon Sep 17 00:00:00 2001 From: Irakli Gozalishvili Date: Tue, 9 Jun 2020 15:03:59 -0700 Subject: [PATCH 3/3] chore: add test for text encoder/decoder --- test/text-codec.spec.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/text-codec.spec.js 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') + }) +})