@hegeldev/hegel 0.1.0 → 0.1.1

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 (73) hide show
  1. package/package.json +7 -2
  2. package/dist/binary.d.ts +0 -27
  3. package/dist/binary.d.ts.map +0 -1
  4. package/dist/binary.js +0 -50
  5. package/dist/binary.js.map +0 -1
  6. package/dist/collections.d.ts +0 -114
  7. package/dist/collections.d.ts.map +0 -1
  8. package/dist/collections.js +0 -313
  9. package/dist/collections.js.map +0 -1
  10. package/dist/combinators.d.ts +0 -34
  11. package/dist/combinators.d.ts.map +0 -1
  12. package/dist/combinators.js +0 -152
  13. package/dist/combinators.js.map +0 -1
  14. package/dist/conformance.d.ts +0 -31
  15. package/dist/conformance.d.ts.map +0 -1
  16. package/dist/conformance.js +0 -60
  17. package/dist/conformance.js.map +0 -1
  18. package/dist/derive.d.ts +0 -225
  19. package/dist/derive.d.ts.map +0 -1
  20. package/dist/derive.js +0 -296
  21. package/dist/derive.js.map +0 -1
  22. package/dist/embedded.d.ts +0 -38
  23. package/dist/embedded.d.ts.map +0 -1
  24. package/dist/embedded.js +0 -237
  25. package/dist/embedded.js.map +0 -1
  26. package/dist/floats.d.ts +0 -57
  27. package/dist/floats.d.ts.map +0 -1
  28. package/dist/floats.js +0 -100
  29. package/dist/floats.js.map +0 -1
  30. package/dist/formats.d.ts +0 -62
  31. package/dist/formats.d.ts.map +0 -1
  32. package/dist/formats.js +0 -164
  33. package/dist/formats.js.map +0 -1
  34. package/dist/generator.d.ts +0 -80
  35. package/dist/generator.d.ts.map +0 -1
  36. package/dist/generator.js +0 -128
  37. package/dist/generator.js.map +0 -1
  38. package/dist/generators/primitives.d.ts +0 -138
  39. package/dist/generators/primitives.d.ts.map +0 -1
  40. package/dist/generators/primitives.js +0 -240
  41. package/dist/generators/primitives.js.map +0 -1
  42. package/dist/generators.d.ts +0 -408
  43. package/dist/generators.d.ts.map +0 -1
  44. package/dist/generators.js +0 -898
  45. package/dist/generators.js.map +0 -1
  46. package/dist/install.d.ts +0 -6
  47. package/dist/install.d.ts.map +0 -1
  48. package/dist/install.js +0 -91
  49. package/dist/install.js.map +0 -1
  50. package/dist/integers.d.ts +0 -37
  51. package/dist/integers.d.ts.map +0 -1
  52. package/dist/integers.js +0 -63
  53. package/dist/integers.js.map +0 -1
  54. package/dist/labels.d.ts +0 -21
  55. package/dist/labels.d.ts.map +0 -1
  56. package/dist/labels.js +0 -20
  57. package/dist/labels.js.map +0 -1
  58. package/dist/objects.d.ts +0 -39
  59. package/dist/objects.d.ts.map +0 -1
  60. package/dist/objects.js +0 -98
  61. package/dist/objects.js.map +0 -1
  62. package/dist/primitives.d.ts +0 -14
  63. package/dist/primitives.d.ts.map +0 -1
  64. package/dist/primitives.js +0 -51
  65. package/dist/primitives.js.map +0 -1
  66. package/dist/spans.d.ts +0 -23
  67. package/dist/spans.d.ts.map +0 -1
  68. package/dist/spans.js +0 -51
  69. package/dist/spans.js.map +0 -1
  70. package/dist/strings.d.ts +0 -67
  71. package/dist/strings.d.ts.map +0 -1
  72. package/dist/strings.js +0 -107
  73. package/dist/strings.js.map +0 -1
