@hegeldev/hegel 0.1.0 → 0.1.2
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/generators/combinators.d.ts +1 -1
- package/dist/generators/combinators.d.ts.map +1 -1
- package/dist/generators/combinators.js.map +1 -1
- package/dist/generators/strings.d.ts +2 -2
- package/dist/generators/strings.d.ts.map +1 -1
- package/package.json +7 -2
- package/dist/binary.d.ts +0 -27
- package/dist/binary.d.ts.map +0 -1
- package/dist/binary.js +0 -50
- package/dist/binary.js.map +0 -1
- package/dist/collections.d.ts +0 -114
- package/dist/collections.d.ts.map +0 -1
- package/dist/collections.js +0 -313
- package/dist/collections.js.map +0 -1
- package/dist/combinators.d.ts +0 -34
- package/dist/combinators.d.ts.map +0 -1
- package/dist/combinators.js +0 -152
- package/dist/combinators.js.map +0 -1
- package/dist/conformance.d.ts +0 -31
- package/dist/conformance.d.ts.map +0 -1
- package/dist/conformance.js +0 -60
- package/dist/conformance.js.map +0 -1
- package/dist/derive.d.ts +0 -225
- package/dist/derive.d.ts.map +0 -1
- package/dist/derive.js +0 -296
- package/dist/derive.js.map +0 -1
- package/dist/embedded.d.ts +0 -38
- package/dist/embedded.d.ts.map +0 -1
- package/dist/embedded.js +0 -237
- package/dist/embedded.js.map +0 -1
- package/dist/floats.d.ts +0 -57
- package/dist/floats.d.ts.map +0 -1
- package/dist/floats.js +0 -100
- package/dist/floats.js.map +0 -1
- package/dist/formats.d.ts +0 -62
- package/dist/formats.d.ts.map +0 -1
- package/dist/formats.js +0 -164
- package/dist/formats.js.map +0 -1
- package/dist/generator.d.ts +0 -80
- package/dist/generator.d.ts.map +0 -1
- package/dist/generator.js +0 -128
- package/dist/generator.js.map +0 -1
- package/dist/generators/primitives.d.ts +0 -138
- package/dist/generators/primitives.d.ts.map +0 -1
- package/dist/generators/primitives.js +0 -240
- package/dist/generators/primitives.js.map +0 -1
- package/dist/generators.d.ts +0 -408
- package/dist/generators.d.ts.map +0 -1
- package/dist/generators.js +0 -898
- package/dist/generators.js.map +0 -1
- package/dist/install.d.ts +0 -6
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -91
- package/dist/install.js.map +0 -1
- package/dist/integers.d.ts +0 -37
- package/dist/integers.d.ts.map +0 -1
- package/dist/integers.js +0 -63
- package/dist/integers.js.map +0 -1
- package/dist/labels.d.ts +0 -21
- package/dist/labels.d.ts.map +0 -1
- package/dist/labels.js +0 -20
- package/dist/labels.js.map +0 -1
- package/dist/objects.d.ts +0 -39
- package/dist/objects.d.ts.map +0 -1
- package/dist/objects.js +0 -98
- package/dist/objects.js.map +0 -1
- package/dist/primitives.d.ts +0 -14
- package/dist/primitives.d.ts.map +0 -1
- package/dist/primitives.js +0 -51
- package/dist/primitives.js.map +0 -1
- package/dist/spans.d.ts +0 -23
- package/dist/spans.d.ts.map +0 -1
- package/dist/spans.js +0 -51
- package/dist/spans.js.map +0 -1
- package/dist/strings.d.ts +0 -67
- package/dist/strings.d.ts.map +0 -1
- package/dist/strings.js +0 -107
- package/dist/strings.js.map +0 -1
|
@@ -7,7 +7,7 @@ import { Generator } from "./core.js";
|
|
|
7
7
|
/** Generate a constant value. */
|
|
8
8
|
export declare function just<T>(value: T): Generator<T>;
|
|
9
9
|
/** Pick from a fixed list of values. Panics if empty. */
|
|
10
|
-
export declare function sampledFrom<T>(elements: T[]): Generator<T>;
|
|
10
|
+
export declare function sampledFrom<T>(elements: readonly T[]): Generator<T>;
|
|
11
11
|
/** Choose from multiple generators of the same type. */
|
|
12
12
|
export declare function oneOf<T>(...generators: Generator<T>[]): Generator<T>;
|
|
13
13
|
/** Generate either a value from the inner generator, or null. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../src/generators/combinators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAiBtD,iCAAiC;AACjC,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAE9C;AAyBD,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../src/generators/combinators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAiBtD,iCAAiC;AACjC,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAE9C;AAyBD,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEnE;AAgDD,wDAAwD;AACxD,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEpE;AAgDD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combinators.js","sourceRoot":"","sources":["../../src/generators/combinators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAY,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,aAAiB,SAAQ,SAAY;IACZ;IAA7B,YAA6B,KAAQ;QACnC,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAG;IAErC,CAAC;IAED,MAAM,CAAC,GAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEQ,OAAO;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,OAAO,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;CACF;AAED,iCAAiC;AACjC,MAAM,UAAU,IAAI,CAAI,KAAQ;IAC9B,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,oBAAwB,SAAQ,SAAY;IAC/B,QAAQ,CAAM;IACd,MAAM,CAA0B;IAEjD,YAAY,
|
|
1
|
+
{"version":3,"file":"combinators.js","sourceRoot":"","sources":["../../src/generators/combinators.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,9 +20,9 @@ export interface CharacterFilterOptions {
|
|
|
20
20
|
/** Maximum Unicode codepoint (inclusive). */
|
|
21
21
|
maxCodepoint?: number;
|
|
22
22
|
/** Include only characters from these Unicode general categories (e.g. ["L", "Nd"]). */
|
|
23
|
-
categories?: string[];
|
|
23
|
+
categories?: readonly string[];
|
|
24
24
|
/** Exclude characters from these Unicode general categories. */
|
|
25
|
-
excludeCategories?: string[];
|
|
25
|
+
excludeCategories?: readonly string[];
|
|
26
26
|
/** Always include these specific characters. */
|
|
27
27
|
includeCharacters?: string;
|
|
28
28
|
/** Always exclude these specific characters. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/generators/strings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAGtD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,oGAAoG;IACpG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/generators/strings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAGtD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,oGAAoG;IACpG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAY,SAAQ,sBAAsB;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsFD,6BAA6B;AAC7B,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAE7D;AAMD,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAgBtD,kCAAkC;AAClC,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAExE;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0BD,yCAAyC;AACzC,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAErE;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAYD,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAEpF;AAQD,gCAAgC;AAChC,wBAAgB,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAE1C;AAQD,qBAAqB;AACrB,wBAAgB,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAExC;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,6BAA6B;AAC7B,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAElE;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB;AAQD,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAIzE;AAQD,wCAAwC;AACxC,wBAAgB,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAEzC;AAQD,wCAAwC;AACxC,wBAAgB,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,CAEzC;AAQD,4CAA4C;AAC5C,wBAAgB,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAE7C"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hegeldev/hegel",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Property-based testing for TypeScript",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/hegeldev/hegel-typescript.git"
|
|
9
|
+
},
|
|
6
10
|
"publishConfig": {
|
|
7
|
-
"access": "public"
|
|
11
|
+
"access": "public",
|
|
12
|
+
"provenance": true
|
|
8
13
|
},
|
|
9
14
|
"main": "dist/index.js",
|
|
10
15
|
"types": "dist/index.d.ts",
|
package/dist/binary.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Generator } from "./generator.js";
|
|
2
|
-
/**
|
|
3
|
-
* Options for binary generator.
|
|
4
|
-
*/
|
|
5
|
-
export interface BinaryOptions {
|
|
6
|
-
/** Minimum size in bytes (default: 0) */
|
|
7
|
-
minSize?: number;
|
|
8
|
-
/** Maximum size in bytes (default: no limit) */
|
|
9
|
-
maxSize?: number;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Create a generator for binary data (byte sequences).
|
|
13
|
-
*
|
|
14
|
-
* @param options - Size constraints
|
|
15
|
-
* @returns Generator producing Uint8Array
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* // Generate any byte sequence
|
|
20
|
-
* const gen = binary();
|
|
21
|
-
*
|
|
22
|
-
* // Generate 16-32 bytes
|
|
23
|
-
* const bounded = binary({ minSize: 16, maxSize: 32 });
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export declare function binary(options?: BinaryOptions): Generator<Uint8Array>;
|
|
27
|
-
//# sourceMappingURL=binary.d.ts.map
|
package/dist/binary.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,SAAS,EAAc,MAAM,gBAAgB,CAAA;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAmCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAAC,UAAU,CAAC,CAEzE"}
|
package/dist/binary.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { generateFromSchema } from "./connection.js";
|
|
2
|
-
import { FuncGenerator } from "./generator.js";
|
|
3
|
-
/**
|
|
4
|
-
* Generator for binary data (byte sequences).
|
|
5
|
-
*/
|
|
6
|
-
class BinaryGenerator extends FuncGenerator {
|
|
7
|
-
_binarySchema;
|
|
8
|
-
constructor(options = {}) {
|
|
9
|
-
const schema = {
|
|
10
|
-
type: "binary",
|
|
11
|
-
min_size: options.minSize ?? 0,
|
|
12
|
-
};
|
|
13
|
-
if (options.maxSize !== undefined) {
|
|
14
|
-
schema.max_size = options.maxSize;
|
|
15
|
-
}
|
|
16
|
-
super(() => {
|
|
17
|
-
const b64 = generateFromSchema(schema);
|
|
18
|
-
// Decode base64 to Uint8Array
|
|
19
|
-
const binaryString = atob(b64);
|
|
20
|
-
const bytes = new Uint8Array(binaryString.length);
|
|
21
|
-
for (let i = 0; i < binaryString.length; i++) {
|
|
22
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
23
|
-
}
|
|
24
|
-
return bytes;
|
|
25
|
-
}, schema);
|
|
26
|
-
this._binarySchema = schema;
|
|
27
|
-
}
|
|
28
|
-
schema() {
|
|
29
|
-
return this._binarySchema;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create a generator for binary data (byte sequences).
|
|
34
|
-
*
|
|
35
|
-
* @param options - Size constraints
|
|
36
|
-
* @returns Generator producing Uint8Array
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* // Generate any byte sequence
|
|
41
|
-
* const gen = binary();
|
|
42
|
-
*
|
|
43
|
-
* // Generate 16-32 bytes
|
|
44
|
-
* const bounded = binary({ minSize: 16, maxSize: 32 });
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export function binary(options = {}) {
|
|
48
|
-
return new BinaryGenerator(options);
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=binary.js.map
|
package/dist/binary.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAyB,MAAM,gBAAgB,CAAA;AAYrE;;GAEG;AACH,MAAM,eAAgB,SAAQ,aAAyB;IACpC,aAAa,CAAY;IAE1C,YAAY,UAAyB,EAAE;QACrC,MAAM,MAAM,GAAe;YACzB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;SAC/B,CAAA;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,GAAG,EAAE;YACT,MAAM,GAAG,GAAG,kBAAkB,CAAS,MAAM,CAAC,CAAA;YAC9C,8BAA8B;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,EAAE,MAAM,CAAC,CAAA;QACV,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;IAC7B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,MAAM,CAAC,UAAyB,EAAE;IAChD,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC"}
|
package/dist/collections.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Generator, JsonSchema, BaseGenerator } from "./generator.js";
|
|
2
|
-
/**
|
|
3
|
-
* Generator for arrays with builder pattern.
|
|
4
|
-
*/
|
|
5
|
-
export declare class ArrayGenerator<T> extends BaseGenerator<T[]> {
|
|
6
|
-
private readonly elements;
|
|
7
|
-
private readonly _minSize;
|
|
8
|
-
private readonly _maxSize?;
|
|
9
|
-
private readonly _unique;
|
|
10
|
-
private constructor();
|
|
11
|
-
static create<T>(elements: Generator<T>): ArrayGenerator<T>;
|
|
12
|
-
/**
|
|
13
|
-
* Set the minimum array size.
|
|
14
|
-
*/
|
|
15
|
-
minSize(value: number): ArrayGenerator<T>;
|
|
16
|
-
/**
|
|
17
|
-
* Set the maximum array size.
|
|
18
|
-
*/
|
|
19
|
-
maxSize(value: number): ArrayGenerator<T>;
|
|
20
|
-
/**
|
|
21
|
-
* Require all elements to be unique.
|
|
22
|
-
*/
|
|
23
|
-
unique(): ArrayGenerator<T>;
|
|
24
|
-
generate(): T[];
|
|
25
|
-
schema(): JsonSchema | null;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Create a generator for arrays.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```typescript
|
|
32
|
-
* // Generate array of integers
|
|
33
|
-
* const gen = arrays(integers());
|
|
34
|
-
*
|
|
35
|
-
* // Generate array with size bounds
|
|
36
|
-
* const bounded = arrays(integers()).minSize(1).maxSize(10);
|
|
37
|
-
*
|
|
38
|
-
* // Generate array with unique elements
|
|
39
|
-
* const uniqueGen = arrays(integers()).unique();
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export declare function arrays<T>(elements: Generator<T>): ArrayGenerator<T>;
|
|
43
|
-
/**
|
|
44
|
-
* Generator for Sets.
|
|
45
|
-
* Internally generates unique arrays and converts to Set.
|
|
46
|
-
*/
|
|
47
|
-
export declare class SetGenerator<T> extends BaseGenerator<Set<T>> {
|
|
48
|
-
private readonly elements;
|
|
49
|
-
private readonly _minSize;
|
|
50
|
-
private readonly _maxSize?;
|
|
51
|
-
private constructor();
|
|
52
|
-
static create<T>(elements: Generator<T>): SetGenerator<T>;
|
|
53
|
-
/**
|
|
54
|
-
* Set the minimum set size.
|
|
55
|
-
*/
|
|
56
|
-
minSize(value: number): SetGenerator<T>;
|
|
57
|
-
/**
|
|
58
|
-
* Set the maximum set size.
|
|
59
|
-
*/
|
|
60
|
-
maxSize(value: number): SetGenerator<T>;
|
|
61
|
-
generate(): Set<T>;
|
|
62
|
-
schema(): JsonSchema | null;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Create a generator for Sets.
|
|
66
|
-
*/
|
|
67
|
-
export declare function sets<T>(elements: Generator<T>): SetGenerator<T>;
|
|
68
|
-
/**
|
|
69
|
-
* Generator for Maps (dictionaries) with configurable key and value types.
|
|
70
|
-
*/
|
|
71
|
-
export declare class MapGenerator<K, V> extends BaseGenerator<Map<K, V>> {
|
|
72
|
-
private readonly keys;
|
|
73
|
-
private readonly values;
|
|
74
|
-
private readonly _minSize;
|
|
75
|
-
private readonly _maxSize?;
|
|
76
|
-
private constructor();
|
|
77
|
-
static create<K, V>(keys: Generator<K>, values: Generator<V>): MapGenerator<K, V>;
|
|
78
|
-
/**
|
|
79
|
-
* Set the minimum map size.
|
|
80
|
-
*/
|
|
81
|
-
minSize(value: number): MapGenerator<K, V>;
|
|
82
|
-
/**
|
|
83
|
-
* Set the maximum map size.
|
|
84
|
-
*/
|
|
85
|
-
maxSize(value: number): MapGenerator<K, V>;
|
|
86
|
-
generate(): Map<K, V>;
|
|
87
|
-
schema(): JsonSchema | null;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Create a generator for Maps with configurable key and value types.
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```typescript
|
|
94
|
-
* // String keys (common case)
|
|
95
|
-
* const strMap = maps(text(), integers());
|
|
96
|
-
*
|
|
97
|
-
* // Integer keys
|
|
98
|
-
* const intMap = maps(integers(), text());
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
export declare function maps<K, V>(keys: Generator<K>, values: Generator<V>): MapGenerator<K, V>;
|
|
102
|
-
/**
|
|
103
|
-
* Create a generator for tuples (fixed-length heterogeneous arrays).
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```typescript
|
|
107
|
-
* const gen = tuples(integers(), text(), booleans());
|
|
108
|
-
* const [num, str, bool] = gen.generate();
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
export declare function tuples<T extends unknown[]>(...generators: {
|
|
112
|
-
[K in keyof T]: Generator<T[K]>;
|
|
113
|
-
}): Generator<T>;
|
|
114
|
-
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../src/collections.ts"],"names":[],"mappings":"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"}
|
package/dist/collections.js
DELETED
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
import { generateFromSchema, assume } from "./connection.js";
|
|
2
|
-
import { BaseGenerator } from "./generator.js";
|
|
3
|
-
import { integers } from "./integers.js";
|
|
4
|
-
import { LABELS } from "./labels.js";
|
|
5
|
-
import { group } from "./spans.js";
|
|
6
|
-
/**
|
|
7
|
-
* Generator for arrays with builder pattern.
|
|
8
|
-
*/
|
|
9
|
-
export class ArrayGenerator extends BaseGenerator {
|
|
10
|
-
elements;
|
|
11
|
-
_minSize;
|
|
12
|
-
_maxSize;
|
|
13
|
-
_unique;
|
|
14
|
-
constructor(elements, _minSize = 0, _maxSize, _unique = false) {
|
|
15
|
-
super();
|
|
16
|
-
this.elements = elements;
|
|
17
|
-
this._minSize = _minSize;
|
|
18
|
-
this._maxSize = _maxSize;
|
|
19
|
-
this._unique = _unique;
|
|
20
|
-
}
|
|
21
|
-
static create(elements) {
|
|
22
|
-
return new ArrayGenerator(elements);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Set the minimum array size.
|
|
26
|
-
*/
|
|
27
|
-
minSize(value) {
|
|
28
|
-
return new ArrayGenerator(this.elements, value, this._maxSize, this._unique);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Set the maximum array size.
|
|
32
|
-
*/
|
|
33
|
-
maxSize(value) {
|
|
34
|
-
return new ArrayGenerator(this.elements, this._minSize, value, this._unique);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Require all elements to be unique.
|
|
38
|
-
*/
|
|
39
|
-
unique() {
|
|
40
|
-
return new ArrayGenerator(this.elements, this._minSize, this._maxSize, true);
|
|
41
|
-
}
|
|
42
|
-
generate() {
|
|
43
|
-
const schema = this.schema();
|
|
44
|
-
if (schema) {
|
|
45
|
-
// Schema composition: single socket round-trip
|
|
46
|
-
return generateFromSchema(schema);
|
|
47
|
-
}
|
|
48
|
-
// Compositional fallback: generate length, then each element
|
|
49
|
-
return group(LABELS.LIST, () => {
|
|
50
|
-
const maxSize = this._maxSize ?? 100;
|
|
51
|
-
const length = integers().min(this._minSize).max(maxSize).generate();
|
|
52
|
-
if (this._unique) {
|
|
53
|
-
// For unique arrays, track seen values
|
|
54
|
-
const seen = new Set();
|
|
55
|
-
const result = [];
|
|
56
|
-
const maxAttempts = length * 10;
|
|
57
|
-
let attempts = 0;
|
|
58
|
-
while (result.length < length && attempts < maxAttempts) {
|
|
59
|
-
const value = group(LABELS.LIST_ELEMENT, () => this.elements.generate());
|
|
60
|
-
const key = JSON.stringify(value);
|
|
61
|
-
if (!seen.has(key)) {
|
|
62
|
-
seen.add(key);
|
|
63
|
-
result.push(value);
|
|
64
|
-
}
|
|
65
|
-
attempts++;
|
|
66
|
-
}
|
|
67
|
-
assume(result.length >= this._minSize);
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
const result = [];
|
|
71
|
-
for (let i = 0; i < length; i++) {
|
|
72
|
-
result.push(group(LABELS.LIST_ELEMENT, () => this.elements.generate()));
|
|
73
|
-
}
|
|
74
|
-
return result;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
schema() {
|
|
78
|
-
const elementSchema = this.elements.schema();
|
|
79
|
-
if (!elementSchema) {
|
|
80
|
-
return null; // Fall back to compositional generation
|
|
81
|
-
}
|
|
82
|
-
const schema = {
|
|
83
|
-
type: this._unique ? "set" : "list",
|
|
84
|
-
elements: elementSchema,
|
|
85
|
-
min_size: this._minSize,
|
|
86
|
-
};
|
|
87
|
-
if (this._maxSize !== undefined) {
|
|
88
|
-
schema.max_size = this._maxSize;
|
|
89
|
-
}
|
|
90
|
-
return schema;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Create a generator for arrays.
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* ```typescript
|
|
98
|
-
* // Generate array of integers
|
|
99
|
-
* const gen = arrays(integers());
|
|
100
|
-
*
|
|
101
|
-
* // Generate array with size bounds
|
|
102
|
-
* const bounded = arrays(integers()).minSize(1).maxSize(10);
|
|
103
|
-
*
|
|
104
|
-
* // Generate array with unique elements
|
|
105
|
-
* const uniqueGen = arrays(integers()).unique();
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
export function arrays(elements) {
|
|
109
|
-
return ArrayGenerator.create(elements);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Generator for Sets.
|
|
113
|
-
* Internally generates unique arrays and converts to Set.
|
|
114
|
-
*/
|
|
115
|
-
export class SetGenerator extends BaseGenerator {
|
|
116
|
-
elements;
|
|
117
|
-
_minSize;
|
|
118
|
-
_maxSize;
|
|
119
|
-
constructor(elements, _minSize = 0, _maxSize) {
|
|
120
|
-
super();
|
|
121
|
-
this.elements = elements;
|
|
122
|
-
this._minSize = _minSize;
|
|
123
|
-
this._maxSize = _maxSize;
|
|
124
|
-
}
|
|
125
|
-
static create(elements) {
|
|
126
|
-
return new SetGenerator(elements);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Set the minimum set size.
|
|
130
|
-
*/
|
|
131
|
-
minSize(value) {
|
|
132
|
-
return new SetGenerator(this.elements, value, this._maxSize);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Set the maximum set size.
|
|
136
|
-
*/
|
|
137
|
-
maxSize(value) {
|
|
138
|
-
return new SetGenerator(this.elements, this._minSize, value);
|
|
139
|
-
}
|
|
140
|
-
generate() {
|
|
141
|
-
// Generate as unique array, then convert to Set
|
|
142
|
-
const arr = arrays(this.elements)
|
|
143
|
-
.minSize(this._minSize)
|
|
144
|
-
.maxSize(this._maxSize ?? 100)
|
|
145
|
-
.unique()
|
|
146
|
-
.generate();
|
|
147
|
-
return new Set(arr);
|
|
148
|
-
}
|
|
149
|
-
schema() {
|
|
150
|
-
const elementSchema = this.elements.schema();
|
|
151
|
-
if (!elementSchema) {
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
const schema = {
|
|
155
|
-
type: "set",
|
|
156
|
-
elements: elementSchema,
|
|
157
|
-
min_size: this._minSize,
|
|
158
|
-
};
|
|
159
|
-
if (this._maxSize !== undefined) {
|
|
160
|
-
schema.max_size = this._maxSize;
|
|
161
|
-
}
|
|
162
|
-
return schema;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Create a generator for Sets.
|
|
167
|
-
*/
|
|
168
|
-
export function sets(elements) {
|
|
169
|
-
return SetGenerator.create(elements);
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Generator for Maps (dictionaries) with configurable key and value types.
|
|
173
|
-
*/
|
|
174
|
-
export class MapGenerator extends BaseGenerator {
|
|
175
|
-
keys;
|
|
176
|
-
values;
|
|
177
|
-
_minSize;
|
|
178
|
-
_maxSize;
|
|
179
|
-
constructor(keys, values, _minSize = 0, _maxSize) {
|
|
180
|
-
super();
|
|
181
|
-
this.keys = keys;
|
|
182
|
-
this.values = values;
|
|
183
|
-
this._minSize = _minSize;
|
|
184
|
-
this._maxSize = _maxSize;
|
|
185
|
-
}
|
|
186
|
-
static create(keys, values) {
|
|
187
|
-
return new MapGenerator(keys, values);
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Set the minimum map size.
|
|
191
|
-
*/
|
|
192
|
-
minSize(value) {
|
|
193
|
-
return new MapGenerator(this.keys, this.values, value, this._maxSize);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Set the maximum map size.
|
|
197
|
-
*/
|
|
198
|
-
maxSize(value) {
|
|
199
|
-
return new MapGenerator(this.keys, this.values, this._minSize, value);
|
|
200
|
-
}
|
|
201
|
-
generate() {
|
|
202
|
-
const schema = this.schema();
|
|
203
|
-
if (schema) {
|
|
204
|
-
// Schema composition: single socket round-trip
|
|
205
|
-
// Wire format is [[key, value], ...]
|
|
206
|
-
const pairs = generateFromSchema(schema);
|
|
207
|
-
const result = new Map(pairs);
|
|
208
|
-
// Ensure size constraints are met (in case of duplicate keys)
|
|
209
|
-
assume(result.size >= this._minSize);
|
|
210
|
-
if (this._maxSize !== undefined) {
|
|
211
|
-
assume(result.size <= this._maxSize);
|
|
212
|
-
}
|
|
213
|
-
return result;
|
|
214
|
-
}
|
|
215
|
-
// Compositional fallback
|
|
216
|
-
return group(LABELS.MAP, () => {
|
|
217
|
-
const maxSize = this._maxSize ?? 100;
|
|
218
|
-
const targetSize = integers().min(this._minSize).max(maxSize).generate();
|
|
219
|
-
const result = new Map();
|
|
220
|
-
const maxAttempts = targetSize * 10;
|
|
221
|
-
let attempts = 0;
|
|
222
|
-
while (result.size < targetSize && attempts < maxAttempts) {
|
|
223
|
-
group(LABELS.MAP_ENTRY, () => {
|
|
224
|
-
const key = this.keys.generate();
|
|
225
|
-
if (!result.has(key)) {
|
|
226
|
-
result.set(key, this.values.generate());
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
attempts++;
|
|
230
|
-
}
|
|
231
|
-
assume(result.size >= this._minSize);
|
|
232
|
-
return result;
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
schema() {
|
|
236
|
-
const keySchema = this.keys.schema();
|
|
237
|
-
const valueSchema = this.values.schema();
|
|
238
|
-
if (!keySchema || !valueSchema) {
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
const schema = {
|
|
242
|
-
type: "dict",
|
|
243
|
-
keys: keySchema,
|
|
244
|
-
values: valueSchema,
|
|
245
|
-
min_size: this._minSize,
|
|
246
|
-
};
|
|
247
|
-
if (this._maxSize !== undefined) {
|
|
248
|
-
schema.max_size = this._maxSize;
|
|
249
|
-
}
|
|
250
|
-
return schema;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
/**
|
|
254
|
-
* Create a generator for Maps with configurable key and value types.
|
|
255
|
-
*
|
|
256
|
-
* @example
|
|
257
|
-
* ```typescript
|
|
258
|
-
* // String keys (common case)
|
|
259
|
-
* const strMap = maps(text(), integers());
|
|
260
|
-
*
|
|
261
|
-
* // Integer keys
|
|
262
|
-
* const intMap = maps(integers(), text());
|
|
263
|
-
* ```
|
|
264
|
-
*/
|
|
265
|
-
export function maps(keys, values) {
|
|
266
|
-
return MapGenerator.create(keys, values);
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Generator for tuples (fixed-length heterogeneous arrays).
|
|
270
|
-
*/
|
|
271
|
-
class TupleGenerator extends BaseGenerator {
|
|
272
|
-
generators;
|
|
273
|
-
constructor(generators) {
|
|
274
|
-
super();
|
|
275
|
-
this.generators = generators;
|
|
276
|
-
}
|
|
277
|
-
generate() {
|
|
278
|
-
const schema = this.schema();
|
|
279
|
-
if (schema) {
|
|
280
|
-
return generateFromSchema(schema);
|
|
281
|
-
}
|
|
282
|
-
// Compositional fallback
|
|
283
|
-
return group(LABELS.TUPLE, () => {
|
|
284
|
-
return this.generators.map(gen => gen.generate());
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
schema() {
|
|
288
|
-
const schemas = [];
|
|
289
|
-
for (const gen of this.generators) {
|
|
290
|
-
const s = gen.schema();
|
|
291
|
-
if (!s)
|
|
292
|
-
return null;
|
|
293
|
-
schemas.push(s);
|
|
294
|
-
}
|
|
295
|
-
return {
|
|
296
|
-
type: "tuple",
|
|
297
|
-
elements: schemas,
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Create a generator for tuples (fixed-length heterogeneous arrays).
|
|
303
|
-
*
|
|
304
|
-
* @example
|
|
305
|
-
* ```typescript
|
|
306
|
-
* const gen = tuples(integers(), text(), booleans());
|
|
307
|
-
* const [num, str, bool] = gen.generate();
|
|
308
|
-
* ```
|
|
309
|
-
*/
|
|
310
|
-
export function tuples(...generators) {
|
|
311
|
-
return new TupleGenerator(generators);
|
|
312
|
-
}
|
|
313
|
-
//# sourceMappingURL=collections.js.map
|
package/dist/collections.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../src/collections.ts"],"names":[],"mappings":"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"}
|
package/dist/combinators.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Generator } from "./generator.js";
|
|
2
|
-
/**
|
|
3
|
-
* Create a generator that samples uniformly from a fixed collection.
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* ```typescript
|
|
7
|
-
* const colors = sampledFrom(["red", "green", "blue"]);
|
|
8
|
-
* const color: string = colors.generate();
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
export declare function sampledFrom<T>(elements: readonly T[]): Generator<T>;
|
|
12
|
-
/**
|
|
13
|
-
* Create a generator that chooses from one of several generators.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* const gen = oneOf(
|
|
18
|
-
* integers().min(0).max(10),
|
|
19
|
-
* integers().min(100).max(110)
|
|
20
|
-
* );
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export declare function oneOf<T>(...generators: Generator<T>[]): Generator<T>;
|
|
24
|
-
/**
|
|
25
|
-
* Create a generator for optional values (T | null).
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const gen = optional(integers());
|
|
30
|
-
* const value: number | null = gen.generate();
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export declare function optional<T>(inner: Generator<T>): Generator<T | null>;
|
|
34
|
-
//# sourceMappingURL=combinators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../src/combinators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAA6B,MAAM,gBAAgB,CAAA;AAkDrE;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEnE;AAwCD;;;;;;;;;;GAUG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAEpE;AAiCD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAEpE"}
|