# `HoloInputError`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

Class · `import { HoloInputError } from '@holostep-configurators/runtime-client';` · stable · since 2.0.0 · section 3. Errors

Invalid input to a call; nothing ran. A Promise-returning member rejects with it (the rejection
is created at the call); a synchronous member throws it. Exception: 'option-in-transaction' (a
commit option passed through a `tx` by an untyped call) always throws at the call.
Its [`code`](HoloInputError.code.md) is an [`InputErrorCode`](InputErrorCode.md). It also records the problem
'invalid-input'.

## Members

| Member | Kind | Summary |
| --- | --- | --- |
| <a id="constructor"></a>[`constructor`](HoloInputError.constructor.md) | constructor | As the runtime builds it: `message` becomes `` `${code}: ${message}` ``, `detail`'s fields the same-named ones, `docs` the code's page. |
| <a id="code"></a>[`code`](HoloInputError.code.md) | property | What was wrong, e.g. 'missing-node-id'; see [`InputErrorCode`](InputErrorCode.md). |
| <a id="path"></a>[`path`](HoloInputError.path.md) | property | The JSON path or argument the error is about. |
| <a id="expected"></a>[`expected`](HoloInputError.expected.md) | property | What the call needed, in words or a type. |
| <a id="received"></a>[`received`](HoloInputError.received.md) | property | What the call got. |
| <a id="didyoumean"></a>[`didYouMean?`](HoloInputError.didYouMean.md) | property | Up to 3 close matches, e.g. known ids for 'unknown-id'. |
| <a id="fix"></a>[`fix?`](HoloInputError.fix.md) | property | The right call, e.g. "pass `undo` to session.transaction(work, { undo })". |
| <a id="docs"></a>[`docs`](HoloInputError.docs.md) | property | URL of this code's page for this contract version. |

Inherited from [`Issue`](Issue.md): [`message`](Issue.message.md).

## Declaration

```ts
export declare class HoloInputError extends TypeError implements Issue {
  constructor(code: InputErrorCode, message: string, detail?: {
    path?: string;
    expected?: string;
    received?: string;
    didYouMean?: readonly string[];
    fix?: string;
  });
  readonly code: InputErrorCode;
  readonly path: string;
  readonly expected: string;
  readonly received: string;
  readonly didYouMean?: readonly string[];
  readonly fix?: string;
  readonly docs: string;
}
```

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `HoloInputError` names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | not recorded: no ledger row names this member or its owner |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |
