mirror of
https://github.com/koush/scrypted.git
synced 2026-05-30 08:10:30 +01:00
24 lines
765 B
TypeScript
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);
|
|
}
|
|
}
|