« 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/things/track.js
AgeCommit message (Collapse)Author
2023-10-06data, test: fix track contribs not inheriting properly(quasar) nebula
2023-10-01data, test: refactor utilities into own file(quasar) nebula
Primarily for more precies test coverage mapping, but also to make navigation a bit easier and consolidate complex functions with lots of imports out of the same space as other, more simple or otherwise specialized files.
2023-09-25data: misc. improvements for input validation & infrastructure(quasar) nebula
2023-09-21data: minor fixes(quasar) nebula
2023-09-21data: minor fixes(quasar) nebula
2023-09-21data: miscellaneous syntax fixes(quasar) nebula
2023-09-21data: miscellaneous utility updates(quasar) nebula
2023-09-20data: fix many validation errors(quasar) nebula
2023-09-20data: moar WIP composite syntax!(quasar) nebula
2023-09-19data: declare {update} in higher-context locations(quasar) nebula
2023-09-19Merge branch 'preview' into track-data-cleanup(quasar) nebula
2023-09-18data: Track.alwaysReferencedByDirectory flag & field(quasar) nebula
2023-09-18data: MORE composite wip(quasar) nebula
2023-09-16data: more WIP syntax updates(quasar) nebula
2023-09-15data: miscellaneous composite template updates(quasar) nebula
2023-09-09infra, data: cut unneeded boilerplate from top-level compositions(quasar) nebula
2023-09-09data: clean up some track property implementations(quasar) nebula
2023-09-09data: withAlbumProperty -> withPropertyFromAlbum(quasar) nebula
Also remove withAlbumProperties, since it's not used anywhere and mostly serves as reference code.
2023-09-09data: withPropertyFrom{Object,List}, fillMissingListItems utils(quasar) nebula
2023-09-08data: duration utility(quasar) nebula
2023-09-08data: rearrange track properties(quasar) nebula
2023-09-07data: roll paired "byRef" and "dynamic" properties into one(quasar) nebula
2023-09-07data: withAlbum: perform proper availability check on album(quasar) nebula
2023-09-07data: import Thing.common utilities directly(quasar) nebula
Also rename 'color' (from #cli) to 'colors'.
2023-09-07data, infra: import validators directly(quasar) nebula
2023-09-07data: use key/value-style for all compositional utility args(quasar) nebula
2023-09-07data: composite "to" -> "into"(quasar) nebula
2023-09-07data: composite docs update(quasar) nebula
2023-09-07data: earlyExitIfNotFound -> notFoundMode(quasar) nebula
2023-09-07data: earlyExit -> exit in misc. utility names(quasar) nebula
2023-09-07data: move composite utilities related to wiki data into thing.js(quasar) nebula
2023-09-07data: directly import from #composite; define own utils at module(quasar) nebula
2023-09-06data: unused import fixes(quasar) nebula
2023-09-06data: dynamicThingFromSingleReference -> resolvedReference(quasar) nebula
2023-09-06data: reverseReferenceList refList -> list(quasar) nebula
2023-09-06data: dynamicThingsFromReferenceList -> resolvedReferenceList(quasar) nebula
2023-09-05data: clean up bad mapDependencies usages(quasar) nebula
2023-09-05data, test: update & test misc. Track reverse reference lists(quasar) nebula
* update & test Track.referencedByTracks * update & test Track.sampledByTracks * update & test Track.featuredInFlashes * update Thing.common.reverseReferenceList * add Thing.composite.withReverseReferenceList * add Track.composite.trackReverseReferenceList
2023-09-05test: Track.coverArtFileExtension (unit)(quasar) nebula
2023-09-05data: refactor Track.coverArtDate(quasar) nebula
2023-09-05data: remove lots of boilerplate {expose: true, compose: true}(quasar) nebula
2023-09-05data: misc. style consistency tweaks(quasar) nebula
2023-09-05data: fix mis-indented Thing.composite.from calls(quasar) nebula
2023-09-05data, test: update & test Track.originalReleaseTrack(quasar) nebula
2023-09-05data: update Track.composite.withAlbum implementation(quasar) nebula
2023-09-05data: Track: misc. minor fixes(quasar) nebula
2023-09-05data: update Track.otherReleases implementation(quasar) nebula
Also adds {selfIfOriginal} option to withOriginalRelease().
2023-09-05data: always define composite utilities with `key() {}` syntax(quasar) nebula
Sublime Text doesn't index the key in `key: () => {}` as a symbol for function definitions if the parameter list takes up more than one line, but always works for `key() {}`. This also just makes it a little easier to add "preamble" before the main return value, when relevant. Consistent syntax is usually a plus for recurring behavioral forms!
2023-09-05data: clean up Thing.composite.from debug messaging(quasar) nebula
* print annotation next to every log message, instead of just the begin/end messages * add Thing.composite.debug() to conveniently wrap one property access * don't output (and don't access) track album in inspect.custom when depth < 0
2023-09-05data: misc. additions, fixes & refactoring(quasar) nebula
Thing.composite.from: * Transparently support expose.transform steps inside nested compositions, w/ various Thing.composite.from clean-up * Support continuation.raise() without provided dependencies * add Thing.composite.exposeConstant * add Thing.composite.withResultOfAvailabilityCheck * supports {mode: 'null' | 'empty' | 'falsy'} * works with dependency or update value * add Thing.composite.earlyExitWithoutDependency * refactor Thing.composite.exposeDependencyOrContinue * refactor Thing.composite.exposeUpdateValueOrContinue * add Track.withHasUniqueCoverArt * refactor Track.coverArtFileExtension * refactor Track.hasUniqueCoverArt