UNPKG

2.25 kBJavaScriptView Raw
1"use strict";
2
3require("core-js/modules/es.array.is-array");
4
5require("core-js/modules/es.date.to-string");
6
7require("core-js/modules/es.parse-float");
8
9require("core-js/modules/es.regexp.exec");
10
11require("core-js/modules/es.string.split");
12
13Object.defineProperty(exports, "__esModule", {
14 value: true
15});
16exports.deserializers = exports.serializers = exports.converters = void 0;
17
18var unconvertable = function unconvertable() {
19 return undefined;
20};
21
22var converters = {
23 jsonParse: function jsonParse(value) {
24 return JSON.parse(value);
25 },
26 jsonStringify: function jsonStringify(value) {
27 return JSON.stringify(value);
28 },
29 simple: function simple(value) {
30 return value;
31 },
32 stringifyIfSet: function stringifyIfSet(value) {
33 return value === null || value === undefined ? '' : String(value);
34 },
35 stringifyIfTruthy: function stringifyIfTruthy(value) {
36 return value ? String(value) : null;
37 },
38 toArray: function toArray(value) {
39 if (Array.isArray(value)) {
40 return value;
41 }
42
43 return value.split(',');
44 },
45 toBoolean: function toBoolean(value) {
46 return value === 'true';
47 },
48 toDate: function toDate(value) {
49 return new Date(value).getTime() || new Date().getTime();
50 },
51 toFloat: function toFloat(value) {
52 return value === '' ? null : parseFloat(value);
53 }
54};
55exports.converters = converters;
56var serializers = {
57 array: converters.simple,
58 "boolean": converters.stringifyIfTruthy,
59 button: unconvertable,
60 checkbox: converters.simple,
61 color: converters.simple,
62 date: converters.toDate,
63 files: unconvertable,
64 number: converters.stringifyIfSet,
65 object: converters.jsonStringify,
66 options: converters.simple,
67 radios: converters.simple,
68 select: converters.simple,
69 text: converters.simple
70};
71exports.serializers = serializers;
72var deserializers = {
73 array: converters.toArray,
74 "boolean": converters.toBoolean,
75 button: unconvertable,
76 checkbox: converters.simple,
77 color: converters.simple,
78 date: converters.toDate,
79 files: unconvertable,
80 number: converters.toFloat,
81 object: converters.jsonParse,
82 options: converters.simple,
83 radios: converters.simple,
84 select: converters.simple,
85 text: converters.simple
86};
87exports.deserializers = deserializers;
\No newline at end of file