(asset, deps)
| 630 | } |
| 631 | |
| 632 | function prepareReuseAssetStore(asset, deps) { |
| 633 | const store = deps.assetStore || require('./assetStore'); |
| 634 | if (asset.type === 'Gene' && typeof store.upsertGene === 'function') { |
| 635 | assertNoLocalReuseIdConflict(asset, store, 'Gene'); |
| 636 | return store; |
| 637 | } |
| 638 | if (asset.type === 'Capsule' && typeof store.upsertCapsule === 'function') { |
| 639 | assertNoLocalReuseIdConflict(asset, store, 'Capsule'); |
| 640 | return store; |
| 641 | } |
| 642 | if (asset.type === 'EvolutionEvent' && typeof store.appendEventJsonl === 'function') { |
| 643 | return store; |
| 644 | } |
| 645 | throw new ContractError('unsupported', 'unsupported asset type'); |
| 646 | } |
| 647 | |
| 648 | function storeReusedAsset(asset, deps, preparedStore) { |
| 649 | const store = preparedStore || prepareReuseAssetStore(asset, deps); |
no test coverage detected