Skip to main content
Version: 5.2

Utils

Index

Constructors

constructor

Properties

staticreadonlyPK_SEPARATOR

PK_SEPARATOR: ~~~ = '~~~'

Methods

staticabsolutePath

  • absolutePath(path: string, baseDir?: string): string
  • Computes the absolute path to for the given path relative to the provided base directory. If either path or baseDir are file: URLs, they are converted to local paths.


    Parameters

    • path: string
    • baseDir: string = ...

    Returns string

staticasArray

  • asArray<T>(data?: T | readonly T[], strict?: boolean): T[]
  • Normalize the argument to always be an array.


    Type parameters

    • T

    Parameters

    • optionaldata: T | readonly T[]
    • strict: boolean = false

    Returns T[]

staticcallCompiledFunction

  • callCompiledFunction<T, R>(fn: (...args: T) => R, ...args: T): R
  • Type parameters

    • T: unknown[]
    • R

    Parameters

    • fn: (...args: T) => R
    • rest...args: T

    Returns R

staticclassName

  • Gets string name of given class.


    Type parameters

    • T

    Parameters

    Returns string

staticcopy

  • copy<T>(entity: T): T
  • Creates deep copy of given object.


    Type parameters

    • T

    Parameters

    • entity: T

    Returns T

staticcreateFunction

  • createFunction(context: Map<string, any>, code: string): any
  • Parameters

    • context: Map<string, any>
    • code: string

    Returns any

staticdefaultValue

  • defaultValue<T>(prop: T, option: keyof T, defaultValue: any): void
  • Type parameters

    Parameters

    • prop: T
    • option: keyof T
    • defaultValue: any

    Returns void

staticdetectTsNode

  • detectTsNode(): boolean
  • Tries to detect ts-node runtime.


    Returns boolean

staticdiff

  • Computes difference between two objects, ignoring items missing in b.


    Parameters

    Returns Record<string | number, any>

staticdropUndefinedProperties

  • dropUndefinedProperties<T>(o: any): void
  • Removes undefined properties (recursively) so they are not saved as nulls


    Type parameters

    Parameters

    • o: any

    Returns void

staticdynamicImport

  • dynamicImport<T>(id: string): Promise<T>

staticequals

  • equals(a: any, b: any): boolean
  • Checks if arguments are deeply (but not strictly) equal.


    Parameters

    • a: any
    • b: any

    Returns boolean

staticextractEnumValues

  • extractEnumValues(target: Dictionary<any>): (string | number)[]
  • Extracts all possible values of a TS enum. Works with both string and numeric enums.


    Parameters

    Returns (string | number)[]

staticextractPK

  • Extracts primary key from data. Accepts objects or primary keys directly.


    Type parameters

    Parameters

    Returns null | string | Primary<T>

staticfileURLToPath

  • fileURLToPath(url: string | URL): string
  • Parameters

    • url: string | URL

    Returns string

staticfindDuplicates

  • findDuplicates<T>(items: T[]): T[]
  • Type parameters

    • T

    Parameters

    • items: T[]

    Returns T[]

staticflatten

  • flatten<T>(arrays: T[][]): T[]
  • Type parameters

    • T

    Parameters

    • arrays: T[][]

    Returns T[]

staticgetCompositeKeyHash

staticgetGlobalStorage

  • getGlobalStorage(namespace: string): Dictionary<any>
  • Parameters

    • namespace: string

    Returns Dictionary<any>

staticgetORMVersion

  • getORMVersion(): string
  • Returns string

staticgetObjectKeysSize

  • getObjectKeysSize(object: Dictionary<any>): number

staticgetObjectType

  • getObjectType(value: any): string
  • Gets the type of the argument.


    Parameters

    • value: any

    Returns string

staticgetOrderedPrimaryKeys

staticgetParamNames

  • getParamNames(func: string | { toString: any }, methodName?: string): string[]
  • Returns array of functions argument names. Uses escaya for source code analysis.


    Parameters

    • func: string | { toString: any }
    • optionalmethodName: string

    Returns string[]

staticgetPrimaryKeyCond

  • getPrimaryKeyCond<T>(entity: T, primaryKeys: string[]): null | Record<string, Primary<T>>
  • Type parameters

    Parameters

    • entity: T
    • primaryKeys: string[]

    Returns null | Record<string, Primary<T>>

staticgetPrimaryKeyCondFromArray

staticgetPrimaryKeyHash

  • getPrimaryKeyHash(pks: string[]): string
  • Parameters

    • pks: string[]

    Returns string

staticgetPrimaryKeyValues

  • getPrimaryKeyValues<T>(entity: T, primaryKeys: string[], allowScalar?: boolean, convertCustomTypes?: boolean): any
  • Type parameters

    Parameters

    • entity: T
    • primaryKeys: string[]
    • allowScalar: boolean = false
    • convertCustomTypes: boolean = false

    Returns any

staticgetRootEntity

statichasObjectKeys

statichash

  • hash(data: string, length?: number): string
  • Parameters

    • data: string
    • optionallength: number

    Returns string

staticisCollection

staticisDefined

  • isDefined<T>(data: any): data is T
  • Checks if the argument is not undefined


    Type parameters

    • T = Record<string, unknown>

    Parameters

    • data: any

    Returns data is T

