Overview
Basic Type Compare
Table of contents
- Compare (interface)
- BasicCompareType (type alias)
- CompareBoolean (type alias)
- CompareEnum (type alias)
- CompareNumber (type alias)
- CompareString (type alias)
- GetFirstParam (type alias)
- BasicConditionNames (constant)
- compare (constant)
- compareBoolean (constant)
- compareDate (constant)
- compareEnum (constant)
- compareNumber (constant)
- compareString (constant)
- fromEq (function)
- fromOrd (function)
Compare (interface)
Compare two object is equal.
Signature
interface Compare {}
Added in v0.2.0
BasicCompareType (type alias)
Baisc compare type
Signature
export type BasicCompareType = 'string' | 'number' | 'boolean' | 'date' | 'enum'
Added in v0.2.0
CompareBoolean (type alias)
Boolean compare interface
Signature
export type CompareBoolean<A = boolean> = {
eq: Compare<A, A>
not: Compare<A, A>
}
Added in v0.2.0
CompareEnum (type alias)
Enum compare interface
Signature
export type CompareEnum<A> = CompareBoolean<A> & {
in: Compare<A[], A>
not_in: Compare<A[], A>
}
Added in v0.2.0
CompareNumber (type alias)
Number compare interface
Signature
export type CompareNumber<A = number> = CompareBoolean<A> & {
lt: Compare<A, A>
gt: Compare<A, A>
lte: Compare<A, A>
gte: Compare<A, A>
between: Compare<{ low: A; hi: A }, A>
}
Added in v0.2.0
CompareString (type alias)
String compare interface
Signature
export type CompareString<A extends string = string> = CompareNumber<A> & {
not_contains: Compare<A, A>
not_starts_with: Compare<A, A>
not_ends_with: Compare<A, A>
not_in: Compare<A[], A>
starts_with: Compare<A, A>
ends_with: Compare<A, A>
contains: Compare<A, A>
in: Compare<A[], A>
pattern: Compare<A[] | A, A>
}
Added in v0.2.0
GetFirstParam (type alias)
Get first param type with Compare
Signature
export type GetFirstParam<T> = T extends Compare<infer U, any> ? U : never
Example
import { GetFirstParam } from 'macoolka-compare'
type Fisrt = GetFirstParam<(a: number) => (b: string) => boolean>
//First = number
Added in v0.2.0
BasicConditionNames (constant)
The contain all compare function name by type
Signature
export const BasicConditionNames: { string: string[]; number: string[]; boolean: string[]; enum: string[]; date: string[]; } = ...
Added in v0.2.0
compare (constant)
The contain all compare function by type
Signature
export const compare: { string: CompareString<any>; number: CompareNumber<any>; boolean: CompareBoolean<any>; date: CompareNumber<Date>; enum: CompareEnum<string>; } = ...
Added in v0.2.0
compareBoolean (constant)
BooleanCompare instance
Signature
export const compareBoolean: CompareBoolean<any> = ...
Added in v0.2.0
compareDate (constant)
Date compare instance
Signature
export const compareDate: CompareNumber<Date> = ...
Added in v0.2.0
compareEnum (constant)
CompareEnum
instance
Signature
export const compareEnum: CompareEnum<string> = ...
Added in v0.2.0
compareNumber (constant)
CompareNumber
instance
Signature
export const compareNumber: CompareNumber<any> = ...
Added in v0.2.0
compareString (constant)
CompareString
instance
Signature
export const compareString: CompareString<any> = ...
Added in v0.2.0
fromEq (function)
From Eq
to CompareBoolean instance
Added in v0.2.0
fromOrd (function)
From Ord
to CompareNumber
Instance
Added in v0.2.0