@fkn/lib 0.4.9 → 0.5.1

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.
Files changed (88) hide show
  1. package/account.cjs +1 -0
  2. package/account.d.ts +17 -0
  3. package/account.js +28 -0
  4. package/api-ByfayMm1.js +67 -0
  5. package/api-CDb2pv7C.cjs +1 -0
  6. package/background-Dk_vaVP1.cjs +1 -0
  7. package/{background-CTsVv_a0.js → background-TtzKw6g0.js} +5 -4
  8. package/chunk-B6C_zzib.cjs +1 -0
  9. package/chunk-CPXzm0be.js +11 -0
  10. package/cloud/dgram.cjs +1 -0
  11. package/cloud/dgram.d.ts +537 -0
  12. package/cloud/dgram.js +4 -0
  13. package/cloud/dns.cjs +1 -0
  14. package/cloud/dns.d.ts +12 -0
  15. package/cloud/dns.js +3 -0
  16. package/cloud/fs/promises.cjs +1 -0
  17. package/cloud/fs/promises.d.ts +45 -0
  18. package/cloud/fs/promises.js +8 -0
  19. package/cloud/fs.cjs +1 -0
  20. package/cloud/fs.d.ts +75 -0
  21. package/cloud/fs.js +20 -0
  22. package/cloud/http.cjs +1 -0
  23. package/cloud/http.d.ts +767 -0
  24. package/cloud/http.js +5 -0
  25. package/cloud/net.cjs +1 -0
  26. package/cloud/net.d.ts +606 -0
  27. package/cloud/net.js +4 -0
  28. package/cloud-BrY9dKwV.cjs +1 -0
  29. package/cloud-C-LK4DWa.js +33 -0
  30. package/cloud.cjs +1 -0
  31. package/cloud.d.ts +1053 -0
  32. package/cloud.js +12 -0
  33. package/desktop.cjs +1 -0
  34. package/desktop.d.ts +49 -0
  35. package/desktop.js +51 -0
  36. package/dgram-C5rGcbej.cjs +1 -0
  37. package/dgram-DS5_yPc5.js +330 -0
  38. package/dgram.cjs +1 -0
  39. package/dgram.d.ts +541 -0
  40. package/dgram.js +4 -0
  41. package/dns.cjs +1 -0
  42. package/dns.d.ts +12 -0
  43. package/dns.js +6 -0
  44. package/extension-9Uv_0HdS.cjs +1 -0
  45. package/extension-Dgz0UTy0.js +245 -0
  46. package/extension.cjs +1 -0
  47. package/extension.d.ts +853 -0
  48. package/extension.js +5 -0
  49. package/fs/promises.cjs +1 -0
  50. package/fs/promises.d.ts +65 -0
  51. package/fs/promises.js +8 -0
  52. package/fs-BiS_UsCn.js +82 -0
  53. package/fs-CmgWrokB.cjs +1 -0
  54. package/fs.cjs +1 -0
  55. package/fs.d.ts +138 -0
  56. package/fs.js +5 -0
  57. package/http.cjs +9 -0
  58. package/http.d.ts +767 -0
  59. package/http.js +541 -0
  60. package/index.cjs +1 -9
  61. package/index.d.ts +261 -146
  62. package/index.js +27 -1879
  63. package/locator-Cf7M3QKN.cjs +53 -0
  64. package/{locator-Q5m8i40Z.js → locator-DxAsGV_o.js} +331 -337
  65. package/net-Bl6_W3bd.js +275 -0
  66. package/net-C5kWnI4C.cjs +1 -0
  67. package/net.cjs +1 -0
  68. package/net.d.ts +606 -0
  69. package/net.js +4 -0
  70. package/node-fs-Bd_UUx1m.js +361 -0
  71. package/node-fs-lrlD_zqB.cjs +1 -0
  72. package/opfs/promises.cjs +1 -0
  73. package/opfs/promises.d.ts +46 -0
  74. package/opfs/promises.js +6 -0
  75. package/opfs-BfcYLPGb.js +55 -0
  76. package/opfs-Dsi4FkJU.cjs +1 -0
  77. package/opfs.cjs +1 -0
  78. package/opfs.d.ts +83 -0
  79. package/opfs.js +35 -0
  80. package/package.json +91 -1
  81. package/proxy-A9UvWUaF.cjs +1 -0
  82. package/proxy-wiZN4eTR.js +14 -0
  83. package/storage-BadvHtv0.cjs +1 -0
  84. package/storage-z0q3iena.js +13 -0
  85. package/utils-BsNRWMfl.cjs +1 -0
  86. package/utils-CNydj3OT.js +52 -0
  87. package/background-BqRFQggD.cjs +0 -1
  88. package/locator-Cjl21Nkt.cjs +0 -53