@@ -1,138 +0,0 @@
1
- /**
2
- * Primitive and format generators: integers, floats, booleans, text, binary,
3
- * just, sampledFrom, fromRegex, and format generators (emails, urls, etc.).
4
- *
5
- * @packageDocumentation
6
- */
7
- import { BasicGenerator } from "./core.js";
8
- /**
9
- * Generate integers.
10
- *
11
- * @param minValue - Minimum value (inclusive), or null for unbounded.
12
- * @param maxValue - Maximum value (inclusive), or null for unbounded.
13
- */
14
- export declare function integers(minValue?: number | null, maxValue?: number | null): BasicGenerator<number>;
15
- /**
16
- * Generate floating-point numbers.
17
- *
18
- * By default, allows NaN and infinity unless a range is given. When a min or
19
- * max is provided the defaults tighten: NaN becomes disallowed, and infinity
20
- * is disallowed on the bounded side.
21
- *
22
- * @param minValue - Minimum value (inclusive), or null for unbounded.
23
- * @param maxValue - Maximum value (inclusive), or null for unbounded.
24
- * @param allowNan - Whether to allow NaN. Defaults to true only when both bounds are absent.
25
- * @param allowInfinity - Whether to allow ±Infinity. Defaults to true when at least one bound is absent.
26
- * @param excludeMin - Whether to exclude the minimum value (open interval on the left).
27
- * @param excludeMax - Whether to exclude the maximum value (open interval on the right).
28
- */
29
- export declare function floats(minValue?: number | null, maxValue?: number | null, allowNan?: boolean | null, allowInfinity?: boolean | null, excludeMin?: boolean, excludeMax?: boolean): BasicGenerator<number>;
30
- /**
31
- * Generate booleans.
32
- */
33
- export declare function booleans(): BasicGenerator<boolean>;
34
- /** Character filtering options for {@link text} and {@link fromRegex}. */
35
- export interface CharacterOptions {
36
- /** Restrict to characters encodable in this codec (e.g. `"ascii"`, `"utf-8"`). */
37
- codec?: string;
38
- /** Minimum Unicode codepoint. */
39
- minCodepoint?: number;
40
- /** Maximum Unicode codepoint. */
41
- maxCodepoint?: number;
42
- /** Include only characters from these Unicode general categories (e.g. `["L", "Nd"]`). Mutually exclusive with `excludeCategories`. */
43
- categories?: string[];
44
- /** Exclude characters from these Unicode general categories. Mutually exclusive with `categories`. */
45
- excludeCategories?: string[];
46
- /** Always include these characters regardless of other constraints. */
47
- includeCharacters?: string;
48
- /** Exclude these characters. */
49
- excludeCharacters?: string;
50
- }
51
- /**
52
- * Generate text strings.
53
- *
54
- * @param minSize - Minimum number of Unicode codepoints. Defaults to 0.
55
- * @param maxSize - Maximum number of Unicode codepoints, or null for unbounded.
56
- * @param opts - Character filtering options.
57
- */
58
- export declare function text(minSize?: number, maxSize?: number | null, opts?: CharacterOptions): BasicGenerator<string>;
59
- /**
60
- * Generate single Unicode characters.
61
- *
62
- * This is a convenience for `text(1, 1, opts)` — it generates single-character
63
- * strings with the same character filtering options as {@link text}.
64
- *
65
- * @param opts - Character filtering options.
66
- */
67
- export declare function characters(opts?: CharacterOptions): BasicGenerator<string>;
68
- /**
69
- * Generate binary data (byte strings).
70
- *
71
- * The server returns CBOR byte strings which are decoded directly as
72
- * `Uint8Array`. No transform is needed.
73
- *
74
- * @param minSize - Minimum byte length. Defaults to 0.
75
- * @param maxSize - Maximum byte length, or null for unbounded.
76
- */
77
- export declare function binary(minSize?: number, maxSize?: number | null): BasicGenerator<Uint8Array>;
78
- /**
79
- * Always return the same constant value, ignoring the server's suggestion.
80
- *
81
- * @param value - The constant to always return.
82
- */
83
- export declare function just<T>(value: T): BasicGenerator<T>;
84
- /**
85
- * Pick uniformly at random from a list of values.
86
- *
87
- * The server generates an integer index; the transform maps it to the
88
- * corresponding element of `values`.
89
- *
90
- * @param values - The list to sample from. Must be non-empty.
91
- * @throws {Error} If `values` is empty.
92
- */
93
- export declare function sampledFrom<T>(values: readonly T[]): BasicGenerator<T>;
94
- /**
95
- * Generate strings matching a regular expression pattern.
96
- *
97
- * @param pattern - The regex pattern to match.
98
- * @param fullmatch - If true (default), the entire string must match the pattern.
99
- * If false, a substring match is sufficient.
100
- */
101
- export declare function fromRegex(pattern: string, fullmatch?: boolean): BasicGenerator<string>;
102
- /**
103
- * Generate email addresses.
104
- *
105
- * Each generated value is a valid email address string containing '@'.
106
- */
107
- export declare function emails(): BasicGenerator<string>;
108
- /**
109
- * Generate URLs.
110
- *
111
- * Each generated value is a valid URL string starting with "http://" or "https://".
112
- */
113
- export declare function urls(): BasicGenerator<string>;
114
- /**
115
- * Generate domain names.
116
- *
117
- * @param maxLength - Optional maximum length for generated domain names.
118
- */
119
- export declare function domains(maxLength?: number | null): BasicGenerator<string>;
120
- /**
121
- * Generate dates.
122
- *
123
- * Each generated value is an ISO 8601 date string in YYYY-MM-DD format.
124
- */
125
- export declare function dates(): BasicGenerator<string>;
126
- /**
127
- * Generate times.
128
- *
129
- * Each generated value is a time string containing ':'.
130
- */
131
- export declare function times(): BasicGenerator<string>;
132
- /**
133
- * Generate datetimes.
134
- *
135
- * Each generated value is a datetime string containing 'T'.
136
- */
137
- export declare function datetimes(): BasicGenerator<string>;
138
- //# sourceMappingURL=primitives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/generators/primitives.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAM3C;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,cAAc,CAAC,MAAM,CAAC,CAQxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CACpB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,OAAO,GAAG,IAAW,EAC/B,aAAa,GAAE,OAAO,GAAG,IAAW,EACpC,UAAU,UAAQ,EAClB,UAAU,UAAQ,GACjB,cAAc,CAAC,MAAM,CAAC,CAyBxB;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,CAElD;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uIAAuI;IACvI,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,OAAO,SAAI,EACX,OAAO,GAAE,MAAM,GAAG,IAAW,EAC7B,IAAI,GAAE,gBAAqB,GAC1B,cAAc,CAAC,MAAM,CAAC,CAoBxB;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,gBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC,CAE9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,OAAO,SAAI,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAa7F;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAEnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAWtE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAO/E;AAED;;;;GAIG;AACH,wBAAgB,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,cAAc,CAAC,MAAM,CAAC,CAElD"}
@@ -1,240 +0,0 @@
1
- /**
2
- * Primitive and format generators: integers, floats, booleans, text, binary,
3
- * just, sampledFrom, fromRegex, and format generators (emails, urls, etc.).
4
- *
5
- * @packageDocumentation
6
- */
7
- import { BasicGenerator } from "./core.js";
8
- // ---------------------------------------------------------------------------
9
- // Built-in generators
10
- // ---------------------------------------------------------------------------
11
- /**
12
- * Generate integers.
13
- *
14
- * @param minValue - Minimum value (inclusive), or null for unbounded.
15
- * @param maxValue - Maximum value (inclusive), or null for unbounded.
16
- */
17
- export function integers(minValue = null, maxValue = null) {
18
- if (minValue !== null && maxValue !== null && minValue > maxValue) {
19
- throw new Error(`Cannot have max_value=${maxValue} < min_value=${minValue}`);
20
- }
21
- const schema = { type: "integer" };
22
- if (minValue !== null)
23
- schema["min_value"] = minValue;
24
- if (maxValue !== null)
25
- schema["max_value"] = maxValue;
26
- return new BasicGenerator(schema);
27
- }
28
- /**
29
- * Generate floating-point numbers.
30
- *
31
- * By default, allows NaN and infinity unless a range is given. When a min or
32
- * max is provided the defaults tighten: NaN becomes disallowed, and infinity
33
- * is disallowed on the bounded side.
34
- *
35
- * @param minValue - Minimum value (inclusive), or null for unbounded.
36
- * @param maxValue - Maximum value (inclusive), or null for unbounded.
37
- * @param allowNan - Whether to allow NaN. Defaults to true only when both bounds are absent.
38
- * @param allowInfinity - Whether to allow ±Infinity. Defaults to true when at least one bound is absent.
39
- * @param excludeMin - Whether to exclude the minimum value (open interval on the left).
40
- * @param excludeMax - Whether to exclude the maximum value (open interval on the right).
41
- */
42
- export function floats(minValue = null, maxValue = null, allowNan = null, allowInfinity = null, excludeMin = false, excludeMax = false) {
43
- const hasMin = minValue !== null;
44
- const hasMax = maxValue !== null;
45
- const resolvedAllowNan = allowNan !== null ? allowNan : !hasMin && !hasMax;
46
- const resolvedAllowInfinity = allowInfinity !== null ? allowInfinity : !hasMin || !hasMax;
47
- if (resolvedAllowNan && (hasMin || hasMax)) {
48
- throw new Error("Cannot have allow_nan=true with min_value or max_value");
49
- }
50
- if (hasMin && hasMax && minValue > maxValue) {
51
- throw new Error(`There are no floats between min_value=${minValue} and max_value=${maxValue}`);
52
- }
53
- if (resolvedAllowInfinity && hasMin && hasMax) {
54
- throw new Error("Cannot have allow_infinity=true with both min_value and max_value");
55
- }
56
- const schema = { type: "float" };
57
- if (hasMin)
58
- schema["min_value"] = minValue;
59
- if (hasMax)
60
- schema["max_value"] = maxValue;
61
- schema["allow_nan"] = resolvedAllowNan;
62
- schema["allow_infinity"] = resolvedAllowInfinity;
63
- // exclude_min/exclude_max are only valid when the corresponding bound is set;
64
- // sending them without a bound causes the server to return InvalidArgument.
65
- schema["exclude_min"] = hasMin && excludeMin;
66
- schema["exclude_max"] = hasMax && excludeMax;
67
- schema["width"] = 64;
68
- return new BasicGenerator(schema);
69
- }
70
- /**
71
- * Generate booleans.
72
- */
73
- export function booleans() {
74
- return new BasicGenerator({ type: "boolean" });
75
- }
76
- /**
77
- * Generate text strings.
78
- *
79
- * @param minSize - Minimum number of Unicode codepoints. Defaults to 0.
80
- * @param maxSize - Maximum number of Unicode codepoints, or null for unbounded.
81
- * @param opts - Character filtering options.
82
- */
83
- export function text(minSize = 0, maxSize = null, opts = {}) {
84
- if (minSize < 0) {
85
- throw new Error(`min_size=${minSize} must be non-negative`);
86
- }
87
- if (maxSize !== null && maxSize < 0) {
88
- throw new Error(`max_size=${maxSize} must be non-negative`);
89
- }
90
- if (maxSize !== null && minSize > maxSize) {
91
- throw new Error(`Cannot have max_size=${maxSize} < min_size=${minSize}`);
92
- }
93
- const schema = { type: "string", min_size: minSize };
94
- if (maxSize !== null)
95
- schema["max_size"] = maxSize;
96
- if (opts.codec !== undefined)
97
- schema["codec"] = opts.codec;
98
- if (opts.minCodepoint !== undefined)
99
- schema["min_codepoint"] = opts.minCodepoint;
100
- if (opts.maxCodepoint !== undefined)
101
- schema["max_codepoint"] = opts.maxCodepoint;
102
- if (opts.categories !== undefined)
103
- schema["categories"] = opts.categories;
104
- if (opts.excludeCategories !== undefined)
105
- schema["exclude_categories"] = opts.excludeCategories;
106
- if (opts.includeCharacters !== undefined)
107
- schema["include_characters"] = opts.includeCharacters;
108
- if (opts.excludeCharacters !== undefined)
109
- schema["exclude_characters"] = opts.excludeCharacters;
110
- return new BasicGenerator(schema);
111
- }
112
- /**
113
- * Generate single Unicode characters.
114
- *
115
- * This is a convenience for `text(1, 1, opts)` — it generates single-character
116
- * strings with the same character filtering options as {@link text}.
117
- *
118
- * @param opts - Character filtering options.
119
- */
120
- export function characters(opts = {}) {
121
- return text(1, 1, opts);
122
- }
123
- /**
124
- * Generate binary data (byte strings).
125
- *
126
- * The server returns CBOR byte strings which are decoded directly as
127
- * `Uint8Array`. No transform is needed.
128
- *
129
- * @param minSize - Minimum byte length. Defaults to 0.
130
- * @param maxSize - Maximum byte length, or null for unbounded.
131
- */
132
- export function binary(minSize = 0, maxSize = null) {
133
- if (minSize < 0) {
134
- throw new Error(`min_size=${minSize} must be non-negative`);
135
- }
136
- if (maxSize !== null && maxSize < 0) {
137
- throw new Error(`max_size=${maxSize} must be non-negative`);
138
- }
139
- if (maxSize !== null && minSize > maxSize) {
140
- throw new Error(`Cannot have max_size=${maxSize} < min_size=${minSize}`);
141
- }
142
- const schema = { type: "binary", min_size: minSize };
143
- if (maxSize !== null)
144
- schema["max_size"] = maxSize;
145
- return new BasicGenerator(schema);
146
- }
147
- /**
148
- * Always return the same constant value, ignoring the server's suggestion.
149
- *
150
- * @param value - The constant to always return.
151
- */
152
- export function just(value) {
153
- return new BasicGenerator({ type: "constant", value: null }, (_raw) => value);
154
- }
155
- /**
156
- * Pick uniformly at random from a list of values.
157
- *
158
- * The server generates an integer index; the transform maps it to the
159
- * corresponding element of `values`.
160
- *
161
- * @param values - The list to sample from. Must be non-empty.
162
- * @throws {Error} If `values` is empty.
163
- */
164
- export function sampledFrom(values) {
165
- const elements = Array.from(values);
166
- if (elements.length === 0) {
167
- throw new Error("sampledFrom requires at least one element");
168
- }
169
- const schema = {
170
- type: "integer",
171
- min_value: 0,
172
- max_value: elements.length - 1,
173
- };
174
- return new BasicGenerator(schema, (idx) => elements[idx]);
175
- }
176
- /**
177
- * Generate strings matching a regular expression pattern.
178
- *
179
- * @param pattern - The regex pattern to match.
180
- * @param fullmatch - If true (default), the entire string must match the pattern.
181
- * If false, a substring match is sufficient.
182
- */
183
- export function fromRegex(pattern, fullmatch = true) {
184
- return new BasicGenerator({ type: "regex", pattern, fullmatch });
185
- }
186
- /**
187
- * Generate email addresses.
188
- *
189
- * Each generated value is a valid email address string containing '@'.
190
- */
191
- export function emails() {
192
- return new BasicGenerator({ type: "email" });
193
- }
194
- /**
195
- * Generate URLs.
196
- *
197
- * Each generated value is a valid URL string starting with "http://" or "https://".
198
- */
199
- export function urls() {
200
- return new BasicGenerator({ type: "url" });
201
- }
202
- /**
203
- * Generate domain names.
204
- *
205
- * @param maxLength - Optional maximum length for generated domain names.
206
- */
207
- export function domains(maxLength = null) {
208
- if (maxLength !== null && (maxLength < 4 || maxLength > 255)) {
209
- throw new Error(`max_length=${maxLength} must be between 4 and 255`);
210
- }
211
- const schema = { type: "domain" };
212
- if (maxLength !== null)
213
- schema["max_length"] = maxLength;
214
- return new BasicGenerator(schema);
215
- }
216
- /**
217
- * Generate dates.
218
- *
219
- * Each generated value is an ISO 8601 date string in YYYY-MM-DD format.
220
- */
221
- export function dates() {
222
- return new BasicGenerator({ type: "date" });
223
- }
224
- /**
225
- * Generate times.
226
- *
227
- * Each generated value is a time string containing ':'.
228
- */
229
- export function times() {
230
- return new BasicGenerator({ type: "time" });
231
- }
232
- /**
233
- * Generate datetimes.
234
- *
235
- * Each generated value is a datetime string containing 'T'.
236
- */
237
- export function datetimes() {
238
- return new BasicGenerator({ type: "datetime" });
239
- }
240
- //# sourceMappingURL=primitives.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/generators/primitives.ts"],"names":[],"mappings":"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"}