UNPKG

spruthub-cli

Version:

CLI tool for managing Spruthub smart home devices

58 lines 1.81 kB
export interface ScenarioData { index: string; name: string; type: 'BLOCK' | 'LOGIC' | 'GLOBAL'; data: string; [key: string]: any; } export interface CodeBlock { type: string; blockId: number; code: string; [key: string]: any; } export interface BlockScenarioData { blockId: number; targets: CodeBlock[]; [key: string]: any; } /** * Escape JavaScript code for JSON string embedding */ export declare function escapeCodeForJSON(code: string): string; /** * Unescape JavaScript code from JSON string */ export declare function unescapeCodeFromJSON(code: string): string; /** * Validate that a JSON string is valid */ export declare function validateJSON(jsonString: string): boolean; /** * Extract code from a scenario to separate files */ export declare function extractScenarioCode(scenarioData: ScenarioData, scenarioDir: string): Promise<void>; /** * Validate scenario directory structure and data without injecting */ export declare function validateScenarioDirectory(scenarioDir: string): Promise<{ isValid: boolean; error?: string; }>; /** * Inject code from separate files back into scenario JSON */ export declare function injectScenarioCode(scenarioDir: string): Promise<ScenarioData>; /** * Check if a scenario directory has extracted code files */ export declare function hasExtractedCode(scenarioDir: string): Promise<boolean>; /** * Get scenario type from directory */ export declare function getScenarioType(scenarioDir: string): Promise<'BLOCK' | 'LOGIC' | 'GLOBAL' | null>; /** * Restore scenario directory to match the original remote data when push fails */ export declare function restoreFromRemoteData(scenarioDir: string, originalRemoteData: ScenarioData): Promise<void>; //# sourceMappingURL=scenario-code.d.ts.map