| 213 | } |
| 214 | |
| 215 | export function emitEffect(contract: Contract): Output { |
| 216 | const endpoint = contract.groups.flatMap((group) => group.endpoints).find((endpoint) => !endpoint.effectPortable) |
| 217 | if (endpoint !== undefined) { |
| 218 | throw new GenerationError({ |
| 219 | reason: `Effect schema requires authoritative import: ${endpoint.group}.${endpoint.endpoint.name}`, |
| 220 | }) |
| 221 | } |
| 222 | return { operations: operations(contract.groups), files: renderEffectFiles(contract.groups) } |
| 223 | } |
| 224 | |
| 225 | export function emitEffectImported( |
| 226 | contract: Contract, |