« 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/thing.js
AgeCommit message (Collapse)Author
2023-09-20data: syntax fixes(quasar) nebula
2023-09-20data: fix many validation errors(quasar) nebula
2023-09-20data: moar WIP composite syntax!(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-12data: more syntax WIP(quasar) nebula
2023-09-09data: WIP cached composition nonsense(quasar) nebula
2023-09-09Merge branch 'track-data-cleanup' of github.com:hsmusic/hsmusic-wiki into ↵(quasar) nebula
track-data-cleanup
2023-09-09data: update contribsPresent syntax & implementation(quasar) nebula
2023-09-09data: exitWithoutContribs utility(quasar) nebula
2023-09-09data: withPropertiesFrom{Object,List}(quasar) nebula
2023-09-09data: withPropertyFrom{Object,List}, fillMissingListItems utils(quasar) nebula
2023-09-08data: cleaner withResolvedReferenceList notFoundMode implementation(quasar) nebula
2023-09-08data: duration utility(quasar) nebula
2023-09-08data: dimensions utility(quasar) nebula
2023-09-08data: update commentatorArtists(quasar) nebula
2023-09-08data: withResolvedReferenceList: handle undefined matches(quasar) nebula
2023-09-07data: roll paired "byRef" and "dynamic" properties into one(quasar) nebula
2023-09-07data: withResolvedContribs: use default "into"(quasar) nebula
2023-09-07data: import Thing.common utilities directly(quasar) nebula
Also rename 'color' (from #cli) to 'colors'.
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-06data: isolate internals of dynamicThingsFromReferenceList(quasar) nebula
2023-09-06data: isolate withResolvedContribs internal behavior(quasar) nebula
2023-09-06data: move Thing.composite definition into dedicated file(quasar) nebula
2023-09-06data: remove unused Thing.common utilities(quasar) nebula
dynamicInheritContribs is replaced by more specialized behavior on tracks (which are the only thing that inherit contribs this way), and reverseSingleReference, introduced with reverseReferenceList, was never used anywhere.
2023-09-05data: update Thing.composition.from documentation(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-05data: remove lots of boilerplate {expose: true, compose: true}(quasar) nebula
2023-09-05data: Thing.composite.from: fix missed step.expose assumptions(quasar) nebula
2023-09-05data: update Thing.common.dynamicThingsFromReferenceList(quasar) nebula
Only the internal implementation. This should really be updated to take key/value-style parameters, and probably be renamed, but this helps to confirm a swathe of expected behavior continues to work with an existing `common` utility reimplemented compositionally.
2023-09-05data: refactor Thing.composite.withResolvedReference(quasar) nebula
2023-09-05data: misc. utility additions(quasar) nebula
* add earlyExitWithoutUpdateValue * add raiseWithoutDependency * add raiseWithoutUpdateValue * add earlyExitIfAvailabilityCheckFailed (internal) * refactor earlyExitWithoutDependency The "raise" utilities make use of the new `raiseAbove` continuation feature.
2023-09-05data: simplify Thing.composite.from (needs docs update)(quasar) nebula
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: Thing.composite.earlyExitWithoutDependency: latest syntax(quasar) nebula
2023-09-05data: Thing.composite.from: fix including '#' deps from base(quasar) nebula
...in the final composition's dependencies.
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: fix annotation typo(quasar) nebula
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