- `mutableTemplateObject` and `ignoreToPrimitiveHint` (#12408) - `setClassMethods` (#12407) - `setComputedProperties` (#12490) - `ignoreFunctionLength` (#12491) - `noDocumentAll` (#12481) - `iterableIsArray` and `arrayLikeIsIterable` (#12489) - `pureGetters` (#12504) - `skipForOfIteratorClosing` (#12496) - `objectRestNoSymbols`, `setSpreadProperties` and `pureGetters` (#12505) - `noNewArrows` (#12613, #12793) - `setPublicClassFields` and `privateFieldsAsProperties` (#12497) - `constantReexports` and `enumerableModuleMeta` (#12618) - `constantSuper`, `superIsCallableConstructor` and `noClassCalls` (#12726) Co-authored-by: Justin Ridgewell <justin@ridgewell.name> Co-authored-by: Huáng Jùnliàng <JLHwung@users.noreply.github.com>
20 lines
321 B
JavaScript
20 lines
321 B
JavaScript
function required(msg) {
|
|
throw new Error(msg);
|
|
}
|
|
|
|
function sum(
|
|
{ arr = required('arr is required') } = { arr: arr = [] },
|
|
length = arr.length
|
|
) {
|
|
let i = 0;
|
|
let acc = 0;
|
|
for (let item of arr) {
|
|
if (i >= length) return acc;
|
|
acc += item;
|
|
i++;
|
|
}
|
|
return acc;
|
|
}
|
|
|
|
expect(sum({arr:[1,2]})).toBe(3);
|