aboutsummaryrefslogtreecommitdiffstats
path: root/src/shared/script-injector.ts
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-13 23:32:26 +0530
committerGitHub <noreply@github.com>2026-07-13 23:32:26 +0530
commitce401d03e75bcbfd1cdfa963954e0807219fb80d (patch)
tree52a813c1705a952312c20c328b00fa845a3453f9 /src/shared/script-injector.ts
parent98e7019c61ea0ffe344ef7ce809d38d62254a9fc (diff)
parentdfba7ff6fff7bde33b40a343a2318b35c429b40f (diff)
downloadbanglar-bhumi-utils-ce401d03e75bcbfd1cdfa963954e0807219fb80d.tar.gz
banglar-bhumi-utils-ce401d03e75bcbfd1cdfa963954e0807219fb80d.zip
Merge pull request #6 from arpitchakladar/adding-documentation-comments
Adding documentation comments
Diffstat (limited to 'src/shared/script-injector.ts')
-rw-r--r--src/shared/script-injector.ts19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/shared/script-injector.ts b/src/shared/script-injector.ts
index 697c8d6..3422bab 100644
--- a/src/shared/script-injector.ts
+++ b/src/shared/script-injector.ts
@@ -1,12 +1,19 @@
-type DataType = {
- [key: string]: string
-};
+type DataType = Record<string, string>;
-export function injectScriptHead(src: string, data: DataType = {}) {
- const s = document.createElement("script") as HTMLScriptElement;
+/**
+ * Injects a `<script>` element into the document head (or `<html>`) with
+ * the given `src` pointing to an extension resource. Optional key/value
+ * data is attached as `data-*` attributes so the injected script can
+ * read them via `document.currentScript`.
+ *
+ * @param src - The extension-relative script path.
+ * @param data - Optional key/value pairs to set as `data-*` attributes.
+ */
+export function injectScriptHead(src: string, data: DataType = {}): void {
+ const s = document.createElement("script");
s.src = chrome.runtime.getURL(src);
for (const i in data) {
s.setAttribute(`data-${i}`, data[i]);
}
- (document.head || document.documentElement).append(s);
+ document.head.append(s);
};