From 996b4870489536fa0d508612cd5d7d1c9bcfc5c6 Mon Sep 17 00:00:00 2001 From: AlphaNecron Date: Fri, 15 Oct 2021 14:52:11 +0700 Subject: [PATCH] refactor(lib): moved constant declarations into `constants.ts` --- prisma/schema.prisma | 26 ++--- server.ts | 2 +- src/components/Paste.tsx | 2 +- src/components/ShareXDialog.tsx | 6 +- src/components/pages/Upload.tsx | 4 +- src/components/pages/Urls.tsx | 4 +- src/lib/constants.ts | 174 ++++++++++++++++++++++++++++++++ src/lib/generators.ts | 15 ++- src/lib/languages.ts | 60 ----------- src/lib/mimetypes.ts | 80 --------------- src/pages/[...id].tsx | 2 +- src/pages/_error.tsx | 3 +- src/pages/api/upload.ts | 2 +- twilight/commands/upload.ts | 2 +- 14 files changed, 208 insertions(+), 174 deletions(-) create mode 100644 src/lib/constants.ts delete mode 100644 src/lib/languages.ts delete mode 100644 src/lib/mimetypes.ts diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 6307f9c..6b9f8e0 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -8,18 +8,20 @@ generator client { } model User { - id Int @id @default(autoincrement()) - username String - password String - token String @unique - isAdmin Boolean @default(false) - useEmbed Boolean? @default(false) - embedSiteName String? @default("Void") - embedTitle String? - embedColor String @default("#B794F4") - embedDesc String? - files File[] - urls Url[] + id Int @id @default(autoincrement()) + username String + password String + token String @unique + isAdmin Boolean @default(false) + useEmbed Boolean? @default(false) + embedSiteName String? @default("Void") + embedTitle String? + embedColor String @default("#B794F4") + embedDesc String? + discordUsername String? + discordId String? + files File[] + urls Url[] } model Url { diff --git a/server.ts b/server.ts index b79b6a9..ae556b9 100644 --- a/server.ts +++ b/server.ts @@ -6,7 +6,7 @@ import { extname, join } from 'path'; import deployDb from './scripts/deployDb'; import prismaRun from './scripts/prismaRun'; import { error, info } from './src/lib/logger'; -import mimetypes from './src/lib/mimetypes'; +import { mimetypes } from './src/lib/constants'; import validate from './src/lib/validateConfig'; import readConfig from './src/lib/configReader'; import start from './twilight/twilight'; diff --git a/src/components/Paste.tsx b/src/components/Paste.tsx index 3651570..86f0c26 100644 --- a/src/components/Paste.tsx +++ b/src/components/Paste.tsx @@ -1,5 +1,5 @@ import { Select, VStack } from '@chakra-ui/react'; -import languages from 'lib/languages'; +import { languages } from 'lib/constants'; import React, { useState } from 'react'; import { Prism as Code } from 'react-syntax-highlighter'; import theme from 'react-syntax-highlighter/dist/cjs/styles/prism/coldark-dark'; diff --git a/src/components/ShareXDialog.tsx b/src/components/ShareXDialog.tsx index 9e74b16..a99e0fc 100644 --- a/src/components/ShareXDialog.tsx +++ b/src/components/ShareXDialog.tsx @@ -5,7 +5,7 @@ import { Download, X } from 'react-feather'; export default function ShareXDialog({ open, onClose, token }) { const ref = React.useRef(); const [name, setName] = useState('Void'); - const [generator, setGenerator] = useState('random'); + const [generator, setGenerator] = useState('plain'); const [tab, setTab] = useState(0); const [usePassword, setUsePassword] = useState(false); const [preserveFileName, setPreserveFileName] = useState(false); @@ -84,7 +84,7 @@ export default function ShareXDialog({ open, onClose, token }) { onChange={g => setGenerator(g.target.value)} size='sm' > - + @@ -105,7 +105,7 @@ export default function ShareXDialog({ open, onClose, token }) { onChange={g => setGenerator(g.target.value)} size='sm' > - + diff --git a/src/components/pages/Upload.tsx b/src/components/pages/Upload.tsx index 7e695f7..631ca94 100644 --- a/src/components/pages/Upload.tsx +++ b/src/components/pages/Upload.tsx @@ -9,7 +9,7 @@ export default function Upload() { const { token } = useStoreSelector(state => state.user); const toast = useToast(); const [preserve, setPreserve] = useState(true); - const [generator, setGenerator] = useState('random'); + const [generator, setGenerator] = useState('plain'); const [file, setFile] = useState(null); const [busy, setBusy] = useState(false); const showToast = (srv, title, description?) => { @@ -81,7 +81,7 @@ export default function Upload() { setPreserve(p.target.checked)}>Preserve filename diff --git a/src/components/pages/Urls.tsx b/src/components/pages/Urls.tsx index 8e0d5c4..29ab4ce 100644 --- a/src/components/pages/Urls.tsx +++ b/src/components/pages/Urls.tsx @@ -84,7 +84,7 @@ export default function URLs() { - { handleSubmit(values, actions); }}> + { handleSubmit(values, actions); }}> {props => (
@@ -109,7 +109,7 @@ export default function URLs() { URL generator diff --git a/src/lib/constants.ts b/src/lib/constants.ts new file mode 100644 index 0000000..38d6b03 --- /dev/null +++ b/src/lib/constants.ts @@ -0,0 +1,174 @@ +export const errors = { + '400': 'Bad Request', + '401': 'Unauthorized', + '402': 'Payment Required', + '403': 'Forbidden', + '404': 'Not Found', + '405': 'Method Not Allowed', + '406': 'Not Acceptable', + '407': 'Proxy Authentication Required', + '408': 'Request Timeout', + '409': 'Conflict', + '410': 'Gone', + '411': 'Length Required', + '412': 'Precondition Required', + '413': 'Request Entry Too Large', + '414': 'Request-URI Too Long', + '415': 'Unsupported Media Type', + '416': 'Requested Range Not Satisfiable', + '417': 'Expectation Failed', + '418': 'I\'m a teapot', + '429': 'Too Many Requests', + '500': 'Internal Server Error', + '501': 'Not Implemented', + '502': 'Bad Gateway', + '503': 'Service Unavailable', + '504': 'Gateway Timeout', + '505': 'HTTP Version Not Supported' +}; + +export const charsets = { + plain: 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890', + zerowidth: ['\u200B', '\u2060', '\u200C', '\u200D'], + emoji: [ + '๐Ÿ˜„','๐Ÿ˜ƒ','๐Ÿ˜€','๐Ÿ˜Š','โ˜บ','๐Ÿ˜‰','๐Ÿ˜','๐Ÿ˜˜','๐Ÿ˜š','๐Ÿ˜—','๐Ÿ˜™','๐Ÿ˜œ','๐Ÿ˜','๐Ÿ˜›','๐Ÿ˜ณ','๐Ÿ˜','๐Ÿ˜”','๐Ÿ˜Œ','๐Ÿ˜’','๐Ÿ˜ž','๐Ÿ˜ฃ','๐Ÿ˜ข','๐Ÿ˜‚','๐Ÿ˜ญ','๐Ÿ˜ช','๐Ÿ˜ฅ','๐Ÿ˜ฐ','๐Ÿ˜…','๐Ÿ˜“','๐Ÿ˜ฉ','๐Ÿ˜ซ','๐Ÿ˜จ','๐Ÿ˜ฑ','๐Ÿ˜ ','๐Ÿ˜ก','๐Ÿ˜ค','๐Ÿ˜–','๐Ÿ˜†','๐Ÿ˜‹','๐Ÿ˜ท','๐Ÿ˜Ž','๐Ÿ˜ด','๐Ÿ˜ต','๐Ÿ˜ฒ','๐Ÿ˜Ÿ','๐Ÿ˜ฆ','๐Ÿ˜ง','๐Ÿ˜ˆ','๐Ÿ‘ฟ','๐Ÿ˜ฎ','๐Ÿ˜ฌ','๐Ÿ˜','๐Ÿ˜•','๐Ÿ˜ฏ','๐Ÿ˜ถ','๐Ÿ˜‡','๐Ÿ˜','๐Ÿ˜‘','๐Ÿ‘ฒ','๐Ÿ‘ณ','๐Ÿ‘ฎ','๐Ÿ‘ท','๐Ÿ’‚','๐Ÿ‘ถ','๐Ÿ‘ฆ','๐Ÿ‘ง','๐Ÿ‘จ','๐Ÿ‘ฉ','๐Ÿ‘ด','๐Ÿ‘ต','๐Ÿ‘ฑ','๐Ÿ‘ผ','๐Ÿ‘ธ','๐Ÿ˜บ','๐Ÿ˜ธ','๐Ÿ˜ป','๐Ÿ˜ฝ','๐Ÿ˜ผ','๐Ÿ™€','๐Ÿ˜ฟ','๐Ÿ˜น','๐Ÿ˜พ','๐Ÿ‘น','๐Ÿ‘บ','๐Ÿ™ˆ','๐Ÿ™‰','๐Ÿ™Š','๐Ÿ’€','๐Ÿ‘ฝ','๐Ÿ’ฉ','๐Ÿ”ฅ','โœจ','๐ŸŒŸ','๐Ÿ’ซ','๐Ÿ’ฅ','๐Ÿ’ข','๐Ÿ’ฆ','๐Ÿ’ง','๐Ÿ’ค','๐Ÿ’จ','๐Ÿ‘‚','๐Ÿ‘€','๐Ÿ‘ƒ','๐Ÿ‘…','๐Ÿ‘„','๐Ÿ‘','๐Ÿ‘Ž','๐Ÿ‘Œ','๐Ÿ‘Š','โœŠ','โœŒ','๐Ÿ‘‹','โœ‹','๐Ÿ‘','๐Ÿ‘†','๐Ÿ‘‡','๐Ÿ‘‰','๐Ÿ‘ˆ','๐Ÿ™Œ','๐Ÿ™','โ˜','๐Ÿ‘','๐Ÿ’ช','๐Ÿšถ','๐Ÿƒ','๐Ÿ’ƒ','๐Ÿ‘ซ','๐Ÿ‘ช','๐Ÿ‘ฌ','๐Ÿ‘ญ','๐Ÿ’','๐Ÿ’‘','๐Ÿ‘ฏ','๐Ÿ™†','๐Ÿ™…','๐Ÿ’','๐Ÿ™‹','๐Ÿ’†','๐Ÿ’‡','๐Ÿ’…','๐Ÿ‘ฐ','๐Ÿ™Ž','๐Ÿ™','๐Ÿ™‡','๐ŸŽฉ','๐Ÿ‘‘','๐Ÿ‘’','๐Ÿ‘Ÿ','๐Ÿ‘ž','๐Ÿ‘ก','๐Ÿ‘ ','๐Ÿ‘ข','๐Ÿ‘•','๐Ÿ‘”','๐Ÿ‘š','๐Ÿ‘—','๐ŸŽฝ','๐Ÿ‘–','๐Ÿ‘˜','๐Ÿ‘™','๐Ÿ’ผ','๐Ÿ‘œ','๐Ÿ‘','๐Ÿ‘›','๐Ÿ‘“','๐ŸŽ€','๐ŸŒ‚','๐Ÿ’„','๐Ÿ’›','๐Ÿ’™','๐Ÿ’œ','๐Ÿ’š','โค','๐Ÿ’”','๐Ÿ’—','๐Ÿ’“','๐Ÿ’•','๐Ÿ’–','๐Ÿ’ž','๐Ÿ’˜','๐Ÿ’Œ','๐Ÿ’‹','๐Ÿ’','๐Ÿ’Ž','๐Ÿ‘ค','๐Ÿ‘ฅ','๐Ÿ’ฌ','๐Ÿ‘ฃ','๐Ÿ’ญ','๐Ÿถ','๐Ÿบ','๐Ÿฑ','๐Ÿญ','๐Ÿน','๐Ÿฐ','๐Ÿธ','๐Ÿฏ','๐Ÿจ','๐Ÿป','๐Ÿท','๐Ÿฝ','๐Ÿฎ','๐Ÿ—','๐Ÿต','๐Ÿ’','๐Ÿด','๐Ÿ‘','๐Ÿ˜','๐Ÿผ','๐Ÿง','๐Ÿฆ','๐Ÿค','๐Ÿฅ','๐Ÿฃ','๐Ÿ”','๐Ÿ','๐Ÿข','๐Ÿ›','๐Ÿ','๐Ÿœ','๐Ÿž','๐ŸŒ','๐Ÿ™','๐Ÿš','๐Ÿ ','๐ŸŸ','๐Ÿฌ','๐Ÿณ','๐Ÿ‹','๐Ÿ„','๐Ÿ','๐Ÿ€','๐Ÿƒ','๐Ÿ…','๐Ÿ‡','๐Ÿ‰','๐ŸŽ','๐Ÿ','๐Ÿ“','๐Ÿ•','๐Ÿ–','๐Ÿ','๐Ÿ‚','๐Ÿฒ','๐Ÿก','๐ŸŠ','๐Ÿซ','๐Ÿช','๐Ÿ†','๐Ÿˆ','๐Ÿฉ','๐Ÿพ','๐Ÿ’','๐ŸŒธ','๐ŸŒท','๐Ÿ€','๐ŸŒน','๐ŸŒป','๐ŸŒบ','๐Ÿ','๐Ÿƒ','๐Ÿ‚','๐ŸŒฟ','๐ŸŒพ','๐Ÿ„','๐ŸŒต','๐ŸŒด','๐ŸŒฒ','๐ŸŒณ','๐ŸŒฐ','๐ŸŒฑ','๐ŸŒผ','๐ŸŒ','๐ŸŒž','๐ŸŒ','๐ŸŒš','๐ŸŒ‘','๐ŸŒ’','๐ŸŒ“','๐ŸŒ”','๐ŸŒ•','๐ŸŒ–','๐ŸŒ—','๐ŸŒ˜','๐ŸŒœ','๐ŸŒ›','๐ŸŒ™','๐ŸŒ','๐ŸŒŽ','๐ŸŒ','๐ŸŒ‹','๐ŸŒŒ','๐ŸŒ ','โญ','โ˜€','โ›…','โ˜','โšก','โ˜”','โ„','โ›„','๐ŸŒ€','๐ŸŒ','๐ŸŒˆ','๐ŸŒŠ','๐ŸŽ','๐Ÿ’','๐ŸŽŽ','๐ŸŽ’','๐ŸŽ“','๐ŸŽ','๐ŸŽ†','๐ŸŽ‡','๐ŸŽ','๐ŸŽ‘','๐ŸŽƒ','๐Ÿ‘ป','๐ŸŽ…','๐ŸŽ„','๐ŸŽ','๐ŸŽ‹','๐ŸŽ‰','๐ŸŽŠ','๐ŸŽˆ','๐ŸŽŒ','๐Ÿ”ฎ','๐ŸŽฅ','๐Ÿ“ท','๐Ÿ“น','๐Ÿ“ผ','๐Ÿ’ฟ','๐Ÿ“€','๐Ÿ’ฝ','๐Ÿ’พ','๐Ÿ’ป','๐Ÿ“ฑ','โ˜Ž','๐Ÿ“ž','๐Ÿ“Ÿ','๐Ÿ“ ','๐Ÿ“ก','๐Ÿ“บ','๐Ÿ“ป','๐Ÿ”Š','๐Ÿ”‰','๐Ÿ”ˆ','๐Ÿ”‡','๐Ÿ””','๐Ÿ”•','๐Ÿ“ข','๐Ÿ“ฃ','โณ','โŒ›','โฐ','โŒš','๐Ÿ”“','๐Ÿ”’','๐Ÿ”','๐Ÿ”','๐Ÿ”‘','๐Ÿ”Ž','๐Ÿ’ก','๐Ÿ”ฆ','๐Ÿ”†','๐Ÿ”…','๐Ÿ”Œ','๐Ÿ”‹','๐Ÿ”','๐Ÿ›','๐Ÿ›€','๐Ÿšฟ','๐Ÿšฝ','๐Ÿ”ง','๐Ÿ”ฉ','๐Ÿ”จ','๐Ÿšช','๐Ÿšฌ','๐Ÿ’ฃ','๐Ÿ”ซ','๐Ÿ”ช','๐Ÿ’Š','๐Ÿ’‰','๐Ÿ’ฐ','๐Ÿ’ด','๐Ÿ’ต','๐Ÿ’ท','๐Ÿ’ถ','๐Ÿ’ณ','๐Ÿ’ธ','๐Ÿ“ฒ','๐Ÿ“ง','๐Ÿ“ฅ','๐Ÿ“ค','โœ‰','๐Ÿ“ฉ','๐Ÿ“จ','๐Ÿ“ฏ','๐Ÿ“ซ','๐Ÿ“ช','๐Ÿ“ฌ','๐Ÿ“ญ','๐Ÿ“ฎ','๐Ÿ“ฆ','๐Ÿ“','๐Ÿ“„','๐Ÿ“ƒ','๐Ÿ“‘','๐Ÿ“Š','๐Ÿ“ˆ','๐Ÿ“‰','๐Ÿ“œ','๐Ÿ“‹','๐Ÿ“…','๐Ÿ“†','๐Ÿ“‡','๐Ÿ“','๐Ÿ“‚','โœ‚','๐Ÿ“Œ','๐Ÿ“Ž','โœ’','โœ','๐Ÿ“','๐Ÿ“','๐Ÿ“•','๐Ÿ“—','๐Ÿ“˜','๐Ÿ“™','๐Ÿ““','๐Ÿ“”','๐Ÿ“’','๐Ÿ“š','๐Ÿ“–','๐Ÿ”–','๐Ÿ“›','๐Ÿ”ฌ','๐Ÿ”ญ','๐Ÿ“ฐ','๐ŸŽจ','๐ŸŽฌ','๐ŸŽค','๐ŸŽง','๐ŸŽผ','๐ŸŽต','๐ŸŽถ','๐ŸŽน','๐ŸŽป','๐ŸŽบ','๐ŸŽท','๐ŸŽธ','๐Ÿ‘พ','๐ŸŽฎ','๐Ÿƒ','๐ŸŽด','๐Ÿ€„','๐ŸŽฒ','๐ŸŽฏ','๐Ÿˆ','๐Ÿ€','โšฝ','โšพ','๐ŸŽพ','๐ŸŽฑ','๐Ÿ‰','๐ŸŽณ','โ›ณ','๐Ÿšต','๐Ÿšด','๐Ÿ','๐Ÿ‡','๐Ÿ†','๐ŸŽฟ','๐Ÿ‚','๐ŸŠ','๐Ÿ„','๐ŸŽฃ','โ˜•','๐Ÿต','๐Ÿถ','๐Ÿผ','๐Ÿบ','๐Ÿป','๐Ÿธ','๐Ÿน','๐Ÿท','๐Ÿด','๐Ÿ•','๐Ÿ”','๐ŸŸ','๐Ÿ—','๐Ÿ–','๐Ÿ','๐Ÿ›','๐Ÿค','๐Ÿฑ','๐Ÿฃ','๐Ÿฅ','๐Ÿ™','๐Ÿ˜','๐Ÿš','๐Ÿœ','๐Ÿฒ','๐Ÿข','๐Ÿก','๐Ÿณ','๐Ÿž','๐Ÿฉ','๐Ÿฎ','๐Ÿฆ','๐Ÿจ','๐Ÿง','๐ŸŽ‚','๐Ÿฐ','๐Ÿช','๐Ÿซ','๐Ÿฌ','๐Ÿญ','๐Ÿฏ','๐ŸŽ','๐Ÿ','๐ŸŠ','๐Ÿ‹','๐Ÿ’','๐Ÿ‡','๐Ÿ‰','๐Ÿ“','๐Ÿ‘','๐Ÿˆ','๐ŸŒ','๐Ÿ','๐Ÿ','๐Ÿ ','๐Ÿ†','๐Ÿ…','๐ŸŒฝ','๐Ÿ ','๐Ÿก','๐Ÿซ','๐Ÿข','๐Ÿฃ','๐Ÿฅ','๐Ÿฆ','๐Ÿช','๐Ÿฉ','๐Ÿจ','๐Ÿ’’','โ›ช','๐Ÿฌ','๐Ÿค','๐ŸŒ‡','๐ŸŒ†','๐Ÿฏ','๐Ÿฐ','โ›บ','๐Ÿญ','๐Ÿ—ผ','๐Ÿ—พ','๐Ÿ—ป','๐ŸŒ„','๐ŸŒ…','๐ŸŒƒ','๐Ÿ—ฝ','๐ŸŒ‰','๐ŸŽ ','๐ŸŽก','โ›ฒ','๐ŸŽข','๐Ÿšข','โ›ต','๐Ÿšค','๐Ÿšฃ','โš“','๐Ÿš€','โœˆ','๐Ÿ’บ','๐Ÿš','๐Ÿš‚','๐ŸšŠ','๐Ÿš‰','๐Ÿšž','๐Ÿš†','๐Ÿš„','๐Ÿš…','๐Ÿšˆ','๐Ÿš‡','๐Ÿš','๐Ÿš‹','๐Ÿšƒ','๐ŸšŽ','๐ŸšŒ','๐Ÿš','๐Ÿš™','๐Ÿš˜','๐Ÿš—','๐Ÿš•','๐Ÿš–','๐Ÿš›','๐Ÿšš','๐Ÿšจ','๐Ÿš“','๐Ÿš”','๐Ÿš’','๐Ÿš‘','๐Ÿš','๐Ÿšฒ','๐Ÿšก','๐ŸšŸ','๐Ÿš ','๐Ÿšœ','๐Ÿ’ˆ','๐Ÿš','๐ŸŽซ','๐Ÿšฆ','๐Ÿšฅ','โš ','๐Ÿšง','๐Ÿ”ฐ','โ›ฝ','๐Ÿฎ','๐ŸŽฐ','โ™จ','๐Ÿ—ฟ','๐ŸŽช','๐ŸŽญ','๐Ÿ“','๐Ÿšฉ','โฌ†','โฌ‡','โฌ…','โžก','๐Ÿ” ','๐Ÿ”ก','๐Ÿ”ค','โ†—','โ†–','โ†˜','โ†™','โ†”','โ†•','๐Ÿ”„','โ—€','โ–ถ','๐Ÿ”ผ','๐Ÿ”ฝ','โ†ฉ','โ†ช','โ„น','โช','โฉ','โซ','โฌ','โคต','โคด','๐Ÿ†—','๐Ÿ”€','๐Ÿ”','๐Ÿ”‚','๐Ÿ†•','๐Ÿ†™','๐Ÿ†’','๐Ÿ†“','๐Ÿ†–','๐Ÿ“ถ','๐ŸŽฆ','๐Ÿˆ','๐Ÿˆฏ','๐Ÿˆณ','๐Ÿˆต','๐Ÿˆด','๐Ÿˆฒ','๐Ÿ‰','๐Ÿˆน','๐Ÿˆบ','๐Ÿˆถ','๐Ÿˆš','๐Ÿšป','๐Ÿšน','๐Ÿšบ','๐Ÿšผ','๐Ÿšพ','๐Ÿšฐ','๐Ÿšฎ','๐Ÿ…ฟ','โ™ฟ','๐Ÿšญ','๐Ÿˆท','๐Ÿˆธ','๐Ÿˆ‚','โ“‚','๐Ÿ›‚','๐Ÿ›„','๐Ÿ›…','๐Ÿ›ƒ','๐Ÿ‰‘','ใŠ™','ใŠ—','๐Ÿ†‘','๐Ÿ†˜','๐Ÿ†”','๐Ÿšซ','๐Ÿ”ž','๐Ÿ“ต','๐Ÿšฏ','๐Ÿšฑ','๐Ÿšณ','๐Ÿšท','๐Ÿšธ','โ›”','โœณ','โ‡','โŽ','โœ…','โœด','๐Ÿ’Ÿ','๐Ÿ†š','๐Ÿ“ณ','๐Ÿ“ด','๐Ÿ…ฐ','๐Ÿ…ฑ','๐Ÿ†Ž','๐Ÿ…พ','๐Ÿ’ ','โžฟ','โ™ป','โ™ˆ','โ™‰','โ™Š','โ™‹','โ™Œ','โ™','โ™Ž','โ™','โ™','โ™‘','โ™’','โ™“','โ›Ž','๐Ÿ”ฏ','๐Ÿง','๐Ÿ’น','๐Ÿ’ฒ','๐Ÿ’ฑ','ยฉ','ยฎ','โ„ข','ใ€ฝ','ใ€ฐ','๐Ÿ”','๐Ÿ”š','๐Ÿ”™','๐Ÿ”›','๐Ÿ”œ','โŒ','โญ•','โ—','โ“','โ•','โ”','๐Ÿ”ƒ','๐Ÿ•›','๐Ÿ•ง','๐Ÿ•','๐Ÿ•œ','๐Ÿ•‘','๐Ÿ•','๐Ÿ•’','๐Ÿ•ž','๐Ÿ•“','๐Ÿ•Ÿ','๐Ÿ•”','๐Ÿ• ','๐Ÿ••','๐Ÿ•–','๐Ÿ•—','๐Ÿ•˜','๐Ÿ•™','๐Ÿ•š','๐Ÿ•ก','๐Ÿ•ข','๐Ÿ•ฃ','๐Ÿ•ค','๐Ÿ•ฅ','๐Ÿ•ฆ','โœ–','โž•','โž–','โž—','โ™ ','โ™ฅ','โ™ฃ','โ™ฆ','๐Ÿ’ฎ','๐Ÿ’ฏ','โœ”','โ˜‘','๐Ÿ”˜','๐Ÿ”—','โžฐ','๐Ÿ”ฑ','๐Ÿ”ฒ','๐Ÿ”ณ','โ—ผ','โ—ป','โ—พ','โ—ฝ','โ–ช','โ–ซ','๐Ÿ”บ','โฌœ','โฌ›','โšซ','โšช','๐Ÿ”ด','๐Ÿ”ต','๐Ÿ”ป','๐Ÿ”ถ','๐Ÿ”ท','๐Ÿ”ธ','๐Ÿ”น' + ] +}; + +export const mimetypes = { + '.aac': 'audio/aac', + '.abw': 'application/x-abiword', + '.arc': 'application/x-freearc', + '.avi': 'video/x-msvideo', + '.azw': 'application/vnd.amazon.ebook', + '.bin': 'application/octet-stream', + '.bmp': 'image/bmp', + '.bz': 'application/x-bzip', + '.bz2': 'application/x-bzip2', + '.cda': 'application/x-cdf', + '.csh': 'application/x-csh', + '.css': 'text/css', + '.csv': 'text/csv', + '.doc': 'application/msword', + '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + '.eot': 'application/vnd.ms-fontobject', + '.epub': 'application/epub+zip', + '.gz': 'application/gzip', + '.gif': 'image/gif', + '.htm': 'text/html', + '.html': 'text/html', + '.ico': 'image/vnd.microsoft.icon', + '.ics': 'text/calendar', + '.jar': 'application/java-archive', + '.jpeg': 'image/jpeg', + '.jpg': 'image/jpeg', + '.js': 'text/javascript', + '.json': 'application/json', + '.jsonld': 'application/ld+json', + '.mid': 'audio/midi', + '.midi': 'audio/midi', + '.mjs': 'text/javascript', + '.mp3': 'audio/mpeg', + '.mp4': 'video/mp4', + '.mpeg': 'video/mpeg', + '.mpkg': 'application/vnd.apple.installer+xml', + '.odp': 'application/vnd.oasis.opendocument.presentation', + '.ods': 'application/vnd.oasis.opendocument.spreadsheet', + '.odt': 'application/vnd.oasis.opendocument.text', + '.oga': 'audio/ogg', + '.ogv': 'video/ogg', + '.ogx': 'application/ogg', + '.opus': 'audio/opus', + '.otf': 'font/otf', + '.png': 'image/png', + '.pdf': 'application/pdf', + '.php': 'application/x-httpd-php', + '.ppt': 'application/vnd.ms-powerpoint', + '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + '.rar': 'application/vnd.rar', + '.rtf': 'application/rtf', + '.sh': 'application/x-sh', + '.svg': 'image/svg+xml', + '.swf': 'application/x-shockwave-flash', + '.tar': 'application/x-tar', + '.tif': 'image/tiff', + '.tiff': 'image/tiff', + '.ts': 'video/mp2t', + '.ttf': 'font/ttf', + '.txt': 'text/plain', + '.vsd': 'application/vnd.visio', + '.wav': 'audio/wav', + '.weba': 'audio/webm', + '.webm': 'video/webm', + '.webp': 'image/webp', + '.woff': 'font/woff', + '.woff2': 'font/woff2', + '.xhtml': 'application/xhtml+xml', + '.xls': 'application/vnd.ms-excel', + '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + '.xml': 'application/xml', + '.xul': 'application/vnd.mozilla.xul+xml', + '.zip': 'application/zip', + '.3gp': 'video/3gpp', + '.3g2': 'video/3gpp2', + '.7z': 'application/x-7z-compressed' +}; + +export const languages = { + 'None': 'text', + 'HTML': 'html', + 'XML': 'xml', + 'C#': 'cs', + 'CSS': 'css', + 'JavaScript': 'js', + 'JavaScript React': 'jsx', + 'Arduino': 'arduino', + 'ASP.NET': 'aspnet', + 'AutoIt': 'autoit', + 'Bash': 'bash', + 'Batch': 'batch', + 'C': 'c', + 'C++': 'cpp', + 'Clojure': 'clojure', + 'cmake': 'cmake', + 'D': 'd', + 'Dart': 'dart', + 'Diff': 'diff', + 'EJS': 'ejs', + 'F#': 'fsharp', + 'Git': 'git', + 'Go': 'go', + 'Haskell': 'hs', + 'Http': 'http', + 'INI': 'ini', + 'Java': 'java', + 'JSON': 'json', + 'Kotlin': 'kt', + 'Less': 'less', + 'Lua': 'lua', + 'Makefile': 'makefile', + 'Markdown': 'md', + 'Objective C': 'objc', + 'Pascal': 'pascal', + 'Perl': 'perl', + 'PHP': 'php', + 'Powershell': 'powershell', + 'Pug': 'pug', + 'Q#': 'qs', + 'QML': 'qml', + 'Python': 'py', + 'R': 'r', + 'Razor C#': 'cshtml', + 'Ruby': 'rb', + 'Solution': 'sln', + 'SQL': 'sql', + 'TOML': 'toml', + 'TypeScript': 'ts', + 'TypeScript React': 'tsx', + 'V': 'v', + 'VB.NET': 'vbnet', + 'Vim': 'vim', + 'Visual Basic': 'vb', + 'WebAssembly': 'wasm', + 'YAML': 'yml' +}; \ No newline at end of file diff --git a/src/lib/generators.ts b/src/lib/generators.ts index 86a8bd7..ebc930b 100644 --- a/src/lib/generators.ts +++ b/src/lib/generators.ts @@ -1,19 +1,16 @@ -export default function random(length: number): string { - const charset = 'QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890'; - for (var i = 0, rand = ''; i < length; ++i) rand += charset[Math.floor(Math.random() * charset.length)]; +import { charsets } from './constants'; +const { plain: pcharset, zerowidth: zcharset, emoji: echarset } = charsets; +export default function plain(length: number): string { + for (var i = 0, rand = ''; i < length; ++i) rand += pcharset[Math.floor(Math.random() * pcharset.length)]; return rand; } export function zws(length: number): string { - const charset = ['\u200B', '\u2060', '\u200C', '\u200D']; - for (var i = 0, rand = ''; i < length; ++i) rand += charset[Math.floor(Math.random() * charset.length)]; + for (var i = 0, rand = ''; i < length; ++i) rand += zcharset[Math.floor(Math.random() * zcharset.length)]; return rand; } export function emoji(length: number): string { - var emojis = [ - '๐Ÿ˜„','๐Ÿ˜ƒ','๐Ÿ˜€','๐Ÿ˜Š','โ˜บ','๐Ÿ˜‰','๐Ÿ˜','๐Ÿ˜˜','๐Ÿ˜š','๐Ÿ˜—','๐Ÿ˜™','๐Ÿ˜œ','๐Ÿ˜','๐Ÿ˜›','๐Ÿ˜ณ','๐Ÿ˜','๐Ÿ˜”','๐Ÿ˜Œ','๐Ÿ˜’','๐Ÿ˜ž','๐Ÿ˜ฃ','๐Ÿ˜ข','๐Ÿ˜‚','๐Ÿ˜ญ','๐Ÿ˜ช','๐Ÿ˜ฅ','๐Ÿ˜ฐ','๐Ÿ˜…','๐Ÿ˜“','๐Ÿ˜ฉ','๐Ÿ˜ซ','๐Ÿ˜จ','๐Ÿ˜ฑ','๐Ÿ˜ ','๐Ÿ˜ก','๐Ÿ˜ค','๐Ÿ˜–','๐Ÿ˜†','๐Ÿ˜‹','๐Ÿ˜ท','๐Ÿ˜Ž','๐Ÿ˜ด','๐Ÿ˜ต','๐Ÿ˜ฒ','๐Ÿ˜Ÿ','๐Ÿ˜ฆ','๐Ÿ˜ง','๐Ÿ˜ˆ','๐Ÿ‘ฟ','๐Ÿ˜ฎ','๐Ÿ˜ฌ','๐Ÿ˜','๐Ÿ˜•','๐Ÿ˜ฏ','๐Ÿ˜ถ','๐Ÿ˜‡','๐Ÿ˜','๐Ÿ˜‘','๐Ÿ‘ฒ','๐Ÿ‘ณ','๐Ÿ‘ฎ','๐Ÿ‘ท','๐Ÿ’‚','๐Ÿ‘ถ','๐Ÿ‘ฆ','๐Ÿ‘ง','๐Ÿ‘จ','๐Ÿ‘ฉ','๐Ÿ‘ด','๐Ÿ‘ต','๐Ÿ‘ฑ','๐Ÿ‘ผ','๐Ÿ‘ธ','๐Ÿ˜บ','๐Ÿ˜ธ','๐Ÿ˜ป','๐Ÿ˜ฝ','๐Ÿ˜ผ','๐Ÿ™€','๐Ÿ˜ฟ','๐Ÿ˜น','๐Ÿ˜พ','๐Ÿ‘น','๐Ÿ‘บ','๐Ÿ™ˆ','๐Ÿ™‰','๐Ÿ™Š','๐Ÿ’€','๐Ÿ‘ฝ','๐Ÿ’ฉ','๐Ÿ”ฅ','โœจ','๐ŸŒŸ','๐Ÿ’ซ','๐Ÿ’ฅ','๐Ÿ’ข','๐Ÿ’ฆ','๐Ÿ’ง','๐Ÿ’ค','๐Ÿ’จ','๐Ÿ‘‚','๐Ÿ‘€','๐Ÿ‘ƒ','๐Ÿ‘…','๐Ÿ‘„','๐Ÿ‘','๐Ÿ‘Ž','๐Ÿ‘Œ','๐Ÿ‘Š','โœŠ','โœŒ','๐Ÿ‘‹','โœ‹','๐Ÿ‘','๐Ÿ‘†','๐Ÿ‘‡','๐Ÿ‘‰','๐Ÿ‘ˆ','๐Ÿ™Œ','๐Ÿ™','โ˜','๐Ÿ‘','๐Ÿ’ช','๐Ÿšถ','๐Ÿƒ','๐Ÿ’ƒ','๐Ÿ‘ซ','๐Ÿ‘ช','๐Ÿ‘ฌ','๐Ÿ‘ญ','๐Ÿ’','๐Ÿ’‘','๐Ÿ‘ฏ','๐Ÿ™†','๐Ÿ™…','๐Ÿ’','๐Ÿ™‹','๐Ÿ’†','๐Ÿ’‡','๐Ÿ’…','๐Ÿ‘ฐ','๐Ÿ™Ž','๐Ÿ™','๐Ÿ™‡','๐ŸŽฉ','๐Ÿ‘‘','๐Ÿ‘’','๐Ÿ‘Ÿ','๐Ÿ‘ž','๐Ÿ‘ก','๐Ÿ‘ ','๐Ÿ‘ข','๐Ÿ‘•','๐Ÿ‘”','๐Ÿ‘š','๐Ÿ‘—','๐ŸŽฝ','๐Ÿ‘–','๐Ÿ‘˜','๐Ÿ‘™','๐Ÿ’ผ','๐Ÿ‘œ','๐Ÿ‘','๐Ÿ‘›','๐Ÿ‘“','๐ŸŽ€','๐ŸŒ‚','๐Ÿ’„','๐Ÿ’›','๐Ÿ’™','๐Ÿ’œ','๐Ÿ’š','โค','๐Ÿ’”','๐Ÿ’—','๐Ÿ’“','๐Ÿ’•','๐Ÿ’–','๐Ÿ’ž','๐Ÿ’˜','๐Ÿ’Œ','๐Ÿ’‹','๐Ÿ’','๐Ÿ’Ž','๐Ÿ‘ค','๐Ÿ‘ฅ','๐Ÿ’ฌ','๐Ÿ‘ฃ','๐Ÿ’ญ','๐Ÿถ','๐Ÿบ','๐Ÿฑ','๐Ÿญ','๐Ÿน','๐Ÿฐ','๐Ÿธ','๐Ÿฏ','๐Ÿจ','๐Ÿป','๐Ÿท','๐Ÿฝ','๐Ÿฎ','๐Ÿ—','๐Ÿต','๐Ÿ’','๐Ÿด','๐Ÿ‘','๐Ÿ˜','๐Ÿผ','๐Ÿง','๐Ÿฆ','๐Ÿค','๐Ÿฅ','๐Ÿฃ','๐Ÿ”','๐Ÿ','๐Ÿข','๐Ÿ›','๐Ÿ','๐Ÿœ','๐Ÿž','๐ŸŒ','๐Ÿ™','๐Ÿš','๐Ÿ ','๐ŸŸ','๐Ÿฌ','๐Ÿณ','๐Ÿ‹','๐Ÿ„','๐Ÿ','๐Ÿ€','๐Ÿƒ','๐Ÿ…','๐Ÿ‡','๐Ÿ‰','๐ŸŽ','๐Ÿ','๐Ÿ“','๐Ÿ•','๐Ÿ–','๐Ÿ','๐Ÿ‚','๐Ÿฒ','๐Ÿก','๐ŸŠ','๐Ÿซ','๐Ÿช','๐Ÿ†','๐Ÿˆ','๐Ÿฉ','๐Ÿพ','๐Ÿ’','๐ŸŒธ','๐ŸŒท','๐Ÿ€','๐ŸŒน','๐ŸŒป','๐ŸŒบ','๐Ÿ','๐Ÿƒ','๐Ÿ‚','๐ŸŒฟ','๐ŸŒพ','๐Ÿ„','๐ŸŒต','๐ŸŒด','๐ŸŒฒ','๐ŸŒณ','๐ŸŒฐ','๐ŸŒฑ','๐ŸŒผ','๐ŸŒ','๐ŸŒž','๐ŸŒ','๐ŸŒš','๐ŸŒ‘','๐ŸŒ’','๐ŸŒ“','๐ŸŒ”','๐ŸŒ•','๐ŸŒ–','๐ŸŒ—','๐ŸŒ˜','๐ŸŒœ','๐ŸŒ›','๐ŸŒ™','๐ŸŒ','๐ŸŒŽ','๐ŸŒ','๐ŸŒ‹','๐ŸŒŒ','๐ŸŒ ','โญ','โ˜€','โ›…','โ˜','โšก','โ˜”','โ„','โ›„','๐ŸŒ€','๐ŸŒ','๐ŸŒˆ','๐ŸŒŠ','๐ŸŽ','๐Ÿ’','๐ŸŽŽ','๐ŸŽ’','๐ŸŽ“','๐ŸŽ','๐ŸŽ†','๐ŸŽ‡','๐ŸŽ','๐ŸŽ‘','๐ŸŽƒ','๐Ÿ‘ป','๐ŸŽ…','๐ŸŽ„','๐ŸŽ','๐ŸŽ‹','๐ŸŽ‰','๐ŸŽŠ','๐ŸŽˆ','๐ŸŽŒ','๐Ÿ”ฎ','๐ŸŽฅ','๐Ÿ“ท','๐Ÿ“น','๐Ÿ“ผ','๐Ÿ’ฟ','๐Ÿ“€','๐Ÿ’ฝ','๐Ÿ’พ','๐Ÿ’ป','๐Ÿ“ฑ','โ˜Ž','๐Ÿ“ž','๐Ÿ“Ÿ','๐Ÿ“ ','๐Ÿ“ก','๐Ÿ“บ','๐Ÿ“ป','๐Ÿ”Š','๐Ÿ”‰','๐Ÿ”ˆ','๐Ÿ”‡','๐Ÿ””','๐Ÿ”•','๐Ÿ“ข','๐Ÿ“ฃ','โณ','โŒ›','โฐ','โŒš','๐Ÿ”“','๐Ÿ”’','๐Ÿ”','๐Ÿ”','๐Ÿ”‘','๐Ÿ”Ž','๐Ÿ’ก','๐Ÿ”ฆ','๐Ÿ”†','๐Ÿ”…','๐Ÿ”Œ','๐Ÿ”‹','๐Ÿ”','๐Ÿ›','๐Ÿ›€','๐Ÿšฟ','๐Ÿšฝ','๐Ÿ”ง','๐Ÿ”ฉ','๐Ÿ”จ','๐Ÿšช','๐Ÿšฌ','๐Ÿ’ฃ','๐Ÿ”ซ','๐Ÿ”ช','๐Ÿ’Š','๐Ÿ’‰','๐Ÿ’ฐ','๐Ÿ’ด','๐Ÿ’ต','๐Ÿ’ท','๐Ÿ’ถ','๐Ÿ’ณ','๐Ÿ’ธ','๐Ÿ“ฒ','๐Ÿ“ง','๐Ÿ“ฅ','๐Ÿ“ค','โœ‰','๐Ÿ“ฉ','๐Ÿ“จ','๐Ÿ“ฏ','๐Ÿ“ซ','๐Ÿ“ช','๐Ÿ“ฌ','๐Ÿ“ญ','๐Ÿ“ฎ','๐Ÿ“ฆ','๐Ÿ“','๐Ÿ“„','๐Ÿ“ƒ','๐Ÿ“‘','๐Ÿ“Š','๐Ÿ“ˆ','๐Ÿ“‰','๐Ÿ“œ','๐Ÿ“‹','๐Ÿ“…','๐Ÿ“†','๐Ÿ“‡','๐Ÿ“','๐Ÿ“‚','โœ‚','๐Ÿ“Œ','๐Ÿ“Ž','โœ’','โœ','๐Ÿ“','๐Ÿ“','๐Ÿ“•','๐Ÿ“—','๐Ÿ“˜','๐Ÿ“™','๐Ÿ““','๐Ÿ“”','๐Ÿ“’','๐Ÿ“š','๐Ÿ“–','๐Ÿ”–','๐Ÿ“›','๐Ÿ”ฌ','๐Ÿ”ญ','๐Ÿ“ฐ','๐ŸŽจ','๐ŸŽฌ','๐ŸŽค','๐ŸŽง','๐ŸŽผ','๐ŸŽต','๐ŸŽถ','๐ŸŽน','๐ŸŽป','๐ŸŽบ','๐ŸŽท','๐ŸŽธ','๐Ÿ‘พ','๐ŸŽฎ','๐Ÿƒ','๐ŸŽด','๐Ÿ€„','๐ŸŽฒ','๐ŸŽฏ','๐Ÿˆ','๐Ÿ€','โšฝ','โšพ','๐ŸŽพ','๐ŸŽฑ','๐Ÿ‰','๐ŸŽณ','โ›ณ','๐Ÿšต','๐Ÿšด','๐Ÿ','๐Ÿ‡','๐Ÿ†','๐ŸŽฟ','๐Ÿ‚','๐ŸŠ','๐Ÿ„','๐ŸŽฃ','โ˜•','๐Ÿต','๐Ÿถ','๐Ÿผ','๐Ÿบ','๐Ÿป','๐Ÿธ','๐Ÿน','๐Ÿท','๐Ÿด','๐Ÿ•','๐Ÿ”','๐ŸŸ','๐Ÿ—','๐Ÿ–','๐Ÿ','๐Ÿ›','๐Ÿค','๐Ÿฑ','๐Ÿฃ','๐Ÿฅ','๐Ÿ™','๐Ÿ˜','๐Ÿš','๐Ÿœ','๐Ÿฒ','๐Ÿข','๐Ÿก','๐Ÿณ','๐Ÿž','๐Ÿฉ','๐Ÿฎ','๐Ÿฆ','๐Ÿจ','๐Ÿง','๐ŸŽ‚','๐Ÿฐ','๐Ÿช','๐Ÿซ','๐Ÿฌ','๐Ÿญ','๐Ÿฏ','๐ŸŽ','๐Ÿ','๐ŸŠ','๐Ÿ‹','๐Ÿ’','๐Ÿ‡','๐Ÿ‰','๐Ÿ“','๐Ÿ‘','๐Ÿˆ','๐ŸŒ','๐Ÿ','๐Ÿ','๐Ÿ ','๐Ÿ†','๐Ÿ…','๐ŸŒฝ','๐Ÿ ','๐Ÿก','๐Ÿซ','๐Ÿข','๐Ÿฃ','๐Ÿฅ','๐Ÿฆ','๐Ÿช','๐Ÿฉ','๐Ÿจ','๐Ÿ’’','โ›ช','๐Ÿฌ','๐Ÿค','๐ŸŒ‡','๐ŸŒ†','๐Ÿฏ','๐Ÿฐ','โ›บ','๐Ÿญ','๐Ÿ—ผ','๐Ÿ—พ','๐Ÿ—ป','๐ŸŒ„','๐ŸŒ…','๐ŸŒƒ','๐Ÿ—ฝ','๐ŸŒ‰','๐ŸŽ ','๐ŸŽก','โ›ฒ','๐ŸŽข','๐Ÿšข','โ›ต','๐Ÿšค','๐Ÿšฃ','โš“','๐Ÿš€','โœˆ','๐Ÿ’บ','๐Ÿš','๐Ÿš‚','๐ŸšŠ','๐Ÿš‰','๐Ÿšž','๐Ÿš†','๐Ÿš„','๐Ÿš…','๐Ÿšˆ','๐Ÿš‡','๐Ÿš','๐Ÿš‹','๐Ÿšƒ','๐ŸšŽ','๐ŸšŒ','๐Ÿš','๐Ÿš™','๐Ÿš˜','๐Ÿš—','๐Ÿš•','๐Ÿš–','๐Ÿš›','๐Ÿšš','๐Ÿšจ','๐Ÿš“','๐Ÿš”','๐Ÿš’','๐Ÿš‘','๐Ÿš','๐Ÿšฒ','๐Ÿšก','๐ŸšŸ','๐Ÿš ','๐Ÿšœ','๐Ÿ’ˆ','๐Ÿš','๐ŸŽซ','๐Ÿšฆ','๐Ÿšฅ','โš ','๐Ÿšง','๐Ÿ”ฐ','โ›ฝ','๐Ÿฎ','๐ŸŽฐ','โ™จ','๐Ÿ—ฟ','๐ŸŽช','๐ŸŽญ','๐Ÿ“','๐Ÿšฉ','โฌ†','โฌ‡','โฌ…','โžก','๐Ÿ” ','๐Ÿ”ก','๐Ÿ”ค','โ†—','โ†–','โ†˜','โ†™','โ†”','โ†•','๐Ÿ”„','โ—€','โ–ถ','๐Ÿ”ผ','๐Ÿ”ฝ','โ†ฉ','โ†ช','โ„น','โช','โฉ','โซ','โฌ','โคต','โคด','๐Ÿ†—','๐Ÿ”€','๐Ÿ”','๐Ÿ”‚','๐Ÿ†•','๐Ÿ†™','๐Ÿ†’','๐Ÿ†“','๐Ÿ†–','๐Ÿ“ถ','๐ŸŽฆ','๐Ÿˆ','๐Ÿˆฏ','๐Ÿˆณ','๐Ÿˆต','๐Ÿˆด','๐Ÿˆฒ','๐Ÿ‰','๐Ÿˆน','๐Ÿˆบ','๐Ÿˆถ','๐Ÿˆš','๐Ÿšป','๐Ÿšน','๐Ÿšบ','๐Ÿšผ','๐Ÿšพ','๐Ÿšฐ','๐Ÿšฎ','๐Ÿ…ฟ','โ™ฟ','๐Ÿšญ','๐Ÿˆท','๐Ÿˆธ','๐Ÿˆ‚','โ“‚','๐Ÿ›‚','๐Ÿ›„','๐Ÿ›…','๐Ÿ›ƒ','๐Ÿ‰‘','ใŠ™','ใŠ—','๐Ÿ†‘','๐Ÿ†˜','๐Ÿ†”','๐Ÿšซ','๐Ÿ”ž','๐Ÿ“ต','๐Ÿšฏ','๐Ÿšฑ','๐Ÿšณ','๐Ÿšท','๐Ÿšธ','โ›”','โœณ','โ‡','โŽ','โœ…','โœด','๐Ÿ’Ÿ','๐Ÿ†š','๐Ÿ“ณ','๐Ÿ“ด','๐Ÿ…ฐ','๐Ÿ…ฑ','๐Ÿ†Ž','๐Ÿ…พ','๐Ÿ’ ','โžฟ','โ™ป','โ™ˆ','โ™‰','โ™Š','โ™‹','โ™Œ','โ™','โ™Ž','โ™','โ™','โ™‘','โ™’','โ™“','โ›Ž','๐Ÿ”ฏ','๐Ÿง','๐Ÿ’น','๐Ÿ’ฒ','๐Ÿ’ฑ','ยฉ','ยฎ','โ„ข','ใ€ฝ','ใ€ฐ','๐Ÿ”','๐Ÿ”š','๐Ÿ”™','๐Ÿ”›','๐Ÿ”œ','โŒ','โญ•','โ—','โ“','โ•','โ”','๐Ÿ”ƒ','๐Ÿ•›','๐Ÿ•ง','๐Ÿ•','๐Ÿ•œ','๐Ÿ•‘','๐Ÿ•','๐Ÿ•’','๐Ÿ•ž','๐Ÿ•“','๐Ÿ•Ÿ','๐Ÿ•”','๐Ÿ• ','๐Ÿ••','๐Ÿ•–','๐Ÿ•—','๐Ÿ•˜','๐Ÿ•™','๐Ÿ•š','๐Ÿ•ก','๐Ÿ•ข','๐Ÿ•ฃ','๐Ÿ•ค','๐Ÿ•ฅ','๐Ÿ•ฆ','โœ–','โž•','โž–','โž—','โ™ ','โ™ฅ','โ™ฃ','โ™ฆ','๐Ÿ’ฎ','๐Ÿ’ฏ','โœ”','โ˜‘','๐Ÿ”˜','๐Ÿ”—','โžฐ','๐Ÿ”ฑ','๐Ÿ”ฒ','๐Ÿ”ณ','โ—ผ','โ—ป','โ—พ','โ—ฝ','โ–ช','โ–ซ','๐Ÿ”บ','โฌœ','โฌ›','โšซ','โšช','๐Ÿ”ด','๐Ÿ”ต','๐Ÿ”ป','๐Ÿ”ถ','๐Ÿ”ท','๐Ÿ”ธ','๐Ÿ”น' - ]; - for (var i = 0, rand = ''; i < length; ++i) rand += emojis[Math.floor(Math.random() * emojis.length)]; + for (var i = 0, rand = ''; i < length; ++i) rand += echarset[Math.floor(Math.random() * echarset.length)]; return rand; } \ No newline at end of file diff --git a/src/lib/languages.ts b/src/lib/languages.ts deleted file mode 100644 index f0eef4a..0000000 --- a/src/lib/languages.ts +++ /dev/null @@ -1,60 +0,0 @@ -const languages = { - 'None': 'text', - 'HTML': 'html', - 'XML': 'xml', - 'C#': 'cs', - 'CSS': 'css', - 'JavaScript': 'js', - 'JavaScript React': 'jsx', - 'Arduino': 'arduino', - 'ASP.NET': 'aspnet', - 'AutoIt': 'autoit', - 'Bash': 'bash', - 'Batch': 'batch', - 'C': 'c', - 'C++': 'cpp', - 'Clojure': 'clojure', - 'cmake': 'cmake', - 'D': 'd', - 'Dart': 'dart', - 'Diff': 'diff', - 'EJS': 'ejs', - 'F#': 'fsharp', - 'Git': 'git', - 'Go': 'go', - 'Haskell': 'hs', - 'Http': 'http', - 'INI': 'ini', - 'Java': 'java', - 'JSON': 'json', - 'Kotlin': 'kt', - 'Less': 'less', - 'Lua': 'lua', - 'Makefile': 'makefile', - 'Markdown': 'md', - 'Objective C': 'objc', - 'Pascal': 'pascal', - 'Perl': 'perl', - 'PHP': 'php', - 'Powershell': 'powershell', - 'Pug': 'pug', - 'Q#': 'qs', - 'QML': 'qml', - 'Python': 'py', - 'R': 'r', - 'Razor C#': 'cshtml', - 'Ruby': 'rb', - 'Solution': 'sln', - 'SQL': 'sql', - 'TOML': 'toml', - 'TypeScript': 'ts', - 'TypeScript React': 'tsx', - 'V': 'v', - 'VB.NET': 'vbnet', - 'Vim': 'vim', - 'Visual Basic': 'vb', - 'WebAssembly': 'wasm', - 'YAML': 'yml' -}; - -export default languages; \ No newline at end of file diff --git a/src/lib/mimetypes.ts b/src/lib/mimetypes.ts deleted file mode 100644 index 0303590..0000000 --- a/src/lib/mimetypes.ts +++ /dev/null @@ -1,80 +0,0 @@ -const mimetypes = { - '.aac': 'audio/aac', - '.abw': 'application/x-abiword', - '.arc': 'application/x-freearc', - '.avi': 'video/x-msvideo', - '.azw': 'application/vnd.amazon.ebook', - '.bin': 'application/octet-stream', - '.bmp': 'image/bmp', - '.bz': 'application/x-bzip', - '.bz2': 'application/x-bzip2', - '.cda': 'application/x-cdf', - '.csh': 'application/x-csh', - '.css': 'text/css', - '.csv': 'text/csv', - '.doc': 'application/msword', - '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - '.eot': 'application/vnd.ms-fontobject', - '.epub': 'application/epub+zip', - '.gz': 'application/gzip', - '.gif': 'image/gif', - '.htm': 'text/html', - '.html': 'text/html', - '.ico': 'image/vnd.microsoft.icon', - '.ics': 'text/calendar', - '.jar': 'application/java-archive', - '.jpeg': 'image/jpeg', - '.jpg': 'image/jpeg', - '.js': 'text/javascript', - '.json': 'application/json', - '.jsonld': 'application/ld+json', - '.mid': 'audio/midi', - '.midi': 'audio/midi', - '.mjs': 'text/javascript', - '.mp3': 'audio/mpeg', - '.mp4': 'video/mp4', - '.mpeg': 'video/mpeg', - '.mpkg': 'application/vnd.apple.installer+xml', - '.odp': 'application/vnd.oasis.opendocument.presentation', - '.ods': 'application/vnd.oasis.opendocument.spreadsheet', - '.odt': 'application/vnd.oasis.opendocument.text', - '.oga': 'audio/ogg', - '.ogv': 'video/ogg', - '.ogx': 'application/ogg', - '.opus': 'audio/opus', - '.otf': 'font/otf', - '.png': 'image/png', - '.pdf': 'application/pdf', - '.php': 'application/x-httpd-php', - '.ppt': 'application/vnd.ms-powerpoint', - '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - '.rar': 'application/vnd.rar', - '.rtf': 'application/rtf', - '.sh': 'application/x-sh', - '.svg': 'image/svg+xml', - '.swf': 'application/x-shockwave-flash', - '.tar': 'application/x-tar', - '.tif': 'image/tiff', - '.tiff': 'image/tiff', - '.ts': 'video/mp2t', - '.ttf': 'font/ttf', - '.txt': 'text/plain', - '.vsd': 'application/vnd.visio', - '.wav': 'audio/wav', - '.weba': 'audio/webm', - '.webm': 'video/webm', - '.webp': 'image/webp', - '.woff': 'font/woff', - '.woff2': 'font/woff2', - '.xhtml': 'application/xhtml+xml', - '.xls': 'application/vnd.ms-excel', - '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - '.xml': 'application/xml', - '.xul': 'application/vnd.mozilla.xul+xml', - '.zip': 'application/zip', - '.3gp': 'video/3gpp', - '.3g2': 'video/3gpp2', - '.7z': 'application/x-7z-compressed' -}; - -export default mimetypes; \ No newline at end of file diff --git a/src/pages/[...id].tsx b/src/pages/[...id].tsx index 6f54338..147a217 100644 --- a/src/pages/[...id].tsx +++ b/src/pages/[...id].tsx @@ -2,7 +2,7 @@ import { Box, Button, Center, Heading, Input, useColorModeValue, useToast, VStac import FileViewer from 'components/FileViewer'; import config from 'lib/config'; import useFetch from 'lib/hooks/useFetch'; -import languages from 'lib/languages'; +import { languages } from 'lib/constants'; import prisma from 'lib/prisma'; import { bytesToHr } from 'lib/utils'; import { GetServerSideProps } from 'next'; diff --git a/src/pages/_error.tsx b/src/pages/_error.tsx index 01ba845..3e46972 100644 --- a/src/pages/_error.tsx +++ b/src/pages/_error.tsx @@ -32,10 +32,11 @@ export default function Error({ code }) { '504': 'Gateway Timeout', '505': 'HTTP Version Not Supported' }; + this.title = `${code} ${errors[String(code)]}` return (
- {code}: {errors[String(code)]} + {code} {errors[String(code)]} diff --git a/src/pages/api/upload.ts b/src/pages/api/upload.ts index 5ad7756..163b63a 100644 --- a/src/pages/api/upload.ts +++ b/src/pages/api/upload.ts @@ -3,7 +3,7 @@ import cfg from 'lib/config'; import generate, { emoji, zws } from 'lib/generators'; import { info } from 'lib/logger'; import { NextApiReq, NextApiRes, withVoid } from 'lib/middleware/withVoid'; -import mimetypes from 'lib/mimetypes'; +import { mimetypes } from 'lib/constants'; import prisma from 'lib/prisma'; import multer from 'multer'; import { join } from 'path'; diff --git a/twilight/commands/upload.ts b/twilight/commands/upload.ts index 008e9b7..14bb24b 100644 --- a/twilight/commands/upload.ts +++ b/twilight/commands/upload.ts @@ -6,7 +6,7 @@ import url from 'url'; import config from '../../src/lib/config'; import generate, { emoji, zws } from '../../src/lib/generators'; import { info, error } from '../../src/lib/logger'; -import mimetypes from '../../src/lib/mimetypes'; +import { mimetypes } from '../../src/lib/constants'; import prisma from '../../src/lib/prisma'; import schemify from 'url-schemify';