UNPKG

functionalscript

Version:

FunctionalScript is a purely functional subset of JavaScript

20 lines (19 loc) 788 B
import * as list from "../../types/list/module.f.js"; const { flat, reduce, empty } = list; const jsonStringify = JSON.stringify; export const stringSerialize = input => [jsonStringify(input)]; export const numberSerialize = input => [jsonStringify(input)]; export const nullSerialize = ['null']; const trueSerialize = ['true']; const falseSerialize = ['false']; export const boolSerialize = value => value ? trueSerialize : falseSerialize; const comma = [',']; const joinOp = b => prior => flat([prior, comma, b]); const join = reduce(joinOp)(empty); const wrap = open => close => { const seqOpen = [open]; const seqClose = [close]; return input => flat([seqOpen, join(input), seqClose]); }; export const objectWrap = wrap('{')('}'); export const arrayWrap = wrap('[')(']');