@vacantthinker/firefox-addon-framework-easy 2026.613.1125 → 2026.613.1848
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/BaseORM.d.ts +10 -15
- package/dist/BaseORM.d.ts.map +1 -1
- package/dist/BaseORM.js +32 -31
- package/dist/browserTab.d.ts +1 -0
- package/dist/browserTab.d.ts.map +1 -1
- package/dist/browserTab.js +5 -0
- package/dist/opStorage.d.ts.map +1 -1
- package/dist/opStorage.js +3 -1
- package/dist/opTab.d.ts.map +1 -1
- package/dist/opTab.js +3 -1
- package/package.json +1 -1
package/dist/BaseORM.d.ts
CHANGED
|
@@ -4,37 +4,32 @@
|
|
|
4
4
|
* Uses Generics (T) to ensure type safety for the stored object structure.
|
|
5
5
|
*/
|
|
6
6
|
export declare abstract class BaseORM<T extends Record<string, any>> {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* @param defaultValue The initial value to use if the key does not exist.
|
|
12
|
-
*/
|
|
7
|
+
protected readonly id: string;
|
|
8
|
+
protected readonly storageKey: string;
|
|
9
|
+
private readonly defaultValue;
|
|
10
|
+
private initPromise;
|
|
13
11
|
protected constructor(prefix: string, id: string, defaultValue?: T);
|
|
14
|
-
get id(): string;
|
|
15
|
-
get storageKey(): string;
|
|
16
12
|
/**
|
|
17
13
|
* Retrieve the value associated with the bound key.
|
|
18
14
|
* @returns {Promise<T>}
|
|
19
15
|
*/
|
|
20
|
-
get(): Promise<T>;
|
|
16
|
+
protected get(): Promise<T>;
|
|
21
17
|
/**
|
|
22
18
|
* Overwrite the value of the bound key completely.
|
|
23
19
|
* @param {T} value
|
|
24
20
|
* @returns {Promise<void>}
|
|
25
21
|
*/
|
|
26
|
-
set(value: T): Promise<void>;
|
|
22
|
+
protected set(value: T): Promise<void>;
|
|
27
23
|
/**
|
|
28
24
|
* Wipe the bound key from storage.
|
|
29
25
|
* @returns {Promise<T>}
|
|
30
26
|
*/
|
|
31
|
-
delete(): Promise<T>;
|
|
27
|
+
protected delete(): Promise<T>;
|
|
32
28
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* @param {T[K]} value The new value to map to that key.
|
|
29
|
+
* Safely initialize the default object. Prevents multiple concurrent
|
|
30
|
+
* requests from writing the default value simultaneously.
|
|
36
31
|
*/
|
|
37
|
-
|
|
32
|
+
private safeInit;
|
|
38
33
|
private exists;
|
|
39
34
|
private initDefaultObject;
|
|
40
35
|
}
|
package/dist/BaseORM.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseORM.d.ts","sourceRoot":"","sources":["../src/BaseORM.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,8BAAsB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"BaseORM.d.ts","sourceRoot":"","sources":["../src/BaseORM.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,8BAAsB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzD,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAI;IAGjC,OAAO,CAAC,WAAW,CAA8B;IAEjD,SAAS,aACP,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,YAAY,GAAE,CAAW;IAkB3B;;;OAGG;cACa,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IAQjC;;;;OAIG;cACa,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C;;;OAGG;cACa,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC;IAMpC;;;OAGG;YACW,QAAQ;YAgBR,MAAM;YAIN,iBAAiB;CAMhC"}
|
package/dist/BaseORM.js
CHANGED
|
@@ -5,14 +5,11 @@ import { stoOpCheck, stoOpGet, stoOpRem, stoOpSet } from './opStorage';
|
|
|
5
5
|
* Uses Generics (T) to ensure type safety for the stored object structure.
|
|
6
6
|
*/
|
|
7
7
|
export class BaseORM {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* @param id The unique identifier for this instance.
|
|
14
|
-
* @param defaultValue The initial value to use if the key does not exist.
|
|
15
|
-
*/
|
|
8
|
+
id;
|
|
9
|
+
storageKey;
|
|
10
|
+
defaultValue;
|
|
11
|
+
// The Mutex "Lock" for preventing race conditions during initialization
|
|
12
|
+
initPromise = null;
|
|
16
13
|
constructor(prefix, id, defaultValue = {}) {
|
|
17
14
|
if (new.target === BaseORM) {
|
|
18
15
|
throw new TypeError('Cannot construct BaseORM instances directly (Abstract Class).');
|
|
@@ -20,16 +17,12 @@ export class BaseORM {
|
|
|
20
17
|
if (!prefix || !id) {
|
|
21
18
|
throw new Error('Both prefix and id must be specified.');
|
|
22
19
|
}
|
|
23
|
-
this
|
|
24
|
-
const formattedPrefix = prefix.endsWith(' ') ?
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return this.#id;
|
|
30
|
-
}
|
|
31
|
-
get storageKey() {
|
|
32
|
-
return this.#fullStorageKey;
|
|
20
|
+
this.id = id;
|
|
21
|
+
const formattedPrefix = prefix.endsWith(' ') ?
|
|
22
|
+
prefix :
|
|
23
|
+
`${prefix} `;
|
|
24
|
+
this.storageKey = `${formattedPrefix}${id}`;
|
|
25
|
+
this.defaultValue = structuredClone(defaultValue);
|
|
33
26
|
}
|
|
34
27
|
/**
|
|
35
28
|
* Retrieve the value associated with the bound key.
|
|
@@ -37,9 +30,10 @@ export class BaseORM {
|
|
|
37
30
|
*/
|
|
38
31
|
async get() {
|
|
39
32
|
if (!(await this.exists())) {
|
|
40
|
-
|
|
33
|
+
// Calls the lock-protected initialization instead of initDefaultObject directly
|
|
34
|
+
await this.safeInit();
|
|
41
35
|
}
|
|
42
|
-
return (await stoOpGet(this
|
|
36
|
+
return (await stoOpGet(this.storageKey));
|
|
43
37
|
}
|
|
44
38
|
/**
|
|
45
39
|
* Overwrite the value of the bound key completely.
|
|
@@ -47,7 +41,7 @@ export class BaseORM {
|
|
|
47
41
|
* @returns {Promise<void>}
|
|
48
42
|
*/
|
|
49
43
|
async set(value) {
|
|
50
|
-
await stoOpSet(this
|
|
44
|
+
await stoOpSet(this.storageKey, value ?? this.defaultValue);
|
|
51
45
|
}
|
|
52
46
|
/**
|
|
53
47
|
* Wipe the bound key from storage.
|
|
@@ -55,23 +49,30 @@ export class BaseORM {
|
|
|
55
49
|
*/
|
|
56
50
|
async delete() {
|
|
57
51
|
const previousValue = await this.get();
|
|
58
|
-
await stoOpRem(this
|
|
52
|
+
await stoOpRem(this.storageKey);
|
|
59
53
|
return previousValue;
|
|
60
54
|
}
|
|
61
55
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* @param {T[K]} value The new value to map to that key.
|
|
56
|
+
* Safely initialize the default object. Prevents multiple concurrent
|
|
57
|
+
* requests from writing the default value simultaneously.
|
|
65
58
|
*/
|
|
66
|
-
async
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
59
|
+
async safeInit() {
|
|
60
|
+
// If an initialization is already in progress, wait for it
|
|
61
|
+
if (this.initPromise) {
|
|
62
|
+
return this.initPromise;
|
|
63
|
+
}
|
|
64
|
+
// Start initialization and store the Promise as the lock
|
|
65
|
+
this.initPromise = this.initDefaultObject()
|
|
66
|
+
.finally(() => {
|
|
67
|
+
// Clear the lock whether the initialization succeeds or fails
|
|
68
|
+
this.initPromise = null;
|
|
69
|
+
});
|
|
70
|
+
return this.initPromise;
|
|
70
71
|
}
|
|
71
72
|
async exists() {
|
|
72
|
-
return await stoOpCheck(this
|
|
73
|
+
return await stoOpCheck(this.storageKey);
|
|
73
74
|
}
|
|
74
75
|
async initDefaultObject() {
|
|
75
|
-
await stoOpSet(this
|
|
76
|
+
await stoOpSet(this.storageKey, this.defaultValue);
|
|
76
77
|
}
|
|
77
78
|
}
|
package/dist/browserTab.d.ts
CHANGED
package/dist/browserTab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserTab.d.ts","sourceRoot":"","sources":["../src/browserTab.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,wCAAwC,CAC5D,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,kBAMb;AAED,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,kBAQpD;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,kBAM9C;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,iBAMnB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,mBAGd;AAED,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,GAC5C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,GAC5C,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,GAC5C,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
1
|
+
{"version":3,"file":"browserTab.d.ts","sourceRoot":"","sources":["../src/browserTab.ts"],"names":[],"mappings":"AAAA,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,MAAM,iBAOd;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,wCAAwC,CAC5D,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,kBAMb;AAED,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,kBAQpD;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,kBAM9C;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,iBAMnB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,mBAGd;AAED,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,GAC5C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,GAC5C,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,GAC5C,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
package/dist/browserTab.js
CHANGED
package/dist/opStorage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opStorage.d.ts","sourceRoot":"","sources":["../src/opStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"opStorage.d.ts","sourceRoot":"","sources":["../src/opStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAKtE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAGvE;AAED,wBAAsB,UAAU,kBAE/B;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAI3E;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzD;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7D"}
|
package/dist/opStorage.js
CHANGED
|
@@ -14,7 +14,9 @@ export async function stoOpCheck(key) {
|
|
|
14
14
|
*/
|
|
15
15
|
export async function stoOpGet(key) {
|
|
16
16
|
const result = await browser.storage.local.get(key);
|
|
17
|
-
return result[key] !== undefined ?
|
|
17
|
+
return result[key] !== undefined ?
|
|
18
|
+
result[key] :
|
|
19
|
+
null;
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
22
|
* Retrieves all items from local storage.
|
package/dist/opTab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opTab.d.ts","sourceRoot":"","sources":["../src/opTab.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,WACf,SAAQ,OAAO,CAAC,IAAI,CAAC,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,IAAI,CAGtE;AA4BD;;GAEG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAExG;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAMnH;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAKlH;AAED,UAAU,sBAAsB;IAC9B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACjD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAc3F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"opTab.d.ts","sourceRoot":"","sources":["../src/opTab.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,WACf,SAAQ,OAAO,CAAC,IAAI,CAAC,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,IAAI,CAGtE;AA4BD;;GAEG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAExG;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAMnH;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAKlH;AAED,UAAU,sBAAsB;IAC9B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACjD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAc3F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAMvF;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAEvE;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAEjE;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9D,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CACvC,EAAE,CAAC,CAaH;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIvE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7E;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE3E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,GACrD,OAAO,CAAC,WAAW,CAAC,CAKtB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAcpE"}
|
package/dist/opTab.js
CHANGED
|
@@ -75,7 +75,9 @@ export async function tabOpCreateNear(options) {
|
|
|
75
75
|
export async function tabOpCreateByWindow(url) {
|
|
76
76
|
const window = await browser.windows.create({ url });
|
|
77
77
|
const tab = window.tabs?.[0];
|
|
78
|
-
return tab ?
|
|
78
|
+
return tab ?
|
|
79
|
+
tabOpEnhance(tab) ?? undefined :
|
|
80
|
+
undefined;
|
|
79
81
|
}
|
|
80
82
|
/**
|
|
81
83
|
* Retrieves details about the specified tab.
|