mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
25 lines
870 B
JavaScript
25 lines
870 B
JavaScript
'use strict';
|
|
const collect = function (items) {
|
|
const iterator = items[Symbol.iterator]();
|
|
const result = [];
|
|
for (;;) {
|
|
const next = iterator.next();
|
|
if (next.done) return result;
|
|
result.push(next.value);
|
|
}
|
|
};
|
|
console.log(JSON.stringify(collect([1, 2, 3])));
|
|
console.log(JSON.stringify([1, 2].flatMap((value) => [value, value + 10])));
|
|
console.log(JSON.stringify(JSON.parse("[1,2]").flatMap((value) => [value, value + 10])));
|
|
const adapt = ([value]) => value;
|
|
const stored = adapt;
|
|
console.log(stored(['kept', 'surplus'], 'extra'));
|
|
function errorBase() {
|
|
return class extends Error {
|
|
constructor(value) { super(value.message); this.reason = value.reason; }
|
|
};
|
|
}
|
|
class Failure extends errorBase() {}
|
|
const failure = new Failure({ message: 'broken', reason: 'test' });
|
|
console.log(failure.message, failure.reason, failure instanceof Error);
|