insite-cookie 2.2.1 → 2.2.2
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/server/index.js +1 -1
- package/package.json +10 -10
package/dist/server/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function x(){}function E(r,e=0,o={}){let{leading:t=!1,trailing:n=!0}=o,{maxWait:s=1/0}=o,f,p,a,d,i,h,c,y,T=async()=>{let m=Date.now();m>=a?(f=void 0,a=void 0,clearTimeout(p),typeof c=="function"&&await c(),u.resolve(y),u.promise.isResolved=!0,h=t):(clearTimeout(f),f=setTimeout(T,a-m))},k=Number.isFinite(s)?()=>{c===l&&(c=!1),l(),p=setTimeout(k,s)}:null;async function l(){return y=await r.apply(d,i)}t&&typeof t=="boolean"&&(t=l),h=t,n&&typeof n=="boolean"&&(n=l),c=n;let u=Object.assign(function(...m){return i=m,d=this,a=Date.now()+e,c=n,u.promise.isResolved&&(u.promise=Object.assign(new Promise(
|
|
1
|
+
function x(){}function E(r,e=0,o={}){let{leading:t=!1,trailing:n=!0}=o,{maxWait:s=1/0}=o,f,p,a,d,i,h,c,y,T=async()=>{let m=Date.now();m>=a?(f=void 0,a=void 0,clearTimeout(p),typeof c=="function"&&await c(),u.resolve(y),u.promise.isResolved=!0,h=t):(clearTimeout(f),f=setTimeout(T,a-m))},k=Number.isFinite(s)?()=>{c===l&&(c=!1),l(),p=setTimeout(k,s)}:null;async function l(){return y=await r.apply(d,i)}t&&typeof t=="boolean"&&(t=l),h=t,n&&typeof n=="boolean"&&(n=l),c=n;let u=Object.assign(function(...m){return i=m,d=this,a=Date.now()+e,c=n,u.promise.isResolved&&(u.promise=Object.assign(new Promise(R=>{u.resolve=R,typeof h=="function"&&(h(),h=!1,c===l&&(c=!1)),f||(f=setTimeout(T,e),k&&(p=setTimeout(k,s)))}),{isResolved:!1})),u.promise},{callback:r,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:x,run:l,clear:async m=>{clearTimeout(f),f=void 0,clearTimeout(p),u.promise.isResolved=!0,u.resolve(m?await l():y)}});return u}E.noop=Object.assign(()=>{},{callback:x,promise:Object.assign(Promise.resolve(),{isResolved:!0}),resolve:x,run:x,clear:x});var S=new Map;function O(r,e){r.delete(e);let o=S.get(r);if(o){let t=o.get(e);t&&(clearTimeout(t),o.delete(e)),o.size||S.delete(r)}}function M(r,e,o){let t=setTimeout(()=>O(r,e),o);S.get(r)?.set(e,t)??S.set(r,new Map([[e,t]]))}function A(r,e){let o=r.get(e);return O(r,e),o}function w(r,e,o,t,n=!0){return Array.isArray(r)&&(r=r.length),typeof t!="string"&&(n=t??!0,t=o),(n?`${r}\xA0`:"")+w.raw(r,e,o,t)}w.raw=(r,e,o,t=o)=>{r=Math.abs(r);let n=r%10,s=r%100;return n===1&&s!==11?e:n>=2&&n<=4&&!(s>=12&&s<=15)?o:t};function v(r,e){return Math.floor(Math.random()*(e-r+1)+r)}function C(r,e,o,t){return M(r,e,t),r.set(e,o)}import{ClassMiddleware as W}from"insite-http";var g=new Map;var j=class r extends W{constructor(e={}){super();let{path:o="/cookie"}=e;this.listeners={GET:[[o,this.#e]]}}#e=(e,o)=>{let t=e.querystring;return t&&g.has(t)?o.writeHead(200,{"Content-Type":"text/plain; charset=utf-8","Set-Cookie":r.cookify(...A(g,t))}).end():!1};static make({name:e,value:o,maxAge:t,expiresAt:n,domain:s,path:f="/",secure:p=!0,httpOnly:a=!0,sameSite:d="Strict"}){let i=[`${e}=${o}`];return t!==void 0?i.push(`Max-Age=${t}`):n&&i.push(`Max-Age=${Math.round((n.getTime()-Date.now())/1e3)}`),s&&i.push(`Domain=${s}`),f&&i.push(`Path=${f}`),p&&i.push("Secure"),a&&i.push("HttpOnly"),d&&i.push(`SameSite=${d}`),i.join("; ")}static cookify(e,o){return Object.entries(e).map(([t,n])=>this.make({name:t,value:n,...o}))}};function $(r){return r?r.split(/;\s*/).reduce((e,o)=>{let[t,n]=o.split(/=/);try{e[t]=JSON.parse(n)}catch{e[t]=n}return e},{}):{}}import P from"node:crypto";var b={set:"~setcookie"};var B=2e3,I=class{constructor({usersServer:e,domain:o,maxAge:t}){this.usersServer=e,this.domain=o??process.env.INSITE_HOST,this.maxAge=t??this.usersServer.users.sessions.collection.expireAfterSeconds,this.usersServer.wss.on("client-connect",this.#t),this.usersServer.wss.on("client-session",this.#o)}#e=new WeakMap;usersServer;domain;maxAge;set(e,o,t){let n=`${Math.round(performance.now()*Number.MAX_SAFE_INTEGER).toString(36)}$${P.randomBytes(v(4,8)).toString("hex")}`;C(g,n,[o,t],B),e.sendMessage(b.set,n)}unset(e,o){this.set(e,o.reduce((t,n)=>(t[n]="",t),{}),{maxAge:0})}#t=(e,o)=>{if(this.#e.set(e,null),o.headers.cookie){let{sessionId:t=null}=$(o.headers.cookie);this.#e.set(e,t),t&&this.usersServer.setSession(e,t,!0)}};#o=e=>{this.#e.get(e)!==e.session?._id&&(this.#e.set(e,e.session?._id??null),e.isOpen&&e.session?this.set(e,{sessionId:e.session._id},{domain:this.domain,maxAge:this.maxAge}):this.unset(e,["sessionId"]))};static parse=$};export{j as CookieMiddleware,I as CookieSetter,$ as parseCookie};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "insite-cookie",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Cookie support for inSite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/server.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"./server": "./dist/server/index.js",
|
|
10
10
|
"./client": "./dist/client/index.js"
|
|
11
11
|
},
|
|
12
|
-
"packageManager": "bun@1.2.
|
|
12
|
+
"packageManager": "bun@1.2.7",
|
|
13
13
|
"scripts": {
|
|
14
14
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
15
15
|
"build": "bun .conveyer.js",
|
|
@@ -28,16 +28,16 @@
|
|
|
28
28
|
"author": "Eugene Nesvetaev <dev@nesvet.dev> (https://nesvet.dev/)",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@nesvet/n": "^1.1.
|
|
32
|
-
"insite-common": "^2.2.
|
|
33
|
-
"insite-http": "^2.2.
|
|
34
|
-
"insite-users-server-ws": "^2.2.
|
|
35
|
-
"insite-ws": "^2.2.
|
|
31
|
+
"@nesvet/n": "^1.1.28",
|
|
32
|
+
"insite-common": "^2.2.2",
|
|
33
|
+
"insite-http": "^2.2.2",
|
|
34
|
+
"insite-users-server-ws": "^2.2.2",
|
|
35
|
+
"insite-ws": "^2.2.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@nesvet/conveyer": "^2.5.
|
|
39
|
-
"@nesvet/eslint-config": "^2.0.
|
|
40
|
-
"@types/node": "^22.13.
|
|
38
|
+
"@nesvet/conveyer": "^2.5.1",
|
|
39
|
+
"@nesvet/eslint-config": "^2.0.51",
|
|
40
|
+
"@types/node": "^22.13.14",
|
|
41
41
|
"@types/ws": "^8.18.0",
|
|
42
42
|
"typescript": "^5.8.2"
|
|
43
43
|
}
|