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);
|
|
}
|