beaverjs
Version:
An abstraction around WebExtension messaging
22 lines (19 loc) • 489 B
text/typescript
export function assert(condition: any, message: string) {
if (!condition) {
throw new Error(message);
}
}
export function tryParse(data: string, fallback: any = undefined) {
if (!data) return fallback;
try {
return JSON.parse(data);
} catch {
return fallback;
}
}
export function* filterMap<T, M>(array: Iterable<T>, fn: (item: T) => M | null): Iterable<M> {
for (const item of array) {
const result = fn(item);
if (result !== null) yield result;
}
}