functionalscript
Version:
FunctionalScript is a purely functional subset of JavaScript
20 lines (19 loc) • 788 B
JavaScript
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('[')(']');