summaryrefslogtreecommitdiff
path: root/node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js
diff options
context:
space:
mode:
authorShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
committerShipwreckt <me@shipwreckt.co.uk>2025-10-31 20:02:14 +0000
commit7a52ddeba2a68388b544f529d2d92104420f77b0 (patch)
tree15ddd47457a2cb4a96060747437d36474e4f6b4e /node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js
parent53d6ae2b5568437afa5e4995580a3fb679b7b91b (diff)
Changed from static to 11ty!
Diffstat (limited to 'node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js')
-rw-r--r--node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js b/node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js
new file mode 100644
index 0000000..7e2a7ee
--- /dev/null
+++ b/node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js
@@ -0,0 +1,40 @@
+import lodash from "@11ty/lodash-custom";
+
+import EleventyBaseError from "../Errors/EleventyBaseError.js";
+
+const { set: lodashSet } = lodash;
+
+class TemplateDataConfigError extends EleventyBaseError {}
+
+class TemplateDataInitialGlobalData {
+ constructor(templateConfig) {
+ if (!templateConfig || templateConfig.constructor.name !== "TemplateConfig") {
+ throw new TemplateDataConfigError("Missing or invalid `templateConfig` (via Render plugin).");
+ }
+ this.templateConfig = templateConfig;
+ this.config = this.templateConfig.getConfig();
+ }
+
+ async getData() {
+ let globalData = {};
+
+ // via eleventyConfig.addGlobalData
+ if (this.config.globalData) {
+ let keys = Object.keys(this.config.globalData);
+ for (let key of keys) {
+ let returnValue = this.config.globalData[key];
+
+ // This section is problematic when used with eleventyComputed #3389
+ if (typeof returnValue === "function") {
+ returnValue = await returnValue();
+ }
+
+ lodashSet(globalData, key, returnValue);
+ }
+ }
+
+ return globalData;
+ }
+}
+
+export default TemplateDataInitialGlobalData;