cbon
Version:
Common Bracket Object Notation
26 lines (25 loc) • 818 B
JavaScript
export function isVoid(v) {
return v == null;
}
export function getErrorsMsgs(errors) {
return errors.flatMap(e => [`${e.msg}`, ` at ${e.range.from.line + 1}:${e.range.from.char + 1} to ${e.range.to.line + 1}:${e.range.to.char + 1}`]);
}
export function showErr(errmsg) {
throw new SyntaxError(`\n ${errmsg.join('\n ')}\n`);
}
/** == queueMicrotask */
export async function next_micro_tick() { }
/** == setTimeout */
export function next_macro_tick() {
return new Promise(res => {
setTimeout(res);
});
}
export function delay(timeout) {
return new Promise(res => {
setTimeout(res, timeout);
});
}
export function getIterator(iter) {
return iter[Symbol.asyncIterator] != null ? iter[Symbol.asyncIterator]() : iter[Symbol.iterator]();
}