is-what 3.11.4 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.cjs.js CHANGED
@@ -97,6 +97,15 @@ function isFunction(payload) {
97
97
  function isArray(payload) {
98
98
  return getType(payload) === 'Array';
99
99
  }
100
+ /**
101
+ * Returns whether the payload is a an array with at least 1 item
102
+ *
103
+ * @param {*} payload
104
+ * @returns {payload is any[]}
105
+ */
106
+ function isFullArray(payload) {
107
+ return isArray(payload) && payload.length > 0;
108
+ }
100
109
  /**
101
110
  * Returns whether the payload is a an empty array
102
111
  *
@@ -318,6 +327,7 @@ exports.isEmptyObject = isEmptyObject;
318
327
  exports.isEmptyString = isEmptyString;
319
328
  exports.isError = isError;
320
329
  exports.isFile = isFile;
330
+ exports.isFullArray = isFullArray;
321
331
  exports.isFullString = isFullString;
322
332
  exports.isFunction = isFunction;
323
333
  exports.isMap = isMap;
package/dist/index.esm.js CHANGED
@@ -93,6 +93,15 @@ function isFunction(payload) {
93
93
  function isArray(payload) {
94
94
  return getType(payload) === 'Array';
95
95
  }
96
+ /**
97
+ * Returns whether the payload is a an array with at least 1 item
98
+ *
99
+ * @param {*} payload
100
+ * @returns {payload is any[]}
101
+ */
102
+ function isFullArray(payload) {
103
+ return isArray(payload) && payload.length > 0;
104
+ }
96
105
  /**
97
106
  * Returns whether the payload is a an empty array
98
107
  *
@@ -303,4 +312,4 @@ function isType(payload, type) {
303
312
  return getType(payload) === name || Boolean(payload && payload.constructor === type);
304
313
  }
305
314
 
306
- export { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullString, isFunction, isMap, isNaNValue, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isPlainObject, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };
315
+ export { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullString, isFunction, isMap, isNaNValue, 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.11.4",
4
+ "version": "3.12.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",
@@ -50,13 +50,13 @@
50
50
  "@babel/core": "^7.12.3",
51
51
  "@types/babel-core": "^6.25.6",
52
52
  "@types/jest": "^26.0.15",
53
- "@typescript-eslint/eslint-plugin": "^4.6.1",
54
- "@typescript-eslint/parser": "^4.6.1",
53
+ "@typescript-eslint/eslint-plugin": "^4.7.0",
54
+ "@typescript-eslint/parser": "^4.7.0",
55
55
  "ava": "^3.13.0",
56
56
  "babel-core": "^7.0.0-bridge.0",
57
57
  "babel-jest": "^26.6.3",
58
58
  "babel-preset-env": "^1.7.0",
59
- "eslint": "^7.12.1",
59
+ "eslint": "^7.13.0",
60
60
  "eslint-config-prettier": "^6.15.0",
61
61
  "eslint-plugin-tree-shaking": "^1.8.0",
62
62
  "jest": "^26.6.3",
package/src/index.ts CHANGED
@@ -106,6 +106,16 @@ export function isArray (payload: any): payload is any[] {
106
106
  return getType(payload) === 'Array'
107
107
  }
108
108
 
109
+ /**
110
+ * Returns whether the payload is a an array with at least 1 item
111
+ *
112
+ * @param {*} payload
113
+ * @returns {payload is any[]}
114
+ */
115
+ export function isFullArray (payload: any): payload is any[] {
116
+ return isArray(payload) && payload.length > 0
117
+ }
118
+
109
119
  /**
110
120
  * Returns whether the payload is a an empty array
111
121
  *
package/test/ava.ts CHANGED
@@ -24,6 +24,7 @@ import {
24
24
  isWeakMap,
25
25
  isSet,
26
26
  isWeakSet,
27
+ isFullArray,
27
28
  // isBlob,
28
29
  // isFile,
29
30
  isPromise,
@@ -134,6 +135,27 @@ test('isEmptyArray', t => {
134
135
  t.is(isEmptyArray(new WeakSet()), false)
135
136
  })
136
137
 
138
+ test('isFullArray', t => {
139
+ t.is(isFullArray(new Array(1)), true)
140
+ t.is(isFullArray([undefined]), true)
141
+ t.is(isFullArray([null]), true)
142
+ t.is(isFullArray(['']), true)
143
+
144
+ t.is(isFullArray([]), false)
145
+ t.is(isFullArray(new Array()), false)
146
+ t.is(isFullArray(new Array(0)), false)
147
+
148
+ t.is(isFullArray(null), false)
149
+ t.is(isFullArray(new Date()), false)
150
+ t.is(isFullArray(new Error('')), false)
151
+ t.is(isFullArray(new Date()), false)
152
+ t.is(isFullArray(Symbol()), false)
153
+ t.is(isFullArray(new Map()), false)
154
+ t.is(isFullArray(new WeakMap()), false)
155
+ t.is(isFullArray(new Set()), false)
156
+ t.is(isFullArray(new WeakSet()), false)
157
+ })
158
+
137
159
  test('NaN tests', t => {
138
160
  t.is(isNaNValue(NaN), true)
139
161
  t.is(isNaNValue(new Error('')), false)
package/types/index.d.ts CHANGED
@@ -76,6 +76,13 @@ export declare function isFunction(payload: any): payload is AnyFunction;
76
76
  * @returns {payload is any[]}
77
77
  */
78
78
  export declare function isArray(payload: any): payload is any[];
79
+ /**
80
+ * Returns whether the payload is a an array with at least 1 item
81
+ *
82
+ * @param {*} payload
83
+ * @returns {payload is any[]}
84
+ */
85
+ export declare function isFullArray(payload: any): payload is any[];
79
86
  /**
80
87
  * Returns whether the payload is a an empty array
81
88
  *