UNPKG

@cfworker/cosmos

Version:

Azure Cosmos DB client for Cloudflare Workers and service workers

63 lines (62 loc) 1.67 kB
export type ConsistencyLevel = 'Strong' | 'Bounded' | 'Session' | 'Eventual'; export type OfferType = 'S1' | 'S2' | 'S3'; export type IndexingDirective = 'Include' | 'Exclude'; export type IndexingMode = 'none' | 'consistent' | 'lazy'; export interface Resource { id: string; } export interface PersistedResource extends Resource { _rid: string; _self: string; _etag: string; _ts: number; } export interface Document extends PersistedResource { _attachments: 'attachments/'; } export interface Database extends PersistedResource { _colls: 'colls/'; _users: 'users/'; } export interface IndexingPolicy { indexingMode: IndexingMode; automatic: boolean; includedPaths?: { path: string; indexes?: { dataType: 'String' | 'Number'; precision: number; kind: 'Range' | 'Hash'; }[]; }[]; excludedPaths?: { path: string; }[]; } export interface PartitionKeyDefinition { paths: string[]; kind: 'Hash'; } export interface ConflictResolutionPolicy { mode: 'LastWriterWins'; conflictResolutionPath: '/_ts'; conflictResolutionProcedure: ''; } export interface GeospatialConfig { type: 'Geography'; } export interface Collection extends PersistedResource { indexingPolicy: IndexingPolicy; partitionKey: PartitionKeyDefinition; conflictResolutionPolicy: ConflictResolutionPolicy; geospatialConfig: GeospatialConfig; _docs: 'docs/'; _sprocs: 'sprocs/'; _triggers: 'triggers/'; _udfs: 'udfs/'; _conflicts: 'conflicts/'; } export interface ConnectionInfo { endpoint: string; masterKey: string; }