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.
Files changed (2) hide show
  1. package/dist/index.js +62 -15
  2. 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 = 100;
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
- throw getErrorFromPool(`${context}\u9A8C\u8BC1\u5931\u8D25: Schema\u7F16\u8BD1\u5931\u8D25`);
55460
+ const message = getPooledString(`${context}\u9A8C\u8BC1\u5931\u8D25: Schema\u7F16\u8BD1\u5931\u8D25`);
55461
+ throw getErrorFromPool(message);
55420
55462
  }
55421
55463
  }
55422
- if (!compiler.Check(data)) {
55423
- throw getErrorFromPool(`${context}\u9A8C\u8BC1\u5931\u8D25`);
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
- throw getErrorFromPool(`${context}\u9A8C\u8BC1\u5931\u8D25: ${error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"}`);
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
- if (config.body) {
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 (config.query) {
55483
+ if (flags & SCHEMA_FLAGS.QUERY) {
55438
55484
  validateSchemaUltra(config.query, data.query, "Query\u53C2\u6570");
55439
55485
  }
55440
- if (config.params) {
55486
+ if (flags & SCHEMA_FLAGS.PARAMS) {
55441
55487
  validateSchemaUltra(config.params, data.params, "\u8DEF\u5F84\u53C2\u6570");
55442
55488
  }
55443
- if (config.headers) {
55489
+ if (flags & SCHEMA_FLAGS.HEADERS) {
55444
55490
  validateSchemaUltra(config.headers, data.headers, "\u8BF7\u6C42\u5934");
55445
55491
  }
55446
- if (config.cookies) {
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
- if (config.body) {
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vafast",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "专为Bun构建的极简结构化Web框架。Go风格,函数优先。",
5
5
  "type": "module",
6
6
  "repository": {