staticisEmpty

  • isEmpty(data: any): boolean
  • Checks whether the argument is empty (array without items, object without keys or falsy value).


    Parameters

    • data: any

    Returns boolean

staticisEntity

  • isEntity<T>(data: any, allowReference?: boolean): data is T
  • Checks whether given object is an entity instance.


    Type parameters

    Parameters

    • data: any
    • allowReference: boolean = false

    Returns data is T

staticisGroupOperator

  • isGroupOperator(key: string): boolean
  • Parameters

    • key: string

    Returns boolean

staticisNotObject

  • isNotObject<T>(o: any, not: any[]): o is T
  • Checks if the argument is instance of Object, but not one of the blacklisted types. Returns false for arrays.


    Type parameters

    Parameters

    • o: any
    • not: any[]

    Returns o is T

staticisNumber

  • isNumber<T>(s: any): s is T
  • Checks if the argument is number


    Type parameters

    • T = number

    Parameters

    • s: any

    Returns s is T

staticisObject

  • isObject<T>(o: any): o is T
  • Checks if the argument is instance of Object. Returns false for arrays.


    Type parameters

    Parameters

    • o: any

    Returns o is T

staticisObjectID

  • isObjectID(key: any): boolean
  • Checks whether the argument is ObjectId instance


    Parameters

    • key: any

    Returns boolean

staticisOperator

  • isOperator(key: string, includeGroupOperators?: boolean): boolean
  • Parameters

    • key: string
    • includeGroupOperators: boolean = true

    Returns boolean

staticisPlainObject

  • isPlainObject(value: any): value is Dictionary<any>
  • Checks whether the value is POJO (e.g. { foo: 'bar' }, and not instance of Foo)


    Parameters

    • value: any

    Returns value is Dictionary<any>

staticisPrimaryKey

  • isPrimaryKey<T>(key: any, allowComposite?: boolean): key is Primary<T>
  • Checks whether the argument looks like primary key (string, number or ObjectId).


    Type parameters

    • T

    Parameters

    • key: any
    • allowComposite: boolean = false

    Returns key is Primary<T>

staticisString

  • isString(s: any): s is string
  • Checks if the argument is string


    Parameters

    • s: any

    Returns s is string

staticlookupPathFromDecorator

  • lookupPathFromDecorator(name: string, stack?: string[]): string
  • Uses some dark magic to get source path to caller where decorator is used. Analyses stack trace of error created inside the function call.


    Parameters

    • name: string
    • optionalstack: string[]

    Returns string

staticmerge

  • merge(target: any, ...sources: any[]): any
  • Merges all sources into the target recursively.


    Parameters

    • target: any
    • rest...sources: any[]

    Returns any

staticnormalizePath

  • normalizePath(...parts: string[]): string
  • Resolves and normalizes a series of path parts relative to each preceeding part. If any part is a file: URL, it is converted to a local path. If any part is an absolute path, it replaces preceeding paths (similar to path.resolve in NodeJS). Trailing directory separators are removed, and all directory separators are converted to POSIX-style separators (/).


    Parameters

    • rest...parts: string[]

    Returns string

staticpathExists

  • pathExists(path: string, options?: GlobbyOptions): Promise<boolean>
  • Parameters

    • path: string
    • options: GlobbyOptions = {}

    Returns Promise<boolean>

staticpropertyDecoratorReturnValue

  • propertyDecoratorReturnValue(): any

staticrandomInt

  • randomInt(min: number, max: number): number
  • Parameters

    • min: number
    • max: number

    Returns number

staticrelativePath

  • relativePath(path: string, relativeTo: string): string
  • Determines the relative path between two paths. If either path is a file: URL, it is converted to a local path.


    Parameters

    • path: string
    • relativeTo: string

    Returns string

staticrenameKey

  • renameKey<T>(payload: T, from: string | keyof T, to: string): void
  • Renames object key, keeps order of properties.


    Type parameters

    • T

    Parameters

    • payload: T
    • from: string | keyof T
    • to: string

    Returns void

staticrequireFrom

  • requireFrom<T>(id: string, from: string): T
  • Require a module from a specific location


    Type parameters

    Parameters

    • id: string

      The module to require

    • from: string

      Location to start the node resolution

    Returns T

staticrunIfNotEmpty

  • runIfNotEmpty(clause: () => any, data: any): void
  • Parameters

    • clause: () => any
    • data: any

    Returns void

staticrunSerial

  • runSerial<T, U>(items: Iterable<U>, cb: (item: U) => Promise<T>): Promise<T[]>
  • Executes the cb promise serially on every element of the items array and returns array of resolved values.


    Type parameters

    • T = any
    • U = any

    Parameters

    • items: Iterable<U>
    • cb: (item: U) => Promise<T>

    Returns Promise<T[]>

staticsetPayloadProperty

staticsplitPrimaryKeys

  • splitPrimaryKeys(key: string): string[]
  • Parameters

    • key: string

    Returns string[]

statictryRequire

  • tryRequire<T>(__namedParameters: { allowError?: string; from?: string; module: string; warning: string }): undefined | T
  • Type parameters

    • T = any

    Parameters

    • __namedParameters: { allowError?: string; from?: string; module: string; warning: string }

    Returns undefined | T

staticunique

  • unique<T>(items: T[]): T[]
  • Gets array without duplicates.


    Type parameters

    • T = string

    Parameters

    • items: T[]

    Returns T[]

staticunwrapProperty