package/account.cjs ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-B6C_zzib.cjs`),t=require(`./api-CDb2pv7C.cjs`);var n=e.n({info:()=>a,login:()=>r,logout:()=>i,onChange:()=>o}),r=async()=>typeof window>`u`?!1:(await t.t).account.login(location.origin).catch(()=>!1),i=async()=>{typeof window>`u`||await(await t.t).account.logout().catch(()=>{})},a=async()=>{if(typeof window>`u`)return null;let e=await t.t.then(e=>e.account.info()).catch(()=>null);return e?{name:e.name,image:e.image,premium:e.premium,premiumUntil:e.premiumUntil?Date.parse(e.premiumUntil):null}:null},o=async e=>{if(typeof window>`u`)return()=>{};let n=await t.t.catch(()=>null);if(!n)return()=>{};let r=await n.account.onChange(e).catch(()=>null);return typeof r==`function`?r:()=>{}};exports.info=a,exports.login=r,exports.logout=i,exports.onChange=o,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
package/account.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ type AccountInfo = {
2
+ /** the account's display name (a username, not necessarily a real name) */
3
+ name: string;
4
+ /** profile image URL, or null if none is set */
5
+ image: string | null;
6
+ /** the account has an active paid subscription */
7
+ premium: boolean;
8
+ /** when the current subscription lapses, as a ms epoch, or null when not subscribed */
9
+ premiumUntil: number | null;
10
+ };
11
+ declare const login: () => Promise<boolean>;
12
+ declare const logout: () => Promise<void>;
13
+ declare const info: () => Promise<AccountInfo | null>;
14
+ declare const onChange: (callback: () => void) => Promise<() => void>;
15
+
16
+ export { info, login, logout, onChange };
17
+ export type { AccountInfo };
package/account.js ADDED
@@ -0,0 +1,28 @@
1
+ import { n as e } from "./chunk-CPXzm0be.js";
2
+ import { t } from "./api-ByfayMm1.js";
3
+ //#region src/lib/account.ts
4
+ var n = /* @__PURE__ */ e({
5
+ info: () => a,
6
+ login: () => r,
7
+ logout: () => i,
8
+ onChange: () => o
9
+ }), r = async () => typeof window > "u" ? !1 : (await t).account.login(location.origin).catch(() => !1), i = async () => {
10
+ typeof window > "u" || await (await t).account.logout().catch(() => {});
11
+ }, a = async () => {
12
+ if (typeof window > "u") return null;
13
+ let e = await t.then((e) => e.account.info()).catch(() => null);
14
+ return e ? {
15
+ name: e.name,
16
+ image: e.image,
17
+ premium: e.premium,
18
+ premiumUntil: e.premiumUntil ? Date.parse(e.premiumUntil) : null
19
+ } : null;
20
+ }, o = async (e) => {
21
+ if (typeof window > "u") return () => {};
22
+ let n = await t.catch(() => null);
23
+ if (!n) return () => {};
24
+ let r = await n.account.onChange(e).catch(() => null);
25
+ return typeof r == "function" ? r : () => {};
26
+ };
27
+ //#endregion
28
+ export { a as info, r as login, i as logout, o as onChange, n as t };
@@ -0,0 +1,67 @@
1
+ import { expose as e } from "osra";
2
+ //#region src/lib/overlay.ts
3
+ var t = 32, n = typeof CSS < "u" && CSS.supports("clip-path", "path('M0 0H1V1H0Z')"), r = (e) => {
4
+ let t = e.style;
5
+ t.setProperty("display", "block", "important"), t.setProperty("position", "fixed", "important"), t.setProperty("top", "0", "important"), t.setProperty("left", "0", "important"), t.setProperty("width", "100%", "important"), t.setProperty("height", "100%", "important"), t.setProperty("border", "none", "important"), t.setProperty("clip-path", "inset(100%)", "important"), t.setProperty("background", "transparent"), t.setProperty("color-scheme", "normal"), t.setProperty("z-index", "2147483647"), e.setAttribute("title", "FKN");
6
+ }, i = ({ x: e, y: t, width: n, height: r }) => `M${e} ${t}h${n}v${r}h${-n}Z`, a = (e, { modal: t, rects: r }) => {
7
+ if (!n) {
8
+ let n = t || r.length > 0;
9
+ e.style.setProperty("pointer-events", n ? "auto" : "none", "important"), e.style.setProperty("visibility", n ? "visible" : "hidden", "important");
10
+ return;
11
+ }
12
+ let a = t ? "none" : r.length === 0 ? "inset(100%)" : `path('${r.map(i).join("")}')`, o = a === "none" || CSS.supports("clip-path", a) ? a : "inset(100%)";
13
+ e.style.setProperty("clip-path", o, "important");
14
+ }, o = (e) => {
15
+ if (typeof e != "object" || !e) return null;
16
+ let { x: t, y: n, width: r, height: i } = e;
17
+ if (![
18
+ t,
19
+ n,
20
+ r,
21
+ i
22
+ ].every((e) => typeof e == "number" && Number.isFinite(e))) return null;
23
+ let a = window.innerWidth, o = window.innerHeight, s = Math.max(0, Math.min(Math.round(t), a)), c = Math.max(0, Math.min(Math.round(n), o)), l = Math.max(s, Math.min(Math.round(t + r), a)), u = Math.max(c, Math.min(Math.round(n + i), o));
24
+ return {
25
+ x: s,
26
+ y: c,
27
+ width: l - s,
28
+ height: u - c
29
+ };
30
+ }, s = (e) => {
31
+ if (typeof e != "object" || !e) return null;
32
+ let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, t) : []).map(o).filter((e) => e !== null && e.width > 0 && e.height > 0);
33
+ return {
34
+ modal: n.modal === !0,
35
+ rects: r
36
+ };
37
+ }, c = null, l = () => c !== null, u = (e) => {
38
+ r(e), a(e, {
39
+ modal: !1,
40
+ rects: []
41
+ }), c = e;
42
+ }, d = (e) => {
43
+ if (!c) return;
44
+ let t = s(e);
45
+ t && a(c, t);
46
+ }, f = "https://fkn.app", p = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, m = p?.querySelector(`iframe[src="${f}/api"]`) ?? null, h = p?.createElement("iframe") ?? null;
47
+ !m && h && p && (h.src = `${f}/api`, p.body.appendChild(h));
48
+ var g = m ?? h, _ = g?.contentWindow ?? null;
49
+ g && p && u(g);
50
+ var v = (() => {
51
+ if (typeof window < "u") return _ ? {
52
+ receive: window,
53
+ emit: _
54
+ } : void 0;
55
+ if (typeof self < "u") return {
56
+ receive: self,
57
+ emit: self
58
+ };
59
+ })(), y = v !== void 0, b = v ? e({}, {
60
+ key: "fkn-api",
61
+ transport: v
62
+ }) : new Promise(() => {});
63
+ b.then((e) => {
64
+ l() && e.overlay.setHost(d);
65
+ }, () => {});
66
+ //#endregion
67
+ export { y as n, g as r, b as t };
@@ -0,0 +1 @@
1
+ let e=require(`osra`);var t=32,n=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),r=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,`normal`),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},i=({x:e,y:t,width:n,height:r})=>`M${e} ${t}h${n}v${r}h${-n}Z`,a=(e,{modal:t,rects:r})=>{if(!n){let n=t||r.length>0;e.style.setProperty(`pointer-events`,n?`auto`:`none`,`important`),e.style.setProperty(`visibility`,n?`visible`:`hidden`,`important`);return}let a=t?`none`:r.length===0?`inset(100%)`:`path('${r.map(i).join(``)}')`,o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`)},o=e=>{if(typeof e!=`object`||!e)return null;let{x:t,y:n,width:r,height:i}=e;if(![t,n,r,i].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let a=window.innerWidth,o=window.innerHeight,s=Math.max(0,Math.min(Math.round(t),a)),c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(s,Math.min(Math.round(t+r),a)),u=Math.max(c,Math.min(Math.round(n+i),o));return{x:s,y:c,width:l-s,height:u-c}},s=e=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,t):[]).map(o).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r}},c=null,l=()=>c!==null,u=e=>{r(e),a(e,{modal:!1,rects:[]}),c=e},d=e=>{if(!c)return;let t=s(e);t&&a(c,t)},f=`https://fkn.app`,p=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,m=p?.querySelector(`iframe[src="${f}/api"]`)??null,h=p?.createElement(`iframe`)??null;!m&&h&&p&&(h.src=`${f}/api`,p.body.appendChild(h));var g=m??h,_=g?.contentWindow??null;g&&p&&u(g);var v=(()=>{if(typeof window<`u`)return _?{receive:window,emit:_}:void 0;if(typeof self<`u`)return{receive:self,emit:self}})(),y=v!==void 0,b=v?(0,e.expose)({},{key:`fkn-api`,transport:v}):new Promise(()=>{});b.then(e=>{l()&&e.overlay.setHost(d)},()=>{}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return b}});
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-B6C_zzib.cjs`),t=require(`./locator-Cf7M3QKN.cjs`);let n=require(`osra`);var r=e.t(((e,t)=>{(function(n,r){if(typeof define==`function`&&define.amd)define(`webextension-polyfill`,[`module`],r);else if(e!==void 0)r(t);else{var i={exports:{}};r(i),n.browser=i.exports}})(typeof globalThis<`u`?globalThis:typeof self<`u`?self:e,function(e){"use strict";if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw Error(`This script should only be loaded in a browser extension.`);globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id?e.exports=globalThis.browser:e.exports=(e=>{let t={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(t).length===0)throw Error(`api-metadata.json has not been included in browser-polyfill`);class n extends WeakMap{constructor(e,t=void 0){super(t),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}let r=e=>e&&typeof e==`object`&&typeof e.then==`function`,i=(t,n)=>(...r)=>{e.runtime.lastError?t.reject(Error(e.runtime.lastError.message)):n.singleCallbackArg||r.length<=1&&n.singleCallbackArg!==!1?t.resolve(r[0]):t.resolve(r)},a=e=>e==1?`argument`:`arguments`,o=(e,t)=>function(n,...r){if(r.length<t.minArgs)throw Error(`Expected at least ${t.minArgs} ${a(t.minArgs)} for ${e}(), got ${r.length}`);if(r.length>t.maxArgs)throw Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise((a,o)=>{if(t.fallbackToNoCallback)try{n[e](...r,i({resolve:a,reject:o},t))}catch(i){console.warn(`${e} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,i),n[e](...r),t.fallbackToNoCallback=!1,t.noCallback=!0,a()}else t.noCallback?(n[e](...r),a()):n[e](...r,i({resolve:a,reject:o},t))})},s=(e,t,n)=>new Proxy(t,{apply(t,r,i){return n.call(r,e,...i)}}),c=Function.call.bind(Object.prototype.hasOwnProperty),l=(e,t={},n={})=>{let r=Object.create(null);return new Proxy(Object.create(e),{has(t,n){return n in e||n in r},get(i,a,u){if(a in r)return r[a];if(!(a in e))return;let d=e[a];if(typeof d==`function`)if(typeof t[a]==`function`)d=s(e,e[a],t[a]);else if(c(n,a)){let t=o(a,n[a]);d=s(e,e[a],t)}else d=d.bind(e);else if(typeof d==`object`&&d&&(c(t,a)||c(n,a)))d=l(d,t[a],n[a]);else if(c(n,`*`))d=l(d,t[a],n[`*`]);else return Object.defineProperty(r,a,{configurable:!0,enumerable:!0,get(){return e[a]},set(t){e[a]=t}}),d;return r[a]=d,d},set(t,n,i,a){return n in r?r[n]=i:e[n]=i,!0},defineProperty(e,t,n){return Reflect.defineProperty(r,t,n)},deleteProperty(e,t){return Reflect.deleteProperty(r,t)}})},u=e=>({addListener(t,n,...r){t.addListener(e.get(n),...r)},hasListener(t,n){return t.hasListener(e.get(n))},removeListener(t,n){t.removeListener(e.get(n))}}),d=new n(e=>typeof e==`function`?function(t){e(l(t,{},{getContent:{minArgs:0,maxArgs:0}}))}:e),f=new n(e=>typeof e==`function`?function(t,n,i){let a=!1,o,s=new Promise(e=>{o=function(t){a=!0,e(t)}}),c;try{c=e(t,n,o)}catch(e){c=Promise.reject(e)}let l=c!==!0&&r(c);return c!==!0&&!l&&!a?!1:((e=>{e.then(e=>{i(e)},e=>{let t;t=e&&(e instanceof Error||typeof e.message==`string`)?e.message:`An unexpected error occurred`,i({__mozWebExtensionPolyfillReject__:!0,message:t})}).catch(e=>{console.error(`Failed to send onMessage rejected reply`,e)})})(l?c:s),!0)}:e),p=({reject:t,resolve:n},r)=>{e.runtime.lastError?e.runtime.lastError.message===`The message port closed before a response was received.`?n():t(Error(e.runtime.lastError.message)):r&&r.__mozWebExtensionPolyfillReject__?t(Error(r.message)):n(r)},m=(e,t,n,...r)=>{if(r.length<t.minArgs)throw Error(`Expected at least ${t.minArgs} ${a(t.minArgs)} for ${e}(), got ${r.length}`);if(r.length>t.maxArgs)throw Error(`Expected at most ${t.maxArgs} ${a(t.maxArgs)} for ${e}(), got ${r.length}`);return new Promise((e,t)=>{let i=p.bind(null,{resolve:e,reject:t});r.push(i),n.sendMessage(...r)})},h={devtools:{network:{onRequestFinished:u(d)}},runtime:{onMessage:u(f),onMessageExternal:u(f),sendMessage:m.bind(null,`sendMessage`,{minArgs:1,maxArgs:3})},tabs:{sendMessage:m.bind(null,`sendMessage`,{minArgs:2,maxArgs:3})}},g={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return t.privacy={network:{"*":g},services:{"*":g},websites:{"*":g}},l(e,h,t)})(chrome)})}))(),i=`FKN_WEB_EXTENSION_BACKGROUND_COMMUNICATION_OSRA_KEY`,a=`FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY`,o=`FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY`,s=e=>t.c(e)&&e.FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY===!0&&typeof e.from==`string`&&t.c(e.message),c=new Map,l=e=>{let i=c.get(e);if(i)return i;let{promise:s,resolve:l}=Promise.withResolvers(),{promise:u,resolve:d}=Promise.withResolvers(),f={resolvers:(0,n.expose)(N,{key:a,revivableModules:t.l,transport:{isJson:!0,receive:e=>l(e),emit:t=>{r.runtime.sendMessage({[o]:!0,target:e,message:t}).catch(()=>{})}}}),listener:s,stale:u,markStale:d};return c.set(e,f),f};r.runtime.onMessage.addListener((e,t)=>{s(e)&&(0,n.checkOsraMessageKey)(e.message,`FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY`)&&l(e.from).listener.then(n=>n(e.message,{sender:t}))}),t.s(e=>{let t=c.get(e);t&&(t.markStale(),c.delete(e))});var u=async e=>{let t=l(e);return{resolvers:await Promise.race([t.resolvers,t.stale.then(()=>{throw Error(`peer ${e} became stale before connect completed`)})]),stale:t.stale}},d=[`position: fixed`,`border: 2px solid oklch(63% 0.24 25)`,`border-radius: 4px`,`background: oklch(63% 0.24 25 / 0.12)`,`box-shadow: 0 0 0 2px oklch(63% 0.24 25 / 0.5), 0 0 0 100vmax oklch(0% 0 0 / 0.5)`,`z-index: 2147483647`,`pointer-events: none`,`box-sizing: border-box`],f=(e,t)=>{let n=t.getBoundingClientRect();e.setAttribute(`style`,[...d,`left: ${n.left}px`,`top: ${n.top}px`,`width: ${n.width}px`,`height: ${n.height}px`].map(e=>`${e} !important`).join(`; `))},p=e=>{let t=e.getBoundingClientRect();return{clientX:t.left+t.width/2,clientY:t.top+t.height/2}},m=0,h=e=>{m^=1;let{clientX:t,clientY:n}=p(e),r={bubbles:!0,cancelable:!0,composed:!0,clientX:t+m,clientY:n};e.dispatchEvent(new PointerEvent(`pointermove`,{...r,pointerType:`mouse`,pointerId:1,isPrimary:!0})),e.dispatchEvent(new MouseEvent(`mousemove`,r))},g=[[PointerEvent,`pointerover`,!0],[PointerEvent,`pointerenter`,!1],[MouseEvent,`mouseover`,!0],[MouseEvent,`mouseenter`,!1]],_=[[PointerEvent,`pointerout`,!0],[PointerEvent,`pointerleave`,!1],[MouseEvent,`mouseout`,!0],[MouseEvent,`mouseleave`,!1]],v=(e,t)=>t.forEach(([t,n,r])=>e.dispatchEvent(new t(n,{bubbles:r,cancelable:!0,composed:!0,...p(e)}))),y=e=>{v(e,g),h(e)},b=e=>v(e,_),x=null,S=e=>{C();try{e.scrollIntoView({block:`center`,inline:`center`})}catch{}let t=document.createElement(`div`);(document.body??document.documentElement).appendChild(t),y(e);let n=requestAnimationFrame(function r(){f(t,e),n=requestAnimationFrame(r)}),r=window.setInterval(()=>h(e),300);x={stop:()=>{cancelAnimationFrame(n),clearInterval(r),b(e),t.remove()}}},C=()=>{x?.stop(),x=null},w={[t.n]:t.t,[t.a]:t.i},T=e=>{let t=w[e.locatorType];if(!t)throw Error(`Unknown locator kind: "${e.locatorType}"`);let n=t.selectorModules.find(t=>t.type===e.type);if(!n)throw Error(`Unknown selector: "${e.locatorType}.${e.type}"`);return n},E=e=>e.reduce((e,t)=>T(t).resolve({elements:e},...t.args),[document.documentElement]),D=e=>{for(let t=0;t<e.length;t++){let n=T(e[t]);if(n.resolvePeer)return{module:n,index:t}}return null},O=async(e,n,r)=>{let i=D(e);if(i){let t=await i.module.resolvePeer({parts:e,selfIndex:i.index,resolveLocal:E}),{resolvers:a,stale:o}=await u(t),s=e.slice(i.index+1);return Promise.race([a.executeLocator(s,n,r),o.then(()=>{throw Error(`peer ${t} became stale during call, retrying`)})])}if(n===`__fkn_highlight`){if(r[0]?.on){let n=E(e)[0];n&&(t.o(!0),S(n))}else C(),t.o(!1);return}let a=[...t.t.operationModules,...t.i.operationModules].find(e=>e.type===n);if(!a)throw Error(`Unknown operation: "${n}"`);return a.resolve({elements:E(e)},...r)},k=`FKN_EVALUATE`,A,j=()=>(A??=new Promise((e,t)=>{let n=t=>{let r=t.data;!r||r.channel!==k||r.kind!==`ready`||(window.removeEventListener(`message`,n),e())};window.addEventListener(`message`,n);let r=document.createElement(`script`);r.src=chrome.runtime.getURL(`main-world-bridge.js`),r.onload=()=>r.remove(),(document.documentElement??document.head??document.body).appendChild(r),setTimeout(()=>t(Error(`evaluate: main-world bridge did not become ready`)),5e3)}),A),M=0,N={contentScriptDummy:()=>{},executeLocator:O,evaluate:async({code:e,arg:t})=>{await j();let n=`${++M}`;return new Promise((r,i)=>{let a=e=>{let t=e.data;!t||t.channel!==k||t.kind!==`result`||t.id!==n||(window.removeEventListener(`message`,a),t.error?i(Error(String(t.error))):r(t.result))};window.addEventListener(`message`,a),window.postMessage({channel:k,kind:`call`,id:n,code:e,arg:t},`*`)})}},P=(0,n.expose)(N,{key:i,transport:{isJson:!0,receive:r.runtime.onMessage,emit:r.runtime}});exports.backgroundResolvers=P;
@@ -1,8 +1,9 @@
1
- import { a as e, c as t, h as n, i as r, l as i, n as a, o, s, t as c } from "./locator-Q5m8i40Z.js";
1
+ import { t as e } from "./chunk-CPXzm0be.js";
2
+ import { a as t, c as n, i as r, l as i, n as a, o, s, t as c } from "./locator-DxAsGV_o.js";
2
3
  import { checkOsraMessageKey as l, expose as u } from "osra";
