@cfworker/cosmos 4.0.5 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/client.d.ts +1 -0
- package/dist/commonjs/client.d.ts.map +1 -0
- package/dist/commonjs/client.js +1 -0
- package/dist/commonjs/client.js.map +1 -0
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/package.json +2 -1
- package/dist/commonjs/response.d.ts +1 -0
- package/dist/commonjs/response.d.ts.map +1 -0
- package/dist/commonjs/response.js +1 -0
- package/dist/commonjs/response.js.map +1 -0
- package/dist/commonjs/retry.d.ts +1 -0
- package/dist/commonjs/retry.d.ts.map +1 -0
- package/dist/commonjs/retry.js +1 -0
- package/dist/commonjs/retry.js.map +1 -0
- package/dist/commonjs/session.d.ts +1 -0
- package/dist/commonjs/session.d.ts.map +1 -0
- package/dist/commonjs/session.js +7 -5
- package/dist/commonjs/session.js.map +1 -0
- package/dist/commonjs/signer.d.ts +2 -1
- package/dist/commonjs/signer.d.ts.map +1 -0
- package/dist/commonjs/signer.js +5 -7
- package/dist/commonjs/signer.js.map +1 -0
- package/dist/commonjs/types.d.ts +1 -0
- package/dist/commonjs/types.d.ts.map +1 -0
- package/dist/commonjs/types.js +1 -0
- package/dist/commonjs/types.js.map +1 -0
- package/dist/commonjs/util.d.ts +1 -0
- package/dist/commonjs/util.d.ts.map +1 -0
- package/dist/commonjs/util.js +8 -5
- package/dist/commonjs/util.js.map +1 -0
- package/dist/esm/client.d.ts +1 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +1 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +2 -1
- package/dist/esm/response.d.ts +1 -0
- package/dist/esm/response.d.ts.map +1 -0
- package/dist/esm/response.js +1 -0
- package/dist/esm/response.js.map +1 -0
- package/dist/esm/retry.d.ts +1 -0
- package/dist/esm/retry.d.ts.map +1 -0
- package/dist/esm/retry.js +1 -0
- package/dist/esm/retry.js.map +1 -0
- package/dist/esm/session.d.ts +1 -0
- package/dist/esm/session.d.ts.map +1 -0
- package/dist/esm/session.js +7 -5
- package/dist/esm/session.js.map +1 -0
- package/dist/esm/signer.d.ts +2 -1
- package/dist/esm/signer.d.ts.map +1 -0
- package/dist/esm/signer.js +5 -7
- package/dist/esm/signer.js.map +1 -0
- package/dist/esm/types.d.ts +1 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/util.d.ts +1 -0
- package/dist/esm/util.d.ts.map +1 -0
- package/dist/esm/util.js +8 -5
- package/dist/esm/util.js.map +1 -0
- package/package.json +12 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/commonjs/client.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { FeedResponse, ItemResponse } from './response.js';\nimport { defaultRetryPolicy, RetryContext, RetryPolicy } from './retry.js';\nimport { DefaultSessionContainer, SessionContainer } from './session.js';\nimport { getSigner, Signer } from './signer.js';\nimport {\n Collection,\n ConnectionInfo,\n ConsistencyLevel,\n Database,\n Document,\n IndexingDirective,\n IndexingPolicy,\n OfferType,\n PartitionKeyDefinition,\n Resource\n} from './types.js';\nimport {\n assertArg,\n escapeNonASCII,\n parseConnectionString,\n uri\n} from './util.js';\n\nexport type CosmosClientConfig =\n | (ConnectionInfo & CosmosClientConfigBase)\n | ({\n /**\n * Cosmos DB connection string.\n * @example\n * \"AccountEndpoint=https://xxxxxxxxxx.documents.azure.com:443/;AccountKey=xxxxxxxxxx;\"\n */\n connectionString: string;\n } & CosmosClientConfigBase);\n\ninterface CosmosClientConfigBase {\n /**\n * The retry policy to use when requests are throttled.\n */\n retryPolicy?: RetryPolicy;\n\n /**\n * Default consistency level for requests. This can be overriden on individual requests.\n * @default \"Session\"\n */\n consistencyLevel?: ConsistencyLevel;\n\n /**\n * Default database id. This can be overriden on individual requests.\n */\n dbId?: string;\n\n /**\n * Default collection id. This can be overriden on individual requests.\n */\n collId?: string;\n\n /**\n * Reads, writes, and stores session tokens for requests made with ConsistencyLevel is \"Session\".\n */\n sessions?: SessionContainer;\n\n /**\n * Enables cross partition queries. This can be overriden on individual queries. Defaults to true.\n */\n enableCrossPartitionQueries?: boolean;\n\n /**\n * System fetch function\n */\n fetch?: typeof fetch;\n}\n\nexport class CosmosClient {\n private readonly endpoint: string;\n private readonly signer: Signer;\n private readonly retryPolicy: RetryPolicy;\n private readonly consistencyLevel: ConsistencyLevel;\n private readonly dbId: string | undefined;\n private readonly collId: string | undefined;\n private readonly enableCrossPartitionQueries: boolean;\n private readonly systemFetch: typeof fetch;\n public readonly sessions: SessionContainer;\n public requestCharges = 0;\n public retries = { count: 0, delayMs: 0 };\n\n constructor(config: CosmosClientConfig) {\n let { endpoint, masterKey } =\n 'connectionString' in config\n ? parseConnectionString(config.connectionString)\n : config;\n if (endpoint.endsWith('/')) {\n endpoint = endpoint.slice(0, -1);\n }\n this.endpoint = endpoint;\n this.signer = getSigner(masterKey);\n this.retryPolicy = config.retryPolicy ?? defaultRetryPolicy;\n this.consistencyLevel = config.consistencyLevel ?? 'Session';\n this.dbId = config.dbId;\n this.collId = config.collId;\n this.enableCrossPartitionQueries =\n config.enableCrossPartitionQueries ?? true;\n this.sessions = config.sessions ?? new DefaultSessionContainer();\n this.systemFetch = config.fetch ?? fetch.bind(globalThis);\n }\n\n public async getDatabases(\n args: GetDatabasesArgs = {}\n ): Promise<FeedResponse<Database>> {\n const url = this.endpoint + `/dbs`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, args);\n const response = await this.fetchWithRetry(request);\n const next = this.getNext(response, args, this.getDatabases);\n return new FeedResponse<Database>(response, next, 'Databases');\n }\n\n public async getDatabase(\n args: GetDatabaseArgs = {}\n ): Promise<ItemResponse<Database>> {\n const { dbId = this.dbId, ...headers } = args;\n assertArg('dbId', dbId);\n const url = this.endpoint + uri`/dbs/${dbId}`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Database>(response);\n }\n\n public async getCollections(\n args: GetCollectionsArgs = {}\n ): Promise<FeedResponse<Collection>> {\n const { dbId = this.dbId, ...headers } = args;\n assertArg('dbId', dbId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n const next = this.getNext(response, args, this.getCollections);\n return new FeedResponse<Collection>(response, next, 'DocumentCollections');\n }\n\n public async getCollection(\n args: GetCollectionArgs = {}\n ): Promise<ItemResponse<Collection>> {\n const { dbId = this.dbId, collId = this.collId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Collection>(response);\n }\n\n public async createCollection(\n args: CreateCollectionArgs\n ): Promise<ItemResponse<Collection>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n indexingPolicy,\n partitionKey,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls`;\n const body = JSON.stringify({ id: collId, indexingPolicy, partitionKey });\n const request = new Request(url, { method: 'POST', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Collection>(response);\n }\n\n public async replaceCollection(\n args: ReplaceCollectionArgs\n ): Promise<ItemResponse<Collection>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n indexingPolicy,\n partitionKey,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}`;\n const body = JSON.stringify({ id: collId, indexingPolicy, partitionKey });\n const request = new Request(url, { method: 'PUT', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Collection>(response);\n }\n\n public async deleteCollection(\n args: DeleteCollectionArgs = {}\n ): Promise<Response> {\n const { dbId = this.dbId, collId = this.collId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}`;\n const request = new Request(url, { method: 'DELETE' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return response;\n }\n\n public async getDocuments<T extends Resource>(\n args: GetDocumentsArgs\n ): Promise<FeedResponse<T & Document>> {\n const { dbId = this.dbId, collId = this.collId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n const next = this.getNext<GetDocumentsArgs, T & Document>(\n response,\n args,\n this.getDocuments\n );\n return new FeedResponse<T & Document>(response, next, 'Documents');\n }\n\n public async getDocument<T extends Resource>(\n args: GetDocumentArgs\n ): Promise<ItemResponse<T & Document>> {\n const { dbId = this.dbId, collId = this.collId, docId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs/${docId}`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<T & Document>(response);\n }\n\n public async createDocument<T extends Resource>(\n args: CreateDocumentArgs\n ): Promise<ItemResponse<T & Document>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n document,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs`;\n const body = toBodyInit(document);\n const request = new Request(url, { method: 'POST', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<T & Document>(response);\n }\n\n public async replaceDocument<T extends Resource>(\n args: ReplaceDocumentArgs\n ): Promise<ItemResponse<T & Document>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n docId,\n document,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs/${docId}`;\n const body = toBodyInit(document);\n const request = new Request(url, { method: 'PUT', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<T & Document>(response);\n }\n\n public async deleteDocument(args: DeleteDocumentArgs): Promise<Response> {\n const { dbId = this.dbId, collId = this.collId, docId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs/${docId}`;\n const request = new Request(url, { method: 'DELETE' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return response;\n }\n\n public async queryDocuments<T>(\n args: QueryDocumentsArgs\n ): Promise<FeedResponse<T>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n query,\n parameters = [],\n ...headerArgs\n } = args;\n\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n\n const headers = Object.assign(\n {\n enableCrossPartition: this.enableCrossPartitionQueries,\n enableScan: false,\n maxItems: -1,\n populateMetrics: false,\n isQuery: true\n },\n headerArgs\n );\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs`;\n const body = JSON.stringify({ query, parameters });\n const request = new Request(url, { method: 'POST', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/query+json');\n const response = await this.fetchWithRetry(request);\n const next = this.getNext<QueryDocumentsArgs, T>(\n response,\n args,\n this.queryDocuments\n );\n return new FeedResponse<T>(response, next, 'Documents');\n }\n\n private getNext<TArgs extends CommonGetListArgs, TResult>(\n response: Response,\n args: TArgs,\n fn: (args: TArgs) => Promise<FeedResponse<TResult>>\n ): () => Promise<FeedResponse<TResult>> {\n return () => {\n const continuation = response.headers.get('x-ms-continuation');\n if (!continuation) {\n throw new Error(`Response is not continuable.`);\n }\n return fn.call(this, Object.assign({}, args, { continuation }));\n };\n }\n\n private async fetchWithRetry(\n request: Request,\n context?: RetryContext\n ): Promise<Response> {\n const retryRequest = request.clone();\n\n const response = await this.fetch(request);\n\n context ??= { attempts: 0, cumulativeWaitMs: 0, request, response };\n context.attempts++;\n context.request = retryRequest;\n context.response = response;\n\n const { retry, delayMs } = await this.retryPolicy.shouldRetry(context);\n if (!retry) {\n retryRequest.body?.cancel();\n return response;\n }\n if (delayMs !== 0) {\n await new Promise(resolve => setTimeout(resolve, delayMs));\n context.cumulativeWaitMs += delayMs;\n this.retries.delayMs += delayMs;\n }\n this.retries.count++;\n return this.fetchWithRetry(retryRequest, context);\n }\n\n private async fetch(request: Request): Promise<Response> {\n this.sessions.setRequestSession(request);\n await this.signer.sign(request);\n const response = await this.systemFetch(request);\n this.sessions.readResponseSession(response);\n const requestCharge = +(response.headers.get('x-ms-request-charge') || 0);\n this.requestCharges += requestCharge;\n return response;\n }\n\n private setHeaders(headers: Headers, args: AllHeaders) {\n headers.set('accept', 'application/json');\n headers.set('cache-control', 'no-cache');\n headers.set('x-ms-version', '2018-12-31');\n if (args.activityId) {\n headers.set('x-ms-activity-id', args.activityId);\n }\n const consistencyLevel = args.consistencyLevel || this.consistencyLevel;\n headers.set('x-ms-consistency-level', consistencyLevel);\n if (args.continuation) {\n headers.set('x-ms-continuation', args.continuation);\n }\n if (args.enableScan) {\n headers.set('x-ms-documentdb-query-enable-scan', 'true');\n }\n if (args.ifMatch) {\n headers.set('if-match', args.ifMatch);\n }\n if (args.ifModifiedSince) {\n headers.set('if-modified-since', args.ifModifiedSince.toUTCString());\n }\n if (args.ifNoneMatch) {\n headers.set('if-none-match', args.ifNoneMatch);\n }\n if (args.indexingDirective) {\n headers.set('x-ms-indexing-directive', args.indexingDirective);\n }\n if (args.isQuery) {\n headers.set('x-ms-documentdb-isquery', args.isQuery.toString());\n }\n if (args.isUpsert) {\n headers.set('x-ms-documentdb-is-upsert', args.isUpsert.toString());\n }\n if (args.maxItems) {\n headers.set('x-ms-max-item-count', args.maxItems.toString(10));\n }\n if (args.offerType) {\n headers.set('x-ms-offer-type', args.offerType);\n }\n if (args.offerThroughput) {\n headers.set('x-ms-offer-throughput', args.offerThroughput.toString());\n }\n if (args.populateMetrics) {\n headers.set('x-ms-documentdb-populatequerymetrics', 'true');\n }\n if (args.partitionKey) {\n headers.set(\n 'x-ms-documentdb-partitionkey',\n escapeNonASCII(JSON.stringify([args.partitionKey]))\n );\n if (args.isQuery) {\n headers.set('x-ms-documentdb-query-enablecrosspartition', 'false');\n }\n } else if (args.enableCrossPartition !== undefined && args.isQuery) {\n headers.set(\n 'x-ms-documentdb-query-enablecrosspartition',\n args.enableCrossPartition.toString()\n );\n }\n }\n}\n\nexport type DocumentInit = BufferSource | ReadableStream | string | Resource;\n\nfunction toBodyInit(obj: DocumentInit): BodyInit {\n if (\n (typeof obj === 'string' || DataView.prototype.isPrototypeOf(obj),\n ArrayBuffer.isView(obj) || obj instanceof ReadableStream)\n ) {\n return obj as any;\n }\n return JSON.stringify(obj);\n}\n\ninterface CommonArgs {\n activityId?: string;\n consistencyLevel?: ConsistencyLevel;\n}\n\ninterface CommonGetArgs extends CommonArgs {\n ifNoneMatch?: string;\n ifModifiedSince?: Date;\n}\n\ninterface CommonGetListArgs extends CommonGetArgs {\n maxItems?: number;\n continuation?: string;\n}\n\nexport type GetDatabasesArgs = CommonGetListArgs;\n\nexport interface GetDatabaseArgs extends CommonGetArgs {\n dbId?: string;\n}\n\nexport interface GetCollectionsArgs extends CommonGetListArgs {\n dbId?: string;\n}\n\nexport interface GetCollectionArgs extends CommonGetArgs {\n dbId?: string;\n collId?: string;\n}\n\nexport interface CreateCollectionArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n indexingPolicy?: IndexingPolicy;\n partitionKey: PartitionKeyDefinition;\n offerThroughput?: number;\n offerType?: OfferType;\n}\n\nexport interface ReplaceCollectionArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n indexingPolicy: IndexingPolicy;\n partitionKey: PartitionKeyDefinition;\n ifMatch?: string;\n}\n\nexport interface DeleteCollectionArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n ifMatch?: string;\n}\n\nexport interface GetDocumentsArgs extends CommonGetListArgs {\n dbId?: string;\n collId?: string;\n partitionKey?: string;\n}\n\nexport interface GetDocumentArgs extends CommonGetArgs {\n dbId?: string;\n collId?: string;\n docId: string;\n partitionKey: string;\n}\n\nexport interface QueryDocumentsArgs extends CommonGetListArgs {\n dbId?: string;\n collId?: string;\n query: string;\n parameters?: QueryParameter[];\n partitionKey?: string;\n enableCrossPartition?: boolean;\n populateMetrics?: boolean;\n enableScan?: boolean;\n}\n\nexport interface QueryParameter {\n name: string;\n value: string | number | boolean | null | undefined;\n}\n\nexport interface CreateDocumentArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n document: DocumentInit;\n partitionKey: string;\n isUpsert?: boolean;\n indexingDirective?: IndexingDirective;\n}\n\nexport interface ReplaceDocumentArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n docId: string;\n document: DocumentInit;\n partitionKey: string;\n ifMatch?: string;\n indexingDirective?: IndexingDirective;\n}\n\nexport interface DeleteDocumentArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n docId: string;\n partitionKey: string;\n ifMatch?: string;\n}\n\ninterface AllHeaders {\n activityId?: string;\n consistencyLevel?: ConsistencyLevel;\n continuation?: string;\n enableCrossPartition?: boolean;\n enableScan?: boolean;\n ifMatch?: string;\n ifModifiedSince?: Date;\n ifNoneMatch?: string;\n indexingDirective?: IndexingDirective;\n isQuery?: boolean;\n isUpsert?: boolean;\n maxItems?: number;\n offerType?: OfferType;\n offerThroughput?: number;\n partitionKey?: string;\n populateMetrics?: boolean;\n}\n"]}
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,8CAA4B;AAC5B,6CAA2B;AAC3B,4CAA0B","sourcesContent":["export * from './client.js';\nexport * from './response.js';\nexport * from './session.js';\nexport * from './signer.js';\nexport * from './types.js';\nexport * from './util.js';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,8BAAsB,cAAc;IACtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAAjD,YAA+B,QAAQ,EAAE,QAAQ,EAAI;IAErD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,IAAI,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAE5C;IACD,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,aAAa,IAAI,MAAM,CAE1B;IACD,IAAI,GAAG,IAAI,QAAQ,CAElB;CACF;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,iBAAiB,CAAE,SAAQ,cAAc;IAC3E,YAAY,QAAQ,EAAE,QAAQ,EAE7B;IAED,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAEjB;CACF;AAED,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,cAAc;aAG/B,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHhC,YACE,QAAQ,EAAE,QAAQ,EACF,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnC,aAAa,EAAE,MAAM,EAGvC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAGzB;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response.ts"],"names":[],"mappings":";;;AAEA;IACiC,QAAQ;IAAvC,YAA+B,QAAkB;wBAAlB,QAAQ;IAAa,CAAC;IAErD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;;AAED,kBAAuD,SAAQ,cAAc;IAC3E,YAAY,QAAkB;QAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;;AAED,kBAA6B,SAAQ,cAAc;IAG/B,IAAI;IACH,aAAa;IAHhC,YACE,QAAkB,EACF,IAAoC,EACnC,aAAqB;QAEtC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAHA,IAAI;6BACH,aAAa;IAGhC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;CACF","sourcesContent":["import { PersistedResource } from './types.js';\n\nexport abstract class CosmosResponse {\n constructor(protected readonly response: Response) {}\n\n get status(): number {\n return this.response.status;\n }\n get headers(): Headers {\n return this.response.headers;\n }\n get body(): ReadableStream<Uint8Array> | null {\n return this.response.body;\n }\n get activityId(): string | null {\n return this.response.headers.get('x-ms-activity-id');\n }\n get etag(): string {\n return this.response.headers.get('etag')!;\n }\n get requestCharge(): number {\n return parseInt(this.response.headers.get('x-ms-request-charge')!);\n }\n get raw(): Response {\n return this.response;\n }\n}\n\nexport class ItemResponse<T extends PersistedResource> extends CosmosResponse {\n constructor(response: Response) {\n super(response);\n }\n\n json(): Promise<T> {\n return this.response.json();\n }\n}\n\nexport class FeedResponse<T> extends CosmosResponse {\n constructor(\n response: Response,\n public readonly next: () => Promise<FeedResponse<T>>,\n private readonly itemsProperty: string\n ) {\n super(response);\n }\n\n get count(): number {\n return parseInt(this.response.headers.get('x-ms-item-count')!);\n }\n get hasNext(): boolean {\n return this.response.headers.has('x-ms-continuation');\n }\n\n async json(): Promise<T[]> {\n const data: any = await this.response.json();\n return data[this.itemsProperty];\n }\n}\n"]}
|
package/dist/commonjs/retry.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAED,qBAAa,kBAAmB,YAAW,WAAW;aAElC,WAAW;aACX,uBAAuB;aACvB,mBAAmB;IAHrC,YACkB,WAAW,SAAK,EAChB,uBAAuB,SAAQ,EAC/B,mBAAmB,SAAO,EACxC;IAEE,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBlE;CACF;AAED,eAAO,MAAM,kBAAkB,EAAE,WAAsC,CAAC"}
|
package/dist/commonjs/retry.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAkBvD;IAEoB,WAAW;IACX,uBAAuB;IACvB,mBAAmB;IAHrC,YACkB,WAAW,GAAG,EAAE,EAChB,uBAAuB,GAAG,KAAK,EAC/B,mBAAmB,GAAG,IAAI;2BAF1B,WAAW;uCACX,uBAAuB;mCACvB,mBAAmB;IAClC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,IAAI,IAAA,oCAAuB,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,IACE,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC/B,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW;YACpC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EACxD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CACf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACnD,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;CACF;;AAEY,QAAA,kBAAkB,GAAgB,IAAI,kBAAkB,EAAE,CAAC","sourcesContent":["import { readSessionNotAvailable } from './session.js';\n\nexport interface RetryContext {\n request: Request;\n response: Response;\n attempts: number;\n cumulativeWaitMs: number;\n}\n\nexport interface RetryInstruction {\n retry: boolean;\n delayMs: number;\n}\n\nexport interface RetryPolicy {\n shouldRetry(context: RetryContext): Promise<RetryInstruction>;\n}\n\nexport class DefaultRetryPolicy implements RetryPolicy {\n constructor(\n public readonly maxAttempts = 10,\n public readonly maxCumulativeWaitTimeMs = 30000,\n public readonly defaultRetryDelayMs = 5000\n ) {}\n\n async shouldRetry(context: RetryContext): Promise<RetryInstruction> {\n if (readSessionNotAvailable(context.response)) {\n return { retry: true, delayMs: 0 };\n }\n if (\n context.response.status !== 429 ||\n context.attempts >= this.maxAttempts ||\n context.cumulativeWaitMs >= this.maxCumulativeWaitTimeMs\n ) {\n return { retry: false, delayMs: 0 };\n }\n const delayMs = +(\n context.response.headers.get('x-ms-retry-after-ms') ||\n this.defaultRetryDelayMs\n );\n return { retry: true, delayMs };\n }\n}\n\nexport const defaultRetryPolicy: RetryPolicy = new DefaultRetryPolicy();\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAKnE;AAMD,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EACR,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQ1C;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/C;AAED,qBAAa,uBAAwB,YAAW,gBAAgB;aAClC,MAAM,EAAE,aAAa;IAAjD,YAA4B,MAAM,GAAE,aAAkB,EAAI;IAE1D,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAYxC;IAED,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAiB5C;CACF"}
|
package/dist/commonjs/session.js
CHANGED
|
@@ -11,7 +11,7 @@ function readSessionNotAvailable(response) {
|
|
|
11
11
|
function getCollectionId({ url, headers }) {
|
|
12
12
|
const path = headers.get('x-ms-alt-content-path') ?? new URL(url).pathname.substr(1);
|
|
13
13
|
const [, dbId, colls, collId] = path.split('/');
|
|
14
|
-
if (colls !== 'colls' || !collId) {
|
|
14
|
+
if (!dbId || colls !== 'colls' || !collId) {
|
|
15
15
|
return null;
|
|
16
16
|
}
|
|
17
17
|
return { dbId, collId };
|
|
@@ -40,16 +40,18 @@ class DefaultSessionContainer {
|
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
if (readSessionNotAvailable(response)) {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const dbTokens = this.tokens[ids.dbId];
|
|
44
|
+
if (dbTokens) {
|
|
45
|
+
delete dbTokens[ids.collId];
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
const token = response.headers.get('x-ms-session-token');
|
|
48
49
|
if (!token) {
|
|
49
50
|
return;
|
|
50
51
|
}
|
|
51
|
-
this.tokens[ids.dbId] ??= {};
|
|
52
|
-
|
|
52
|
+
const dbTokens = (this.tokens[ids.dbId] ??= {});
|
|
53
|
+
dbTokens[ids.collId] = token;
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
exports.DefaultSessionContainer = DefaultSessionContainer;
|
|
57
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;;;;AAAA,MAAM,gCAAgC,GAAW,MAAM,CAAC;AAExD,iCAAwC,QAAkB;IACxD,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,GAAG;QACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,gCAAgC,CAC5E,CAAC;AACJ,CAAC;AAMD,yBAAgC,EAC9B,GAAG,EACH,OAAO,EAIR;IACC,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAYD;IAC8B,MAAM;IAAlC,YAA4B,MAAM,GAAkB,EAAE;sBAA1B,MAAM;IAAuB,CAAC;IAE1D,iBAAiB,CAAC,OAAgB;QAChC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,QAAkB;QACpC,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;CACF","sourcesContent":["const readSessionNotAvailableSubstatus: string = '1002';\n\nexport function readSessionNotAvailable(response: Response): boolean {\n return (\n response.status === 404 &&\n response.headers.get('x-ms-substatus') === readSessionNotAvailableSubstatus\n );\n}\n\n/**\n * Get the database and collection id from the x-ms-alt-content-path header or url.\n * @param requestOrResponse\n */\nexport function getCollectionId({\n url,\n headers\n}: {\n url: string;\n headers: Headers;\n}): { dbId: string; collId: string } | null {\n const path =\n headers.get('x-ms-alt-content-path') ?? new URL(url).pathname.substr(1);\n const [, dbId, colls, collId] = path.split('/');\n if (!dbId || colls !== 'colls' || !collId) {\n return null;\n }\n return { dbId, collId };\n}\n\nexport interface SessionTokens {\n [dbId: string]: { [collId: string]: string };\n}\n\nexport interface SessionContainer {\n tokens: SessionTokens;\n setRequestSession(request: Request): void;\n readResponseSession(response: Response): void;\n}\n\nexport class DefaultSessionContainer implements SessionContainer {\n constructor(public readonly tokens: SessionTokens = {}) {}\n\n setRequestSession(request: Request): void {\n if (request.headers.get('x-ms-consistency-level') !== 'Session') {\n return;\n }\n const ids = getCollectionId(request);\n if (!ids) {\n return;\n }\n const token = this.tokens?.[ids.dbId]?.[ids.collId];\n if (token) {\n request.headers.set('x-ms-session-token', token);\n }\n }\n\n readResponseSession(response: Response): void {\n const ids = getCollectionId(response);\n if (!ids) {\n return;\n }\n if (readSessionNotAvailable(response)) {\n const dbTokens = this.tokens[ids.dbId];\n if (dbTokens) {\n delete dbTokens[ids.collId];\n }\n }\n const token = response.headers.get('x-ms-session-token');\n if (!token) {\n return;\n }\n const dbTokens = (this.tokens[ids.dbId] ??= {});\n dbTokens[ids.collId] = token;\n }\n}\n"]}
|
|
@@ -3,10 +3,11 @@ export declare class Signer {
|
|
|
3
3
|
private readonly encoder;
|
|
4
4
|
constructor(masterkey: string);
|
|
5
5
|
sign(request: Request, date?: Date): Promise<void>;
|
|
6
|
-
getPayload(request: Request, date: Date): Uint8Array
|
|
6
|
+
getPayload(request: Request, date: Date): Uint8Array<ArrayBuffer>;
|
|
7
7
|
pathnameToResource(pathname: string): {
|
|
8
8
|
resourceType: string;
|
|
9
9
|
resourceId: string;
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
export declare function getSigner(masterKey: string): Signer;
|
|
13
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAGA,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,YAAY,SAAS,EAAE,MAAM,EAS5B;IAEY,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,IAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E;IAEM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAQvE;IAEM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC3C,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAUA;CACF;AAID,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
package/dist/commonjs/signer.js
CHANGED
|
@@ -7,7 +7,7 @@ class Signer {
|
|
|
7
7
|
masterkey;
|
|
8
8
|
encoder = new TextEncoder();
|
|
9
9
|
constructor(masterkey) {
|
|
10
|
-
const promiseLike = crypto.subtle.importKey('raw', rfc4648_1.base64.parse(masterkey), { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);
|
|
10
|
+
const promiseLike = crypto.subtle.importKey('raw', Uint8Array.from(rfc4648_1.base64.parse(masterkey)), { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);
|
|
11
11
|
this.masterkey = Promise.resolve(promiseLike);
|
|
12
12
|
}
|
|
13
13
|
async sign(request, date = new Date()) {
|
|
@@ -30,11 +30,11 @@ class Signer {
|
|
|
30
30
|
pathnameToResource(pathname) {
|
|
31
31
|
const segments = pathname.split('/');
|
|
32
32
|
if (segments.length % 2 === 0) {
|
|
33
|
-
const resourceType = segments
|
|
33
|
+
const resourceType = segments.at(-1) ?? '';
|
|
34
34
|
const resourceId = segments.slice(1, segments.length - 1).join('/');
|
|
35
35
|
return { resourceType, resourceId };
|
|
36
36
|
}
|
|
37
|
-
const resourceType = segments
|
|
37
|
+
const resourceType = segments.at(-2) ?? '';
|
|
38
38
|
const resourceId = segments.slice(1, segments.length).join('/');
|
|
39
39
|
return { resourceType, resourceId };
|
|
40
40
|
}
|
|
@@ -42,8 +42,6 @@ class Signer {
|
|
|
42
42
|
exports.Signer = Signer;
|
|
43
43
|
const signers = {};
|
|
44
44
|
function getSigner(masterKey) {
|
|
45
|
-
|
|
46
|
-
signers[masterKey] = new Signer(masterKey);
|
|
47
|
-
}
|
|
48
|
-
return signers[masterKey];
|
|
45
|
+
return (signers[masterKey] ??= new Signer(masterKey));
|
|
49
46
|
}
|
|
47
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-ignore\nimport { base64 } from 'rfc4648';\n\nexport class Signer {\n private readonly masterkey: Promise<CryptoKey>;\n private readonly encoder = new TextEncoder();\n\n constructor(masterkey: string) {\n const promiseLike = crypto.subtle.importKey(\n 'raw',\n Uint8Array.from(base64.parse(masterkey)),\n { name: 'HMAC', hash: { name: 'SHA-256' } },\n false,\n ['sign']\n );\n this.masterkey = Promise.resolve(promiseLike);\n }\n\n public async sign(request: Request, date: Date = new Date()): Promise<void> {\n const key = await this.masterkey;\n const payload = this.getPayload(request, date);\n const hashed = await crypto.subtle.sign('HMAC', key, payload);\n const signature = base64.stringify(new Uint8Array(hashed));\n request.headers.set(\n 'authorization',\n encodeURIComponent(`type=master&ver=1.0&sig=${signature}`)\n );\n request.headers.set('x-ms-date', date.toUTCString());\n }\n\n public getPayload(request: Request, date: Date): Uint8Array<ArrayBuffer> {\n const url = new URL(request.url);\n const { resourceType, resourceId } = this.pathnameToResource(url.pathname);\n const method = request.method.toLowerCase();\n const text = `${method}\\n${resourceType}\\n${resourceId}\\n${date\n .toUTCString()\n .toLowerCase()}\\n\\n`;\n return this.encoder.encode(text);\n }\n\n public pathnameToResource(pathname: string): {\n resourceType: string;\n resourceId: string;\n } {\n const segments = pathname.split('/');\n if (segments.length % 2 === 0) {\n const resourceType = segments.at(-1) ?? '';\n const resourceId = segments.slice(1, segments.length - 1).join('/');\n return { resourceType, resourceId };\n }\n const resourceType = segments.at(-2) ?? '';\n const resourceId = segments.slice(1, segments.length).join('/');\n return { resourceType, resourceId };\n }\n}\n\nconst signers: Record<string, Signer> = {};\n\nexport function getSigner(masterKey: string): Signer {\n return (signers[masterKey] ??= new Signer(masterKey));\n}\n"]}
|
package/dist/commonjs/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE;YACR,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;SACxB,EAAE,CAAC;KACL,EAAE,CAAC;IACJ,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,sBAAsB,CAAC;IACrC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAM7B,QAAQ,EAAE,MAAM,CAAC;IAKjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/commonjs/types.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type ConsistencyLevel = 'Strong' | 'Bounded' | 'Session' | 'Eventual';\n\nexport type OfferType = 'S1' | 'S2' | 'S3';\n\nexport type IndexingDirective = 'Include' | 'Exclude';\n\nexport type IndexingMode = 'none' | 'consistent' | 'lazy'; // lazy is deemphasized https://github.com/MicrosoftDocs/azure-docs/issues/23875\n\nexport interface Resource {\n id: string;\n}\n\nexport interface PersistedResource extends Resource {\n _rid: string;\n _self: string;\n _etag: string;\n _ts: number;\n}\n\nexport interface Document extends PersistedResource {\n _attachments: 'attachments/';\n}\n\nexport interface Database extends PersistedResource {\n _colls: 'colls/';\n _users: 'users/';\n}\n\nexport interface IndexingPolicy {\n indexingMode: IndexingMode;\n automatic: boolean;\n includedPaths?: {\n path: string;\n indexes?: {\n dataType: 'String' | 'Number';\n precision: number;\n kind: 'Range' | 'Hash';\n }[];\n }[];\n excludedPaths?: { path: string }[];\n}\n\nexport interface PartitionKeyDefinition {\n paths: string[];\n kind: 'Hash';\n}\n\nexport interface ConflictResolutionPolicy {\n mode: 'LastWriterWins';\n conflictResolutionPath: '/_ts';\n conflictResolutionProcedure: '';\n}\n\nexport interface GeospatialConfig {\n type: 'Geography';\n}\n\nexport interface Collection extends PersistedResource {\n indexingPolicy: IndexingPolicy;\n partitionKey: PartitionKeyDefinition;\n conflictResolutionPolicy: ConflictResolutionPolicy;\n geospatialConfig: GeospatialConfig;\n _docs: 'docs/';\n _sprocs: 'sprocs/';\n _triggers: 'triggers/';\n _udfs: 'udfs/';\n _conflicts: 'conflicts/';\n}\n\nexport interface ConnectionInfo {\n /**\n * Cosmos DB endpoint.\n * @example\n * \"https://xxxxxxxxxx.documents.azure.com\"\n */\n endpoint: string;\n\n /**\n * Cosmos DB key.\n */\n masterKey: string;\n}\n"]}
|
package/dist/commonjs/util.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export declare function escapeNonASCII(s: string): string;
|
|
|
3
3
|
export declare function assertArg(name: string, value: any): asserts value;
|
|
4
4
|
export declare function uri(strings: TemplateStringsArray, ...values: any[]): string;
|
|
5
5
|
export declare function parseConnectionString(connString: string): ConnectionInfo;
|
|
6
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5C,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhD;AAOD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAIjE;AAKD,wBAAgB,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAM3E;AAMD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAsBxE"}
|
package/dist/commonjs/util.js
CHANGED
|
@@ -13,9 +13,9 @@ function assertArg(name, value) {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
function uri(strings, ...values) {
|
|
16
|
-
let s = strings[0];
|
|
16
|
+
let s = strings[0] ?? '';
|
|
17
17
|
for (let i = 0; i < values.length; i++) {
|
|
18
|
-
s += encodeURIComponent(values[i]) + strings[i + 1];
|
|
18
|
+
s += encodeURIComponent(values[i]) + (strings[i + 1] ?? '');
|
|
19
19
|
}
|
|
20
20
|
return s;
|
|
21
21
|
}
|
|
@@ -32,11 +32,14 @@ function parseConnectionString(connString) {
|
|
|
32
32
|
props[key] = val;
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
|
-
|
|
35
|
+
const endpoint = props['AccountEndpoint'];
|
|
36
|
+
const masterKey = props['AccountKey'];
|
|
37
|
+
if (!endpoint || !masterKey) {
|
|
36
38
|
throw new Error('Invalid connection string');
|
|
37
39
|
}
|
|
38
40
|
return {
|
|
39
|
-
endpoint
|
|
40
|
-
masterKey
|
|
41
|
+
endpoint,
|
|
42
|
+
masterKey
|
|
41
43
|
};
|
|
42
44
|
}
|
|
45
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;;;;AAKA,wBAA+B,CAAS;IACtC,OAAO,CAAC,CAAC,OAAO,CACd,kBAAkB,EAClB,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAC3D,CAAC;AACJ,CAAC;AAOD,mBAA0B,IAAY,EAAE,KAAU;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAKD,aAAoB,OAA6B,EAAE,GAAG,MAAa;IACjE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAMD,+BAAsC,UAAkB;IACtD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACjC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC","sourcesContent":["import { ConnectionInfo } from './types.js';\n\n/**\n * Escape non-ASCII characters as \\uXXXX\n */\nexport function escapeNonASCII(s: string): string {\n return s.replace(\n /[\\u0080-\\uFFFF]/g,\n m => '\\\\u' + m.charCodeAt(0).toString(16).padStart(4, '0')\n );\n}\n\n/**\n * Asserts argument is truthy.\n * @param name Argument name.\n * @param value Argument value.\n */\nexport function assertArg(name: string, value: any): asserts value {\n if (!value) {\n throw new Error(`${name} is required.`);\n }\n}\n\n/**\n * Template literal tag which URI encodes values.\n */\nexport function uri(strings: TemplateStringsArray, ...values: any[]): string {\n let s = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n s += encodeURIComponent(values[i]) + (strings[i + 1] ?? '');\n }\n return s;\n}\n\n/**\n * Parses a connection string for Cosmos DB.\n * @param connString Cosmos DB connection string.\n */\nexport function parseConnectionString(connString: string): ConnectionInfo {\n const props: Record<string, string> = {};\n connString.split(';').forEach(kv => {\n const pos = kv.indexOf('=');\n if (pos < 1) {\n return;\n }\n const key = kv.slice(0, pos);\n const val = kv.slice(pos + 1);\n if (key && val) {\n props[key] = val;\n }\n });\n const endpoint = props['AccountEndpoint'];\n const masterKey = props['AccountKey'];\n if (!endpoint || !masterKey) {\n throw new Error('Invalid connection string');\n }\n return {\n endpoint,\n masterKey\n };\n}\n"]}
|
package/dist/esm/client.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/client.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { FeedResponse, ItemResponse } from './response.js';\nimport { defaultRetryPolicy, RetryContext, RetryPolicy } from './retry.js';\nimport { DefaultSessionContainer, SessionContainer } from './session.js';\nimport { getSigner, Signer } from './signer.js';\nimport {\n Collection,\n ConnectionInfo,\n ConsistencyLevel,\n Database,\n Document,\n IndexingDirective,\n IndexingPolicy,\n OfferType,\n PartitionKeyDefinition,\n Resource\n} from './types.js';\nimport {\n assertArg,\n escapeNonASCII,\n parseConnectionString,\n uri\n} from './util.js';\n\nexport type CosmosClientConfig =\n | (ConnectionInfo & CosmosClientConfigBase)\n | ({\n /**\n * Cosmos DB connection string.\n * @example\n * \"AccountEndpoint=https://xxxxxxxxxx.documents.azure.com:443/;AccountKey=xxxxxxxxxx;\"\n */\n connectionString: string;\n } & CosmosClientConfigBase);\n\ninterface CosmosClientConfigBase {\n /**\n * The retry policy to use when requests are throttled.\n */\n retryPolicy?: RetryPolicy;\n\n /**\n * Default consistency level for requests. This can be overriden on individual requests.\n * @default \"Session\"\n */\n consistencyLevel?: ConsistencyLevel;\n\n /**\n * Default database id. This can be overriden on individual requests.\n */\n dbId?: string;\n\n /**\n * Default collection id. This can be overriden on individual requests.\n */\n collId?: string;\n\n /**\n * Reads, writes, and stores session tokens for requests made with ConsistencyLevel is \"Session\".\n */\n sessions?: SessionContainer;\n\n /**\n * Enables cross partition queries. This can be overriden on individual queries. Defaults to true.\n */\n enableCrossPartitionQueries?: boolean;\n\n /**\n * System fetch function\n */\n fetch?: typeof fetch;\n}\n\nexport class CosmosClient {\n private readonly endpoint: string;\n private readonly signer: Signer;\n private readonly retryPolicy: RetryPolicy;\n private readonly consistencyLevel: ConsistencyLevel;\n private readonly dbId: string | undefined;\n private readonly collId: string | undefined;\n private readonly enableCrossPartitionQueries: boolean;\n private readonly systemFetch: typeof fetch;\n public readonly sessions: SessionContainer;\n public requestCharges = 0;\n public retries = { count: 0, delayMs: 0 };\n\n constructor(config: CosmosClientConfig) {\n let { endpoint, masterKey } =\n 'connectionString' in config\n ? parseConnectionString(config.connectionString)\n : config;\n if (endpoint.endsWith('/')) {\n endpoint = endpoint.slice(0, -1);\n }\n this.endpoint = endpoint;\n this.signer = getSigner(masterKey);\n this.retryPolicy = config.retryPolicy ?? defaultRetryPolicy;\n this.consistencyLevel = config.consistencyLevel ?? 'Session';\n this.dbId = config.dbId;\n this.collId = config.collId;\n this.enableCrossPartitionQueries =\n config.enableCrossPartitionQueries ?? true;\n this.sessions = config.sessions ?? new DefaultSessionContainer();\n this.systemFetch = config.fetch ?? fetch.bind(globalThis);\n }\n\n public async getDatabases(\n args: GetDatabasesArgs = {}\n ): Promise<FeedResponse<Database>> {\n const url = this.endpoint + `/dbs`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, args);\n const response = await this.fetchWithRetry(request);\n const next = this.getNext(response, args, this.getDatabases);\n return new FeedResponse<Database>(response, next, 'Databases');\n }\n\n public async getDatabase(\n args: GetDatabaseArgs = {}\n ): Promise<ItemResponse<Database>> {\n const { dbId = this.dbId, ...headers } = args;\n assertArg('dbId', dbId);\n const url = this.endpoint + uri`/dbs/${dbId}`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Database>(response);\n }\n\n public async getCollections(\n args: GetCollectionsArgs = {}\n ): Promise<FeedResponse<Collection>> {\n const { dbId = this.dbId, ...headers } = args;\n assertArg('dbId', dbId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n const next = this.getNext(response, args, this.getCollections);\n return new FeedResponse<Collection>(response, next, 'DocumentCollections');\n }\n\n public async getCollection(\n args: GetCollectionArgs = {}\n ): Promise<ItemResponse<Collection>> {\n const { dbId = this.dbId, collId = this.collId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Collection>(response);\n }\n\n public async createCollection(\n args: CreateCollectionArgs\n ): Promise<ItemResponse<Collection>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n indexingPolicy,\n partitionKey,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls`;\n const body = JSON.stringify({ id: collId, indexingPolicy, partitionKey });\n const request = new Request(url, { method: 'POST', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Collection>(response);\n }\n\n public async replaceCollection(\n args: ReplaceCollectionArgs\n ): Promise<ItemResponse<Collection>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n indexingPolicy,\n partitionKey,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}`;\n const body = JSON.stringify({ id: collId, indexingPolicy, partitionKey });\n const request = new Request(url, { method: 'PUT', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<Collection>(response);\n }\n\n public async deleteCollection(\n args: DeleteCollectionArgs = {}\n ): Promise<Response> {\n const { dbId = this.dbId, collId = this.collId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}`;\n const request = new Request(url, { method: 'DELETE' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return response;\n }\n\n public async getDocuments<T extends Resource>(\n args: GetDocumentsArgs\n ): Promise<FeedResponse<T & Document>> {\n const { dbId = this.dbId, collId = this.collId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n const next = this.getNext<GetDocumentsArgs, T & Document>(\n response,\n args,\n this.getDocuments\n );\n return new FeedResponse<T & Document>(response, next, 'Documents');\n }\n\n public async getDocument<T extends Resource>(\n args: GetDocumentArgs\n ): Promise<ItemResponse<T & Document>> {\n const { dbId = this.dbId, collId = this.collId, docId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs/${docId}`;\n const request = new Request(url, { method: 'GET' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<T & Document>(response);\n }\n\n public async createDocument<T extends Resource>(\n args: CreateDocumentArgs\n ): Promise<ItemResponse<T & Document>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n document,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs`;\n const body = toBodyInit(document);\n const request = new Request(url, { method: 'POST', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<T & Document>(response);\n }\n\n public async replaceDocument<T extends Resource>(\n args: ReplaceDocumentArgs\n ): Promise<ItemResponse<T & Document>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n docId,\n document,\n ...headers\n } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs/${docId}`;\n const body = toBodyInit(document);\n const request = new Request(url, { method: 'PUT', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/json');\n const response = await this.fetchWithRetry(request);\n return new ItemResponse<T & Document>(response);\n }\n\n public async deleteDocument(args: DeleteDocumentArgs): Promise<Response> {\n const { dbId = this.dbId, collId = this.collId, docId, ...headers } = args;\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs/${docId}`;\n const request = new Request(url, { method: 'DELETE' });\n this.setHeaders(request.headers, headers);\n const response = await this.fetchWithRetry(request);\n return response;\n }\n\n public async queryDocuments<T>(\n args: QueryDocumentsArgs\n ): Promise<FeedResponse<T>> {\n const {\n dbId = this.dbId,\n collId = this.collId,\n query,\n parameters = [],\n ...headerArgs\n } = args;\n\n assertArg('dbId', dbId);\n assertArg('collId', collId);\n\n const headers = Object.assign(\n {\n enableCrossPartition: this.enableCrossPartitionQueries,\n enableScan: false,\n maxItems: -1,\n populateMetrics: false,\n isQuery: true\n },\n headerArgs\n );\n const url = this.endpoint + uri`/dbs/${dbId}/colls/${collId}/docs`;\n const body = JSON.stringify({ query, parameters });\n const request = new Request(url, { method: 'POST', body });\n this.setHeaders(request.headers, headers);\n request.headers.set('content-type', 'application/query+json');\n const response = await this.fetchWithRetry(request);\n const next = this.getNext<QueryDocumentsArgs, T>(\n response,\n args,\n this.queryDocuments\n );\n return new FeedResponse<T>(response, next, 'Documents');\n }\n\n private getNext<TArgs extends CommonGetListArgs, TResult>(\n response: Response,\n args: TArgs,\n fn: (args: TArgs) => Promise<FeedResponse<TResult>>\n ): () => Promise<FeedResponse<TResult>> {\n return () => {\n const continuation = response.headers.get('x-ms-continuation');\n if (!continuation) {\n throw new Error(`Response is not continuable.`);\n }\n return fn.call(this, Object.assign({}, args, { continuation }));\n };\n }\n\n private async fetchWithRetry(\n request: Request,\n context?: RetryContext\n ): Promise<Response> {\n const retryRequest = request.clone();\n\n const response = await this.fetch(request);\n\n context ??= { attempts: 0, cumulativeWaitMs: 0, request, response };\n context.attempts++;\n context.request = retryRequest;\n context.response = response;\n\n const { retry, delayMs } = await this.retryPolicy.shouldRetry(context);\n if (!retry) {\n retryRequest.body?.cancel();\n return response;\n }\n if (delayMs !== 0) {\n await new Promise(resolve => setTimeout(resolve, delayMs));\n context.cumulativeWaitMs += delayMs;\n this.retries.delayMs += delayMs;\n }\n this.retries.count++;\n return this.fetchWithRetry(retryRequest, context);\n }\n\n private async fetch(request: Request): Promise<Response> {\n this.sessions.setRequestSession(request);\n await this.signer.sign(request);\n const response = await this.systemFetch(request);\n this.sessions.readResponseSession(response);\n const requestCharge = +(response.headers.get('x-ms-request-charge') || 0);\n this.requestCharges += requestCharge;\n return response;\n }\n\n private setHeaders(headers: Headers, args: AllHeaders) {\n headers.set('accept', 'application/json');\n headers.set('cache-control', 'no-cache');\n headers.set('x-ms-version', '2018-12-31');\n if (args.activityId) {\n headers.set('x-ms-activity-id', args.activityId);\n }\n const consistencyLevel = args.consistencyLevel || this.consistencyLevel;\n headers.set('x-ms-consistency-level', consistencyLevel);\n if (args.continuation) {\n headers.set('x-ms-continuation', args.continuation);\n }\n if (args.enableScan) {\n headers.set('x-ms-documentdb-query-enable-scan', 'true');\n }\n if (args.ifMatch) {\n headers.set('if-match', args.ifMatch);\n }\n if (args.ifModifiedSince) {\n headers.set('if-modified-since', args.ifModifiedSince.toUTCString());\n }\n if (args.ifNoneMatch) {\n headers.set('if-none-match', args.ifNoneMatch);\n }\n if (args.indexingDirective) {\n headers.set('x-ms-indexing-directive', args.indexingDirective);\n }\n if (args.isQuery) {\n headers.set('x-ms-documentdb-isquery', args.isQuery.toString());\n }\n if (args.isUpsert) {\n headers.set('x-ms-documentdb-is-upsert', args.isUpsert.toString());\n }\n if (args.maxItems) {\n headers.set('x-ms-max-item-count', args.maxItems.toString(10));\n }\n if (args.offerType) {\n headers.set('x-ms-offer-type', args.offerType);\n }\n if (args.offerThroughput) {\n headers.set('x-ms-offer-throughput', args.offerThroughput.toString());\n }\n if (args.populateMetrics) {\n headers.set('x-ms-documentdb-populatequerymetrics', 'true');\n }\n if (args.partitionKey) {\n headers.set(\n 'x-ms-documentdb-partitionkey',\n escapeNonASCII(JSON.stringify([args.partitionKey]))\n );\n if (args.isQuery) {\n headers.set('x-ms-documentdb-query-enablecrosspartition', 'false');\n }\n } else if (args.enableCrossPartition !== undefined && args.isQuery) {\n headers.set(\n 'x-ms-documentdb-query-enablecrosspartition',\n args.enableCrossPartition.toString()\n );\n }\n }\n}\n\nexport type DocumentInit = BufferSource | ReadableStream | string | Resource;\n\nfunction toBodyInit(obj: DocumentInit): BodyInit {\n if (\n (typeof obj === 'string' || DataView.prototype.isPrototypeOf(obj),\n ArrayBuffer.isView(obj) || obj instanceof ReadableStream)\n ) {\n return obj as any;\n }\n return JSON.stringify(obj);\n}\n\ninterface CommonArgs {\n activityId?: string;\n consistencyLevel?: ConsistencyLevel;\n}\n\ninterface CommonGetArgs extends CommonArgs {\n ifNoneMatch?: string;\n ifModifiedSince?: Date;\n}\n\ninterface CommonGetListArgs extends CommonGetArgs {\n maxItems?: number;\n continuation?: string;\n}\n\nexport type GetDatabasesArgs = CommonGetListArgs;\n\nexport interface GetDatabaseArgs extends CommonGetArgs {\n dbId?: string;\n}\n\nexport interface GetCollectionsArgs extends CommonGetListArgs {\n dbId?: string;\n}\n\nexport interface GetCollectionArgs extends CommonGetArgs {\n dbId?: string;\n collId?: string;\n}\n\nexport interface CreateCollectionArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n indexingPolicy?: IndexingPolicy;\n partitionKey: PartitionKeyDefinition;\n offerThroughput?: number;\n offerType?: OfferType;\n}\n\nexport interface ReplaceCollectionArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n indexingPolicy: IndexingPolicy;\n partitionKey: PartitionKeyDefinition;\n ifMatch?: string;\n}\n\nexport interface DeleteCollectionArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n ifMatch?: string;\n}\n\nexport interface GetDocumentsArgs extends CommonGetListArgs {\n dbId?: string;\n collId?: string;\n partitionKey?: string;\n}\n\nexport interface GetDocumentArgs extends CommonGetArgs {\n dbId?: string;\n collId?: string;\n docId: string;\n partitionKey: string;\n}\n\nexport interface QueryDocumentsArgs extends CommonGetListArgs {\n dbId?: string;\n collId?: string;\n query: string;\n parameters?: QueryParameter[];\n partitionKey?: string;\n enableCrossPartition?: boolean;\n populateMetrics?: boolean;\n enableScan?: boolean;\n}\n\nexport interface QueryParameter {\n name: string;\n value: string | number | boolean | null | undefined;\n}\n\nexport interface CreateDocumentArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n document: DocumentInit;\n partitionKey: string;\n isUpsert?: boolean;\n indexingDirective?: IndexingDirective;\n}\n\nexport interface ReplaceDocumentArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n docId: string;\n document: DocumentInit;\n partitionKey: string;\n ifMatch?: string;\n indexingDirective?: IndexingDirective;\n}\n\nexport interface DeleteDocumentArgs extends CommonArgs {\n dbId?: string;\n collId?: string;\n docId: string;\n partitionKey: string;\n ifMatch?: string;\n}\n\ninterface AllHeaders {\n activityId?: string;\n consistencyLevel?: ConsistencyLevel;\n continuation?: string;\n enableCrossPartition?: boolean;\n enableScan?: boolean;\n ifMatch?: string;\n ifModifiedSince?: Date;\n ifNoneMatch?: string;\n indexingDirective?: IndexingDirective;\n isQuery?: boolean;\n isUpsert?: boolean;\n maxItems?: number;\n offerType?: OfferType;\n offerThroughput?: number;\n partitionKey?: string;\n populateMetrics?: boolean;\n}\n"]}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC","sourcesContent":["export * from './client.js';\nexport * from './response.js';\nexport * from './session.js';\nexport * from './signer.js';\nexport * from './types.js';\nexport * from './util.js';\n"]}
|
package/dist/esm/package.json
CHANGED
package/dist/esm/response.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,8BAAsB,cAAc;IACtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAAjD,YAA+B,QAAQ,EAAE,QAAQ,EAAI;IAErD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,IAAI,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAE5C;IACD,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAE9B;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,aAAa,IAAI,MAAM,CAE1B;IACD,IAAI,GAAG,IAAI,QAAQ,CAElB;CACF;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS,iBAAiB,CAAE,SAAQ,cAAc;IAC3E,YAAY,QAAQ,EAAE,QAAQ,EAE7B;IAED,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAEjB;CACF;AAED,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,cAAc;aAG/B,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHhC,YACE,QAAQ,EAAE,QAAQ,EACF,IAAI,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnC,aAAa,EAAE,MAAM,EAGvC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAGzB;CACF"}
|
package/dist/esm/response.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,cAAc;IACH,QAAQ;IAAvC,YAA+B,QAAkB;wBAAlB,QAAQ;IAAa,CAAC;IAErD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,YAA0C,SAAQ,cAAc;IAC3E,YAAY,QAAkB;QAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,YAAgB,SAAQ,cAAc;IAG/B,IAAI;IACH,aAAa;IAHhC,YACE,QAAkB,EACF,IAAoC,EACnC,aAAqB;QAEtC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAHA,IAAI;6BACH,aAAa;IAGhC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;CACF","sourcesContent":["import { PersistedResource } from './types.js';\n\nexport abstract class CosmosResponse {\n constructor(protected readonly response: Response) {}\n\n get status(): number {\n return this.response.status;\n }\n get headers(): Headers {\n return this.response.headers;\n }\n get body(): ReadableStream<Uint8Array> | null {\n return this.response.body;\n }\n get activityId(): string | null {\n return this.response.headers.get('x-ms-activity-id');\n }\n get etag(): string {\n return this.response.headers.get('etag')!;\n }\n get requestCharge(): number {\n return parseInt(this.response.headers.get('x-ms-request-charge')!);\n }\n get raw(): Response {\n return this.response;\n }\n}\n\nexport class ItemResponse<T extends PersistedResource> extends CosmosResponse {\n constructor(response: Response) {\n super(response);\n }\n\n json(): Promise<T> {\n return this.response.json();\n }\n}\n\nexport class FeedResponse<T> extends CosmosResponse {\n constructor(\n response: Response,\n public readonly next: () => Promise<FeedResponse<T>>,\n private readonly itemsProperty: string\n ) {\n super(response);\n }\n\n get count(): number {\n return parseInt(this.response.headers.get('x-ms-item-count')!);\n }\n get hasNext(): boolean {\n return this.response.headers.has('x-ms-continuation');\n }\n\n async json(): Promise<T[]> {\n const data: any = await this.response.json();\n return data[this.itemsProperty];\n }\n}\n"]}
|
package/dist/esm/retry.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAED,qBAAa,kBAAmB,YAAW,WAAW;aAElC,WAAW;aACX,uBAAuB;aACvB,mBAAmB;IAHrC,YACkB,WAAW,SAAK,EAChB,uBAAuB,SAAQ,EAC/B,mBAAmB,SAAO,EACxC;IAEE,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBlE;CACF;AAED,eAAO,MAAM,kBAAkB,EAAE,WAAsC,CAAC"}
|
package/dist/esm/retry.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAkBvD,MAAM,OAAO,kBAAkB;IAEX,WAAW;IACX,uBAAuB;IACvB,mBAAmB;IAHrC,YACkB,WAAW,GAAG,EAAE,EAChB,uBAAuB,GAAG,KAAK,EAC/B,mBAAmB,GAAG,IAAI;2BAF1B,WAAW;uCACX,uBAAuB;mCACvB,mBAAmB;IAClC,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,IAAI,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,IACE,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;YAC/B,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW;YACpC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EACxD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CACf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACnD,IAAI,CAAC,mBAAmB,CACzB,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAgB,IAAI,kBAAkB,EAAE,CAAC","sourcesContent":["import { readSessionNotAvailable } from './session.js';\n\nexport interface RetryContext {\n request: Request;\n response: Response;\n attempts: number;\n cumulativeWaitMs: number;\n}\n\nexport interface RetryInstruction {\n retry: boolean;\n delayMs: number;\n}\n\nexport interface RetryPolicy {\n shouldRetry(context: RetryContext): Promise<RetryInstruction>;\n}\n\nexport class DefaultRetryPolicy implements RetryPolicy {\n constructor(\n public readonly maxAttempts = 10,\n public readonly maxCumulativeWaitTimeMs = 30000,\n public readonly defaultRetryDelayMs = 5000\n ) {}\n\n async shouldRetry(context: RetryContext): Promise<RetryInstruction> {\n if (readSessionNotAvailable(context.response)) {\n return { retry: true, delayMs: 0 };\n }\n if (\n context.response.status !== 429 ||\n context.attempts >= this.maxAttempts ||\n context.cumulativeWaitMs >= this.maxCumulativeWaitTimeMs\n ) {\n return { retry: false, delayMs: 0 };\n }\n const delayMs = +(\n context.response.headers.get('x-ms-retry-after-ms') ||\n this.defaultRetryDelayMs\n );\n return { retry: true, delayMs };\n }\n}\n\nexport const defaultRetryPolicy: RetryPolicy = new DefaultRetryPolicy();\n"]}
|
package/dist/esm/session.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAKnE;AAMD,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EACR,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQ1C;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC/C;AAED,qBAAa,uBAAwB,YAAW,gBAAgB;aAClC,MAAM,EAAE,aAAa;IAAjD,YAA4B,MAAM,GAAE,aAAkB,EAAI;IAE1D,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAYxC;IAED,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAiB5C;CACF"}
|
package/dist/esm/session.js
CHANGED
|
@@ -6,7 +6,7 @@ export function readSessionNotAvailable(response) {
|
|
|
6
6
|
export function getCollectionId({ url, headers }) {
|
|
7
7
|
const path = headers.get('x-ms-alt-content-path') ?? new URL(url).pathname.substr(1);
|
|
8
8
|
const [, dbId, colls, collId] = path.split('/');
|
|
9
|
-
if (colls !== 'colls' || !collId) {
|
|
9
|
+
if (!dbId || colls !== 'colls' || !collId) {
|
|
10
10
|
return null;
|
|
11
11
|
}
|
|
12
12
|
return { dbId, collId };
|
|
@@ -35,15 +35,17 @@ export class DefaultSessionContainer {
|
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
37
|
if (readSessionNotAvailable(response)) {
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
const dbTokens = this.tokens[ids.dbId];
|
|
39
|
+
if (dbTokens) {
|
|
40
|
+
delete dbTokens[ids.collId];
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
const token = response.headers.get('x-ms-session-token');
|
|
43
44
|
if (!token) {
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
|
-
this.tokens[ids.dbId] ??= {};
|
|
47
|
-
|
|
47
|
+
const dbTokens = (this.tokens[ids.dbId] ??= {});
|
|
48
|
+
dbTokens[ids.collId] = token;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
51
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,MAAM,gCAAgC,GAAW,MAAM,CAAC;AAExD,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,OAAO,CACL,QAAQ,CAAC,MAAM,KAAK,GAAG;QACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,gCAAgC,CAC5E,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EAIR;IACC,MAAM,IAAI,GACR,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAYD,MAAM,OAAO,uBAAuB;IACN,MAAM;IAAlC,YAA4B,MAAM,GAAkB,EAAE;sBAA1B,MAAM;IAAuB,CAAC;IAE1D,iBAAiB,CAAC,OAAgB;QAChC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,QAAkB;QACpC,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;CACF","sourcesContent":["const readSessionNotAvailableSubstatus: string = '1002';\n\nexport function readSessionNotAvailable(response: Response): boolean {\n return (\n response.status === 404 &&\n response.headers.get('x-ms-substatus') === readSessionNotAvailableSubstatus\n );\n}\n\n/**\n * Get the database and collection id from the x-ms-alt-content-path header or url.\n * @param requestOrResponse\n */\nexport function getCollectionId({\n url,\n headers\n}: {\n url: string;\n headers: Headers;\n}): { dbId: string; collId: string } | null {\n const path =\n headers.get('x-ms-alt-content-path') ?? new URL(url).pathname.substr(1);\n const [, dbId, colls, collId] = path.split('/');\n if (!dbId || colls !== 'colls' || !collId) {\n return null;\n }\n return { dbId, collId };\n}\n\nexport interface SessionTokens {\n [dbId: string]: { [collId: string]: string };\n}\n\nexport interface SessionContainer {\n tokens: SessionTokens;\n setRequestSession(request: Request): void;\n readResponseSession(response: Response): void;\n}\n\nexport class DefaultSessionContainer implements SessionContainer {\n constructor(public readonly tokens: SessionTokens = {}) {}\n\n setRequestSession(request: Request): void {\n if (request.headers.get('x-ms-consistency-level') !== 'Session') {\n return;\n }\n const ids = getCollectionId(request);\n if (!ids) {\n return;\n }\n const token = this.tokens?.[ids.dbId]?.[ids.collId];\n if (token) {\n request.headers.set('x-ms-session-token', token);\n }\n }\n\n readResponseSession(response: Response): void {\n const ids = getCollectionId(response);\n if (!ids) {\n return;\n }\n if (readSessionNotAvailable(response)) {\n const dbTokens = this.tokens[ids.dbId];\n if (dbTokens) {\n delete dbTokens[ids.collId];\n }\n }\n const token = response.headers.get('x-ms-session-token');\n if (!token) {\n return;\n }\n const dbTokens = (this.tokens[ids.dbId] ??= {});\n dbTokens[ids.collId] = token;\n }\n}\n"]}
|
package/dist/esm/signer.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ export declare class Signer {
|
|
|
3
3
|
private readonly encoder;
|
|
4
4
|
constructor(masterkey: string);
|
|
5
5
|
sign(request: Request, date?: Date): Promise<void>;
|
|
6
|
-
getPayload(request: Request, date: Date): Uint8Array
|
|
6
|
+
getPayload(request: Request, date: Date): Uint8Array<ArrayBuffer>;
|
|
7
7
|
pathnameToResource(pathname: string): {
|
|
8
8
|
resourceType: string;
|
|
9
9
|
resourceId: string;
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
export declare function getSigner(masterKey: string): Signer;
|
|
13
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAGA,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,YAAY,SAAS,EAAE,MAAM,EAS5B;IAEY,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,IAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E;IAEM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAQvE;IAEM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG;QAC3C,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAUA;CACF;AAID,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
package/dist/esm/signer.js
CHANGED
|
@@ -3,7 +3,7 @@ export class Signer {
|
|
|
3
3
|
masterkey;
|
|
4
4
|
encoder = new TextEncoder();
|
|
5
5
|
constructor(masterkey) {
|
|
6
|
-
const promiseLike = crypto.subtle.importKey('raw', base64.parse(masterkey), { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);
|
|
6
|
+
const promiseLike = crypto.subtle.importKey('raw', Uint8Array.from(base64.parse(masterkey)), { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);
|
|
7
7
|
this.masterkey = Promise.resolve(promiseLike);
|
|
8
8
|
}
|
|
9
9
|
async sign(request, date = new Date()) {
|
|
@@ -26,19 +26,17 @@ export class Signer {
|
|
|
26
26
|
pathnameToResource(pathname) {
|
|
27
27
|
const segments = pathname.split('/');
|
|
28
28
|
if (segments.length % 2 === 0) {
|
|
29
|
-
const resourceType = segments
|
|
29
|
+
const resourceType = segments.at(-1) ?? '';
|
|
30
30
|
const resourceId = segments.slice(1, segments.length - 1).join('/');
|
|
31
31
|
return { resourceType, resourceId };
|
|
32
32
|
}
|
|
33
|
-
const resourceType = segments
|
|
33
|
+
const resourceType = segments.at(-2) ?? '';
|
|
34
34
|
const resourceId = segments.slice(1, segments.length).join('/');
|
|
35
35
|
return { resourceType, resourceId };
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
const signers = {};
|
|
39
39
|
export function getSigner(masterKey) {
|
|
40
|
-
|
|
41
|
-
signers[masterKey] = new Signer(masterKey);
|
|
42
|
-
}
|
|
43
|
-
return signers[masterKey];
|
|
40
|
+
return (signers[masterKey] ??= new Signer(masterKey));
|
|
44
41
|
}
|
|
42
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-ignore\nimport { base64 } from 'rfc4648';\n\nexport class Signer {\n private readonly masterkey: Promise<CryptoKey>;\n private readonly encoder = new TextEncoder();\n\n constructor(masterkey: string) {\n const promiseLike = crypto.subtle.importKey(\n 'raw',\n Uint8Array.from(base64.parse(masterkey)),\n { name: 'HMAC', hash: { name: 'SHA-256' } },\n false,\n ['sign']\n );\n this.masterkey = Promise.resolve(promiseLike);\n }\n\n public async sign(request: Request, date: Date = new Date()): Promise<void> {\n const key = await this.masterkey;\n const payload = this.getPayload(request, date);\n const hashed = await crypto.subtle.sign('HMAC', key, payload);\n const signature = base64.stringify(new Uint8Array(hashed));\n request.headers.set(\n 'authorization',\n encodeURIComponent(`type=master&ver=1.0&sig=${signature}`)\n );\n request.headers.set('x-ms-date', date.toUTCString());\n }\n\n public getPayload(request: Request, date: Date): Uint8Array<ArrayBuffer> {\n const url = new URL(request.url);\n const { resourceType, resourceId } = this.pathnameToResource(url.pathname);\n const method = request.method.toLowerCase();\n const text = `${method}\\n${resourceType}\\n${resourceId}\\n${date\n .toUTCString()\n .toLowerCase()}\\n\\n`;\n return this.encoder.encode(text);\n }\n\n public pathnameToResource(pathname: string): {\n resourceType: string;\n resourceId: string;\n } {\n const segments = pathname.split('/');\n if (segments.length % 2 === 0) {\n const resourceType = segments.at(-1) ?? '';\n const resourceId = segments.slice(1, segments.length - 1).join('/');\n return { resourceType, resourceId };\n }\n const resourceType = segments.at(-2) ?? '';\n const resourceId = segments.slice(1, segments.length).join('/');\n return { resourceType, resourceId };\n }\n}\n\nconst signers: Record<string, Signer> = {};\n\nexport function getSigner(masterKey: string): Signer {\n return (signers[masterKey] ??= new Signer(masterKey));\n}\n"]}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7E,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,YAAY,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,QAAS,SAAQ,iBAAiB;IACjD,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE;YACR,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;SACxB,EAAE,CAAC;KACL,EAAE,CAAC;IACJ,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,iBAAiB;IACnD,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,sBAAsB,CAAC;IACrC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAM7B,QAAQ,EAAE,MAAM,CAAC;IAKjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/esm/types.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export type ConsistencyLevel = 'Strong' | 'Bounded' | 'Session' | 'Eventual';\n\nexport type OfferType = 'S1' | 'S2' | 'S3';\n\nexport type IndexingDirective = 'Include' | 'Exclude';\n\nexport type IndexingMode = 'none' | 'consistent' | 'lazy'; // lazy is deemphasized https://github.com/MicrosoftDocs/azure-docs/issues/23875\n\nexport interface Resource {\n id: string;\n}\n\nexport interface PersistedResource extends Resource {\n _rid: string;\n _self: string;\n _etag: string;\n _ts: number;\n}\n\nexport interface Document extends PersistedResource {\n _attachments: 'attachments/';\n}\n\nexport interface Database extends PersistedResource {\n _colls: 'colls/';\n _users: 'users/';\n}\n\nexport interface IndexingPolicy {\n indexingMode: IndexingMode;\n automatic: boolean;\n includedPaths?: {\n path: string;\n indexes?: {\n dataType: 'String' | 'Number';\n precision: number;\n kind: 'Range' | 'Hash';\n }[];\n }[];\n excludedPaths?: { path: string }[];\n}\n\nexport interface PartitionKeyDefinition {\n paths: string[];\n kind: 'Hash';\n}\n\nexport interface ConflictResolutionPolicy {\n mode: 'LastWriterWins';\n conflictResolutionPath: '/_ts';\n conflictResolutionProcedure: '';\n}\n\nexport interface GeospatialConfig {\n type: 'Geography';\n}\n\nexport interface Collection extends PersistedResource {\n indexingPolicy: IndexingPolicy;\n partitionKey: PartitionKeyDefinition;\n conflictResolutionPolicy: ConflictResolutionPolicy;\n geospatialConfig: GeospatialConfig;\n _docs: 'docs/';\n _sprocs: 'sprocs/';\n _triggers: 'triggers/';\n _udfs: 'udfs/';\n _conflicts: 'conflicts/';\n}\n\nexport interface ConnectionInfo {\n /**\n * Cosmos DB endpoint.\n * @example\n * \"https://xxxxxxxxxx.documents.azure.com\"\n */\n endpoint: string;\n\n /**\n * Cosmos DB key.\n */\n masterKey: string;\n}\n"]}
|
package/dist/esm/util.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export declare function escapeNonASCII(s: string): string;
|
|
|
3
3
|
export declare function assertArg(name: string, value: any): asserts value;
|
|
4
4
|
export declare function uri(strings: TemplateStringsArray, ...values: any[]): string;
|
|
5
5
|
export declare function parseConnectionString(connString: string): ConnectionInfo;
|
|
6
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5C,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKhD;AAOD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAIjE;AAKD,wBAAgB,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAM3E;AAMD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAsBxE"}
|
package/dist/esm/util.js
CHANGED
|
@@ -7,9 +7,9 @@ export function assertArg(name, value) {
|
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
export function uri(strings, ...values) {
|
|
10
|
-
let s = strings[0];
|
|
10
|
+
let s = strings[0] ?? '';
|
|
11
11
|
for (let i = 0; i < values.length; i++) {
|
|
12
|
-
s += encodeURIComponent(values[i]) + strings[i + 1];
|
|
12
|
+
s += encodeURIComponent(values[i]) + (strings[i + 1] ?? '');
|
|
13
13
|
}
|
|
14
14
|
return s;
|
|
15
15
|
}
|
|
@@ -26,11 +26,14 @@ export function parseConnectionString(connString) {
|
|
|
26
26
|
props[key] = val;
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
|
-
|
|
29
|
+
const endpoint = props['AccountEndpoint'];
|
|
30
|
+
const masterKey = props['AccountKey'];
|
|
31
|
+
if (!endpoint || !masterKey) {
|
|
30
32
|
throw new Error('Invalid connection string');
|
|
31
33
|
}
|
|
32
34
|
return {
|
|
33
|
-
endpoint
|
|
34
|
-
masterKey
|
|
35
|
+
endpoint,
|
|
36
|
+
masterKey
|
|
35
37
|
};
|
|
36
38
|
}
|
|
39
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,OAAO,CAAC,CAAC,OAAO,CACd,kBAAkB,EAClB,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAC3D,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAU;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,GAAG,CAAC,OAA6B,EAAE,GAAG,MAAa;IACjE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAMD,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACjC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC","sourcesContent":["import { ConnectionInfo } from './types.js';\n\n/**\n * Escape non-ASCII characters as \\uXXXX\n */\nexport function escapeNonASCII(s: string): string {\n return s.replace(\n /[\\u0080-\\uFFFF]/g,\n m => '\\\\u' + m.charCodeAt(0).toString(16).padStart(4, '0')\n );\n}\n\n/**\n * Asserts argument is truthy.\n * @param name Argument name.\n * @param value Argument value.\n */\nexport function assertArg(name: string, value: any): asserts value {\n if (!value) {\n throw new Error(`${name} is required.`);\n }\n}\n\n/**\n * Template literal tag which URI encodes values.\n */\nexport function uri(strings: TemplateStringsArray, ...values: any[]): string {\n let s = strings[0] ?? '';\n for (let i = 0; i < values.length; i++) {\n s += encodeURIComponent(values[i]) + (strings[i + 1] ?? '');\n }\n return s;\n}\n\n/**\n * Parses a connection string for Cosmos DB.\n * @param connString Cosmos DB connection string.\n */\nexport function parseConnectionString(connString: string): ConnectionInfo {\n const props: Record<string, string> = {};\n connString.split(';').forEach(kv => {\n const pos = kv.indexOf('=');\n if (pos < 1) {\n return;\n }\n const key = kv.slice(0, pos);\n const val = kv.slice(pos + 1);\n if (key && val) {\n props[key] = val;\n }\n });\n const endpoint = props['AccountEndpoint'];\n const masterKey = props['AccountKey'];\n if (!endpoint || !masterKey) {\n throw new Error('Invalid connection string');\n }\n return {\n endpoint,\n masterKey\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cfworker/cosmos",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"description": "Azure Cosmos DB client for Cloudflare Workers and service workers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"azure",
|
|
@@ -42,8 +42,9 @@
|
|
|
42
42
|
],
|
|
43
43
|
"scripts": {
|
|
44
44
|
"prepare": "tshy",
|
|
45
|
-
"build": "
|
|
46
|
-
"
|
|
45
|
+
"build": "tshy",
|
|
46
|
+
"typecheck": "tsc --project tsconfig.json",
|
|
47
|
+
"clean": "tsc --build tsconfig.build.json --clean",
|
|
47
48
|
"pretest": "esbuild test/test.ts --target=esnext --bundle --format=esm --conditions=worker,browser --outdir=dist-test --ignore-annotations",
|
|
48
49
|
"test": "node ../../test.mjs"
|
|
49
50
|
},
|
|
@@ -51,16 +52,17 @@
|
|
|
51
52
|
"rfc4648": "^1.5.4"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
|
-
"@types/chai": "^5.
|
|
55
|
+
"@types/chai": "^5.2.3",
|
|
55
56
|
"@types/mocha": "^10.0.10",
|
|
56
|
-
"chai": "^
|
|
57
|
-
"esbuild": "^0.
|
|
58
|
-
"mocha": "^
|
|
59
|
-
"tshy": "^
|
|
60
|
-
"typescript": "^
|
|
61
|
-
"wrangler": "^
|
|
57
|
+
"chai": "^6.3.0",
|
|
58
|
+
"esbuild": "^0.28.2",
|
|
59
|
+
"mocha": "^12.0.3",
|
|
60
|
+
"tshy": "^4.1.3",
|
|
61
|
+
"typescript": "^7.0.2",
|
|
62
|
+
"wrangler": "^4.156.0"
|
|
62
63
|
},
|
|
63
64
|
"tshy": {
|
|
65
|
+
"project": "./tsconfig.build.json",
|
|
64
66
|
"exports": {
|
|
65
67
|
"./package.json": "./package.json",
|
|
66
68
|
".": "./src/index.ts"
|