Files
scrypted/plugins/core/src/builtins/javascript.ts
Koushik Dutta a46b2811ed initial commit
2021-08-24 21:22:41 -07:00

24 lines
765 B
TypeScript

import { EventDetails, ScryptedDevice, SystemManager } from "@scrypted/sdk";
export class Javascript {
systemManager: SystemManager;
eventSource: ScryptedDevice;
eventDetails: EventDetails;
eventData: any;
constructor(systemManager: SystemManager, eventSource: ScryptedDevice, eventDetails: EventDetails, eventData: any) {
this.systemManager = systemManager;
this.eventSource = eventSource;
this.eventDetails = eventDetails;
this.eventData = eventData;
}
run(script: string) {
const f = eval(`(function script(systemManager, eventSource, eventDetails, eventData) {
${script}
})`);
f(this.systemManager, this.eventSource, this.eventDetails, this.eventData);
}
}