power-data-hub/metamorphose

v0.2 2018-05-26 01:24 UTC

README

68747470733a2f2f692e70696e696d672e636f6d2f6f726967696e616c732f65302f37372f65632f65303737656338383436623663656262313134626163346562363364333734652e706e67

Metamorphose - Transform your data

Build Status StyleCI 68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f32353532346637333361323366623531346335632f6d61696e7461696e6162696c697479 Latest Stable Version License 68747470733a2f2f6170702e666f7373612e696f2f6170692f70726f6a656374732f6769742532426769746875622e636f6d253246656462697a6172726f2532466d6574616d6f7270686f73652e7376673f747970653d736d616c6c

Here are a few examples on how you can use the package:

use \PowerDataHub\Metamorphose\Transformers\TrimTransformer;
use \PowerDataHub\Metamorphose\Metamorphose;

$result = app(Metamorphose::class)
    ->from(['name' => ' John Doe ')
    ->through(TrimTransformer::class)
    ->transform();

// Output

['name' => 'John Doe']

You can pass as many transformers as you want:

use \PowerDataHub\Metamorphose\Transformers\TrimTransformer;
use \PowerDataHub\Metamorphose\Transformers\PercentTransformer;
use \PowerDataHub\Metamorphose\Transformers\NumericTransformer;
use \PowerDataHub\Metamorphose\Metamorphose;

app(Metamorphose::class)
    ->from(['name' => ' John Doe ', 'age' => '33', 'score' => '33.987'])
    ->through([
        TrimTransformer::class,
        PercentTransformer::class,        
        NumericTransformer::class,
    ])
    ->transform();
    
//Output

['name' => 'John Doe', 'age' => 33, 'score' => 33.99]

Installation

You can install the package via composer:

composer require power-data-hub/metamorphose

Transformers

Metamorphose come with some useful transformers

Trim

use \PowerDataHub\Metamorphose\Transformers\TrimTransformer;

app(Metamorphose::class)
    ->from(['name' => ' John', 'last_name' => ' Doe '])
    ->through(TrimTransformer::class)
    ->transform();

// Output

['name' => 'John', 'last_name' => 'Doe']

forthebadge