ascertain 0.12.33 → 0.13.0
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/build/index.d.ts +2 -0
- package/build/index.js +33 -7
- package/package.json +8 -8
package/build/index.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export function or<T = any>(...schemas: Schema<T>[]): Schema<any>;
|
|
|
16
16
|
interface As {
|
|
17
17
|
string: (value: string | undefined) => string,
|
|
18
18
|
number: (value: string | undefined) => number,
|
|
19
|
+
date: (value: string | undefined) => Date,
|
|
20
|
+
time: (value: string | undefined) => number,
|
|
19
21
|
boolean: (value: string | undefined) => boolean,
|
|
20
22
|
array: (value: string | undefined, delimiter: string | RegExp) => string[];
|
|
21
23
|
json: <T>(value: string | undefined) => T;
|
package/build/index.js
CHANGED
|
@@ -3,7 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.or = exports.optional = exports.fromBase64 = exports.default = exports.ascertain = exports.as = exports.and = exports.$values = exports.$keys = void 0;
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
13
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
14
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
15
|
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, _toPropertyKey(descriptor.key), descriptor); } }
|
|
@@ -76,19 +82,43 @@ var or = exports.or = function or() {
|
|
|
76
82
|
};
|
|
77
83
|
var $keys = exports.$keys = Symbol.for('@@keys');
|
|
78
84
|
var $values = exports.$values = Symbol.for('@@values');
|
|
79
|
-
var fromBase64 = typeof Buffer === 'undefined' ? function (value) {
|
|
85
|
+
var fromBase64 = exports.fromBase64 = typeof Buffer === 'undefined' ? function (value) {
|
|
80
86
|
return atob(value);
|
|
81
87
|
} : function (value) {
|
|
82
88
|
return Buffer.from(value, 'base64').toString('utf-8');
|
|
83
89
|
};
|
|
90
|
+
var MULTIPLIERS = {
|
|
91
|
+
ms: 1,
|
|
92
|
+
s: 1000,
|
|
93
|
+
m: 60000,
|
|
94
|
+
h: 3600000,
|
|
95
|
+
d: 86400000,
|
|
96
|
+
w: 604800000
|
|
97
|
+
};
|
|
84
98
|
var as = exports.as = {
|
|
85
99
|
string: function string(value) {
|
|
86
|
-
return typeof value ===
|
|
100
|
+
return typeof value === 'string' ? value : undefined;
|
|
87
101
|
},
|
|
88
102
|
number: function number(value) {
|
|
89
103
|
var result = parseFloat(value);
|
|
90
104
|
return Number.isFinite(result) ? result : undefined;
|
|
91
105
|
},
|
|
106
|
+
date: function date(value) {
|
|
107
|
+
var result = Date.parse(value);
|
|
108
|
+
return Number.isFinite(result) ? new Date(result) : undefined;
|
|
109
|
+
},
|
|
110
|
+
time: function time(value) {
|
|
111
|
+
var matches = value === null || value === void 0 ? void 0 : value.match(/^(\d+)(ms|s|m|h|d|w)?$/);
|
|
112
|
+
if (matches) {
|
|
113
|
+
var _matches = _slicedToArray(matches, 3),
|
|
114
|
+
_ = _matches[0],
|
|
115
|
+
amount = _matches[1],
|
|
116
|
+
_matches$ = _matches[2],
|
|
117
|
+
unit = _matches$ === void 0 ? 'ms' : _matches$;
|
|
118
|
+
return parseInt(amount, 10) * MULTIPLIERS[unit];
|
|
119
|
+
}
|
|
120
|
+
return undefined;
|
|
121
|
+
},
|
|
92
122
|
boolean: function boolean(value) {
|
|
93
123
|
return /^(0|1|true|false|enabled|disabled)$/i.test(value) ? /^(1|true|enabled)$/i.test(value) : undefined;
|
|
94
124
|
},
|
|
@@ -111,10 +141,6 @@ var as = exports.as = {
|
|
|
111
141
|
}
|
|
112
142
|
}
|
|
113
143
|
};
|
|
114
|
-
var toggle = exports.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
144
|
function certain(target, schema, path, optional) {
|
|
119
145
|
if (schema === null || typeof schema === 'undefined') {
|
|
120
146
|
return new AssertError(schema, 'any value', path, 'schema value');
|
package/package.json
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ascertain",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
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",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "NODE_ENV=production babel src --out-dir build --ignore **/__tests__,**/__fixtures__ && cp src/index.d.ts build",
|
|
9
|
-
"test": "NODE_ENV=test jest",
|
|
10
|
-
"test:cov": "COVERAGE=1 NODE_ENV=test jest"
|
|
11
|
-
},
|
|
12
7
|
"repository": {
|
|
13
8
|
"type": "git",
|
|
14
9
|
"url": "git+https://github.com/3axap4eHko/ascertain.git"
|
|
@@ -39,5 +34,10 @@
|
|
|
39
34
|
"babel-jest": "^29.7.0",
|
|
40
35
|
"jest": "^29.7.0"
|
|
41
36
|
},
|
|
42
|
-
"dependencies": {}
|
|
43
|
-
|
|
37
|
+
"dependencies": {},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "NODE_ENV=production babel src --out-dir build --ignore **/__tests__,**/__fixtures__ && cp src/index.d.ts build",
|
|
40
|
+
"test": "NODE_ENV=test jest",
|
|
41
|
+
"test:cov": "COVERAGE=1 NODE_ENV=test jest"
|
|
42
|
+
}
|
|
43
|
+
}
|