Skip to content

Interface: FactorySpec

Defined in: source-locator.ts:67

One factory the compiler injects identity into.

Properties

args

args: object

Defined in: source-locator.ts:74

Inclusive argument-count range for a call to qualify.

max

max: number

min

min: number


callee

callee: string

Defined in: source-locator.ts:72

Callee identifier, matched syntactically — the call must literally read <callee>(…); aliases and re-exports are invisible (by design).


inject

inject: readonly ("name" | "loc" | "description")[]

Defined in: source-locator.ts:85

Keys injected when absent. name behavior is governed by namePolicy.


namePolicy

namePolicy: "optional" | "required"

Defined in: source-locator.ts:96

What happens when a call has no explicit name and no inferrable binding (not assigned to a const, an object property, or a plain assignment):

  • "optional" — skip injection entirely (anonymous cells are legal and get no loc/description either, exactly the pre-table behavior);
  • "required" — compile error with a code frame (a control/action name is a durable key and a tool identity; the runtime would throw anyway, so fail earlier and better).

optionsArg

optionsArg: number

Defined in: source-locator.ts:83

Index of the options object. When it can be ≥ the call's argument count the argument is appended on demand (cell: index 2 of a 2-arg call); when every qualifying call already has it (control/action: index 0) it is only ever merged into. A present-but-non-object options argument (a spread, a call) is left alone — the runtime's loud-failure guard is the backstop for those.