pp-model.js

Simple Model Manipulation

Usage no npm install needed!

<script type="module">
  import ppModelJs from 'https://cdn.skypack.dev/pp-model.js';
</script>

README

Getting Started

In the web project include pp-model.js with:

<script src="https://cdn.jsdelivr.net/npm/pp-is@latest/pp-is.min.js" ></script>
<script src="https://cdn.jsdelivr.net/npm/pp-events@latest/pp-events.min.js" ></script>
<script src="https://cdn.jsdelivr.net/npm/pp-validate@latest/pp-validate.min.js" ></script>
<script src="https://cdn.jsdelivr.net/npm/pp-model.js@latest/pp-model.min.js" ></script>

Or

Install

npm i pp-mode.js --save

Initialize

Models are the heart of any JavaScript application.

// Declare model here
var model = new ppModel({
  defaults:{
   salary:5000
  }
});

// How to use it ?
var MyModel = new model({
   username:"MyUsername",
   age:33,
   skill:["Vue.js","Backbone.js","Angular.js","React.js"],
   adress:"Adress, city , contry"
});

// If you want to the listen and filter
MyModel.on('change:salary',function( newValue , oldValue , next ){

  // You can also the this
  // this.isUndefined
  // this.isString

    // Example
  if( 4000 < newValue ){
    next();
  }
})

// If you want to the listen after change
MyModel.on('changed:salary',function( value ){
    // You can also the this
    // this.isUndefined
    // this.isString
       console.log('value changed caugth ' + value);

})

// If you want to change the value
MyModel.set('salary',4000); // dont work
MyModel.set('salary',4999);
MyModel.set('age',30);

// If you want to get any value
console.log( MyModel.get('age') );
// output = 30
console.log( MyModel.get('salary') );
// output = 4999
console.log( MyModel.isNumber('salary') );
// output = true

MyModel.isNumber('salary', function( value ){
      //Type your code here
})

// check https://github.com/carlos-sweb/pp-validate
var result =  MyModel.validate({
   name:"minlength:6",
   salary:"number",
   age:"number|range:18,100"
});

console.log( result );

Methods

validate

validate data rules

Check Documentation

var rules ={
   name:"minlength:6",
   salary:"number",
   age:"number|range:18,100"
}
var result = MyModel.validate( rules );

if( result.valid ){
  // Enter your code here
}else{
  console.log( result.error);
}

isArray isBoolean isDate isElement isFunction isNull isNumber isObject isString isUndefined

These functions extend from pp-is

 // Enter the key to be consulted
 if( MyModel.isString('username') ){

 };

or

 // Enter the key to be consulted
 MyModel.isString('username', function( value ){

 })

getAll

get all main data

var dataRaw = MyModel.getAll();

get

get value from key of main data

var username = MyModel.get('username');

keys

get all keys from main data

var keys = MyModel.keys();

values

get all values from main data

var values = MyModel.values();

has

check if exists property from main data

var exists = MyModel.has('age');

set

MyModel.set('username','myNewUsername');

omit

MyModel.omit('username','age');

pick

Creates an object composed of the picked object properties.

MyModel.pick('username','age');

stringify

console.log(MyModel.stringify());
//output =