From b11cd3418188b8c4e4c8346577f9f7577736f807 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 25 May 2023 08:54:28 -0300 Subject: Revert "contracts: highly dysfunctional ContractManager" This reverts commit 63b1b5b6fd14d3bacdcb979298b4fa669de4f20b. --- src/content/dependencies/generateAlbumTrackList.js | 103 --------------------- 1 file changed, 103 deletions(-) (limited to 'src/content/dependencies/generateAlbumTrackList.js') diff --git a/src/content/dependencies/generateAlbumTrackList.js b/src/content/dependencies/generateAlbumTrackList.js index a0fad460..f2f2279d 100644 --- a/src/content/dependencies/generateAlbumTrackList.js +++ b/src/content/dependencies/generateAlbumTrackList.js @@ -44,109 +44,6 @@ export default { 'language', ], - contracts: { - length: { - hook(contract, [array]) { - contract.provide({ - length: contract.selectProperty(array, 'length'), - }); - }, - - compute({length}) { - return length; - }, - }, - - isDefault: { - hook(contract, [trackSection]) { - contract.provide({ - isDefault: contract.selectProperty(trackSection, 'isDefaultTrackSection', false), - }); - }, - - compute({isDefault}) { - return isDefault; - }, - }, - - firstIsDefault: { - hook(contract, [trackSections]) { - contract.provide({ - isDefault: contract.subcontract('#isDefault', contract.selectProperty(trackSections, '0')), - }); - }, - - compute({isDefault}) { - return isDefault; - }, - }, - - displayTrackSections: { - hook(contract, [album]) { - contract.provide({ - numTrackSections: contract.subcontract('#length', contract.selectProperty(album, 'trackSections')), - firstIsDefault: contract.subcontract('#firstIsDefault', contract.selectProperty(album, 'trackSections')), - }); - }, - - compute({numTrackSections, firstIsDefault}) { - return numTrackSections >= 2 || firstIsDefault; - }, - }, - - displayTracks: { - hook(contract, [album]) { - contract.provide({ - numTracks: contract.subcontract('#length', contract.selectProperty(album, 'tracks')), - }); - }, - - compute({numTracks}) { - return numTracks >= 1; - }, - }, - - displayMode: { - hook(contract, [album]) { - contract.provide({ - displayTrackSections: contract.subcontract('#displayTrackSections', album), - displayTracks: contract.subcontract('#displayTracks', album), - }); - }, - - compute({displayTrackSections, displayTracks}) { - if (displayTrackSections) { - return 'trackSections'; - } else if (displayTracks) { - return 'tracks'; - } else { - return 'none'; - } - }, - }, - - relations: { - hook(contract, [relation, album]) { - contract.branch({ - subcontract: ['#displayMode', album], - branches: { - trackSections() { - contract.provide({ - trackSections: contract.selectProperty(album, 'trackSections'), - }); - }, - - tracks() { - contract.provide({ - tracks: contract.selectProperty(album, 'tracks'), - }); - }, - }, - }); - }, - }, - }, - relations(relation, album) { const relations = {}; -- cgit 1.3.0-6-gf8a5