@vacantthinker/firefox-addon-framework-easy 2026.618.848 → 2026.618.1111

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/dist/opTab.d.ts CHANGED
@@ -40,10 +40,6 @@ export declare function tabOpGet(tabId: number): Promise<browser.tabs.Tab>;
40
40
  * Retrieves all tabs across all windows.
41
41
  */
42
42
  export declare function tabOpQueryAll(): Promise<browser.tabs.Tab[]>;
43
- /**
44
- *
45
- * @param {string} domain
46
- */
47
43
  export declare function tabOpQueryDomain(domain: string): Promise<{
48
44
  id: number;
49
45
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"opTab.d.ts","sourceRoot":"","sources":["../src/opTab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opTab.d.ts","sourceRoot":"","sources":["../src/opTab.ts"],"names":[],"mappings":"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"}
package/dist/opTab.js CHANGED
@@ -91,31 +91,28 @@ export async function tabOpGet(tabId) {
91
91
  export async function tabOpQueryAll() {
92
92
  return await browser.tabs.query({});
93
93
  }
94
- /**
95
- *
96
- * @param {string} domain
97
- */
98
94
  export async function tabOpQueryDomain(domain) {
99
95
  const tabs = await tabOpQueryAll();
100
- if (tabs.length > 0) {
101
- return tabs
102
- .filter(t => t.url && t.id && serviceGetDomain(t.url) === domain)
103
- .map(t => ({
104
- id: t.id,
105
- url: t.url,
106
- title: t.title || ''
107
- }));
108
- }
109
- return [];
96
+ // flatMap allows us to filter and map in a single pass without using
97
+ // non-null assertions (!)
98
+ return tabs.flatMap((tab) => {
99
+ if (tab.id !== undefined && tab.url && serviceGetDomain(tab.url) === domain) {
100
+ return [{
101
+ id: tab.id,
102
+ url: tab.url,
103
+ title: tab.title ?? ''
104
+ }];
105
+ }
106
+ return [];
107
+ });
110
108
  }
111
109
  /**
112
110
  * Retrieves an array of tab IDs matching the URL pattern.
113
111
  */
114
112
  export async function tabOpQueryUrl(url) {
115
113
  const tabs = await browser.tabs.query({ url });
116
- return tabs
117
- .filter((t) => typeof t.id === 'number')
118
- .map((t) => t.id);
114
+ // flatMap handles both the filter and the map in a single pass
115
+ return tabs.flatMap((tab) => (typeof tab.id === 'number' ? [tab.id] : []));
119
116
  }
120
117
  /**
121
118
  * Ensures only one tab with the given URL exists, focuses/reloads it,
@@ -1 +1 @@
1
- {"version":3,"file":"serviceGet.d.ts","sourceRoot":"","sources":["../src/serviceGet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAY5D"}
1
+ {"version":3,"file":"serviceGet.d.ts","sourceRoot":"","sources":["../src/serviceGet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,IAAI,MAAM,CAY5D"}
@@ -4,6 +4,8 @@
4
4
  * @returns The domain/hostname.
5
5
  */
6
6
  export function serviceGetDomain(url) {
7
+ if (!url)
8
+ return '';
7
9
  return new URL(url).hostname;
8
10
  }
9
11
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vacantthinker/firefox-addon-framework-easy",
3
- "version": "2026.0618.0848",
3
+ "version": "2026.0618.1111",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",