@evokedset/utils v0.0.5
@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.
| Param | Type | Required | Default value |
|---|---|---|---|
| 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.
| Param | Type | Required | Default value |
|---|---|---|---|
| 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.
| Param | Type | Required | Default value |
|---|---|---|---|
| list | array | Yes | |
| config | object | No | { oxford: false, and: 'and', andThen: '.' } |
Config object:
| Param | Type | Default | Explanation |
| ------ | -------- | -------- | -------- |
| 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?
| Param | Type | required |
|---|---|---|
| checkDate | Date * | true |
| startDate | Date * | true |
| endDate | Date * | true |
isDateBeforeDate(firstDate, secondDate) => boolean
Is firstDate before secondDate?
| Param | Type | required |
| ---------- | -------------------- | -------- |
| firstDate | Date * | true |
| secondDate | Date * | true |
* will accept any value castable to date, such as certain formats of numbers and strings.