A collection of simple TypeScript utilities
A collection of functions that you would normally look for on the internet.
This package got you covered if you want to preload a bunch of images before displaying them, manipulate a date,
check the validity of a URL, strip all the HTML tags from a string and so much more!
- addDaysToDate
- addHoursToDate
- addMonthsToDate
- subtractDaysFromDate
- subtractMonthsFromDate
- blobToBase64
- cacheImages
- calculateTimeElapsed
- capitalizeFirstCharacter
- copyStringToClipboard
- deepCopy
- enumAsArray
- generateRandomString
- getDaysInMonth
- getDaysInWeek
- isValidStringDate
- isValidURL
- isValidYouTubeURL
- numberWithSeparators
- parseDate
- stripHtml
- getDaysNumberBetweenDates
▸ addDaysToDate(date, days): void
Add a given number of days to a given date.
#### Parameters
| Name | Type | Description |
| :----- | :----- | :--------------------- |
| date | Date | Date to add days to. |
| days | number | Number of days to add. |
#### Returns
void
---
▸ addHours(date, hours): void
Add a given number of hours to a given date.
#### Parameters
| Name | Type | Description |
| :------ | :----- | :---------------------- |
| date | Date | Date to add hours to. |
| hours | number | Number of hours to add. |
#### Returns
void
---
▸ addMonthsToDate(date, months): void
Add a given number of months to a given date.
#### Parameters
| Name | Type | Description |
| :------- | :----- | :----------------------- |
| date | Date | Date to add months to. |
| months | number | Number of months to add. |
#### Returns
void
---
▸ subtractDaysFromDate(date, days): void
Subtract a given number of days from a given date.
#### Parameters
| Name | Type | Description |
| :----- | :----- | :--------------------------- |
| date | Date | Date to substract days from. |
| days | number | Number of days to subtract. |
#### Returns
void
---
▸ subtractMonthsFromDate(date, months): void
Subtract a given number of months from a given date.
#### Parameters
| Name | Type | Description |
| :------- | :----- | :----------------------------- |
| date | Date | Date to substract months from. |
| months | number | Number of months to subtract. |
#### Returns
void
---
▸ blobToBase64(blob): Promise
Convert a given blob to a base64 string.
#### Parameters
| Name | Type | Description |
| :----- | :--- | :--------------- |
| blob | Blob | Blob to convert. |
#### Returns
Promise
Promise to wait for the conversion.
---
▸ cacheImages(sources): Promise
Preload images starting from an array of sources (images URLs) to avoid images flashing.
#### Parameters
| Name | Type | Description |
| :-------- | :------- | :----------------------- |
| sources | string[] | Array of images sources. |
#### Returns
Promise
A promise resolved when all images have been preloaded.
---
▸ calculateTimeElapsed(date): string
Calculate the time elapsed since a given date and return it in a readable form.
Throws
Will throw an "Invalid Date" error if the given date is greater than new Date().
#### Parameters
| Name | Type | Description |
| :----- | :--- | :--------------------------------------- |
| date | Date | Date to calculate the time elapsed from. |
#### Returns
string
Time elapsed in a readable form.
---
▸ capitalizeFirstCharacter(text): string
Capitalize the first character of a given string.
#### Parameters
| Name | Type | Description |
| :----- | :----- | :------------------------------------------- |
| text | string | String to capitalize the first character of. |
#### Returns
string
Given string with first character capitalized.
---
▸ copyStringToClipboard(text): void
Copy the given string to the user clipboard.
#### Parameters
| Name | Type | Description |
| :----- | :----- | :-------------- |
| text | string | String to copy. |
#### Returns
void
---
▸ deepCopy(input): object \| any[]
Create a deep copy of an object or an array.
#### Parameters
| Name | Type | Description |
| :------ | :-------------- | :---------------------------------------- |
| input | object \| any[] | Object or array to create a deep copy of. |
#### Returns
object \| any[]
Deep copy of the given object or array.
---
▸ enumAsArray(enumToMap): (string \| number \| symbol)[]
Return a given enum as an array of strings.
Based on this stackoverflow question: https://stackoverflow.com/questions/41308123/map-typescript-enum.
#### Parameters
| Name | Type | Description |
| :---------- | :--- | :--------------------------- |
| enumToMap | any | Enum to get the values from. |
#### Returns
(string \| number \| symbol)[]
Array that contains all the value of the given enum.
---
▸ generateRandomString(length, set?): string
Generate a random string based on the set of characters specified.
#### Parameters
| Name | Type | Default value | Description |
| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------- | :------------------------------ |
| length | number | undefined | Length of the generated string. |
| set? | "alphanumeric" \| "alphanumericUppercaseOnly" \| "alphanumericLowercaseOnly" \| "numeric" \| "alphabetic" \| "alphabeticUppercaseOnly" \| "alphabeticLowercaseOnly" | "alphanumeric" | Set of characters to use. |
#### Returns
string
Generated random string.
---
▸ getDaysInMonth(date): Date[]
Calculate the month in which a given day is contained and return all the dates of the
calculated month.
#### Parameters
| Name | Type | Description |
| :----- | :--- | :-------------------------- |
| date | Date | Day to calculate the month. |
#### Returns
Date[]
Array that contains all dates of the calculated month.
---
▸ getDaysInWeek(date): Date[]
Calculate the week in which a given day is contained and return all the dates of the
calculated week (starting from monday).
#### Parameters
| Name | Type | Description |
| :----- | :--- | :------------------------- |
| date | Date | Day to calculate the week. |
#### Returns
Date[]
Array that contains all dates of the calculated week (starting from monday).
---
▸ isValidStringDate(stringDate): boolean
Check if a given string date is in the format yyyy-mm-dd.
#### Parameters
| Name | Type | Description |
| :----------- | :----- | :-------------------- |
| stringDate | string | String date to check. |
#### Returns
boolean
True if the given string date is in the format yyyy-mm-dd, otherwise false.
---
▸ isValidURL(stringToTest): boolean
Check if the given string is a valid URL or not.
#### Parameters
| Name | Type | Description |
| :------------- | :----- | :--------------- |
| stringToTest | string | String to check. |
#### Returns
boolean
True if the given string is a valid URL, otherwise false.
---
▸ isValidYouTubeURL(url): boolean
Check if the given URL is a valid YouTube URL or not.
#### Parameters
| Name | Type | Description |
| :---- | :----- | :------------ |
| url | string | URL to check. |
#### Returns
boolean
True if the given URL is a valid YouTube URL, otherwise false.
---
▸ numberWithSeparators(n, separator?): string
Return a given number as string with separators
(for example 1362958 becomes 1.362.958).
#### Parameters
| Name | Type | Default value | Description |
| :----------- | :--------- | :------------ | :--------------------------- |
| n | number | undefined | Number to add separators to. |
| separator? | "." \| "," | "." | Separator to use. |
#### Returns
string
Number with separators as string.
---
▸ parseDate(date, language?, printTime?): string
Parse a date into a readable string.
#### Parameters
| Name | Type | Default value | Description |
| :----------- | :----------- | :------------ | :-------------------------------------------------- |
| date | Date | undefined | Date to parse. |
| language? | "en" \| "it" | "en" | Language to use for the month. |
| printTime? | boolean | true | If add hours and minutes to the parsed date or not. |
#### Returns
string
Parsed date.
---
▸ stripHtml(html): string
Strip all HTML tags from a given string.
#### Parameters
| Name | Type | Description |
| :----- | :----- | :------------------------------ |
| html | string | String to strip HTML tags from. |
#### Returns
string
Stripped string.
---
▸ getDaysNumberBetweenDates(firstDate, secondDate): number
Get the number of days between two given dates.
#### Parameters
| Name | Type | Description |
| :----------- | :--- | :--------------------------- |
| firstDate | Date | First date of the interval. |
| secondDate | Date | Second date of the interval. |
#### Returns
number
Number of days between given dates.