New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

h-ts

Package Overview
Dependencies
Maintainers
1
Versions
87
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

h-ts

Typescript Helpers

latest
npmnpm
Version
1.0.91
Version published
Maintainers
1
Created
Source

Helpers for typescript

(documentation, wip)

export {AnyHelp} from "./AnyHelp";

helpers that work on any type e.g.
isNotNull

export {ArrayHelp} from "./ArrayHelp"

helpers for array, better typesafety for higher order function array helpers

export {ObjectHelp} from "./ObjectHelp"

helper for object

export {EQ, EQ_NS} from "./Equality"

export {KeySet} from "./KeySet"

export {MapHelp} from "./MapHelp"

export {WebHelp} from "./WebHelp"

export {Global} from "./Global"

export {ChunkedIterate} from "./ChunkedIterate"

export {Decorators} from "./Decorators"

export {TypeHelp} from "./TypeHelp"

export {StringHelp} from "./StringHelp"

export {FunctionHelp} from "./FunctionHelp"

export {ProxyHelp} from "./ProxyHelp"

export {Ided, Idify} from "./Ided"

a way to DRYly write an object whose properties use the key they are assigned to in their own initialization

type Color<T extends string> = {name: T}
const colors = {
  ...Ided.byName({name: "red"}),
  ...Ided.byName({name: "green"}),
}
//Colors will have the type:
{red: {name: "red"}, {green: {name: "green"}}

export {Heap} from "./Heap"

a simple heap implementation

export {YoconHelp} from "./yocon/YoconHelp"

a work in progress port of the

export {StringEnum, Enum} from "./Enum"

better versions of enums

export * from "./TopLevelExports"

export function createRecord

function createRecord<T extends object>(obj: T,): T extends object ? Record<keyof T, TypeHelp.ValueType<T>> : never {
  return obj as any
}

export const unreachable = LangHelp.unreachable

export const isNotNull = AnyHelp.isNotNull

export const augment = AnyHelp.augment

export const createKeySet = KeySet.create

export const createPrefixedKeySet = KeySet.createPrefixed

export const iife = (f : () => T) : T => f()

//iife = immediately invoked function expression, useful to avoid having to add extra parens
iife(() => x + 1) // invokes immediately

(() => x + 1)()//Lines starting with a `(` are Problematic without explicit semicolons
//Consider
const y = 1
const x = y
(() => x + 1)()
//This will be interpreted as
const y = 1
const x = y(() => x + 1)()

export const ensure = TypeHelp.ensure

export const ensureValue = TypeHelp.ensureValue

export const literal = TypeHelp.literal

export const infer = TypeHelp.infer

export const cast = TypeHelp.cast

export const cast_any = TypeHelp.cast_any

export const tuple = TypeHelp.tuple

export const memo = Decorators.memo

export const cache = Decorators.cache

export * from "./TopLevelTypes"

export type Id = TypeHelp.Id

export type PropsOf = TypeHelp.PropsOf

export type UnionToIntersection = TypeHelp.UnionToIntersection

export type UnionFromArray<T extends any[]> = TypeHelp.UnionFromArray

export type IntersectionFromArray<T extends any[]> = TypeHelp.IntersectionFromArray

export type StringMap = TypeHelp.StringMap

export type Readyonly = TypeHelp.Readyonly

export type Diff<T extends keyof any, U extends keyof any> = TypeHelp.Diff<T, U>

export type Omit<T, K extends keyof T> = TypeHelp.Omit<T, K>

export type Replace<T, K extends keyof T, V> = TypeHelp.Replace<T, K, V>

export type DeepPartial = TypeHelp.DeepPartial

export type KeyType = keyof T

export type ValueType = T[keyof T]

Keywords

ash9g

FAQs

Package last updated on 17 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts