n8n-nodes-sap-ai-core
Version:
n8n nodes for SAP AI Core LLM and embeddings integration
94 lines • 2.82 kB
TypeScript
import { IExecuteFunctions } from 'n8n-workflow';
/**
* Extract parsed output from output parser
*/
export declare function extractParsedOutput(ctx: IExecuteFunctions, outputParser: any, rawOutput: string): Promise<any>;
/**
* Retry mechanism for operations
*/
export declare function retryOperation<T>(operation: () => Promise<T>, maxRetries?: number, delay?: number, backoff?: number): Promise<T>;
/**
* Timeout wrapper for promises
*/
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
/**
* Safe JSON parsing with fallback
*/
export declare function safeJsonParse(jsonString: string, fallback?: any): any;
/**
* Deep clone object
*/
export declare function deepClone<T>(obj: T): T;
/**
* Sanitize string for safe usage
*/
export declare function sanitizeString(input: string, maxLength?: number): string;
/**
* Format error for logging
*/
export declare function formatError(error: unknown): {
message: string;
stack?: string;
name?: string;
};
/**
* Check if value is empty (null, undefined, empty string, empty array, empty object)
*/
export declare function isEmpty(value: any): boolean;
/**
* Generate unique ID
*/
export declare function generateId(prefix?: string): string;
/**
* Debounce function
*/
export declare function debounce<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => void;
/**
* Throttle function
*/
export declare function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
/**
* Convert bytes to human readable format
*/
export declare function formatBytes(bytes: number, decimals?: number): string;
/**
* Convert milliseconds to human readable duration
*/
export declare function formatDuration(ms: number): string;
/**
* Validate URL format
*/
export declare function isValidUrl(url: string): boolean;
/**
* Extract domain from URL
*/
export declare function extractDomain(url: string): string | null;
/**
* Merge objects deeply
*/
export declare function mergeDeep(target: any, source: any): any;
/**
* Create a promise that resolves after specified delay
*/
export declare function delay(ms: number): Promise<void>;
/**
* Convert string to camelCase
*/
export declare function toCamelCase(str: string): string;
/**
* Convert string to snake_case
*/
export declare function toSnakeCase(str: string): string;
/**
* Truncate text with ellipsis
*/
export declare function truncateText(text: string, maxLength: number, ellipsis?: string): string;
/**
* Check if running in development mode
*/
export declare function isDevelopment(): boolean;
/**
* Safe property access with default value
*/
export declare function getProp<T>(obj: any, path: string, defaultValue: T): T;
//# sourceMappingURL=utils.d.ts.map