@nhtio/validation 0.1.0-master-87fc6cd7 → 0.1.0-master-1d06eb16

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/README.md CHANGED
@@ -6,8 +6,4 @@ For more information, see the [official documentation](https://validation.nht.io
6
6
 
7
7
  ## Wish List
8
8
 
9
- - JSON
10
- - YAML
11
- - string.fqdn
12
- - Encrypted / Decrypted chaining
13
9
  - Hash comparisons
package/index.cjs CHANGED
@@ -37166,7 +37166,7 @@ var require_messages = __commonJSMin((exports) => {
37166
37166
  var require_extend = __commonJSMin((exports) => {
37167
37167
  const { assert: assert$23, clone: clone$10 } = require_lib$4();
37168
37168
  const Common$19 = require_common();
37169
- const Messages$5 = require_messages();
37169
+ const Messages$6 = require_messages();
37170
37170
  const internals$21 = {};
37171
37171
  exports.type = function(from$2, options) {
37172
37172
  const base$3 = Object.getPrototypeOf(from$2);
@@ -37176,7 +37176,7 @@ var require_extend = __commonJSMin((exports) => {
37176
37176
  delete def.base;
37177
37177
  prototype._definition = def;
37178
37178
  const parent = base$3._definition || {};
37179
- def.messages = Messages$5.merge(parent.messages, def.messages);
37179
+ def.messages = Messages$6.merge(parent.messages, def.messages);
37180
37180
  def.properties = Object.assign({}, parent.properties, def.properties);
37181
37181
  schema$2.type = def.type;
37182
37182
  def.flags = Object.assign({}, parent.flags, def.flags);
@@ -37319,7 +37319,7 @@ var require_manifest = __commonJSMin((exports) => {
37319
37319
  init_dist();
37320
37320
  const { assert: assert$22, clone: clone$9 } = require_lib$4();
37321
37321
  const Common$18 = require_common();
37322
- const Messages$4 = require_messages();
37322
+ const Messages$5 = require_messages();
37323
37323
  const Ref$6 = require_ref();
37324
37324
  const Template$5 = require_template();
37325
37325
  let Schemas$3;
@@ -37336,7 +37336,7 @@ var require_manifest = __commonJSMin((exports) => {
37336
37336
  if (schema$2._preferences) {
37337
37337
  desc$1.preferences = clone$9(schema$2._preferences, { shallow: ["messages"] });
37338
37338
  delete desc$1.preferences[Common$18.symbols.prefs];
37339
- if (desc$1.preferences.messages) desc$1.preferences.messages = Messages$4.decompile(desc$1.preferences.messages);
37339
+ if (desc$1.preferences.messages) desc$1.preferences.messages = Messages$5.decompile(desc$1.preferences.messages);
37340
37340
  }
37341
37341
  if (schema$2._valids) desc$1.allow = schema$2._valids.describe();
37342
37342
  if (schema$2._invalids) desc$1.invalid = schema$2._invalids.describe();
@@ -38617,7 +38617,7 @@ var require_base = __commonJSMin((exports, module) => {
38617
38617
  const Errors$5 = require_errors();
38618
38618
  const Extend$2 = require_extend();
38619
38619
  const Manifest$2 = require_manifest();
38620
- const Messages$3 = require_messages();
38620
+ const Messages$4 = require_messages();
38621
38621
  const Modify = require_modify();
38622
38622
  const Ref$4 = require_ref();
38623
38623
  const Trace$2 = require_trace();
@@ -39022,7 +39022,7 @@ var require_base = __commonJSMin((exports, module) => {
39022
39022
  }
39023
39023
  $_createError(code$2, value, local, state, prefs, options = {}) {
39024
39024
  const flags = options.flags !== false ? this._flags : {};
39025
- const messages$3 = options.messages ? Messages$3.merge(this._definition.messages, options.messages) : this._definition.messages;
39025
+ const messages$3 = options.messages ? Messages$4.merge(this._definition.messages, options.messages) : this._definition.messages;
39026
39026
  return new Errors$5.Report(code$2, value, local, flags, messages$3, state, prefs);
39027
39027
  }
39028
39028
  $_getFlag(name$2) {
@@ -39291,7 +39291,7 @@ var require_any = __commonJSMin((exports, module) => {
39291
39291
  const { assert: assert$17 } = require_lib$4();
39292
39292
  const Base = require_base();
39293
39293
  const Common$12 = require_common();
39294
- const Messages$2 = require_messages();
39294
+ const Messages$3 = require_messages();
39295
39295
  module.exports = Base.extend({
39296
39296
  type: "any",
39297
39297
  flags: { only: { default: false } },
@@ -39363,7 +39363,7 @@ var require_any = __commonJSMin((exports, module) => {
39363
39363
  rule.keep = enabled;
39364
39364
  },
39365
39365
  message(rule, message) {
39366
- rule.message = Messages$2.compile(message);
39366
+ rule.message = Messages$3.compile(message);
39367
39367
  },
39368
39368
  warn(rule, enabled = true) {
39369
39369
  rule.warn = enabled;
@@ -45239,7 +45239,7 @@ var require_schemas = __commonJSMin((exports) => {
45239
45239
  var require_common = __commonJSMin((exports) => {
45240
45240
  const { assert: Assert, AssertError } = require_lib$4();
45241
45241
  const Pkg = (init_package(), __toCommonJS(package_exports).default);
45242
- let Messages$1;
45242
+ let Messages$2;
45243
45243
  let Schemas$1;
45244
45244
  const internals$1 = { isoDate: /^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/ };
45245
45245
  exports.version = Pkg.version;
@@ -45329,7 +45329,7 @@ var require_common = __commonJSMin((exports) => {
45329
45329
  return Number.isSafeInteger(value) && value >= 0;
45330
45330
  };
45331
45331
  exports.preferences = function(target, source) {
45332
- Messages$1 = Messages$1 || require_messages();
45332
+ Messages$2 = Messages$2 || require_messages();
45333
45333
  target = target || {};
45334
45334
  source = source || {};
45335
45335
  const merged = Object.assign({}, target, source);
@@ -45337,7 +45337,7 @@ var require_common = __commonJSMin((exports) => {
45337
45337
  merged.errors = Object.assign({}, target.errors, source.errors);
45338
45338
  merged.errors.wrap = Object.assign({}, target.errors.wrap, source.errors.wrap);
45339
45339
  }
45340
- if (source.messages) merged.messages = Messages$1.compile(source.messages, target.messages);
45340
+ if (source.messages) merged.messages = Messages$2.compile(source.messages, target.messages);
45341
45341
  delete merged[exports.symbols.prefs];
45342
45342
  return merged;
45343
45343
  };
@@ -45807,7 +45807,7 @@ var RootFactory = class RootFactory {
45807
45807
  return instance;
45808
45808
  }
45809
45809
  };
45810
- var import_messages = __toESM(require_messages());
45810
+ var import_messages$1 = __toESM(require_messages());
45811
45811
  const knexMessages = {
45812
45812
  "knex.unique": "The {{#label}} has already been taken",
45813
45813
  "knex.exists": "The selected {{#label}} is invalid",
@@ -45855,7 +45855,7 @@ const resolveQueryBuilder = (connection, table$2) => {
45855
45855
  query: conn.table(table$2)
45856
45856
  };
45857
45857
  };
45858
- const getMergableMessages = (schema$2) => {
45858
+ const getMergableMessages$1 = (schema$2) => {
45859
45859
  if ("_definition" in schema$2) {
45860
45860
  const def = schema$2._definition;
45861
45861
  if ("messages" in def && def.messages) if ("string" === typeof def.messages) return {};
@@ -45902,8 +45902,8 @@ function findKnexConnection() {
45902
45902
  }
45903
45903
  const knex = (schema$2, root$11, args$1) => {
45904
45904
  const prototype = Object.getPrototypeOf(schema$2);
45905
- const originalMessages = getMergableMessages(schema$2);
45906
- const mergedMessages = import_messages.merge(originalMessages, knexMessages);
45905
+ const originalMessages = getMergableMessages$1(schema$2);
45906
+ const mergedMessages = import_messages$1.merge(originalMessages, knexMessages);
45907
45907
  prototype._definition.messages = mergedMessages;
45908
45908
  prototype._definition.flags.knexConnection = {
45909
45909
  default: void 0,
@@ -46047,6 +46047,43 @@ const knex = (schema$2, root$11, args$1) => {
46047
46047
  };
46048
46048
  return RootFactory.generate(root$11, schema$2, args$1);
46049
46049
  };
46050
+ var import_messages = __toESM(require_messages());
46051
+ const fqdnMessages = { "string.fqdn": "{{#label}} must be a valid fully qualified domain name" };
46052
+ const getMergableMessages = (schema$2) => {
46053
+ if ("_definition" in schema$2) {
46054
+ const def = schema$2._definition;
46055
+ if ("messages" in def && def.messages) if ("string" === typeof def.messages) return {};
46056
+ else return def.messages;
46057
+ }
46058
+ return {};
46059
+ };
46060
+ const fqdn = (schema$2, root$11, args$1) => {
46061
+ if (schema$2.type !== "string") return schema$2;
46062
+ const prototype = Object.getPrototypeOf(schema$2);
46063
+ const originalMessages = getMergableMessages(schema$2);
46064
+ const mergedMessages = import_messages.merge(originalMessages, fqdnMessages);
46065
+ prototype._definition.messages = mergedMessages;
46066
+ prototype._definition.rules.fqdn = {
46067
+ method() {
46068
+ return this.addRule("fqdn");
46069
+ },
46070
+ validate(value, helpers$8) {
46071
+ if ("string" !== typeof value || value.trim().length === 0) return void 0;
46072
+ if (value.includes("..")) return helpers$8.error("string.fqdn");
46073
+ const labels = value.split(".");
46074
+ for (const label of labels) {
46075
+ if (label.length === 0 || label.length > 63) return helpers$8.error("string.fqdn");
46076
+ if (label.startsWith("-") || label.endsWith("-")) return helpers$8.error("string.fqdn");
46077
+ if (!/^[a-zA-Z0-9-]+$/.test(label)) return helpers$8.error("string.fqdn");
46078
+ }
46079
+ return value;
46080
+ }
46081
+ };
46082
+ if (!prototype.fqdn) prototype.fqdn = function() {
46083
+ return this.$_addRule({ name: "fqdn" });
46084
+ };
46085
+ return RootFactory.generate(root$11, schema$2, args$1);
46086
+ };
46050
46087
  var De = (t$7) => {
46051
46088
  throw TypeError(t$7);
46052
46089
  };
@@ -140540,7 +140577,8 @@ const knownMessages = {
140540
140577
  ...messages$1,
140541
140578
  ...messages$2,
140542
140579
  ...messages,
140543
- ...knexMessages
140580
+ ...knexMessages,
140581
+ ...fqdnMessages
140544
140582
  };
140545
140583
  countries.forEach((name$2, iso) => {
140546
140584
  knownMessages[`country.${iso}`] = name$2;
@@ -140731,6 +140769,7 @@ const i18n = (toPatch) => {
140731
140769
  "string.uriCustomScheme": $t("string.uriCustomScheme"),
140732
140770
  "string.uriRelativeOnly": $t("string.uriRelativeOnly"),
140733
140771
  "string.uppercase": $t("string.uppercase"),
140772
+ ...fqdnMessages,
140734
140773
  ...knexTranslations
140735
140774
  });
140736
140775
  case "symbol": return applyMessagesToSchema(schema$2, {
@@ -143076,7 +143115,7 @@ const encode = (schema$2, options = {}) => {
143076
143115
  });
143077
143116
  }
143078
143117
  const json$1 = JSON.stringify({
143079
- version: "0.1.0-master-87fc6cd7",
143118
+ version: "0.1.0-master-1d06eb16",
143080
143119
  schema: description$2
143081
143120
  }, (key, value) => {
143082
143121
  if (typeof value === "bigint") return value.toString();
@@ -143124,14 +143163,14 @@ const decode = (base64, options = {}) => {
143124
143163
  });
143125
143164
  if (!isPlainObject(description$2) || !("version" in description$2) || !("schema" in description$2) || typeof description$2.version !== "string" || !isPlainObject(description$2.schema)) throw new TypeError("Not a valid encoded schema");
143126
143165
  const { version: schemaVersion, schema: schema$2 } = description$2;
143127
- if (import_semver.valid("0.1.0-master-87fc6cd7")) {
143166
+ if (import_semver.valid("0.1.0-master-1d06eb16")) {
143128
143167
  if (!import_semver.valid(import_semver.coerce(schemaVersion))) throw new TypeError(`Invalid schema version: ${schemaVersion}`);
143129
- if (import_semver.gt(import_semver.coerce(schemaVersion), "0.1.0-master-87fc6cd7")) throw new TypeError(`Schema version ${schemaVersion} is not compatible with current version 0.1.0-master-87fc6cd7`);
143168
+ if (import_semver.gt(import_semver.coerce(schemaVersion), "0.1.0-master-1d06eb16")) throw new TypeError(`Schema version ${schemaVersion} is not compatible with current version 0.1.0-master-1d06eb16`);
143130
143169
  }
143131
143170
  return validator.build(schema$2);
143132
143171
  };
143133
143172
  const Joi = RootFactory.create({
143134
- schemaTypeModifiers: [knex],
143173
+ schemaTypeModifiers: [knex, fqdn],
143135
143174
  shortcutsModifiers: []
143136
143175
  });
143137
143176
  const validator = patch(Joi.extend(bigint).extend(datetime).extend(phone));
@@ -144580,7 +144619,7 @@ init_esm();
144580
144619
  var import_lib = __toESM(require_lib$3());
144581
144620
  var import_lib$1 = __toESM(require_lib$2());
144582
144621
  var import_lib$2 = __toESM(require_lib());
144583
- const version = "0.1.0-master-87fc6cd7";
144622
+ const version = "0.1.0-master-1d06eb16";
144584
144623
  Object.defineProperty(exports, "ValidationError", {
144585
144624
  enumerable: true,
144586
144625
  get: function() {