15815213711
2024-08-26 67b8b6731811983447e053d4396b3708c14dfe3c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
'use strict';
 
var utils = require('core-util-is');
var isStearm = require('isstream');
// wait for https://github.com/miguelmota/is-class/pull/6 merge
var isClass = require('is-class-hotfix');
 
/**
 * Expose all methods in core-util-is
 */
 
Object.keys(utils).map(function (name) {
  exports[transform(name)] = utils[name];
});
 
/**
 * Stream detected by isstream
 */
 
exports.stream = isStearm;
exports.readableStream = isStearm.isReadable;
exports.writableStream = isStearm.isWritable;
exports.duplexStream = isStearm.isDuplex;
 
/**
 * Class detected by is-class
 */
 exports.class = isClass;
 
/**
 * Extend method
 */
 
exports.finite = Number.isFinite;
 
exports.NaN = Number.isNaN;
 
exports.generator = function (obj) {
  return obj
    && 'function' === typeof obj.next
    && 'function' === typeof obj.throw;
};
 
exports.generatorFunction = function (obj) {
  return obj
    && obj.constructor
    && 'GeneratorFunction' === obj.constructor.name;
};
 
exports.asyncFunction = function (obj) {
  return obj
    && obj.constructor
    && 'AsyncFunction' === obj.constructor.name;
};
 
exports.promise = function (obj) {
  return obj
    && 'function' === typeof obj.then;
};
 
var MAX_INT_31 = Math.pow(2, 31);
 
exports.int = function (obj) {
  return utils.isNumber(obj)
    && obj % 1 === 0;
};
 
exports.int32 = function (obj) {
  return exports.int(obj)
    && obj < MAX_INT_31
    && obj >= -MAX_INT_31;
};
 
exports.long = function (obj) {
  return exports.int(obj)
    && (obj >= MAX_INT_31 || obj < -MAX_INT_31);
};
 
exports.Long = function (obj) {
  return exports.object(obj)
    && exports.number(obj.high)
    && exports.number(obj.low);
};
 
exports.double = function (obj) {
  return utils.isNumber(obj)
    && !isNaN(obj)
    && obj % 1 !== 0;
};
 
exports.bigInt = function (obj) {
  return 'bigint' === typeof obj;
};
exports.bigint = exports.bigInt;
 
/**
 * override core-util-is
 */
 
exports.date = function isDate(obj) {
  return obj instanceof Date;
};
 
exports.regExp = function isRegExp(obj) {
  return obj instanceof RegExp;
};
exports.regexp = exports.regExp;
 
exports.error = function isError(obj) {
  return obj instanceof Error;
};
 
exports.array = Array.isArray;
 
/**
 * transform isNull type to null
 * @param {[type]} m [description]
 * @return {[type]} [description]
 */
 
function transform(m) {
  var name = m.slice(2);
  name = name[0].toLowerCase() + name.slice(1);
  return name;
}