browser-extension-utils 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +9 -2
- package/lib/index.js +17 -4
- package/lib/userscript.js +5 -4
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -51,7 +51,8 @@ export function addStyle(styleText: string): HTMLElement
|
|
|
51
51
|
export function addEventListener(
|
|
52
52
|
element: HTMLElement | Document | EventTarget,
|
|
53
53
|
type: string,
|
|
54
|
-
listener:
|
|
54
|
+
listener: EventListenerOrEventListenerObject,
|
|
55
|
+
options?: boolean | AddEventListenerOptions
|
|
55
56
|
): () => void
|
|
56
57
|
|
|
57
58
|
export function addEventListener(
|
|
@@ -67,6 +68,12 @@ export function setAttribute(
|
|
|
67
68
|
value: string
|
|
68
69
|
): void
|
|
69
70
|
|
|
71
|
+
export type SetStyle = (
|
|
72
|
+
element: HTMLElement,
|
|
73
|
+
style: string | Record<string, unknown>,
|
|
74
|
+
overwrite?: boolean
|
|
75
|
+
) => void
|
|
76
|
+
|
|
70
77
|
export function setStyle(
|
|
71
78
|
element: HTMLElement,
|
|
72
79
|
style: string | Record<string, unknown>,
|
|
@@ -77,6 +84,6 @@ export function toStyleMap(styleText: string): Record<string, string>
|
|
|
77
84
|
|
|
78
85
|
export function noStyleSpace(text: string): string
|
|
79
86
|
|
|
80
|
-
export function createSetStyle(styleText: string):
|
|
87
|
+
export function createSetStyle(styleText: string): SetStyle
|
|
81
88
|
|
|
82
89
|
export function isUrl(text: string): boolean
|
package/lib/index.js
CHANGED
|
@@ -10,11 +10,11 @@ export const toCamelCase = function (text) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export const $ = (element, selectors) =>
|
|
13
|
-
typeof element === "object"
|
|
13
|
+
element && typeof element === "object"
|
|
14
14
|
? element.querySelector(selectors)
|
|
15
15
|
: doc.querySelector(element)
|
|
16
16
|
export const $$ = (element, selectors) =>
|
|
17
|
-
typeof element === "object"
|
|
17
|
+
element && typeof element === "object"
|
|
18
18
|
? [...element.querySelectorAll(selectors)]
|
|
19
19
|
: [...doc.querySelectorAll(element)]
|
|
20
20
|
export const querySelector = $
|
|
@@ -41,6 +41,10 @@ export const createElement = (tagName, attributes) => {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export const addElement = (parentNode, tagName, attributes) => {
|
|
44
|
+
if (!parentNode) {
|
|
45
|
+
return
|
|
46
|
+
}
|
|
47
|
+
|
|
44
48
|
if (typeof parentNode === "string") {
|
|
45
49
|
attributes = tagName
|
|
46
50
|
tagName = parentNode
|
|
@@ -59,6 +63,10 @@ export const addStyle = (styleText) => {
|
|
|
59
63
|
}
|
|
60
64
|
|
|
61
65
|
export const addEventListener = (element, type, listener, options) => {
|
|
66
|
+
if (!element) {
|
|
67
|
+
return () => 0
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
if (typeof type === "object") {
|
|
63
71
|
const removers = []
|
|
64
72
|
for (const type1 in type) {
|
|
@@ -81,11 +89,16 @@ export const addEventListener = (element, type, listener, options) => {
|
|
|
81
89
|
}
|
|
82
90
|
}
|
|
83
91
|
|
|
84
|
-
export const getAttribute = (element, name) =>
|
|
92
|
+
export const getAttribute = (element, name) =>
|
|
93
|
+
element ? element.getAttribute(name) : null
|
|
85
94
|
export const setAttribute = (element, name, value) =>
|
|
86
|
-
element.setAttribute(name, value)
|
|
95
|
+
element ? element.setAttribute(name, value) : undefined
|
|
87
96
|
|
|
88
97
|
export const setStyle = (element, values, overwrite) => {
|
|
98
|
+
if (!element) {
|
|
99
|
+
return
|
|
100
|
+
}
|
|
101
|
+
|
|
89
102
|
// element.setAttribute("style", value) -> Fail when violates CSP
|
|
90
103
|
const style = element.style
|
|
91
104
|
|
package/lib/userscript.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "./index.js"
|
|
2
|
-
/* eslint-disable camelcase */
|
|
2
|
+
/* eslint-disable camelcase, new-cap */
|
|
3
3
|
// eslint-disable-next-line no-unused-expressions, n/prefer-global/process
|
|
4
4
|
process.env.PLASMO_TAG === "dev" &&
|
|
5
5
|
(() => {
|
|
@@ -14,7 +14,8 @@ process.env.PLASMO_TAG === "dev" &&
|
|
|
14
14
|
}
|
|
15
15
|
})()
|
|
16
16
|
|
|
17
|
-
export const addElement =
|
|
17
|
+
export const addElement = (parentNode, tagName, attributes) =>
|
|
18
|
+
GM_addElement(parentNode, tagName, attributes)
|
|
18
19
|
|
|
19
|
-
export const addStyle = GM_addStyle
|
|
20
|
-
/* eslint-enable camelcase */
|
|
20
|
+
export const addStyle = (styleText) => GM_addStyle(styleText)
|
|
21
|
+
/* eslint-enable camelcase, new-cap */
|