suitescript-mocks
Version:
Set of mocks for unit testing Netsuite Suitescript 2.*
24 lines • 2.42 kB
JavaScript
class Iterator {
values = [];
pointer = -1;
constructor(values) {
this.values = values;
}
next = () => {
this.pointer = Math.min(this.pointer + 1, this.values.length);
return {
value: this.values[this.pointer],
done: this.pointer >= this.values.length
};
};
each = callback => {
let value;
while (!(value = this.next()).done) {
if (callback({
value: value.value
}) !== true) break;
}
};
}
module.exports = Iterator;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJdGVyYXRvciIsInZhbHVlcyIsInBvaW50ZXIiLCJjb25zdHJ1Y3RvciIsIm5leHQiLCJNYXRoIiwibWluIiwibGVuZ3RoIiwidmFsdWUiLCJkb25lIiwiZWFjaCIsImNhbGxiYWNrIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pdGVyYXRvci5janMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgSXRlcmF0b3Ige1xuXHR2YWx1ZXMgPSBbXTtcblx0cG9pbnRlciA9IC0xO1xuXG5cdGNvbnN0cnVjdG9yKHZhbHVlcykge1xuXHRcdHRoaXMudmFsdWVzID0gdmFsdWVzO1xuXHR9XG5cblx0bmV4dCA9ICgpID0+IHtcblx0XHR0aGlzLnBvaW50ZXIgPSBNYXRoLm1pbih0aGlzLnBvaW50ZXIgKyAxLCB0aGlzLnZhbHVlcy5sZW5ndGgpO1xuXHRcdHJldHVybiB7IHZhbHVlOiB0aGlzLnZhbHVlc1t0aGlzLnBvaW50ZXJdLCBkb25lOiB0aGlzLnBvaW50ZXIgPj0gdGhpcy52YWx1ZXMubGVuZ3RoIH07XG5cdH07XG5cblx0ZWFjaCA9IChjYWxsYmFjaykgPT4ge1xuXHRcdGxldCB2YWx1ZTtcblx0XHR3aGlsZSAoISh2YWx1ZSA9IHRoaXMubmV4dCgpKS5kb25lKSB7XG5cdFx0XHRpZiAoY2FsbGJhY2soeyB2YWx1ZTogdmFsdWUudmFsdWUgfSkgIT09IHRydWUpIGJyZWFrO1xuXHRcdH1cblx0fTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBJdGVyYXRvcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsUUFBUSxDQUFDO0VBQ2RDLE1BQU0sR0FBRyxFQUFFO0VBQ1hDLE9BQU8sR0FBRyxDQUFDLENBQUM7RUFFWkMsV0FBV0EsQ0FBQ0YsTUFBTSxFQUFFO0lBQ25CLElBQUksQ0FBQ0EsTUFBTSxHQUFHQSxNQUFNO0VBQ3JCO0VBRUFHLElBQUksR0FBR0EsQ0FBQSxLQUFNO0lBQ1osSUFBSSxDQUFDRixPQUFPLEdBQUdHLElBQUksQ0FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQ0osT0FBTyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNELE1BQU0sQ0FBQ00sTUFBTSxDQUFDO0lBQzdELE9BQU87TUFBRUMsS0FBSyxFQUFFLElBQUksQ0FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQ0MsT0FBTyxDQUFDO01BQUVPLElBQUksRUFBRSxJQUFJLENBQUNQLE9BQU8sSUFBSSxJQUFJLENBQUNELE1BQU0sQ0FBQ007SUFBTyxDQUFDO0VBQ3RGLENBQUM7RUFFREcsSUFBSSxHQUFJQyxRQUFRLElBQUs7SUFDcEIsSUFBSUgsS0FBSztJQUNULE9BQU8sQ0FBQyxDQUFDQSxLQUFLLEdBQUcsSUFBSSxDQUFDSixJQUFJLENBQUMsQ0FBQyxFQUFFSyxJQUFJLEVBQUU7TUFDbkMsSUFBSUUsUUFBUSxDQUFDO1FBQUVILEtBQUssRUFBRUEsS0FBSyxDQUFDQTtNQUFNLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtJQUNoRDtFQUNELENBQUM7QUFDRjtBQUVBSSxNQUFNLENBQUNDLE9BQU8sR0FBR2IsUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==