Options
All
  • Public
  • Public/Protected
  • All
Menu

kaven-utils - v4.2.0

Index

Enumerations

Classes

Interfaces

Type Aliases

Variables

Functions

Type Aliases

BufferEncoding: "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex"
since

4.0.0

version

2022-04-09

HttpOrHttpsServer: http.Server | https.Server
since

2.0.14

version

2021-03-19

Variables

DefaultSSOParameterName: ISSOParameterName = ...
ExternalIpRules: IExternalIpRule[] = ...
since

IExternalIpRule

version

2022-06-25

IsWin32: boolean = ...
since

1.1.21

version

2018-11-05

Platform: Platform = process.platform
since

1.1.21

version

2018-11-05

Functions

  • AppendPathToDirectory(dir: undefined | string, path: string, createDir?: boolean): string
  • since

    4.1.0

    version

    2022-04-21

    Parameters

    • dir: undefined | string
    • path: string
    • createDir: boolean = true

    Returns string

  • BackupFile(fileName: string, backupFolder?: string): Promise<string>
  • since

    4.1.0

    version

    2022-04-22

    Parameters

    • fileName: string
    • Optional backupFolder: string

    Returns Promise<string>

  • BackupMongoDB(outputDir: string, databaseName?: string, host?: string, databaseUser?: string, databasePassword?: string): Promise<string>
  • version

    1.0.1

    since

    1.0.5

    Parameters

    • outputDir: string
    • Optional databaseName: string
    • host: string = "127.0.0.1:27017"
    • Optional databaseUser: string
    • Optional databasePassword: string

    Returns Promise<string>

  • since

    4.1.0

    version

    2022-04-21

    Parameters

    Returns string

  • CopyDirectory(src: string, dest: string): Promise<void>
  • since

    3.0.0

    version

    2021-08-06

    Parameters

    • src: string
    • dest: string

    Returns Promise<void>

  • CopyFile(src: string, dest: string, checkSrcExists?: boolean): Promise<boolean>
  • since

    3.0.0

    version

    2021-09-13

    Parameters

    • src: string
    • dest: string
    • checkSrcExists: boolean = false

    Returns Promise<boolean>

  • CopyFileOrDirectory(src: string, dest: string): Promise<boolean>
  • since

    3.0.0

    version

    2021-08-06

    Parameters

    • src: string
    • dest: string

    Returns Promise<boolean>

  • CopyFileSync(src: string, dest: string): void
  • since

    1.0.5

    version

    2021-08-06

    Parameters

    • src: string
    • dest: string

    Returns void

  • CopyToDirectory(files: string[], destDir: string): Promise<void>
  • since

    3.0.0

    version

    2021-08-06

    Parameters

    • files: string[]
    • destDir: string

    Returns Promise<void>

  • CreateExpress404Handler(redirectTo?: string): RequestHandler
  • since

    2.0.14

    version

    2021-03-19

    Parameters

    • redirectTo: string = "/"

      default: /

    Returns RequestHandler

    RequestHandler

  • CreateExpressAuthentication(authentication: KavenAuthentication): { handler: RequestHandler; auth: any }
  • since

    4.1.0

    version

    2022-04-29

    Parameters

    Returns { handler: RequestHandler; auth: any }

    • handler: RequestHandler
    • auth:function
      • auth(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res?: Response<any, Record<string, any>>): Promise<boolean>
      • Parameters

        • req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>
        • Optional res: Response<any, Record<string, any>>

        Returns Promise<boolean>

  • CreateExpressCheckReferer(domainNames: string[], allowEmpty?: boolean, redirectTo?: string, status?: HttpStatusCode): RequestHandler
  • since

    2.0.14

    version

    2021-03-19

    Parameters

    • domainNames: string[]
    • allowEmpty: boolean = false

      default: false

    • Optional redirectTo: string
    • Optional status: HttpStatusCode

      default: 403

    Returns RequestHandler

  • CreateExpressErrorHandler(log?: boolean, redirectTo?: undefined | string): ErrorRequestHandler
  • since

    2.0.14

    version

    2021-03-19

    Parameters

    • log: boolean = true

      default: true

    • redirectTo: undefined | string = "/"

      default: /

    Returns ErrorRequestHandler

    ErrorRequestHandler

  • since

    1.0.5

    version

    2022-06-25

    Parameters

    Returns RequestHandler

  • CreateJWT(payload: string | object | Buffer, secret: string, options: SignOptions): Promise<undefined | string>
  • version

    1.1.17

    since

    2018-10-19

    Parameters

    • payload: string | object | Buffer
    • secret: string
    • options: SignOptions

    Returns Promise<undefined | string>

  • DecodeJWT(token: string, options?: DecodeOptions): null | string | JwtPayload
  • Warning: This will not verify whether the signature is valid.

    version

    1.1.17

    since

    2018-10-19

    Parameters

    • token: string
    • Optional options: DecodeOptions

    Returns null | string | JwtPayload

  • DecryptString(encryptedStr: string, password: string, algorithm?: string): string
  • since

    2.0.7

    version

    2020-07-11

    Parameters

    • encryptedStr: string
    • password: string

      Password used to generate key

    • algorithm: string = "aes-256-cbc"

    Returns string

  • DeleteDirectory(path: string): Promise<void>
  • since

    3.0.0

    version

    2021-11-20

    Parameters

    • path: string

    Returns Promise<void>

  • DeleteFile(path: string, checkExists?: boolean): Promise<boolean>
  • since

    3.0.0

    version

    2022-01-20

    Parameters

    • path: string
    • checkExists: boolean = false

      defaults: false

    Returns Promise<boolean>

    true if deleted, false if not exists, or the exception

  • DeleteFileOrDirectory(...paths: string[]): Promise<void>
  • since

    1.1.21

    version

    2021-08-06

    Parameters

    • Rest ...paths: string[]

    Returns Promise<void>

  • DownloadFile(url: string, savePath: string): Promise<string>
  • version

    1.0.0

    since

    1.0.9

    Parameters

    • url: string
    • savePath: string

    Returns Promise<string>

  • EncryptString(str: string, password: string, algorithm?: string): string
  • since

    2.0.7

    version

    2020-07-11

    Parameters

    • str: string

      some clear text data

    • password: string

      Password used to generate key, use GenerateEncryptPassword to generate it.

    • algorithm: string = "aes-256-cbc"

    Returns string

  • Exec(command: string, options?: IExecOptions, autoDecode?: boolean): ChildProcess
  • since

    1.1.21

    version

    2018-11-06

    Parameters

    • command: string
    • options: IExecOptions = {}
    • autoDecode: boolean = true

    Returns ChildProcess

  • FindAndReplaceInFiles(dirOrFiles: string | string[], conditions?: string[][], newStrMethod?: ((str: string) => string), extensions?: string[], showLog?: boolean): Promise<void>
  • static
    memberof

    KavenUtility

    since

    1.1.6

    version

    2018-09-01

    Parameters

    • dirOrFiles: string | string[]
    • conditions: string[][] = ...
    • Optional newStrMethod: ((str: string) => string)
        • (str: string): string
        • Parameters

          • str: string

          Returns string

    • extensions: string[] = ...
    • showLog: boolean = true

    Returns Promise<void>

  • GenerateEncryptPassword(keySize?: number, ivSize?: number): string
  • since

    2.0.7

    version

    2020-07-11

    Parameters

    • keySize: number = 32
    • ivSize: number = 16

    Returns string

  • GenerateQRCode(data: string, version?: number, errorCorrectionLevel?: "low" | "medium" | "quartile" | "high" | "L" | "M" | "Q" | "H", toSJISFunc?: ((codePoint: string) => number)): Promise<string>
  • version

    1.0.0

    since

    1.0.5

    see

    https://github.com/soldair/node-qrcode

    Parameters

    • data: string
    • Optional version: number
    • Optional errorCorrectionLevel: "low" | "medium" | "quartile" | "high" | "L" | "M" | "Q" | "H"
    • Optional toSJISFunc: ((codePoint: string) => number)
        • (codePoint: string): number
        • Helper function used internally to convert a kanji to its Shift JIS value. Provide this function if you need support for Kanji mode.

          Parameters

          • codePoint: string

          Returns number

    Returns Promise<string>

  • GetAllFiles(dir: string): string[]
  • Simple wrap for readdirSync

    version

    1.1.18

    since

    2018-10-22

    Parameters

    • dir: string

    Returns string[]

  • GetAllFilesRecursively(dir: string, extensions?: string[], ignorePaths?: string[]): string[]
  • List all files in a directory in Node.js recursively in a synchronous fashion

    see

    https://gist.github.com/kethinov/6658166

    static
    memberof

    KavenUtility

    since

    1.1.6

    version

    2018-08-27

    Parameters

    • dir: string
    • Optional extensions: string[]
    • Optional ignorePaths: string[]

    Returns string[]

  • GetColoredStatus(code: undefined | string | number): undefined | string | number
  • version

    1.0.1

    since

    1.0.5

    Parameters

    • code: undefined | string | number

    Returns undefined | string | number

  • GetEntryDirectory(): string
  • since

    4.0.0

    version

    2022-04-09

    Returns string

  • GetEntryFile(): string
  • since

    4.0.0

    version

    2022-04-09

    Returns string

  • GetEnv(name: string): string | undefined
  • process.env

    since

    2.0.14

    version

    2021-03-19

    Parameters

    • name: string

    Returns string | undefined

  • GetEnvJson<T>(name: string): T | undefined
  • since

    4.1.0

    version

    2022-04-24

    Type Parameters

    • T = any

    Parameters

    • name: string

    Returns T | undefined

  • since

    1.0.9

    version

    2022-06-25

    Parameters

    Returns Promise<string>

  • GetFileContent(fileName: string, html?: boolean): Promise<string>
  • since

    1.0.5

    version

    2021-11-20

    Parameters

    • fileName: string
    • html: boolean = false

    Returns Promise<string>

  • GetFileExtension(fileName: string, trimDot?: boolean, toLowerCase?: boolean): string
  • since

    1.0.5

    version

    2021-12-07

    Parameters

    • fileName: string
    • trimDot: boolean = false
    • toLowerCase: boolean = false

    Returns string

  • GetFileLines(fileName: string): Promise<ITextLines>
  • since

    3.0.1

    version

    2021-09-01

    Parameters

    • fileName: string

    Returns Promise<ITextLines>

  • GetFileList(filesOrFolders: string[], excludeFilesOrFolders?: string[], fileTypes?: string[]): string[]
  • since

    1.1.7

    version

    2018-09-01

    Parameters

    • filesOrFolders: string[]
    • Optional excludeFilesOrFolders: string[]
    • Optional fileTypes: string[]

    Returns string[]

  • GetFileName(fileName: string): string
  • version

    2018-11-06

    since

    1.0.5

    Parameters

    • fileName: string

    Returns string

  • GetFileSize(path: string, baseOn1024?: boolean): Promise<undefined | string>
  • since

    3.0.0

    version

    2021-08-07

    Parameters

    • path: string
    • Optional baseOn1024: boolean

    Returns Promise<undefined | string>

  • GetFileSizeInBytes(path: string): Promise<undefined | number>
  • since

    1.0.9

    version

    2021-08-06

    Parameters

    • path: string

    Returns Promise<undefined | number>

  • GetFileStats(path: string): Promise<Stats | undefined>
  • since

    3.0.0

    version

    2021-08-06

    Parameters

    • path: string

    Returns Promise<Stats | undefined>

  • GetFileType(buf: Buffer | Uint8Array): Promise<FileTypeResult | undefined>
  • since

    1.1.7

    version

    2022-05-01

    Parameters

    • buf: Buffer | Uint8Array

    Returns Promise<FileTypeResult | undefined>

  • GetFileTypeFromFile(file: string): Promise<FileTypeResult | undefined>
  • version

    1.1.18

    since

    2022-05-01

    Parameters

    • file: string

    Returns Promise<FileTypeResult | undefined>

  • GetProtocolFromURL(url: string): undefined | string
  • since

    1.1.23

    version

    2019-02-27

    Parameters

    • url: string

    Returns undefined | string

  • HMAC_SHA1(stringToSign: string, secret: string): Buffer
  • In cryptography, an HMAC (sometimes expanded as either keyed-hash message authentication code or hash-based message authentication code) is a specific type of message authentication code (MAC) involving a cryptographic hash function and a secret cryptographic key.

    static
    memberof

    KavenUtility

    version

    2018-08-20

    since

    1.1.6

    Parameters

    • stringToSign: string
    • secret: string

    Returns Buffer

  • HttpDownload(url: string, options: FilePath, tryDetectFileTypeByMagicNumber?: boolean, minSizeInBytes?: number): Promise<FilePath>
  • since

    4.0.0

    version

    2022-04-09

    Parameters

    • url: string
    • options: FilePath
    • tryDetectFileTypeByMagicNumber: boolean = true
    • Optional minSizeInBytes: number

    Returns Promise<FilePath>

  • HttpGet<T>(url: string, raw?: boolean, options?: RequestOptions): Promise<IHttpResponse<T>>
  • Simple wrap for http get

    since

    1.1.23

    version

    2022-04-09

    Type Parameters

    • T = string

    Parameters

    • url: string
    • raw: boolean = true
    • Optional options: RequestOptions

    Returns Promise<IHttpResponse<T>>

  • HttpPost<T>(url: string, data: any, raw?: boolean, headers?: Map<string, string | number>): Promise<IHttpResponse<T>>
  • since

    1.1.23

    version

    2022-04-09

    Type Parameters

    • T = string

    Parameters

    • url: string
    • data: any
    • raw: boolean = true
    • Optional headers: Map<string, string | number>

    Returns Promise<IHttpResponse<T>>

  • IS_DEV(): boolean
  • check process.env.NODE_ENV

    since

    2.0.14

    version

    2021-03-19

    Returns boolean

  • InitializeTextLogger(stdoutFile?: string, stderrFile?: string, resetSizeInBytes?: number, resetCron?: string): (() => Promise<void>) | undefined
  • since

    1.1.26

    version

    2022-06-25

    deprecated

    Please use KavenLogger instead.

    Parameters

    • Optional stdoutFile: string
    • Optional stderrFile: string
    • resetSizeInBytes: number = ...

      Default 10.00 MiB

    • resetCron: string = "*/5 * * * *"

      Default Execute every 5 Minutes

    Returns (() => Promise<void>) | undefined

  • IsDirectory(path: string): Promise<boolean | undefined>
  • since

    1.0.5

    version

    2021-08-06

    Parameters

    • path: string

    Returns Promise<boolean | undefined>

  • IsFile(path: string): Promise<boolean | undefined>
  • since

    2.0.2

    version

    2021-08-06

    Parameters

    • path: string

    Returns Promise<boolean | undefined>

  • IsPathExistSync(...paths: string[]): boolean
  • LoadEnv(rootDir: string, ...files: string[]): undefined | DotenvParseOutput
  • Loads environment variables from a .env file into process.env

    since

    2.0.14

    version

    2021-03-19

    Parameters

    • rootDir: string
    • Rest ...files: string[]

    Returns undefined | DotenvParseOutput

  • LoadJsonFile<T>(filePath: string): Promise<T>
  • export
    since

    1.0.12

    version

    2022-04-22

    Type Parameters

    • T = IndexObject<unknown>

    Parameters

    • filePath: string

    Returns Promise<T>

  • MakeDirectory(path: string): Promise<string>
  • since

    1.0.9

    version

    2021-08-06

    Parameters

    • path: string

    Returns Promise<string>

    Returns the directory path.

  • MakeDirectorySync(path: string): string
  • since

    1.0.9

    version

    2021-08-06

    Parameters

    • path: string

    Returns string

    Returns the directory path.

  • NODE_ENV(): undefined | string
  • process.env.NODE_ENV

    since

    2.0.14

    version

    2021-03-19

    Returns undefined | string

  • ReadFileAsBase64(file: string): Promise<unknown>
  • Parameters

    • file: string

    Returns Promise<unknown>

  • ReadFileBytes(file: string, length: number, offset?: number): Promise<Buffer>
  • version

    1.1.18

    since

    2018-10-25

    Parameters

    • file: string
    • length: number
    • offset: number = 0

    Returns Promise<Buffer>

  • RemoveFileComments(srcFile: string, destFile: string): Promise<string>
  • RemoveFileComments(srcFile: string, backup: boolean): Promise<string>
  • RemoveFileComments(srcFile: string): Promise<string>
  • since

    4.1.0

    version

    2022-04-23

    Parameters

    • srcFile: string
    • destFile: string

    Returns Promise<string>

  • Parameters

    • srcFile: string
    • backup: boolean

    Returns Promise<string>

  • Parameters

    • srcFile: string

    Returns Promise<string>

  • ResetLogFile(fileName: string, backupFolder?: string): Promise<boolean>
  • 2019-08-05: remove default value "./data/logs/" for backupFolder; change backup file name

    since

    1.0.5

    version

    2022-04-22

    Parameters

    • fileName: string
    • Optional backupFolder: string

    Returns Promise<boolean>

  • ResetLogFileIf(overBytes?: number, logFile?: string): Promise<boolean>
  • 2019-08-05: add param: logFile

    since

    1.0.9

    version

    2020-07-11

    Parameters

    • overBytes: number = ...
    • Optional logFile: string

    Returns Promise<boolean>

  • Run7zCommand(command: string, switches?: any): Promise<string>
  • You must have the 7z executable available in your PATH or in the same directory of your package.json file. On Debian and Ubuntu install the p7zip-full package. On Windows use the 7z.exe binary. On Mac OSX use Homebrew brew install p7zip

    version

    1.0.0

    since

    1.0.5

    Parameters

    • command: string
    • Optional switches: any

    Returns Promise<string>

  • RunCommand(command: string, options?: { encoding: BufferEncoding } & ExecOptions): Promise<{ stderr: string | Buffer; stdout: string | Buffer }>
  • RunCommandAndDecode(command: string): Promise<{ stderr: string; stdout: string }>
  • RunCommandAndDecode(command: string, decodeEncoding: string): Promise<{ stderr: string; stdout: string }>
  • RunCommandAndDecode(command: string, options: ExecOptions): Promise<{ stderr: string; stdout: string }>
  • RunCommandAndDecode(command: string, decodeEncoding: string, options: ExecOptions): Promise<{ stderr: string; stdout: string }>
  • since

    1.1.14

    version

    2022-04-25

    Parameters

    • command: string

    Returns Promise<{ stderr: string; stdout: string }>

  • Parameters

    • command: string
    • decodeEncoding: string

    Returns Promise<{ stderr: string; stdout: string }>

  • Parameters

    • command: string
    • options: ExecOptions

    Returns Promise<{ stderr: string; stdout: string }>

  • Parameters

    • command: string
    • decodeEncoding: string
    • options: ExecOptions

    Returns Promise<{ stderr: string; stdout: string }>

  • SaveStringToFile(str: string, savePath: string): Promise<string>
  • export
    version

    1.0.0

    since

    1.0.6

    Parameters

    • str: string
    • savePath: string

    Returns Promise<string>

  • SendEmail(config: MailConfig, option: MailOption): Promise<unknown>
  • version

    1.0.0

    since

    1.0.5

    Parameters

    Returns Promise<unknown>

  • SevenZipFiles(files: string[], fileName: string, password?: string): Promise<string | Error>
  • version

    1.0.0

    since

    1.0.5

    Parameters

    • files: string[]
    • fileName: string
    • Optional password: string

    Returns Promise<string | Error>

  • SevenZipFolder(folderPath: string, fileName: string, options?: IArchive7zOptions): Promise<string>
  • since

    1.0.5

    version

    2022-04-09

    example
     SevenZipFolder("./dist/", "dist.7z")
    SevenZipFolder("./dist/*", "dist.7z")

    Parameters

    Returns Promise<string>

  • Spawn(command: string, args?: readonly string[], options?: SpawnOptionsWithoutStdio, autoDecode?: boolean): ChildProcessWithoutNullStreams
  • since

    1.1.21

    version

    2018-11-05

    Parameters

    • command: string
    • Optional args: readonly string[]
    • Optional options: SpawnOptionsWithoutStdio
    • autoDecode: boolean = true

    Returns ChildProcessWithoutNullStreams

  • StartSchedule(func: (() => void), year?: number | number[], month?: number | number[], date?: number | number[], dayOfWeek?: number | number[], hour?: number | number[], minute?: number | number[], second?: number | number[]): Job
  • Parameters

    • func: (() => void)
        • (): void
        • Returns void

    • Optional year: number | number[]
    • Optional month: number | number[]

      (0-11)

    • Optional date: number | number[]

      (1-31)

    • Optional dayOfWeek: number | number[]

      (0-6) Starting with Sunday

    • Optional hour: number | number[]

      (0-23)

    • Optional minute: number | number[]

      (0-59)

    • Optional second: number | number[]

      (0-59)

    Returns Job

  • StartScheduleLikeCron(func: (() => void), rule: string): Job
  • version

    1.0.0

    since

    1.0.9

    Parameters

    • func: (() => void)
        • (): void
        • Returns void

    • rule: string

    Returns Job

  • since

    2.0.14

    version

    2022-06-25

    Parameters

    Returns Promise<void>

  • TruncateFile(path: string, len?: number): Promise<void>
  • since

    3.0.0

    version

    2021-08-07

    Parameters

    • path: string
    • Optional len: number

    Returns Promise<void>

  • TryDeleteFiles(...files: string[]): Promise<void>
  • since

    4.0.0

    version

    2022-04-09

    Parameters

    • Rest ...files: string[]

    Returns Promise<void>

  • TryParseVersionFromFile(file: string): Promise<undefined | { endOfLineSequence: undefined | string; lines: string[]; version: undefined | string; versionLine: string }>
  • since

    3.0.5

    version

    2022-05-01

    Parameters

    • file: string

    Returns Promise<undefined | { endOfLineSequence: undefined | string; lines: string[]; version: undefined | string; versionLine: string }>

  • TryUpdateVersion(file: string): Promise<string>
  • TryUpdateVersion(file: string, index: number, increment: number): Promise<string>
  • Support package.json and pubspec.yaml

    since

    3.0.5

    version

    2021-12-07

    Parameters

    • file: string

    Returns Promise<string>

  • Parameters

    • file: string
    • index: number
    • increment: number

    Returns Promise<string>

  • UploadFileToFtpServer(fileName: string, serverHost?: string, serverPort?: number, serverUserName?: string, serverUserPassword?: string, options?: { cwd?: string }): Promise<string>
  • since

    1.0.5

    version

    2022-04-09

    Parameters

    • fileName: string
    • serverHost: string = "localhost"
    • serverPort: number = 21
    • Optional serverUserName: string
    • Optional serverUserPassword: string
    • Optional options: { cwd?: string }
      • Optional cwd?: string

    Returns Promise<string>

  • VerifyJWT(token: string, secret: string, options?: SignOptions): Promise<{}>
  • version

    1.1.17

    since

    2018-10-19

    Parameters

    • token: string
    • secret: string
    • Optional options: SignOptions

    Returns Promise<{}>

  • ZipFolder(folderPath: string, fileName: string, options?: IArchiveZipOptions): Promise<string>
  • since

    1.0.5

    version

    2022-04-09

    Parameters

    Returns Promise<string>

Generated using TypeDoc