JSPM

  • Created
  • Published
  • Downloads 950
  • Score
    100M100P100Q110013F
  • License BSD-3-Clause

TypeScript utilities

Package Exports

  • @flex-development/tutils
  • @flex-development/tutils/enums
  • @flex-development/tutils/enums/app-env
  • @flex-development/tutils/enums/bson-type-alias
  • @flex-development/tutils/enums/bson-type-code
  • @flex-development/tutils/enums/compare-result
  • @flex-development/tutils/enums/http-status
  • @flex-development/tutils/enums/index
  • @flex-development/tutils/enums/jwt-type
  • @flex-development/tutils/enums/node-env
  • @flex-development/tutils/enums/project-rule
  • @flex-development/tutils/enums/sort-order
  • @flex-development/tutils/guards
  • @flex-development/tutils/guards/index
  • @flex-development/tutils/guards/is-app-env
  • @flex-development/tutils/guards/is-booleanish
  • @flex-development/tutils/guards/is-empty-string
  • @flex-development/tutils/guards/is-empty-value
  • @flex-development/tutils/guards/is-jwt-type
  • @flex-development/tutils/guards/is-nil
  • @flex-development/tutils/guards/is-node-env
  • @flex-development/tutils/guards/is-number-string
  • @flex-development/tutils/guards/is-unix-timestamp
  • @flex-development/tutils/package.json
  • @flex-development/tutils/types
  • @flex-development/tutils/types/any
  • @flex-development/tutils/types/booleanish
  • @flex-development/tutils/types/built-in
  • @flex-development/tutils/types/class-constructor
  • @flex-development/tutils/types/comparison-operator
  • @flex-development/tutils/types/deep-omit
  • @flex-development/tutils/types/deep-partial
  • @flex-development/tutils/types/deep-partial-by
  • @flex-development/tutils/types/deep-partial-by-helper
  • @flex-development/tutils/types/deep-partial-by-required
  • @flex-development/tutils/types/deep-partial-by-required-helper
  • @flex-development/tutils/types/deep-pick
  • @flex-development/tutils/types/deep-required
  • @flex-development/tutils/types/document-deep-partial
  • @flex-development/tutils/types/document-partial
  • @flex-development/tutils/types/duid
  • @flex-development/tutils/types/empty-string
  • @flex-development/tutils/types/empty-value
  • @flex-development/tutils/types/fixme
  • @flex-development/tutils/types/index
  • @flex-development/tutils/types/index-signature
  • @flex-development/tutils/types/intersection
  • @flex-development/tutils/types/is-tuple
  • @flex-development/tutils/types/join
  • @flex-development/tutils/types/json-array
  • @flex-development/tutils/types/json-object
  • @flex-development/tutils/types/json-primitive
  • @flex-development/tutils/types/json-value
  • @flex-development/tutils/types/keys-optional
  • @flex-development/tutils/types/keys-required
  • @flex-development/tutils/types/nil
  • @flex-development/tutils/types/nullable
  • @flex-development/tutils/types/nullish-boolean
  • @flex-development/tutils/types/nullish-number
  • @flex-development/tutils/types/nullish-string
  • @flex-development/tutils/types/number-string
  • @flex-development/tutils/types/numeric
  • @flex-development/tutils/types/object-empty
  • @flex-development/tutils/types/object-plain
  • @flex-development/tutils/types/object-unknown
  • @flex-development/tutils/types/omit-by-type
  • @flex-development/tutils/types/one-or-many
  • @flex-development/tutils/types/or-deep-partial
  • @flex-development/tutils/types/or-never
  • @flex-development/tutils/types/or-nil
  • @flex-development/tutils/types/or-null
  • @flex-development/tutils/types/or-partial
  • @flex-development/tutils/types/or-promise
  • @flex-development/tutils/types/or-undefined
  • @flex-development/tutils/types/overwrite
  • @flex-development/tutils/types/partial-by
  • @flex-development/tutils/types/partial-by-required
  • @flex-development/tutils/types/path
  • @flex-development/tutils/types/path-n
  • @flex-development/tutils/types/path-nt
  • @flex-development/tutils/types/path-value
  • @flex-development/tutils/types/pick-by-type
  • @flex-development/tutils/types/primitive
  • @flex-development/tutils/types/regex-string
  • @flex-development/tutils/types/split
  • @flex-development/tutils/types/timestamp-unix
  • @flex-development/tutils/types/uid
  • @flex-development/tutils/types/union

Readme

tutils

conventional commits code style: prettier npm license typescript

TypeScript utilities.

Install

yarn add @flex-development/tutils

GitHub Package Registry

To install from the GitHub Package Registry, setup a .npmrc or .yarnrc.yml file to authenticate with the registry. A Personal Access Token with at least the read:packages scope is required.

.npmrc

//npm.pkg.github.com/:_authToken=${GH_PAT}
@flex-development:registry=https://npm.pkg.github.com/

.yarnrc.yml

npmRegistries:
  //npm.pkg.github.com:
    npmAlwaysAuth: true
    npmAuthToken: ${GH_PAT}

npmScopes:
  flex-development:
    npmRegistryServer: https://npm.pkg.github.com

Git

For details on requesting a specific branch, commit, or tag, see npm-install or Git - Protocols | Yarn.

NPM

npm i flex-development/tutils

Yarn

yarn add @flex-development/tutils@flex-development/tutils

Usage

import type {
  NullishNumber,
  NullishString,
  OrNull,
  Path
} from '@flex-development/tutils'

/**
 * Object representing a `User` entity **(from the database)**.
 *
 * **Does not include any [virtual fields][1]**.
 *
 * [1]: https://sequelize.org/v7/manual/getters-setters-virtuals#virtual-fields
 */
interface IUserRaw {
  created_at: number
  email: Lowercase<string>
  id: number
  name: { first: NullishString; last: NullishString }
  updated_at: NullishNumber
}

/** {@link IUserRaw} attributes. */
type UserRawAttribute = Path<IUserRaw> // 'created_at' | 'email' | 'id' | 'name' | 'name.first' | 'name.last' | 'updated_at'

export { type IUserRaw as default, type UserRawAttribute }

Exports