UNPKG

1.46 kBJavaScriptView Raw
1'use strict';
2import LodashIsEqual from 'lodash.isequal';
3import LodashIsPlainObject from 'lodash.isplainobject';
4
5export const assert = (condition, message) => {
6
7 if (condition)
8 return condition;
9
10 throw new Error(message);
11};
12
13export const isDeeplyEqual = LodashIsEqual;
14export const isEqualTo = (value, input) => input === value;
15export const isTrue = input => isEqualTo(true, input);
16export const isUndefined = input => isEqualTo(void 0, input);
17export const isNull = input => isEqualTo(null, input);
18export const isInstanceOf = (type, input) => input instanceof type;
19export const isArray = input => isInstanceOf(Array, input);
20export const ofType = (type, input) => isEqualTo(type, typeof input);
21export const isObject = input => ofType('object', input);
22export const isPlainObject = LodashIsPlainObject;
23export const isEmpty = input => input.length < 1;
24export const isBoolean = input => ofType('boolean', input);
25export const isString = input => {
26
27 return ofType('string', input);
28};
29export const isFunction = input => ofType('function', input) && input;
30export const isNumber = input => ofType('number', input);
31export const isInteger = input => Number.isInteger(input);
32export const isComponent = input => isObject(input) && input.isPwetComponent === true;
33export const isElement = input => isInstanceOf(HTMLElement, input);
34export const isUnknownElement = input => Object.prototype.toString.call(input) === '[object HTMLUnknownElement]';
\No newline at end of file