Consume the provided resource-envelope API snapshot. Preserve financial snapshots during refresh, observe synchronization without importing, and fence late responses across account and connection changes.
22 lines
555 B
TypeScript
22 lines
555 B
TypeScript
import type { paths } from "@/shared/api";
|
|
|
|
type Meta =
|
|
paths["/api/v1/brokerage-accounts"]["get"]["responses"][200]["content"]["application/json"]["meta"];
|
|
function resource<T>(data: T, meta: Partial<Meta> = {}) {
|
|
return {
|
|
data,
|
|
meta: {
|
|
resourceKey: "fixture",
|
|
dataRevision: "1",
|
|
stateVersion: "1",
|
|
availability: data === null ? "missing" : "complete",
|
|
freshness: "fresh",
|
|
lastSuccessfulAt: "2026-08-14T00:00:00Z",
|
|
sync: { id: null, state: "idle", errorCode: null },
|
|
...meta,
|
|
} satisfies Meta,
|
|
};
|
|
}
|
|
|
|
export { resource };
|