/** * The {@link Expressions} module facilitates creation of statically typed functional data {@link Expression}'s, as well as providing a set of standard libraries for common {@link Expression} patterns. * * @module Expressions * * * @example * ```typescript * // Given a `set` of `key`s, calculate the sum of the corresponding values in * // an integer dictionary `dict` * Count: Reduce( * set, * (previous, key) => Add(previous, Get(dict, key), * Const(0n) * ) * ``` * * @example * ```typescript * // ... * // if name is null, replace with 'Unknown' string * Wage: Let( * Max(0, Subtract(Variable("Hours", FloatType), 8), * overtime => Add( * Multiply( * Variable("NormalRate", FloatType), * Subtract(Variable("Hours", FloatType), overtime) * ), * Multiply( * Variable("OvertimeRate", FloatType), * overtime * ) * ) * ), * // ... * ``` */ export * from './core'; export * from './struct'; export * from './variant'; export * from './null'; export * from './boolean'; export * from './number'; export * from './random'; export * from './datetime'; export * from './string'; export * from './blob'; export * from './array'; export * from './set'; export * from './dict'; export * from './collections';