@e-n-v/env 0.0.7 → 0.0.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.
Files changed (103) hide show
  1. package/dist/{BooleanMap-B7MeMkJC.d.ts → BooleanMap-BPQuO3Ae.d.ts} +1 -3
  2. package/dist/{BooleanMap-D93UJnv5.d.cts → BooleanMap-CX_YrPCf.d.cts} +1 -3
  3. package/dist/EnvChannelOptions-BbKeuO-o.d.cts +366 -0
  4. package/dist/EnvChannelOptions-BbKeuO-o.d.ts +366 -0
  5. package/dist/{EnvSource-DA3ZGlES.js → EnvSource-WAGWqRVM.js} +6 -10
  6. package/dist/{EnvSource-BVnmdHku.cjs → EnvSource-s8F_M_6O.cjs} +21 -28
  7. package/dist/EnvVarSchema-CDZGmnex.cjs +15 -0
  8. package/dist/EnvVarSchema-Dr6q7jf6.js +10 -0
  9. package/dist/{ProcessEnvChannel-Do4-yiLI.d.ts → ProcessEnvChannel-CwhV7_EB.d.ts} +2 -4
  10. package/dist/{ProcessEnvChannel-D465c-dp.d.cts → ProcessEnvChannel-DWHPZePe.d.cts} +2 -4
  11. package/dist/channels.cjs +3 -4
  12. package/dist/channels.d.cts +3 -4
  13. package/dist/channels.d.ts +3 -4
  14. package/dist/channels.js +2 -4
  15. package/dist/cli.cjs +10 -23
  16. package/dist/cli.d.cts +1 -1
  17. package/dist/cli.d.ts +1 -1
  18. package/dist/cli.js +7 -13
  19. package/dist/core.cjs +13 -14
  20. package/dist/core.d.cts +147 -6
  21. package/dist/core.d.ts +147 -6
  22. package/dist/core.js +9 -11
  23. package/dist/{custom-Bt_wnxIu.js → custom-Bd-jLg80.js} +3 -12
  24. package/dist/{custom-D_Rqjm09.cjs → custom-Dyb9TnER.cjs} +48 -58
  25. package/dist/files.cjs +6 -6
  26. package/dist/files.d.cts +2 -2
  27. package/dist/files.d.ts +2 -2
  28. package/dist/files.js +2 -5
  29. package/dist/{parse-awxwtQ1N.d.ts → index-B2eNij2x.d.cts} +1 -2
  30. package/dist/{parse-5fpTbjTr.d.cts → index-BHTM8nxS.d.ts} +1 -2
  31. package/dist/{prompt-DG8haZjn.d.ts → index-BKBW9Dxs.d.cts} +3 -4
  32. package/dist/{prompt-lmZdPaBh.d.cts → index-CEyOIRdj.d.ts} +3 -4
  33. package/dist/{EnvModel-BiT0OiDZ.d.ts → index-Cb0abjLf.d.ts} +59 -7
  34. package/dist/{EnvModel-I0fWZZ_n.d.cts → index-Cz3frUwZ.d.cts} +58 -6
  35. package/dist/index.cjs +27 -30
  36. package/dist/index.d.cts +11 -13
  37. package/dist/index.d.ts +11 -13
  38. package/dist/index.js +8 -14
  39. package/dist/model.cjs +10 -11
  40. package/dist/model.d.cts +2 -35
  41. package/dist/model.d.ts +2 -35
  42. package/dist/model.js +2 -6
  43. package/dist/parse.cjs +14 -14
  44. package/dist/parse.d.cts +5 -8
  45. package/dist/parse.d.ts +5 -8
  46. package/dist/parse.js +4 -7
  47. package/dist/preprocessors-BKuIcZa1.d.ts +83 -0
  48. package/dist/preprocessors-DFVyF0c7.d.cts +83 -0
  49. package/dist/prompt.cjs +12 -15
  50. package/dist/prompt.d.cts +5 -10
  51. package/dist/prompt.d.ts +5 -10
  52. package/dist/prompt.js +3 -9
  53. package/dist/{redis-Cazgs3_J.cjs → redis-CyTF0SYT.cjs} +260 -268
  54. package/dist/{redis-DXhlNtvD.js → redis-D18f4ztf.js} +15 -22
  55. package/dist/{index-UQm0jdkG.d.cts → redis-DsW-Vkwq.d.cts} +2 -6
  56. package/dist/{index-ClKndmJv.d.ts → redis-tRD4nAy_.d.ts} +2 -6
  57. package/dist/{resolveChannel-v9BDsw-M.js → resolveChannel-D1Fzl4TL.js} +59 -63
  58. package/dist/{resolveChannel-CjAuxy3p.cjs → resolveChannel-DxZNYdDe.cjs} +84 -92
  59. package/dist/{chunk-pbleEpgJ.cjs → rolldown-runtime-C0BPl7ul.cjs} +15 -16
  60. package/dist/{chunk-Bp6m_JJh.js → rolldown-runtime-D7D4PA-g.js} +4 -4
  61. package/dist/{schema-DdDa3Qjy.d.cts → schema-B-JLVS42.d.ts} +1 -3
  62. package/dist/{schema-CHypJTDK.d.ts → schema-B1i83alz.d.cts} +1 -3
  63. package/dist/schema-CtP5lpU1.js +11 -0
  64. package/dist/schema-D9nJKipf.cjs +22 -0
  65. package/dist/schemas/zod.cjs +42 -340
  66. package/dist/schemas/zod.d.cts +112 -114
  67. package/dist/schemas/zod.d.ts +112 -114
  68. package/dist/schemas/zod.js +111 -401
  69. package/dist/schemas.cjs +152 -155
  70. package/dist/schemas.d.cts +1 -2
  71. package/dist/schemas.d.ts +1 -2
  72. package/dist/schemas.js +2 -6
  73. package/dist/{src-CdqOYilA.cjs → src-5GYFbR9n.cjs} +21 -24
  74. package/dist/{src-BrNrE0hX.js → src-8rEOvFG5.js} +11 -14
  75. package/dist/{src-DI-VW4dW.js → src-CdzAzdq-.js} +77 -110
  76. package/dist/{src-B5Qu-M-r.js → src-Cg49gGJb.js} +9 -43
  77. package/dist/{src-dO72HN6e.cjs → src-CttkcdpE.cjs} +90 -130
  78. package/dist/{src-PHSSk-t3.cjs → src-D5KzIEH_.cjs} +130 -110
  79. package/dist/{src-DVdOONrX.cjs → src-DB0Har0j.cjs} +911 -932
  80. package/dist/{src-DQaQ28lz.js → src-DWc-WWjX.js} +107 -89
  81. package/dist/{src-vBXlFkSP.js → src-DvUBRBe3.js} +115 -136
  82. package/dist/{src-DywfI0fM.cjs → src-TZx_e95f.cjs} +78 -131
  83. package/dist/{vars-DF9DoAF4.d.ts → vars-DtzGL5Nc.d.cts} +1 -4
  84. package/dist/{vars-KUgv2rti.d.cts → vars-obKYxaSu.d.ts} +1 -4
  85. package/dist/vars.cjs +175 -160
  86. package/dist/vars.d.cts +2 -6
  87. package/dist/vars.d.ts +2 -6
  88. package/dist/vars.js +21 -9
  89. package/package.json +3 -2
  90. package/dist/EnvChannelOptions-BPkWDrmr.d.cts +0 -108
  91. package/dist/EnvChannelOptions-CRwDLWjd.d.ts +0 -108
  92. package/dist/coerce-DNIuYAx4.js +0 -11028
  93. package/dist/coerce-b7UVodS9.cjs +0 -12365
  94. package/dist/model-BNDYMM9l.d.ts +0 -29
  95. package/dist/model-CJMnbGuS.d.cts +0 -29
  96. package/dist/validate-8HbVniNt.d.cts +0 -204
  97. package/dist/validate-CE8hQ5JG.d.ts +0 -204
  98. package/dist/vars-BHXXBiY1.cjs +0 -27
  99. package/dist/vars-FOuH_HuL.js +0 -22
  100. /package/dist/{EnvChannel-LMIRYvT1.d.cts → EnvChannel-CfSwa_25.d.cts} +0 -0
  101. /package/dist/{EnvChannel-w27PEm7x.d.ts → EnvChannel-CfSwa_25.d.ts} +0 -0
  102. /package/dist/{StringEnvVarSchema-BwSGgmeG.d.ts → StringEnvVarSchema-D9Jr1Aws.d.cts} +0 -0
  103. /package/dist/{StringEnvVarSchema-DnsZTIS0.d.cts → StringEnvVarSchema-D9Jr1Aws.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
- import { a as isEnvVarSchema, c as EnumEnvVarSchema, l as BooleanEnvVarSchema, o as StringEnvVarSchema, s as NumberEnvVarSchema } from "./src-B5Qu-M-r.js";
2
- import { Qr as safeParse, jn as stringbool, kn as string, n as number } from "./coerce-DNIuYAx4.js";
3
-
1
+ import { a as EnumEnvVarSchema, i as NumberEnvVarSchema, o as BooleanEnvVarSchema, r as StringEnvVarSchema } from "./src-Cg49gGJb.js";
2
+ import { t as isEnvVarSchema } from "./EnvVarSchema-Dr6q7jf6.js";
3
+ import { z } from "zod";
4
+ import * as z4core from "zod/v4/core";
4
5
  //#region ../converters/src/converters/zod/ZodV3Converter.ts
5
6
  /**
6
7
  * Zod v3 schema converter implementation
@@ -119,11 +120,10 @@ function peelV3Schema(schema) {
119
120
  */
120
121
  function createV3ProcessFunction(schema, type) {
121
122
  return (value) => {
122
- if (typeof value !== "string") throw new Error("Value must be a string");
123
123
  try {
124
124
  let processSchema = schema;
125
- if (type === "number") processSchema = number();
126
- else if (type === "boolean") processSchema = string().transform((val) => {
125
+ if (typeof value === "string" && type === "number") processSchema = z.coerce.number();
126
+ else if (typeof value === "string" && type === "boolean") processSchema = z.string().transform((val) => {
127
127
  const lower = val.toLowerCase().trim();
128
128
  if ([
129
129
  "true",
@@ -158,29 +158,35 @@ function convertFromZodV3Schema(schema) {
158
158
  const type = resolveV3EnvVarType(peeled.schema);
159
159
  const def = getV3Def(peeled.schema);
160
160
  switch (type) {
161
- case "boolean": return new BooleanEnvVarSchema({
162
- process: createV3ProcessFunction(peeled.schema, "boolean"),
163
- required: peeled.required,
164
- default: typeof peeled.default === "boolean" ? peeled.default : void 0,
165
- description: peeled.description
166
- });
167
- case "number": return new NumberEnvVarSchema({
168
- process: createV3ProcessFunction(peeled.schema, "number"),
169
- required: peeled.required,
170
- default: typeof peeled.default === "number" ? peeled.default : void 0,
171
- description: peeled.description
172
- });
161
+ case "boolean": {
162
+ const process = createV3ProcessFunction(peeled.schema, "boolean");
163
+ return new BooleanEnvVarSchema({
164
+ process,
165
+ required: peeled.required,
166
+ default: typeof peeled.default === "boolean" ? peeled.default : void 0,
167
+ description: peeled.description
168
+ });
169
+ }
170
+ case "number": {
171
+ const process = createV3ProcessFunction(peeled.schema, "number");
172
+ return new NumberEnvVarSchema({
173
+ process,
174
+ required: peeled.required,
175
+ default: typeof peeled.default === "number" ? peeled.default : void 0,
176
+ description: peeled.description
177
+ });
178
+ }
173
179
  case "enum": {
174
180
  const values = extractV3EnumValues(def) || [];
181
+ const process = createV3ProcessFunction(peeled.schema, "enum");
175
182
  return new EnumEnvVarSchema({
176
- process: createV3ProcessFunction(peeled.schema, "enum"),
183
+ process,
177
184
  values,
178
185
  required: peeled.required,
179
186
  default: typeof peeled.default === "string" ? peeled.default : void 0,
180
187
  description: peeled.description
181
188
  });
182
189
  }
183
- case "string":
184
190
  default: {
185
191
  const process = createV3ProcessFunction(peeled.schema, "string");
186
192
  const defaultValue = typeof peeled.default === "string" ? peeled.default : void 0;
@@ -193,7 +199,6 @@ function convertFromZodV3Schema(schema) {
193
199
  }
194
200
  }
195
201
  }
196
-
197
202
  //#endregion
198
203
  //#region ../converters/src/converters/zod/ZodV4Converter.ts
199
204
  /**
@@ -332,15 +337,14 @@ function peelV4Schema(schema) {
332
337
  */
333
338
  function createV4ProcessFunction(schema, type, originalSchema) {
334
339
  return (value) => {
335
- if (typeof value !== "string") throw new Error("Value must be a string");
336
340
  try {
337
341
  let processSchema = schema;
338
342
  const def = getV4Def(schema);
339
343
  const typeName = getV4TypeName(def);
340
- if (typeName === "stringbool" || typeName === "pipe" && def.in && def.out && resolveV4EnvVarType(def.in) === "string" && resolveV4EnvVarType(def.out) === "boolean") processSchema = originalSchema;
341
- else if (type === "number") processSchema = number();
342
- else if (type === "boolean") processSchema = stringbool();
343
- const result = safeParse(processSchema, value);
344
+ if (typeof value === "string" && typeName === "stringbool" || typeof value === "string" && typeName === "pipe" && def.in && def.out && resolveV4EnvVarType(def.in) === "string" && resolveV4EnvVarType(def.out) === "boolean") processSchema = originalSchema;
345
+ else if (typeof value === "string" && type === "number") processSchema = z.coerce.number();
346
+ else if (typeof value === "string" && type === "boolean") processSchema = z.stringbool();
347
+ const result = z4core.safeParse(processSchema, value);
344
348
  if (result.success) return result.data;
345
349
  throw new Error(`Failed to parse value "${value}": ${result.error.issues.map((issue) => issue.message).join("; ")}`);
346
350
  } catch (error) {
@@ -357,29 +361,35 @@ function convertFromZodV4Schema(schema) {
357
361
  const type = resolveV4EnvVarType(peeled.schema);
358
362
  const def = getV4Def(peeled.schema);
359
363
  switch (type) {
360
- case "boolean": return new BooleanEnvVarSchema({
361
- process: createV4ProcessFunction(peeled.schema, "boolean", schema),
362
- required: peeled.required,
363
- default: typeof peeled.default === "boolean" ? peeled.default : void 0,
364
- description: peeled.description
365
- });
366
- case "number": return new NumberEnvVarSchema({
367
- process: createV4ProcessFunction(peeled.schema, "number", schema),
368
- required: peeled.required,
369
- default: typeof peeled.default === "number" ? peeled.default : void 0,
370
- description: peeled.description
371
- });
364
+ case "boolean": {
365
+ const process = createV4ProcessFunction(peeled.schema, "boolean", schema);
366
+ return new BooleanEnvVarSchema({
367
+ process,
368
+ required: peeled.required,
369
+ default: typeof peeled.default === "boolean" ? peeled.default : void 0,
370
+ description: peeled.description
371
+ });
372
+ }
373
+ case "number": {
374
+ const process = createV4ProcessFunction(peeled.schema, "number", schema);
375
+ return new NumberEnvVarSchema({
376
+ process,
377
+ required: peeled.required,
378
+ default: typeof peeled.default === "number" ? peeled.default : void 0,
379
+ description: peeled.description
380
+ });
381
+ }
372
382
  case "enum": {
373
383
  const values = extractV4EnumValues(def) || [];
384
+ const process = createV4ProcessFunction(peeled.schema, "enum", schema);
374
385
  return new EnumEnvVarSchema({
375
- process: createV4ProcessFunction(peeled.schema, "enum", schema),
386
+ process,
376
387
  values,
377
388
  required: peeled.required,
378
389
  default: typeof peeled.default === "string" ? peeled.default : void 0,
379
390
  description: peeled.description
380
391
  });
381
392
  }
382
- case "string":
383
393
  default: {
384
394
  const process = createV4ProcessFunction(peeled.schema, "string", schema);
385
395
  const defaultValue = typeof peeled.default === "string" ? peeled.default : void 0;
@@ -392,7 +402,6 @@ function convertFromZodV4Schema(schema) {
392
402
  }
393
403
  }
394
404
  }
395
-
396
405
  //#endregion
397
406
  //#region ../converters/src/converters/joi/JoiConverter.ts
398
407
  /**
@@ -502,14 +511,13 @@ function resolveJoiEnvVarType(schema) {
502
511
  */
503
512
  function createJoiProcessFunction(schema, type) {
504
513
  return (value) => {
505
- if (typeof value !== "string") throw new Error("Value must be a string");
506
514
  try {
507
515
  let processValue = value;
508
- if (type === "number") {
516
+ if (typeof value === "string" && type === "number") {
509
517
  const num = Number(value);
510
- if (Number.isNaN(num)) throw new Error(`Expected number, received "${value}"`);
518
+ if (!Number.isFinite(num)) throw new Error(`Expected number, received "${value}"`);
511
519
  processValue = num;
512
- } else if (type === "boolean") {
520
+ } else if (typeof value === "string" && type === "boolean") {
513
521
  const lower = value.toLowerCase().trim();
514
522
  if ([
515
523
  "true",
@@ -548,38 +556,46 @@ function convertFromJoiSchema(schema) {
548
556
  const defaultValue = getJoiDefaultValue(schema);
549
557
  const description = getJoiDescription(schema);
550
558
  switch (type) {
551
- case "boolean": return new BooleanEnvVarSchema({
552
- process: createJoiProcessFunction(schema, "boolean"),
553
- required,
554
- default: typeof defaultValue === "boolean" ? defaultValue : void 0,
555
- description
556
- });
557
- case "number": return new NumberEnvVarSchema({
558
- process: createJoiProcessFunction(schema, "number"),
559
- required,
560
- default: typeof defaultValue === "number" ? defaultValue : void 0,
561
- description
562
- });
559
+ case "boolean": {
560
+ const process = createJoiProcessFunction(schema, "boolean");
561
+ return new BooleanEnvVarSchema({
562
+ process,
563
+ required,
564
+ default: typeof defaultValue === "boolean" ? defaultValue : void 0,
565
+ description
566
+ });
567
+ }
568
+ case "number": {
569
+ const process = createJoiProcessFunction(schema, "number");
570
+ return new NumberEnvVarSchema({
571
+ process,
572
+ required,
573
+ default: typeof defaultValue === "number" ? defaultValue : void 0,
574
+ description
575
+ });
576
+ }
563
577
  case "enum": {
564
578
  const values = getJoiValidValues(schema) || [];
579
+ const process = createJoiProcessFunction(schema, "enum");
565
580
  return new EnumEnvVarSchema({
566
- process: createJoiProcessFunction(schema, "enum"),
581
+ process,
567
582
  values,
568
583
  required,
569
584
  default: typeof defaultValue === "string" ? defaultValue : void 0,
570
585
  description
571
586
  });
572
587
  }
573
- case "string":
574
- default: return new StringEnvVarSchema({
575
- process: createJoiProcessFunction(schema, "string"),
576
- required,
577
- default: typeof defaultValue === "string" ? defaultValue : void 0,
578
- description
579
- });
588
+ default: {
589
+ const process = createJoiProcessFunction(schema, "string");
590
+ return new StringEnvVarSchema({
591
+ process,
592
+ required,
593
+ default: typeof defaultValue === "string" ? defaultValue : void 0,
594
+ description
595
+ });
596
+ }
580
597
  }
581
598
  }
582
-
583
599
  //#endregion
584
600
  //#region ../converters/src/converters/superstruct/SuperstructConverter.ts
585
601
  /**
@@ -613,31 +629,39 @@ function convertFromSuperstruct(schema) {
613
629
  const values = extractEnumValues(schema);
614
630
  if (!values || values.length === 0) return createStringEnvVarSchema(schema, required, defaultValue, description);
615
631
  const readonlyValues = values;
632
+ const process = createSuperstructProcessFunction(schema, "enum");
616
633
  return new EnumEnvVarSchema({
617
- process: createSuperstructProcessFunction(schema, "enum"),
634
+ process,
618
635
  values: readonlyValues,
619
636
  required,
620
637
  default: typeof defaultValue === "string" ? defaultValue : void 0,
621
638
  description
622
639
  });
623
640
  }
624
- if (resolvedType === "boolean") return new BooleanEnvVarSchema({
625
- process: createSuperstructProcessFunction(schema, "boolean"),
626
- required,
627
- default: typeof defaultValue === "boolean" ? defaultValue : void 0,
628
- description
629
- });
630
- if (resolvedType === "number") return new NumberEnvVarSchema({
631
- process: createSuperstructProcessFunction(schema, "number"),
632
- required,
633
- default: typeof defaultValue === "number" ? defaultValue : void 0,
634
- description
635
- });
641
+ if (resolvedType === "boolean") {
642
+ const process = createSuperstructProcessFunction(schema, "boolean");
643
+ return new BooleanEnvVarSchema({
644
+ process,
645
+ required,
646
+ default: typeof defaultValue === "boolean" ? defaultValue : void 0,
647
+ description
648
+ });
649
+ }
650
+ if (resolvedType === "number") {
651
+ const process = createSuperstructProcessFunction(schema, "number");
652
+ return new NumberEnvVarSchema({
653
+ process,
654
+ required,
655
+ default: typeof defaultValue === "number" ? defaultValue : void 0,
656
+ description
657
+ });
658
+ }
636
659
  return createStringEnvVarSchema(schema, required, defaultValue, description);
637
660
  }
638
661
  function createStringEnvVarSchema(schema, required, defaultValue, description) {
662
+ const process = createSuperstructProcessFunction(schema, "string");
639
663
  return new StringEnvVarSchema({
640
- process: createSuperstructProcessFunction(schema, "string"),
664
+ process,
641
665
  required,
642
666
  default: typeof defaultValue === "string" ? defaultValue : void 0,
643
667
  description
@@ -692,9 +716,8 @@ function getStructDescription(schema) {
692
716
  }
693
717
  function createSuperstructProcessFunction(schema, type) {
694
718
  return (value) => {
695
- if (typeof value !== "string") throw new Error("Value must be a string");
696
719
  let candidate = value;
697
- if (type === "number") {
720
+ if (typeof value === "string" && type === "number") {
698
721
  const trimmed = value.trim();
699
722
  if (trimmed === "") candidate = void 0;
700
723
  else {
@@ -702,7 +725,7 @@ function createSuperstructProcessFunction(schema, type) {
702
725
  if (Number.isNaN(parsed) || !Number.isFinite(parsed)) throw new Error(`"${value}" is not a valid number`);
703
726
  candidate = parsed;
704
727
  }
705
- } else if (type === "boolean") {
728
+ } else if (typeof value === "string" && type === "boolean") {
706
729
  const trimmed = value.trim().toLowerCase();
707
730
  if (trimmed === "") candidate = void 0;
708
731
  else if ([
@@ -726,7 +749,6 @@ function createSuperstructProcessFunction(schema, type) {
726
749
  return result;
727
750
  };
728
751
  }
729
-
730
752
  //#endregion
731
753
  //#region ../converters/src/converters.ts
732
754
  /**
@@ -738,7 +760,6 @@ const converters = [
738
760
  new JoiConverter(),
739
761
  new SuperstructConverter()
740
762
  ];
741
-
742
763
  //#endregion
743
764
  //#region ../models/src/resolve.ts
744
765
  /**
@@ -780,7 +801,6 @@ function resolveSchemas(schemas) {
780
801
  }
781
802
  return resolved;
782
803
  }
783
-
784
804
  //#endregion
785
805
  //#region ../models/src/EnvModel.ts
786
806
  /**
@@ -820,7 +840,6 @@ var EnvModel = class {
820
840
  return { ...config };
821
841
  }
822
842
  };
823
-
824
843
  //#endregion
825
844
  //#region ../models/src/model.ts
826
845
  /**
@@ -848,6 +867,5 @@ var EnvModel = class {
848
867
  function define(options) {
849
868
  return new EnvModel(options);
850
869
  }
851
-
852
870
  //#endregion
853
- export { resolveSchemas as i, EnvModel as n, resolveSchema as r, define as t };
871
+ export { resolveSchemas as i, EnvModel as n, resolveSchema as r, define as t };