UNPKG

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