create different ssh key according the article Mac Set-Up Git
$ ssh-keygen -t rsa -C "your_email@youremail.com"
| /** | |
| * Decompose integer number by grade | |
| * | |
| * @param {number} num | |
| * @returns {number[]} | |
| */ | |
| const decomposeIntNr = (num) => | |
| `${num}`.split('').map((itm, i, arr) => itm * 10 ** (arr.length - i - 1)); | |
| console.log(decomposeIntNr(346)); // Output: [300, 40, 6] |
| Absolute center: absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 |
create different ssh key according the article Mac Set-Up Git
$ ssh-keygen -t rsa -C "your_email@youremail.com"
| .rainbow-text { | |
| background-image: var(--rainbow-gradient,#fff); | |
| background-size: 100%; | |
| background-repeat: repeat; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| -moz-background-clip: text; | |
| -moz-text-fill-color: transparent; | |
| filter: drop-shadow(0 0 2rem #000); | |
| text-shadow: none; |
| /** | |
| * Source: https://github.com/TanStack/table/blob/v7/examples/filtering/src/makeData.js | |
| */ | |
| import namor from 'namor' | |
| const range = len => { | |
| const arr = [] | |
| for (let i = 0; i < len; i++) { | |
| arr.push(i) |
| /** | |
| * Source: https://youtu.be/wsoQ-fgaoyQ | |
| */ | |
| export const asyncHelper = (promise) => | |
| Promise.allSettled([promise]).then(([{ value, reason }]) => ({ | |
| data: value, | |
| error: reason, | |
| })); | |
| /** | |
| * Get from a numeric `enum` just `keys` or just 'values' | |
| * | |
| * Source: https://www.sharooq.com/how-to-access-keys-and-values-of-an-enum-in-typescript | |
| * | |
| * @param target | |
| * @param NumericEnum | |
| * @returns | |
| */ | |
| export const getNumericEnum = (target: "keys" | "values", NumericEnum: Record<any, any>) => |
| /** | |
| * Convert a text to kebab-case format | |
| */ | |
| export const toKebabCase = (text: string) => | |
| text | |
| .trim() | |
| .replace(/([a-z])([A-Z])/g, "$1-$2") // insert dash between lowercase and uppercase letters | |
| .replace(/\s+/g, "-") // replace spaces with dashes | |
| .toLowerCase(); // convert all characters to lowercase |
| /** | |
| * Assuming 1rem = 16px | |
| * | |
| * 14 => 0.875 | |
| */ | |
| export const pxToRem = (val: number, htmlFontSize?: number) => val / (htmlFontSize ?? 16); | |
| /** | |
| * Assuming 1rem = 16px | |
| * |
| import { AxiosError, AxiosResponse } from "axios"; | |
| /** | |
| * Axios types overload | |
| */ | |
| export function asyncHelper<ResponseType = any, ErrorType = any>( | |
| promise: Promise<AxiosResponse<ResponseType | ErrorType, any>> | null | undefined | false | |
| ): Promise<{ response: AxiosResponse<ResponseType> | null; error: AxiosError<ErrorType> | null }>; | |
| /** |