« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/composite
AgeCommit message (Collapse)Author
2024-08-05data, test: Album.trackSections: use direct links(quasar) nebula
2024-08-05data: thing: expose update value, like thingList(quasar) nebula
2024-08-05data: thingList(quasar) nebula
2024-07-25composite: expose used default{Dependency,Value} at instantiate(quasar) nebula
There used to be a cool description here, but then vim ate it.
2024-06-26data: withReverse{Contribution,Reference}List: sort by date(quasar) nebula
2024-06-23data: withParsedCommentaryEntries: dateKind, secondDate(quasar) nebula
2024-06-21data: withParsedCommentaryEntries: auto-fill archive capture dates(quasar) nebula
2024-06-21data: withParsedCommentaryEntries: accessDate, accessKind(quasar) nebula
2024-06-18data: withContainingReverseContributionList(quasar) nebula
2024-06-18data: withContributionArtist: depend on 'artist' prop by default(quasar) nebula
2024-06-18data: Contribution.artistProperty(quasar) nebula
2024-06-18data: withIndexInList, withNearbyItemFromList(quasar) nebula
2024-06-18data: drop "More list utilities", organize data index au Scratch(quasar) nebula
2024-06-18data: withReverse{Reference,Contribution}List: factor commonality(quasar) nebula
This doesn't actually move the common behavior into e.g. devoted component compositions - these two still mirror each other - but it *does* isolate the differing behavior in terms of dependencies that are computed uniquely but surrounded by identical compositional steps. This generally seems like a good fit for compositional subroutines, but those aren't official yet. Meanwhile, this is still factored much better than the previous implementation, and hopefully easier to follow as well!
2024-06-18data: withReverseContributionList: drop 'mode' option(quasar) nebula
2024-06-18data: withContributionListSums: drop debug message(quasar) nebula
This appears to be working just fine! It's only used to compute an artist's total duration, which... is workin', and all that.
2024-06-18data, content: various property & thing-type matches(quasar) nebula
2024-06-18data: withCoverArtDate refactor, make Album.coverArtDate updatable(quasar) nebula
2024-06-18data: Artist.artistContributions, Artist.contributorContributions(quasar) nebula
2024-06-18data: withContributionContext: guard missing dependencies(quasar) nebula
2024-06-18data: redate inherited contribution lists(quasar) nebula
2024-06-18data: apply contribution dates when resolving(quasar) nebula
2024-06-18data: withCoverArtDate(quasar) nebula
2024-06-18data: track: withTrackArtDate(quasar) nebula
2024-06-18data: withClonedThings(quasar) nebula
2024-06-18data: track: withDate(quasar) nebula
2024-06-18data: Artist.totalDuration(quasar) nebula
This is sort of a stub / proof of concept function. The contained logic may be refactored a bit more still!
2024-06-18data: withReverseContributionList: mode: contributions(quasar) nebula
2024-06-18data: withContributionListSums, withSum(quasar) nebula
2024-06-18data: Track.isOriginalRelease, Track.isRerelease(quasar) nebula
2024-06-18data: exposeWhetherDependencyAvailable(quasar) nebula
2024-06-18data: inheritContributionListFromOriginalRelease(quasar) nebula
2024-06-18data: withRecontextualizedContributionList(quasar) nebula
2024-06-18data: inheritFromContributionPresets: logic cleanup(quasar) nebula
2024-06-18data: contribution: countIn{Contribution,Duration}Totals(quasar) nebula
2024-06-18data: contribution: matchingPresets(quasar) nebula
2024-06-18data: contribution: context(quasar) nebula
2024-06-18data: contribution: thingProperty(quasar) nebula
2024-06-18data: transparent basic Contribution objects(quasar) nebula
2024-06-18data, test: withPropertyFromObject: 'internal' input(quasar) nebula
2024-06-02data: withContainingTrackSection: fix dead notFoundMode access(quasar) nebula
2024-05-20data: restore withTrackSections, but simpler now(quasar) nebula
2024-05-19data: TrackSection.directory, find.trackSection, etc(quasar) nebula
2024-05-19data: referenceList: 'referenceType' input(quasar) nebula
2024-05-19data: TrackSection thing objects(quasar) nebula
Sorry this commit is kind of monolithic! It's difficult to separate out any of the changes since they're all related to track sections' basic functionality.
2024-05-19data: withDirectory, withDirectoryFromName(quasar) nebula
2024-05-08data: Album.alwaysReferenceTracksByDirectory(quasar) nebula
2024-05-01data: withReverse{Reference,Contribution}List: better exiting(quasar) nebula
An existing test for withAlbum (which is semi-newly based on withUniqueReferencingThing, and thus withReverseReferenceList) indicates that if we just can't *find* the album in a provided data array, that's not an exit condition. This commit adapts withReverseReferencingList to respect that when the data list is empty. (Treating an empty array as the same thing as an array that isn't provided at all - the existing behavior - is really just a bug!)
2024-05-01data: track: refactor inheritFromOriginalRelease(quasar) nebula
2024-05-01data, yaml: basic who/what -> artist/annotation(quasar) nebula