@fkn/lib 0.2.1 → 0.3.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.
- package/api/dns/index.d.ts +7 -0
- package/api/dns/lookup.d.ts +8 -0
- package/api/events.d.ts +7 -0
- package/api/index.d.ts +66 -0
- package/api/proxy/extension-proxy-fetch.d.ts +4 -0
- package/api/proxy/index.d.ts +7 -0
- package/api/proxy/proxy-fetch.d.ts +5 -0
- package/api/utils/event-target.d.ts +7 -0
- package/api/utils/index.d.ts +1 -0
- package/api/webvpn/index.d.ts +60 -0
- package/api/webvpn/packets/metadata.d.ts +30 -0
- package/api/webvpn/packets/tcp-listener.d.ts +39 -0
- package/api/webvpn/packets/tcp-listener.test.d.ts +1 -0
- package/api/webvpn/packets/tcp.d.ts +88 -0
- package/api/webvpn/packets/tcp.test.d.ts +1 -0
- package/api/webvpn/packets/udp.d.ts +196 -0
- package/api/webvpn/packets/udp.test.d.ts +1 -0
- package/api/webvpn/packets/utils.d.ts +23 -0
- package/api/webvpn/packets/utils.test.d.ts +1 -0
- package/api/webvpn/tcp-listener.d.ts +11 -0
- package/api/webvpn/tcp.d.ts +47 -0
- package/api/webvpn/udp.d.ts +30 -0
- package/api/webvpn/utils.d.ts +26 -0
- package/api/webvpn/utils.test.d.ts +1 -0
- package/api/webvpn/webtransport.d.ts +63 -0
- package/background-BKX-_a5c.js +914 -0
- package/background-CJX0MYvT.cjs +1 -0
- package/index.cjs +1 -0
- package/index.d.ts +1 -0
- package/index.js +615 -0
- package/{build → lib}/api.d.ts +16 -23
- package/lib/proxy.d.ts +5 -0
- package/{build → lib}/webvpn/dgram.d.ts +10 -3
- package/{build → lib}/webvpn/net.d.ts +18 -11
- package/locator-BcexQUF6.js +1104 -0
- package/locator-i9-DjgYk.cjs +31 -0
- package/package.json +18 -37
- package/router/home.d.ts +2 -0
- package/router/index.d.ts +2 -0
- package/router/path.d.ts +9 -0
- package/README.md +0 -8
- package/build/index.cjs +0 -1
- package/build/index.d.ts +0 -3
- package/build/index.js +0 -480
- package/build/proxy.d.ts +0 -13
- package/build/test.d.ts +0 -0
- /package/{build/webextension/declarativeNetRequest.d.ts → api/webvpn/packets/metadata.test.d.ts} +0 -0
- /package/{build/webextension/index.d.ts → api/webvpn/packets/proptest.test.d.ts} +0 -0
- /package/{build → lib}/dom.d.ts +0 -0
- /package/{build → lib}/webvpn/index.d.ts +0 -0
- /package/{build → lib}/webvpn/utils.d.ts +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let u=require(`osra`);var d=3e4,f=50,p=e=>{let t=e[e.length-1];return typeof t==`object`&&t&&`timeout`in t&&typeof t.timeout==`number`?t.timeout:d},m=async(e,t,n,r)=>{let i=e,a=p(r),o=Date.now()+a,s=Error(`Locator timeout (${a}ms): ${n}`),{promise:c,reject:l}=Promise.withResolvers(),u=setTimeout(()=>l(s),a),d=s;try{for(;Date.now()<o;)try{return await Promise.race([i(t,n,r),c])}catch(e){if(e===s)break;d=e;let t=o-Date.now();if(t<=0)break;await new Promise(e=>setTimeout(e,Math.min(f,t)))}}finally{clearTimeout(u)}throw d},h=s({render:()=>v,resolve:()=>_,type:()=>g}),g=`locator`,_=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(t)]),v=e=>({fragment:typeof e==`string`?e:`?`,separator:`descend`}),y=e=>typeof e==`object`&&!!e,b=e=>y(e)&&e.FKN_WEB_EXTENSION_FRAME_ANNOUNCE_KEY===!0&&typeof e.frameId==`string`,x=new WeakMap,S=new WeakMap,C=new Set,ee=e=>(C.add(e),()=>C.delete(e));window.addEventListener(`message`,e=>{if(!b(e.data))return;e.stopImmediatePropagation();let t=e.source;if(!t||typeof t!=`object`)return;let n=t,r=x.get(n),i=e.data.frameId;if(x.set(n,i),r)for(let e of C)e(r);let a=S.get(n);if(a){S.delete(n);for(let e of a)e(i)}},{capture:!0});var te=e=>{let t=e.contentWindow;if(!t)return Promise.reject(Error(`frameLocator: <iframe> has no contentWindow`));let n=x.get(t);return n?Promise.resolve(n):new Promise(e=>{let n=S.get(t)??[];n.push(e),S.set(t,n)})},w=s({render:()=>ae,resolve:()=>re,resolvePeer:()=>ie,type:()=>ne}),ne=`frameLocator`,re=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(t)]).filter(e=>e instanceof HTMLIFrameElement),ie=async({parts:e,selfIndex:t,resolveLocal:n})=>{let r=n(e.slice(0,t+1))[0];if(!r)throw Error(`frameLocator: no <iframe> matched`);if(!(r instanceof HTMLIFrameElement))throw Error(`frameLocator: expected <iframe>, got <${r.tagName.toLowerCase()}>`);return te(r)},ae=e=>({fragment:typeof e==`string`?e:`?`,separator:`frame-down`}),oe=s({render:()=>ue,resolve:()=>ce,resolvePeer:()=>le,type:()=>se}),se=`owner`,ce=e=>{throw Error(`owner: must be processed by the executor as an upward pivot`)},le=async()=>{let{backgroundResolvers:e}=await Promise.resolve().then(()=>require(`./background-CJX0MYvT.cjs`)),t=await(await e).getParentFrameId();if(!t)throw Error(`owner: already at top frame`);return t},ue=()=>({fragment:``,separator:`frame-up`}),de=class extends Error{reason;filename;line;column;source;constructor(e,t,n,r,i){super(`${e}:${n}:${r}: ${t}`),this.reason=t,this.filename=e,this.line=n,this.column=r,this.source=i}},fe=class{start;end;source;constructor(e,t,n){this.start=e,this.end=t,this.source=n}},T;(function(e){e.stylesheet=`stylesheet`,e.rule=`rule`,e.declaration=`declaration`,e.comment=`comment`,e.container=`container`,e.charset=`charset`,e.document=`document`,e.customMedia=`custom-media`,e.fontFace=`font-face`,e.host=`host`,e.import=`import`,e.keyframes=`keyframes`,e.keyframe=`keyframe`,e.layer=`layer`,e.media=`media`,e.namespace=`namespace`,e.page=`page`,e.startingStyle=`starting-style`,e.supports=`supports`})(T||={});var E=(e,t,n)=>{let r=n,i=1e4;do{let n=t.map(t=>e.indexOf(t,r));n.push(e.indexOf(`\\`,r));let a=n.filter(e=>e!==-1);if(a.length===0)return-1;let o=Math.min(...a);if(e[o]!==`\\`)return o;r=o+2,i--}while(i>0);throw Error(`Too many escaping`)},D=(e,t,n)=>{let r=n,i=1e4;do{let n=t.map(t=>e.indexOf(t,r));n.push(e.indexOf(`(`,r)),n.push(e.indexOf(`"`,r)),n.push(e.indexOf(`'`,r)),n.push(e.indexOf(`\\`,r));let a=n.filter(e=>e!==-1);if(a.length===0)return-1;let o=Math.min(...a);switch(e[o]){case`\\`:r=o+2;break;case`(`:{let t=D(e,[`)`],o+1);if(t===-1)return-1;r=t+1}break;case`"`:{let t=E(e,[`"`],o+1);if(t===-1)return-1;r=t+1}break;case`'`:{let t=E(e,[`'`],o+1);if(t===-1)return-1;r=t+1}break;default:return o}i--}while(i>0);throw Error(`Too many escaping`)},O=/\/\*[^]*?(?:\*\/|$)/g;function k(e){return e?e.trim():``}function A(e,t){let n=e&&typeof e.type==`string`,r=n?e:t;for(let t in e){let n=e[t];Array.isArray(n)?n.forEach(e=>{A(e,r)}):n&&typeof n==`object`&&A(n,r)}return n&&Object.defineProperty(e,`parent`,{configurable:!0,writable:!0,enumerable:!1,value:t||null}),e}var pe=class{level=0;indentation=` `;compress=!1;constructor(e){typeof e?.indent==`string`&&(this.indentation=e?.indent),e?.compress&&(this.compress=!0)}emit(e,t){return e}indent(e){return this.level=this.level||1,e?(this.level+=e,``):Array(this.level).join(this.indentation)}visit(e){switch(e.type){case T.stylesheet:return this.stylesheet(e);case T.rule:return this.rule(e);case T.declaration:return this.declaration(e);case T.comment:return this.comment(e);case T.container:return this.container(e);case T.charset:return this.charset(e);case T.document:return this.document(e);case T.customMedia:return this.customMedia(e);case T.fontFace:return this.fontFace(e);case T.host:return this.host(e);case T.import:return this.import(e);case T.keyframes:return this.keyframes(e);case T.keyframe:return this.keyframe(e);case T.layer:return this.layer(e);case T.media:return this.media(e);case T.namespace:return this.namespace(e);case T.page:return this.page(e);case T.startingStyle:return this.startingStyle(e);case T.supports:return this.supports(e)}}mapVisit(e,t){let n=``;t||=``;for(let r=0,i=e.length;r<i;r++)n+=this.visit(e[r]),t&&r<i-1&&(n+=this.emit(t));return n}compile(e){return this.compress?e.stylesheet.rules.map(this.visit,this).join(``):this.stylesheet(e)}stylesheet(e){return this.mapVisit(e.stylesheet.rules,`
|
|
2
|
+
|
|
3
|
+
`)}comment(e){return this.compress?this.emit(``,e.position):this.emit(`${this.indent()}/*${e.comment}*/`,e.position)}container(e){return this.compress?this.emit(`@container ${e.container}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@container ${e.container}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
4
|
+
|
|
5
|
+
`)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}layer(e){return this.compress?this.emit(`@layer ${e.layer}`,e.position)+(e.rules?this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):`;`):this.emit(`${this.indent()}@layer ${e.layer}`,e.position)+(e.rules?this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
6
|
+
|
|
7
|
+
`)+this.emit(`\n${this.indent(-1)}${this.indent()}}`):`;`)}import(e){return this.emit(`@import ${e.import};`,e.position)}media(e){return this.compress?this.emit(`@media ${e.media}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@media ${e.media}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
8
|
+
|
|
9
|
+
`)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}document(e){let t=`@${e.vendor||``}document ${e.document}`;return this.compress?this.emit(t,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(t,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
10
|
+
|
|
11
|
+
`)+this.emit(`${this.indent(-1)}\n}`)}charset(e){return this.emit(`@charset ${e.charset};`,e.position)}namespace(e){return this.emit(`@namespace ${e.namespace};`,e.position)}startingStyle(e){return this.compress?this.emit(`@starting-style`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@starting-style`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
12
|
+
|
|
13
|
+
`)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}supports(e){return this.compress?this.emit(`@supports ${e.supports}`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`${this.indent()}@supports ${e.supports}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
14
|
+
|
|
15
|
+
`)+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}keyframes(e){return this.compress?this.emit(`@${e.vendor||``}keyframes ${e.name}`,e.position)+this.emit(`{`)+this.mapVisit(e.keyframes)+this.emit(`}`):this.emit(`@${e.vendor||``}keyframes ${e.name}`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.keyframes,`
|
|
16
|
+
`)+this.emit(`${this.indent(-1)}}`)}keyframe(e){let t=e.declarations;return this.compress?this.emit(e.values.join(`,`),e.position)+this.emit(`{`)+this.mapVisit(t)+this.emit(`}`):this.emit(this.indent())+this.emit(e.values.join(`, `),e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t,`
|
|
17
|
+
`)+this.emit(`${this.indent(-1)}\n${this.indent()}}\n`)}page(e){if(this.compress){let t=e.selectors.length?e.selectors.join(`, `):``;return this.emit(`@page ${t}`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`)}let t=e.selectors.length?`${e.selectors.join(`, `)} `:``;return this.emit(`@page ${t}`,e.position)+this.emit(`{
|
|
18
|
+
`)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
|
|
19
|
+
`)+this.emit(this.indent(-1))+this.emit(`
|
|
20
|
+
}`)}fontFace(e){return this.compress?this.emit(`@font-face`,e.position)+this.emit(`{`)+this.mapVisit(e.declarations)+this.emit(`}`):this.emit(`@font-face `,e.position)+this.emit(`{
|
|
21
|
+
`)+this.emit(this.indent(1))+this.mapVisit(e.declarations,`
|
|
22
|
+
`)+this.emit(this.indent(-1))+this.emit(`
|
|
23
|
+
}`)}host(e){return this.compress?this.emit(`@host`,e.position)+this.emit(`{`)+this.mapVisit(e.rules)+this.emit(`}`):this.emit(`@host`,e.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(e.rules,`
|
|
24
|
+
|
|
25
|
+
`)+this.emit(`${this.indent(-1)}\n}`)}customMedia(e){return this.emit(`@custom-media ${e.name} ${e.media};`,e.position)}rule(e){let t=e.declarations;if(!t.length)return``;if(this.compress)return this.emit(e.selectors.join(`,`),e.position)+this.emit(`{`)+this.mapVisit(t)+this.emit(`}`);let n=this.indent();return this.emit(e.selectors.map(e=>n+e).join(`,
|
|
26
|
+
`),e.position)+this.emit(` {
|
|
27
|
+
`)+this.emit(this.indent(1))+this.mapVisit(t,`
|
|
28
|
+
`)+this.emit(this.indent(-1))+this.emit(`\n${this.indent()}}`)}declaration(e){return this.compress?this.emit(`${e.property}:${e.value}`,e.position)+this.emit(`;`):e.property===`grid-template-areas`?this.emit(this.indent())+this.emit(e.property+`: `+e.value.split(`
|
|
29
|
+
`).join(`
|
|
30
|
+
`.padEnd(22)+this.indent()),e.position)+this.emit(`;`):this.emit(this.indent())+this.emit(`${e.property}: ${e.value}`,e.position)+this.emit(`;`)}},me=(e,t)=>{t||={};let n=1,r=1;function i(){let e={line:n,column:r};return i=>(i.position=new fe(e,{line:n,column:r},t?.source||``),d(),i)}let a=[];function o(i){let o=new de(t?.source||``,i,n,r,e);if(!t?.silent)throw o;a.push(o)}function s(){let t=/^{\s*/.exec(e);return!!t&&(u(t),!0)}function c(){let t=/^}/.exec(e);return!!t&&(u(t),!0)}function l(){let t,n=[];for(d(),f(n);e.length&&e.charAt(0)!==`}`&&(t=S()||C(),t);)n.push(t),f(n);return n}function u(t){let i=t[0];return function(e){let t=e.match(/\n/g);t&&(n+=t.length);let i=e.lastIndexOf(`
|
|
31
|
+
`);r=~i?e.length-i:r+e.length}(i),e=e.slice(i.length),t}function d(){let t=/^\s*/.exec(e);t&&u(t)}function f(e){e||=[];let t=p();for(;t;)e.push(t),t=p();return e}function p(){let t=i();if(e.charAt(0)!==`/`||e.charAt(1)!==`*`)return;let n=/^\/\*[^]*?\*\//.exec(e);return n?(u(n),t({type:T.comment,comment:n[0].slice(2,-2)})):o(`End of comment missing`)}function m(){let t=/^([^{]+)/.exec(e);if(t)return u(t),((e,t)=>{let n=[],r=0;for(;r<e.length;){let i=D(e,t,r);if(i===-1)return n.push(e.substring(r)),n;n.push(e.substring(r,i)),r=i+1}return n})(k(t[0]).replace(O,``),[`,`]).map(e=>k(e))}function h(){let t=i(),n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/.exec(e);if(!n)return;u(n);let r=k(n[0]),a=/^:\s*/.exec(e);if(!a)return o(`property missing ':'`);u(a);let s=``,c=D(e,[`;`,`}`]);c!==-1&&(s=e.substring(0,c),u([s]),s=k(s).replace(O,``));let l=t({type:T.declaration,property:r.replace(O,``),value:s}),d=/^[;\s]*/.exec(e);return d&&u(d),l}function g(){let e=[];if(!s())return o(`missing '{'`);f(e);let t=h();for(;t;)e.push(t),f(e),t=h();return c()?e:o(`missing '}'`)}function _(){let t=[],n=i(),r=/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(e);for(;r;){let n=u(r);t.push(n[1]);let i=/^,\s*/.exec(e);i&&u(i),r=/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/.exec(e)}if(t.length)return n({type:T.keyframe,values:t,declarations:g()||[]})}let v=x(`import`),y=x(`charset`),b=x(`namespace`);function x(t){let n=RegExp(`^@`+t+`\\s*((?::?[^;'"]|"(?:\\\\"|[^"])*?"|'(?:\\\\'|[^'])*?')+)(?:;|$)`);return()=>{let r=i(),a=n.exec(e);if(!a)return;let o=u(a),s={type:t};return s[t]=o[1].trim(),r(s)}}function S(){if(e[0]===`@`)return function(){let t=i(),n=/^@([-\w]+)?keyframes\s*/.exec(e);if(!n)return;let r=u(n)[1],a=/^([-\w]+)\s*/.exec(e);if(!a)return o(`@keyframes missing name`);let l=u(a)[1];if(!s())return o(`@keyframes missing '{'`);let d=f(),p=_();for(;p;)d.push(p),d=d.concat(f()),p=_();return c()?t({type:T.keyframes,name:l,vendor:r,keyframes:d}):o(`@keyframes missing '}'`)}()||function(){let t=i(),n=/^@media *([^{]+)/.exec(e);if(!n)return;let r=k(u(n)[1]);if(!s())return o(`@media missing '{'`);let a=f().concat(l());return c()?t({type:T.media,media:r,rules:a}):o(`@media missing '}'`)}()||function(){let t=i(),n=/^@custom-media\s+(--\S+)\s+([^{;\s][^{;]*);/.exec(e);if(!n)return;let r=u(n);return t({type:T.customMedia,name:k(r[1]),media:k(r[2])})}()||function(){let t=i(),n=/^@supports *([^{]+)/.exec(e);if(!n)return;let r=k(u(n)[1]);if(!s())return o(`@supports missing '{'`);let a=f().concat(l());return c()?t({type:T.supports,supports:r,rules:a}):o(`@supports missing '}'`)}()||v()||y()||b()||function(){let t=i(),n=/^@([-\w]+)?document *([^{]+)/.exec(e);if(!n)return;let r=u(n),a=k(r[1]),d=k(r[2]);if(!s())return o(`@document missing '{'`);let p=f().concat(l());return c()?t({type:T.document,document:d,vendor:a,rules:p}):o(`@document missing '}'`)}()||function(){let t=i(),n=/^@page */.exec(e);if(!n)return;u(n);let r=m()||[];if(!s())return o(`@page missing '{'`);let a=f(),l=h();for(;l;)a.push(l),a=a.concat(f()),l=h();return c()?t({type:T.page,selectors:r,declarations:a}):o(`@page missing '}'`)}()||function(){let t=i(),n=/^@host\s*/.exec(e);if(!n)return;if(u(n),!s())return o(`@host missing '{'`);let r=f().concat(l());return c()?t({type:T.host,rules:r}):o(`@host missing '}'`)}()||function(){let t=i(),n=/^@font-face\s*/.exec(e);if(!n)return;if(u(n),!s())return o(`@font-face missing '{'`);let r=f(),a=h();for(;a;)r.push(a),r=r.concat(f()),a=h();return c()?t({type:T.fontFace,declarations:r}):o(`@font-face missing '}'`)}()||function(){let t=i(),n=/^@container *([^{]+)/.exec(e);if(!n)return;let r=k(u(n)[1]);if(!s())return o(`@container missing '{'`);let a=f().concat(l());return c()?t({type:T.container,container:r,rules:a}):o(`@container missing '}'`)}()||function(){let t=i(),n=/^@starting-style\s*/.exec(e);if(!n)return;if(u(n),!s())return o(`@starting-style missing '{'`);let r=f().concat(l());return c()?t({type:T.startingStyle,rules:r}):o(`@starting-style missing '}'`)}()||function(){let t=i(),n=/^@layer *([^{;@]+)/.exec(e);if(!n)return;let r=k(u(n)[1]);if(!s()){let n=/^[;\s]*/.exec(e);return n&&u(n),t({type:T.layer,layer:r})}let a=f().concat(l());return c()?t({type:T.layer,layer:r,rules:a}):o(`@layer missing '}'`)}()}function C(){let e=i(),t=m();return t?(f(),e({type:T.rule,selectors:t,declarations:g()||[]})):o(`selector missing`)}return A(function(){let e=l();return{type:T.stylesheet,stylesheet:{source:t?.source,rules:e,parsingErrors:a}}}())},he=(e,t)=>new pe(t||{}).compile(e),ge=s({resolve:()=>Se,type:()=>_e}),_e=`addStyleTag`,ve=/(?:^|[^\w-])(?:url|image|image-set|cross-fade|paint|element|expression)\s*\(/i,ye=e=>e.replace(/\\([0-9a-fA-F]{1,6})\s?/g,(e,t)=>String.fromCodePoint(Number.parseInt(t,16))).replace(/\\(.)/g,`$1`),j=e=>!ve.test(ye(e.value)),M=e=>{let t=[];for(let n of e)switch(n.type){case T.import:case T.fontFace:case T.namespace:case T.charset:case T.document:case T.comment:continue;case T.rule:case T.page:t.push({...n,declarations:n.declarations.filter(e=>e.type!==T.declaration||j(e))});continue;case T.media:case T.supports:case T.container:case T.host:case T.startingStyle:t.push({...n,rules:M(n.rules)});continue;case T.layer:t.push({...n,rules:n.rules?M(n.rules):void 0});continue;case T.keyframes:t.push({...n,keyframes:n.keyframes.map(e=>e.type===T.keyframe?{...e,declarations:e.declarations.filter(e=>e.type!==T.declaration||j(e))}:e)});continue;default:continue}return t},be=e=>{let t;try{t=me(e,{silent:!0})}catch{return``}return t.stylesheet.rules=M(t.stylesheet.rules),he(t)},xe=e=>{let t=()=>{e.parentNode||(document.head??document.documentElement).appendChild(e)};t();let n=new MutationObserver(n=>{for(let r of n)for(let n of r.removedNodes)if(n===e||n.contains?.(e)){t();return}});n.observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(`load`,()=>n.disconnect(),{once:!0})},Se=async(e,t)=>{let n=document.createElement(`style`);n.textContent=t.noSanitize?t.content:be(t.content);try{xe(n)}catch(e){console.error(e)}},N=`frameLocator`,P=[{...h,nextLocatorType:`locator`},w,oe],F=[ge],Ce={type:N,selectorModules:P,operationModules:F},I=L({ownType:N,selectorModules:P,operationModules:F});function L(e){return(t,n=[])=>({...Object.fromEntries(e.selectorModules.map(r=>[r.type,(...i)=>{let a=[...n,{locatorType:e.ownType,type:r.type,args:i}];return(r.nextLocatorType??e.ownType)===`locator`?Mt(t,a):I(t,a)}])),...Object.fromEntries(e.operationModules.map(({type:e})=>[e,(...r)=>m(t,n,e,r)]))})}var we=s({render:()=>De,resolve:()=>Ee,type:()=>Te}),Te=`getByRole`,Ee=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(`[role="${CSS.escape(t)}"]`)]),De=e=>({fragment:typeof e==`string`?`[role="${e.replaceAll(`"`,`\\"`)}"]`:`[role]`}),Oe=s({render:()=>je,resolve:()=>Ae,type:()=>ke}),ke=`getByText`,Ae=(e,t)=>e.elements.flatMap(e=>[e,...e.querySelectorAll(`*`)]).filter(e=>e.textContent?.includes(t)),je=e=>({fragment:typeof e==`string`?`:has-text("${e.replaceAll(`"`,`\\"`)}")`:`:has-text(...)`}),Me=s({render:()=>Fe,resolve:()=>Pe,type:()=>Ne}),Ne=`getByTestId`,Pe=(e,t)=>e.elements.flatMap(e=>[...e.querySelectorAll(`[data-testid="${CSS.escape(t)}"]`)]),Fe=e=>({fragment:typeof e==`string`?`[data-testid="${e.replaceAll(`"`,`\\"`)}"]`:`[data-testid]`}),Ie=s({render:()=>ze,resolve:()=>Re,type:()=>Le}),Le=`first`,Re=e=>e.elements.slice(0,1),ze=()=>({fragment:`:first`}),Be=s({render:()=>He,resolve:()=>Ve,type:()=>`nth`}),Ve=(e,t)=>{let n=e.elements.at(t);return n?[n]:[]},He=e=>({fragment:typeof e==`number`?`:nth(${e})`:`:nth(?)`}),R=e=>{let t=Error(e);return t.name=`LocatorError`,t},z=e=>{if(e.length===0)throw R(`No elements found`);if(e.length>1)throw R(`Strict mode violation: locator resolved to ${e.length} elements`);return e[0]},Ue=s({resolve:()=>Ge,type:()=>We}),We=`click`,Ge=(e,t={})=>{let n=z(e.elements),r=n.getBoundingClientRect(),i=t.position?.x??.5,a=t.position?.y??.5,o={bubbles:!0,cancelable:!0,composed:!0,clientX:r.left+r.width*i,clientY:r.top+r.height*a,button:0},s={...o,buttons:1,pointerType:`mouse`,pointerId:1,isPrimary:!0},c={...o,buttons:1},l={...o,buttons:0};n.dispatchEvent(new PointerEvent(`pointerdown`,s)),n.dispatchEvent(new MouseEvent(`mousedown`,c)),n.dispatchEvent(new PointerEvent(`pointerup`,{...s,buttons:0})),n.dispatchEvent(new MouseEvent(`mouseup`,l)),n.dispatchEvent(new MouseEvent(`click`,l))},Ke=s({resolve:()=>Ye,type:()=>qe}),qe=`fill`,B=(e,t)=>{e._valueTracker?.setValue(``);let n=e instanceof HTMLTextAreaElement?HTMLTextAreaElement.prototype:HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`)?.set;r?r.call(e,t):e.value=t},Je=(e,t)=>{if(e.type!==`range`)return null;let n=Number(e.min||0),r=Number(e.max||100);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=Number(t);if(!Number.isFinite(i))return null;let a=Math.max(0,Math.min(1,(i-n)/(r-n))),o=e.getBoundingClientRect(),s={bubbles:!0,cancelable:!0,composed:!0,clientX:o.left+o.width*a,clientY:o.top+o.height/2,button:0};return{pointerDown:{...s,buttons:1,pointerType:`mouse`,pointerId:1,isPrimary:!0},pointerUp:{...s,buttons:0,pointerType:`mouse`,pointerId:1,isPrimary:!0},mouseDown:{...s,buttons:1},mouseUp:{...s,buttons:0}}},Ye=(e,t,n={})=>{let r=z(e.elements);if(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement){let e=r instanceof HTMLInputElement?Je(r,t):null;if(e){r.dispatchEvent(new PointerEvent(`pointerdown`,e.pointerDown)),r.dispatchEvent(new MouseEvent(`mousedown`,e.mouseDown)),B(r,t),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new PointerEvent(`pointerup`,e.pointerUp)),r.dispatchEvent(new MouseEvent(`mouseup`,e.mouseUp)),r.dispatchEvent(new Event(`change`,{bubbles:!0}));return}B(r,t),r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.dispatchEvent(new Event(`change`,{bubbles:!0}));return}if(r instanceof HTMLElement&&r.isContentEditable){r.textContent=t,r.dispatchEvent(new Event(`input`,{bubbles:!0}));return}throw Error(`fill: element <${r.tagName.toLowerCase()}> is not fillable`)},Xe=s({resolve:()=>Qe,type:()=>Ze}),Ze=`hover`,Qe=(e,t={})=>{let n=z(e.elements);n.dispatchEvent(new MouseEvent(`mouseenter`,{bubbles:!1,cancelable:!0})),n.dispatchEvent(new MouseEvent(`mouseover`,{bubbles:!0,cancelable:!0})),n.dispatchEvent(new MouseEvent(`mousemove`,{bubbles:!0,cancelable:!0}))},$e=s({resolve:()=>tt,type:()=>et}),et=`textContent`,tt=(e,t={})=>z(e.elements).textContent,nt=s({resolve:()=>it,type:()=>rt}),rt=`isVisible`,it=(e,t={})=>{let n=z(e.elements);if(!(n instanceof HTMLElement))return!0;let r=n.ownerDocument.defaultView?.getComputedStyle(n);if(r?.display===`none`||r?.visibility===`hidden`)return!1;let i=n.getBoundingClientRect();return i.width>0&&i.height>0},at=s({resolve:()=>st,type:()=>ot}),ot=`count`,st=(e,t={})=>e.elements.length,ct=s({resolve:()=>ut,type:()=>lt}),lt=`exists`,ut=(e,t={})=>e.elements.length>0,dt=s({resolve:()=>pt,type:()=>ft}),ft=`getAttribute`,pt=(e,t,n={})=>z(e.elements).getAttribute(t),mt=(e,t)=>{let n=new EventTarget,r=new Map,i=EventTarget.prototype.addEventListener.bind(n),a=EventTarget.prototype.removeEventListener.bind(n);return Object.defineProperty(n,`addEventListener`,{configurable:!0,value:(a,o,s)=>{if(o!==null){if(!r.has(a)){let i=r=>{n.dispatchEvent(new CustomEvent(a,{detail:t(r,e),bubbles:r.bubbles,cancelable:r.cancelable,composed:r.composed}))};e.addEventListener(a,i),r.set(a,i)}i(a,o,s)}}}),Object.defineProperty(n,`removeEventListener`,{configurable:!0,value:(t,n,i)=>{if(n===null)return;a(t,n,i);let o=r.get(t);o&&(e.removeEventListener(t,o),r.delete(t))}}),n},V=e=>typeof e==`boolean`?e?1:0:e?.capture?1:0,ht=e=>{let t=new WeakMap;return{addEventListener:(n,r,i)=>{if(r===null)return;let a=`${n}|${V(i)}`,o=t.get(r);if(o||(o=new Map,t.set(r,o)),o.has(a))return;let s=typeof i==`object`&&!!i&&!!i.once,c=t=>{s&&o.delete(a);let i=e.unenrich(t,n);typeof r==`function`?r.call(e.target,i):r.handleEvent(i)};o.set(a,c),e.remoteEvents.addEventListener(n,c,i)},removeEventListener:(n,r,i)=>{if(r===null)return;let a=`${n}|${V(i)}`,o=t.get(r),s=o?.get(a);s&&(e.remoteEvents.removeEventListener(n,s,i),o.delete(a))},dispatchEvent:t=>e.remoteEvents.dispatchEvent(t)}},gt=s({box:()=>wt,createVideoElementHandle:()=>Z,isType:()=>Ct,revive:()=>Tt,type:()=>H}),H=`videoElement`,U=[`currentTime`,`volume`,`muted`,`playbackRate`,`src`,`loop`,`autoplay`,`preload`,`poster`,`disableRemotePlayback`],W=[`duration`,`paused`,`ended`,`seeking`,`readyState`,`currentSrc`],G=[`buffered`,`seekable`],K=Symbol.for(`fkn.remoteVideoElement`),q=Symbol.for(`fkn.remoteVideoElement.state`),J=Symbol.for(`fkn.remoteVideoElement.controller`),_t=e=>e?Array.from({length:e.length},(t,n)=>[e.start(n),e.end(n)]):[],Y=e=>{let t={};for(let n of[...U,...W])t[n]=e[n];for(let n of G)t[n]=_t(e[n]);return t.error=e.error?{code:e.error.code,message:e.error.message}:null,t},vt=e=>{let t=t=>{if(!Number.isInteger(t)||t<0||t>=e.length)throw new DOMException(`Index or size is negative or greater than the allowed amount`,`IndexSizeError`)};return{get length(){return e.length},start(n){return t(n),e[n][0]},end(n){return t(n),e[n][1]}}},yt=e=>e?{code:e.code,message:e.message,MEDIA_ERR_ABORTED:1,MEDIA_ERR_NETWORK:2,MEDIA_ERR_DECODE:3,MEDIA_ERR_SRC_NOT_SUPPORTED:4}:null,bt=e=>mt(e,(e,t)=>({originalDetail:e instanceof CustomEvent?e.detail:null,snapshot:Y(t)})),xt=async(e,t)=>{switch(t){case`play`:return await e.play(),null;case`pause`:return e.pause(),null;case`load`:return e.load(),null;case`requestPictureInPicture`:if(typeof e.requestPictureInPicture!=`function`)throw Error(`requestPictureInPicture is not supported in this environment`);return await e.requestPictureInPicture(),null;case`exitPictureInPicture`:{let t=e.ownerDocument;if(typeof t?.exitPictureInPicture!=`function`)throw Error(`exitPictureInPicture is not supported in this environment`);return await t.exitPictureInPicture(),null}default:throw Error(`videoElement: unknown method "${t}"`)}},St=e=>({call:async t=>xt(e,t),set:async(t,n)=>{try{e[t]=n}catch{}return Y(e)},events:bt(e)}),X=(e,t)=>{let n=new EventTarget;Object.defineProperty(n,K,{value:!0}),Object.defineProperty(n,q,{value:e}),Object.defineProperty(n,J,{value:t});let r=ht({target:n,remoteEvents:t.events,unenrich:(t,n)=>{if(!(t instanceof CustomEvent))return t;let r=t.detail;if(!r||!(`snapshot`in r))return t;Object.assign(e,r.snapshot);let i={bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed};return r.originalDetail===null?new Event(n,i):new CustomEvent(n,{...i,detail:r.originalDetail})}}),i={addEventListener:{configurable:!0,value:r.addEventListener},removeEventListener:{configurable:!0,value:r.removeEventListener},dispatchEvent:{configurable:!0,value:r.dispatchEvent},error:{configurable:!0,enumerable:!0,get(){return yt(e.error)}},play:{configurable:!0,value:()=>t.call(`play`,[])},pause:{configurable:!0,value:()=>{t.call(`pause`,[]).catch(()=>{})}},load:{configurable:!0,value:()=>{t.call(`load`,[]).catch(()=>{})}},requestPictureInPicture:{configurable:!0,value:()=>t.call(`requestPictureInPicture`,[])},exitPictureInPicture:{configurable:!0,value:()=>t.call(`exitPictureInPicture`,[])},HAVE_FUTURE_DATA:{enumerable:!0,value:3},HAVE_ENOUGH_DATA:{enumerable:!0,value:4}};for(let n of U)i[n]={configurable:!0,enumerable:!0,get(){return e[n]},set(r){e[n]=r,t.set(n,r).then(t=>{Object.assign(e,t)},()=>{})}};for(let t of W)i[t]={configurable:!0,enumerable:!0,get(){return e[t]}};for(let t of G)i[t]={configurable:!0,enumerable:!0,get(){return vt(e[t])}};return Object.defineProperties(n,i),n},Z=e=>X(Y(e),St(e)),Ct=e=>typeof e==`object`&&!!e&&e[K]===!0,wt=(e,t)=>{let n=e;return{...u.BoxBase,type:H,initialState:n[q],controller:(0,u.recursiveBox)(n[J],t)}},Tt=(e,t)=>{let n=(0,u.recursiveRevive)(e.controller,t);return X({...e.initialState},n)},Et=e=>[gt,...e],Dt=s({resolve:()=>kt,type:()=>Ot}),Ot=`videoElement`,kt=(e,t={})=>{let n=z(e.elements);if(!(n instanceof HTMLVideoElement))throw Error(`videoElement: expected <video>, got <${n.tagName.toLowerCase()}>`);return Z(n)},Q=`locator`,At=[h,{...w,nextLocatorType:`frameLocator`},we,Oe,Me,Ie,Be],$=[Ue,Ke,Xe,$e,nt,at,ct,dt,Dt],jt={type:Q,selectorModules:At,operationModules:$},Mt=L({ownType:Q,selectorModules:At,operationModules:$});Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Ce}});
|
package/package.json
CHANGED
|
@@ -1,37 +1,18 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fkn/lib",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"main": "
|
|
5
|
-
"types": "
|
|
6
|
-
"type": "module",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"vite": "^3.2.5",
|
|
20
|
-
"vite-plugin-dts": "^4.2.3",
|
|
21
|
-
"webextension-polyfill": "^0.10.0"
|
|
22
|
-
},
|
|
23
|
-
"scripts": {
|
|
24
|
-
"dev": "concurrently \"vite build --watch --mode development\" \"tsc --watch\"",
|
|
25
|
-
"build": "vite build",
|
|
26
|
-
"build-watch": "vite build --watch --mode production",
|
|
27
|
-
"build-dev": "vite build --mode development",
|
|
28
|
-
"dev-watch": "vite build --watch --mode development",
|
|
29
|
-
"build-types": "tsc",
|
|
30
|
-
"dev-web": "vite --port 4560 --host 0.0.0.0"
|
|
31
|
-
},
|
|
32
|
-
"dependencies": {
|
|
33
|
-
"events": "^3.3.0",
|
|
34
|
-
"ip-address": "^10.0.1",
|
|
35
|
-
"osra": "^0.1.2"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@fkn/lib",
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"types": "index.d.ts",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"buffer": "^6.0.3",
|
|
9
|
+
"dns-packet": "^5.6.1",
|
|
10
|
+
"events": "^3.3.0",
|
|
11
|
+
"ip-address": "^10.1.0",
|
|
12
|
+
"osra": "^0.4.0",
|
|
13
|
+
"stream": "^0.0.3"
|
|
14
|
+
},
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"webextension-polyfill": "^0.12.0"
|
|
17
|
+
}
|
|
18
|
+
}
|
package/router/home.d.ts
ADDED
package/router/path.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare enum Route {
|
|
2
|
+
HOME = "HOME"
|
|
3
|
+
}
|
|
4
|
+
declare const ROUTES: {
|
|
5
|
+
HOME: () => "/";
|
|
6
|
+
};
|
|
7
|
+
export declare const getRouterRoutePath: (route: Route) => "/";
|
|
8
|
+
export declare const getRoutePath: <T extends Route>(route: T, args: Parameters<(typeof ROUTES)[T]>) => ReturnType<(typeof ROUTES)[T]>;
|
|
9
|
+
export {};
|
package/README.md
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# FKN web library
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## TODOs:
|
|
6
|
-
- make docs using vitepress
|
|
7
|
-
- Allow multiple origins to access the same data by having a public/private key pair sign the origin it's served from
|
|
8
|
-
e.g, anime.fkn.app hashes gives access to the same public key verif that fc7zsi85kboht4mj5.npm.fkn.sdbx.app has
|
package/build/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const V=require("osra"),v=require("stream"),_=require("events"),p=require("ip-address"),w="https://fkn.app",l=globalThis?.document.querySelector(`iframe[src="${w}/api"]`),c=globalThis.document?.createElement("iframe");!l&&c&&(c.src=`${w}/api`,c.style.display="none",document.body.appendChild(c));const P=l||c,g=P.contentWindow;if(!P.contentWindow)throw new Error("Missing iframe content window");const z=()=>new Promise((r,e)=>{V.expose({},{key:"fkn-api",local:window,remote:g}).then(r).catch(e),setTimeout(()=>{e(new Error("Timeout waiting for api to be exposed"))},50)}),S=()=>z().then(r=>r).catch(r=>{if(r.message==="Timeout waiting for api to be exposed")return S();throw r}),a=S(),C=async(r,e)=>{const t=r,o=e,{body:s,...n}=await(await a).SERVER_PROXY_FETCH({input:t,init:o});return new Response(s,{...n,headers:{...n.headers,...n.headers&&{setCookie:n.headers["set-cookie"]}}})},M=new TextEncoder;new TextDecoder;const h=r=>p.Address4.isValid(r),m=r=>p.Address6.isValid(r),b=r=>h(r)?4:m(r)?6:0,y=(...r)=>{if(typeof r[0]=="string")throw new Error("FKN WebVPN does not support IPC connections");const e=typeof r.at(-1)=="function"?r.at(-1):void 0;return r[0]&&typeof r[0]=="object"?{...r[0],callback:e}:{port:r[0]??0,host:typeof r[1]=="string"?r[1]:"localhost",callback:e}},I=(...r)=>{const e=typeof r.at(-1)=="function"?r.at(-1):void 0,t=r[0]??0,o=typeof r[1]=="string"?r[1]:"localhost";return typeof r[0]=="object"?{...r[0],address:r[0].address??o,port:r[0].port??t,callback:e}:{address:o,port:t,callback:e}},R=(...r)=>{const e=typeof r.at(-1)=="function"?r.at(-1):void 0,t=r[0];if(typeof r[2]=="number"){const o=r[1],s=r[2],n=typeof r[3]=="number"?r[3]:0,i=typeof r[4]=="string"?r[4]:"localhost";return{message:t,offset:o,length:s,port:n,address:i,callback:e}}else{const o=typeof r[1]=="number"?r[1]:0,s=typeof r[2]=="string"?r[2]:"localhost";return{message:t,offset:0,length:t.length,port:o,address:s,callback:e}}};class d extends v.Stream.Duplex{_localAddress;_remoteAddress;_webVPNTcpSocketPromise;constructor(e){if(e?.fd!==void 0)throw new Error("FKN WebVPN does not support file descriptors");super(e),e?.connection&&this.__webvpn_tcp_socket_init__(e.connection)}__webvpn_tcp_socket_init__(e){if(this._webVPNTcpSocketPromise=e.then(t=>{const o=t.dataReadableStream.getReader(),s=t.dataWritableStream.getWriter();return this._localAddress={address:t.localAddress,family:t.localFamily,port:t.localPort},this._remoteAddress={address:t.remoteAddress,family:t.remoteFamily,port:t.remotePort},{...t,reader:o,writer:s}}).catch(t=>{this.emit("error",t)}),!this._webVPNTcpSocketPromise)throw new Error("Socket not connected");return this._webVPNTcpSocketPromise.then(t=>{!t||this.emit("connect")}),this._webVPNTcpSocketPromise}_read(e){if(!this._webVPNTcpSocketPromise)throw new Error("Socket not connected");this._webVPNTcpSocketPromise.then(t=>{if(!t)throw new Error("Socket not connected");t.reader.read().then(({value:o,done:s})=>{if(s){this.push(null);return}this.push(o)}).catch(o=>{this.emit("error",o),this.destroy(o)})})}_write(e,t,o){if(!this._webVPNTcpSocketPromise)throw new Error("Socket not connected");this._webVPNTcpSocketPromise.then(s=>{if(!s)throw new Error("Socket not connected");s.writer.write(e),o&&o()})}connect(...e){const t=y(...e),o=this.__webvpn_tcp_socket_init__(a.then(s=>s.WEBVPN_TCP_SOCKET({remoteAddress:t.host,remotePort:t.port})));return t.callback&&o.then(s=>{!s||t.callback()}),this}_end(...e){return this._webVPNTcpSocketPromise?(e.length!==0&&this.write(e[0],e[1],e[2]),this._webVPNTcpSocketPromise.then(async t=>{!t||await t.end()}),this):this}_destroy(e){return this._webVPNTcpSocketPromise?(this._webVPNTcpSocketPromise.then(async t=>{!t||await t.destroy()}),this):this}destroySoon(){!this._webVPNTcpSocketPromise||this._webVPNTcpSocketPromise.then(async e=>{!e||await e.destroySoon()})}resetAndDestroy(){return this._webVPNTcpSocketPromise?(this._webVPNTcpSocketPromise.then(async e=>{!e||await e.resetAndDestroy()}),this):this}setTimeout(e,t){return this}setNoDelay(e){return this}setKeepAlive(e,t){return this}write(e,t,...o){return super.write(e,t,...o)}address(){return this._localAddress??{}}unref(){return this}ref(){return this}autoSelectFamilyAttemptedAddresses;bufferSize;bytesRead;bytesWritten;connecting;pending;get localAddress(){if(!this._localAddress)throw new Error("Socket is not connected");return this._localAddress.address}get localPort(){if(!this._localAddress)throw new Error("Socket is not connected");return this._localAddress.port}get localFamily(){if(!this._localAddress)throw new Error("Socket is not connected");return this._localAddress.family}readyState;get remoteAddress(){if(!this._remoteAddress)throw new Error("Socket is not connected");return this._remoteAddress.address}get remotePort(){if(!this._remoteAddress)throw new Error("Socket is not connected");return this._remoteAddress.port}get remoteFamily(){if(!this._remoteAddress)throw new Error("Socket is not connected");return this._remoteAddress.family}timeout}class u extends _.EventEmitter{_localAddress;_webVPNTcpSocketListenerPromise;constructor(e,t){super(e),t&&this.on("connection",t),e?.connection&&this.__webvpn_tcp_socket_listener_init__(e.connection)}__webvpn_tcp_socket_listener_init__(e){return this._webVPNTcpSocketListenerPromise=e.then(t=>(this._localAddress={address:t.localAddress,family:t.localFamily,port:t.localPort},t)).catch(t=>{this.emit("error",t)}),this._webVPNTcpSocketListenerPromise.then(t=>{!t||this.emit("listening")}),this._webVPNTcpSocketListenerPromise}listen(...e){const t=y(...e),o=this.__webvpn_tcp_socket_listener_init__(a.then(s=>s.WEBVPN_TCP_SOCKET_LISTENER({localAddress:t.host,localPort:t.port,onConnection:n=>{const i=new d({connection:Promise.resolve(n)});this.emit("connection",i)}})));return t.callback&&o.then(s=>{!s||t.callback()}),this}close(e){return this._webVPNTcpSocketListenerPromise?(this._webVPNTcpSocketListenerPromise.then(t=>{!t||(t.close(),this.emit("close"),this._localAddress=void 0,e&&e())}),this):this}address(){return this._localAddress??null}getConnections(e){throw new Error("Method not implemented.")}ref(){throw new Error("Method not implemented.")}unref(){throw new Error("Method not implemented.")}maxConnections;connections;listening;async[Symbol.asyncDispose](){}}const k=(r,e)=>new d().connect(r,e),A=(r,e)=>new d().connect(r,e),E=(r,e)=>{const t=new u(r);return e&&t.on("connection",e),t},f={Socket:d,Server:u,connect:k,createConnection:A,createServer:E,isIP:b,isIPv4:h,isIPv6:m},D=Object.freeze(Object.defineProperty({__proto__:null,Socket:d,Server:u,connect:k,createConnection:A,createServer:E,isIP:b,isIPv4:h,isIPv6:m,_default:f,default:f},Symbol.toStringTag,{value:"Module"}));class N extends _.EventEmitter{_type;_localAddress;_remoteAddress;_webVPNUdpSocketPromise;constructor(e){if(super(e),!e)throw new Error("Missing options");this._type=e.type}addMembership(e,t){}address(){if(!this._localAddress)throw new Error("EBADF");return this._localAddress}bind(...e){const t=I(...e);return this._webVPNUdpSocketPromise=a.then(o=>o.WEBVPN_UDP_SOCKET({type:this._type,address:t.address,port:t.port})).then(o=>{const s=o.dataReadableStream.getReader(),n=async()=>{const{value:i,done:T}=await s.read();T||(this.emit("message",{data:i.data,rinfo:{address:i.address,family:i.family,port:i.port,size:i.size}}),n())};return n(),this._localAddress={address:o.localAddress,family:o.localFamily,port:o.localPort},o}).catch(o=>{this.emit("error",o)}),this._webVPNUdpSocketPromise.then(o=>{!o||this.emit("listening")}),t.callback&&this._webVPNUdpSocketPromise.then(o=>{!o||t.callback()}),this}close(e){if(!this._webVPNUdpSocketPromise)throw new Error("Socket not bound");return this._webVPNUdpSocketPromise.then(async t=>{if(!t)throw new Error("Socket not bound");await t.close(),e&&e(),this.emit("close")}),this}connect(...e){if(!this._webVPNUdpSocketPromise)throw new Error("Socket not bound");this._webVPNUdpSocketPromise.then(async t=>{if(!t)throw new Error("Socket not bound");const o=e[0],s=typeof e[1]=="string"?e[1]:"localhost",n=typeof e.at(-1)=="function"?e.at(-1):void 0;await t.connect({remotePort:o,remoteAddress:s}),n&&n()})}disconnect(){if(!this._webVPNUdpSocketPromise)throw new Error("Socket not bound");this._webVPNUdpSocketPromise.then(async e=>{if(!e)throw new Error("Socket not bound");await e.connect({remotePort:0,remoteAddress:this._type==="udp4"?"0.0.0.0":"::"})})}dropMembership(e,t){}getRecvBufferSize(){return 0}getSendBufferSize(){return 0}getSendQueueSize(){return 0}getSendQueueCount(){return 0}ref(){return this}remoteAddress(){if(!this._remoteAddress)throw new Error("ERR_SOCKET_DGRAM_NOT_CONNECTED");return{address:this._remoteAddress.address,family:this._remoteAddress.family,port:this._remoteAddress.port}}send(...e){this._webVPNUdpSocketPromise||this.bind();const t=R(...e);if(!this._webVPNUdpSocketPromise)throw new Error("Socket not bound");this._webVPNUdpSocketPromise.then(o=>{if(!o)throw new Error("Socket not bound");const s=typeof t.message=="string"?M.encode(t.message):t.message;o.send({...t,message:s.buffer})})}setBroadcast(e){}setMulticastInterface(e){}setMulticastLoopback(e){return!0}setMulticastTTL(e){return e}setRecvBufferSize(e){}setSendBufferSize(e){}setTTL(e){return e}unref(){return this}addSourceSpecificMembership(e,t,o){}dropSourceSpecificMembership(e,t,o){}async[Symbol.asyncDispose](){await new Promise(e=>{this.close(e)})}}const U=(r,e)=>{const t=new N(typeof r=="string"?{type:r}:r);return e&&t.on("message",e),t},x=Object.freeze(Object.defineProperty({__proto__:null,Socket:N,createSocket:U},Symbol.toStringTag,{value:"Module"}));exports.dgram=x;exports.net=D;exports.serverProxyFetch=C;
|
package/build/index.d.ts
DELETED