is-what 3.7.1 → 3.8.0

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/index.cjs.js CHANGED
@@ -144,6 +144,42 @@ function isBoolean(payload) {
144
144
  function isRegExp(payload) {
145
145
  return getType(payload) === 'RegExp';
146
146
  }
147
+ /**
148
+ * Returns whether the payload is a Map
149
+ *
150
+ * @param {*} payload
151
+ * @returns {payload is Map}
152
+ */
153
+ function isMap(payload) {
154
+ return getType(payload) === 'Map';
155
+ }
156
+ /**
157
+ * Returns whether the payload is a WeakMap
158
+ *
159
+ * @param {*} payload
160
+ * @returns {payload is WeakMap}
161
+ */
162
+ function isWeakMap(payload) {
163
+ return getType(payload) === 'WeakMap';
164
+ }
165
+ /**
166
+ * Returns whether the payload is a Set
167
+ *
168
+ * @param {*} payload
169
+ * @returns {payload is Set}
170
+ */
171
+ function isSet(payload) {
172
+ return getType(payload) === 'Set';
173
+ }
174
+ /**
175
+ * Returns whether the payload is a WeakSet
176
+ *
177
+ * @param {*} payload
178
+ * @returns {payload is WeakSet}
179
+ */
180
+ function isWeakSet(payload) {
181
+ return getType(payload) === 'WeakSet';
182
+ }
147
183
  /**
148
184
  * Returns whether the payload is a Symbol
149
185
  *
@@ -255,6 +291,7 @@ exports.isError = isError;
255
291
  exports.isFile = isFile;
256
292
  exports.isFullString = isFullString;
257
293
  exports.isFunction = isFunction;
294
+ exports.isMap = isMap;
258
295
  exports.isNull = isNull;
259
296
  exports.isNullOrUndefined = isNullOrUndefined;
260
297
  exports.isNumber = isNumber;
@@ -264,7 +301,10 @@ exports.isPlainObject = isPlainObject;
264
301
  exports.isPrimitive = isPrimitive;
265
302
  exports.isPromise = isPromise;
266
303
  exports.isRegExp = isRegExp;
304
+ exports.isSet = isSet;
267
305
  exports.isString = isString;
268
306
  exports.isSymbol = isSymbol;
269
307
  exports.isType = isType;
270
308
  exports.isUndefined = isUndefined;
309
+ exports.isWeakMap = isWeakMap;
310
+ exports.isWeakSet = isWeakSet;
package/dist/index.esm.js CHANGED
@@ -140,6 +140,42 @@ function isBoolean(payload) {
140
140
  function isRegExp(payload) {
141
141
  return getType(payload) === 'RegExp';
142
142
  }
143
+ /**
144
+ * Returns whether the payload is a Map
145
+ *
146
+ * @param {*} payload
147
+ * @returns {payload is Map}
148
+ */
149
+ function isMap(payload) {
150
+ return getType(payload) === 'Map';
151
+ }
152
+ /**
153
+ * Returns whether the payload is a WeakMap
154
+ *
155
+ * @param {*} payload
156
+ * @returns {payload is WeakMap}
157
+ */
158
+ function isWeakMap(payload) {
159
+ return getType(payload) === 'WeakMap';
160
+ }
161
+ /**
162
+ * Returns whether the payload is a Set
163
+ *
164
+ * @param {*} payload
165
+ * @returns {payload is Set}
166
+ */
167
+ function isSet(payload) {
168
+ return getType(payload) === 'Set';
169
+ }
170
+ /**
171
+ * Returns whether the payload is a WeakSet
172
+ *
173
+ * @param {*} payload
174
+ * @returns {payload is WeakSet}
175
+ */
176
+ function isWeakSet(payload) {
177
+ return getType(payload) === 'WeakSet';
178
+ }
143
179
  /**
144
180
  * Returns whether the payload is a Symbol
145
181
  *
@@ -240,4 +276,4 @@ function isType(payload, type) {
240
276
  return getType(payload) === name || Boolean(payload && payload.constructor === type);
241
277
  }
242
278
 
243
- export { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyString, isError, isFile, isFullString, isFunction, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isPlainObject, isPrimitive, isPromise, isRegExp, isString, isSymbol, isType, isUndefined };
279
+ export { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyString, isError, isFile, isFullString, isFunction, isMap, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isPlainObject, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "is-what",
3
3
  "sideEffects": false,
4
- "version": "3.7.1",
4
+ "version": "3.8.0",
5
5
  "description": "JS type check (TypeScript supported) functions like `isPlainObject() isArray()` etc. A simple & small integration.",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.esm.js",
@@ -47,27 +47,31 @@
47
47
  "homepage": "https://github.com/mesqueeb/is-what#readme",
48
48
  "dependencies": {},
49
49
  "devDependencies": {
50
- "@babel/core": "^7.8.7",
50
+ "@babel/core": "^7.9.0",
51
51
  "@types/babel-core": "^6.25.6",
52
- "@types/jest": "^25.1.4",
53
- "@typescript-eslint/eslint-plugin": "^2.23.0",
54
- "@typescript-eslint/parser": "^2.23.0",
55
- "ava": "^3.5.0",
52
+ "@types/jest": "^25.2.1",
53
+ "@typescript-eslint/eslint-plugin": "^2.27.0",
54
+ "@typescript-eslint/parser": "^2.27.0",
55
+ "ava": "^3.6.0",
56
56
  "babel-core": "^7.0.0-bridge.0",
57
- "babel-jest": "^25.1.0",
57
+ "babel-jest": "^25.3.0",
58
58
  "babel-preset-env": "^1.7.0",
59
59
  "eslint": "^6.8.0",
60
- "eslint-config-prettier": "^6.10.0",
60
+ "eslint-config-prettier": "^6.10.1",
61
61
  "eslint-plugin-tree-shaking": "^1.8.0",
62
- "jest": "^25.1.0",
62
+ "jest": "^25.3.0",
63
63
  "regenerator-runtime": "^0.13.5",
64
64
  "rollup": "^1.32.1",
65
65
  "rollup-plugin-typescript2": "^0.26.0",
66
- "ts-node": "^8.6.2",
66
+ "ts-node": "^8.8.2",
67
67
  "typescript": "^3.8.3"
68
68
  },
69
69
  "ava": {
70
- "extensions": ["ts"],
71
- "require": ["ts-node/register"]
70
+ "extensions": [
71
+ "ts"
72
+ ],
73
+ "require": [
74
+ "ts-node/register"
75
+ ]
72
76
  }
73
77
  }
package/src/index.ts CHANGED
@@ -154,6 +154,46 @@ export function isRegExp (payload: any): payload is RegExp {
154
154
  return getType(payload) === 'RegExp'
155
155
  }
156
156
 
157
+ /**
158
+ * Returns whether the payload is a Map
159
+ *
160
+ * @param {*} payload
161
+ * @returns {payload is Map}
162
+ */
163
+ export function isMap (payload: any): payload is Map<any, any> {
164
+ return getType(payload) === 'Map'
165
+ }
166
+
167
+ /**
168
+ * Returns whether the payload is a WeakMap
169
+ *
170
+ * @param {*} payload
171
+ * @returns {payload is WeakMap}
172
+ */
173
+ export function isWeakMap (payload: any): payload is WeakMap<any, any> {
174
+ return getType(payload) === 'WeakMap'
175
+ }
176
+
177
+ /**
178
+ * Returns whether the payload is a Set
179
+ *
180
+ * @param {*} payload
181
+ * @returns {payload is Set}
182
+ */
183
+ export function isSet (payload: any): payload is Set<any> {
184
+ return getType(payload) === 'Set'
185
+ }
186
+
187
+ /**
188
+ * Returns whether the payload is a WeakSet
189
+ *
190
+ * @param {*} payload
191
+ * @returns {payload is WeakSet}
192
+ */
193
+ export function isWeakSet (payload: any): payload is WeakSet<any> {
194
+ return getType(payload) === 'WeakSet'
195
+ }
196
+
157
197
  /**
158
198
  * Returns whether the payload is a Symbol
159
199
  *
package/test/ava.ts CHANGED
@@ -19,6 +19,10 @@ import {
19
19
  isSymbol,
20
20
  isPrimitive,
21
21
  isType,
22
+ isMap,
23
+ isWeakMap,
24
+ isSet,
25
+ isWeakSet,
22
26
  // isBlob,
23
27
  // isFile,
24
28
  isPromise,
@@ -52,6 +56,10 @@ test('Basic true tests', t => {
52
56
  t.is(isNumber(1), true)
53
57
  t.is(isDate(new Date()), true)
54
58
  t.is(isSymbol(Symbol()), true)
59
+ t.is(isMap(new Map()), true)
60
+ t.is(isWeakMap(new WeakMap()), true)
61
+ t.is(isSet(new Set()), true)
62
+ t.is(isWeakSet(new WeakSet()), true)
55
63
  // t.is(isBlob(blob), true)
56
64
  // t.is(isFile(new File([''], '', { type: 'text/html' })), true)
57
65
  t.is(isPromise(new Promise((resolve, reject) => {})), true)
@@ -73,6 +81,10 @@ test('Basic false tests', t => {
73
81
  t.is(isBoolean(NaN), false)
74
82
  t.is(isRegExp(NaN), false)
75
83
  t.is(isSymbol(NaN), false)
84
+ t.is(isMap(new WeakMap()), false)
85
+ t.is(isWeakMap(new Map()), false)
86
+ t.is(isSet(new WeakSet()), false)
87
+ t.is(isWeakSet(new Set()), false)
76
88
  t.is(isNullOrUndefined(NaN), false)
77
89
  })
78
90
 
package/types/index.d.ts CHANGED
@@ -114,6 +114,34 @@ export declare function isBoolean(payload: any): payload is boolean;
114
114
  * @returns {payload is RegExp}
115
115
  */
116
116
  export declare function isRegExp(payload: any): payload is RegExp;
117
+ /**
118
+ * Returns whether the payload is a Map
119
+ *
120
+ * @param {*} payload
121
+ * @returns {payload is Map}
122
+ */
123
+ export declare function isMap(payload: any): payload is Map<any, any>;
124
+ /**
125
+ * Returns whether the payload is a WeakMap
126
+ *
127
+ * @param {*} payload
128
+ * @returns {payload is WeakMap}
129
+ */
130
+ export declare function isWeakMap(payload: any): payload is WeakMap<any, any>;
131
+ /**
132
+ * Returns whether the payload is a Set
133
+ *
134
+ * @param {*} payload
135
+ * @returns {payload is Set}
136
+ */
137
+ export declare function isSet(payload: any): payload is Set<any>;
138
+ /**
139
+ * Returns whether the payload is a WeakSet
140
+ *
141
+ * @param {*} payload
142
+ * @returns {payload is WeakSet}
143
+ */
144
+ export declare function isWeakSet(payload: any): payload is WeakSet<any>;
117
145
  /**
118
146
  * Returns whether the payload is a Symbol
119
147
  *