Loading...
More TypeScript Posts
class DFS{public dfs(G: DFSGraph, startVert: number){let visited: boolean[] = Array<boolean>();// Pre-populate array:for(let i = 0; i < G.size; i++){visited.push(false);}let s: number[] = new Array();visited[startVert] = true;s.push(startVert);while(s.length > 0){const v = s.pop();for(let adjV of G.adj[v]){if(!visited[adjV]){visited[adjV] = true;s.push(adjV);}}}}public dfsRecursive(G: DFSGraph, startVert: number){let visited: boolean[] = Array<boolean>();// Pre-populate array:for(let i = 0; i < G.size; i++){visited.push(false);}this.dfsAux(G, startVert, visited);}private dfsAux(G: DFSGraph, v: number, visited: boolean[]){visited[v] = true;for(let adjV of G.adj[v]){if(!visited[adjV]){// this.foo(); // Something can happen before the visit.this.dfsAux(G, adjV, visited);// this.bar(); // Something can happen after the visit.}}}}
const langToConfig = {'javascript': {image: '',cmd: ['']},'php': {image: '',cmd: ['']},}
const getFollowers = async (req: Request, res: Response) => {try {const username = req.params.username || '';const user = await User.findUnique({where: { username },include: { followedBy: true },});if (!user) {res.status(404).json({error: 'User could not be found',});return;}const followers = user.followedBy.map(followedBy => {return {followerId: followedBy.followerId,};});const followersCount = followers.length;res.json({ followersCount: followersCount, followers });} catch (error) {console.error('getFollowers() error: ', error);res.status(500).json({error: `There was an error fetching followers for user with username "${req.params.username}", please try again later`,});}};const getFollowing = async (req: Request, res: Response) => {try {const username = req.params.username || '';const user = await User.findUnique({where: { username },include: { following: true },});if (!user) {res.status(404).json({error: 'User could not be found',});return;}const following = user.following.map(following => {return {followingId: following.followingId,};});const followingCount = following.length;res.json({ followingCount: followingCount, following });} catch (error) {console.error('getFollowing() error: ', error);res.status(500).json({error: `There was an error fetching who is following "${req.params.username}", please try again later`,});}};const followUser = async (req: Request, res: Response) => {try {const username = req.params.username || '';const user = await User.findUnique({where: { username },});if (!user) {res.status(404).json({error: 'User could not be found',});return;}// dont allow a user to follow themselvesif (req.user.id === user.id) {res.status(400).json({ error: 'You cannot follow yourself' });return;}//check if a follow relationship already existsconst followrelationship = await prisma.follows.findUnique({where: {followerId_followingId: {followerId: req.user.id,followingId: user.id,},},});// check if the follow relationship already existsif (followrelationship) {res.status(400).json({ error: 'You are already following this user' });return;}// create the follow relationshipconst follow = await prisma.follows.create({data: {followerId: req.user.id,followingId: user.id,},});res.json({ follow });} catch (error) {console.error('followUser() error: ', error);res.status(500).json({error: `There was an error following "${req.params.username}", please try again later`,});}};const unfollowUser = async (req: Request, res: Response) => {try {const username = req.params.username || '';const user = await User.findUnique({where: { username },});if (!user) {res.status(404).json({error: 'User could not be found',});return;}// dont allow a user to unfollow themselvesif (req.user.id === user.id) {res.status(400).json({ error: 'You cannot unfollow yourself' });return;}//check if a follow relationship already existsconst followrelationship = await prisma.follows.findUnique({where: {followerId_followingId: {followerId: req.user.id,followingId: user.id,},},});// check if the follow relationship already existsif (!followrelationship) {res.status(400).json({ error: 'You are not following this user' });return;}// delete the follow relationshipconst follow = await prisma.follows.delete({where: {followerId_followingId: {followerId: req.user.id,followingId: user.id,},},});res.json({ follow });} catch (error) {console.error('unfollowUser() error: ', error);res.status(500).json({error: `There was an error unfollowing "${req.params.username}", please try again later`,});}};
interface Task {id: number;title: string;completed: boolean;}class TaskManager {private tasks: Task[] = [];constructor() {}addTask(title: string) {const taskId = this.tasks.length + 1;const task: Task = {id: taskId,title,completed: false,};this.tasks.push(task);}markTaskAsComplete(taskId: number) {const task = this.tasks.find((task) => task.id === taskId);if (task) {task.completed = true;}}markTaskAsIncomplete(taskId: number) {const task = this.tasks.find((task) => task.id === taskId);if (task) {task.completed = false;}}listTasks() {console.log('Tasks:');this.tasks.forEach((task) => {console.log(`${task.id}. [${task.completed ? 'X' : ' '}] ${task.title}`);});}}// Example usage:const taskManager = new TaskManager();taskManager.addTask('Buy groceries');taskManager.addTask('Pay bills');taskManager.addTask('Clean the house');taskManager.listTasks();// Output:// Tasks:// 1. [ ] Buy groceries// 2. [ ] Pay bills// 3. [ ] Clean the house
import { useState, useEffect, useRef } from "react";// Usagefunction App() {// State value and setter for our exampleconst [count, setCount] = useState(0);// Get the previous value (was passed into hook on last render)const prevCount = usePrevious(count);// Display both current and previous count valuereturn (<div><h1>Now: {count}, before: {prevCount}</h1><button onClick={() => setCount(count + 1)}>Increment</button></div>);}// Hookfunction usePrevious(value) {// The ref object is a generic container whose current property is mutable ...// ... and can hold any value, similar to an instance property on a classconst ref = useRef();// Store current value in refuseEffect(() => {ref.current = value;}, [value]); // Only re-run if value changes// Return previous value (happens before update in useEffect above)return ref.current;}
// Print Hello, World!console.log("Hello, World!");