UNPKG

github-automated-repos

Version:

A powerful React library that automatically displays and updates your GitHub repositories on your portfolio or personal website. Use simple React hooks to sync your GitHub projects and keep your developer portfolio always up to date.

29 lines (28 loc) 1.52 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { fetchGitHubAPI } from '../api/fetchGitHubAPI'; import { handleBanner } from './handleBanner'; export const handleRepository = (gitHubUsername, keyWordDeploy) => __awaiter(void 0, void 0, void 0, function* () { const jsonData = yield fetchGitHubAPI(gitHubUsername); const dataFilter = jsonData.filter((item) => item.topics.includes(keyWordDeploy)); const repositories = yield Promise.all(dataFilter.map((item) => __awaiter(void 0, void 0, void 0, function* () { const banner = yield handleBanner(gitHubUsername, item.name); return { id: item.id, name: item.name, html_url: item.html_url, description: item.description, topics: item.topics, homepage: item.homepage, banner, }; }))); return repositories; });