Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_1/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
function greet(name) {
return "Hello, " + name + "!";
}

let message = greet("Tanvi Sadashiv");
console.log(message);
10 changes: 10 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_1/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
const greet = (name) => {
return "Hello, " + name + "!";
};

const add = (a, b) => {
return a + b;
};

console.log(greet("Tanvi Sadashiv"));
console.log("Sum: " + add(10, 5));
5 changes: 5 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_1/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
let numbers = [1, 2, 3, 4, 5];

let doubled = numbers.map(num => num * 2);

console.log(doubled);
3 changes: 3 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_2/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
setTimeout(() => {
console.log("Hello after 2 seconds!");
}, 2000);
11 changes: 11 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_2/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
let count = 0;

let timer = setInterval(() => {
console.log("Tick...");
count++;

if (count === 5) {
clearInterval(timer);
console.log("Stopped!");
}
}, 1000);
11 changes: 11 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_2/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
let count = 5;

let timer = setInterval(() => {
console.log(count);
count--;

if (count < 0) {
console.log("Time's up!");
clearInterval(timer);
}
}, 1000);
20 changes: 20 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_3/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
function divide(a, b) {
if (b === 0) {
throw new Error("Cannot divide by zero!");
}
return a / b;
}

try {
let result = divide(10, 2);
console.log("Result: " + result);
} catch (error) {
console.log("Error: " + error.message);
}

try {
let result = divide(10, 0);
console.log("Result: " + result);
} catch (error) {
console.log("Error: " + error.message);
}
7 changes: 7 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_3/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
try {
JSON.parse("not a number");
} catch (error) {
console.log("Invalid JSON!");
} finally {
console.log("Parsing attempt done.");
}
27 changes: 27 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_3/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
function checkAge(age) {
if (age <= 0) {
throw new Error("Age must be a positive number!");
}
if (age < 18) {
throw new Error("Too young! Must be 18 or above.");
}
console.log("Access granted!");
}

try {
checkAge(25);
} catch (error) {
console.log("Error: " + error.message);
}

try {
checkAge(15);
} catch (error) {
console.log("Error: " + error.message);
}

try {
checkAge(-1);
} catch (error) {
console.log("Error: " + error.message);
}
19 changes: 19 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_4/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
let success = true;

let myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
if (success) {
resolve("Operation Successful!");
} else {
reject("Operation Failed!");
}
}, 2000);
});

myPromise
.then(result => {
console.log(result);
})
.catch(error => {
console.log(error);
});
27 changes: 27 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_4/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
let success = true;

let myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
if (success) {
resolve("Operation Successful!");
} else {
reject("Operation Failed!");
}
}, 2000);
});

myPromise
.then(result => {
console.log("Step 1 - Got result: " + result);
return result.toUpperCase();
})
.then(upper => {
console.log("Step 2 - Uppercased: " + upper);
return "Done: " + upper;
})
.then(finalMsg => {
console.log("Step 3 - Final: " + finalMsg);
})
.catch(error => {
console.log(error);
});
24 changes: 24 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_5/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
let p1 = new Promise((resolve) => {
setTimeout(() => {
resolve("User loaded");
}, 1000);
});

let p2 = new Promise((resolve) => {
setTimeout(() => {
resolve("Orders loaded");
}, 2000);
});

let p3 = new Promise((resolve) => {
setTimeout(() => {
resolve("Products loaded");
}, 3000);
});

Promise.all([p1, p2, p3])
.then(results => {
results.forEach(result => {
console.log(result);
});
});
22 changes: 22 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_5/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
let p1 = new Promise((resolve) => {
setTimeout(() => {
resolve("User loaded");
}, 1000);
});

let p2 = new Promise((resolve) => {
setTimeout(() => {
resolve("Orders loaded");
}, 2000);
});

let p3 = new Promise((resolve) => {
setTimeout(() => {
resolve("Products loaded");
}, 3000);
});

Promise.race([p1, p2, p3])
.then(result => {
console.log("Winner: " + result);
});
28 changes: 28 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_5/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
let p1 = new Promise((resolve) => {
setTimeout(() => {
resolve("User loaded");
}, 1000);
});

let p2 = new Promise((resolve, reject) => {
setTimeout(() => {
reject("Server error");
}, 2000);
});

let p3 = new Promise((resolve) => {
setTimeout(() => {
resolve("Products loaded");
}, 3000);
});

Promise.allSettled([p1, p2, p3])
.then(results => {
results.forEach(result => {
if (result.status === "fulfilled") {
console.log(result.status + " - " + result.value);
} else {
console.log(result.status + " - " + result.reason);
}
});
});
22 changes: 22 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_6/task1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
let success = true;

let myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
if (success) {
resolve("Operation Successful!");
} else {
reject("Operation Failed!");
}
}, 2000);
});

async function runOperation() {
try {
let result = await myPromise;
console.log("Result: " + result);
} catch (error) {
console.log("Error: " + error);
}
}

runOperation();
32 changes: 32 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_6/task2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
let p1 = new Promise((resolve) => {
setTimeout(() => {
resolve("User loaded");
}, 1000);
});

let p2 = new Promise((resolve) => {
setTimeout(() => {
resolve("Orders loaded");
}, 2000);
});

let p3 = new Promise((resolve) => {
setTimeout(() => {
resolve("Products loaded");
}, 3000);
});

async function runAll() {
let r1 = await p1;
console.log(r1);

let r2 = await p2;
console.log(r2);

let r3 = await p3;
console.log(r3);

console.log("All done!");
}

runAll();
21 changes: 21 additions & 0 deletions Tanvi_sadashiv_1RZ25CS186/Assignment_6/task3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
function dividePromise(a, b) {
return new Promise((resolve, reject) => {
if (b === 0) {
reject("Cannot divide by zero!");
} else {
resolve(a / b);
}
});
}

async function safeDivide(a, b) {
try {
let result = await dividePromise(a, b);
console.log("Result: " + result);
} catch (error) {
console.log("Error: " + error);
}
}

safeDivide(10, 2);
safeDivide(10, 0);
Loading