(capsuleObj)
| 627 | } |
| 628 | |
| 629 | function appendCapsule(capsuleObj) { |
| 630 | _validateAssetWarn('Capsule', validateCapsule, capsuleObj); |
| 631 | ensureSchemaFields(capsuleObj); |
| 632 | return withFileLock(capsulesPath(), () => { |
| 633 | const current = readJsonIfExists(capsulesPath(), getDefaultCapsules()); |
| 634 | const capsules = Array.isArray(current.capsules) ? current.capsules : []; |
| 635 | capsules.push(capsuleObj); |
| 636 | writeJsonAtomic(capsulesPath(), { version: current.version || 1, capsules }); |
| 637 | }); |
| 638 | } |
| 639 | |
| 640 | function upsertCapsule(capsuleObj) { |
| 641 | if (!capsuleObj || capsuleObj.type !== 'Capsule' || !capsuleObj.id) return; |
nothing calls this directly
no test coverage detected