| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 'use strict';
- const stripBom = require('strip-bom-string');
- const typeOf = require('kind-of');
- exports.define = function(obj, key, val) {
- Reflect.defineProperty(obj, key, {
- enumerable: false,
- configurable: true,
- writable: true,
- value: val
- });
- };
- /**
- * Returns true if `val` is a buffer
- */
- exports.isBuffer = val => typeOf(val) === 'buffer';
- /**
- * Returns true if `val` is an object
- */
- exports.isObject = val => typeOf(val) === 'object';
- /**
- * Cast `input` to a buffer
- */
- exports.toBuffer = function(input) {
- return typeof input === 'string' ? Buffer.from(input) : input;
- };
- /**
- * Cast `val` to a string.
- */
- exports.toString = function(input) {
- if (exports.isBuffer(input)) return stripBom(String(input));
- if (typeof input !== 'string') {
- throw new TypeError('expected input to be a string or buffer');
- }
- return stripBom(input);
- };
- /**
- * Cast `val` to an array.
- */
- exports.arrayify = function(val) {
- return val ? (Array.isArray(val) ? val : [val]) : [];
- };
- /**
- * Returns true if `str` starts with `substr`.
- */
- exports.startsWith = function(str, substr, len) {
- if (typeof len !== 'number') len = substr.length;
- return str.slice(0, len) === substr;
- };
|