@atls/nestjs-typesense 0.0.4 → 0.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.
@@ -0,0 +1 @@
1
+ export * from './typesense-colletctions.creator';
@@ -0,0 +1,10 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import { Client } from 'typesense';
3
+ import { TypesenseMetadataRegistry } from '../metadata';
4
+ export declare class TypesenseCollectionsCreator implements OnModuleInit {
5
+ private readonly registry;
6
+ private readonly typesense;
7
+ private readonly logger;
8
+ constructor(registry: TypesenseMetadataRegistry, typesense: Client);
9
+ onModuleInit(): Promise<void>;
10
+ }
@@ -0,0 +1,9 @@
1
+ export interface FieldMetadata {
2
+ name?: string;
3
+ facet?: boolean;
4
+ index?: boolean;
5
+ optional?: boolean;
6
+ }
7
+ export declare type FieldType = 'auto' | 'string' | 'int32' | 'int64' | 'float' | 'bool' | 'geopoint' | 'string[]' | 'int32[]' | 'int64' | 'float[]' | 'bool[]';
8
+ export declare const FIELD_METADATA = "__fieldMetadata__";
9
+ export declare const Field: (type: FieldType, options?: FieldMetadata) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
@@ -0,0 +1,2 @@
1
+ export * from './schema.decorator';
2
+ export * from './field.decorator';
@@ -0,0 +1,7 @@
1
+ export interface SchemaMetadata {
2
+ name?: string;
3
+ defaultSortingField?: string;
4
+ auto?: boolean;
5
+ }
6
+ export declare const SCHEMA_METADATA = "__schemaMetadata__";
7
+ export declare const Schema: (options?: SchemaMetadata) => ClassDecorator;
@@ -0,0 +1,4 @@
1
+ export * from './collections';
2
+ export * from './decorators';
3
+ export * from './metadata';
4
+ export * from './module';
@@ -0,0 +1,3 @@
1
+ export * from './typesense.metadata-accessor';
2
+ export * from './typesense.metadata-explorer';
3
+ export * from './typesense.metadata-registry';
@@ -0,0 +1,12 @@
1
+ export interface SchemaField {
2
+ name: string;
3
+ type: string;
4
+ facet?: boolean;
5
+ index?: boolean;
6
+ optional?: boolean;
7
+ }
8
+ export interface Schema {
9
+ name: string;
10
+ defaultSortingField: string;
11
+ fields: Array<SchemaField>;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { Reflector } from '@nestjs/core';
2
+ import { Schema } from './schema.metadata';
3
+ export declare class TypesenseMetadataAccessor {
4
+ private readonly reflector;
5
+ constructor(reflector: Reflector);
6
+ getTypesenseMetadata(target: any): Schema | undefined;
7
+ }
@@ -0,0 +1,14 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import { DiscoveryService } from '@nestjs/core';
3
+ import { TypesenseMetadataAccessor } from './typesense.metadata-accessor';
4
+ import { TypesenseMetadataRegistry } from './typesense.metadata-registry';
5
+ export declare class TypesenseMetadataExplorer implements OnModuleInit {
6
+ private readonly discoveryService;
7
+ private readonly metadataAccessor;
8
+ private readonly metadataRegistry;
9
+ private readonly logger;
10
+ constructor(discoveryService: DiscoveryService, metadataAccessor: TypesenseMetadataAccessor, metadataRegistry: TypesenseMetadataRegistry);
11
+ onModuleInit(): void;
12
+ explore(): void;
13
+ lookupSchema(instance: any): void;
14
+ }
@@ -0,0 +1,10 @@
1
+ import { Schema } from './schema.metadata';
2
+ declare type Constructor = new (...args: any[]) => {};
3
+ export declare class TypesenseMetadataRegistry {
4
+ private logger;
5
+ private schemas;
6
+ addSchema(target: Constructor, schema: Schema): void;
7
+ getSchemaByTarget(target: Constructor): Schema | undefined;
8
+ getTargets(): IterableIterator<Constructor>;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './typesense-module.interface';
2
+ export * from './typesense.constants';
3
+ export * from './typesense.module';
@@ -0,0 +1,25 @@
1
+ import { ModuleMetadata } from '@nestjs/common/interfaces';
2
+ import { Type } from '@nestjs/common/interfaces';
3
+ export interface TypesenseNodeOptions {
4
+ host: string;
5
+ port: string;
6
+ protocol: string;
7
+ }
8
+ export interface TypesenseModuleOptions {
9
+ nodes?: Array<TypesenseNodeOptions>;
10
+ numRetries?: number;
11
+ apiKey?: string;
12
+ connectionTimeoutSeconds?: number;
13
+ retryIntervalSeconds?: number;
14
+ healthcheckIntervalSeconds?: number;
15
+ logLevel?: string;
16
+ }
17
+ export interface TypesenseOptionsFactory {
18
+ createTypesenseOptions(): Promise<TypesenseModuleOptions> | TypesenseModuleOptions;
19
+ }
20
+ export interface TypesenseModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
21
+ useExisting?: Type<TypesenseOptionsFactory>;
22
+ useClass?: Type<TypesenseOptionsFactory>;
23
+ useFactory?: (...args: any[]) => Promise<TypesenseModuleOptions> | TypesenseModuleOptions;
24
+ inject?: any[];
25
+ }
@@ -0,0 +1 @@
1
+ export declare const TYPESENSE_MODULE_OPTIONS = "TYPESENSE_MODULE_OPTIONS";
@@ -0,0 +1,9 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { TypesenseModuleAsyncOptions } from './typesense-module.interface';
3
+ import { TypesenseModuleOptions } from './typesense-module.interface';
4
+ export declare class TypesenseModule {
5
+ static register(options?: TypesenseModuleOptions): DynamicModule;
6
+ static registerAsync(options: TypesenseModuleAsyncOptions): DynamicModule;
7
+ private static createAsyncProviders;
8
+ private static createAsyncOptionsProvider;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { Provider } from '@nestjs/common';
2
+ import { TypesenseModuleOptions } from './typesense-module.interface';
3
+ export declare const createTypesenseOptionsProvider: (options?: TypesenseModuleOptions) => Provider[];
4
+ export declare const createTypesenseProvider: () => Provider[];
5
+ export declare const createTypesenseExportsProvider: () => Provider[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atls/nestjs-typesense",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "license": "BSD 3-Clause",
5
5
  "main": "dist/index.js",
6
6
  "files": [