edgevector
Version:
Official TypeScript/JavaScript SDK for EdgeVector - Edge-native multi-paradigm database with AI-first features
73 lines (69 loc) • 2.17 kB
TypeScript
import { EdgeVectorConfig, EdgeVector } from './index';
/**
* EdgeVector Edge Runtime SDK
* Optimized for Cloudflare Workers, Vercel Edge Functions, and other edge runtimes
*/
interface EdgeRuntimeConfig extends EdgeVectorConfig {
/** Environment variables object */
env?: Record<string, string>;
/** Execution context for edge runtime */
ctx?: ExecutionContext;
/** Request object for edge runtime */
request?: Request;
}
/**
* Edge-optimized EdgeVector client
*/
declare class EdgeVectorEdge extends EdgeVector {
private env?;
private ctx?;
private request?;
constructor(config?: EdgeRuntimeConfig);
/**
* Create instance from Cloudflare Workers environment
*/
static fromWorker(request: Request, env: any, ctx: ExecutionContext): EdgeVectorEdge;
/**
* Create instance from Vercel Edge Functions
*/
static fromVercel(request: Request): EdgeVectorEdge;
/**
* Create instance from Next.js Edge Runtime
*/
static fromNextJS(request: Request): EdgeVectorEdge;
/**
* Get client IP address from edge request
*/
getClientIP(): string | null;
/**
* Get edge location/region
*/
getEdgeLocation(): string | null;
/**
* Get country from edge headers
*/
getCountry(): string | null;
/**
* Create response with edge optimizations
*/
createResponse(data: any, options?: ResponseInit): Response;
/**
* Handle preflight CORS requests
*/
handleCORS(): Response;
/**
* Log analytics event to edge runtime
*/
logEvent(event: string, data?: any): Promise<void>;
/**
* Wait for async operations before response (edge runtime utility)
*/
waitUntil(promise: Promise<any>): void;
}
declare function createEdgeHandler(apiKey?: string): {
GET(request: Request, env?: any, ctx?: ExecutionContext): Promise<Response>;
POST(request: Request, env?: any, ctx?: ExecutionContext): Promise<Response>;
OPTIONS(request: Request): Promise<Response>;
};
export { EdgeVectorEdge, createEdgeHandler, EdgeVectorEdge as default };
export type { EdgeRuntimeConfig };