@azure/cosmos
Version:
Microsoft Azure Cosmos DB Service Node.js SDK for NOSQL API
99 lines • 3.48 kB
TypeScript
import { QueryRange } from "../../routing/QueryRange.js";
import type { QueryRangeMapping } from "../../queryExecutionContext/queryRangeMapping.js";
/**
* @hidden
*/
export interface RangeBoundary {
/**
* Minimum boundary (inclusive)
*/
min: string;
/**
* Maximum boundary (exclusive)
*/
max: string;
}
/**
* @hidden
* Base interface for all continuation tokens containing common fields
*/
export interface BaseContinuationToken {
/**
* Resource ID of the container for which the continuation token is issued
*/
rid: string;
/**
* List of query ranges with their continuation tokens
*/
rangeMappings: QueryRangeWithContinuationToken[];
/**
* Current offset value for OFFSET/LIMIT queries
*/
offset?: number;
/**
* Current limit value for OFFSET/LIMIT queries
*/
limit?: number;
}
/**
* @hidden
* Composite continuation token for parallel query execution across multiple partition ranges
*/
export interface CompositeQueryContinuationToken extends BaseContinuationToken {
}
/**
* Creates a new CompositeQueryContinuationToken
* @hidden
*/
export declare function createCompositeQueryContinuationToken(rid: string, rangeMappings: QueryRangeWithContinuationToken[], offset?: number, limit?: number): CompositeQueryContinuationToken;
/**
* Serializes the composite continuation token to a JSON string
* @hidden
*/
export declare function serializeCompositeToken(token: CompositeQueryContinuationToken): string;
/**
* Deserializes a JSON string to a CompositeQueryContinuationToken
* @hidden
*/
export declare function parseCompositeQueryContinuationToken(tokenString: string): CompositeQueryContinuationToken;
/**
* Deserializes a JSON string to a CompositeQueryContinuationToken
* @hidden
*/
export declare function parseBaseContinuationToken(tokenString: string): BaseContinuationToken;
/**
* @hidden
* Represents a query range with its associated continuation token
*/
export interface QueryRangeWithContinuationToken {
/**
* The simplified query range containing min/max boundaries
*/
queryRange: RangeBoundary;
/**
* The continuation token for this specific range
*/
continuationToken: string | undefined;
}
/**
* Converts QueryRangeMapping to QueryRangeWithContinuationToken using simplified range format
* @param rangeMapping - The QueryRangeMapping to convert
* @returns QueryRangeWithContinuationToken with simplified boundaries and continuation token
* @hidden
*/
export declare function convertRangeMappingToQueryRange(rangeMapping: QueryRangeMapping): QueryRangeWithContinuationToken;
/**
* Converts an array of QueryRangeMapping to an array of QueryRangeWithContinuationToken
* @param rangeMappings - Array of QueryRangeMapping to convert
* @returns Array of QueryRangeWithContinuationToken with simplified boundaries and continuation tokens
* @hidden
*/
export declare function convertRangeMappingsToQueryRangesWithTokens(rangeMappings: QueryRangeMapping[]): QueryRangeWithContinuationToken[];
/**
* Converts a SimplifiedQueryRange back to a QueryRange for internal use
* @param simplifiedRange - The simplified range to convert
* @returns QueryRange with standard assumptions (min inclusive, max exclusive)
* @hidden
*/
export declare function convertSimplifiedRangeToQueryRange(simplifiedRange: RangeBoundary): QueryRange;
//# sourceMappingURL=CompositeQueryContinuationToken.d.ts.map