b2b/src/app/app.worker.ts

24 lines
659 B
TypeScript

/// <reference lib="webworker" />
import { plainToClass } from 'class-transformer';
import { generateArray } from './faker';
import { Message, Parent } from './types';
let intervalId: any;
addEventListener('message', (message) => {
const timer = (message?.data as Message)?.timer ?? 300;
const size = (message?.data as Message)?.size ?? 1000;
const ids = (message?.data as Message)?.ids ?? [];
clearInterval(intervalId);
intervalId = setInterval(() => {
const rawItems = generateArray(size, ids);
const transformedItems = rawItems.map(
item => plainToClass(Parent, item),
)
postMessage(transformedItems);
}, timer);
});