mongodb-schema
Version:
Infer the probabilistic schema for a MongoDB collection.
31 lines (30 loc) • 1.45 kB
TypeScript
/// <reference types="node" />
import { Schema as InternalSchema } from './schema-analyzer';
import { ExpandedJSONSchema, MongoDBJSONSchema, SchemaConverterFn, StandardJSONSchema } from './types';
type Options = {
signal?: AbortSignal;
};
export interface SchemaAccessor {
getStandardJsonSchema: (options?: Options) => Promise<StandardJSONSchema>;
getMongoDBJsonSchema: (options?: Options) => Promise<MongoDBJSONSchema>;
getExpandedJSONSchema: (options?: Options) => Promise<ExpandedJSONSchema>;
getInternalSchema: (options?: Options) => Promise<InternalSchema>;
}
export type InternalConverters = {
internalToStandard: SchemaConverterFn<InternalSchema, StandardJSONSchema>;
internalToExpanded: SchemaConverterFn<InternalSchema, ExpandedJSONSchema>;
internalToMongoDB: SchemaConverterFn<InternalSchema, MongoDBJSONSchema>;
};
export declare class InternalSchemaBasedAccessor implements SchemaAccessor {
private internalSchema;
private standardJSONSchema?;
private mongodbJSONSchema?;
private expandedJSONSchema?;
private converters;
constructor(internalSchema: InternalSchema, converters: InternalConverters);
getInternalSchema(): Promise<InternalSchema>;
getStandardJsonSchema(options?: Options): Promise<StandardJSONSchema>;
getMongoDBJsonSchema(options?: Options): Promise<MongoDBJSONSchema>;
getExpandedJSONSchema(options?: Options): Promise<ExpandedJSONSchema>;
}
export {};