diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-10-15 14:08:29 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-10-15 14:08:29 -0300 |
commit | 12bba0af7024e4b7f7a34e63b0395a7fe194c486 (patch) | |
tree | 969736d5a951098d6b1c014e3f4e508b1836371d /src | |
parent | 84a98b3b71d5524baf7b5e9038909ad501203115 (diff) |
infra: fix content function decorateTime annotations
Diffstat (limited to 'src')
-rw-r--r-- | src/content-function.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/content-function.js b/src/content-function.js index 1144a7b9..e141a686 100644 --- a/src/content-function.js +++ b/src/content-function.js @@ -13,9 +13,9 @@ const DECORATE_TIME = process.env.HSMUSIC_DEBUG_CONTENT_PERF === '1'; export class ContentFunctionSpecError extends Error {} -function optionalDecorateTime(prefix, fn) { +function optionalDecorateTime(prefix, dependency, fn) { if (DECORATE_TIME) { - return decorateTime(`${prefix}/${generate.name}`, fn); + return decorateTime(`${prefix}/${dependency}`, fn); } else { return fn; } @@ -45,9 +45,10 @@ export function expectExtraDependencies(spec, boundExtraDependencies) { generate[contentFunction.identifyingSymbol] = true; + const dependency = spec.generate.name; for (const key of ['sprawl', 'query', 'relations', 'data']) { if (spec[key]) { - generate[key] = optionalDecorateTime(`sprawl`, spec[key]); + generate[key] = optionalDecorateTime(key, dependency, spec[key]); } } @@ -58,6 +59,8 @@ export function expectExtraDependencies(spec, boundExtraDependencies) { } function prepareWorkingGenerateFunction(spec, boundExtraDependencies) { + const dependency = spec.generate.name; + let generate = ([arg1, arg2], ...extraArgs) => { if (spec.data && !arg1) { throw new Error(`Expected data`); @@ -81,7 +84,7 @@ function prepareWorkingGenerateFunction(spec, boundExtraDependencies) { } } catch (caughtError) { const error = new Error( - `Error generating content for ${spec.generate.name}`, + `Error generating content for ${dependency}`, {cause: caughtError}); error[Symbol.for(`hsmusic.aggregate.alwaysTrace`)] = true; @@ -100,13 +103,13 @@ function prepareWorkingGenerateFunction(spec, boundExtraDependencies) { } }; - generate = optionalDecorateTime(`generate`, generate); + generate = optionalDecorateTime(`generate`, dependency, generate); if (spec.slots) { let stationery = null; return (...args) => { stationery ??= boundExtraDependencies.html.stationery({ - annotation: generate.name, + annotation: dependency, // These extra slots are for the data and relations (positional) args. // No hacks to store them temporarily or otherwise "invisibly" alter |