veloce-ts 0.2.6 → 0.3.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/CHANGELOG.md +501 -240
- package/README.md +141 -1
- package/dist/cjs/src/cli/index.js +125 -74
- package/dist/cjs/src/cli/index.js.map +4 -4
- package/dist/cjs/src/index.js +66 -25
- package/dist/cjs/src/index.js.map +112 -10
- package/dist/cjs/src/middleware/index.js +28 -2
- package/dist/cjs/src/middleware/index.js.map +79 -4
- package/dist/cjs/src/plugins/index.js +49 -23
- package/dist/cjs/src/plugins/index.js.map +74 -4
- package/dist/cjs/src/testing/index.js +30 -4
- package/dist/cjs/src/testing/index.js.map +80 -7
- package/dist/cjs/src/websocket/index.js +3 -3
- package/dist/cjs/src/websocket/index.js.map +1 -1
- package/dist/esm/src/cli/index.js +561 -22
- package/dist/esm/src/cli/index.js.map +8 -4
- package/dist/esm/src/docs/index.js +6 -6
- package/dist/esm/src/docs/index.js.map +10 -3
- package/dist/esm/src/errors/index.js +3 -2
- package/dist/esm/src/errors/index.js.map +7 -3
- package/dist/esm/src/graphql/index.js +82 -2
- package/dist/esm/src/graphql/index.js.map +18 -3
- package/dist/esm/src/index.js +165 -3
- package/dist/esm/src/index.js.map +202 -6
- package/dist/esm/src/middleware/index.js +28 -2
- package/dist/esm/src/middleware/index.js.map +81 -3
- package/dist/esm/src/plugins/index.js +113 -3
- package/dist/esm/src/plugins/index.js.map +131 -4
- package/dist/esm/src/testing/index.js +42 -2
- package/dist/esm/src/testing/index.js.map +97 -7
- package/dist/esm/src/types/index.js +2 -2
- package/dist/esm/src/types/index.js.map +10 -3
- package/dist/esm/src/validation/index.js +2 -2
- package/dist/esm/src/validation/index.js.map +13 -3
- package/dist/esm/src/websocket/index.js +15 -2
- package/dist/esm/src/websocket/index.js.map +9 -4
- package/dist/types/adapters/base.d.ts +10 -2
- package/dist/types/adapters/base.d.ts.map +1 -1
- package/dist/types/adapters/hono.d.ts +2 -2
- package/dist/types/adapters/hono.d.ts.map +1 -1
- package/dist/types/auth/permissions.d.ts +10 -10
- package/dist/types/auth/session.d.ts +2 -2
- package/dist/types/cache/index.d.ts +9 -0
- package/dist/types/cache/index.d.ts.map +1 -0
- package/dist/types/cache/manager.d.ts +75 -0
- package/dist/types/cache/manager.d.ts.map +1 -0
- package/dist/types/cache/memory-store.d.ts +55 -0
- package/dist/types/cache/memory-store.d.ts.map +1 -0
- package/dist/types/cache/redis-store.d.ts +55 -0
- package/dist/types/cache/redis-store.d.ts.map +1 -0
- package/dist/types/cache/types.d.ts +92 -0
- package/dist/types/cache/types.d.ts.map +1 -0
- package/dist/types/cli/commands/new.d.ts.map +1 -1
- package/dist/types/context/request-context.d.ts +66 -0
- package/dist/types/context/request-context.d.ts.map +1 -0
- package/dist/types/core/application.d.ts +11 -0
- package/dist/types/core/application.d.ts.map +1 -1
- package/dist/types/core/router-compiler.d.ts +1 -1
- package/dist/types/core/router-compiler.d.ts.map +1 -1
- package/dist/types/decorators/cache.d.ts +56 -0
- package/dist/types/decorators/cache.d.ts.map +1 -0
- package/dist/types/decorators/params.d.ts +24 -0
- package/dist/types/decorators/params.d.ts.map +1 -1
- package/dist/types/dependencies/container.d.ts +1 -1
- package/dist/types/dependencies/container.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logging/index.d.ts +10 -0
- package/dist/types/logging/index.d.ts.map +1 -0
- package/dist/types/logging/logger.d.ts +25 -0
- package/dist/types/logging/logger.d.ts.map +1 -0
- package/dist/types/logging/middleware.d.ts +15 -0
- package/dist/types/logging/middleware.d.ts.map +1 -0
- package/dist/types/logging/types.d.ts +22 -0
- package/dist/types/logging/types.d.ts.map +1 -0
- package/dist/types/middleware/cache.d.ts +54 -0
- package/dist/types/middleware/cache.d.ts.map +1 -0
- package/dist/types/middleware/index.d.ts +3 -0
- package/dist/types/middleware/index.d.ts.map +1 -1
- package/dist/types/middleware/request-context.d.ts +55 -0
- package/dist/types/middleware/request-context.d.ts.map +1 -0
- package/dist/types/orm/base-repository.d.ts +77 -0
- package/dist/types/orm/base-repository.d.ts.map +1 -0
- package/dist/types/orm/decorators.d.ts +35 -0
- package/dist/types/orm/decorators.d.ts.map +1 -0
- package/dist/types/orm/drizzle/index.d.ts +6 -0
- package/dist/types/orm/drizzle/index.d.ts.map +1 -0
- package/dist/types/orm/drizzle/plugin.d.ts +165 -0
- package/dist/types/orm/drizzle/plugin.d.ts.map +1 -0
- package/dist/types/orm/drizzle/repository.d.ts +61 -0
- package/dist/types/orm/drizzle/repository.d.ts.map +1 -0
- package/dist/types/orm/drizzle/schema-converter.d.ts +53 -0
- package/dist/types/orm/drizzle/schema-converter.d.ts.map +1 -0
- package/dist/types/orm/drizzle/transaction-manager.d.ts +58 -0
- package/dist/types/orm/drizzle/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/drizzle/types.d.ts +121 -0
- package/dist/types/orm/drizzle/types.d.ts.map +1 -0
- package/dist/types/orm/index.d.ts +16 -0
- package/dist/types/orm/index.d.ts.map +1 -0
- package/dist/types/orm/pagination.d.ts +147 -0
- package/dist/types/orm/pagination.d.ts.map +1 -0
- package/dist/types/orm/prisma/index.d.ts +6 -0
- package/dist/types/orm/prisma/index.d.ts.map +1 -0
- package/dist/types/orm/prisma/plugin.d.ts +68 -0
- package/dist/types/orm/prisma/plugin.d.ts.map +1 -0
- package/dist/types/orm/prisma/repository.d.ts +70 -0
- package/dist/types/orm/prisma/repository.d.ts.map +1 -0
- package/dist/types/orm/prisma/schema-generator.d.ts +45 -0
- package/dist/types/orm/prisma/schema-generator.d.ts.map +1 -0
- package/dist/types/orm/prisma/transaction-manager.d.ts +32 -0
- package/dist/types/orm/prisma/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/prisma/types.d.ts +67 -0
- package/dist/types/orm/prisma/types.d.ts.map +1 -0
- package/dist/types/orm/query-builder.d.ts +129 -0
- package/dist/types/orm/query-builder.d.ts.map +1 -0
- package/dist/types/orm/repository-factory.d.ts +130 -0
- package/dist/types/orm/repository-factory.d.ts.map +1 -0
- package/dist/types/orm/transaction-events.d.ts +122 -0
- package/dist/types/orm/transaction-events.d.ts.map +1 -0
- package/dist/types/orm/transaction-interceptor.d.ts +30 -0
- package/dist/types/orm/transaction-interceptor.d.ts.map +1 -0
- package/dist/types/orm/transaction-manager.d.ts +64 -0
- package/dist/types/orm/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/transaction-plugin.d.ts +117 -0
- package/dist/types/orm/transaction-plugin.d.ts.map +1 -0
- package/dist/types/orm/transaction-propagation.d.ts +49 -0
- package/dist/types/orm/transaction-propagation.d.ts.map +1 -0
- package/dist/types/orm/typeorm/decorators.d.ts +40 -0
- package/dist/types/orm/typeorm/decorators.d.ts.map +1 -0
- package/dist/types/orm/typeorm/index.d.ts +6 -0
- package/dist/types/orm/typeorm/index.d.ts.map +1 -0
- package/dist/types/orm/typeorm/plugin.d.ts +100 -0
- package/dist/types/orm/typeorm/plugin.d.ts.map +1 -0
- package/dist/types/orm/typeorm/repository.d.ts +58 -0
- package/dist/types/orm/typeorm/repository.d.ts.map +1 -0
- package/dist/types/orm/typeorm/transaction-manager.d.ts +48 -0
- package/dist/types/orm/typeorm/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/typeorm/types.d.ts +139 -0
- package/dist/types/orm/typeorm/types.d.ts.map +1 -0
- package/dist/types/plugins/health.d.ts +75 -0
- package/dist/types/plugins/health.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/plugins/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +15 -2
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/websocket/index.d.ts +1 -1
- package/dist/types/websocket/index.d.ts.map +1 -1
- package/package.json +22 -2
- package/dist/esm/chunk-2100y16g.js +0 -5
- package/dist/esm/chunk-2100y16g.js.map +0 -10
- package/dist/esm/chunk-5q75d71c.js +0 -4
- package/dist/esm/chunk-5q75d71c.js.map +0 -16
- package/dist/esm/chunk-8dpc6an2.js +0 -7
- package/dist/esm/chunk-8dpc6an2.js.map +0 -10
- package/dist/esm/chunk-9v7atckx.js +0 -5
- package/dist/esm/chunk-9v7atckx.js.map +0 -10
- package/dist/esm/chunk-bvstdn0t.js +0 -60
- package/dist/esm/chunk-bvstdn0t.js.map +0 -10
- package/dist/esm/chunk-ctwpr5gr.js +0 -430
- package/dist/esm/chunk-ctwpr5gr.js.map +0 -10
- package/dist/esm/chunk-dtw2tbsd.js +0 -5
- package/dist/esm/chunk-dtw2tbsd.js.map +0 -12
- package/dist/esm/chunk-ef0vfd27.js +0 -72
- package/dist/esm/chunk-ef0vfd27.js.map +0 -13
- package/dist/esm/chunk-k66rn4fj.js +0 -18
- package/dist/esm/chunk-k66rn4fj.js.map +0 -10
- package/dist/esm/chunk-mky5qqg0.js +0 -5
- package/dist/esm/chunk-mky5qqg0.js.map +0 -10
- package/dist/esm/chunk-mznkhz9c.js +0 -5
- package/dist/esm/chunk-mznkhz9c.js.map +0 -12
- package/dist/esm/chunk-s5z0wb7e.js +0 -5
- package/dist/esm/chunk-s5z0wb7e.js.map +0 -10
- package/dist/esm/chunk-vh4sxcpe.js +0 -6
- package/dist/esm/chunk-vh4sxcpe.js.map +0 -10
- package/dist/esm/chunk-xa333k40.js +0 -7
- package/dist/esm/chunk-xa333k40.js.map +0 -10
- package/dist/esm/chunk-y262e56g.js +0 -5
- package/dist/esm/chunk-y262e56g.js.map +0 -9
- package/dist/esm/chunk-yq3gf9ts.js +0 -5
- package/dist/esm/chunk-yq3gf9ts.js.map +0 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var zQ=Object.create;var{getPrototypeOf:HQ,defineProperty:l,getOwnPropertyNames:TJ,getOwnPropertyDescriptor:YQ}=Object,_J=Object.prototype.hasOwnProperty;var bJ=(J,Q,q)=>{q=J!=null?zQ(HQ(J)):{};let Z=Q||!J||!J.__esModule?l(q,"default",{value:J,enumerable:!0}):q;for(let N of TJ(J))if(!_J.call(Z,N))l(Z,N,{get:()=>J[N],enumerable:!0});return Z},SJ=new WeakMap,WQ=(J)=>{var Q=SJ.get(J),q;if(Q)return Q;if(Q=l({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function")TJ(J).map((Z)=>!_J.call(Q,Z)&&l(Q,Z,{get:()=>J[Z],enumerable:!(q=YQ(J,Z))||q.enumerable}));return SJ.set(J,Q),Q},VQ=(J,Q)=>()=>(Q||J((Q={exports:{}}).exports,Q),Q.exports);var NQ=(J,Q)=>{for(var q in Q)l(J,q,{get:Q[q],enumerable:!0,configurable:!0,set:(Z)=>Q[q]=()=>Z})};var jQ=(J,Q)=>()=>(J&&(Q=J(J=0)),Q);var o=VQ(()=>{/*! *****************************************************************************
|
|
2
2
|
Copyright (C) Microsoft. All rights reserved.
|
|
3
3
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
4
4
|
this file except in compliance with the License. You may obtain a copy of the
|
|
@@ -11,6 +11,6 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
11
11
|
|
|
12
12
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
13
13
|
and limitations under the License.
|
|
14
|
-
***************************************************************************** */var bJ;(function(J){(function(Q){var q=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:K(),Z=N(J);if(typeof q.Reflect<"u")Z=N(q.Reflect,Z);if(Q(Z,q),typeof q.Reflect>"u")q.Reflect=J;function N(_,v){return function(T,f){if(Object.defineProperty(_,T,{configurable:!0,writable:!0,value:f}),v)v(T,f)}}function A(){try{return Function("return this;")()}catch(_){}}function S(){try{return(0,eval)("(function() { return this; })()")}catch(_){}}function K(){return A()||S()}})(function(Q,q){var Z=Object.prototype.hasOwnProperty,N=typeof Symbol==="function",A=N&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",S=N&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",K=typeof Object.create==="function",_={__proto__:[]}instanceof Array,v=!K&&!_,T={create:K?function(){return y(Object.create(null))}:_?function(){return y({__proto__:null})}:function(){return y({})},has:v?function(X,$){return Z.call(X,$)}:function(X,$){return $ in X},get:v?function(X,$){return Z.call(X,$)?X[$]:void 0}:function(X,$){return X[$]}},f=Object.getPrototypeOf(Function),P=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:JQ(),g=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:QQ(),s=typeof WeakMap==="function"?WeakMap:XQ(),x=N?Symbol.for("@reflect-metadata:registry"):void 0,m=aJ(),BJ=tJ(m);function fJ(X,$,F,L){if(!W(F)){if(!DJ(X))throw TypeError();if(!R($))throw TypeError();if(!R(L)&&!W(L)&&!b(L))throw TypeError();if(b(L))L=void 0;return F=E(F),iJ(X,$,F,L)}else{if(!DJ(X))throw TypeError();if(!RJ($))throw TypeError();return sJ(X,$)}}Q("decorate",fJ);function PJ(X,$){function F(L,V){if(!R(L))throw TypeError();if(!W(V)&&!oJ(V))throw TypeError();VJ(X,$,L,V)}return F}Q("metadata",PJ);function uJ(X,$,F,L){if(!R(F))throw TypeError();if(!W(L))L=E(L);return VJ(X,$,F,L)}Q("defineMetadata",uJ);function lJ(X,$,F){if(!R($))throw TypeError();if(!W(F))F=E(F);return zJ(X,$,F)}Q("hasMetadata",lJ);function OJ(X,$,F){if(!R($))throw TypeError();if(!W(F))F=E(F);return i(X,$,F)}Q("hasOwnMetadata",OJ);function MJ(X,$,F){if(!R($))throw TypeError();if(!W(F))F=E(F);return HJ(X,$,F)}Q("getMetadata",MJ);function cJ(X,$,F){if(!R($))throw TypeError();if(!W(F))F=E(F);return YJ(X,$,F)}Q("getOwnMetadata",cJ);function KJ(X,$){if(!R(X))throw TypeError();if(!W($))$=E($);return WJ(X,$)}Q("getMetadataKeys",KJ);function mJ(X,$){if(!R(X))throw TypeError();if(!W($))$=E($);return NJ(X,$)}Q("getOwnMetadataKeys",mJ);function gJ(X,$,F){if(!R($))throw TypeError();if(!W(F))F=E(F);if(!R($))throw TypeError();if(!W(F))F=E(F);var L=u($,F,!1);if(W(L))return!1;return L.OrdinaryDeleteMetadata(X,$,F)}Q("deleteMetadata",gJ);function sJ(X,$){for(var F=X.length-1;F>=0;--F){var L=X[F],V=L($);if(!W(V)&&!b(V)){if(!RJ(V))throw TypeError();$=V}}return $}function iJ(X,$,F,L){for(var V=X.length-1;V>=0;--V){var C=X[V],w=C($,F,L);if(!W(w)&&!b(w)){if(!R(w))throw TypeError();L=w}}return L}function zJ(X,$,F){var L=i(X,$,F);if(L)return!0;var V=d($);if(!b(V))return zJ(X,V,F);return!1}function i(X,$,F){var L=u($,F,!1);if(W(L))return!1;return jJ(L.OrdinaryHasOwnMetadata(X,$,F))}function HJ(X,$,F){var L=i(X,$,F);if(L)return YJ(X,$,F);var V=d($);if(!b(V))return HJ(X,V,F);return}function YJ(X,$,F){var L=u($,F,!1);if(W(L))return;return L.OrdinaryGetOwnMetadata(X,$,F)}function VJ(X,$,F,L){var V=u(F,L,!0);V.OrdinaryDefineOwnMetadata(X,$,F,L)}function WJ(X,$){var F=NJ(X,$),L=d(X);if(L===null)return F;var V=WJ(L,$);if(V.length<=0)return F;if(F.length<=0)return V;var C=new g,w=[];for(var G=0,B=F;G<B.length;G++){var z=B[G],H=C.has(z);if(!H)C.add(z),w.push(z)}for(var Y=0,j=V;Y<j.length;Y++){var z=j[Y],H=C.has(z);if(!H)C.add(z),w.push(z)}return w}function NJ(X,$){var F=u(X,$,!1);if(!F)return[];return F.OrdinaryOwnMetadataKeys(X,$)}function GJ(X){if(X===null)return 1;switch(typeof X){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return X===null?1:6;default:return 6}}function W(X){return X===void 0}function b(X){return X===null}function nJ(X){return typeof X==="symbol"}function R(X){return typeof X==="object"?X!==null:typeof X==="function"}function dJ(X,$){switch(GJ(X)){case 0:return X;case 1:return X;case 2:return X;case 3:return X;case 4:return X;case 5:return X}var F=$===3?"string":$===5?"number":"default",L=CJ(X,A);if(L!==void 0){var V=L.call(X,F);if(R(V))throw TypeError();return V}return yJ(X,F==="default"?"number":F)}function yJ(X,$){if($==="string"){var F=X.toString;if(k(F)){var L=F.call(X);if(!R(L))return L}var V=X.valueOf;if(k(V)){var L=V.call(X);if(!R(L))return L}}else{var V=X.valueOf;if(k(V)){var L=V.call(X);if(!R(L))return L}var C=X.toString;if(k(C)){var L=C.call(X);if(!R(L))return L}}throw TypeError()}function jJ(X){return!!X}function pJ(X){return""+X}function E(X){var $=dJ(X,3);if(nJ($))return $;return pJ($)}function DJ(X){return Array.isArray?Array.isArray(X):X instanceof Object?X instanceof Array:Object.prototype.toString.call(X)==="[object Array]"}function k(X){return typeof X==="function"}function RJ(X){return typeof X==="function"}function oJ(X){switch(GJ(X)){case 3:return!0;case 4:return!0;default:return!1}}function n(X,$){return X===$||X!==X&&$!==$}function CJ(X,$){var F=X[$];if(F===void 0||F===null)return;if(!k(F))throw TypeError();return F}function hJ(X){var $=CJ(X,S);if(!k($))throw TypeError();var F=$.call(X);if(!R(F))throw TypeError();return F}function wJ(X){return X.value}function AJ(X){var $=X.next();return $.done?!1:$}function UJ(X){var $=X.return;if($)$.call(X)}function d(X){var $=Object.getPrototypeOf(X);if(typeof X!=="function"||X===f)return $;if($!==f)return $;var F=X.prototype,L=F&&Object.getPrototypeOf(F);if(L==null||L===Object.prototype)return $;var V=L.constructor;if(typeof V!=="function")return $;if(V===X)return $;return V}function rJ(){var X;if(!W(x)&&typeof q.Reflect<"u"&&!(x in q.Reflect)&&typeof q.Reflect.defineMetadata==="function")X=eJ(q.Reflect);var $,F,L,V=new s,C={registerProvider:w,getProvider:B,setProvider:H};return C;function w(Y){if(!Object.isExtensible(C))throw Error("Cannot add provider to a frozen registry.");switch(!0){case X===Y:break;case W($):$=Y;break;case $===Y:break;case W(F):F=Y;break;case F===Y:break;default:if(L===void 0)L=new g;L.add(Y);break}}function G(Y,j){if(!W($)){if($.isProviderFor(Y,j))return $;if(!W(F)){if(F.isProviderFor(Y,j))return $;if(!W(L)){var D=hJ(L);while(!0){var h=AJ(D);if(!h)return;var U=wJ(h);if(U.isProviderFor(Y,j))return UJ(D),U}}}}if(!W(X)&&X.isProviderFor(Y,j))return X;return}function B(Y,j){var D=V.get(Y),h;if(!W(D))h=D.get(j);if(!W(h))return h;if(h=G(Y,j),!W(h)){if(W(D))D=new P,V.set(Y,D);D.set(j,h)}return h}function z(Y){if(W(Y))throw TypeError();return $===Y||F===Y||!W(L)&&L.has(Y)}function H(Y,j,D){if(!z(D))throw Error("Metadata provider not registered.");var h=B(Y,j);if(h!==D){if(!W(h))return!1;var U=V.get(Y);if(W(U))U=new P,V.set(Y,U);U.set(j,D)}return!0}}function aJ(){var X;if(!W(x)&&R(q.Reflect)&&Object.isExtensible(q.Reflect))X=q.Reflect[x];if(W(X))X=rJ();if(!W(x)&&R(q.Reflect)&&Object.isExtensible(q.Reflect))Object.defineProperty(q.Reflect,x,{enumerable:!1,configurable:!1,writable:!1,value:X});return X}function tJ(X){var $=new s,F={isProviderFor:function(z,H){var Y=$.get(z);if(W(Y))return!1;return Y.has(H)},OrdinaryDefineOwnMetadata:w,OrdinaryHasOwnMetadata:V,OrdinaryGetOwnMetadata:C,OrdinaryOwnMetadataKeys:G,OrdinaryDeleteMetadata:B};return m.registerProvider(F),F;function L(z,H,Y){var j=$.get(z),D=!1;if(W(j)){if(!Y)return;j=new P,$.set(z,j),D=!0}var h=j.get(H);if(W(h)){if(!Y)return;if(h=new P,j.set(H,h),!X.setProvider(z,H,F)){if(j.delete(H),D)$.delete(z);throw Error("Wrong provider for target.")}}return h}function V(z,H,Y){var j=L(H,Y,!1);if(W(j))return!1;return jJ(j.has(z))}function C(z,H,Y){var j=L(H,Y,!1);if(W(j))return;return j.get(z)}function w(z,H,Y,j){var D=L(Y,j,!0);D.set(z,H)}function G(z,H){var Y=[],j=L(z,H,!1);if(W(j))return Y;var D=j.keys(),h=hJ(D),U=0;while(!0){var EJ=AJ(h);if(!EJ)return Y.length=U,Y;var $Q=wJ(EJ);try{Y[U]=$Q}catch(qQ){try{UJ(h)}finally{throw qQ}}U++}}function B(z,H,Y){var j=L(H,Y,!1);if(W(j))return!1;if(!j.delete(z))return!1;if(j.size===0){var D=$.get(H);if(!W(D)){if(D.delete(Y),D.size===0)$.delete(D)}}return!0}}function eJ(X){var{defineMetadata:$,hasOwnMetadata:F,getOwnMetadata:L,getOwnMetadataKeys:V,deleteMetadata:C}=X,w=new s,G={isProviderFor:function(B,z){var H=w.get(B);if(!W(H)&&H.has(z))return!0;if(V(B,z).length){if(W(H))H=new g,w.set(B,H);return H.add(z),!0}return!1},OrdinaryDefineOwnMetadata:$,OrdinaryHasOwnMetadata:F,OrdinaryGetOwnMetadata:L,OrdinaryOwnMetadataKeys:V,OrdinaryDeleteMetadata:C};return G}function u(X,$,F){var L=m.getProvider(X,$);if(!W(L))return L;if(F){if(m.setProvider(X,$,BJ))return BJ;throw Error("Illegal state.")}return}function JQ(){var X={},$=[],F=function(){function G(B,z,H){this._index=0,this._keys=B,this._values=z,this._selector=H}return G.prototype["@@iterator"]=function(){return this},G.prototype[S]=function(){return this},G.prototype.next=function(){var B=this._index;if(B>=0&&B<this._keys.length){var z=this._selector(this._keys[B],this._values[B]);if(B+1>=this._keys.length)this._index=-1,this._keys=$,this._values=$;else this._index++;return{value:z,done:!1}}return{value:void 0,done:!0}},G.prototype.throw=function(B){if(this._index>=0)this._index=-1,this._keys=$,this._values=$;throw B},G.prototype.return=function(B){if(this._index>=0)this._index=-1,this._keys=$,this._values=$;return{value:B,done:!0}},G}(),L=function(){function G(){this._keys=[],this._values=[],this._cacheKey=X,this._cacheIndex=-2}return Object.defineProperty(G.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),G.prototype.has=function(B){return this._find(B,!1)>=0},G.prototype.get=function(B){var z=this._find(B,!1);return z>=0?this._values[z]:void 0},G.prototype.set=function(B,z){var H=this._find(B,!0);return this._values[H]=z,this},G.prototype.delete=function(B){var z=this._find(B,!1);if(z>=0){var H=this._keys.length;for(var Y=z+1;Y<H;Y++)this._keys[Y-1]=this._keys[Y],this._values[Y-1]=this._values[Y];if(this._keys.length--,this._values.length--,n(B,this._cacheKey))this._cacheKey=X,this._cacheIndex=-2;return!0}return!1},G.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=X,this._cacheIndex=-2},G.prototype.keys=function(){return new F(this._keys,this._values,V)},G.prototype.values=function(){return new F(this._keys,this._values,C)},G.prototype.entries=function(){return new F(this._keys,this._values,w)},G.prototype["@@iterator"]=function(){return this.entries()},G.prototype[S]=function(){return this.entries()},G.prototype._find=function(B,z){if(!n(this._cacheKey,B)){this._cacheIndex=-1;for(var H=0;H<this._keys.length;H++)if(n(this._keys[H],B)){this._cacheIndex=H;break}}if(this._cacheIndex<0&&z)this._cacheIndex=this._keys.length,this._keys.push(B),this._values.push(void 0);return this._cacheIndex},G}();return L;function V(G,B){return G}function C(G,B){return B}function w(G,B){return[G,B]}}function QQ(){var X=function(){function $(){this._map=new P}return Object.defineProperty($.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),$.prototype.has=function(F){return this._map.has(F)},$.prototype.add=function(F){return this._map.set(F,F),this},$.prototype.delete=function(F){return this._map.delete(F)},$.prototype.clear=function(){this._map.clear()},$.prototype.keys=function(){return this._map.keys()},$.prototype.values=function(){return this._map.keys()},$.prototype.entries=function(){return this._map.entries()},$.prototype["@@iterator"]=function(){return this.keys()},$.prototype[S]=function(){return this.keys()},$}();return X}function XQ(){var X=16,$=T.create(),F=L();return function(){function B(){this._key=L()}return B.prototype.has=function(z){var H=V(z,!1);return H!==void 0?T.has(H,this._key):!1},B.prototype.get=function(z){var H=V(z,!1);return H!==void 0?T.get(H,this._key):void 0},B.prototype.set=function(z,H){var Y=V(z,!0);return Y[this._key]=H,this},B.prototype.delete=function(z){var H=V(z,!1);return H!==void 0?delete H[this._key]:!1},B.prototype.clear=function(){this._key=L()},B}();function L(){var B;do B="@@WeakMap@@"+G();while(T.has($,B));return $[B]=!0,B}function V(B,z){if(!Z.call(B,F)){if(!z)return;Object.defineProperty(B,F,{value:T.create()})}return B[F]}function C(B,z){for(var H=0;H<z;++H)B[H]=Math.random()*255|0;return B}function w(B){if(typeof Uint8Array==="function"){var z=new Uint8Array(B);if(typeof crypto<"u")crypto.getRandomValues(z);else if(typeof msCrypto<"u")msCrypto.getRandomValues(z);else C(z,B);return z}return C(Array(B),B)}function G(){var B=w(X);B[6]=B[6]&79|64,B[8]=B[8]&191|128;var z="";for(var H=0;H<X;++H){var Y=B[H];if(H===4||H===6||H===8)z+="-";if(Y<16)z+="0";z+=Y.toString(16).toLowerCase()}return z}}function y(X){return X.__=void 0,delete X.__,X}})})(bJ||(bJ={}))});var GQ={};HQ(GQ,{WebSocketPlugin:()=>p,WebSocketManager:()=>M,WebSocketConnection:()=>O,WebSocket:()=>YQ,OnMessage:()=>WQ,OnDisconnect:()=>NQ,OnConnect:()=>VQ});module.exports=BQ(GQ);class O{manager;id;_ws;constructor(J,Q,q){this.manager=Q;this._ws=J,this.id=q||crypto.randomUUID()}send(J){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let Q=typeof J==="string"?J:JSON.stringify(J);this._ws.send(Q)}broadcast(J,Q){this.manager.broadcast(J,Q)}join(J){this.manager.joinRoom(this.id,J)}leave(J){this.manager.leaveRoom(this.id,J)}close(J,Q){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close(J,Q)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class M{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection(J,Q){let q=new O(J,this);if(this.connections.set(q.id,q),Q.onConnect)this.executeHandler(Q,Q.onConnect,q);return J.addEventListener("message",async(Z)=>{await this.handleMessage(Z,q,Q)}),J.addEventListener("close",()=>{this.handleDisconnect(q,Q)}),J.addEventListener("error",(Z)=>{console.error(`WebSocket error for connection ${q.id}:`,Z)}),q}async handleMessage(J,Q,q){if(!q.onMessage)return;let Z;try{if(Z=typeof J.data==="string"?JSON.parse(J.data):J.data,q.messageSchema)Z=await q.messageSchema.parseAsync(Z);await this.executeHandler(q,q.onMessage,Q,Z)}catch(N){Q.send({error:"Invalid message format",details:N instanceof Error?N.message:"Unknown error"})}}handleDisconnect(J,Q){if(Array.from(this.connectionsByRoom.entries()).forEach(([q,Z])=>{if(Z.delete(J),Z.size===0)this.connectionsByRoom.delete(q)}),Array.from(this.rooms.entries()).forEach(([q,Z])=>{if(Z.delete(J.id),Z.size===0)this.rooms.delete(q)}),this.connections.delete(J.id),J._markClosed(),Q.onDisconnect)this.executeHandler(Q,Q.onDisconnect,J)}async executeHandler(J,Q,q,Z){try{let N=new J.target,A=N[Q];if(typeof A==="function")if(Z!==void 0)await A.call(N,q,Z);else await A.call(N,q)}catch(N){console.error(`Error executing WebSocket handler ${Q}:`,N)}}broadcast(J,Q){let q=Q?this.getConnectionsInRoom(Q):Array.from(this.connections.values()),Z=typeof J==="string"?J:JSON.stringify(J);for(let N of q)if(N.isOpen)N.send(Z)}joinRoom(J,Q){let q=this.connections.get(J);if(!q)return;if(!this.rooms.has(Q))this.rooms.set(Q,new Set);if(this.rooms.get(Q).add(J),!this.connectionsByRoom.has(Q))this.connectionsByRoom.set(Q,new Set);this.connectionsByRoom.get(Q).add(q)}leaveRoom(J,Q){let q=this.connections.get(J);if(!q)return;let Z=this.rooms.get(Q);if(Z){if(Z.delete(J),Z.size===0)this.rooms.delete(Q)}let N=this.connectionsByRoom.get(Q);if(N){if(N.delete(q),N.size===0)this.connectionsByRoom.delete(Q)}}getConnectionsInRoom(J){let Q=this.connectionsByRoom.get(J);return Q?Array.from(Q):[]}getConnection(J){return this.connections.get(J)}getAllConnections(){return Array.from(this.connections.values())}getConnectionCount(){return this.connections.size}getRooms(){return Array.from(this.rooms.keys())}getRoomSize(J){return this.rooms.get(J)?.size||0}}class p{name="websocket";version="1.0.0";manager;constructor(){this.manager=new M}async install(J){let q=J.getMetadata().getWebSockets();for(let Z of q)this.registerWebSocket(J,Z)}registerWebSocket(J,Q){J.getHono().get(Q.path,async(Z)=>{if(Z.req.header("upgrade")?.toLowerCase()!=="websocket")return Z.text("Expected WebSocket upgrade",426);return this.handleUpgrade(Z,Q)})}handleUpgrade(J,Q){if(typeof Bun<"u")return this.handleBunUpgrade(J,Q);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade(J,Q);else return this.handleNodeUpgrade(J,Q)}handleBunUpgrade(J,Q){if(!J.env?.upgrade?.(J.req.raw))return J.text("WebSocket upgrade failed",500);return new Response(null,{status:101})}handleDenoUpgrade(J,Q){let q=globalThis.Deno,{socket:Z,response:N}=q.upgradeWebSocket(J.req.raw);return Z.onopen=()=>{this.manager.handleConnection(Z,Q)},N}handleNodeUpgrade(J,Q){return J.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast(J,Q){this.manager.broadcast(J,Q)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var _Q=xJ(o());var TQ=xJ(o()),r=Symbol("route:metadata"),a=Symbol("controller:metadata"),kJ=Symbol("parameter:metadata"),IJ=Symbol("dependency:metadata"),t=Symbol("websocket:metadata"),vJ=Symbol("websocket:handler:metadata"),e=Symbol("graphql:resolver"),c=Symbol("graphql:field"),JJ=Symbol("auth:metadata"),QJ=Symbol("oauth:metadata"),XJ=Symbol("roles:metadata"),$J=Symbol("permissions:metadata"),qJ=Symbol("minimum-role:metadata"),FJ=Symbol("resource-permission:metadata"),ZJ=Symbol("session:metadata"),LJ=Symbol("csrf:metadata");class I{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute(J){let Q=this.getRouteKey(J.target,J.propertyKey);if(this.routes.set(Q,J),!this.routesByController.has(J.target))this.routesByController.set(J.target,[]);this.routesByController.get(J.target).push(J)}registerController(J,Q){this.controllers.set(J,Q)}getRoutes(){return Array.from(this.routes.values())}getRoute(J,Q){let q=this.getRouteKey(J,Q);return this.routes.get(q)}getRoutesByController(J){return this.routesByController.get(J)||[]}getController(J){return this.controllers.get(J)}getControllers(){return new Map(this.controllers)}registerWebSocket(J){this.websockets.set(J.target,J)}getWebSockets(){return Array.from(this.websockets.values())}getWebSocket(J){return this.websockets.get(J)}registerGraphQLResolver(J){this.graphqlResolvers.set(J.target,J)}registerGraphQLField(J){let Q=this.getRouteKey(J.target,J.propertyKey);this.graphqlFields.set(Q,J)}getGraphQLResolvers(){return Array.from(this.graphqlResolvers.values())}getGraphQLResolver(J){return this.graphqlResolvers.get(J)}getGraphQLFields(){return Array.from(this.graphqlFields.values())}getGraphQLFieldsByResolver(J){return Array.from(this.graphqlFields.values()).filter((Q)=>Q.target===J)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey(J,Q){return`${J.name}:${Q}`}static defineRoute(J,Q,q){let Z=this.getRouteMetadata(J,Q),N={...Z,...q,target:J.constructor,propertyKey:Q,middleware:[...Z?.middleware||[],...q.middleware||[]],parameters:q.parameters||Z?.parameters||[],dependencies:q.dependencies||Z?.dependencies||[],responses:q.responses||Z?.responses||[],auth:q.auth||Z?.auth,oauth:q.oauth||Z?.oauth,roles:q.roles||Z?.roles,permissions:q.permissions||Z?.permissions,minimumRole:q.minimumRole||Z?.minimumRole,resourcePermission:q.resourcePermission||Z?.resourcePermission,session:q.session||Z?.session,csrf:q.csrf||Z?.csrf};Reflect.defineMetadata(r,N,J,Q)}static defineParameter(J,Q,q,Z){let N=this.getParameterMetadata(J,Q)||[];N[q]=Z,Reflect.defineMetadata(kJ,N,J,Q);let A=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...A,parameters:N})}static defineDependency(J,Q,q,Z){let N=this.getDependencyMetadata(J,Q)||[];N[q]=Z,Reflect.defineMetadata(IJ,N,J,Q);let A=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...A,dependencies:N})}static defineController(J,Q){Reflect.defineMetadata(a,Q,J)}static getRouteMetadata(J,Q){return Reflect.getMetadata(r,J,Q)}static getParameterMetadata(J,Q){return Reflect.getMetadata(kJ,J,Q)}static getDependencyMetadata(J,Q){return Reflect.getMetadata(IJ,J,Q)}static getControllerMetadata(J){return Reflect.getMetadata(a,J)}static hasControllerMetadata(J){return Reflect.hasMetadata(a,J)}static hasRouteMetadata(J,Q){return Reflect.hasMetadata(r,J,Q)}static getRouteMethods(J){let Q=J.prototype,q=[],Z=Object.getOwnPropertyNames(Q);for(let N of Z){if(N==="constructor")continue;if(this.hasRouteMetadata(Q,N))q.push(N)}return q}static defineWebSocket(J,Q){let Z={...this.getWebSocketMetadata(J),...Q,target:J};Reflect.defineMetadata(t,Z,J)}static defineWebSocketHandler(J,Q,q){let Z=this.getWebSocketMetadata(J.constructor)||{};switch(q.type){case"connect":Z.onConnect=Q;break;case"message":Z.onMessage=Q,Z.messageSchema=q.schema;break;case"disconnect":Z.onDisconnect=Q;break}this.defineWebSocket(J.constructor,Z),Reflect.defineMetadata(vJ,q,J,Q)}static getWebSocketMetadata(J){return Reflect.getMetadata(t,J)}static getWebSocketHandlerMetadata(J,Q){return Reflect.getMetadata(vJ,J,Q)}static hasWebSocketMetadata(J){return Reflect.hasMetadata(t,J)}static defineGraphQLResolver(J,Q){Reflect.defineMetadata(e,Q,J)}static defineGraphQLField(J,Q,q){Reflect.defineMetadata(c,q,J,Q);let Z=this.getGraphQLFieldsMetadata(J.constructor)||[];Z.push(q),Reflect.defineMetadata(c,Z,J.constructor)}static getGraphQLResolverMetadata(J){return Reflect.getMetadata(e,J)}static getGraphQLFieldsMetadata(J){return Reflect.getMetadata(c,J)||[]}static getGraphQLFieldMetadata(J,Q){return Reflect.getMetadata(c,J,Q)}static hasGraphQLResolverMetadata(J){return Reflect.hasMetadata(e,J)}static hasGraphQLFieldMetadata(J,Q){return Reflect.hasMetadata(c,J,Q)}static defineAuth(J,Q,q){Reflect.defineMetadata(JJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,auth:q})}static getAuthMetadata(J,Q){return Reflect.getMetadata(JJ,J,Q)}static hasAuthMetadata(J,Q){return Reflect.hasMetadata(JJ,J,Q)}static defineOAuth(J,Q,q){Reflect.defineMetadata(QJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,oauth:q})}static getOAuthMetadata(J,Q){return Reflect.getMetadata(QJ,J,Q)}static hasOAuthMetadata(J,Q){return Reflect.hasMetadata(QJ,J,Q)}static defineRoles(J,Q,q){Reflect.defineMetadata(XJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,roles:q})}static definePermissions(J,Q,q){Reflect.defineMetadata($J,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,permissions:q})}static defineMinimumRole(J,Q,q){Reflect.defineMetadata(qJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,minimumRole:q})}static getRolesMetadata(J,Q){return Reflect.getMetadata(XJ,J,Q)}static getPermissionsMetadata(J,Q){return Reflect.getMetadata($J,J,Q)}static getMinimumRoleMetadata(J,Q){return Reflect.getMetadata(qJ,J,Q)}static hasRolesMetadata(J,Q){return Reflect.hasMetadata(XJ,J,Q)}static hasPermissionsMetadata(J,Q){return Reflect.hasMetadata($J,J,Q)}static hasMinimumRoleMetadata(J,Q){return Reflect.hasMetadata(qJ,J,Q)}static defineResourcePermission(J,Q,q){Reflect.defineMetadata(FJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,resourcePermission:q})}static getResourcePermissionMetadata(J,Q){return Reflect.getMetadata(FJ,J,Q)}static hasResourcePermissionMetadata(J,Q){return Reflect.hasMetadata(FJ,J,Q)}static defineSession(J,Q,q){Reflect.defineMetadata(ZJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,session:q})}static defineCSRF(J,Q,q){Reflect.defineMetadata(LJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,csrf:q})}static getSessionMetadata(J,Q){return Reflect.getMetadata(ZJ,J,Q)}static getCSRFMetadata(J,Q){return Reflect.getMetadata(LJ,J,Q)}static hasSessionMetadata(J,Q){return Reflect.hasMetadata(ZJ,J,Q)}static hasCSRFMetadata(J,Q){return Reflect.hasMetadata(LJ,J,Q)}}function YQ(J){return(Q)=>{I.defineWebSocket(Q,{path:J})}}function VQ(){return(J,Q)=>{I.defineWebSocketHandler(J,Q,{type:"connect",method:Q})}}function WQ(J){return(Q,q)=>{I.defineWebSocketHandler(Q,q,{type:"message",method:q,schema:J})}}function NQ(){return(J,Q)=>{I.defineWebSocketHandler(J,Q,{type:"disconnect",method:Q})}}
|
|
14
|
+
***************************************************************************** */var xJ;(function(J){(function(Q){var q=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:K(),Z=N(J);if(typeof q.Reflect<"u")Z=N(q.Reflect,Z);if(Q(Z,q),typeof q.Reflect>"u")q.Reflect=J;function N(_,v){return function(S,f){if(Object.defineProperty(_,S,{configurable:!0,writable:!0,value:f}),v)v(S,f)}}function A(){try{return Function("return this;")()}catch(_){}}function T(){try{return(0,eval)("(function() { return this; })()")}catch(_){}}function K(){return A()||T()}})(function(Q,q){var Z=Object.prototype.hasOwnProperty,N=typeof Symbol==="function",A=N&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",T=N&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",K=typeof Object.create==="function",_={__proto__:[]}instanceof Array,v=!K&&!_,S={create:K?function(){return y(Object.create(null))}:_?function(){return y({__proto__:null})}:function(){return y({})},has:v?function(X,$){return Z.call(X,$)}:function(X,$){return $ in X},get:v?function(X,$){return Z.call(X,$)?X[$]:void 0}:function(X,$){return X[$]}},f=Object.getPrototypeOf(Function),P=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:qQ(),g=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:FQ(),s=typeof WeakMap==="function"?WeakMap:ZQ(),b=N?Symbol.for("@reflect-metadata:registry"):void 0,m=QQ(),BJ=XQ(m);function OJ(X,$,F,L){if(!V(F)){if(!DJ(X))throw TypeError();if(!R($))throw TypeError();if(!R(L)&&!V(L)&&!x(L))throw TypeError();if(x(L))L=void 0;return F=E(F),pJ(X,$,F,L)}else{if(!DJ(X))throw TypeError();if(!RJ($))throw TypeError();return yJ(X,$)}}Q("decorate",OJ);function MJ(X,$){function F(L,W){if(!R(L))throw TypeError();if(!V(W)&&!eJ(W))throw TypeError();WJ(X,$,L,W)}return F}Q("metadata",MJ);function cJ(X,$,F,L){if(!R(F))throw TypeError();if(!V(L))L=E(L);return WJ(X,$,F,L)}Q("defineMetadata",cJ);function KJ(X,$,F){if(!R($))throw TypeError();if(!V(F))F=E(F);return zJ(X,$,F)}Q("hasMetadata",KJ);function mJ(X,$,F){if(!R($))throw TypeError();if(!V(F))F=E(F);return i(X,$,F)}Q("hasOwnMetadata",mJ);function gJ(X,$,F){if(!R($))throw TypeError();if(!V(F))F=E(F);return HJ(X,$,F)}Q("getMetadata",gJ);function sJ(X,$,F){if(!R($))throw TypeError();if(!V(F))F=E(F);return YJ(X,$,F)}Q("getOwnMetadata",sJ);function iJ(X,$){if(!R(X))throw TypeError();if(!V($))$=E($);return VJ(X,$)}Q("getMetadataKeys",iJ);function nJ(X,$){if(!R(X))throw TypeError();if(!V($))$=E($);return NJ(X,$)}Q("getOwnMetadataKeys",nJ);function dJ(X,$,F){if(!R($))throw TypeError();if(!V(F))F=E(F);if(!R($))throw TypeError();if(!V(F))F=E(F);var L=u($,F,!1);if(V(L))return!1;return L.OrdinaryDeleteMetadata(X,$,F)}Q("deleteMetadata",dJ);function yJ(X,$){for(var F=X.length-1;F>=0;--F){var L=X[F],W=L($);if(!V(W)&&!x(W)){if(!RJ(W))throw TypeError();$=W}}return $}function pJ(X,$,F,L){for(var W=X.length-1;W>=0;--W){var C=X[W],w=C($,F,L);if(!V(w)&&!x(w)){if(!R(w))throw TypeError();L=w}}return L}function zJ(X,$,F){var L=i(X,$,F);if(L)return!0;var W=d($);if(!x(W))return zJ(X,W,F);return!1}function i(X,$,F){var L=u($,F,!1);if(V(L))return!1;return jJ(L.OrdinaryHasOwnMetadata(X,$,F))}function HJ(X,$,F){var L=i(X,$,F);if(L)return YJ(X,$,F);var W=d($);if(!x(W))return HJ(X,W,F);return}function YJ(X,$,F){var L=u($,F,!1);if(V(L))return;return L.OrdinaryGetOwnMetadata(X,$,F)}function WJ(X,$,F,L){var W=u(F,L,!0);W.OrdinaryDefineOwnMetadata(X,$,F,L)}function VJ(X,$){var F=NJ(X,$),L=d(X);if(L===null)return F;var W=VJ(L,$);if(W.length<=0)return F;if(F.length<=0)return W;var C=new g,w=[];for(var G=0,B=F;G<B.length;G++){var z=B[G],H=C.has(z);if(!H)C.add(z),w.push(z)}for(var Y=0,j=W;Y<j.length;Y++){var z=j[Y],H=C.has(z);if(!H)C.add(z),w.push(z)}return w}function NJ(X,$){var F=u(X,$,!1);if(!F)return[];return F.OrdinaryOwnMetadataKeys(X,$)}function GJ(X){if(X===null)return 1;switch(typeof X){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return X===null?1:6;default:return 6}}function V(X){return X===void 0}function x(X){return X===null}function oJ(X){return typeof X==="symbol"}function R(X){return typeof X==="object"?X!==null:typeof X==="function"}function rJ(X,$){switch(GJ(X)){case 0:return X;case 1:return X;case 2:return X;case 3:return X;case 4:return X;case 5:return X}var F=$===3?"string":$===5?"number":"default",L=CJ(X,A);if(L!==void 0){var W=L.call(X,F);if(R(W))throw TypeError();return W}return aJ(X,F==="default"?"number":F)}function aJ(X,$){if($==="string"){var F=X.toString;if(k(F)){var L=F.call(X);if(!R(L))return L}var W=X.valueOf;if(k(W)){var L=W.call(X);if(!R(L))return L}}else{var W=X.valueOf;if(k(W)){var L=W.call(X);if(!R(L))return L}var C=X.toString;if(k(C)){var L=C.call(X);if(!R(L))return L}}throw TypeError()}function jJ(X){return!!X}function tJ(X){return""+X}function E(X){var $=rJ(X,3);if(oJ($))return $;return tJ($)}function DJ(X){return Array.isArray?Array.isArray(X):X instanceof Object?X instanceof Array:Object.prototype.toString.call(X)==="[object Array]"}function k(X){return typeof X==="function"}function RJ(X){return typeof X==="function"}function eJ(X){switch(GJ(X)){case 3:return!0;case 4:return!0;default:return!1}}function n(X,$){return X===$||X!==X&&$!==$}function CJ(X,$){var F=X[$];if(F===void 0||F===null)return;if(!k(F))throw TypeError();return F}function hJ(X){var $=CJ(X,T);if(!k($))throw TypeError();var F=$.call(X);if(!R(F))throw TypeError();return F}function wJ(X){return X.value}function AJ(X){var $=X.next();return $.done?!1:$}function UJ(X){var $=X.return;if($)$.call(X)}function d(X){var $=Object.getPrototypeOf(X);if(typeof X!=="function"||X===f)return $;if($!==f)return $;var F=X.prototype,L=F&&Object.getPrototypeOf(F);if(L==null||L===Object.prototype)return $;var W=L.constructor;if(typeof W!=="function")return $;if(W===X)return $;return W}function JQ(){var X;if(!V(b)&&typeof q.Reflect<"u"&&!(b in q.Reflect)&&typeof q.Reflect.defineMetadata==="function")X=$Q(q.Reflect);var $,F,L,W=new s,C={registerProvider:w,getProvider:B,setProvider:H};return C;function w(Y){if(!Object.isExtensible(C))throw Error("Cannot add provider to a frozen registry.");switch(!0){case X===Y:break;case V($):$=Y;break;case $===Y:break;case V(F):F=Y;break;case F===Y:break;default:if(L===void 0)L=new g;L.add(Y);break}}function G(Y,j){if(!V($)){if($.isProviderFor(Y,j))return $;if(!V(F)){if(F.isProviderFor(Y,j))return $;if(!V(L)){var D=hJ(L);while(!0){var h=AJ(D);if(!h)return;var U=wJ(h);if(U.isProviderFor(Y,j))return UJ(D),U}}}}if(!V(X)&&X.isProviderFor(Y,j))return X;return}function B(Y,j){var D=W.get(Y),h;if(!V(D))h=D.get(j);if(!V(h))return h;if(h=G(Y,j),!V(h)){if(V(D))D=new P,W.set(Y,D);D.set(j,h)}return h}function z(Y){if(V(Y))throw TypeError();return $===Y||F===Y||!V(L)&&L.has(Y)}function H(Y,j,D){if(!z(D))throw Error("Metadata provider not registered.");var h=B(Y,j);if(h!==D){if(!V(h))return!1;var U=W.get(Y);if(V(U))U=new P,W.set(Y,U);U.set(j,D)}return!0}}function QQ(){var X;if(!V(b)&&R(q.Reflect)&&Object.isExtensible(q.Reflect))X=q.Reflect[b];if(V(X))X=JQ();if(!V(b)&&R(q.Reflect)&&Object.isExtensible(q.Reflect))Object.defineProperty(q.Reflect,b,{enumerable:!1,configurable:!1,writable:!1,value:X});return X}function XQ(X){var $=new s,F={isProviderFor:function(z,H){var Y=$.get(z);if(V(Y))return!1;return Y.has(H)},OrdinaryDefineOwnMetadata:w,OrdinaryHasOwnMetadata:W,OrdinaryGetOwnMetadata:C,OrdinaryOwnMetadataKeys:G,OrdinaryDeleteMetadata:B};return m.registerProvider(F),F;function L(z,H,Y){var j=$.get(z),D=!1;if(V(j)){if(!Y)return;j=new P,$.set(z,j),D=!0}var h=j.get(H);if(V(h)){if(!Y)return;if(h=new P,j.set(H,h),!X.setProvider(z,H,F)){if(j.delete(H),D)$.delete(z);throw Error("Wrong provider for target.")}}return h}function W(z,H,Y){var j=L(H,Y,!1);if(V(j))return!1;return jJ(j.has(z))}function C(z,H,Y){var j=L(H,Y,!1);if(V(j))return;return j.get(z)}function w(z,H,Y,j){var D=L(Y,j,!0);D.set(z,H)}function G(z,H){var Y=[],j=L(z,H,!1);if(V(j))return Y;var D=j.keys(),h=hJ(D),U=0;while(!0){var EJ=AJ(h);if(!EJ)return Y.length=U,Y;var LQ=wJ(EJ);try{Y[U]=LQ}catch(BQ){try{UJ(h)}finally{throw BQ}}U++}}function B(z,H,Y){var j=L(H,Y,!1);if(V(j))return!1;if(!j.delete(z))return!1;if(j.size===0){var D=$.get(H);if(!V(D)){if(D.delete(Y),D.size===0)$.delete(D)}}return!0}}function $Q(X){var{defineMetadata:$,hasOwnMetadata:F,getOwnMetadata:L,getOwnMetadataKeys:W,deleteMetadata:C}=X,w=new s,G={isProviderFor:function(B,z){var H=w.get(B);if(!V(H)&&H.has(z))return!0;if(W(B,z).length){if(V(H))H=new g,w.set(B,H);return H.add(z),!0}return!1},OrdinaryDefineOwnMetadata:$,OrdinaryHasOwnMetadata:F,OrdinaryGetOwnMetadata:L,OrdinaryOwnMetadataKeys:W,OrdinaryDeleteMetadata:C};return G}function u(X,$,F){var L=m.getProvider(X,$);if(!V(L))return L;if(F){if(m.setProvider(X,$,BJ))return BJ;throw Error("Illegal state.")}return}function qQ(){var X={},$=[],F=function(){function G(B,z,H){this._index=0,this._keys=B,this._values=z,this._selector=H}return G.prototype["@@iterator"]=function(){return this},G.prototype[T]=function(){return this},G.prototype.next=function(){var B=this._index;if(B>=0&&B<this._keys.length){var z=this._selector(this._keys[B],this._values[B]);if(B+1>=this._keys.length)this._index=-1,this._keys=$,this._values=$;else this._index++;return{value:z,done:!1}}return{value:void 0,done:!0}},G.prototype.throw=function(B){if(this._index>=0)this._index=-1,this._keys=$,this._values=$;throw B},G.prototype.return=function(B){if(this._index>=0)this._index=-1,this._keys=$,this._values=$;return{value:B,done:!0}},G}(),L=function(){function G(){this._keys=[],this._values=[],this._cacheKey=X,this._cacheIndex=-2}return Object.defineProperty(G.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),G.prototype.has=function(B){return this._find(B,!1)>=0},G.prototype.get=function(B){var z=this._find(B,!1);return z>=0?this._values[z]:void 0},G.prototype.set=function(B,z){var H=this._find(B,!0);return this._values[H]=z,this},G.prototype.delete=function(B){var z=this._find(B,!1);if(z>=0){var H=this._keys.length;for(var Y=z+1;Y<H;Y++)this._keys[Y-1]=this._keys[Y],this._values[Y-1]=this._values[Y];if(this._keys.length--,this._values.length--,n(B,this._cacheKey))this._cacheKey=X,this._cacheIndex=-2;return!0}return!1},G.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=X,this._cacheIndex=-2},G.prototype.keys=function(){return new F(this._keys,this._values,W)},G.prototype.values=function(){return new F(this._keys,this._values,C)},G.prototype.entries=function(){return new F(this._keys,this._values,w)},G.prototype["@@iterator"]=function(){return this.entries()},G.prototype[T]=function(){return this.entries()},G.prototype._find=function(B,z){if(!n(this._cacheKey,B)){this._cacheIndex=-1;for(var H=0;H<this._keys.length;H++)if(n(this._keys[H],B)){this._cacheIndex=H;break}}if(this._cacheIndex<0&&z)this._cacheIndex=this._keys.length,this._keys.push(B),this._values.push(void 0);return this._cacheIndex},G}();return L;function W(G,B){return G}function C(G,B){return B}function w(G,B){return[G,B]}}function FQ(){var X=function(){function $(){this._map=new P}return Object.defineProperty($.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),$.prototype.has=function(F){return this._map.has(F)},$.prototype.add=function(F){return this._map.set(F,F),this},$.prototype.delete=function(F){return this._map.delete(F)},$.prototype.clear=function(){this._map.clear()},$.prototype.keys=function(){return this._map.keys()},$.prototype.values=function(){return this._map.keys()},$.prototype.entries=function(){return this._map.entries()},$.prototype["@@iterator"]=function(){return this.keys()},$.prototype[T]=function(){return this.keys()},$}();return X}function ZQ(){var X=16,$=S.create(),F=L();return function(){function B(){this._key=L()}return B.prototype.has=function(z){var H=W(z,!1);return H!==void 0?S.has(H,this._key):!1},B.prototype.get=function(z){var H=W(z,!1);return H!==void 0?S.get(H,this._key):void 0},B.prototype.set=function(z,H){var Y=W(z,!0);return Y[this._key]=H,this},B.prototype.delete=function(z){var H=W(z,!1);return H!==void 0?delete H[this._key]:!1},B.prototype.clear=function(){this._key=L()},B}();function L(){var B;do B="@@WeakMap@@"+G();while(S.has($,B));return $[B]=!0,B}function W(B,z){if(!Z.call(B,F)){if(!z)return;Object.defineProperty(B,F,{value:S.create()})}return B[F]}function C(B,z){for(var H=0;H<z;++H)B[H]=Math.random()*255|0;return B}function w(B){if(typeof Uint8Array==="function"){var z=new Uint8Array(B);if(typeof crypto<"u")crypto.getRandomValues(z);else if(typeof msCrypto<"u")msCrypto.getRandomValues(z);else C(z,B);return z}return C(Array(B),B)}function G(){var B=w(X);B[6]=B[6]&79|64,B[8]=B[8]&191|128;var z="";for(var H=0;H<X;++H){var Y=B[H];if(H===4||H===6||H===8)z+="-";if(Y<16)z+="0";z+=Y.toString(16).toLowerCase()}return z}}function y(X){return X.__=void 0,delete X.__,X}})})(xJ||(xJ={}))});var GQ={};NQ(GQ,{WebSocketPlugin:()=>p,WebSocketManager:()=>M,WebSocketConnection:()=>O,WebSocket:()=>fJ,OnMessage:()=>uJ,OnDisconnect:()=>lJ,OnConnect:()=>PJ});module.exports=WQ(GQ);class O{manager;id;_ws;constructor(J,Q,q){this.manager=Q;this._ws=J,this.id=q||crypto.randomUUID()}send(J){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let Q=typeof J==="string"?J:JSON.stringify(J);this._ws.send(Q)}broadcast(J,Q){this.manager.broadcast(J,Q)}join(J){this.manager.joinRoom(this.id,J)}leave(J){this.manager.leaveRoom(this.id,J)}close(J,Q){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close(J,Q)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class M{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection(J,Q){let q=new O(J,this);if(this.connections.set(q.id,q),Q.onConnect)this.executeHandler(Q,Q.onConnect,q);return J.addEventListener("message",async(Z)=>{await this.handleMessage(Z,q,Q)}),J.addEventListener("close",()=>{this.handleDisconnect(q,Q)}),J.addEventListener("error",(Z)=>{console.error(`WebSocket error for connection ${q.id}:`,Z)}),q}async handleMessage(J,Q,q){if(!q.onMessage)return;let Z;try{if(Z=typeof J.data==="string"?JSON.parse(J.data):J.data,q.messageSchema)Z=await q.messageSchema.parseAsync(Z);await this.executeHandler(q,q.onMessage,Q,Z)}catch(N){Q.send({error:"Invalid message format",details:N instanceof Error?N.message:"Unknown error"})}}handleDisconnect(J,Q){if(Array.from(this.connectionsByRoom.entries()).forEach(([q,Z])=>{if(Z.delete(J),Z.size===0)this.connectionsByRoom.delete(q)}),Array.from(this.rooms.entries()).forEach(([q,Z])=>{if(Z.delete(J.id),Z.size===0)this.rooms.delete(q)}),this.connections.delete(J.id),J._markClosed(),Q.onDisconnect)this.executeHandler(Q,Q.onDisconnect,J)}async executeHandler(J,Q,q,Z){try{let N=new J.target,A=N[Q];if(typeof A==="function")if(Z!==void 0)await A.call(N,q,Z);else await A.call(N,q)}catch(N){console.error(`Error executing WebSocket handler ${Q}:`,N)}}broadcast(J,Q){let q=Q?this.getConnectionsInRoom(Q):Array.from(this.connections.values()),Z=typeof J==="string"?J:JSON.stringify(J);for(let N of q)if(N.isOpen)N.send(Z)}joinRoom(J,Q){let q=this.connections.get(J);if(!q)return;if(!this.rooms.has(Q))this.rooms.set(Q,new Set);if(this.rooms.get(Q).add(J),!this.connectionsByRoom.has(Q))this.connectionsByRoom.set(Q,new Set);this.connectionsByRoom.get(Q).add(q)}leaveRoom(J,Q){let q=this.connections.get(J);if(!q)return;let Z=this.rooms.get(Q);if(Z){if(Z.delete(J),Z.size===0)this.rooms.delete(Q)}let N=this.connectionsByRoom.get(Q);if(N){if(N.delete(q),N.size===0)this.connectionsByRoom.delete(Q)}}getConnectionsInRoom(J){let Q=this.connectionsByRoom.get(J);return Q?Array.from(Q):[]}getConnection(J){return this.connections.get(J)}getAllConnections(){return Array.from(this.connections.values())}getConnectionCount(){return this.connections.size}getRooms(){return Array.from(this.rooms.keys())}getRoomSize(J){return this.rooms.get(J)?.size||0}}class p{name="websocket";version="1.0.0";manager;constructor(){this.manager=new M}async install(J){let q=J.getMetadata().getWebSockets();for(let Z of q)this.registerWebSocket(J,Z)}registerWebSocket(J,Q){J.getHono().get(Q.path,async(Z)=>{if(Z.req.header("upgrade")?.toLowerCase()!=="websocket")return Z.text("Expected WebSocket upgrade",426);return this.handleUpgrade(Z,Q)})}handleUpgrade(J,Q){if(typeof Bun<"u")return this.handleBunUpgrade(J,Q);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade(J,Q);else return this.handleNodeUpgrade(J,Q)}handleBunUpgrade(J,Q){if(!J.env?.upgrade?.(J.req.raw))return J.text("WebSocket upgrade failed",500);return new Response(null,{status:101})}handleDenoUpgrade(J,Q){let q=globalThis.Deno,{socket:Z,response:N}=q.upgradeWebSocket(J.req.raw);return Z.onopen=()=>{this.manager.handleConnection(Z,Q)},N}handleNodeUpgrade(J,Q){return J.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast(J,Q){this.manager.broadcast(J,Q)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var _Q=bJ(o());var SQ=bJ(o()),r=Symbol("route:metadata"),a=Symbol("controller:metadata"),kJ=Symbol("parameter:metadata"),IJ=Symbol("dependency:metadata"),t=Symbol("websocket:metadata"),vJ=Symbol("websocket:handler:metadata"),e=Symbol("graphql:resolver"),c=Symbol("graphql:field"),JJ=Symbol("auth:metadata"),QJ=Symbol("oauth:metadata"),XJ=Symbol("roles:metadata"),$J=Symbol("permissions:metadata"),qJ=Symbol("minimum-role:metadata"),FJ=Symbol("resource-permission:metadata"),ZJ=Symbol("session:metadata"),LJ=Symbol("csrf:metadata");class I{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute(J){let Q=this.getRouteKey(J.target,J.propertyKey);if(this.routes.set(Q,J),!this.routesByController.has(J.target))this.routesByController.set(J.target,[]);this.routesByController.get(J.target).push(J)}registerController(J,Q){this.controllers.set(J,Q)}getRoutes(){return Array.from(this.routes.values())}getRoute(J,Q){let q=this.getRouteKey(J,Q);return this.routes.get(q)}getRoutesByController(J){return this.routesByController.get(J)||[]}getController(J){return this.controllers.get(J)}getControllers(){return new Map(this.controllers)}registerWebSocket(J){this.websockets.set(J.target,J)}getWebSockets(){return Array.from(this.websockets.values())}getWebSocket(J){return this.websockets.get(J)}registerGraphQLResolver(J){this.graphqlResolvers.set(J.target,J)}registerGraphQLField(J){let Q=this.getRouteKey(J.target,J.propertyKey);this.graphqlFields.set(Q,J)}getGraphQLResolvers(){return Array.from(this.graphqlResolvers.values())}getGraphQLResolver(J){return this.graphqlResolvers.get(J)}getGraphQLFields(){return Array.from(this.graphqlFields.values())}getGraphQLFieldsByResolver(J){return Array.from(this.graphqlFields.values()).filter((Q)=>Q.target===J)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey(J,Q){return`${J.name}:${Q}`}static defineRoute(J,Q,q){let Z=this.getRouteMetadata(J,Q),N={...Z,...q,target:J.constructor,propertyKey:Q,middleware:[...Z?.middleware||[],...q.middleware||[]],parameters:q.parameters||Z?.parameters||[],dependencies:q.dependencies||Z?.dependencies||[],responses:q.responses||Z?.responses||[],auth:q.auth||Z?.auth,oauth:q.oauth||Z?.oauth,roles:q.roles||Z?.roles,permissions:q.permissions||Z?.permissions,minimumRole:q.minimumRole||Z?.minimumRole,resourcePermission:q.resourcePermission||Z?.resourcePermission,session:q.session||Z?.session,csrf:q.csrf||Z?.csrf};Reflect.defineMetadata(r,N,J,Q)}static defineParameter(J,Q,q,Z){let N=this.getParameterMetadata(J,Q)||[];N[q]=Z,Reflect.defineMetadata(kJ,N,J,Q);let A=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...A,parameters:N})}static defineDependency(J,Q,q,Z){let N=this.getDependencyMetadata(J,Q)||[];N[q]=Z,Reflect.defineMetadata(IJ,N,J,Q);let A=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...A,dependencies:N})}static defineController(J,Q){Reflect.defineMetadata(a,Q,J)}static getRouteMetadata(J,Q){return Reflect.getMetadata(r,J,Q)}static getParameterMetadata(J,Q){return Reflect.getMetadata(kJ,J,Q)}static getDependencyMetadata(J,Q){return Reflect.getMetadata(IJ,J,Q)}static getControllerMetadata(J){return Reflect.getMetadata(a,J)}static hasControllerMetadata(J){return Reflect.hasMetadata(a,J)}static hasRouteMetadata(J,Q){return Reflect.hasMetadata(r,J,Q)}static getRouteMethods(J){let Q=J.prototype,q=[],Z=Object.getOwnPropertyNames(Q);for(let N of Z){if(N==="constructor")continue;if(this.hasRouteMetadata(Q,N))q.push(N)}return q}static defineWebSocket(J,Q){let Z={...this.getWebSocketMetadata(J),...Q,target:J};Reflect.defineMetadata(t,Z,J)}static defineWebSocketHandler(J,Q,q){let Z=this.getWebSocketMetadata(J.constructor)||{};switch(q.type){case"connect":Z.onConnect=Q;break;case"message":Z.onMessage=Q,Z.messageSchema=q.schema;break;case"disconnect":Z.onDisconnect=Q;break}this.defineWebSocket(J.constructor,Z),Reflect.defineMetadata(vJ,q,J,Q)}static getWebSocketMetadata(J){return Reflect.getMetadata(t,J)}static getWebSocketHandlerMetadata(J,Q){return Reflect.getMetadata(vJ,J,Q)}static hasWebSocketMetadata(J){return Reflect.hasMetadata(t,J)}static defineGraphQLResolver(J,Q){Reflect.defineMetadata(e,Q,J)}static defineGraphQLField(J,Q,q){Reflect.defineMetadata(c,q,J,Q);let Z=this.getGraphQLFieldsMetadata(J.constructor)||[];Z.push(q),Reflect.defineMetadata(c,Z,J.constructor)}static getGraphQLResolverMetadata(J){return Reflect.getMetadata(e,J)}static getGraphQLFieldsMetadata(J){return Reflect.getMetadata(c,J)||[]}static getGraphQLFieldMetadata(J,Q){return Reflect.getMetadata(c,J,Q)}static hasGraphQLResolverMetadata(J){return Reflect.hasMetadata(e,J)}static hasGraphQLFieldMetadata(J,Q){return Reflect.hasMetadata(c,J,Q)}static defineAuth(J,Q,q){Reflect.defineMetadata(JJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,auth:q})}static getAuthMetadata(J,Q){return Reflect.getMetadata(JJ,J,Q)}static hasAuthMetadata(J,Q){return Reflect.hasMetadata(JJ,J,Q)}static defineOAuth(J,Q,q){Reflect.defineMetadata(QJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,oauth:q})}static getOAuthMetadata(J,Q){return Reflect.getMetadata(QJ,J,Q)}static hasOAuthMetadata(J,Q){return Reflect.hasMetadata(QJ,J,Q)}static defineRoles(J,Q,q){Reflect.defineMetadata(XJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,roles:q})}static definePermissions(J,Q,q){Reflect.defineMetadata($J,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,permissions:q})}static defineMinimumRole(J,Q,q){Reflect.defineMetadata(qJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,minimumRole:q})}static getRolesMetadata(J,Q){return Reflect.getMetadata(XJ,J,Q)}static getPermissionsMetadata(J,Q){return Reflect.getMetadata($J,J,Q)}static getMinimumRoleMetadata(J,Q){return Reflect.getMetadata(qJ,J,Q)}static hasRolesMetadata(J,Q){return Reflect.hasMetadata(XJ,J,Q)}static hasPermissionsMetadata(J,Q){return Reflect.hasMetadata($J,J,Q)}static hasMinimumRoleMetadata(J,Q){return Reflect.hasMetadata(qJ,J,Q)}static defineResourcePermission(J,Q,q){Reflect.defineMetadata(FJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,resourcePermission:q})}static getResourcePermissionMetadata(J,Q){return Reflect.getMetadata(FJ,J,Q)}static hasResourcePermissionMetadata(J,Q){return Reflect.hasMetadata(FJ,J,Q)}static defineSession(J,Q,q){Reflect.defineMetadata(ZJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,session:q})}static defineCSRF(J,Q,q){Reflect.defineMetadata(LJ,q,J,Q);let Z=this.getRouteMetadata(J,Q);this.defineRoute(J,Q,{...Z,csrf:q})}static getSessionMetadata(J,Q){return Reflect.getMetadata(ZJ,J,Q)}static getCSRFMetadata(J,Q){return Reflect.getMetadata(LJ,J,Q)}static hasSessionMetadata(J,Q){return Reflect.hasMetadata(ZJ,J,Q)}static hasCSRFMetadata(J,Q){return Reflect.hasMetadata(LJ,J,Q)}}function fJ(J){return(Q)=>{I.defineWebSocket(Q,{path:J})}}function PJ(){return(J,Q)=>{I.defineWebSocketHandler(J,Q,{type:"connect",method:Q})}}function uJ(J){return(Q,q)=>{I.defineWebSocketHandler(Q,q,{type:"message",method:q,schema:J})}}function lJ(){return(J,Q)=>{I.defineWebSocketHandler(J,Q,{type:"disconnect",method:Q})}}
|
|
15
15
|
|
|
16
|
-
//# debugId=
|
|
16
|
+
//# debugId=92261A27F43A5D7164756E2164756E21
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
"// Metadata registry for storing decorator metadata\r\nimport 'reflect-metadata';\r\nimport type {\r\n RouteMetadata,\r\n ParameterMetadata,\r\n DependencyMetadata,\r\n ControllerMetadata,\r\n Class,\r\n HTTPMethod,\r\n Middleware,\r\n RouteDocumentation,\r\n ResponseMetadata,\r\n WebSocketMetadata,\r\n WebSocketHandlerMetadata,\r\n GraphQLResolverMetadata,\r\n GraphQLFieldMetadata,\r\n AuthMetadata\r\n} from '../types';\r\n\r\n// Metadata keys for reflect-metadata\r\nconst ROUTE_METADATA_KEY = Symbol('route:metadata');\r\nconst CONTROLLER_METADATA_KEY = Symbol('controller:metadata');\r\nconst PARAMETER_METADATA_KEY = Symbol('parameter:metadata');\r\nconst DEPENDENCY_METADATA_KEY = Symbol('dependency:metadata');\r\nconst WEBSOCKET_METADATA_KEY = Symbol('websocket:metadata');\r\nconst WEBSOCKET_HANDLER_METADATA_KEY = Symbol('websocket:handler:metadata');\r\nconst GRAPHQL_RESOLVER_KEY = Symbol('graphql:resolver');\r\nconst GRAPHQL_FIELD_KEY = Symbol('graphql:field');\r\nconst AUTH_METADATA_KEY = Symbol('auth:metadata');\r\nconst OAUTH_METADATA_KEY = Symbol('oauth:metadata');\r\nconst ROLES_METADATA_KEY = Symbol('roles:metadata');\r\nconst PERMISSIONS_METADATA_KEY = Symbol('permissions:metadata');\r\nconst MINIMUM_ROLE_METADATA_KEY = Symbol('minimum-role:metadata');\r\nconst RESOURCE_PERMISSION_METADATA_KEY = Symbol('resource-permission:metadata');\r\nconst SESSION_METADATA_KEY = Symbol('session:metadata');\r\nconst CSRF_METADATA_KEY = Symbol('csrf:metadata');\r\n\r\nexport class MetadataRegistry {\r\n private routes: Map<string, RouteMetadata> = new Map();\r\n private controllers: Map<Class, ControllerMetadata> = new Map();\r\n private routesByController: Map<Class, RouteMetadata[]> = new Map();\r\n private websockets: Map<Class, WebSocketMetadata> = new Map();\r\n private graphqlResolvers: Map<Class, GraphQLResolverMetadata> = new Map();\r\n private graphqlFields: Map<string, GraphQLFieldMetadata> = new Map();\r\n\r\n /**\r\n * Register a route in the registry\r\n */\r\n registerRoute(metadata: RouteMetadata): void {\r\n const key = this.getRouteKey(metadata.target, metadata.propertyKey);\r\n this.routes.set(key, metadata);\r\n\r\n // Also track routes by controller\r\n if (!this.routesByController.has(metadata.target)) {\r\n this.routesByController.set(metadata.target, []);\r\n }\r\n this.routesByController.get(metadata.target)!.push(metadata);\r\n }\r\n\r\n /**\r\n * Register a controller in the registry\r\n */\r\n registerController(target: Class, metadata: ControllerMetadata): void {\r\n this.controllers.set(target, metadata);\r\n }\r\n\r\n /**\r\n * Get all registered routes\r\n */\r\n getRoutes(): RouteMetadata[] {\r\n return Array.from(this.routes.values());\r\n }\r\n\r\n /**\r\n * Get a specific route by target and property key\r\n */\r\n getRoute(target: Class, propertyKey: string): RouteMetadata | undefined {\r\n const key = this.getRouteKey(target, propertyKey);\r\n return this.routes.get(key);\r\n }\r\n\r\n /**\r\n * Get all routes for a specific controller\r\n */\r\n getRoutesByController(target: Class): RouteMetadata[] {\r\n return this.routesByController.get(target) || [];\r\n }\r\n\r\n /**\r\n * Get controller metadata\r\n */\r\n getController(target: Class): ControllerMetadata | undefined {\r\n return this.controllers.get(target);\r\n }\r\n\r\n /**\r\n * Get all registered controllers\r\n */\r\n getControllers(): Map<Class, ControllerMetadata> {\r\n return new Map(this.controllers);\r\n }\r\n\r\n /**\r\n * Register a WebSocket handler in the registry\r\n */\r\n registerWebSocket(metadata: WebSocketMetadata): void {\r\n this.websockets.set(metadata.target, metadata);\r\n }\r\n\r\n /**\r\n * Get all registered WebSocket handlers\r\n */\r\n getWebSockets(): WebSocketMetadata[] {\r\n return Array.from(this.websockets.values());\r\n }\r\n\r\n /**\r\n * Get WebSocket metadata for a specific target\r\n */\r\n getWebSocket(target: Class): WebSocketMetadata | undefined {\r\n return this.websockets.get(target);\r\n }\r\n\r\n /**\r\n * Register a GraphQL resolver in the registry\r\n */\r\n registerGraphQLResolver(metadata: GraphQLResolverMetadata): void {\r\n this.graphqlResolvers.set(metadata.target, metadata);\r\n }\r\n\r\n /**\r\n * Register a GraphQL field in the registry\r\n */\r\n registerGraphQLField(metadata: GraphQLFieldMetadata): void {\r\n const key = this.getRouteKey(metadata.target, metadata.propertyKey);\r\n this.graphqlFields.set(key, metadata);\r\n }\r\n\r\n /**\r\n * Get all registered GraphQL resolvers\r\n */\r\n getGraphQLResolvers(): GraphQLResolverMetadata[] {\r\n return Array.from(this.graphqlResolvers.values());\r\n }\r\n\r\n /**\r\n * Get GraphQL resolver metadata for a specific target\r\n */\r\n getGraphQLResolver(target: Class): GraphQLResolverMetadata | undefined {\r\n return this.graphqlResolvers.get(target);\r\n }\r\n\r\n /**\r\n * Get all GraphQL fields\r\n */\r\n getGraphQLFields(): GraphQLFieldMetadata[] {\r\n return Array.from(this.graphqlFields.values());\r\n }\r\n\r\n /**\r\n * Get GraphQL fields for a specific resolver\r\n */\r\n getGraphQLFieldsByResolver(target: Class): GraphQLFieldMetadata[] {\r\n return Array.from(this.graphqlFields.values()).filter(\r\n field => field.target === target\r\n );\r\n }\r\n\r\n /**\r\n * Clear all metadata (useful for testing)\r\n */\r\n clear(): void {\r\n this.routes.clear();\r\n this.controllers.clear();\r\n this.routesByController.clear();\r\n this.websockets.clear();\r\n this.graphqlResolvers.clear();\r\n this.graphqlFields.clear();\r\n }\r\n\r\n /**\r\n * Generate a unique key for a route\r\n */\r\n private getRouteKey(target: Class, propertyKey: string): string {\r\n return `${target.name}:${propertyKey}`;\r\n }\r\n\r\n // ============================================================================\r\n // Static methods for decorator usage\r\n // ============================================================================\r\n\r\n /**\r\n * Define route metadata using reflect-metadata (used by decorators)\r\n */\r\n static defineRoute(\r\n target: any,\r\n propertyKey: string,\r\n metadata: Partial<RouteMetadata>\r\n ): void {\r\n const existingMetadata = this.getRouteMetadata(target, propertyKey);\r\n \r\n const mergedMetadata: Partial<RouteMetadata> = {\r\n ...existingMetadata,\r\n ...metadata,\r\n target: target.constructor,\r\n propertyKey,\r\n // Merge arrays instead of replacing\r\n middleware: [\r\n ...(existingMetadata?.middleware || []),\r\n ...(metadata.middleware || [])\r\n ],\r\n parameters: metadata.parameters || existingMetadata?.parameters || [],\r\n dependencies: metadata.dependencies || existingMetadata?.dependencies || [],\r\n responses: metadata.responses || existingMetadata?.responses || [],\r\n // Preserve auth metadata\r\n auth: metadata.auth || existingMetadata?.auth,\r\n oauth: metadata.oauth || existingMetadata?.oauth,\r\n roles: metadata.roles || existingMetadata?.roles,\r\n permissions: metadata.permissions || existingMetadata?.permissions,\r\n minimumRole: metadata.minimumRole || existingMetadata?.minimumRole,\r\n resourcePermission: metadata.resourcePermission || existingMetadata?.resourcePermission,\r\n session: metadata.session || existingMetadata?.session,\r\n csrf: metadata.csrf || existingMetadata?.csrf\r\n };\r\n\r\n Reflect.defineMetadata(\r\n ROUTE_METADATA_KEY,\r\n mergedMetadata,\r\n target,\r\n propertyKey\r\n );\r\n }\r\n\r\n /**\r\n * Define parameter metadata (used by parameter decorators)\r\n */\r\n static defineParameter(\r\n target: any,\r\n propertyKey: string,\r\n index: number,\r\n metadata: ParameterMetadata\r\n ): void {\r\n const existingParams = this.getParameterMetadata(target, propertyKey) || [];\r\n \r\n // Update or add parameter at the specified index\r\n existingParams[index] = metadata;\r\n\r\n Reflect.defineMetadata(\r\n PARAMETER_METADATA_KEY,\r\n existingParams,\r\n target,\r\n propertyKey\r\n );\r\n\r\n // Also update the route metadata to include this parameter\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n parameters: existingParams\r\n });\r\n }\r\n\r\n /**\r\n * Define dependency metadata (used by @Depends decorator)\r\n */\r\n static defineDependency(\r\n target: any,\r\n propertyKey: string,\r\n index: number,\r\n metadata: DependencyMetadata\r\n ): void {\r\n const existingDeps = this.getDependencyMetadata(target, propertyKey) || [];\r\n \r\n // Update or add dependency at the specified index\r\n existingDeps[index] = metadata;\r\n\r\n Reflect.defineMetadata(\r\n DEPENDENCY_METADATA_KEY,\r\n existingDeps,\r\n target,\r\n propertyKey\r\n );\r\n\r\n // Also update the route metadata to include this dependency\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n dependencies: existingDeps\r\n });\r\n }\r\n\r\n /**\r\n * Define controller metadata (used by @Controller decorator)\r\n */\r\n static defineController(target: any, metadata: ControllerMetadata): void {\r\n Reflect.defineMetadata(CONTROLLER_METADATA_KEY, metadata, target);\r\n }\r\n\r\n /**\r\n * Get route metadata from reflect-metadata\r\n */\r\n static getRouteMetadata(target: any, propertyKey: string): Partial<RouteMetadata> | undefined {\r\n return Reflect.getMetadata(ROUTE_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get parameter metadata from reflect-metadata\r\n */\r\n static getParameterMetadata(target: any, propertyKey: string): ParameterMetadata[] | undefined {\r\n return Reflect.getMetadata(PARAMETER_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get dependency metadata from reflect-metadata\r\n */\r\n static getDependencyMetadata(target: any, propertyKey: string): DependencyMetadata[] | undefined {\r\n return Reflect.getMetadata(DEPENDENCY_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get controller metadata from reflect-metadata\r\n */\r\n static getControllerMetadata(target: any): ControllerMetadata | undefined {\r\n return Reflect.getMetadata(CONTROLLER_METADATA_KEY, target);\r\n }\r\n\r\n /**\r\n * Check if a class has controller metadata\r\n */\r\n static hasControllerMetadata(target: any): boolean {\r\n return Reflect.hasMetadata(CONTROLLER_METADATA_KEY, target);\r\n }\r\n\r\n /**\r\n * Check if a method has route metadata\r\n */\r\n static hasRouteMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(ROUTE_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get all route methods from a controller class\r\n */\r\n static getRouteMethods(target: Class): string[] {\r\n const prototype = target.prototype;\r\n const methods: string[] = [];\r\n\r\n // Get all property names from the prototype\r\n const propertyNames = Object.getOwnPropertyNames(prototype);\r\n\r\n for (const propertyName of propertyNames) {\r\n if (propertyName === 'constructor') continue;\r\n \r\n if (this.hasRouteMetadata(prototype, propertyName)) {\r\n methods.push(propertyName);\r\n }\r\n }\r\n\r\n return methods;\r\n }\r\n\r\n /**\r\n * Define WebSocket metadata (used by @WebSocket decorator)\r\n */\r\n static defineWebSocket(target: any, metadata: Partial<WebSocketMetadata>): void {\r\n const existingMetadata = this.getWebSocketMetadata(target);\r\n \r\n const mergedMetadata: Partial<WebSocketMetadata> = {\r\n ...existingMetadata,\r\n ...metadata,\r\n target: target\r\n };\r\n\r\n Reflect.defineMetadata(WEBSOCKET_METADATA_KEY, mergedMetadata, target);\r\n }\r\n\r\n /**\r\n * Define WebSocket handler metadata (used by @OnConnect, @OnMessage, @OnDisconnect)\r\n */\r\n static defineWebSocketHandler(\r\n target: any,\r\n propertyKey: string,\r\n metadata: WebSocketHandlerMetadata\r\n ): void {\r\n // Get existing WebSocket metadata\r\n const wsMetadata = this.getWebSocketMetadata(target.constructor) || {};\r\n\r\n // Update the appropriate handler\r\n switch (metadata.type) {\r\n case 'connect':\r\n wsMetadata.onConnect = propertyKey;\r\n break;\r\n case 'message':\r\n wsMetadata.onMessage = propertyKey;\r\n wsMetadata.messageSchema = metadata.schema;\r\n break;\r\n case 'disconnect':\r\n wsMetadata.onDisconnect = propertyKey;\r\n break;\r\n }\r\n\r\n // Save updated metadata\r\n this.defineWebSocket(target.constructor, wsMetadata);\r\n\r\n // Also store handler-specific metadata\r\n Reflect.defineMetadata(\r\n WEBSOCKET_HANDLER_METADATA_KEY,\r\n metadata,\r\n target,\r\n propertyKey\r\n );\r\n }\r\n\r\n /**\r\n * Get WebSocket metadata from reflect-metadata\r\n */\r\n static getWebSocketMetadata(target: any): Partial<WebSocketMetadata> | undefined {\r\n return Reflect.getMetadata(WEBSOCKET_METADATA_KEY, target);\r\n }\r\n\r\n /**\r\n * Get WebSocket handler metadata from reflect-metadata\r\n */\r\n static getWebSocketHandlerMetadata(target: any, propertyKey: string): WebSocketHandlerMetadata | undefined {\r\n return Reflect.getMetadata(WEBSOCKET_HANDLER_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a class has WebSocket metadata\r\n */\r\n static hasWebSocketMetadata(target: any): boolean {\r\n return Reflect.hasMetadata(WEBSOCKET_METADATA_KEY, target);\r\n }\r\n\r\n /**\r\n * Define GraphQL resolver metadata (used by @Resolver decorator)\r\n */\r\n static defineGraphQLResolver(target: any, metadata: GraphQLResolverMetadata): void {\r\n Reflect.defineMetadata(GRAPHQL_RESOLVER_KEY, metadata, target);\r\n }\r\n\r\n /**\r\n * Define GraphQL field metadata (used by @Query, @Mutation, @Subscription decorators)\r\n */\r\n static defineGraphQLField(\r\n target: any,\r\n propertyKey: string,\r\n metadata: GraphQLFieldMetadata\r\n ): void {\r\n // Store field metadata on the method\r\n Reflect.defineMetadata(GRAPHQL_FIELD_KEY, metadata, target, propertyKey);\r\n\r\n // Also maintain a list of all fields on the class\r\n const existingFields = this.getGraphQLFieldsMetadata(target.constructor) || [];\r\n existingFields.push(metadata);\r\n Reflect.defineMetadata(GRAPHQL_FIELD_KEY, existingFields, target.constructor);\r\n }\r\n\r\n /**\r\n * Get GraphQL resolver metadata from reflect-metadata\r\n */\r\n static getGraphQLResolverMetadata(target: any): GraphQLResolverMetadata | undefined {\r\n return Reflect.getMetadata(GRAPHQL_RESOLVER_KEY, target);\r\n }\r\n\r\n /**\r\n * Get all GraphQL fields metadata from a resolver class\r\n */\r\n static getGraphQLFieldsMetadata(target: any): GraphQLFieldMetadata[] {\r\n return Reflect.getMetadata(GRAPHQL_FIELD_KEY, target) || [];\r\n }\r\n\r\n /**\r\n * Get GraphQL field metadata from a specific method\r\n */\r\n static getGraphQLFieldMetadata(target: any, propertyKey: string): GraphQLFieldMetadata | undefined {\r\n return Reflect.getMetadata(GRAPHQL_FIELD_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a class has GraphQL resolver metadata\r\n */\r\n static hasGraphQLResolverMetadata(target: any): boolean {\r\n return Reflect.hasMetadata(GRAPHQL_RESOLVER_KEY, target);\r\n }\r\n\r\n /**\r\n * Check if a method has GraphQL field metadata\r\n */\r\n static hasGraphQLFieldMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(GRAPHQL_FIELD_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Define authentication metadata (used by @Auth decorator)\r\n */\r\n static defineAuth(target: any, propertyKey: string, metadata: AuthMetadata): void {\r\n Reflect.defineMetadata(AUTH_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include auth info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n auth: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Get authentication metadata from reflect-metadata\r\n */\r\n static getAuthMetadata(target: any, propertyKey: string): AuthMetadata | undefined {\r\n return Reflect.getMetadata(AUTH_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has authentication metadata\r\n */\r\n static hasAuthMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(AUTH_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Define OAuth metadata (used by @OAuth decorator)\r\n */\r\n static defineOAuth(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(OAUTH_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include OAuth info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n oauth: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Get OAuth metadata from reflect-metadata\r\n */\r\n static getOAuthMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(OAUTH_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has OAuth metadata\r\n */\r\n static hasOAuthMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(OAUTH_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Define roles metadata (used by @Roles decorator)\r\n */\r\n static defineRoles(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(ROLES_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include roles info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n roles: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Define permissions metadata (used by @Permissions decorator)\r\n */\r\n static definePermissions(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(PERMISSIONS_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include permissions info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n permissions: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Define minimum role metadata (used by @MinimumRole decorator)\r\n */\r\n static defineMinimumRole(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(MINIMUM_ROLE_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include minimum role info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n minimumRole: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Get roles metadata from reflect-metadata\r\n */\r\n static getRolesMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(ROLES_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get permissions metadata from reflect-metadata\r\n */\r\n static getPermissionsMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(PERMISSIONS_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get minimum role metadata from reflect-metadata\r\n */\r\n static getMinimumRoleMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(MINIMUM_ROLE_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has roles metadata\r\n */\r\n static hasRolesMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(ROLES_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has permissions metadata\r\n */\r\n static hasPermissionsMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(PERMISSIONS_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has minimum role metadata\r\n */\r\n static hasMinimumRoleMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(MINIMUM_ROLE_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Define resource permission metadata (used by @CanAccess decorator)\r\n */\r\n static defineResourcePermission(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(RESOURCE_PERMISSION_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include resource permission info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n resourcePermission: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Get resource permission metadata from reflect-metadata\r\n */\r\n static getResourcePermissionMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(RESOURCE_PERMISSION_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has resource permission metadata\r\n */\r\n static hasResourcePermissionMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(RESOURCE_PERMISSION_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Define session metadata (used by @Session decorator)\r\n */\r\n static defineSession(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(SESSION_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include session info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n session: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Define CSRF metadata (used by @RequireCSRF decorator)\r\n */\r\n static defineCSRF(target: any, propertyKey: string, metadata: any): void {\r\n Reflect.defineMetadata(CSRF_METADATA_KEY, metadata, target, propertyKey);\r\n\r\n // Also update the route metadata to include CSRF info\r\n const routeMetadata = this.getRouteMetadata(target, propertyKey);\r\n this.defineRoute(target, propertyKey, {\r\n ...routeMetadata,\r\n csrf: metadata\r\n });\r\n }\r\n\r\n /**\r\n * Get session metadata from reflect-metadata\r\n */\r\n static getSessionMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(SESSION_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Get CSRF metadata from reflect-metadata\r\n */\r\n static getCSRFMetadata(target: any, propertyKey: string): any {\r\n return Reflect.getMetadata(CSRF_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has session metadata\r\n */\r\n static hasSessionMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(SESSION_METADATA_KEY, target, propertyKey);\r\n }\r\n\r\n /**\r\n * Check if a method has CSRF metadata\r\n */\r\n static hasCSRFMetadata(target: any, propertyKey: string): boolean {\r\n return Reflect.hasMetadata(CSRF_METADATA_KEY, target, propertyKey);\r\n }\r\n}\r\n"
|
|
11
11
|
],
|
|
12
12
|
"mappings": "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",
|
|
13
|
-
"debugId": "
|
|
13
|
+
"debugId": "92261A27F43A5D7164756E2164756E21",
|
|
14
14
|
"names": []
|
|
15
15
|
}
|