Skip to main content

General Structure

TypeTools library is designed to help programmers add useful runtime features for class instances and data models.

import { defineOn } from 'ts-basis';
class TargetClass {
constructor(init?: Partial<TargetClass>) {
defineOn( this, TargetClass, lib => {
lib.extension1.featureA( /* define */ )
...
lib.extension2.featureX( /* define */ )
}

Feature Extensions

  • Validatable (Runtime data model validation)
  • Ephemerals (Non-serializable properties)
  • Derivables (Derived properties)

Base Classes

  • TypeToolsBase (Base interface for all extensions)
  • DataImportable (Instance initialization from object initializers)
  • PropertiesController (Controller class for getters & setters)

Util Classes

  • ClassLineage (Inheritance utils)