ascertain 0.9.8 → 0.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -52,6 +52,7 @@ const data = {
52
52
  parsedBoolean: as.boolean('false'),
53
53
  parsedArray: as.array('1,2,3,4,5', ','),
54
54
  parsedJSON: as.json('{ "number": 1 }'),
55
+ parsedBase64: as.base64('dGVzdA=='),
55
56
  };
56
57
 
57
58
  // create data schema
@@ -82,6 +83,7 @@ const schema: Schema<typeof data> = {
82
83
  parsedJSON: {
83
84
  number: 1,
84
85
  },
86
+ parsedBase64: String,
85
87
  };
86
88
 
87
89
  // validate
package/build/index.d.ts CHANGED
@@ -18,6 +18,7 @@ interface As {
18
18
  boolean: (value: string | undefined) => boolean,
19
19
  array: (value: string | undefined, delimiter: string | RegExp) => string[];
20
20
  json: <T>(value: string | undefined) => T;
21
+ base64: (value: string | undefined) => string | undefined;
21
22
  }
22
23
 
23
24
  export const as: As;
package/build/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.or = exports.optional = exports.default = exports.ascertain = exports.as = exports.and = exports.$values = exports.$keys = void 0;
6
+ exports.toggle = exports.or = exports.optional = exports.default = exports.ascertain = exports.as = exports.and = exports.$values = exports.$keys = void 0;
7
7
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8
8
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
9
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -79,6 +79,11 @@ var $keys = Symbol.for('@@keys');
79
79
  exports.$keys = $keys;
80
80
  var $values = Symbol.for('@@values');
81
81
  exports.$values = $values;
82
+ var fromBase64 = typeof Buffer === 'undefined' ? function (value) {
83
+ return atob(value);
84
+ } : function (value) {
85
+ return Buffer.from(value, 'base64').toString('utf-8');
86
+ };
82
87
  var as = {
83
88
  number: function number(value) {
84
89
  var result = parseFloat(value);
@@ -96,9 +101,21 @@ var as = {
96
101
  } catch (e) {
97
102
  return undefined;
98
103
  }
104
+ },
105
+ base64: function base64(value) {
106
+ try {
107
+ return fromBase64(value);
108
+ } catch (e) {
109
+ return undefined;
110
+ }
99
111
  }
100
112
  };
101
113
  exports.as = as;
114
+ var toggle = function toggle(key, cases, defaultKey) {
115
+ var _ref, _cases$key;
116
+ return (_ref = (_cases$key = cases[key]) !== null && _cases$key !== void 0 ? _cases$key : cases[defaultKey]) !== null && _ref !== void 0 ? _ref : undefined;
117
+ };
118
+ exports.toggle = toggle;
102
119
  function certain(target, schema, path, optional) {
103
120
  if (schema === null || typeof schema === 'undefined') {
104
121
  return new AssertError(schema, 'any value', path, 'schema value');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ascertain",
3
- "version": "0.9.8",
3
+ "version": "0.9.9",
4
4
  "description": "0-Deps, simple, fast, for browser and node js object schema validator",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",