Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface InstanceToCreateDto { }
- interface InstanceToUpdateDto {
- id: string;
- }
- interface FooBarCreateDto extends InstanceToCreateDto {
- plop: string;
- baz?: string | undefined;
- }
- interface FooBarDto extends FooBarCreateDto, InstanceToUpdateDto {
- baz: string;
- }
- interface PersonCreateDto extends InstanceToCreateDto {
- name: string;
- }
- interface PersonDto extends PersonCreateDto, InstanceToUpdateDto { }
- type InstanceToCreate = FooBarCreateDto | PersonCreateDto;
- type InstanceToUpdate = FooBarDto | PersonDto;
- function instanceExists(instance: InstanceToCreateDto | InstanceToUpdateDto): instance is InstanceToUpdateDto {
- return !!(instance as InstanceToUpdateDto).id;
- }
- function createOrUpdateInstance(instance: InstanceToCreate | InstanceToUpdate) {
- if (instanceExists(instance)) {
- // update InstanceToUpdate
- }
- // create InstanceToCreate
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement