« 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/composite/things
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/composite/things')
-rw-r--r--src/data/composite/things/language/index.js1
-rw-r--r--src/data/composite/things/language/withStrings.js111
2 files changed, 0 insertions, 112 deletions
diff --git a/src/data/composite/things/language/index.js b/src/data/composite/things/language/index.js
deleted file mode 100644
index f22cdaf6..00000000
--- a/src/data/composite/things/language/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export {default as withStrings} from './withStrings.js';
diff --git a/src/data/composite/things/language/withStrings.js b/src/data/composite/things/language/withStrings.js
deleted file mode 100644
index 20782905..00000000
--- a/src/data/composite/things/language/withStrings.js
+++ /dev/null
@@ -1,111 +0,0 @@
-import {logWarn} from '#cli';
-import {input, templateCompositeFrom} from '#composite';
-import {empty} from '#sugar';
-import {languageOptionRegex} from '#wiki-data';
-
-import {withResultOfAvailabilityCheck} from '#composite/control-flow';
-
-export default templateCompositeFrom({
-  annotation: `withStrings`,
-
-  inputs: {
-    from: input({defaultDependency: '_strings'}),
-  },
-
-  outputs: ['#strings'],
-
-  steps: () => [
-    withResultOfAvailabilityCheck({
-      from: input('from'),
-    }).outputs({
-      '#availability': '#stringsAvailability',
-    }),
-
-    withResultOfAvailabilityCheck({
-      from: 'inheritedStrings',
-    }).outputs({
-      '#availability': '#inheritedStringsAvailability',
-    }),
-
-    {
-      dependencies: [
-        '#stringsAvailability',
-        '#inheritedStringsAvailability',
-      ],
-
-      compute: (continuation, {
-        ['#stringsAvailability']: stringsAvailability,
-        ['#inheritedStringsAvailability']: inheritedStringsAvailability,
-      }) =>
-        (stringsAvailability || inheritedStringsAvailability
-          ? continuation()
-          : continuation.raiseOutput({'#strings': null})),
-    },
-
-    {
-      dependencies: [input('from'), '#inheritedStringsAvailability'],
-      compute: (continuation, {
-        [input('from')]: strings,
-        ['#inheritedStringsAvailability']: inheritedStringsAvailability,
-      }) =>
-        (inheritedStringsAvailability
-          ? continuation()
-          : continuation.raiseOutput({'#strings': strings})),
-    },
-
-    {
-      dependencies: ['inheritedStrings', '#stringsAvailability'],
-      compute: (continuation, {
-        ['inheritedStrings']: inheritedStrings,
-        ['#stringsAvailability']: stringsAvailability,
-      }) =>
-        (stringsAvailability
-          ? continuation()
-          : continuation.raiseOutput({'#strings': inheritedStrings})),
-    },
-
-    {
-      dependencies: [input('from'), 'inheritedStrings', 'code'],
-      compute(continuation, {
-        [input('from')]: strings,
-        ['inheritedStrings']: inheritedStrings,
-        ['code']: code,
-      }) {
-        const validStrings = {
-          ...inheritedStrings,
-          ...strings,
-        };
-
-        const optionsFromTemplate = template =>
-          Array.from(template.matchAll(languageOptionRegex))
-            .map(({groups}) => groups.name);
-
-        for (const [key, providedTemplate] of Object.entries(strings)) {
-          const inheritedTemplate = inheritedStrings[key];
-          if (!inheritedTemplate) continue;
-
-          const providedOptions = optionsFromTemplate(providedTemplate);
-          const inheritedOptions = optionsFromTemplate(inheritedTemplate);
-
-          const missingOptionNames =
-            inheritedOptions.filter(name => !providedOptions.includes(name));
-
-          const misplacedOptionNames =
-            providedOptions.filter(name => !inheritedOptions.includes(name));
-
-          if (!empty(missingOptionNames) || !empty(misplacedOptionNames)) {
-            logWarn`Not using ${code ?? '(no code)'} string ${key}:`;
-            if (!empty(missingOptionNames))
-              logWarn`- Missing options: ${missingOptionNames.join(', ')}`;
-            if (!empty(misplacedOptionNames))
-              logWarn`- Unexpected options: ${misplacedOptionNames.join(', ')}`;
-
-            validStrings[key] = inheritedStrings[key];
-          }
-        }
-
-        return continuation({'#strings': validStrings});
-      },
-    },
-  ],
-});