@c9up/rune 0.1.8 → 0.1.9

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/Schema.d.ts CHANGED
@@ -392,6 +392,16 @@ export interface ConditionalGroup {
392
392
  shape: Record<string, RuleChain>;
393
393
  }>;
394
394
  }
395
+ /**
396
+ * Called when no union branch matched (VineJS `UnionNoMatchCallback`). Report
397
+ * through the field context; reporting nothing suppresses the generic error.
398
+ */
399
+ export type UnionNoMatchCallback = (value: unknown, field: FieldContext) => void;
400
+ /**
401
+ * Called with a record's keys (VineJS `RecordKeysCallback`). Report through the
402
+ * field context; reporting nothing accepts the key set.
403
+ */
404
+ export type RecordKeysCallback = (keys: string[], field: FieldContext) => void;
395
405
  /** Per-field introspection returned inside `toJSON().schema`. */
396
406
  export type SchemaIntrospection = Record<string, {
397
407
  rules: string[];
@@ -490,7 +500,12 @@ export interface RuleDef {
490
500
  param?: number;
491
501
  /** Interpolation args exposed to i18n/messages providers (e.g. `{ min: 3 }`). */
492
502
  args?: Record<string, unknown>;
493
- validate: (value: unknown) => boolean;
503
+ /**
504
+ * `field` is the context VineJS hands a rule — a callback-valued rule
505
+ * (`in`, `notIn`, `enum`) reads `meta`/`parent` off it to compute its list
506
+ * per request. Rules that do not need it simply declare one parameter.
507
+ */
508
+ validate: (value: unknown, field: FieldContext) => boolean;
494
509
  message: string;
495
510
  /** Set when `.message()` overrode this rule's default text. */
496
511
  hasCustomMessage?: boolean;
@@ -518,7 +533,7 @@ declare const OUTPUT: unique symbol;
518
533
  * The value list accepted by `in` / `notIn` / `enum` — static, or computed at
519
534
  * validation time (VineJS parity).
520
535
  */
521
- export type AllowedValues = ReadonlyArray<string | number | boolean> | (() => ReadonlyArray<string | number | boolean>);
536
+ export type AllowedValues = ReadonlyArray<string | number | boolean> | ((field: FieldContext) => ReadonlyArray<string | number | boolean>);
522
537
  export declare class RuleChain<Output = unknown> {
523
538
  #private;
524
539
  /** Phantom output type — drives {@link Infer}; never read at runtime. */
@@ -669,6 +684,14 @@ export declare class RuleChain<Output = unknown> {
669
684
  * (VineJS `record`).
670
685
  */
671
686
  record<Item extends RuleChain>(valueChain: Item): RuleChain<Record<string, OutputOf<Item>>>;
687
+ /**
688
+ * Check the record's KEYS, not its values (VineJS `record().validateKeys()`).
689
+ *
690
+ * The callback receives every key at once and reports through the field
691
+ * context — the set is what matters when keys must be exclusive, exhaustive,
692
+ * or drawn from a list only known at runtime.
693
+ */
694
+ validateKeys(callback: RecordKeysCallback): this;
672
695
  /**
673
696
  * Fixed-length array with a schema per position (VineJS `tuple`). Extra
674
697
  * items are rejected — a tuple that silently ignores a trailing element is
@@ -689,6 +712,16 @@ export declare class RuleChain<Output = unknown> {
689
712
  * - bare chains: tried in order, first match wins, and a total miss reports a
690
713
  * single `union` error rather than every losing branch's noise.
691
714
  */
715
+ /**
716
+ * What to do when NO union branch matched (VineJS `union().otherwise()`).
717
+ *
718
+ * The callback receives the value and the field, and reports the error it
719
+ * wants — the point being that "matches nothing" is a useless message when
720
+ * the caller knows which shapes were on offer. Reporting nothing from the
721
+ * callback suppresses the generic error entirely, which is how a union
722
+ * folded into a larger check stays quiet.
723
+ */
724
+ otherwise(callback: UnionNoMatchCallback): this;
692
725
  union(chains: readonly UnionBranch[]): this;
693
726
  /**
694
727
  * Must be an uploaded file (VineJS/Adonis `vine.file()`).
@@ -744,8 +777,22 @@ export declare class RuleChain<Output = unknown> {
744
777
  * run must never look like one that passed.
745
778
  */
746
779
  verifyContent(): this;
747
- /** Must equal one of `values` (enum). Narrows the output to the union. */
748
- enum<const V extends readonly (string | number | boolean)[]>(values: V): RuleChain<V[number]>;
780
+ /**
781
+ * Must equal one of `values` (enum). Narrows the output to the union.
782
+ *
783
+ * `values` may be a callback receiving the field, which is how a list that
784
+ * depends on the request — the roles this tenant allows, the statuses this
785
+ * user may set — is computed per validation instead of frozen at import.
786
+ */
787
+ enum<const V extends readonly (string | number | boolean)[]>(values: V | ((field: FieldContext) => V)): RuleChain<V[number]>;
788
+ /**
789
+ * The choices this enum was declared with (VineJS `getChoices()`) — the list
790
+ * itself, or the callback when it is computed per request.
791
+ *
792
+ * Reading them back is what lets a form render the same options the
793
+ * validator will accept, from one declaration instead of two.
794
+ */
795
+ getChoices(): ReadonlyArray<string | number | boolean> | ((field: FieldContext) => ReadonlyArray<string | number | boolean>) | undefined;
749
796
  /** Must equal a literal value. */
750
797
  literal<V extends string | number | boolean>(value: V): RuleChain<V>;
751
798
  /** Minimum length (string) or minimum value (number). Alias of min/minLength. */
@@ -800,8 +847,13 @@ export declare class RuleChain<Output = unknown> {
800
847
  /** Must be a `"lat,lng"` pair within the valid ranges. */
801
848
  coordinates(): this;
802
849
  /**
803
- * Must be a mobile number in E.164 form. Named deviation from VineJS: rune
804
- * carries no per-locale numbering plans, so there is no `locale` option.
850
+ * Must be a mobile number (VineJS/Adonis `mobile()`).
851
+ *
852
+ * With no `locale`, the number must be in E.164 form. With one or more,
853
+ * it must match one of their numbering plans, as in VineJS. rune carries
854
+ * its own plans rather than validator.js', so it knows fewer locales — an
855
+ * unknown one raises `UNSUPPORTED_LOCALE` at schema build, naming the ones
856
+ * it does know, rather than silently accepting anything at request time.
805
857
  */
806
858
  mobile(options?: {
807
859
  locale?: string | string[];
@@ -1048,7 +1100,7 @@ export declare const rules: {
1048
1100
  unionOfTypes: (chains: readonly RuleChain[]) => RuleChain;
1049
1101
  object: <Sh extends Record<string, RuleChain>>(shape: Sh) => RuleChain<Infer<Sh>>;
1050
1102
  array: <Item extends RuleChain>(item?: Item) => RuleChain<OutputOf<Item>[]>;
1051
- enum: <const V extends readonly (string | number | boolean)[]>(values: V) => RuleChain<V[number]>;
1103
+ enum: <const V extends readonly (string | number | boolean)[]>(values: V | ((field: FieldContext) => V)) => RuleChain<V[number]>;
1052
1104
  literal: <V extends string | number | boolean>(value: V) => RuleChain<V>;
1053
1105
  };
1054
1106
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
package/dist/Schema.js CHANGED
@@ -9,7 +9,7 @@ import { RuneError, RuneValidationError } from "./errors.js";
9
9
  import { alphaPattern, escapeHtml, isAscii, isCoordinates, isCreditCard, isEmail, isHexCode, isIban, isIpAddress, isJwt, isMobile, isMobileForLocale, isPassport, isPostalCode, isUlid, isUrlWithOptions, isVat, normalizeEmail, normalizeUrl, SUPPORTED_MOBILE_LOCALES, SUPPORTED_PASSPORTS, SUPPORTED_POSTAL_CODES, SUPPORTED_VAT_COUNTRIES, toCamelCase, } from "./formats.js";
10
10
  import { toWildcardPath } from "./MessagesProvider.js";
11
11
  import { detectFileType, extensionMatches, MAGIC_HEAD_BYTES, readHead, } from "./magic.js";
12
- import { isNativeAvailable, validateNative, warnNativeUnavailableOnce, } from "./native.js";
12
+ import { assertNativeAvailable, isNativeAvailable, validateNative, } from "./native.js";
13
13
  export function createRule(validator, ruleOptions) {
14
14
  if (ruleOptions?.isAsync) {
15
15
  // VineJS expresses "async" as an option on createRule, so honour it by
@@ -733,10 +733,10 @@ export function schema(fields, objectChain) {
733
733
  reporterError = nativeReporter?.createError;
734
734
  return native;
735
735
  }
736
- // This schema would have used the native engine, but it isn't loaded —
737
- // surface the platform-dependent TS fallback once instead of diverging
738
- // silently.
739
- warnNativeUnavailableOnce();
736
+ // This schema carries nothing the engine cannot run, so the engine is
737
+ // what must run it. Falling back to the TypeScript validator here made
738
+ // the verdict depend on whether a binary loaded.
739
+ assertNativeAvailable();
740
740
  }
741
741
  const errors = [];
742
742
  const validated = {};
@@ -1020,8 +1020,11 @@ export class RuleChain {
1020
1020
  #camelCaseKeys = false;
1021
1021
  #groups = [];
1022
1022
  #recordValueChain = null;
1023
+ #enumChoices = null;
1024
+ #recordKeysCheck = null;
1023
1025
  #tupleChains = null;
1024
1026
  #unionChains = null;
1027
+ #unionNoMatch = null;
1025
1028
  #useRules = [];
1026
1029
  #asyncRules = [];
1027
1030
  /** Last rule added, whichever register it landed in — the `message()` target. */
@@ -1136,8 +1139,11 @@ export class RuleChain {
1136
1139
  next.#camelCaseKeys = this.#camelCaseKeys;
1137
1140
  next.#groups = [...this.#groups];
1138
1141
  next.#recordValueChain = this.#recordValueChain;
1142
+ next.#enumChoices = this.#enumChoices;
1143
+ next.#recordKeysCheck = this.#recordKeysCheck;
1139
1144
  next.#tupleChains = this.#tupleChains;
1140
1145
  next.#unionChains = this.#unionChains;
1146
+ next.#unionNoMatch = this.#unionNoMatch;
1141
1147
  next.#ruleMessages = new Map(this.#ruleMessages);
1142
1148
  next.#lastRule = this.#lastRule;
1143
1149
  next.#preTransforms = [...this.#preTransforms];
@@ -1485,6 +1491,17 @@ export class RuleChain {
1485
1491
  this.#recordValueChain = valueChain;
1486
1492
  return this.#retype();
1487
1493
  }
1494
+ /**
1495
+ * Check the record's KEYS, not its values (VineJS `record().validateKeys()`).
1496
+ *
1497
+ * The callback receives every key at once and reports through the field
1498
+ * context — the set is what matters when keys must be exclusive, exhaustive,
1499
+ * or drawn from a list only known at runtime.
1500
+ */
1501
+ validateKeys(callback) {
1502
+ this.#recordKeysCheck = callback;
1503
+ return this;
1504
+ }
1488
1505
  /**
1489
1506
  * Fixed-length array with a schema per position (VineJS `tuple`). Extra
1490
1507
  * items are rejected — a tuple that silently ignores a trailing element is
@@ -1512,6 +1529,19 @@ export class RuleChain {
1512
1529
  * - bare chains: tried in order, first match wins, and a total miss reports a
1513
1530
  * single `union` error rather than every losing branch's noise.
1514
1531
  */
1532
+ /**
1533
+ * What to do when NO union branch matched (VineJS `union().otherwise()`).
1534
+ *
1535
+ * The callback receives the value and the field, and reports the error it
1536
+ * wants — the point being that "matches nothing" is a useless message when
1537
+ * the caller knows which shapes were on offer. Reporting nothing from the
1538
+ * callback suppresses the generic error entirely, which is how a union
1539
+ * folded into a larger check stays quiet.
1540
+ */
1541
+ otherwise(callback) {
1542
+ this.#unionNoMatch = callback;
1543
+ return this;
1544
+ }
1515
1545
  union(chains) {
1516
1546
  this.#unionChains = chains.map(toUnionBranch);
1517
1547
  // Marker rule: its name is not in NATIVE_RULES, which is what keeps a
@@ -1715,17 +1745,38 @@ export class RuleChain {
1715
1745
  });
1716
1746
  return this;
1717
1747
  }
1718
- /** Must equal one of `values` (enum). Narrows the output to the union. */
1748
+ /**
1749
+ * Must equal one of `values` (enum). Narrows the output to the union.
1750
+ *
1751
+ * `values` may be a callback receiving the field, which is how a list that
1752
+ * depends on the request — the roles this tenant allows, the statuses this
1753
+ * user may set — is computed per validation instead of frozen at import.
1754
+ */
1719
1755
  enum(values) {
1720
- const allowed = [...values];
1756
+ const lazy = typeof values === "function";
1757
+ const resolve = allowedValuesResolver(values);
1758
+ this.#enumChoices = lazy ? values : [...values];
1721
1759
  this.#pushRule({
1722
1760
  name: "enum",
1723
- args: { values: allowed },
1724
- validate: (v) => allowed.includes(asPrimitive(v)),
1761
+ args: lazy ? {} : { values: [...values] },
1762
+ // A computed list is per-call; the native engine only ever sees a
1763
+ // static array, so it must not run this rule.
1764
+ tsOnly: lazy,
1765
+ validate: (v, field) => resolve(field).includes(asPrimitive(v)),
1725
1766
  message: "Invalid value",
1726
1767
  });
1727
1768
  return this.#retype();
1728
1769
  }
1770
+ /**
1771
+ * The choices this enum was declared with (VineJS `getChoices()`) — the list
1772
+ * itself, or the callback when it is computed per request.
1773
+ *
1774
+ * Reading them back is what lets a form render the same options the
1775
+ * validator will accept, from one declaration instead of two.
1776
+ */
1777
+ getChoices() {
1778
+ return this.#enumChoices ?? undefined;
1779
+ }
1729
1780
  /** Must equal a literal value. */
1730
1781
  literal(value) {
1731
1782
  this.#pushRule({
@@ -1918,8 +1969,13 @@ export class RuleChain {
1918
1969
  return this.#stringRule("coordinates", isCoordinates, "Must be valid coordinates");
1919
1970
  }
1920
1971
  /**
1921
- * Must be a mobile number in E.164 form. Named deviation from VineJS: rune
1922
- * carries no per-locale numbering plans, so there is no `locale` option.
1972
+ * Must be a mobile number (VineJS/Adonis `mobile()`).
1973
+ *
1974
+ * With no `locale`, the number must be in E.164 form. With one or more,
1975
+ * it must match one of their numbering plans, as in VineJS. rune carries
1976
+ * its own plans rather than validator.js', so it knows fewer locales — an
1977
+ * unknown one raises `UNSUPPORTED_LOCALE` at schema build, naming the ones
1978
+ * it does know, rather than silently accepting anything at request time.
1923
1979
  */
1924
1980
  mobile(options) {
1925
1981
  const locales = options?.locale ? [options.locale].flat() : null;
@@ -2226,7 +2282,7 @@ export class RuleChain {
2226
2282
  // A callback list is computed per call — the native engine only ever
2227
2283
  // sees a static array, so it must not run this rule.
2228
2284
  tsOnly: typeof values === "function",
2229
- validate: (v) => resolve().includes(asPrimitive(v)),
2285
+ validate: (v, field) => resolve(field).includes(asPrimitive(v)),
2230
2286
  message: "Invalid value",
2231
2287
  });
2232
2288
  return this;
@@ -2238,7 +2294,7 @@ export class RuleChain {
2238
2294
  name: "notIn",
2239
2295
  args: typeof values === "function" ? {} : { values: [...values] },
2240
2296
  tsOnly: typeof values === "function",
2241
- validate: (v) => !resolve().includes(asPrimitive(v)),
2297
+ validate: (v, field) => !resolve(field).includes(asPrimitive(v)),
2242
2298
  message: "Invalid value",
2243
2299
  });
2244
2300
  return this;
@@ -2690,6 +2746,11 @@ export class RuleChain {
2690
2746
  }
2691
2747
  }
2692
2748
  // 4b. Record values — same shape as the nested-object walk, arbitrary keys.
2749
+ if (this.#recordKeysCheck && isPlainObject(transformed)) {
2750
+ // Keys first: a key-level rule that rejects the shape makes the
2751
+ // per-value errors that would follow noise.
2752
+ this.#recordKeysCheck(Object.keys(transformed), this.#makeFieldContext(field, transformed, ctx, errors, () => { }));
2753
+ }
2693
2754
  if (this.#recordValueChain && isPlainObject(transformed)) {
2694
2755
  const obj = { ...transformed };
2695
2756
  transformed = obj;
@@ -2747,15 +2808,24 @@ export class RuleChain {
2747
2808
  }
2748
2809
  }
2749
2810
  if (!matched) {
2750
- errors.push({
2751
- field,
2752
- rule: "union",
2753
- message: resolveRuleMessage(field, {
2754
- name: "union",
2755
- validate: () => false,
2756
- message: "Does not match any allowed shape",
2757
- }, ctx),
2758
- });
2811
+ if (this.#unionNoMatch) {
2812
+ // The callback owns the reporting: whatever it pushes is the
2813
+ // error, and pushing nothing means it handled the case itself.
2814
+ const reported = [];
2815
+ this.#unionNoMatch(transformed, this.#makeFieldContext(field, transformed, ctx, reported, () => { }));
2816
+ errors.push(...reported);
2817
+ }
2818
+ else {
2819
+ errors.push({
2820
+ field,
2821
+ rule: "union",
2822
+ message: resolveRuleMessage(field, {
2823
+ name: "union",
2824
+ validate: () => false,
2825
+ message: "Does not match any allowed shape",
2826
+ }, ctx),
2827
+ });
2828
+ }
2759
2829
  }
2760
2830
  }
2761
2831
  // 5. Array item validation
@@ -2844,8 +2914,11 @@ export class RuleChain {
2844
2914
  }
2845
2915
  /** Run the type rules (string/number/…) on the raw value; first failure bails. */
2846
2916
  #runTypeRules(field, value, ctx) {
2917
+ let context;
2918
+ const fieldContext = () => (context ??= this.#makeFieldContext(field, value, ctx, [], () => { }));
2847
2919
  for (const rule of this.#rules) {
2848
- if (TYPE_RULE_NAMES.has(rule.name) && !rule.validate(value)) {
2920
+ if (TYPE_RULE_NAMES.has(rule.name) &&
2921
+ !rule.validate(value, fieldContext())) {
2849
2922
  return {
2850
2923
  field,
2851
2924
  rule: rule.name,
@@ -2859,12 +2932,16 @@ export class RuleChain {
2859
2932
  /** Run the non-type rules (min/max/email/…) on the transformed value. */
2860
2933
  #runValueRules(field, transformed, ctx) {
2861
2934
  const errors = [];
2935
+ // Built once and only if a rule actually reads it: most rules take the
2936
+ // value alone, and a context per rule per field is pure waste.
2937
+ let context;
2938
+ const fieldContext = () => (context ??= this.#makeFieldContext(field, transformed, ctx, [], () => { }));
2862
2939
  for (const rule of this.#rules) {
2863
2940
  if (TYPE_RULE_NAMES.has(rule.name))
2864
2941
  continue;
2865
2942
  if (this.#bail && errors.length > 0)
2866
2943
  break;
2867
- if (!rule.validate(transformed)) {
2944
+ if (!rule.validate(transformed, fieldContext())) {
2868
2945
  errors.push({
2869
2946
  field,
2870
2947
  rule: rule.name,
@@ -3068,7 +3145,7 @@ export const rules = {
3068
3145
  }
3069
3146
  return new RuleChain().union(chains.map((chain) => {
3070
3147
  const typeRule = chain.rules.find((rule) => TYPE_RULE_NAMES.has(rule.name));
3071
- return unionIf((value) => typeRule?.validate(value) === true, chain);
3148
+ return unionIf((value, field) => typeRule?.validate(value, field) === true, chain);
3072
3149
  }));
3073
3150
  },
3074
3151
  object: (shape) => new RuleChain().object(shape),