« 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
AgeCommit message (Collapse)Author
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
2023-09-05data: Thing.composite.exposeDependencyOrContinue(quasar) nebula
2023-09-05data, test: Track.color inherits from track section(quasar) nebula
2023-09-05data, test: retain validator for Track.color(quasar) nebula
2023-09-05data, test: misc. additions(quasar) nebula
* Thing.composite.expose * Thing.composite.exposeUpdateValueOrContinue * Track.composite.withAlbumProperty * refactor: Track.color, Track.album, Track.date * refactor: Track.coverArtistContribs * test: Track.album (unit)
2023-09-05data: Thing.composite.from: fix undefined return for explicit exit(quasar) nebula
2023-09-05data: Track.composite.withAlbum(quasar) nebula
2023-09-05yaml, test: mutate/decache wikiData in more reusable ways(quasar) nebula
2023-09-05data: Track.artistContribs: be lazy, like coverArtistContribs(quasar) nebula
2023-09-05data: use continuation.exit and continuation.raise where needed(quasar) nebula
2023-09-05data: Thing.composite.from bugfixes(quasar) nebula
2023-09-05data: bug fixes & Thing.composite.from.debug mode(quasar) nebula
2023-09-05data: Track.compposite.from: 'options', cache-safe documentation(quasar) nebula
2023-09-05data: Track.coverArtistContribs: lazier steps(quasar) nebula
2023-09-05data: fix not passing noTransformSymbol(quasar) nebula
2023-09-05data: Thing.composite.from: mapDependencies/mapContinuation(quasar) nebula
2023-09-05data: fix more bad function signatures(quasar) nebula
2023-09-05data: Thing.composite.withResolvedReference: fix null refs(quasar) nebula
The `earlyExitIfNotFound` flag is only supposed to exit if the reference really existed and failed to match anything. If it was null in the first place, withResolvedReferences should always just pass null ahead.
2023-09-05data: Thing.composite.from: fix not calling export continuation(quasar) nebula
2023-09-05test: Track.{color,date,hasUniqueCoverArt} (unit)(quasar) nebula
2023-09-05data: track.hasUniqueCoverArt: operate on resolved contributions(quasar) nebula
2023-09-05data: track: remove unneeded explicit {to} on withOriginalRelease call(quasar) nebula
2023-09-05data: composition docs, annotations, nesting(quasar) nebula
2023-09-05data: signature changes to misc compositional functions(quasar) nebula
2023-09-05data: filter only requested deps, require requesting 'this'(quasar) nebula
* Thing.composite.from() only provides the dependencies specified in each step and the base, and prevents '#'-prefixed keys from being specified on the main (composite) dependency list. * CacheableObject no longer provides a "reflection" dependency to every compute/transform function, and now requires the property 'this' to be specified instead of the constructor.instance symbol. (The static CacheableObject.instance, inherited by all subclasses, was also removed.) * Also minor improvements to sugar.js data processing utility functions.
2023-09-05content, data: be even more guarded about contrib arrays(quasar) nebula
2023-09-05data: 2x facepalm combobob(quasar) nebula
2023-09-05data: track: more composite shenanigans(quasar) nebula
2023-09-05yaml: fix disableCoverArt -> disableUniqueCoverArt(quasar) nebula
2023-09-05data: fix compute() bugs in Thing.composite.from()(quasar) nebula
2023-09-05content, data: be more guarded about track contribs arrays(quasar) nebula
2023-09-05data: track: experimental Thing.compose.from() processing style(quasar) nebula
2023-09-05data, test: track: inherit album props more declaratively(quasar) nebula
2023-08-21data: valdiateArrayItems: use same index formatting as other errors(quasar) nebula
Specifically, the same as decorateErrorWithIndex.
2023-08-19clean up imports & miscellaneous metastructures across codebase(quasar) nebula
2023-08-19util: remove findFiles util, adapt traverse(quasar) nebula
2023-08-18yaml: error when combining Cover Artists, Has Cover Art(quasar) nebula
2023-08-15data, yaml: inherit music-related properties from original release(quasar) nebula
When a track has 'Originally Released As', these fields are now automatically inherited: * Artists * Contributors * Referenced Tracks * Sampled Tracks Including any of these fields alongside 'Originally Released As' is an error. Corresponding properties are valid, but ignored. This uses a new "compositional" style to define how each of these properties inherits while retaining the original behavior for tracks that aren't re-releases, and avoids hard-coding much of anything!
2023-08-15data: track: indicate rereleases in util.inspect(quasar) nebula
2023-08-15yaml: report unambiguous names for resolving track rereleases(quasar) nebula
2023-08-15yaml: fix normal find.track errors not passing through(quasar) nebula
2023-08-15yaml: miscellaneous improvements(quasar) nebula
User-facing: * Reports errors for track refs referencing rereleases instead of original tracks. (Resolves #247) * Reports YAML field names instead of property names. * Reports invalid group refs under sourceGroupByRef. Code-facing: * Cleanup to make it easier to add new "custom" reference error reporting functions; now implemented as custom findFn, which will automatically adapt to array or non-array property values just like normal findFn. * Reports invalid property keys, i.e. value === undefined instead of value === null.
2023-08-14data: remove 'Has Track Art', compute from credits(quasar) nebula
2023-08-12yaml: filter and report ranges of blank documents(quasar) nebula
2023-08-11upd8: suppress only "didn't match anything" for sample ref errors(quasar) nebula
2023-08-06data: art tags: short names(quasar) nebula
2023-07-15data: split arrayOf validator into {strict,sparse}ArrayOf(quasar) nebula