preserves/implementations/javascript/src/schema/base.ts

16 lines
803 B
TypeScript

import { Record, KeyedDictionary } from '..';
import { AtomKind, Pattern, Schema } from './meta';
import * as M from './meta';
export const BASE: Schema = Record(M.SCHEMA, [1, new KeyedDictionary<symbol, Pattern, never>([
[Symbol.for('any'), Record(M.AND, [[]])],
[Symbol.for('bool'), Record(M.ATOM, [M.BOOLEAN as AtomKind])],
[Symbol.for('float'), Record(M.ATOM, [M.FLOAT as AtomKind])],
[Symbol.for('double'), Record(M.ATOM, [M.DOUBLE as AtomKind])],
[Symbol.for('int'), Record(M.ATOM, [M.SIGNEDINTEGER as AtomKind])],
[Symbol.for('string'), Record(M.ATOM, [M.STRING as AtomKind])],
[Symbol.for('bytes'), Record(M.ATOM, [M.BYTESTRING as AtomKind])],
[Symbol.for('symbol'), Record(M.ATOM, [M.SYMBOL as AtomKind])],
[Symbol.for('ref'), Record(M.POINTER, [])],
])]);