jsog-typescript
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-1 • Public • Published

JavaScript Object Graphs with Typescript

This Typescript module implements JSOG format. It is able to instantiante typescript objects during deserialization.

Usage

Installation

npm --save jsog-typescript

Enable typescript experimentalDecorator and emitDecoratorMetadata compiler options.

Minimal tslint.json:

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
    }
}

General

Generate a new instance of the service. See Integration for integration to some popular frameworks.

import { jsogService } from 'jsog-typescript'

const jsog = new JsogService();

Use it to serialize and deserialize JavaScript Objects.

jsog.serialize(javaScriptObject);
jsog.deserialize(jsogObjectGraph);

Instatiate Typescript Objects

Description how to instatiate Typescript objects to provide convinent methods and use the typeof operator.

Instantiate the root object or a list of rootObjects:

jsog.deserializeObject(jsogObjectGraph, ExampleClass);
jsog.deserializeArray(jsogObjectArray, ExampleClass);

To instantiate references somewhere in the tree decorate class properties to instantiate with @JsonProperty() and properties with Lists containing objects of type ExamplecClass use @JsonProperty(ExampleClass).

Integration

Angular 4

Provide JsogService as an Angular 4 Service which can be injected into your Components/Services.

import { NgModule } from '@angular/core';
import { JsogService } from 'jsog-typescript';

@NgModule({
    providers: [
        JsogService
    ]
)}

AngularJs

Register JsogService as an Angular Service

import { module } from 'angular';
import { JsogService } from 'jsog-typescript';

module.service('JsogService', JsogService)

Developer Guide

System dependencies

Author

License

This software is provided under the MIT license

This software uses code and ideas from:

Readme

Keywords

Package Sidebar

Install

npm i jsog-typescript

Weekly Downloads

678

Version

1.0.0-1

License

MIT

Last publish

Collaborators

  • oliverbr
  • fietel
  • lisowski
  • simon.nagl