12345678910111213141516171819202122232425262728 |
- "use strict";
- var utils = require("../utils");
- var support = require("../support");
- var ArrayReader = require("./ArrayReader");
- var StringReader = require("./StringReader");
- var NodeBufferReader = require("./NodeBufferReader");
- var Uint8ArrayReader = require("./Uint8ArrayReader");
- /**
- * Create a reader adapted to the data.
- * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data to read.
- * @return {DataReader} the data reader.
- */
- module.exports = function (data) {
- var type = utils.getTypeOf(data);
- utils.checkSupport(type);
- if (type === "string" && !support.uint8array) {
- return new StringReader(data);
- }
- if (type === "nodebuffer") {
- return new NodeBufferReader(data);
- }
- if (support.uint8array) {
- return new Uint8ArrayReader(utils.transformTo("uint8array", data));
- }
- return new ArrayReader(utils.transformTo("array", data));
- };
|