1.3.2 • Published 7 years ago
ts-serialize v1.3.2
ts-serialize
Serialization tool using Typescript decorators and reflect-metadata.
Usage
Example with two classes :
import {Serializable, Serialize, SerializeOpt, SerializeArray} from "ts-serialize"
class Role extends Serializable {
// Serialize knows the primitive types
// So it can automatically validate and convert it
@Serialize()
public id : string;
@Serialize()
public order : number;
}
class User extends Serializable {
// You can change the property name
// (`id` for the class, `identifier` for the json)
@Serialize('identifier')
public id : string;
@Serialize()
private age : number;
@Serialize()
public language : string;
// For optionals, you need to use a special decorator
@SerializeOpt( String )
public name : Optional< string >;
// For arrays, you need to use a special decorator
@SerializeArray( User )
public children : User[];
// Composition works naturally
@Serialize()
public role : Role;
// You can apply your own transformers
@Serialize(() => Math.random() * 1000)
public random : number;
}
Now, validate you json using one of those and get either errors or your serialized object/array
static fromString< T >(str: string): Either< Error[], T >;
static fromStringAsArray< T >(str: string): Either< Error[], Array< T > >;
static fromJsObject< T >(jsObject: JsObject, jsonPath: string[] = [], classPath: string[] = []): Either< Error[], T >;
static fromJsArray< T >(jsArray: JsArray, jsonPath: string[] = [], classPath: string[] = []): Either< Error[], T[] >;
And convert your instances to json using :
const user = new User();
console.log(user.toJson());
1.3.2
7 years ago
1.3.1
7 years ago
1.3.0
7 years ago
1.2.1
7 years ago
1.2.0
7 years ago
1.1.0
7 years ago
1.0.1
7 years ago
1.0.0
7 years ago
0.0.12
7 years ago
0.0.11
7 years ago
0.0.10
7 years ago
0.0.9
7 years ago
0.0.8
7 years ago
0.0.7
7 years ago
0.0.6
7 years ago
0.0.5
7 years ago
0.0.4
7 years ago
0.0.3
7 years ago
0.0.2
7 years ago
0.0.1
7 years ago