(projectRoot, contractOrOptions = {}, options = {})
| 38 | } |
| 39 | |
| 40 | function registerLoop(projectRoot, contractOrOptions = {}, options = {}) { |
| 41 | const root = path.resolve(projectRoot || process.cwd()); |
| 42 | const contract = contractOrOptions.version |
| 43 | ? { ...contractOrOptions } |
| 44 | : createLoopContract(contractOrOptions); |
| 45 | const validation = validateLoopContract(contract); |
| 46 | if (!validation.pass) throw new Error(`Invalid loop contract: ${validation.errors.join('; ')}`); |
| 47 | contract.updatedAt = nowIso(options); |
| 48 | writeJson(loopPath(root, contract.id), contract); |
| 49 | return contract; |
| 50 | } |
| 51 | |
| 52 | function readLoop(projectRoot, id) { |
| 53 | const root = path.resolve(projectRoot || process.cwd()); |
no test coverage detected