# All files interfaces.ts

100% Statements 34/34
100% Branches 0/0
100% Functions 0/0
100% Lines 34/34

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    351x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
     import { Collection, ObjectId, Sort, WithId } from 'mongodb'

    import { ISerializable } from './serializer'

    export interface IDbRecord extends WithId<object> {
      _id: ObjectId
    }

    export interface IDocument extends IDbRecord {
      _id: ObjectId
      collectionName: string
    }

    export type ICollectionProvider<TDocument extends IDocument | ISerializable> =
      () => Collection<TDocument>

    export type Func<TResult> = () => TResult

    export interface IQueryParameters {
      filter?: string
      skip?: number | undefined
      limit?: number | undefined
      sortKeyOrList?: string | string[]
      mongoSortOverride?: Sort | undefined
      projectionKeyOrList?: string | object[] | object
    }

    export interface IPaginationResult<TDocument extends IDocument | object> {
      data: TDocument[]
      total: number
    }
    export interface IFilter {
      [index: string]: unknown
    }