vafast 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +62 -15
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -55378,10 +55378,29 @@ var TypeCompiler;
|
|
|
55378
55378
|
})(TypeCompiler || (TypeCompiler = {}));
|
|
55379
55379
|
|
|
55380
55380
|
// src/utils/validators/schema-validators-ultra.ts
|
|
55381
|
+
var SCHEMA_FLAGS = {
|
|
55382
|
+
BODY: 1 << 0,
|
|
55383
|
+
QUERY: 1 << 1,
|
|
55384
|
+
PARAMS: 1 << 2,
|
|
55385
|
+
HEADERS: 1 << 3,
|
|
55386
|
+
COOKIES: 1 << 4
|
|
55387
|
+
};
|
|
55381
55388
|
var ultraSchemaCache = new Map;
|
|
55382
55389
|
var schemaCacheHits = new Map;
|
|
55383
55390
|
var errorPool = [];
|
|
55384
|
-
var ERROR_POOL_SIZE =
|
|
55391
|
+
var ERROR_POOL_SIZE = 200;
|
|
55392
|
+
var errorMessagePool = new Map;
|
|
55393
|
+
var commonMessages = [
|
|
55394
|
+
"\u8BF7\u6C42\u4F53\u9A8C\u8BC1\u5931\u8D25",
|
|
55395
|
+
"Query\u53C2\u6570\u9A8C\u8BC1\u5931\u8D25",
|
|
55396
|
+
"\u8DEF\u5F84\u53C2\u6570\u9A8C\u8BC1\u5931\u8D25",
|
|
55397
|
+
"\u8BF7\u6C42\u5934\u9A8C\u8BC1\u5931\u8D25",
|
|
55398
|
+
"Cookie\u9A8C\u8BC1\u5931\u8D25",
|
|
55399
|
+
"\u7C7B\u578B\u9A8C\u8BC1\u5931\u8D25",
|
|
55400
|
+
"Schema\u7F16\u8BD1\u5931\u8D25",
|
|
55401
|
+
"\u672A\u77E5\u9519\u8BEF"
|
|
55402
|
+
];
|
|
55403
|
+
commonMessages.forEach((msg) => errorMessagePool.set(msg, msg));
|
|
55385
55404
|
for (let i = 0;i < ERROR_POOL_SIZE; i++) {
|
|
55386
55405
|
errorPool.push(new Error);
|
|
55387
55406
|
}
|
|
@@ -55392,6 +55411,14 @@ function getErrorFromPool(message) {
|
|
|
55392
55411
|
errorPoolIndex = (errorPoolIndex + 1) % ERROR_POOL_SIZE;
|
|
55393
55412
|
return error;
|
|
55394
55413
|
}
|
|
55414
|
+
function getPooledString(key) {
|
|
55415
|
+
let pooled = errorMessagePool.get(key);
|
|
55416
|
+
if (!pooled) {
|
|
55417
|
+
pooled = key;
|
|
55418
|
+
errorMessagePool.set(key, key);
|
|
55419
|
+
}
|
|
55420
|
+
return pooled;
|
|
55421
|
+
}
|
|
55395
55422
|
function getUltraSchemaCompiler(schema) {
|
|
55396
55423
|
let compiler = ultraSchemaCache.get(schema);
|
|
55397
55424
|
if (compiler) {
|
|
@@ -55406,6 +55433,20 @@ function getUltraSchemaCompiler(schema) {
|
|
|
55406
55433
|
return null;
|
|
55407
55434
|
}
|
|
55408
55435
|
}
|
|
55436
|
+
function getSchemaFlags(config) {
|
|
55437
|
+
let flags = 0;
|
|
55438
|
+
if (config.body)
|
|
55439
|
+
flags |= SCHEMA_FLAGS.BODY;
|
|
55440
|
+
if (config.query)
|
|
55441
|
+
flags |= SCHEMA_FLAGS.QUERY;
|
|
55442
|
+
if (config.params)
|
|
55443
|
+
flags |= SCHEMA_FLAGS.PARAMS;
|
|
55444
|
+
if (config.headers)
|
|
55445
|
+
flags |= SCHEMA_FLAGS.HEADERS;
|
|
55446
|
+
if (config.cookies)
|
|
55447
|
+
flags |= SCHEMA_FLAGS.COOKIES;
|
|
55448
|
+
return flags;
|
|
55449
|
+
}
|
|
55409
55450
|
function validateSchemaUltra(schema, data, context) {
|
|
55410
55451
|
if (!schema)
|
|
55411
55452
|
return data;
|
|
@@ -55416,52 +55457,58 @@ function validateSchemaUltra(schema, data, context) {
|
|
|
55416
55457
|
compiler = TypeCompiler.Compile(schema);
|
|
55417
55458
|
ultraSchemaCache.set(schema, compiler);
|
|
55418
55459
|
} catch (error) {
|
|
55419
|
-
|
|
55460
|
+
const message = getPooledString(`${context}\u9A8C\u8BC1\u5931\u8D25: Schema\u7F16\u8BD1\u5931\u8D25`);
|
|
55461
|
+
throw getErrorFromPool(message);
|
|
55420
55462
|
}
|
|
55421
55463
|
}
|
|
55422
|
-
|
|
55423
|
-
|
|
55464
|
+
const result = compiler.Check(data);
|
|
55465
|
+
if (!result) {
|
|
55466
|
+
const message = getPooledString(`${context}\u9A8C\u8BC1\u5931\u8D25`);
|
|
55467
|
+
throw getErrorFromPool(message);
|
|
55424
55468
|
}
|
|
55425
55469
|
return data;
|
|
55426
55470
|
} catch (error) {
|
|
55427
55471
|
if (error instanceof Error && error.message.includes("\u9A8C\u8BC1\u5931\u8D25")) {
|
|
55428
55472
|
throw error;
|
|
55429
55473
|
}
|
|
55430
|
-
|
|
55474
|
+
const message = getPooledString(`${context}\u9A8C\u8BC1\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`);
|
|
55475
|
+
throw getErrorFromPool(message);
|
|
55431
55476
|
}
|
|
55432
55477
|
}
|
|
55433
55478
|
function validateAllSchemasUltra(config, data) {
|
|
55434
|
-
|
|
55479
|
+
const flags = getSchemaFlags(config);
|
|
55480
|
+
if (flags & SCHEMA_FLAGS.BODY) {
|
|
55435
55481
|
validateSchemaUltra(config.body, data.body, "\u8BF7\u6C42\u4F53");
|
|
55436
55482
|
}
|
|
55437
|
-
if (
|
|
55483
|
+
if (flags & SCHEMA_FLAGS.QUERY) {
|
|
55438
55484
|
validateSchemaUltra(config.query, data.query, "Query\u53C2\u6570");
|
|
55439
55485
|
}
|
|
55440
|
-
if (
|
|
55486
|
+
if (flags & SCHEMA_FLAGS.PARAMS) {
|
|
55441
55487
|
validateSchemaUltra(config.params, data.params, "\u8DEF\u5F84\u53C2\u6570");
|
|
55442
55488
|
}
|
|
55443
|
-
if (
|
|
55489
|
+
if (flags & SCHEMA_FLAGS.HEADERS) {
|
|
55444
55490
|
validateSchemaUltra(config.headers, data.headers, "\u8BF7\u6C42\u5934");
|
|
55445
55491
|
}
|
|
55446
|
-
if (
|
|
55492
|
+
if (flags & SCHEMA_FLAGS.COOKIES) {
|
|
55447
55493
|
validateSchemaUltra(config.cookies, data.cookies, "Cookie");
|
|
55448
55494
|
}
|
|
55449
55495
|
return data;
|
|
55450
55496
|
}
|
|
55451
55497
|
function precompileSchemasUltra(config) {
|
|
55452
|
-
|
|
55498
|
+
const flags = getSchemaFlags(config);
|
|
55499
|
+
if (flags & SCHEMA_FLAGS.BODY && config.body) {
|
|
55453
55500
|
getUltraSchemaCompiler(config.body);
|
|
55454
55501
|
}
|
|
55455
|
-
if (config.query) {
|
|
55502
|
+
if (flags & SCHEMA_FLAGS.QUERY && config.query) {
|
|
55456
55503
|
getUltraSchemaCompiler(config.query);
|
|
55457
55504
|
}
|
|
55458
|
-
if (config.params) {
|
|
55505
|
+
if (flags & SCHEMA_FLAGS.PARAMS && config.params) {
|
|
55459
55506
|
getUltraSchemaCompiler(config.params);
|
|
55460
55507
|
}
|
|
55461
|
-
if (config.headers) {
|
|
55508
|
+
if (flags & SCHEMA_FLAGS.HEADERS && config.headers) {
|
|
55462
55509
|
getUltraSchemaCompiler(config.headers);
|
|
55463
55510
|
}
|
|
55464
|
-
if (config.cookies) {
|
|
55511
|
+
if (flags & SCHEMA_FLAGS.COOKIES && config.cookies) {
|
|
55465
55512
|
getUltraSchemaCompiler(config.cookies);
|
|
55466
55513
|
}
|
|
55467
55514
|
}
|