@evokedset/utils
General JavaScript we don't care to write again. Written in TypeScript and / or ES6. Because you have to start somewhere. Not very thoughtfully organized into vaguely related files.
Methods
Types and Shapes
getType(input, restricted=false)
⇒ string
Returns name of type of input.
A bit more versatile than typeof in that it will also recognize and return the expected result for any custom type.
input | * | Yes | |
restricted | boolean | No | false |
getShape(input, depth=1)
⇒ string
Returns the 'shape' of the object in the style of react proptypes. Handy for declaring very precise objects.
input | object | Yes | |
depth | number | No | 1 |
Strings and lists
humanizeList(list, config)
⇒ string
Transforms ['Tom', 'Dick', 'Harry']
into Tom, Dick and Harry
. Takes an array of strings and an optional config object. Also exported as thingCommaThingAndThing
for obvious reasons.
list | array | Yes | |
config | object | No | { oxford: false, and: 'and', andThen: '.' } |
Config object:
oxford | boolean | false | Use oxford comma? |
and | string | and | Tom, Dick and Harry. |
andThen | string | . | Tom, Dick and Harry. |
Dates
isDateInRange(checkDate, startDate, endDate)
=> boolean
Is checkDate
after startDate
and before endDate
?
checkDate | Date * | true |
startDate | Date * | true |
endDate | Date * | true |
isDateBeforeDate(firstDate, secondDate)
=> boolean
Is firstDate
before secondDate
?
firstDate | Date * | true |
secondDate | Date * | true |
* will accept any value castable to date, such as certain formats of numbers and strings.