refactor(starter): upgrade and move to typescript

This commit is contained in:
Alexander Shelepenok
2022-04-16 14:25:55 +00:00
parent 67ebabbaac
commit 50a99f57f7
156 changed files with 5350 additions and 7173 deletions

View File

@@ -2,20 +2,19 @@ import { ICONS } from "@/constants";
import { getIcon } from "@/utils";
test("getIcon", () => {
expect(getIcon("rss")).toEqual(ICONS.RSS);
expect(getIcon("line")).toEqual(ICONS.LINE);
expect(getIcon("github")).toBe(ICONS.GITHUB);
expect(getIcon("email")).toEqual(ICONS.EMAIL);
expect(getIcon("weibo")).toEqual(ICONS.WEIBO);
expect(getIcon("twitter")).toBe(ICONS.TWITTER);
expect(getIcon("gitlab")).toEqual(ICONS.GITLAB);
expect(getIcon("medium")).toEqual(ICONS.MEDIUM);
expect(getIcon("codepen")).toEqual(ICONS.CODEPEN);
expect(getIcon("youtube")).toEqual(ICONS.YOUTUBE);
expect(getIcon("vkontakte")).toBe(ICONS.VKONTAKTE);
expect(getIcon("facebook")).toEqual(ICONS.FACEBOOK);
expect(getIcon("telegram")).toEqual(ICONS.TELEGRAM);
expect(getIcon("linkedin")).toEqual(ICONS.LINKEDIN);
expect(getIcon("instagram")).toEqual(ICONS.INSTAGRAM);
expect(getIcon("soundcloud")).toEqual(ICONS.SOUNDCLOUD);
expect(getIcon("rss")).toEqual(ICONS.rss);
expect(getIcon("line")).toEqual(ICONS.line);
expect(getIcon("github")).toBe(ICONS.github);
expect(getIcon("email")).toEqual(ICONS.email);
expect(getIcon("weibo")).toEqual(ICONS.weibo);
expect(getIcon("twitter")).toBe(ICONS.twitter);
expect(getIcon("gitlab")).toEqual(ICONS.gitlab);
expect(getIcon("medium")).toEqual(ICONS.medium);
expect(getIcon("codepen")).toEqual(ICONS.codepen);
expect(getIcon("youtube")).toEqual(ICONS.youtube);
expect(getIcon("facebook")).toEqual(ICONS.facebook);
expect(getIcon("telegram")).toEqual(ICONS.telegram);
expect(getIcon("linkedin")).toEqual(ICONS.linkedin);
expect(getIcon("instagram")).toEqual(ICONS.instagram);
expect(getIcon("soundcloud")).toEqual(ICONS.soundcloud);
});

View File

@@ -1,63 +1,5 @@
import { ICONS } from "../constants";
import { ICONS } from "@/constants";
const getIcon = (name: string) => {
let icon;
switch (name) {
case "twitter":
icon = ICONS.TWITTER;
break;
case "github":
icon = ICONS.GITHUB;
break;
case "vkontakte":
icon = ICONS.VKONTAKTE;
break;
case "telegram":
icon = ICONS.TELEGRAM;
break;
case "email":
icon = ICONS.EMAIL;
break;
case "rss":
icon = ICONS.RSS;
break;
case "linkedin":
icon = ICONS.LINKEDIN;
break;
case "instagram":
icon = ICONS.INSTAGRAM;
break;
case "line":
icon = ICONS.LINE;
break;
case "facebook":
icon = ICONS.FACEBOOK;
break;
case "gitlab":
icon = ICONS.GITLAB;
break;
case "weibo":
icon = ICONS.WEIBO;
break;
case "codepen":
icon = ICONS.CODEPEN;
break;
case "youtube":
icon = ICONS.YOUTUBE;
break;
case "soundcloud":
icon = ICONS.SOUNDCLOUD;
break;
case "medium":
icon = ICONS.MEDIUM;
break;
default:
icon = {};
break;
}
return icon;
};
const getIcon = (name: keyof typeof ICONS) => ICONS[name] || {};
export default getIcon;

View File

@@ -1,6 +1,10 @@
const toKebabCase = (str: string = ""): string => str.toLowerCase()
.replace(/[^\w\s]/gi, "")
.split(" ").join("-")
.split("_").join("-");
const toKebabCase = (str: string = ""): string =>
str
.toLowerCase()
.replace(/[^\w\s]/gi, "")
.split(" ")
.join("-")
.split("_")
.join("-");
export default toKebabCase;