@vacantthinker/firefox-addon-framework-easy 2026.613.1536 → 2026.613.2149
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 +5 -5
- package/dist/BaseORM.d.ts.map +1 -1
- package/dist/BaseORM.js +17 -17
- package/dist/browserTab.d.ts +1 -0
- package/dist/browserTab.d.ts.map +1 -1
- package/dist/browserTab.js +5 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- 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/dist/{servicePure.d.ts → serviceOperationYTBURL.d.ts} +6 -1
- package/dist/serviceOperationYTBURL.d.ts.map +1 -0
- package/dist/{servicePure.js → serviceOperationYTBURL.js} +20 -7
- package/package.json +1 -1
- package/dist/servicePure.d.ts.map +0 -1
package/dist/BaseORM.d.ts
CHANGED
|
@@ -14,11 +14,6 @@ export declare abstract class BaseORM<T extends Record<string, any>> {
|
|
|
14
14
|
* @returns {Promise<T>}
|
|
15
15
|
*/
|
|
16
16
|
protected get(): Promise<T>;
|
|
17
|
-
/**
|
|
18
|
-
* Safely initialize the default object. Prevents multiple concurrent
|
|
19
|
-
* requests from writing the default value simultaneously.
|
|
20
|
-
*/
|
|
21
|
-
private safeInit;
|
|
22
17
|
/**
|
|
23
18
|
* Overwrite the value of the bound key completely.
|
|
24
19
|
* @param {T} value
|
|
@@ -30,6 +25,11 @@ export declare abstract class BaseORM<T extends Record<string, any>> {
|
|
|
30
25
|
* @returns {Promise<T>}
|
|
31
26
|
*/
|
|
32
27
|
protected delete(): Promise<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Safely initialize the default object. Prevents multiple concurrent
|
|
30
|
+
* requests from writing the default value simultaneously.
|
|
31
|
+
*/
|
|
32
|
+
private safeInit;
|
|
33
33
|
private exists;
|
|
34
34
|
private initDefaultObject;
|
|
35
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;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
|
|
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
|
@@ -35,23 +35,6 @@ export class BaseORM {
|
|
|
35
35
|
}
|
|
36
36
|
return (await stoOpGet(this.storageKey));
|
|
37
37
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Safely initialize the default object. Prevents multiple concurrent
|
|
40
|
-
* requests from writing the default value simultaneously.
|
|
41
|
-
*/
|
|
42
|
-
async safeInit() {
|
|
43
|
-
// If an initialization is already in progress, wait for it
|
|
44
|
-
if (this.initPromise) {
|
|
45
|
-
return this.initPromise;
|
|
46
|
-
}
|
|
47
|
-
// Start initialization and store the Promise as the lock
|
|
48
|
-
this.initPromise = this.initDefaultObject()
|
|
49
|
-
.finally(() => {
|
|
50
|
-
// Clear the lock whether the initialization succeeds or fails
|
|
51
|
-
this.initPromise = null;
|
|
52
|
-
});
|
|
53
|
-
return this.initPromise;
|
|
54
|
-
}
|
|
55
38
|
/**
|
|
56
39
|
* Overwrite the value of the bound key completely.
|
|
57
40
|
* @param {T} value
|
|
@@ -69,6 +52,23 @@ export class BaseORM {
|
|
|
69
52
|
await stoOpRem(this.storageKey);
|
|
70
53
|
return previousValue;
|
|
71
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Safely initialize the default object. Prevents multiple concurrent
|
|
57
|
+
* requests from writing the default value simultaneously.
|
|
58
|
+
*/
|
|
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;
|
|
71
|
+
}
|
|
72
72
|
async exists() {
|
|
73
73
|
return await stoOpCheck(this.storageKey);
|
|
74
74
|
}
|
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/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export * from './serviceCommon';
|
|
|
10
10
|
export * from './serviceFetch';
|
|
11
11
|
export * from './serviceGet';
|
|
12
12
|
export * from './serviceOpContent';
|
|
13
|
+
export * from './serviceOperationYTBURL';
|
|
13
14
|
export * from './serviceOpJavascript';
|
|
14
|
-
export * from './servicePure';
|
|
15
15
|
export * from './serviceUpdateTabStyle';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,6 @@ export * from './serviceCommon';
|
|
|
10
10
|
export * from './serviceFetch';
|
|
11
11
|
export * from './serviceGet';
|
|
12
12
|
export * from './serviceOpContent';
|
|
13
|
+
export * from './serviceOperationYTBURL';
|
|
13
14
|
export * from './serviceOpJavascript';
|
|
14
|
-
export * from './servicePure';
|
|
15
15
|
export * from './serviceUpdateTabStyle';
|
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.
|
|
@@ -6,6 +6,11 @@ export interface YoutubePlaylistInfo {
|
|
|
6
6
|
playlistVideolink: string;
|
|
7
7
|
playlistId: string;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* `https://www.youtube.com/watch?v=${vid}`
|
|
11
|
+
* @param vid
|
|
12
|
+
*/
|
|
13
|
+
export declare function serviceGetVideolinkByVid(vid: string): string;
|
|
9
14
|
/**
|
|
10
15
|
* Extracts video ID and creates a clean YouTube URL.
|
|
11
16
|
* Supports: youtube.com/watch?v=, youtu.be/, and youtube.com/shorts/
|
|
@@ -15,4 +20,4 @@ export declare function servicePureVideolinkYTB(videolinkOrigin: string): Youtub
|
|
|
15
20
|
* Extracts playlist ID and creates a clean YouTube playlist URL.
|
|
16
21
|
*/
|
|
17
22
|
export declare function servicePurePlaylistVideolinkYTB(videolinkOrigin: string): YoutubePlaylistInfo | null;
|
|
18
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=serviceOperationYTBURL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serviceOperationYTBURL.d.ts","sourceRoot":"","sources":["../src/serviceOperationYTBURL.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAmCxF;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAoBnG"}
|
|
@@ -1,27 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `https://www.youtube.com/watch?v=${vid}`
|
|
3
|
+
* @param vid
|
|
4
|
+
*/
|
|
5
|
+
export function serviceGetVideolinkByVid(vid) {
|
|
6
|
+
return `https://www.youtube.com/watch?v=${vid}`;
|
|
7
|
+
}
|
|
1
8
|
/**
|
|
2
9
|
* Extracts video ID and creates a clean YouTube URL.
|
|
3
10
|
* Supports: youtube.com/watch?v=, youtu.be/, and youtube.com/shorts/
|
|
4
11
|
*/
|
|
5
12
|
export function servicePureVideolinkYTB(videolinkOrigin) {
|
|
6
|
-
if (!videolinkOrigin)
|
|
13
|
+
if (!videolinkOrigin) {
|
|
7
14
|
return null;
|
|
15
|
+
}
|
|
8
16
|
try {
|
|
9
17
|
const url = new URL(videolinkOrigin);
|
|
10
18
|
let vid = null;
|
|
11
19
|
// 1. Standard watch URL: youtube.com/watch?v=ID
|
|
12
20
|
vid = url.searchParams.get('v');
|
|
13
21
|
// 2. Short URL: youtu.be/ID
|
|
14
|
-
if (!vid &&
|
|
22
|
+
if (!vid &&
|
|
23
|
+
url.hostname.includes('youtu.be')) {
|
|
15
24
|
vid = url.pathname.slice(1);
|
|
16
25
|
}
|
|
17
26
|
// 3. Shorts URL: youtube.com/shorts/ID
|
|
18
|
-
if (!vid &&
|
|
27
|
+
if (!vid &&
|
|
28
|
+
url.pathname.startsWith('/shorts/')) {
|
|
19
29
|
vid = url.pathname.split('/')[2];
|
|
20
30
|
}
|
|
21
|
-
if (!vid)
|
|
31
|
+
if (!vid) {
|
|
22
32
|
return null;
|
|
33
|
+
}
|
|
23
34
|
return {
|
|
24
|
-
videolink:
|
|
35
|
+
videolink: serviceGetVideolinkByVid(vid),
|
|
25
36
|
vid,
|
|
26
37
|
};
|
|
27
38
|
}
|
|
@@ -33,13 +44,15 @@ export function servicePureVideolinkYTB(videolinkOrigin) {
|
|
|
33
44
|
* Extracts playlist ID and creates a clean YouTube playlist URL.
|
|
34
45
|
*/
|
|
35
46
|
export function servicePurePlaylistVideolinkYTB(videolinkOrigin) {
|
|
36
|
-
if (!videolinkOrigin)
|
|
47
|
+
if (!videolinkOrigin) {
|
|
37
48
|
return null;
|
|
49
|
+
}
|
|
38
50
|
try {
|
|
39
51
|
const url = new URL(videolinkOrigin);
|
|
40
52
|
const playlistId = url.searchParams.get('list');
|
|
41
|
-
if (!playlistId)
|
|
53
|
+
if (!playlistId) {
|
|
42
54
|
return null;
|
|
55
|
+
}
|
|
43
56
|
return {
|
|
44
57
|
playlistVideolink: `https://www.youtube.com/playlist?list=${playlistId}`,
|
|
45
58
|
playlistId,
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"servicePure.d.ts","sourceRoot":"","sources":["../src/servicePure.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA6BxF;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAgBnG"}
|