/** * @typedef {{ * id: string, * displayName: string, * createdAt: string | null * }} Resource */ /** @param {Resource} values @returns {Readonly} */ export function createResource(values) { if (!values.id || !values.displayName) { throw new TypeError("Resource invariants require id and displayName"); } return Object.freeze({ id: values.id, displayName: values.displayName, createdAt: values.createdAt, }); }