@technobuddha/library
Version:
A large library of useful functions
319 lines (304 loc) • 7.03 kB
text/typescript
export const empty = '';
export const space = ' ';
export const nbsp = '\u00A0';
export const zwsp = '\u200B';
export const negativeZero = -0;
export const ticksPerSecond = 1000;
export const secondsPerMinute = 60;
export const minutesPerHour = 60;
export const hoursPerDay = 24;
export const daysPerWeek = 7;
export const ticksPerMinute = ticksPerSecond * secondsPerMinute;
export const ticksPerHour = ticksPerMinute * minutesPerHour;
export const ticksPerDay = ticksPerHour * hoursPerDay;
export const ticksPerWeek = ticksPerDay * daysPerWeek;
export const secondsPerHour = secondsPerMinute * minutesPerHour;
export const secondsPerDay = secondsPerHour * hoursPerDay;
export const secondsPerWeek = secondsPerDay * daysPerWeek;
export const minutesPerDay = minutesPerHour * hoursPerDay;
export const minutesPerWeek = minutesPerDay * daysPerWeek;
export const hoursPerWeek = hoursPerDay * daysPerWeek;
export type DayOfWeek = (0 | 1 | 2 | 3 | 4 | 5 | 6);
export const day = Object.freeze({
sunday: 0,
sun: 0,
su: 0,
monday: 1,
mon: 1,
mo: 1,
tuesday: 2,
tue: 2,
tu: 2,
tues: 2,
wednesday: 3,
wed: 3,
we: 3,
thursday: 4,
thu: 4,
th: 4,
thur: 4,
thurs: 4,
friday: 5,
fri: 5,
fr: 5,
saturday: 6,
sat: 6,
sa: 6,
} as Record<string, DayOfWeek>);
export type MonthOfYear = (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11);
export const month = Object.freeze({
january: 0,
jan: 0,
february: 1,
feb: 1,
march: 2,
mar: 2,
april: 3,
apr: 3,
may: 4,
june: 5,
jun: 5,
july: 6,
jul: 6,
august: 7,
aug: 7,
september: 8,
sept: 8,
sep: 8,
october: 9,
oct: 9,
november: 10,
nov: 10,
december: 11,
dec: 11,
} as Record<string, MonthOfYear>);
export const charcode = Object.freeze({
' ': 32,
'!': 33,
'"': 34,
'#': 35,
'$': 36,
'%': 37,
'&': 38,
"'": 39,
'(': 40,
')': 41,
'*': 42,
'+': 43,
',': 44,
'-': 45,
'.': 46,
'/': 47,
'0': 48,
'1': 49,
'2': 50,
'3': 51,
'4': 52,
'5': 53,
'6': 54,
'7': 55,
'8': 56,
'9': 57,
':': 58,
';': 59,
'<': 60,
'=': 61,
'>': 62,
'?': 63,
'@': 64,
'A': 65,
'B': 66,
'C': 67,
'D': 68,
'E': 69,
'F': 70,
'G': 71,
'H': 72,
'I': 73,
'J': 74,
'K': 75,
'L': 76,
'M': 77,
'N': 78,
'O': 79,
'P': 80,
'Q': 81,
'R': 82,
'S': 83,
'T': 84,
'U': 85,
'V': 86,
'W': 87,
'X': 88,
'Y': 89,
'Z': 90,
'[': 91,
'\\': 92,
']': 93,
'^': 94,
'_': 95,
'`': 96,
'a': 97,
'b': 98,
'c': 99,
'd': 100,
'e': 101,
'f': 102,
'g': 103,
'h': 104,
'i': 105,
'j': 106,
'k': 107,
'l': 108,
'm': 109,
'n': 110,
'o': 111,
'p': 112,
'q': 113,
'r': 114,
's': 115,
't': 116,
'u': 117,
'v': 118,
'w': 119,
'x': 120,
'y': 121,
'z': 122,
'{': 123,
'|': 124,
'}': 125,
'~': 126,
});
export const mouseButton = Object.freeze({
left: 0,
middle: 1,
right: 2,
});
export const keycode = Object.freeze({
escape: 27,
f1: 112,
f2: 113,
f3: 114,
f4: 115,
f5: 116,
f6: 117,
f7: 118,
f8: 119,
f9: 120,
f10: 121,
f11: 122,
f12: 123,
prtScr: 44,
scrollLock: 145,
pause: 19,
grave: 192,
key1: 49,
key2: 50,
key3: 51,
key4: 52,
key5: 53,
key6: 54,
key7: 55,
key8: 56,
key9: 57,
key0: 48,
dash: 189,
equals: 187,
backspace: 8,
tab: 9,
q: 81,
w: 87,
e: 69,
r: 82,
t: 84,
y: 89,
u: 85,
i: 73,
o: 79,
p: 80,
openBracket: 219,
closeBracket: 221,
backSlash: 220,
capsLock: 20,
a: 65,
s: 83,
d: 68,
f: 70,
g: 71,
h: 72,
j: 74,
k: 75,
l: 76,
semiColon: 186,
quote: 222,
enter: 13,
shift: 16,
z: 90,
x: 88,
c: 67,
v: 86,
b: 66,
n: 78,
m: 77,
comma: 188,
period: 190,
slash: 191,
ctrl: 17,
leftWindow: 91,
alt: 18,
space: 32,
rightWindow: 92,
menu: 93,
ins: 45,
home: 36,
pageUp: 33,
del: 46,
end: 35,
pageDown: 34,
arrowUp: 38,
arrowLeft: 37,
arrowDown: 40,
arrowRight: 39,
numLock: 144,
divide: 111,
multiply: 106,
subtract: 109,
numpad7: 103,
numpad8: 104,
numpad9: 105,
add: 107,
numpad4: 100,
numpad5: 101,
numpad6: 102,
numpad1: 97,
numpad2: 98,
numpad3: 99,
numpad0: 96,
decimalPoint: 110,
});
export default {
empty,
space,
nbsp,
zwsp,
ticksPerSecond,
secondsPerMinute,
minutesPerHour,
hoursPerDay,
daysPerWeek,
ticksPerMinute,
ticksPerHour,
ticksPerDay,
ticksPerWeek,
secondsPerHour,
secondsPerDay,
secondsPerWeek,
minutesPerDay,
minutesPerWeek,
hoursPerWeek,
day,
month,
charcode,
mouseButton,
keycode,
};