1.0.1 • Published 5 years ago

@asmodeo/utils v1.0.1

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

@asmodeo

Build Status Dependencies Status License: MIT Greenkeeper badge Total alerts

This library contains some reusable code blocks for different applications.

@asmodeo/utils

How to install:

npm i @asmodeo/utils

ModelTransform

"ModelTransform" is a class that transforms an object or array into the destination class that is sent to it.

class Person {
  private _name;
  private _lastname;  
  public get fullName(): string {
    return `${this._lastname}, ${this._name}`;
  }
  
  private _age;  
  public get adult(): boolean {
    return this._age >= 18;
  }
  public get child(): boolean {
    return !this.adult;
  }
  
  constructor(input) {
    this._name = String(input.name).toLowerCase();
    this._lastname = String(input.lastName).toLowerCase();
    this._age = Number(input.age);
  }
}

const result = ModelTransform.Transform({ name: 'Pilmee', lastName: 'Gates', age: 21 } , Person));

console.log(result.fullName); // gates, pilmee
console.log(result.adult); // true;
console.log(result.child); // false

The idea is to help build models of objects that abstract the validations and other operations that may be necessary or require scope to only instantiate the model.

How to use:

Angular example:

import { Component, OnInit } from '@angular/core';
import { ModelTransform } from '@asmodeo/utils';
import 'rxjs/add/operator/map';
import { Subscription } from 'rxjs/Subscription';

import { BEPerson, PersonService } from './person.service';
import { Person, IPerson } from './person.model';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  public persons = [];

  constructor(
    private _PersonService: PersonService
  ) {}

  ngOnInit() {
    this._PersonService.get()
      .pipe(
        map<BEPerson[], IPerson[]>((person) => ModelTransform.Transform<BEPerson, IPerson>(person, Person))
      )      
      .subscribe((persons) => this.persons = persons);
  }
}

License:

MIT

1.0.1

5 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago