cerialize
Version:
Easy serialization throught ES7/Typescript annotations
47 lines (41 loc) • 1.16 kB
text/typescript
///<reference path="./typings/jasmine.d.ts"/>
import {
__TypeMap,
Serialize,
Deserialize,
serialize,
serializeAs,
deserializeAs,
deserialize,
inheritSerialization
} from '../src/serialize';
class T {
x : number;
y : number;
dX : number;
dY : number;
}
class ExtendedT extends T {
z : number;
dZ : number;
}
describe('Inherit Serialization', function () {
it('should inherit serialized properties from a class', function () {
var instance = new ExtendedT();
instance.x = 1;
instance.y = 2;
instance.z = 3;
var result = Serialize(instance);
expect(result.x).toBe(1);
expect(result.Y).toBe(2);
expect(result.z).toBe(3);
});
it('should inherit deserialized properties from a class', function () {
var json = { dX: 1, DY: 2, dZ: 3 };
var instance = Deserialize(json, ExtendedT);
expect(instance.dX).toBe(1);
expect(instance.dY).toBe(2);
expect(instance.dZ).toBe(3);
});
});