What is the output?
Anonymous Quiz
25%
โ
1: 10 โ Error: Invalid ID โ
3: 30
48%
โ
1: 10 โ Invalid ID โ
3: 30
23%
โ
1: 10 โ
3: 30
5%
โ Invalid ID โ
1: 10 โ
3: 30
โค2๐1
CHALLENGE
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);
const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x * x;
const negate = x => -x;
const transform1 = compose(negate, square, addTen, double);
const transform2 = pipe(negate, square, addTen, double);
console.log(transform1(3));
console.log(transform2(3));
โค4๐1๐ฅ1
๐ค2๐1๐ฅ1
CHALLENGE
const setA = new Set([1, 2, 3, 4, 5]);
const setB = new Set([3, 4, 5, 6, 7]);
const union = new Set([...setA, ...setB]);
const intersection = new Set([...setA].filter(x => setB.has(x)));
const differenceAB = new Set([...setA].filter(x => !setB.has(x)));
const symmetricDiff = new Set(
[...setA, ...setB].filter(x => !(setA.has(x) && setB.has(x)))
);
console.log([...union].join(','));
console.log([...intersection].join(','));
console.log([...differenceAB].join(','));
console.log([...symmetricDiff].join(','));
๐ฅ3โค2๐1
What is the output?
Anonymous Quiz
24%
1,2,3,4,5,6,7 3,4,5 6,7 1,2,6,7
45%
1,2,3,4,5,6,7 3,4,5 1,2 1,2,6,7
21%
1,2,3,4,5,6,7 4,5 1,2 1,2,6,7
9%
1,2,3,4,5,6,7 3,4,5 1,2,3 1,2,3,6,7
โค1
Vite+ is the Vite teamโs โunified toolchainโ that brings Vite, Vitest, Oxlint, and similar tools together under a single vp command, whether for running a dev server, tests, formatting, or bundling.
VoidZero
Please open Telegram to view this post
VIEW IN TELEGRAM
โค4๐4๐ฅ2
CHALLENGE
const compose = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
const pipe = (...fns) => x => fns.reduce((acc, fn) => fn(acc), x);
const double = x => x * 2;
const addTen = x => x + 10;
const square = x => x ** 2;
const negate = x => -x;
const transform1 = compose(negate, square, addTen, double);
const transform2 = pipe(negate, square, addTen, double);
console.log(transform1(3));
console.log(transform2(3));
โค2๐ฅ2๐คฉ1
๐3โค1๐คฉ1๐คฃ1
With Eloquent JavaScript and ProseMirror under his belt, not many people know more about JavaScript and making good editor controls than Marijn. Modular, supports collaborative editing, and thoughtfully built. Live demo and how to get started.
Marijn Haverbeke
Please open Telegram to view this post
VIEW IN TELEGRAM
โค4๐ฅ2
A minor release whose headline feature is the (experimental) implementation of package maps (which let Node resolve packages from a static JSON file rather than walking node_modules). Matteo Collinaโs node:vfs subsystem also begins to make an appearance.
Antoine du Hamel
Please open Telegram to view this post
VIEW IN TELEGRAM
๐5โค3๐ฅ1
CHALLENGE
class Pipeline {
#value;
#steps = [];
constructor(value) {
this.#value = value;
}
map(fn) {
this.#steps.push({ type: 'map', fn });
return this;
}
filter(fn) {
this.#steps.push({ type: 'filter', fn });
return this;
}
execute() {
return this.#steps.reduce((acc, step) => {
if (step.type === 'map') return acc.map(step.fn);
if (step.type === 'filter') return acc.filter(step.fn);
return acc;
}, this.#value);
}
}
const result = new Pipeline([1, 2, 3, 4, 5, 6])
.filter(x => x % 2 === 0)
.map(x => x ** 2)
.filter(x => x > 10)
.map(x => x - 1)
.execute();
console.log(result);๐4โค1๐ฅ1
โค1๐ฅ1
A new framework from Vercel that provides Next.js-esque structure for building AI-powered agents using TypeScript and Markdown. It's quite Vercel-flavored by default, but I found you can run it entirely independently of Vercel with a few settings tweaks and your own keys. Project homepage.
Vercel
Please open Telegram to view this post
VIEW IN TELEGRAM
โค3๐ฅ2
CHALLENGE
console.log('start');
setTimeout(() => console.log('timeout 1'), 0);
Promise.resolve()
.then(() => {
console.log('promise 1');
setTimeout(() => console.log('timeout 2'), 0);
})
.then(() => console.log('promise 2'));
setTimeout(() => console.log('timeout 3'), 0);
queueMicrotask(() => console.log('microtask'));
console.log('end');โค4๐ฅ3๐2
What is the output?
Anonymous Quiz
30%
start end promise 1 microtask promise 2 timeout 1 timeout 3 timeout 2
38%
start end promise 1 promise 2 microtask timeout 1 timeout 3 timeout 2
21%
start end microtask promise 1 promise 2 timeout 1 timeout 2 timeout 3
11%
start end timeout 1 timeout 3 promise 1 microtask promise 2 timeout 2
โค4๐ฅ1
CHALLENGE
const curry = (fn) => {
const arity = fn.length;
return function curried(...args) {
if (args.length >= arity) {
return fn(...args);
}
return (...moreArgs) => curried(...args, ...moreArgs);
};
};
const volume = (l, w, h) => l * w * h;
const curriedVolume = curry(volume);
const withLength5 = curriedVolume(5);
const withLength5Width3 = withLength5(3);
console.log(typeof withLength5);
console.log(typeof withLength5Width3);
console.log(withLength5Width3(2));
console.log(curriedVolume(5)(3)(2) === withLength5(3)(2));
โค3๐ฅ3๐1
What is the output?
Anonymous Quiz
21%
function function 30 false
27%
object function 30 true
36%
function function 30 true
17%
function number 30 true
๐ฅ2โค1
CHALLENGE
const obj = {
name: "Quantum",
regular: function () {
return this.name;
},
arrow: () => {
return this?.name;
},
nested: function () {
const inner = () => this.name;
return inner();
},
};
console.log(obj.regular());
console.log(obj.arrow());
console.log(obj.nested());๐4โค3๐ฅ3
What is the output?
Anonymous Quiz
18%
undefined undefined Quantum
27%
Quantum Quantum Quantum
24%
Quantum undefined undefined
30%
Quantum undefined Quantum
๐ฅ2๐คฃ1
CHALLENGE
const flags = {
READ: 0b0001,
WRITE: 0b0010,
EXECUTE: 0b0100,
DELETE: 0b1000,
};
const userPermissions = flags.READ | flags.WRITE | flags.EXECUTE;
const adminPermissions = userPermissions | flags.DELETE;
const canDelete = (adminPermissions & flags.DELETE) !== 0;
const readOnly = userPermissions & ~flags.WRITE;
const toggled = userPermissions ^ flags.EXECUTE;
const shifted = (flags.DELETE << 2) | (flags.READ >> 0);
console.log(canDelete, readOnly, toggled, shifted);โค2๐2๐ฅ1