schema-typed
Advanced tools
Comparing version 1.4.0 to 1.5.0
@@ -0,1 +1,5 @@ | ||
# 1.5.0 | ||
- Added support for `isRequiredOrEmpty` in StringType and ArrayType | ||
# 1.4.0 | ||
@@ -2,0 +6,0 @@ |
@@ -0,1 +1,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
var _Type2 = _interopRequireDefault(require("./Type")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } | ||
@@ -7,4 +18,2 @@ | ||
import Type from './Type'; | ||
var ArrayType = | ||
@@ -105,6 +114,8 @@ /*#__PURE__*/ | ||
return ArrayType; | ||
}(Type); | ||
}(_Type2["default"]); | ||
export default (function (errorMessage) { | ||
var _default = function _default(errorMessage) { | ||
return new ArrayType(errorMessage); | ||
}); | ||
}; | ||
exports["default"] = _default; |
@@ -0,1 +1,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
var _Type2 = _interopRequireDefault(require("./Type")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } | ||
@@ -7,4 +18,2 @@ | ||
import Type from './Type'; | ||
var BooleanType = | ||
@@ -33,6 +42,8 @@ /*#__PURE__*/ | ||
return BooleanType; | ||
}(Type); | ||
}(_Type2["default"]); | ||
export default (function (errorMessage) { | ||
var _default = function _default(errorMessage) { | ||
return new BooleanType(errorMessage); | ||
}); | ||
}; | ||
exports["default"] = _default; |
@@ -0,1 +1,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
var _Type2 = _interopRequireDefault(require("./Type")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } | ||
@@ -7,4 +18,2 @@ | ||
import Type from './Type'; | ||
var DateType = | ||
@@ -59,6 +68,8 @@ /*#__PURE__*/ | ||
return DateType; | ||
}(Type); | ||
}(_Type2["default"]); | ||
export default (function (errorMessage) { | ||
var _default = function _default(errorMessage) { | ||
return new DateType(errorMessage); | ||
}); | ||
}; | ||
exports["default"] = _default; |
@@ -1,7 +0,76 @@ | ||
export * from './Schema'; | ||
export { default as StringType } from './StringType'; | ||
export { default as NumberType } from './NumberType'; | ||
export { default as ArrayType } from './ArrayType'; | ||
export { default as DateType } from './DateType'; | ||
export { default as ObjectType } from './ObjectType'; | ||
export { default as BooleanType } from './BooleanType'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _exportNames = { | ||
StringType: true, | ||
NumberType: true, | ||
ArrayType: true, | ||
DateType: true, | ||
ObjectType: true, | ||
BooleanType: true | ||
}; | ||
Object.defineProperty(exports, "StringType", { | ||
enumerable: true, | ||
get: function get() { | ||
return _StringType["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "NumberType", { | ||
enumerable: true, | ||
get: function get() { | ||
return _NumberType["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "ArrayType", { | ||
enumerable: true, | ||
get: function get() { | ||
return _ArrayType["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "DateType", { | ||
enumerable: true, | ||
get: function get() { | ||
return _DateType["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "ObjectType", { | ||
enumerable: true, | ||
get: function get() { | ||
return _ObjectType["default"]; | ||
} | ||
}); | ||
Object.defineProperty(exports, "BooleanType", { | ||
enumerable: true, | ||
get: function get() { | ||
return _BooleanType["default"]; | ||
} | ||
}); | ||
var _Schema = require("./Schema"); | ||
Object.keys(_Schema).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _Schema[key]; | ||
} | ||
}); | ||
}); | ||
var _StringType = _interopRequireDefault(require("./StringType")); | ||
var _NumberType = _interopRequireDefault(require("./NumberType")); | ||
var _ArrayType = _interopRequireDefault(require("./ArrayType")); | ||
var _DateType = _interopRequireDefault(require("./DateType")); | ||
var _ObjectType = _interopRequireDefault(require("./ObjectType")); | ||
var _BooleanType = _interopRequireDefault(require("./BooleanType")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } |
@@ -0,1 +1,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
var _Type2 = _interopRequireDefault(require("./Type")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } | ||
@@ -7,4 +18,2 @@ | ||
import Type from './Type'; | ||
function FN(value) { | ||
@@ -87,6 +96,8 @@ return +value; | ||
return NumberType; | ||
}(Type); | ||
}(_Type2["default"]); | ||
export default (function (errorMessage) { | ||
var _default = function _default(errorMessage) { | ||
return new NumberType(errorMessage); | ||
}); | ||
}; | ||
exports["default"] = _default; |
@@ -0,1 +1,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
var _Type2 = _interopRequireDefault(require("./Type")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } | ||
@@ -9,4 +20,2 @@ | ||
import Type from './Type'; | ||
var ObjectType = | ||
@@ -66,6 +75,8 @@ /*#__PURE__*/ | ||
return ObjectType; | ||
}(Type); | ||
}(_Type2["default"]); | ||
export default (function (errorMessage) { | ||
var _default = function _default(errorMessage) { | ||
return new ObjectType(errorMessage); | ||
}); | ||
}; | ||
exports["default"] = _default; |
@@ -1,3 +0,13 @@ | ||
import StringType from './StringType'; | ||
export var Schema = | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.SchemaModel = exports.Schema = void 0; | ||
var _StringType = _interopRequireDefault(require("./StringType")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
var Schema = | ||
/*#__PURE__*/ | ||
@@ -12,3 +22,3 @@ function () { | ||
_proto.getFieldType = function getFieldType(fieldName) { | ||
return this.schema[fieldName] || new StringType(); | ||
return this.schema[fieldName] || new _StringType["default"](); | ||
}; | ||
@@ -77,6 +87,11 @@ | ||
}(); | ||
export var SchemaModel = function SchemaModel(o) { | ||
exports.Schema = Schema; | ||
var SchemaModel = function SchemaModel(o) { | ||
return new Schema(o); | ||
}; | ||
exports.SchemaModel = SchemaModel; | ||
SchemaModel.combine = function () { | ||
@@ -83,0 +98,0 @@ for (var _len = arguments.length, models = new Array(_len), _key = 0; _key < _len; _key++) { |
@@ -0,1 +1,12 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
var _Type2 = _interopRequireDefault(require("./Type")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } | ||
@@ -15,5 +26,3 @@ | ||
import Type from './Type'; | ||
/* eslint-disable */ | ||
var StringType = | ||
@@ -155,6 +164,8 @@ /*#__PURE__*/ | ||
return StringType; | ||
}(Type); | ||
}(_Type2["default"]); | ||
export default (function (errorMessage) { | ||
var _default = function _default(errorMessage) { | ||
return new StringType(errorMessage); | ||
}); | ||
}; | ||
exports["default"] = _default; |
@@ -0,1 +1,8 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports["default"] = void 0; | ||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
@@ -7,6 +14,14 @@ | ||
function checkRequired(value, trim) { | ||
function basicEmptyCheck(value) { | ||
return typeof value === 'undefined' || value === null; | ||
} | ||
function checkRequired(value, trim, emptyAllowed) { | ||
// String trim | ||
if (trim && typeof value === 'string') { | ||
value = value.replace(/(^\s*)|(\s*$)/g, ''); | ||
} | ||
if (emptyAllowed) { | ||
return !basicEmptyCheck(value); | ||
} // Array | ||
@@ -82,2 +97,3 @@ | ||
this.trim = false; | ||
this.emptyAllowed = false; | ||
this.rules = []; | ||
@@ -90,3 +106,3 @@ this.priorityRules = []; // Priority check rule | ||
_proto.check = function check(value, data) { | ||
if (this.required && !checkRequired(value, this.trim)) { | ||
if (this.required && !checkRequired(value, this.trim, this.emptyAllowed)) { | ||
return { | ||
@@ -119,3 +135,3 @@ hasError: true, | ||
if (this.required && !checkRequired(value, this.trim)) { | ||
if (this.required && !checkRequired(value, this.trim, this.emptyAllowed)) { | ||
return Promise.resolve({ | ||
@@ -182,5 +198,15 @@ hasError: true, | ||
_proto.isRequiredOrEmpty = function isRequiredOrEmpty(errorMessage) { | ||
var trim = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
this.required = true; | ||
this.trim = trim; | ||
this.emptyAllowed = true; | ||
this.requiredMessage = errorMessage; | ||
return this; | ||
}; | ||
return Type; | ||
}(); | ||
export default Type; | ||
var _default = Type; | ||
exports["default"] = _default; |
@@ -14,6 +14,14 @@ "use strict"; | ||
function checkRequired(value, trim) { | ||
function basicEmptyCheck(value) { | ||
return typeof value === 'undefined' || value === null; | ||
} | ||
function checkRequired(value, trim, emptyAllowed) { | ||
// String trim | ||
if (trim && typeof value === 'string') { | ||
value = value.replace(/(^\s*)|(\s*$)/g, ''); | ||
} | ||
if (emptyAllowed) { | ||
return !basicEmptyCheck(value); | ||
} // Array | ||
@@ -89,2 +97,3 @@ | ||
this.trim = false; | ||
this.emptyAllowed = false; | ||
this.rules = []; | ||
@@ -97,3 +106,3 @@ this.priorityRules = []; // Priority check rule | ||
_proto.check = function check(value, data) { | ||
if (this.required && !checkRequired(value, this.trim)) { | ||
if (this.required && !checkRequired(value, this.trim, this.emptyAllowed)) { | ||
return { | ||
@@ -126,3 +135,3 @@ hasError: true, | ||
if (this.required && !checkRequired(value, this.trim)) { | ||
if (this.required && !checkRequired(value, this.trim, this.emptyAllowed)) { | ||
return Promise.resolve({ | ||
@@ -189,2 +198,11 @@ hasError: true, | ||
_proto.isRequiredOrEmpty = function isRequiredOrEmpty(errorMessage) { | ||
var trim = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; | ||
this.required = true; | ||
this.trim = trim; | ||
this.emptyAllowed = true; | ||
this.requiredMessage = errorMessage; | ||
return this; | ||
}; | ||
return Type; | ||
@@ -191,0 +209,0 @@ }(); |
{ | ||
"name": "schema-typed", | ||
"version": "1.4.0", | ||
"version": "1.5.0", | ||
"description": "Schema for data modeling & validation", | ||
@@ -11,3 +11,4 @@ "main": "lib/index.js", | ||
"build": "./node_modules/.bin/babel -d lib/ src/", | ||
"build-es": "NODE_ENV=esm ./node_modules/.bin/babel -d es/ src/", | ||
"es": "./node_modules/.bin/babel -d es/ src/", | ||
"build-es": "cross-env NODE_ENV=esm && npm run es", | ||
"prepublish": "npm run test && npm run test-types && npm run build && npm run build-es", | ||
@@ -67,2 +68,3 @@ "tdd": "mocha --watch --compilers js:@babel/register test/*Spec.js ", | ||
"coveralls": "^2.13.1", | ||
"cross-env": "^6.0.3", | ||
"dtslint": "^0.9.9", | ||
@@ -69,0 +71,0 @@ "eslint": "^4.19.1", |
@@ -327,2 +327,8 @@ # schema-typed | ||
- isRequiredOrEmpty(errorMessage: string, trim: boolean = true) | ||
```js | ||
StringType().isRequiredOrEmpty('This field required'); | ||
``` | ||
- isEmail(errorMessage: string) | ||
@@ -468,2 +474,8 @@ | ||
- isRequiredOrEmpty(errorMessage: string) | ||
```js | ||
ArrayType().isRequiredOrEmpty('This field required'); | ||
``` | ||
- rangeLength(minLength: number, maxLength: number, errorMessage: string) | ||
@@ -470,0 +482,0 @@ |
@@ -16,4 +16,5 @@ interface CheckResult<ErrorMsgType = string> { | ||
isRequired: (errorMessage?: ErrorMsgType) => this; | ||
isRequiredOrEmpty: (errorMessage?: ErrorMsgType) => this; | ||
} | ||
export { CheckResult, Type }; |
93522
1839
624
39