New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

model-generator

Package Overview
Dependencies
Maintainers
3
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

model-generator - npm Package Compare versions

Comparing version 0.6.8 to 0.7.0

67

ModelGeneratorModule.js
let DefaultValidators = require('./defaultValidators');
let Validators=DefaultValidators;
let Settings = {
debug: false
};
class Property {

@@ -37,16 +40,30 @@ constructor(name,defaultValue,type,validators){

"set": function(value) {
// convert data
let result = converter(value, this[prop.Name + 'Type'], prop.Name);
if(result){
if(result !== false){
(Settings.debug)? console.log("Changing " + value + " to " + result + " for " + prop.Name): null;
value = result;
}
// type checking
checkType(value,this[prop.Name + 'Type'],prop.Name);
// validator looping
let isRequired = false;
for (let validator in this[prop.Name + "Validators"]) {
if (this[prop.Name + "Validators"].hasOwnProperty(validator)) {
this[prop.Name + "Validators"][validator].Validate(value,prop.Name);
if(this[prop.Name + "Validators"][validator].Name == "Required"){
isRequired = true;
}
}
console.log(value);
if(!isRequired && (value === undefined || value === null)){
(Settings.debug)? console.log("Skipped " + prop.Name + " because not required and empty."): null;
}else{
// type checking
checkType(value,this[prop.Name + 'Type'],prop.Name);
// validator looping
for (let validator in this[prop.Name + "Validators"]) {
if (this[prop.Name + "Validators"].hasOwnProperty(validator)) {
this[prop.Name + "Validators"][validator].Validate(value,prop.Name);
}
}
}
this['_' + prop.Name]=value;

@@ -70,6 +87,2 @@ }

function converter(valueToCheck,type,propName){
if(type!==null && valueToCheck === null){
return undefined;
}
if(type===Date && valueToCheck !== "" && valueToCheck !== null && valueToCheck !== undefined){

@@ -87,2 +100,3 @@ if(valueToCheck instanceof Date){

}
return false;
}

@@ -165,3 +179,3 @@

model.Structure.properties.forEach(function(prop){
if(json[prop.Name]!==undefined){
if(json[prop.Name]!==undefined || json[prop.Name]!==null){
model[prop.Name]=json[prop.Name];

@@ -172,3 +186,3 @@ }

};
var CastArray= (jsonArray,Model) => {
let CastArray= (jsonArray,Model) => {
let array;

@@ -179,9 +193,20 @@ jsonArray.forEach(function(json){

return array;
}
//exports
module.exports.ModelGenerator = ModelGenerator;
module.exports.Property = Property;
module.exports.registerValidator = registerValidator;
module.exports.Validators=Validators;
module.exports.Cast = Cast;
module.exports.CastArray = Cast;
};
module.exports = function(settings){
if(settings !== undefined){
if(typeof settings.debug === 'boolean'){
Settings.debug = settings.debug;
}else{
throw("Debug setting requires a boolean.");
}
}
return {
ModelGenerator: ModelGenerator,
Property: Property,
registerValidator: registerValidator,
Validators: Validators,
Cast: Cast,
CastArray: CastArray
};
};
{
"name": "model-generator",
"version": "0.6.8",
"version": "0.7.0",
"description": "Model generator for applications that need models with typings and validation without the help of typescript",

@@ -5,0 +5,0 @@ "main": "ModelGeneratorModule.js",

@@ -12,10 +12,26 @@ # Model generator

``` javascript
let ModelGeneratorModule = require('model-generator');
let ModelGenerator = ModelGeneratorModule().ModelGenerator;
let Property = ModelGeneratorModule().Property;
let Validators = ModelGeneratorModule().Validators;
```
###Optional settings
Include an object
``` javascript
let settings = {
/**
* name: debug
* default: false
* requires: Boolean
*/
debug: true
};
```
Edit the following line if you want to add settings:
``` javascript
let ModelGenerator = ModelGeneratorModule(settings).ModelGenerator;
```
let ModelGeneratorModule = require('model-generator');
let ModelGenerator = ModelGeneratorModule.ModelGenerator;
let Property = ModelGeneratorModule.Property;
let Validators = ModelGeneratorModule.Validators;
```
### Create your model

@@ -22,0 +38,0 @@ Create a class and extend it with the ModelGenerator class. Create a constructor and then call super(<=StructureForYourModel=>).

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc