@m1212e/rumble 0.23.20 → 0.23.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/out/index.mjs CHANGED
@@ -186,7 +186,7 @@ function mapNullFieldsToUndefined(obj) {
186
186
  }
187
187
  //#endregion
188
188
  //#region package.json
189
- var version = "0.23.20";
189
+ var version = "0.23.22";
190
190
  //#endregion
191
191
  //#region lib/helpers/errorLogging.ts
192
192
  function hasMessage(error) {
@@ -2605,6 +2605,7 @@ var RuntimeFiltersPlugin = class extends BasePlugin {
2605
2605
  let registered = false;
2606
2606
  function registerRuntimeFiltersPlugin() {
2607
2607
  if (!registered) {
2608
+ SchemaBuilder.allowPluginReRegistration = true;
2608
2609
  SchemaBuilder.registerPlugin(pluginName, RuntimeFiltersPlugin);
2609
2610
  registered = true;
2610
2611
  }
@@ -2733,6 +2734,29 @@ function implementDefaultAddressTypes(schemaBuilder) {
2733
2734
  };
2734
2735
  }
2735
2736
  //#endregion
2737
+ //#region lib/scalars/emailAddress.ts
2738
+ /**
2739
+ * Validates an email address using graphql-scalars' own format check, then lowercases it.
2740
+ */
2741
+ const normalize$1 = (value) => {
2742
+ try {
2743
+ return EmailAddressResolver.parseValue(value).toLowerCase();
2744
+ } catch (error) {
2745
+ throw new RumbleErrorSafe(error instanceof Error ? error.message : `Invalid email address: ${value}`);
2746
+ }
2747
+ };
2748
+ const EmailAddressResolver$1 = new GraphQLScalarType({
2749
+ name: "EmailAddress",
2750
+ description: `${EmailAddressResolver.description} Lowercased.`,
2751
+ specifiedByURL: EmailAddressResolver.specifiedByURL,
2752
+ serialize: normalize$1,
2753
+ parseValue: normalize$1,
2754
+ parseLiteral(ast) {
2755
+ if (ast.kind !== Kind.STRING) throw new RumbleErrorSafe(`Can only validate strings as email addresses but got a: ${ast.kind}`);
2756
+ return normalize$1(ast.value);
2757
+ }
2758
+ });
2759
+ //#endregion
2736
2760
  //#region lib/scalars/personName.ts
2737
2761
  const MAX_LENGTH = 200;
2738
2762
  const NAME_REGEX = /^[\p{L}\p{M}]+(?:(?:[ '-]|\.\x20?)[\p{L}\p{M}]+)*\.?$/u;
@@ -2858,7 +2882,7 @@ const createSchemaBuilder = ({ db, pubsub, pothosConfig, otel, logger, validatio
2858
2882
  schemaBuilder.addScalarType("DateTime", DateTimeISOResolver);
2859
2883
  schemaBuilder.addScalarType("BigInt", BigIntResolver);
2860
2884
  schemaBuilder.addScalarType("Bytes", ByteResolver);
2861
- schemaBuilder.addScalarType("EmailAddress", EmailAddressResolver);
2885
+ schemaBuilder.addScalarType("EmailAddress", EmailAddressResolver$1);
2862
2886
  schemaBuilder.addScalarType("PhoneNumber", PhoneNumberResolver);
2863
2887
  schemaBuilder.addScalarType("Locale", LocaleResolver);
2864
2888
  schemaBuilder.addScalarType("PersonName", PersonNameResolver);