forked from orbit-oss/is
Add is.formData and is.urlSearchParams (#139)
This commit is contained in:
parent
b007935b4b
commit
a8de3d6f34
3 changed files with 73 additions and 0 deletions
|
|
@ -47,6 +47,8 @@ const objectTypeNames = [
|
|||
'DataView',
|
||||
'Promise',
|
||||
'URL',
|
||||
'FormData',
|
||||
'URLSearchParams',
|
||||
'HTMLElement',
|
||||
...typedArrayTypeNames
|
||||
] as const;
|
||||
|
|
@ -362,6 +364,9 @@ is.nonEmptyMap = <Key = unknown, Value = unknown>(value: unknown): value is Map<
|
|||
|
||||
// `PropertyKey` is any value that can be used as an object key (string, number, or symbol)
|
||||
is.propertyKey = (value: unknown): value is PropertyKey => is.any([is.string, is.number, is.symbol], value);
|
||||
is.formData = (value: unknown): value is FormData => isObjectOfType<FormData>('FormData')(value);
|
||||
|
||||
is.urlSearchParams = (value: unknown): value is URLSearchParams => isObjectOfType<URLSearchParams>('URLSearchParams')(value);
|
||||
|
||||
export type Predicate = (value: unknown) => boolean;
|
||||
|
||||
|
|
@ -523,6 +528,8 @@ interface Assert {
|
|||
emptyMap: (value: unknown) => asserts value is Map<never, never>;
|
||||
nonEmptyMap: <Key = unknown, Value = unknown>(value: unknown) => asserts value is Map<Key, Value>;
|
||||
propertyKey: (value: unknown) => asserts value is PropertyKey;
|
||||
formData: (value: unknown) => asserts value is FormData;
|
||||
urlSearchParams: (value: unknown) => asserts value is URLSearchParams;
|
||||
|
||||
// Numbers.
|
||||
evenInteger: (value: number) => asserts value is number;
|
||||
|
|
@ -621,6 +628,8 @@ export const assert: Assert = {
|
|||
emptyMap: (value: unknown): asserts value is Map<never, never> => assertType(is.emptyMap(value), AssertionTypeDescription.emptyMap, value),
|
||||
nonEmptyMap: <Key = unknown, Value = unknown>(value: unknown): asserts value is Map<Key, Value> => assertType(is.nonEmptyMap(value), AssertionTypeDescription.nonEmptyMap, value),
|
||||
propertyKey: (value: unknown): asserts value is number => assertType(is.propertyKey(value), 'PropertyKey', value),
|
||||
formData: (value: unknown): asserts value is FormData => assertType(is.formData(value), 'FormData', value),
|
||||
urlSearchParams: (value: unknown): asserts value is URLSearchParams => assertType(is.urlSearchParams(value), 'URLSearchParams', value),
|
||||
|
||||
// Numbers.
|
||||
evenInteger: (value: number): asserts value is number => assertType(is.evenInteger(value), AssertionTypeDescription.evenInteger, value),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue