How to use typedjson - 4 common examples

To help you get started, we’ve selected a few typedjson examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github opf / openproject / frontend / src / app / modules / bim / bcf / api / topics / bcf-topic.resource.spec.ts View on Github external
it('can parse from the API returned JSON', () => {
    const serializer = new TypedJSON(BcfTopicResource);
    const subject = serializer.parse(topic_object)!;

    expect(subject).toBeInstanceOf(BcfTopicResource);
    ['guid', 'topic_type', 'topic_status', 'priority', 'reference_links', 'title',
      'index', 'labels', 'creation_author', 'modified_author', 'assigned_to', 'stage',
      'description'].forEach((item) => expect((subject as any)[item]).toEqual((topic_object as any)[item]));

    // Expect dates
    expect(subject.creation_date).toEqual(moment(topic_object.creation_date));
    expect(subject.modified_date).toEqual(moment(topic_object.modified_date));
    expect(subject.due_date.format('YYYY-MM-DD')).toEqual(topic_object.due_date);

    expect(serializer.toPlainJson(subject)).toEqual(topic_object);
  });
});
github opf / openproject / frontend / src / app / modules / bim / bcf / api / bcf-api-request.service.ts View on Github external
protected deserialize(data:any):T {
    if (this.resourceClass) {
      const serializer = new TypedJSON(this.resourceClass);
      return serializer.parse(data)!;
    } else {
      return data;
    }
  }
}
github opf / openproject / frontend / src / app / modules / bim / bcf / api / topics / bcf-topic.resource.ts View on Github external
@jsonObject
export class BcfTopicResource {

  @jsonMember
  guid:string;

  @jsonMember
  topic_type:string;

  @jsonMember
  topic_status:string;

  @jsonMember
  priority:string;

  @jsonArrayMember(String)
  reference_links:string[];

  @jsonMember
  title:string;

  @jsonMember({ preserveNull: true })
  index:number|null;

  @jsonArrayMember(String)
  labels:string[];

  @jsonMember({ deserializer: value => moment(value), serializer: (timestamp:Moment) => timestamp.toISOString() })
  creation_date:Moment;

  @jsonMember
  creation_author:string;
github opf / openproject / frontend / src / app / modules / bim / bcf / api / extensions / bcf-extension.resource.ts View on Github external
import { jsonArrayMember, jsonObject } from "typedjson";

@jsonObject
export class BcfExtensionResource {

  @jsonArrayMember(String)
  topic_actions:string[];

  @jsonArrayMember(String)
  project_actions:string[];

  @jsonArrayMember(String)
  comment_actions:string[];
}

typedjson

Typed JSON parsing and serializing for TypeScript that preserves type information, using decorators. Parse JSON into actual class instances.

MIT
Latest version published 3 years ago

Package Health Score

57 / 100
Full package analysis