18 lines
700 B
TypeScript
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);
|
||
|
}
|