import { ApiDataInterface } from "../interfaces/ApiDataInterface"; import { ApiRequestDataTypeInterface } from "../interfaces/ApiRequestDataTypeInterface"; import { JsonApiHydratedDataInterface } from "../interfaces/JsonApiHydratedDataInterface"; import { RehydrationFactory } from "../factories/RehydrationFactory"; /** * Rehydrate a single dehydrated object back into its typed class instance. */ export function rehydrate( classKey: ApiRequestDataTypeInterface, data: JsonApiHydratedDataInterface, ): T { return RehydrationFactory.rehydrate(classKey, data) as T; } /** * Rehydrate a list of dehydrated objects back into typed class instances. */ export function rehydrateList( classKey: ApiRequestDataTypeInterface, data: JsonApiHydratedDataInterface[], ): T[] { return RehydrationFactory.rehydrateList(classKey, data) as T[]; }