@vacantthinker/firefox-addon-framework-easy 2026.5.2-2.2 → 2026.5.2204

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/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './src/baseService.js'
2
2
  export * from './src/baseRuntimeSetup.js'
3
+ export * from './src/baseOp.js'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vacantthinker/firefox-addon-framework-easy",
3
- "version": "2026.5.22.2",
3
+ "version": "2026.5.2204",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
package/src/baseOp.js ADDED
@@ -0,0 +1,146 @@
1
+ export async function stoOpCheck(k) {
2
+ try {
3
+ let key = k.toString();
4
+
5
+ let objGet = await browser.storage.local.get(key);
6
+ let b = objGet.hasOwnProperty(key);
7
+ return b;
8
+ } catch (e) {
9
+ return false;
10
+ }
11
+ }
12
+
13
+ export async function stoOpGet(k) {
14
+ try {
15
+ let key = k.toString();
16
+ let objGet = await browser.storage.local.get(key);
17
+ let v = objGet[key];
18
+ return v;
19
+ } catch (e) {
20
+ return null;
21
+ }
22
+ }
23
+
24
+ export async function stoOpGetAll() {
25
+ try {
26
+ return await browser.storage.local.get();
27
+ } catch (e) {
28
+ return null;
29
+ }
30
+ }
31
+
32
+ export async function stoOpQuery_startsWith(k) {
33
+ try {
34
+ let objAll = await browser.storage.local.get();
35
+ let keys = Object.keys(objAll);
36
+ return keys.filter(value => value.startsWith(k.toString()));
37
+ } catch (e) {
38
+ return null;
39
+ }
40
+ }
41
+
42
+ export async function stoOpSet(k, v) {
43
+ let key = k.toString();
44
+
45
+ let objNew = {};
46
+ objNew[key] = v;
47
+ await browser.storage.local.set(objNew);
48
+ }
49
+
50
+ export async function stoOpRem(k) {
51
+ try {
52
+ let key = k.toString();
53
+ await browser.storage.local.remove(key);
54
+ } catch (e) {
55
+ }
56
+ }
57
+
58
+ export async function stoOpSetNull(k) {
59
+ await stoOpSet(k, null);
60
+ }
61
+
62
+ /**
63
+ *
64
+ * @param tabId
65
+ * @return {Promise<browser.tabs.Tab>}
66
+ */
67
+ export async function tabOpGet(tabId) {
68
+ return await browser.tabs.get(tabId);
69
+ }
70
+
71
+ export async function tabOpQueryAll() {
72
+ return await browser.tabs.query({});
73
+ }
74
+
75
+ export async function tabOpQueryUrl(urlQuery) {
76
+ let tabs = await browser.tabs.query({url: urlQuery});
77
+ return tabs.map(v => v.id);
78
+ }
79
+
80
+ export async function tabOpQueryUrlThenRem(urlQuery) {
81
+ let ids = await tabOpQueryUrl(urlQuery);
82
+ ids.map(id => tabOpRem(id));
83
+ }
84
+
85
+ export async function tabOpReload(tabId) {
86
+ await browser.tabs.reload(tabId);
87
+ }
88
+
89
+ export async function tabOpCreate(args) {
90
+ try {
91
+ /**
92
+ * @type {browser.tabs._CreateCreateProperties}
93
+ */
94
+ let source = {active: false, muted: true};
95
+ Object.assign(args, source);
96
+ return await browser.tabs.create(args);
97
+ } catch (e) {
98
+ }
99
+ }
100
+
101
+ export async function tabOpCreateNormal(args) {
102
+ return await browser.tabs.create(args);
103
+ }
104
+
105
+ export async function tabOpRem(tabId) {
106
+ try {
107
+ await browser.tabs.remove(tabId);
108
+ } catch (e) {
109
+ }
110
+ }
111
+
112
+ export async function tabOpHide(tabId) {
113
+ try {
114
+ await browser.tabs.hide(tabId);
115
+ } catch (e) {
116
+ }
117
+ }
118
+
119
+ export async function tabOpUpdate(tabId, updateProperties) {
120
+ await browser.tabs.update(tabId, updateProperties);
121
+ }
122
+
123
+ export async function tabOpUpdateActiveFalse(tabId) {
124
+ await tabOpUpdate(tabId, {active: false, muted: true});
125
+ }
126
+
127
+ /**
128
+ * @param tabId
129
+ */
130
+ export async function tabOpFocus(tabId) {
131
+ let tab = await tabOpGet(tabId);
132
+ let windowId = tab.windowId;
133
+ await browser.windows.update(windowId, {focused: true});
134
+
135
+ await tabOpUpdate(tabId,
136
+ {active: true, highlighted: true});
137
+ }
138
+
139
+ export function objectOpFindTrueStorageTypeRadio(obj) {
140
+ return Object.keys(obj).find((k) => {
141
+ let v = obj[k];
142
+ if (v) {
143
+ return k;
144
+ }
145
+ });
146
+ }
@@ -1,12 +1,21 @@
1
+ import {serviceNotificationCreate} from "./baseService.js";
2
+
3
+
1
4
  /**
2
5
  *
6
+ * @param{string} url
3
7
  */
4
- export function baseRuntimeSetup() {
8
+ export function baseRuntimeSetup(
9
+ url = 'https://addons.mozilla.org/en-US/firefox/user/17783213/'
10
+ ) {
5
11
  browser.runtime.onUpdateAvailable.addListener(details => {
6
- browser.runtime.reload();
12
+ serviceNotificationCreate(
13
+ "There is a new version!"
14
+ )
7
15
  });
8
16
 
9
- let url = 'https://addons.mozilla.org/en-US/firefox/user/17783213/';
10
- browser.runtime.setUninstallURL(url).then(r => {
11
- });
17
+ if (url) {
18
+ browser.runtime.setUninstallURL(url).then(r => {
19
+ });
20
+ }
12
21
  }