@webex/test-helper-file 3.0.0-beta.13 → 3.0.0-beta.15

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/dist/file.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["fetchWithoutMagic","filename","resolve","reject","filepath","join","__dirname","readFile","err","data","name","fetch","then","all","fromFile","type","mime","Error","isBufferLike","file","isBuffer","isBlobLike","isMatchingFile","left","right","equals","length","i"],"sources":["file.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {readFile} from 'fs';\nimport {join} from 'path';\n\nimport {fromFile} from 'file-type';\nimport {isBuffer} from '@webex/common';\n\nexport const fetchWithoutMagic = (filename) =>\n new Promise((resolve, reject) => {\n const filepath = join(__dirname, '../../../@webex/test-helper-server/static', filename);\n\n readFile(filepath, (err, data) => {\n if (err) {\n reject(err);\n\n return;\n }\n resolve({...data, name: filename});\n });\n });\n\nexport const fetch = (filename) =>\n fetchWithoutMagic(filename)\n .then((data) => Promise.all([fromFile(data), data]))\n // .then(([{mime: type}, data]) => {\n // console.error(data, type);\n\n // return {...data, type};\n // });\n .then(([{mime: type}, data]) =>\n (type ? {...data, type} : Promise.reject(new Error('Invalid Media Type'))));\n\n\nexport const isBufferLike = (file) => isBuffer(file);\n\nexport const isBlobLike = (file) => isBuffer(file);\n\nexport const isMatchingFile = (left, right) => {\n if (!isBufferLike(left)) {\n throw new Error('`left` must be a `Buffer`');\n }\n\n if (!isBufferLike(right)) {\n throw new Error('`right` must be a `Buffer`');\n }\n\n // Node 10 doesn't have Buffer#equals()\n if (left.equals) {\n return Promise.resolve(left.equals(right));\n }\n\n if (left.length !== right.length) {\n return Promise.resolve(false);\n }\n\n for (let i = 0; i < left.length; i += 1) {\n if (left[i] !== right[i]) {\n return Promise.resolve(false);\n }\n }\n\n return Promise.resolve(true);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AACA;;AAEA;;AACA;;;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD;EAAA,OAC/B,qBAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IAC/B,IAAMC,QAAQ,GAAG,IAAAC,UAAA,EAAKC,SAAL,EAAgB,2CAAhB,EAA6DL,QAA7D,CAAjB;IAEA,IAAAM,YAAA,EAASH,QAAT,EAAmB,UAACI,GAAD,EAAMC,IAAN,EAAe;MAChC,IAAID,GAAJ,EAAS;QACPL,MAAM,CAACK,GAAD,CAAN;QAEA;MACD;;MACDN,OAAO,iCAAKO,IAAL;QAAWC,IAAI,EAAET;MAAjB,GAAP;IACD,CAPD;EAQD,CAXD,CAD+B;AAAA,CAA1B;;;;AAcA,IAAMU,KAAK,GAAG,SAARA,KAAQ,CAACV,QAAD;EAAA,OACnBD,iBAAiB,CAACC,QAAD,CAAjB,CACGW,IADH,CACQ,UAACH,IAAD;IAAA,OAAU,iBAAQI,GAAR,CAAY,CAAC,IAAAC,kBAAA,EAASL,IAAT,CAAD,EAAiBA,IAAjB,CAAZ,CAAV;EAAA,CADR,EAEE;EACA;EAEA;EACA;EANF,CAOGG,IAPH,CAOQ;IAAA;IAAA,IAASG,IAAT,YAAGC,IAAH;IAAA,IAAgBP,IAAhB;;IAAA,OACHM,IAAI,mCAAON,IAAP;MAAaM,IAAI,EAAJA;IAAb,KAAqB,iBAAQZ,MAAR,CAAe,IAAIc,KAAJ,CAAU,oBAAV,CAAf,CADtB;EAAA,CAPR,CADmB;AAAA,CAAd;;;;AAYA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;EAAA,OAAU,IAAAC,gBAAA,EAASD,IAAT,CAAV;AAAA,CAArB;;;;AAEA,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACF,IAAD;EAAA,OAAU,IAAAC,gBAAA,EAASD,IAAT,CAAV;AAAA,CAAnB;;;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,KAAP,EAAiB;EAC7C,IAAI,CAACN,YAAY,CAACK,IAAD,CAAjB,EAAyB;IACvB,MAAM,IAAIN,KAAJ,CAAU,2BAAV,CAAN;EACD;;EAED,IAAI,CAACC,YAAY,CAACM,KAAD,CAAjB,EAA0B;IACxB,MAAM,IAAIP,KAAJ,CAAU,4BAAV,CAAN;EACD,CAP4C,CAS7C;;;EACA,IAAIM,IAAI,CAACE,MAAT,EAAiB;IACf,OAAO,iBAAQvB,OAAR,CAAgBqB,IAAI,CAACE,MAAL,CAAYD,KAAZ,CAAhB,CAAP;EACD;;EAED,IAAID,IAAI,CAACG,MAAL,KAAgBF,KAAK,CAACE,MAA1B,EAAkC;IAChC,OAAO,iBAAQxB,OAAR,CAAgB,KAAhB,CAAP;EACD;;EAED,KAAK,IAAIyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,IAAI,CAACG,MAAzB,EAAiCC,CAAC,IAAI,CAAtC,EAAyC;IACvC,IAAIJ,IAAI,CAACI,CAAD,CAAJ,KAAYH,KAAK,CAACG,CAAD,CAArB,EAA0B;MACxB,OAAO,iBAAQzB,OAAR,CAAgB,KAAhB,CAAP;IACD;EACF;;EAED,OAAO,iBAAQA,OAAR,CAAgB,IAAhB,CAAP;AACD,CAzBM"}
1
+ {"version":3,"names":["fetchWithoutMagic","filename","resolve","reject","filepath","join","__dirname","readFile","err","data","name","fetch","then","all","fromFile","type","mime","Error","isBufferLike","file","isBuffer","isBlobLike","isMatchingFile","left","right","equals","length","i"],"sources":["file.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {readFile} from 'fs';\nimport {join} from 'path';\n\nimport {fromFile} from 'file-type';\nimport {isBuffer} from '@webex/common';\n\nexport const fetchWithoutMagic = (filename) =>\n new Promise((resolve, reject) => {\n const filepath = join(__dirname, '../../../@webex/test-helper-server/static', filename);\n\n readFile(filepath, (err, data) => {\n if (err) {\n reject(err);\n\n return;\n }\n resolve({...data, name: filename});\n });\n });\n\nexport const fetch = (filename) =>\n fetchWithoutMagic(filename)\n .then((data) => Promise.all([fromFile(data), data]))\n // .then(([{mime: type}, data]) => {\n // console.error(data, type);\n\n // return {...data, type};\n // });\n .then(([{mime: type}, data]) =>\n type ? {...data, type} : Promise.reject(new Error('Invalid Media Type'))\n );\n\nexport const isBufferLike = (file) => isBuffer(file);\n\nexport const isBlobLike = (file) => isBuffer(file);\n\nexport const isMatchingFile = (left, right) => {\n if (!isBufferLike(left)) {\n throw new Error('`left` must be a `Buffer`');\n }\n\n if (!isBufferLike(right)) {\n throw new Error('`right` must be a `Buffer`');\n }\n\n // Node 10 doesn't have Buffer#equals()\n if (left.equals) {\n return Promise.resolve(left.equals(right));\n }\n\n if (left.length !== right.length) {\n return Promise.resolve(false);\n }\n\n for (let i = 0; i < left.length; i += 1) {\n if (left[i] !== right[i]) {\n return Promise.resolve(false);\n }\n }\n\n return Promise.resolve(true);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AACA;;AAEA;;AACA;;;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,QAAD;EAAA,OAC/B,qBAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;IAC/B,IAAMC,QAAQ,GAAG,IAAAC,UAAA,EAAKC,SAAL,EAAgB,2CAAhB,EAA6DL,QAA7D,CAAjB;IAEA,IAAAM,YAAA,EAASH,QAAT,EAAmB,UAACI,GAAD,EAAMC,IAAN,EAAe;MAChC,IAAID,GAAJ,EAAS;QACPL,MAAM,CAACK,GAAD,CAAN;QAEA;MACD;;MACDN,OAAO,iCAAKO,IAAL;QAAWC,IAAI,EAAET;MAAjB,GAAP;IACD,CAPD;EAQD,CAXD,CAD+B;AAAA,CAA1B;;;;AAcA,IAAMU,KAAK,GAAG,SAARA,KAAQ,CAACV,QAAD;EAAA,OACnBD,iBAAiB,CAACC,QAAD,CAAjB,CACGW,IADH,CACQ,UAACH,IAAD;IAAA,OAAU,iBAAQI,GAAR,CAAY,CAAC,IAAAC,kBAAA,EAASL,IAAT,CAAD,EAAiBA,IAAjB,CAAZ,CAAV;EAAA,CADR,EAEE;EACA;EAEA;EACA;EANF,CAOGG,IAPH,CAOQ;IAAA;IAAA,IAASG,IAAT,YAAGC,IAAH;IAAA,IAAgBP,IAAhB;;IAAA,OACJM,IAAI,mCAAON,IAAP;MAAaM,IAAI,EAAJA;IAAb,KAAqB,iBAAQZ,MAAR,CAAe,IAAIc,KAAJ,CAAU,oBAAV,CAAf,CADrB;EAAA,CAPR,CADmB;AAAA,CAAd;;;;AAYA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;EAAA,OAAU,IAAAC,gBAAA,EAASD,IAAT,CAAV;AAAA,CAArB;;;;AAEA,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACF,IAAD;EAAA,OAAU,IAAAC,gBAAA,EAASD,IAAT,CAAV;AAAA,CAAnB;;;;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,KAAP,EAAiB;EAC7C,IAAI,CAACN,YAAY,CAACK,IAAD,CAAjB,EAAyB;IACvB,MAAM,IAAIN,KAAJ,CAAU,2BAAV,CAAN;EACD;;EAED,IAAI,CAACC,YAAY,CAACM,KAAD,CAAjB,EAA0B;IACxB,MAAM,IAAIP,KAAJ,CAAU,4BAAV,CAAN;EACD,CAP4C,CAS7C;;;EACA,IAAIM,IAAI,CAACE,MAAT,EAAiB;IACf,OAAO,iBAAQvB,OAAR,CAAgBqB,IAAI,CAACE,MAAL,CAAYD,KAAZ,CAAhB,CAAP;EACD;;EAED,IAAID,IAAI,CAACG,MAAL,KAAgBF,KAAK,CAACE,MAA1B,EAAkC;IAChC,OAAO,iBAAQxB,OAAR,CAAgB,KAAhB,CAAP;EACD;;EAED,KAAK,IAAIyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,IAAI,CAACG,MAAzB,EAAiCC,CAAC,IAAI,CAAtC,EAAyC;IACvC,IAAIJ,IAAI,CAACI,CAAD,CAAJ,KAAYH,KAAK,CAACG,CAAD,CAArB,EAA0B;MACxB,OAAO,iBAAQzB,OAAR,CAAgB,KAAhB,CAAP;IACD;EACF;;EAED,OAAO,iBAAQA,OAAR,CAAgB,IAAhB,CAAP;AACD,CAzBM"}
@@ -1 +1 @@
1
- {"version":3,"names":["makeLocalUrl","require","xhr","convertBlobToArrayBuffer","blob","Blob","Error","resolve","reject","reader","FileReader","onerror","onload","result","readAsArrayBuffer","convertUint8ArrayToArrayBuffer","array","Uint8Array","buffer","isBlobLike","file","isBufferLike","ArrayBuffer","ensureArrayBuffer","fetch","filename","uri","responseType","err","res","body","name","FileShim","fetchWithoutMagic","isMatchingFile","left","right","all","then","buffers","innerLeft","innerRight","byteLength","l","r","i","length","module","exports"],"sources":["file.shim.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\nconst makeLocalUrl = require('@webex/test-helper-make-local-url');\nconst xhr = require('xhr');\n\n/**\n * @param {Blob} blob\n * @private\n * @returns {Promise}\n */\nfunction convertBlobToArrayBuffer(blob) {\n if (!(blob instanceof Blob)) {\n throw new Error('`blob` must be a `Blob`');\n }\n\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onerror = reject;\n reader.onload = function onload() {\n resolve(reader.result);\n };\n\n reader.readAsArrayBuffer(blob);\n });\n}\n\n/**\n * @param {Uint8Array} array\n * @private\n * @returns {ArrayBuffer}\n */\nfunction convertUint8ArrayToArrayBuffer(array) {\n if (!(array instanceof Uint8Array)) {\n throw new Error('`array` must be a `Uint8Array`');\n }\n\n return array.buffer;\n}\n\n/**\n * @param {mixed} file\n * @returns {Boolean}\n */\nfunction isBlobLike(file) {\n return file instanceof Blob && 'size' in file && 'type' in file;\n}\n\n/**\n * @param {mixed} file\n * @returns {Boolean}\n */\nfunction isBufferLike(file) {\n return file instanceof ArrayBuffer;\n}\n\n/**\n * @param {mixed} file\n * @private\n * @returns {Promise}\n */\nfunction ensureArrayBuffer(file) {\n if (isBufferLike(file)) {\n return file;\n }\n\n if (isBlobLike(file)) {\n return convertBlobToArrayBuffer(file);\n }\n\n if (file instanceof Uint8Array) {\n return convertUint8ArrayToArrayBuffer(file);\n }\n\n throw new Error('Could not determine type of `file`');\n}\n\n/**\n * Fetches a file\n * @param {string} filename\n * @returns {Promise<File>}\n */\nfunction fetch(filename) {\n return new Promise((resolve, reject) => {\n xhr({\n uri: makeLocalUrl(`/${filename}`),\n responseType: 'blob'\n }, (err, res, body) => {\n if (err) {\n reject(err);\n }\n else {\n body.name = body.name || filename;\n resolve(body);\n }\n });\n });\n}\n\nconst FileShim = {\n /**\n * @param {string} filename\n * @returns {Promise}\n */\n fetch,\n\n fetchWithoutMagic: fetch,\n\n isBufferLike,\n\n isBlobLike,\n\n /**\n * @param {ArrayBuffer|Blob|Uint8Array} left\n * @param {ArrayBuffer|Blob|Uint8Array} right\n * @returns {Boolean}\n */\n isMatchingFile: function isMatchingFile(left, right) {\n return Promise.all([\n ensureArrayBuffer(left),\n ensureArrayBuffer(right)\n ])\n .then((buffers) => {\n const innerLeft = buffers[0];\n const innerRight = buffers[1];\n\n if (!FileShim.isBufferLike(innerLeft)) {\n throw new Error('`innerLeft` must be a `Buffer`');\n }\n\n if (!FileShim.isBufferLike(innerRight)) {\n throw new Error('`innerRight` must be a `Buffer`');\n }\n\n if (innerLeft.byteLength !== innerRight.byteLength) {\n return false;\n }\n\n const l = new Uint8Array(innerLeft);\n const r = new Uint8Array(innerRight);\n\n for (let i = 0; i < l.length; i += 1) {\n if (l[i] !== r[i]) {\n return false;\n }\n }\n\n return true;\n });\n }\n};\n\nmodule.exports = FileShim;\n"],"mappings":"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"}
1
+ {"version":3,"names":["makeLocalUrl","require","xhr","convertBlobToArrayBuffer","blob","Blob","Error","resolve","reject","reader","FileReader","onerror","onload","result","readAsArrayBuffer","convertUint8ArrayToArrayBuffer","array","Uint8Array","buffer","isBlobLike","file","isBufferLike","ArrayBuffer","ensureArrayBuffer","fetch","filename","uri","responseType","err","res","body","name","FileShim","fetchWithoutMagic","isMatchingFile","left","right","all","then","buffers","innerLeft","innerRight","byteLength","l","r","i","length","module","exports"],"sources":["file.shim.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\nconst makeLocalUrl = require('@webex/test-helper-make-local-url');\nconst xhr = require('xhr');\n\n/**\n * @param {Blob} blob\n * @private\n * @returns {Promise}\n */\nfunction convertBlobToArrayBuffer(blob) {\n if (!(blob instanceof Blob)) {\n throw new Error('`blob` must be a `Blob`');\n }\n\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onerror = reject;\n reader.onload = function onload() {\n resolve(reader.result);\n };\n\n reader.readAsArrayBuffer(blob);\n });\n}\n\n/**\n * @param {Uint8Array} array\n * @private\n * @returns {ArrayBuffer}\n */\nfunction convertUint8ArrayToArrayBuffer(array) {\n if (!(array instanceof Uint8Array)) {\n throw new Error('`array` must be a `Uint8Array`');\n }\n\n return array.buffer;\n}\n\n/**\n * @param {mixed} file\n * @returns {Boolean}\n */\nfunction isBlobLike(file) {\n return file instanceof Blob && 'size' in file && 'type' in file;\n}\n\n/**\n * @param {mixed} file\n * @returns {Boolean}\n */\nfunction isBufferLike(file) {\n return file instanceof ArrayBuffer;\n}\n\n/**\n * @param {mixed} file\n * @private\n * @returns {Promise}\n */\nfunction ensureArrayBuffer(file) {\n if (isBufferLike(file)) {\n return file;\n }\n\n if (isBlobLike(file)) {\n return convertBlobToArrayBuffer(file);\n }\n\n if (file instanceof Uint8Array) {\n return convertUint8ArrayToArrayBuffer(file);\n }\n\n throw new Error('Could not determine type of `file`');\n}\n\n/**\n * Fetches a file\n * @param {string} filename\n * @returns {Promise<File>}\n */\nfunction fetch(filename) {\n return new Promise((resolve, reject) => {\n xhr(\n {\n uri: makeLocalUrl(`/${filename}`),\n responseType: 'blob',\n },\n (err, res, body) => {\n if (err) {\n reject(err);\n } else {\n body.name = body.name || filename;\n resolve(body);\n }\n }\n );\n });\n}\n\nconst FileShim = {\n /**\n * @param {string} filename\n * @returns {Promise}\n */\n fetch,\n\n fetchWithoutMagic: fetch,\n\n isBufferLike,\n\n isBlobLike,\n\n /**\n * @param {ArrayBuffer|Blob|Uint8Array} left\n * @param {ArrayBuffer|Blob|Uint8Array} right\n * @returns {Boolean}\n */\n isMatchingFile: function isMatchingFile(left, right) {\n return Promise.all([ensureArrayBuffer(left), ensureArrayBuffer(right)]).then((buffers) => {\n const innerLeft = buffers[0];\n const innerRight = buffers[1];\n\n if (!FileShim.isBufferLike(innerLeft)) {\n throw new Error('`innerLeft` must be a `Buffer`');\n }\n\n if (!FileShim.isBufferLike(innerRight)) {\n throw new Error('`innerRight` must be a `Buffer`');\n }\n\n if (innerLeft.byteLength !== innerRight.byteLength) {\n return false;\n }\n\n const l = new Uint8Array(innerLeft);\n const r = new Uint8Array(innerRight);\n\n for (let i = 0; i < l.length; i += 1) {\n if (l[i] !== r[i]) {\n return false;\n }\n }\n\n return true;\n });\n },\n};\n\nmodule.exports = FileShim;\n"],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["require","polyfill","module","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n\n/* istanbul ignore next */\nif (typeof Promise === 'undefined') {\n // eslint-disable-next-line global-require\n require('es6-promise').polyfill();\n}\n\nmodule.exports = require('./file');\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAGA;AACA,IAAI,4BAAmB,WAAvB,EAAoC;EAClC;EACAA,OAAO,CAAC,aAAD,CAAP,CAAuBC,QAAvB;AACD;;AAEDC,MAAM,CAACC,OAAP,GAAiBH,OAAO,CAAC,QAAD,CAAxB"}
1
+ {"version":3,"names":["require","polyfill","module","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* istanbul ignore next */\nif (typeof Promise === 'undefined') {\n // eslint-disable-next-line global-require\n require('es6-promise').polyfill();\n}\n\nmodule.exports = require('./file');\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEA;AACA,IAAI,4BAAmB,WAAvB,EAAoC;EAClC;EACAA,OAAO,CAAC,aAAD,CAAP,CAAuBC,QAAvB;AACD;;AAEDC,MAAM,CAACC,OAAP,GAAiBH,OAAO,CAAC,QAAD,CAAxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/test-helper-file",
3
- "version": "3.0.0-beta.13",
3
+ "version": "3.0.0-beta.15",
4
4
  "description": "File helpers for writing isomorphicish mocha tests",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -17,8 +17,8 @@
17
17
  "./src/file.js": "./src/file.shim.js"
18
18
  },
19
19
  "dependencies": {
20
- "@webex/common": "3.0.0-beta.13",
21
- "@webex/test-helper-make-local-url": "3.0.0-beta.13",
20
+ "@webex/common": "3.0.0-beta.15",
21
+ "@webex/test-helper-make-local-url": "3.0.0-beta.15",
22
22
  "es6-promise": "^4.2.8",
23
23
  "file-type": "^16.0.1",
24
24
  "xhr": "^2.5.0"
package/src/file.js CHANGED
@@ -31,8 +31,8 @@ export const fetch = (filename) =>
31
31
  // return {...data, type};
32
32
  // });
33
33
  .then(([{mime: type}, data]) =>
34
- (type ? {...data, type} : Promise.reject(new Error('Invalid Media Type'))));
35
-
34
+ type ? {...data, type} : Promise.reject(new Error('Invalid Media Type'))
35
+ );
36
36
 
37
37
  export const isBufferLike = (file) => isBuffer(file);
38
38
 
package/src/file.shim.js CHANGED
@@ -86,18 +86,20 @@ function ensureArrayBuffer(file) {
86
86
  */
87
87
  function fetch(filename) {
88
88
  return new Promise((resolve, reject) => {
89
- xhr({
90
- uri: makeLocalUrl(`/${filename}`),
91
- responseType: 'blob'
92
- }, (err, res, body) => {
93
- if (err) {
94
- reject(err);
95
- }
96
- else {
97
- body.name = body.name || filename;
98
- resolve(body);
89
+ xhr(
90
+ {
91
+ uri: makeLocalUrl(`/${filename}`),
92
+ responseType: 'blob',
93
+ },
94
+ (err, res, body) => {
95
+ if (err) {
96
+ reject(err);
97
+ } else {
98
+ body.name = body.name || filename;
99
+ resolve(body);
100
+ }
99
101
  }
100
- });
102
+ );
101
103
  });
102
104
  }
103
105
 
@@ -120,38 +122,34 @@ const FileShim = {
120
122
  * @returns {Boolean}
121
123
  */
122
124
  isMatchingFile: function isMatchingFile(left, right) {
123
- return Promise.all([
124
- ensureArrayBuffer(left),
125
- ensureArrayBuffer(right)
126
- ])
127
- .then((buffers) => {
128
- const innerLeft = buffers[0];
129
- const innerRight = buffers[1];
130
-
131
- if (!FileShim.isBufferLike(innerLeft)) {
132
- throw new Error('`innerLeft` must be a `Buffer`');
133
- }
125
+ return Promise.all([ensureArrayBuffer(left), ensureArrayBuffer(right)]).then((buffers) => {
126
+ const innerLeft = buffers[0];
127
+ const innerRight = buffers[1];
134
128
 
135
- if (!FileShim.isBufferLike(innerRight)) {
136
- throw new Error('`innerRight` must be a `Buffer`');
137
- }
129
+ if (!FileShim.isBufferLike(innerLeft)) {
130
+ throw new Error('`innerLeft` must be a `Buffer`');
131
+ }
138
132
 
139
- if (innerLeft.byteLength !== innerRight.byteLength) {
140
- return false;
141
- }
133
+ if (!FileShim.isBufferLike(innerRight)) {
134
+ throw new Error('`innerRight` must be a `Buffer`');
135
+ }
136
+
137
+ if (innerLeft.byteLength !== innerRight.byteLength) {
138
+ return false;
139
+ }
142
140
 
143
- const l = new Uint8Array(innerLeft);
144
- const r = new Uint8Array(innerRight);
141
+ const l = new Uint8Array(innerLeft);
142
+ const r = new Uint8Array(innerRight);
145
143
 
146
- for (let i = 0; i < l.length; i += 1) {
147
- if (l[i] !== r[i]) {
148
- return false;
149
- }
144
+ for (let i = 0; i < l.length; i += 1) {
145
+ if (l[i] !== r[i]) {
146
+ return false;
150
147
  }
148
+ }
151
149
 
152
- return true;
153
- });
154
- }
150
+ return true;
151
+ });
152
+ },
155
153
  };
156
154
 
157
155
  module.exports = FileShim;
package/src/index.js CHANGED
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
4
 
5
-
6
5
  /* istanbul ignore next */
7
6
  if (typeof Promise === 'undefined') {
8
7
  // eslint-disable-next-line global-require