Skip to content

Instantly share code, notes, and snippets.

View IOIO72's full-sized avatar
🚂

Tamio Honma IOIO72

🚂
View GitHub Profile
@IOIO72
IOIO72 / rgb2hex.ts
Created August 23, 2019 15:56
Convert decimal RGB values to HTML hex string
// prepend a character to a string for a given result string length
const prependCharToLength = (str: string, char: string = '0', len: number = 2): string => {
let r: string[] = [];
let s: string[] = str.split('');
for (let i: number = len - 1; i >= 0; i--) {
r[i] = (s.length - i > 0) ? s[i] : char;
}
return r.join('');
};
Verifying my Blockstack ID is secured with the address 1Nu8r4xtC7uBYri355emFongdcF96RBiGh https://explorer.blockstack.org/address/1Nu8r4xtC7uBYri355emFongdcF96RBiGh
@IOIO72
IOIO72 / convertUmlauts.js
Created June 13, 2019 16:22
Converts str input into string with Umlaut replacements
export const convertUmlauts = str => {
const charMap = {
'ä': 'ae',
'ö': 'oe',
'ü': 'ue',
'Ä': 'Ae',
'Ö': 'Oe',
'Ü': 'Ue',
'ß': 'ss'
};
@IOIO72
IOIO72 / isValidDate.js
Created June 13, 2019 09:59
Returns true or false depending on valid date object.
export const isValidDate = d => d instanceof Date && !isNaN(d);
@IOIO72
IOIO72 / .htaccess
Created May 28, 2019 07:55
Configure time-based conditional redirects
RewriteEngine On
RewriteCond %{TIME} <20190319010000
RewriteRule ^agb\.html$ /legal/beta [R=302,L]
@IOIO72
IOIO72 / .htaccess
Created May 28, 2019 07:53
Remove `.html` from request.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} /.*\.html
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
@IOIO72
IOIO72 / removeSymbolPrefix
Created May 10, 2019 14:34
Removes everything prefixed until the first alphabetical character
const removeSymbolPrefix = str => /^([^a-z]*)(.*)$/gi.exec(str)[2] || str;
@IOIO72
IOIO72 / normalizeURIComponentName
Created May 10, 2019 14:34
As an alternative conversion to encodeURIComponent this function removes every character except the alphabet and `-` and replaces spaces by `-`
const normalizeURIComponentName = str => {
const stripChars = /[^a-z-\s]/gi;
return (
str.toLowerCase().replace(stripChars, '').replace(/\s/gi, '-') || str
);
};
@IOIO72
IOIO72 / getKeyValueSafely
Created May 10, 2019 14:31
checks key existance before getting key value
const getKeyValueSafely = (obj, key) => (
obj.hasOwnProperty(key) ? obj[key] : undefined
);
@IOIO72
IOIO72 / joinToArrayOrGetString
Created May 10, 2019 14:30
Joins two arrays and returns this array or returns a string when the array contains one single value
const joinToArrayOrGetString = (strOrArray1, strOrArray2) => {
const ret = [...convertToArray(strOrArray1), ...convertToArray(strOrArray2)].filter(item => typeof item === 'string');
return (ret.length === 1) ? ret[0] : ret;
};