---
title: TypeScript (JavaScript/TypeScript)
---

TypeScript documentation for Fundamentals JavaScript/TypeScript package - an [npm package](https://www.npmjs.com/package/@cratis/fundamentals) that offers common utilities, formalizations and abstractions.

## Overview

The Fundamentals frontend package provides JavaScript/TypeScript equivalents and enhancements to common development patterns and utilities. It includes tools for type management, serialization, field handling, and reactive programming that complement the backend .NET package.

## Topics

| Topic | Description |
| ------- | ----------- |
| [ConceptAs](/fundamentals/typescript/concept_as/) | Domain-Driven Design pattern for creating strongly-typed domain identifiers and value objects that wrap primitive types. |
| [GUID](/fundamentals/typescript/guid/) | GUID creation, manipulation, and utility functions for unique identifiers. |
| [Constructor](/fundamentals/typescript/constructor/) | Runtime constructor type alias for class-based APIs and metadata-driven tooling. |
| [PropertyAccessor](/fundamentals/typescript/property_accessor/) | Property accessor function type for typed property selection and path utilities. |
| [TimeSpan](/fundamentals/typescript/time_span/) | .NET-compatible time interval parsing, formatting, and JSON serialization. |
| [ValueMap](/fundamentals/typescript/value_map/) | A value-based map for complex object keys with stable lookup semantics. |
| [Serialization](/fundamentals/typescript/serialization/) | Type-safe JSON serialization and deserialization system with polymorphic support and runtime type preservation. |

## Installation

To install the package:

```bash
npm install @cratis/fundamentals
```
