Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-09-05 | data: 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-05 | data: Thing.composite.earlyExitWithoutDependency: latest syntax | (quasar) nebula | |
2023-09-05 | data: Thing.composite.from: fix including '#' deps from base | (quasar) nebula | |
...in the final composition's dependencies. | |||
2023-09-05 | data: 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-05 | data: fix annotation typo | (quasar) nebula | |
2023-09-05 | data: 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-05 | data: Thing.composite.exposeDependencyOrContinue | (quasar) nebula | |
2023-09-05 | data, test: Track.color inherits from track section | (quasar) nebula | |
2023-09-05 | data, test: retain validator for Track.color | (quasar) nebula | |
2023-09-05 | data, 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-05 | data: Thing.composite.from: fix undefined return for explicit exit | (quasar) nebula | |
2023-09-05 | data: Track.composite.withAlbum | (quasar) nebula | |
2023-09-05 | yaml, test: mutate/decache wikiData in more reusable ways | (quasar) nebula | |
2023-09-05 | data: Track.artistContribs: be lazy, like coverArtistContribs | (quasar) nebula | |
2023-09-05 | data: use continuation.exit and continuation.raise where needed | (quasar) nebula | |
2023-09-05 | data: Thing.composite.from bugfixes | (quasar) nebula | |
2023-09-05 | data: bug fixes & Thing.composite.from.debug mode | (quasar) nebula | |
2023-09-05 | data: Track.compposite.from: 'options', cache-safe documentation | (quasar) nebula | |
2023-09-05 | data: Track.coverArtistContribs: lazier steps | (quasar) nebula | |
2023-09-05 | data: fix not passing noTransformSymbol | (quasar) nebula | |
2023-09-05 | data: Thing.composite.from: mapDependencies/mapContinuation | (quasar) nebula | |
2023-09-05 | data: fix more bad function signatures | (quasar) nebula | |
2023-09-05 | data: 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-05 | data: Thing.composite.from: fix not calling export continuation | (quasar) nebula | |
2023-09-05 | test: Track.{color,date,hasUniqueCoverArt} (unit) | (quasar) nebula | |
2023-09-05 | data: track.hasUniqueCoverArt: operate on resolved contributions | (quasar) nebula | |
2023-09-05 | data: track: remove unneeded explicit {to} on withOriginalRelease call | (quasar) nebula | |
2023-09-05 | data: composition docs, annotations, nesting | (quasar) nebula | |
2023-09-05 | data: signature changes to misc compositional functions | (quasar) nebula | |
2023-09-05 | data: 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-05 | content, data: be even more guarded about contrib arrays | (quasar) nebula | |
2023-09-05 | data: 2x facepalm combobob | (quasar) nebula | |
2023-09-05 | data: track: more composite shenanigans | (quasar) nebula | |
2023-09-05 | yaml: fix disableCoverArt -> disableUniqueCoverArt | (quasar) nebula | |
2023-09-05 | data: fix compute() bugs in Thing.composite.from() | (quasar) nebula | |
2023-09-05 | content, data: be more guarded about track contribs arrays | (quasar) nebula | |
2023-09-05 | data: track: experimental Thing.compose.from() processing style | (quasar) nebula | |
2023-09-05 | data, test: track: inherit album props more declaratively | (quasar) nebula | |
2023-08-21 | data: valdiateArrayItems: use same index formatting as other errors | (quasar) nebula | |
Specifically, the same as decorateErrorWithIndex. | |||
2023-08-19 | clean up imports & miscellaneous metastructures across codebase | (quasar) nebula | |
2023-08-19 | util: remove findFiles util, adapt traverse | (quasar) nebula | |
2023-08-18 | yaml: error when combining Cover Artists, Has Cover Art | (quasar) nebula | |
2023-08-15 | data, 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-15 | data: track: indicate rereleases in util.inspect | (quasar) nebula | |
2023-08-15 | yaml: report unambiguous names for resolving track rereleases | (quasar) nebula | |
2023-08-15 | yaml: fix normal find.track errors not passing through | (quasar) nebula | |
2023-08-15 | yaml: 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-14 | data: remove 'Has Track Art', compute from credits | (quasar) nebula | |
2023-08-12 | yaml: filter and report ranges of blank documents | (quasar) nebula | |
2023-08-11 | upd8: suppress only "didn't match anything" for sample ref errors | (quasar) nebula | |