Parcourir la source

LibWeb: Add the ImportMap struct

networkException il y a 2 ans
Parent
commit
d7947995d9
1 fichiers modifiés avec 31 ajouts et 0 suppressions
  1. 31 0
      Userland/Libraries/LibWeb/HTML/Scripting/ImportMap.h

+ 31 - 0
Userland/Libraries/LibWeb/HTML/Scripting/ImportMap.h

@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2022, networkException <networkexception@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <AK/HashMap.h>
+
+namespace Web::HTML {
+
+using ModuleSpecifierMap = HashMap<String, Optional<AK::URL>>;
+
+// https://html.spec.whatwg.org/multipage/webappapis.html#import-map
+class ImportMap {
+public:
+    ImportMap() = default;
+
+    ModuleSpecifierMap const& imports() const { return m_imports; }
+    ModuleSpecifierMap& imports() { return m_imports; }
+
+    HashMap<AK::URL, ModuleSpecifierMap> const& scopes() const { return m_scopes; }
+    HashMap<AK::URL, ModuleSpecifierMap>& scopes() { return m_scopes; }
+
+private:
+    ModuleSpecifierMap m_imports;
+    HashMap<AK::URL, ModuleSpecifierMap> m_scopes;
+};
+
+}