RenaiApp/src/main/modules/serialization/serialize-entity-promise.ts

18 lines
700 B
TypeScript

export function serializeEntityPromise<T extends Identifier>(
entityPromise: Promise<IdentifiableInterface<T>>,
): Promise<number>;
export function serializeEntityPromise<T extends Identifier>(
entityPromise: Promise<IdentifiableInterface<T>> | null,
): Promise<T | null>;
export async function serializeEntityPromise<T extends Identifier>(
entityPromise: Promise<IdentifiableInterface<T>> | null,
): Promise<T | null> {
return entityPromise ? (await entityPromise).id : null;
}
export async function serializeEntitiesPromise<T extends Identifier>(
entitiesPromise: Promise<Array<IdentifiableInterface<T>>>,
): Promise<T[]> {
return (await entitiesPromise).map((entity) => entity.id);
}