/** Typed boundary error when a workflow action requires a persisted entry id. */
export class ContentEntryNotSavedError extends Error {
  override readonly name = 'ContentEntryNotSavedError'
  constructor(readonly action: string) {
    super(`cannot ${action}: entry has not been saved yet`)
  }
}

export function isContentEntryNotSavedError(e: unknown): e is ContentEntryNotSavedError {
  return typeof e === 'object' && e !== null && (e as { name?: string }).name === 'ContentEntryNotSavedError'
}
