airbridge-react-native-sdk
Version:
Airbridge SDK for React Native
47 lines (36 loc) • 1.27 kB
text/typescript
export const check = {
defined: <Value> (value: Value): value is Exclude<Value, undefined> => (
value !== undefined
),
undefined: (value: unknown): value is undefined => (
value === undefined
),
null: (value: unknown): value is null => (
value === null
),
object: (value: unknown): value is Record<string, unknown> => (
value !== null
&& (typeof value === 'object' || value instanceof Object)
),
array: (value: unknown): value is Array<unknown> => (
Array.isArray(value)
),
string: (value: unknown): value is string => (
typeof value === 'string' || value instanceof String
),
number: (value: unknown): value is number => (
typeof value === 'number' || value instanceof Number
),
function: (value: unknown): value is Function => (
typeof value === 'function' || value instanceof Function
),
promise: (value: unknown): value is Promise<unknown> => (
value instanceof Promise
),
actual: <Actual> (value: unknown, actual: Actual): value is Actual => (
value === actual
),
boolean: (value: unknown): value is boolean => (
typeof value === 'boolean' || value instanceof Boolean
),
}