xypriss 9.12.20 → 9.12.22
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/cjs/src/server/routing/modules/XyGuard.js +5 -2
- package/dist/cjs/src/server/routing/modules/XyGuard.js.map +1 -1
- package/dist/cjs/src/server/routing/modules/helpers.js +10 -1
- package/dist/cjs/src/server/routing/modules/helpers.js.map +1 -1
- package/dist/esm/src/server/routing/modules/XyGuard.js +5 -2
- package/dist/esm/src/server/routing/modules/XyGuard.js.map +1 -1
- package/dist/esm/src/server/routing/modules/helpers.js +10 -1
- package/dist/esm/src/server/routing/modules/helpers.js.map +1 -1
- package/dist/index.d.ts +13 -8
- package/package.json +1 -1
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* ```typescript
|
|
10
10
|
* import { XyGuard } from "xypriss";
|
|
11
11
|
*
|
|
12
|
-
* XyGuard.define('authenticated', (req) => !!req.user);
|
|
13
|
-
* XyGuard.define('roles', (req, required) => required.includes(req.user?.role));
|
|
12
|
+
* XyGuard.define('authenticated', (req, ctx) => !!req.user);
|
|
13
|
+
* XyGuard.define('roles', (req, required, ctx) => required.includes(req.user?.role));
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
class XyGuard {
|
|
@@ -18,6 +18,9 @@ class XyGuard {
|
|
|
18
18
|
* Internal implementation of define.
|
|
19
19
|
*/
|
|
20
20
|
static define(name, resolver) {
|
|
21
|
+
if (this.resolvers.has(name)) {
|
|
22
|
+
throw new Error(`[XyGuard] A guard with the name '${name}' is already defined.`);
|
|
23
|
+
}
|
|
21
24
|
this.resolvers.set(name, resolver);
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyGuard.js","sources":["../../../../../../src/server/routing/modules/XyGuard.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"XyGuard.js","sources":["../../../../../../src/server/routing/modules/XyGuard.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAiBA;;;;;;;;;;;;AAYG;MACU,OAAO,CAAA;AAsChB;;AAEG;AACI,IAAA,OAAO,MAAM,CAChB,IAAY,EACZ,QAI+D,EAAA;QAE/D,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAA,qBAAA,CAAuB,CAAC;QACpF;QACA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;IACtC;AAEA;;;AAGG;IACI,OAAO,GAAG,CAAC,IAAY,EAAA;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;IACnC;;AA5De,OAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAyB;;;;"}
|
|
@@ -115,7 +115,16 @@ function createGuardMiddleware(guards, logger) {
|
|
|
115
115
|
continue; // Silently ignore unknown keys as documented
|
|
116
116
|
}
|
|
117
117
|
try {
|
|
118
|
-
const
|
|
118
|
+
const ctx = { res };
|
|
119
|
+
// For built-ins with option (roles, permissions, custom option), pass (req, value, ctx).
|
|
120
|
+
// For single arg guards like authenticated or custom options where value is boolean true, pass ctx as second arg if value is boolean.
|
|
121
|
+
let result;
|
|
122
|
+
if (typeof value === "boolean") {
|
|
123
|
+
result = await resolver(req, ctx, ctx);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
result = await resolver(req, value, ctx);
|
|
127
|
+
}
|
|
119
128
|
if (result === false) {
|
|
120
129
|
let status = 403;
|
|
121
130
|
let error = "Forbidden: Access denied";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../../src/server/routing/modules/helpers.ts"],"sourcesContent":[null],"names":["BUILTIN_PARAM_PATTERNS","XyGuard"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../../src/server/routing/modules/helpers.ts"],"sourcesContent":[null],"names":["BUILTIN_PARAM_PATTERNS","XyGuard"],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* ```typescript
|
|
8
8
|
* import { XyGuard } from "xypriss";
|
|
9
9
|
*
|
|
10
|
-
* XyGuard.define('authenticated', (req) => !!req.user);
|
|
11
|
-
* XyGuard.define('roles', (req, required) => required.includes(req.user?.role));
|
|
10
|
+
* XyGuard.define('authenticated', (req, ctx) => !!req.user);
|
|
11
|
+
* XyGuard.define('roles', (req, required, ctx) => required.includes(req.user?.role));
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
14
|
class XyGuard {
|
|
@@ -16,6 +16,9 @@ class XyGuard {
|
|
|
16
16
|
* Internal implementation of define.
|
|
17
17
|
*/
|
|
18
18
|
static define(name, resolver) {
|
|
19
|
+
if (this.resolvers.has(name)) {
|
|
20
|
+
throw new Error(`[XyGuard] A guard with the name '${name}' is already defined.`);
|
|
21
|
+
}
|
|
19
22
|
this.resolvers.set(name, resolver);
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyGuard.js","sources":["../../../../../../src/server/routing/modules/XyGuard.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XyGuard.js","sources":["../../../../../../src/server/routing/modules/XyGuard.ts"],"sourcesContent":[null],"names":[],"mappings":"AAiBA;;;;;;;;;;;;AAYG;MACU,OAAO,CAAA;AAsChB;;AAEG;AACI,IAAA,OAAO,MAAM,CAChB,IAAY,EACZ,QAI+D,EAAA;QAE/D,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAA,qBAAA,CAAuB,CAAC;QACpF;QACA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;IACtC;AAEA;;;AAGG;IACI,OAAO,GAAG,CAAC,IAAY,EAAA;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;IACnC;;AA5De,OAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAyB;;;;"}
|
|
@@ -113,7 +113,16 @@ function createGuardMiddleware(guards, logger) {
|
|
|
113
113
|
continue; // Silently ignore unknown keys as documented
|
|
114
114
|
}
|
|
115
115
|
try {
|
|
116
|
-
const
|
|
116
|
+
const ctx = { res };
|
|
117
|
+
// For built-ins with option (roles, permissions, custom option), pass (req, value, ctx).
|
|
118
|
+
// For single arg guards like authenticated or custom options where value is boolean true, pass ctx as second arg if value is boolean.
|
|
119
|
+
let result;
|
|
120
|
+
if (typeof value === "boolean") {
|
|
121
|
+
result = await resolver(req, ctx, ctx);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
result = await resolver(req, value, ctx);
|
|
125
|
+
}
|
|
117
126
|
if (result === false) {
|
|
118
127
|
let status = 403;
|
|
119
128
|
let error = "Forbidden: Access denied";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../../src/server/routing/modules/helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../../src/server/routing/modules/helpers.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAWA;;AAEG;AACG,SAAU,iBAAiB,CAAC,QAA4B,EAAA;AAI1D,IAAA,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE;IAEhE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AAE3C,IAAA,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;AAC/B,QAAA,OAAO,EAAE,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;IACxE;;IAGA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC;IACvD,IAAI,QAAQ,EAAE;QACV,OAAO;YACH,OAAO,EAAE,CAAA,KAAA,EAAQ,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG;AAC9C,YAAA,UAAU,EAAE,KAAK;SACpB;IACL;;IAGA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CACxB,iDAAiD,CACpD;IACD,IAAI,QAAQ,EAAE;QACV,OAAO;AACH,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,UAAU,EAAE,KAAK;SACpB;IACL;;IAGA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC/C,IAAI,SAAS,EAAE;AACX,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;aACrB,KAAK,CAAC,GAAG;AACT,aAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;aAC1D,IAAI,CAAC,GAAG,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,CAAA,GAAA,EAAM,MAAM,CAAA,CAAA,CAAG,EAAE,UAAU,EAAE,KAAK,EAAE;IAC1D;;IAGA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;AACtD;AAEA;;AAEG;AACG,SAAU,gBAAgB,CAC5B,IAAgC,EAChC,eAAmD,EAAA;IAEnD,IAAI,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI;IACnC,IAAI,OAAO,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI;IAC1C,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,EAAE;AAC7C,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;AACrD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC;AACA,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAO,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;QAClD;IACJ;AACA,IAAA,OAAO,IAAI;AACf;AAEA;;AAEG;AACH,IAAI,eAAe,GAAG,CAAC;SACP,WAAW,GAAA;IACvB,OAAO,CAAA,MAAA,EAAS,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA,CAAE;AACtD;AAEA;;AAEG;AACG,SAAU,qBAAqB,CACjC,MAAoC,EACpC,MAAW,EAAA;IAEX,OAAO,OAAO,GAAkB,EAAE,GAAmB,EAAE,IAAS,KAAI;AAChE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;AAEvB,YAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI;oBACA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AACpC,oBAAA,IAAI,MAAM,KAAK,KAAK,EAAE;wBAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,KAAK,EAAE,4BAA4B;AACtC,yBAAA,CAAC;oBACN;AACA,oBAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC5B,wBAAA,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAClE;gBACJ;gBAAE,OAAO,GAAG,EAAE;oBACV,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA,uBAAA,EAA0B,GAAG,CAAA,CAAE,CAAC;oBACvD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,KAAK,EAAE,0CAA0C;AACpD,qBAAA,CAAC;gBACN;YACJ;QACJ;aAAO;;AAEH,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;;gBAE/C,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;oBAAE;gBAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE;;gBAGhD,IAAI,GAAG,KAAK,QAAQ;oBAAE;gBAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE;AACX,oBAAA,SAAS;gBACb;AAEA,gBAAA,IAAI;AACA,oBAAA,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE;;;AAGnB,oBAAA,IAAI,MAAM;AACV,oBAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;wBAC5B,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;oBAC1C;yBAAO;wBACH,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC;oBAC5C;AACA,oBAAA,IAAI,MAAM,KAAK,KAAK,EAAE;wBAClB,IAAI,MAAM,GAAG,GAAG;wBAChB,IAAI,KAAK,GAAG,0BAA0B;AAEtC,wBAAA,IAAI,GAAG,KAAK,eAAe,EAAE;4BACzB,MAAM,GAAG,GAAG;4BACZ,KAAK,GAAG,uCAAuC;wBACnD;AAAO,6BAAA,IAAI,GAAG,KAAK,OAAO,EAAE;4BACxB,KAAK,GAAG,+BAA+B;wBAC3C;AAAO,6BAAA,IAAI,GAAG,KAAK,aAAa,EAAE;4BAC9B,KAAK,GAAG,qCAAqC;wBACjD;AAEA,wBAAA,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;oBAC7D;AACA,oBAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;;AAE5B,wBAAA,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,GAAG,GAAG;AACrE,wBAAA,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBACrE;gBACJ;gBAAE,OAAO,GAAG,EAAE;oBACV,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA,2BAAA,EAA8B,GAAG,CAAA,GAAA,EAAM,GAAG,CAAA,CAAE,CAAC;oBACpE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,KAAK,EAAE,0CAA0C;AACpD,qBAAA,CAAC;gBACN;YACJ;QACJ;QAEA,IAAI,IAAI;AACZ,IAAA,CAAC;AACL;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9241,7 +9241,7 @@ type XyPrisResponse$1 = XyPrisResponse;
|
|
|
9241
9241
|
/** Param type constraint descriptor */
|
|
9242
9242
|
type ParamType = "string" | "number" | "integer" | "boolean" | "uuid" | "alpha" | "alphanumeric" | `string(${number},${number})` | `number(${number},${number})` | `enum(${string})`;
|
|
9243
9243
|
/** A declarative guard: returns true to allow, false/string to deny */
|
|
9244
|
-
type RouteGuard = (req: XyPrisRequest$1, res: XyPrisResponse$1) => boolean | string | Promise<boolean | string>;
|
|
9244
|
+
type RouteGuard = (req: XyPrisRequest$1, res: XyPrisResponse$1) => boolean | string | void | Promise<boolean | string | void>;
|
|
9245
9245
|
/**
|
|
9246
9246
|
* Declarative guard configuration for a route or group.
|
|
9247
9247
|
*
|
|
@@ -12949,7 +12949,12 @@ declare const Plugin: Readonly<Omit<PluginAPI, "register">>;
|
|
|
12949
12949
|
*/
|
|
12950
12950
|
declare function quickServer(port?: number): XyApp;
|
|
12951
12951
|
|
|
12952
|
-
|
|
12952
|
+
/** Context object passed as second argument to custom guard resolvers */
|
|
12953
|
+
interface XyGuardContext {
|
|
12954
|
+
res?: XyPrisResponse$1;
|
|
12955
|
+
[key: string]: any;
|
|
12956
|
+
}
|
|
12957
|
+
type GuardResolver = (req: XyPrisRequest$1, ctxOrOptions?: any, ctx?: XyGuardContext) => boolean | string | void | Promise<boolean | string | void>;
|
|
12953
12958
|
/**
|
|
12954
12959
|
* XyGuard - Global registry for built-in guard resolvers.
|
|
12955
12960
|
* This allows XyPriss to handle declarative guards like 'authenticated' or 'roles'
|
|
@@ -12959,8 +12964,8 @@ type GuardResolver = (req: XyPrisRequest$1, options?: any) => boolean | string |
|
|
|
12959
12964
|
* ```typescript
|
|
12960
12965
|
* import { XyGuard } from "xypriss";
|
|
12961
12966
|
*
|
|
12962
|
-
* XyGuard.define('authenticated', (req) => !!req.user);
|
|
12963
|
-
* XyGuard.define('roles', (req, required) => required.includes(req.user?.role));
|
|
12967
|
+
* XyGuard.define('authenticated', (req, ctx) => !!req.user);
|
|
12968
|
+
* XyGuard.define('roles', (req, required, ctx) => required.includes(req.user?.role));
|
|
12964
12969
|
* ```
|
|
12965
12970
|
*/
|
|
12966
12971
|
declare class XyGuard {
|
|
@@ -12968,15 +12973,15 @@ declare class XyGuard {
|
|
|
12968
12973
|
/**
|
|
12969
12974
|
* Define a resolver for the 'authenticated' guard.
|
|
12970
12975
|
*/
|
|
12971
|
-
static define(name: "authenticated", resolver: (req: XyPrisRequest$1) => boolean | string | Promise<boolean | string>): void;
|
|
12976
|
+
static define(name: "authenticated", resolver: (req: XyPrisRequest$1, ctx: XyGuardContext) => boolean | string | void | Promise<boolean | string | void>): void;
|
|
12972
12977
|
/**
|
|
12973
12978
|
* Define a resolver for 'roles' or 'permissions' guards.
|
|
12974
12979
|
*/
|
|
12975
|
-
static define(name: "roles" | "permissions", resolver: (req: XyPrisRequest$1, required: string[]) => boolean | string | Promise<boolean | string>): void;
|
|
12980
|
+
static define(name: "roles" | "permissions", resolver: (req: XyPrisRequest$1, required: string[], ctx: XyGuardContext) => boolean | string | void | Promise<boolean | string | void>): void;
|
|
12976
12981
|
/**
|
|
12977
12982
|
* Define a resolver for any custom guard.
|
|
12978
12983
|
*/
|
|
12979
|
-
static define(name: string & {}, resolver:
|
|
12984
|
+
static define(name: string & {}, resolver: (req: XyPrisRequest$1, arg2?: any, arg3?: any) => boolean | string | void | Promise<boolean | string | void>): void;
|
|
12980
12985
|
/**
|
|
12981
12986
|
* Get an existing resolver by name.
|
|
12982
12987
|
* @internal
|
|
@@ -13939,4 +13944,4 @@ declare class XStatic {
|
|
|
13939
13944
|
declare function Router(): XyPrissRouter;
|
|
13940
13945
|
|
|
13941
13946
|
export { ConfigurationManager as CM, ConfigurationManager as Configs, FileUploadAPI as FLA, FileUploadAPI, Plugin, PluginHookIds, Router, SecurityMiddleware, Send, Upload, XJsonResponseHandler, XServer, XStatic, XyGuard, MultiServerApp as XyPMS, XyPrissRouter, XyPrissXHSC, __cfg__, __const__, __sys__, createOptimalCache, createServer, getCallerProjectRoot, getIp, getMime, getMimes, identifyProjectRoot, initializeFileUpload, mergeWithDefaults, mergeWithDefaults as mwdef, quickServer, uploadAny, uploadArray, uploadFields, uploadSingle, xems };
|
|
13942
|
-
export type { ArchiveOptions, BatchRenameChange, CacheConfig, FileUploadConfig as FiUpConfig, FileUploadConfig, GetIpResult, IpSource, MonitorSnapshot, MultiServerConfig, NetworkStats, NextFunction, PerformanceConfig, PluginCreator, PluginServer, ProcessInfo, ProcessMonitorSnapshot, XyPrisRequest as Request, RequestHandler, XyPrisResponse as Response, RoutRateLimit, RouteConfig, RouteGuard, RouteMeta, RouteOptions, ParamType as RouteParamType, SecurityConfig, ServerOptions$1 as ServerOptions, XyPrisRequest$1 as XRequest, XyPrisResponse$1 as XResponse, XemsTypes, XyPrisRequest$1 as XyPrisRequest, XyPrisResponse$1 as XyPrisResponse, XyPrissApp, XyPrissPlugin };
|
|
13947
|
+
export type { ArchiveOptions, BatchRenameChange, CacheConfig, FileUploadConfig as FiUpConfig, FileUploadConfig, GetIpResult, GuardResolver, IpSource, MonitorSnapshot, MultiServerConfig, NetworkStats, NextFunction, PerformanceConfig, PluginCreator, PluginServer, ProcessInfo, ProcessMonitorSnapshot, XyPrisRequest as Request, RequestHandler, XyPrisResponse as Response, RoutRateLimit, RouteConfig, RouteGuard, RouteMeta, RouteOptions, ParamType as RouteParamType, SecurityConfig, ServerOptions$1 as ServerOptions, XyPrisRequest$1 as XRequest, XyPrisResponse$1 as XResponse, XemsTypes, XyGuardContext, XyPrisRequest$1 as XyPrisRequest, XyPrisResponse$1 as XyPrisResponse, XyPrissApp, XyPrissPlugin };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "9.12.
|
|
3
|
+
"version": "9.12.22",
|
|
4
4
|
"description": "XyPriss is a high-performance, TypeScript-first hyper-system web framework powered by a native Go core (XHSC), featuring robust multi-tenant sandboxing, secure native file streaming, and zero Express dependencies.",
|
|
5
5
|
"author": {
|
|
6
6
|
"DEV.to": "https://dev.to/nehonix",
|