3
4
  //#endregion
4
5
  //#region node_modules/@mfkn/web-extension/lib/background/constants.js
5
- var d = (/* @__PURE__ */ n(((e, t) => {
6
+ var d = (/* @__PURE__ */ e(((e, t) => {
6
7
  (function(n, r) {
7
8
  if (typeof define == "function" && define.amd) define("webextension-polyfill", ["module"], r);
8
9
  else if (e !== void 0) r(t);
@@ -827,7 +828,7 @@ var d = (/* @__PURE__ */ n(((e, t) => {
827
828
  }, l(e, h, t);
828
829
  })(chrome);
829
830
  });
830
- })))(), f = "FKN_WEB_EXTENSION_BACKGROUND_COMMUNICATION_OSRA_KEY", p = "FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY", m = "FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY", h = (e) => t(e) && e.FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY === !0 && typeof e.from == "string" && t(e.message), g = /* @__PURE__ */ new Map(), _ = (e) => {
831
+ })))(), f = "FKN_WEB_EXTENSION_BACKGROUND_COMMUNICATION_OSRA_KEY", p = "FKN_WEB_EXTENSION_CONTENT_SCRIPT_PEER_OSRA_KEY", m = "FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY", h = (e) => n(e) && e.FKN_WEB_EXTENSION_CONTENT_SCRIPT_RELAY_ENVELOPE_KEY === !0 && typeof e.from == "string" && n(e.message), g = /* @__PURE__ */ new Map(), _ = (e) => {
831
832
  let t = g.get(e);
832
833
  if (t) return t;
833
834
  let { promise: n, resolve: r } = Promise.withResolvers(), { promise: a, resolve: o } = Promise.withResolvers(), s = {
@@ -974,7 +975,7 @@ var v = async (e) => {
974
975
  k?.stop(), k = null;
975
976
  }, M = {
976
977
  [a]: c,
977
- [e]: r
978
+ [t]: r
978
979
  }, N = (e) => {
979
980
  let t = M[e.locatorType];
980
981
  if (!t) throw Error(`Unknown locator kind: "${e.locatorType}"`);
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,t=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -0,0 +1,11 @@
1
+ //#region \0rolldown/runtime.js
2
+ var e = Object.defineProperty, t = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), n = (t, n) => {
3
+ let r = {};
4
+ for (var i in t) e(r, i, {
5
+ get: t[i],
6
+ enumerable: !0
7
+ });
8
+ return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
9
+ };
10
+ //#endregion
11
+ export { n, t };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../api-CDb2pv7C.cjs`),require(`../utils-BsNRWMfl.cjs`);const e=require(`../dgram-C5rGcbej.cjs`);exports.Socket=e.t,exports.createSocket=e.n;