@libraz/coverwise 1.0.0

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 (110) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +119 -0
  3. package/README.npm.md +119 -0
  4. package/dist/coverwise.js +2 -0
  5. package/dist/coverwise.wasm +0 -0
  6. package/dist/js/constraint.d.ts +78 -0
  7. package/dist/js/constraint.d.ts.map +1 -0
  8. package/dist/js/constraint.js +213 -0
  9. package/dist/js/constraint.js.map +1 -0
  10. package/dist/js/index.d.ts +94 -0
  11. package/dist/js/index.d.ts.map +1 -0
  12. package/dist/js/index.js +164 -0
  13. package/dist/js/index.js.map +1 -0
  14. package/dist/js/pure/adapter.d.ts +40 -0
  15. package/dist/js/pure/adapter.d.ts.map +1 -0
  16. package/dist/js/pure/adapter.js +207 -0
  17. package/dist/js/pure/adapter.js.map +1 -0
  18. package/dist/js/pure/index.d.ts +83 -0
  19. package/dist/js/pure/index.d.ts.map +1 -0
  20. package/dist/js/pure/index.js +132 -0
  21. package/dist/js/pure/index.js.map +1 -0
  22. package/dist/js/types.d.ts +132 -0
  23. package/dist/js/types.d.ts.map +1 -0
  24. package/dist/js/types.js +3 -0
  25. package/dist/js/types.js.map +1 -0
  26. package/dist/src/ts/algo/greedy.d.ts +9 -0
  27. package/dist/src/ts/algo/greedy.d.ts.map +1 -0
  28. package/dist/src/ts/algo/greedy.js +137 -0
  29. package/dist/src/ts/algo/greedy.js.map +1 -0
  30. package/dist/src/ts/algo/index.d.ts +2 -0
  31. package/dist/src/ts/algo/index.d.ts.map +1 -0
  32. package/dist/src/ts/algo/index.js +2 -0
  33. package/dist/src/ts/algo/index.js.map +1 -0
  34. package/dist/src/ts/core/coverage-engine.d.ts +40 -0
  35. package/dist/src/ts/core/coverage-engine.d.ts.map +1 -0
  36. package/dist/src/ts/core/coverage-engine.js +366 -0
  37. package/dist/src/ts/core/coverage-engine.js.map +1 -0
  38. package/dist/src/ts/core/generator.d.ts +6 -0
  39. package/dist/src/ts/core/generator.d.ts.map +1 -0
  40. package/dist/src/ts/core/generator.js +394 -0
  41. package/dist/src/ts/core/generator.js.map +1 -0
  42. package/dist/src/ts/core/index.d.ts +3 -0
  43. package/dist/src/ts/core/index.d.ts.map +1 -0
  44. package/dist/src/ts/core/index.js +3 -0
  45. package/dist/src/ts/core/index.js.map +1 -0
  46. package/dist/src/ts/model/boundary.d.ts +29 -0
  47. package/dist/src/ts/model/boundary.d.ts.map +1 -0
  48. package/dist/src/ts/model/boundary.js +102 -0
  49. package/dist/src/ts/model/boundary.js.map +1 -0
  50. package/dist/src/ts/model/constraint-ast.d.ts +152 -0
  51. package/dist/src/ts/model/constraint-ast.d.ts.map +1 -0
  52. package/dist/src/ts/model/constraint-ast.js +384 -0
  53. package/dist/src/ts/model/constraint-ast.js.map +1 -0
  54. package/dist/src/ts/model/constraint-parser.d.ts +49 -0
  55. package/dist/src/ts/model/constraint-parser.d.ts.map +1 -0
  56. package/dist/src/ts/model/constraint-parser.js +831 -0
  57. package/dist/src/ts/model/constraint-parser.js.map +1 -0
  58. package/dist/src/ts/model/error.d.ts +19 -0
  59. package/dist/src/ts/model/error.d.ts.map +1 -0
  60. package/dist/src/ts/model/error.js +19 -0
  61. package/dist/src/ts/model/error.js.map +1 -0
  62. package/dist/src/ts/model/generate-options.d.ts +82 -0
  63. package/dist/src/ts/model/generate-options.d.ts.map +1 -0
  64. package/dist/src/ts/model/generate-options.js +52 -0
  65. package/dist/src/ts/model/generate-options.js.map +1 -0
  66. package/dist/src/ts/model/index.d.ts +6 -0
  67. package/dist/src/ts/model/index.d.ts.map +1 -0
  68. package/dist/src/ts/model/index.js +6 -0
  69. package/dist/src/ts/model/index.js.map +1 -0
  70. package/dist/src/ts/model/parameter.d.ts +65 -0
  71. package/dist/src/ts/model/parameter.d.ts.map +1 -0
  72. package/dist/src/ts/model/parameter.js +157 -0
  73. package/dist/src/ts/model/parameter.js.map +1 -0
  74. package/dist/src/ts/model/test-case.d.ts +67 -0
  75. package/dist/src/ts/model/test-case.d.ts.map +1 -0
  76. package/dist/src/ts/model/test-case.js +28 -0
  77. package/dist/src/ts/model/test-case.js.map +1 -0
  78. package/dist/src/ts/util/bitset.d.ts +14 -0
  79. package/dist/src/ts/util/bitset.d.ts.map +1 -0
  80. package/dist/src/ts/util/bitset.js +66 -0
  81. package/dist/src/ts/util/bitset.js.map +1 -0
  82. package/dist/src/ts/util/combinatorics.d.ts +4 -0
  83. package/dist/src/ts/util/combinatorics.d.ts.map +1 -0
  84. package/dist/src/ts/util/combinatorics.js +60 -0
  85. package/dist/src/ts/util/combinatorics.js.map +1 -0
  86. package/dist/src/ts/util/index.d.ts +5 -0
  87. package/dist/src/ts/util/index.d.ts.map +1 -0
  88. package/dist/src/ts/util/index.js +7 -0
  89. package/dist/src/ts/util/index.js.map +1 -0
  90. package/dist/src/ts/util/rng.d.ts +13 -0
  91. package/dist/src/ts/util/rng.d.ts.map +1 -0
  92. package/dist/src/ts/util/rng.js +112 -0
  93. package/dist/src/ts/util/rng.js.map +1 -0
  94. package/dist/src/ts/util/string_util.d.ts +3 -0
  95. package/dist/src/ts/util/string_util.d.ts.map +1 -0
  96. package/dist/src/ts/util/string_util.js +25 -0
  97. package/dist/src/ts/util/string_util.js.map +1 -0
  98. package/dist/src/ts/validator/constraint-validator.d.ts +34 -0
  99. package/dist/src/ts/validator/constraint-validator.d.ts.map +1 -0
  100. package/dist/src/ts/validator/constraint-validator.js +51 -0
  101. package/dist/src/ts/validator/constraint-validator.js.map +1 -0
  102. package/dist/src/ts/validator/coverage-validator.d.ts +42 -0
  103. package/dist/src/ts/validator/coverage-validator.d.ts.map +1 -0
  104. package/dist/src/ts/validator/coverage-validator.js +230 -0
  105. package/dist/src/ts/validator/coverage-validator.js.map +1 -0
  106. package/dist/src/ts/validator/index.d.ts +3 -0
  107. package/dist/src/ts/validator/index.d.ts.map +1 -0
  108. package/dist/src/ts/validator/index.js +3 -0
  109. package/dist/src/ts/validator/index.js.map +1 -0
  110. package/package.json +82 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint-parser.js","sourceRoot":"","sources":["../../../../src/ts/model/constraint-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /** Error codes matching exit codes. */
2
+ export declare enum ErrorCode {
3
+ Ok = 0,
4
+ ConstraintError = 1,
5
+ InsufficientCoverage = 2,
6
+ InvalidInput = 3,
7
+ TupleExplosion = 4
8
+ }
9
+ /** Structured error with context. */
10
+ export interface ErrorInfo {
11
+ code: ErrorCode;
12
+ message: string;
13
+ detail: string;
14
+ }
15
+ /** Create a successful (no-error) ErrorInfo. */
16
+ export declare function okError(): ErrorInfo;
17
+ /** Check if an ErrorInfo represents success. */
18
+ export declare function isOk(error: ErrorInfo): boolean;
19
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/ts/model/error.ts"],"names":[],"mappings":"AAEA,uCAAuC;AACvC,oBAAY,SAAS;IACnB,EAAE,IAAI;IACN,eAAe,IAAI;IACnB,oBAAoB,IAAI;IACxB,YAAY,IAAI;IAChB,cAAc,IAAI;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,wBAAgB,OAAO,IAAI,SAAS,CAEnC;AAED,gDAAgD;AAChD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE9C"}
@@ -0,0 +1,19 @@
1
+ /// Structured error type with error codes and context.
2
+ /** Error codes matching exit codes. */
3
+ export var ErrorCode;
4
+ (function (ErrorCode) {
5
+ ErrorCode[ErrorCode["Ok"] = 0] = "Ok";
6
+ ErrorCode[ErrorCode["ConstraintError"] = 1] = "ConstraintError";
7
+ ErrorCode[ErrorCode["InsufficientCoverage"] = 2] = "InsufficientCoverage";
8
+ ErrorCode[ErrorCode["InvalidInput"] = 3] = "InvalidInput";
9
+ ErrorCode[ErrorCode["TupleExplosion"] = 4] = "TupleExplosion";
10
+ })(ErrorCode || (ErrorCode = {}));
11
+ /** Create a successful (no-error) ErrorInfo. */
12
+ export function okError() {
13
+ return { code: ErrorCode.Ok, message: '', detail: '' };
14
+ }
15
+ /** Check if an ErrorInfo represents success. */
16
+ export function isOk(error) {
17
+ return error.code === ErrorCode.Ok;
18
+ }
19
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../src/ts/model/error.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,uCAAuC;AACvC,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,qCAAM,CAAA;IACN,+DAAmB,CAAA;IACnB,yEAAwB,CAAA;IACxB,yDAAgB,CAAA;IAChB,6DAAkB,CAAA;AACpB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AASD,gDAAgD;AAChD,MAAM,UAAU,OAAO;IACrB,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import type { BoundaryConfig } from './boundary.js';
2
+ import type { TestCase } from './test-case.js';
3
+ /**
4
+ * A sub-model: a subset of parameters with a specific coverage strength.
5
+ *
6
+ * Sub-models allow specifying higher coverage strength for critical parameter
7
+ * groups. Parameters not in any sub-model are covered at the global strength.
8
+ * A parameter may appear in multiple sub-models.
9
+ */
10
+ export interface SubModel {
11
+ /** Resolved to indices internally. */
12
+ parameterNames: string[];
13
+ /** Coverage strength for this group. */
14
+ strength: number;
15
+ }
16
+ /**
17
+ * Per-value weight configuration for influencing value selection.
18
+ *
19
+ * Higher weight = value is preferred when multiple values tie on coverage score.
20
+ * Weight is a hint only; coverage completeness is never compromised.
21
+ */
22
+ export interface WeightConfig {
23
+ /** entries[paramName][valueName] = weight (default 1.0). */
24
+ entries: Record<string, Record<string, number>>;
25
+ }
26
+ /** Get the weight for a specific parameter value. Returns 1.0 if not specified. */
27
+ export declare function getWeight(config: WeightConfig, paramName: string, valueName: string): number;
28
+ /** Check if any weights are configured. */
29
+ export declare function isWeightConfigEmpty(config: WeightConfig): boolean;
30
+ /** Create an empty WeightConfig. */
31
+ export declare function createWeightConfig(): WeightConfig;
32
+ /** Options for test generation. */
33
+ export interface GenerateOptions {
34
+ parameters: Array<{
35
+ name: string;
36
+ values: string[];
37
+ invalid?: boolean[];
38
+ }>;
39
+ /** Constraint strings. */
40
+ constraintExpressions: string[];
41
+ /** Interaction strength (2 = pairwise). */
42
+ strength: number;
43
+ /** RNG seed for deterministic output. */
44
+ seed: number;
45
+ /** 0 = no limit. */
46
+ maxTests: number;
47
+ /** Existing tests to build upon. */
48
+ seeds: TestCase[];
49
+ /** Mixed-strength sub-models. */
50
+ subModels: SubModel[];
51
+ /** Value weight hints. */
52
+ weights: WeightConfig;
53
+ /** Per-param boundary expansion. */
54
+ boundaryConfigs: Record<string, BoundaryConfig>;
55
+ }
56
+ /** Create a GenerateOptions with sensible defaults. */
57
+ export declare function createGenerateOptions(params?: Partial<GenerateOptions>): GenerateOptions;
58
+ /** Mode for extendTests operation. */
59
+ export declare enum ExtendMode {
60
+ /** Keep existing tests exactly as-is. */
61
+ Strict = "strict"
62
+ }
63
+ /** Per-parameter detail for ModelStats. */
64
+ export interface ParamDetail {
65
+ name: string;
66
+ valueCount: number;
67
+ invalidCount: number;
68
+ }
69
+ /** Model statistics for preview without running generation. */
70
+ export interface ModelStats {
71
+ parameterCount: number;
72
+ totalValues: number;
73
+ strength: number;
74
+ totalTuples: number;
75
+ estimatedTests: number;
76
+ subModelCount: number;
77
+ constraintCount: number;
78
+ parameters: ParamDetail[];
79
+ }
80
+ /** Create a default ModelStats. */
81
+ export declare function createModelStats(): ModelStats;
82
+ //# sourceMappingURL=generate-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-options.d.ts","sourceRoot":"","sources":["../../../../src/ts/model/generate-options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAO5F;AAED,2CAA2C;AAC3C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAEjE;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAED,mCAAmC;AACnC,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3E,0BAA0B;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,iCAAiC;IACjC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,0BAA0B;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACjD;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAYxF;AAED,sCAAsC;AACtC,oBAAY,UAAU;IACpB,yCAAyC;IACzC,MAAM,WAAW;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,IAAI,UAAU,CAW7C"}
@@ -0,0 +1,52 @@
1
+ /// Input/output data structures for test generation.
2
+ /** Get the weight for a specific parameter value. Returns 1.0 if not specified. */
3
+ export function getWeight(config, paramName, valueName) {
4
+ const paramWeights = config.entries[paramName];
5
+ if (paramWeights === undefined) {
6
+ return 1.0;
7
+ }
8
+ const w = paramWeights[valueName];
9
+ return w === undefined ? 1.0 : w;
10
+ }
11
+ /** Check if any weights are configured. */
12
+ export function isWeightConfigEmpty(config) {
13
+ return Object.keys(config.entries).length === 0;
14
+ }
15
+ /** Create an empty WeightConfig. */
16
+ export function createWeightConfig() {
17
+ return { entries: {} };
18
+ }
19
+ /** Create a GenerateOptions with sensible defaults. */
20
+ export function createGenerateOptions(params) {
21
+ return {
22
+ parameters: params?.parameters ?? [],
23
+ constraintExpressions: params?.constraintExpressions ?? [],
24
+ strength: params?.strength ?? 2,
25
+ seed: params?.seed ?? 0,
26
+ maxTests: params?.maxTests ?? 0,
27
+ seeds: params?.seeds ?? [],
28
+ subModels: params?.subModels ?? [],
29
+ weights: params?.weights ?? createWeightConfig(),
30
+ boundaryConfigs: params?.boundaryConfigs ?? {},
31
+ };
32
+ }
33
+ /** Mode for extendTests operation. */
34
+ export var ExtendMode;
35
+ (function (ExtendMode) {
36
+ /** Keep existing tests exactly as-is. */
37
+ ExtendMode["Strict"] = "strict";
38
+ })(ExtendMode || (ExtendMode = {}));
39
+ /** Create a default ModelStats. */
40
+ export function createModelStats() {
41
+ return {
42
+ parameterCount: 0,
43
+ totalValues: 0,
44
+ strength: 0,
45
+ totalTuples: 0,
46
+ estimatedTests: 0,
47
+ subModelCount: 0,
48
+ constraintCount: 0,
49
+ parameters: [],
50
+ };
51
+ }
52
+ //# sourceMappingURL=generate-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-options.js","sourceRoot":"","sources":["../../../../src/ts/model/generate-options.ts"],"names":[],"mappings":"AAAA,qDAAqD;AA8BrD,mFAAmF;AACnF,MAAM,UAAU,SAAS,CAAC,MAAoB,EAAE,SAAiB,EAAE,SAAiB;IAClF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACzB,CAAC;AAuBD,uDAAuD;AACvD,MAAM,UAAU,qBAAqB,CAAC,MAAiC;IACrE,OAAO;QACL,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;QACpC,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,IAAI,EAAE;QAC1D,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC;QAC/B,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;QAClC,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,kBAAkB,EAAE;QAChD,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,EAAE;KAC/C,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,yCAAyC;IACzC,+BAAiB,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAqBD,mCAAmC;AACnC,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,CAAC;QACjB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { type BoundaryConfig, BoundaryType, createBoundaryConfig, expandBoundaryValues, } from './boundary.js';
2
+ export { ErrorCode, type ErrorInfo, isOk, okError, } from './error.js';
3
+ export { createGenerateOptions, createModelStats, createWeightConfig, ExtendMode, type GenerateOptions, getWeight, isWeightConfigEmpty, type ModelStats, type ParamDetail, type SubModel, type WeightConfig, } from './generate-options.js';
4
+ export { hasInvalidValues, Parameter, UNASSIGNED, } from './parameter.js';
5
+ export { type ClassCoverage, createGenerateResult, createGenerateStats, createUncoveredTuple, type GenerateResult, type GenerateStats, type Suggestion, type TestCase, type UncoveredTuple, uncoveredTupleToString, } from './test-case.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ts/model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,SAAS,EACT,KAAK,SAAS,EACd,IAAI,EACJ,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,KAAK,eAAe,EACpB,SAAS,EACT,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,aAAa,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { BoundaryType, createBoundaryConfig, expandBoundaryValues, } from './boundary.js';
2
+ export { ErrorCode, isOk, okError, } from './error.js';
3
+ export { createGenerateOptions, createModelStats, createWeightConfig, ExtendMode, getWeight, isWeightConfigEmpty, } from './generate-options.js';
4
+ export { hasInvalidValues, Parameter, UNASSIGNED, } from './parameter.js';
5
+ export { createGenerateResult, createGenerateStats, createUncoveredTuple, uncoveredTupleToString, } from './test-case.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ts/model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,SAAS,EAET,IAAI,EACJ,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EAEV,SAAS,EACT,mBAAmB,GAKpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAMpB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,65 @@
1
+ /** Sentinel value indicating an unassigned parameter (matches C++ UINT32_MAX). */
2
+ export declare const UNASSIGNED = 4294967295;
3
+ /**
4
+ * A test parameter with a name and a set of discrete values.
5
+ *
6
+ * Values can be marked as invalid for negative testing. Invalid values are
7
+ * excluded from positive test generation and used to create separate negative
8
+ * test cases (one invalid value per test case).
9
+ */
10
+ export declare class Parameter {
11
+ readonly name: string;
12
+ readonly values: string[];
13
+ private invalid_;
14
+ private aliases_;
15
+ private equivalenceClasses_;
16
+ constructor(name: string, values: string[]);
17
+ constructor(name: string, values: string[], invalid: boolean[]);
18
+ /** Returns the number of values for this parameter. */
19
+ get size(): number;
20
+ /** Returns the number of valid values. */
21
+ get validCount(): number;
22
+ /** Returns the number of invalid values. */
23
+ get invalidCount(): number;
24
+ /** Returns true if the value at the given index is marked invalid. */
25
+ isInvalid(index: number): boolean;
26
+ /** Returns true if this parameter has any invalid values. */
27
+ get hasInvalidValues(): boolean;
28
+ /** Access the invalid flags array. */
29
+ get invalid(): boolean[];
30
+ /** Set the invalid flags array. */
31
+ setInvalid(inv: boolean[]): void;
32
+ /** Returns the aliases for the value at the given index. */
33
+ aliases(index: number): string[];
34
+ /** Returns true if any value has aliases. */
35
+ get hasAliases(): boolean;
36
+ /**
37
+ * Get a display name for a value, rotating through primary + aliases.
38
+ *
39
+ * For a value with aliases ["chrome", "edge"], rotation 0 returns the primary
40
+ * value, rotation 1 returns "chrome", rotation 2 returns "edge", then wraps.
41
+ */
42
+ displayName(valueIndex: number, rotation: number): string;
43
+ /** Set the aliases for all values. */
44
+ setAliases(aliases: string[][]): void;
45
+ /** Access the aliases array. */
46
+ get allAliases(): string[][];
47
+ /**
48
+ * Find a value index by name, checking both primary values and aliases.
49
+ * @returns The value index, or UNASSIGNED if not found.
50
+ */
51
+ findValueIndex(name: string, caseSensitive?: boolean): number;
52
+ /** Returns the equivalence class for the value at the given index. */
53
+ equivalenceClass(index: number): string;
54
+ /** Returns true if any value has an equivalence class defined. */
55
+ get hasEquivalenceClasses(): boolean;
56
+ /** Returns the distinct class names (in first-seen order). */
57
+ uniqueClasses(): string[];
58
+ /** Set the equivalence class for each value. */
59
+ setEquivalenceClasses(classes: string[]): void;
60
+ /** Access the equivalence classes array. */
61
+ get equivalenceClasses(): string[];
62
+ }
63
+ /** Check if any parameter in the collection has invalid values. */
64
+ export declare function hasInvalidValues(params: Parameter[]): boolean;
65
+ //# sourceMappingURL=parameter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../../../src/ts/model/parameter.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,mBAAmB,CAAW;gBAE1B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;IAS9D,uDAAuD;IACvD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,0CAA0C;IAC1C,IAAI,UAAU,IAAI,MAAM,CAWvB;IAED,4CAA4C;IAC5C,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,sEAAsE;IACtE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAUjC,6DAA6D;IAC7D,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,sCAAsC;IACtC,IAAI,OAAO,IAAI,OAAO,EAAE,CAEvB;IAED,mCAAmC;IACnC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhC,4DAA4D;IAC5D,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAOhC,6CAA6C;IAC7C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;OAKG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAazD,sCAAsC;IACtC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAIrC,gCAAgC;IAChC,IAAI,UAAU,IAAI,MAAM,EAAE,EAAE,CAE3B;IAED;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,UAAO,GAAG,MAAM;IAsB1D,sEAAsE;IACtE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOvC,kEAAkE;IAClE,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAED,8DAA8D;IAC9D,aAAa,IAAI,MAAM,EAAE;IAUzB,gDAAgD;IAChD,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9C,4CAA4C;IAC5C,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;CACF;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAE7D"}
@@ -0,0 +1,157 @@
1
+ /// Parameter definition for combinatorial test generation.
2
+ /** Sentinel value indicating an unassigned parameter (matches C++ UINT32_MAX). */
3
+ export const UNASSIGNED = 0xffffffff;
4
+ /**
5
+ * A test parameter with a name and a set of discrete values.
6
+ *
7
+ * Values can be marked as invalid for negative testing. Invalid values are
8
+ * excluded from positive test generation and used to create separate negative
9
+ * test cases (one invalid value per test case).
10
+ */
11
+ export class Parameter {
12
+ constructor(name, values, invalid) {
13
+ this.name = name;
14
+ this.values = values;
15
+ this.invalid_ = invalid ?? [];
16
+ this.aliases_ = [];
17
+ this.equivalenceClasses_ = [];
18
+ }
19
+ /** Returns the number of values for this parameter. */
20
+ get size() {
21
+ return this.values.length;
22
+ }
23
+ /** Returns the number of valid values. */
24
+ get validCount() {
25
+ if (this.invalid_.length === 0) {
26
+ return this.size;
27
+ }
28
+ let count = 0;
29
+ for (let i = 0; i < this.size; ++i) {
30
+ if (!this.isInvalid(i)) {
31
+ ++count;
32
+ }
33
+ }
34
+ return count;
35
+ }
36
+ /** Returns the number of invalid values. */
37
+ get invalidCount() {
38
+ return this.size - this.validCount;
39
+ }
40
+ /** Returns true if the value at the given index is marked invalid. */
41
+ isInvalid(index) {
42
+ if (this.invalid_.length === 0) {
43
+ return false;
44
+ }
45
+ if (index >= this.invalid_.length) {
46
+ return false;
47
+ }
48
+ return this.invalid_[index];
49
+ }
50
+ /** Returns true if this parameter has any invalid values. */
51
+ get hasInvalidValues() {
52
+ return this.invalid_.some((v) => v);
53
+ }
54
+ /** Access the invalid flags array. */
55
+ get invalid() {
56
+ return this.invalid_;
57
+ }
58
+ /** Set the invalid flags array. */
59
+ setInvalid(inv) {
60
+ this.invalid_ = inv;
61
+ }
62
+ /** Returns the aliases for the value at the given index. */
63
+ aliases(index) {
64
+ if (this.aliases_.length === 0 || index >= this.aliases_.length) {
65
+ return [];
66
+ }
67
+ return this.aliases_[index];
68
+ }
69
+ /** Returns true if any value has aliases. */
70
+ get hasAliases() {
71
+ return this.aliases_.some((a) => a.length > 0);
72
+ }
73
+ /**
74
+ * Get a display name for a value, rotating through primary + aliases.
75
+ *
76
+ * For a value with aliases ["chrome", "edge"], rotation 0 returns the primary
77
+ * value, rotation 1 returns "chrome", rotation 2 returns "edge", then wraps.
78
+ */
79
+ displayName(valueIndex, rotation) {
80
+ const aliasList = this.aliases(valueIndex);
81
+ if (aliasList.length === 0) {
82
+ return this.values[valueIndex];
83
+ }
84
+ const total = 1 + aliasList.length;
85
+ const pick = rotation % total;
86
+ if (pick === 0) {
87
+ return this.values[valueIndex];
88
+ }
89
+ return aliasList[pick - 1];
90
+ }
91
+ /** Set the aliases for all values. */
92
+ setAliases(aliases) {
93
+ this.aliases_ = aliases;
94
+ }
95
+ /** Access the aliases array. */
96
+ get allAliases() {
97
+ return this.aliases_;
98
+ }
99
+ /**
100
+ * Find a value index by name, checking both primary values and aliases.
101
+ * @returns The value index, or UNASSIGNED if not found.
102
+ */
103
+ findValueIndex(name, caseSensitive = true) {
104
+ const eq = caseSensitive
105
+ ? (a, b) => a === b
106
+ : (a, b) => a.toLowerCase() === b.toLowerCase();
107
+ // Check primary values first.
108
+ for (let i = 0; i < this.values.length; ++i) {
109
+ if (eq(this.values[i], name)) {
110
+ return i;
111
+ }
112
+ }
113
+ // Check aliases.
114
+ for (let i = 0; i < this.aliases_.length; ++i) {
115
+ for (const alias of this.aliases_[i]) {
116
+ if (eq(alias, name)) {
117
+ return i;
118
+ }
119
+ }
120
+ }
121
+ return UNASSIGNED;
122
+ }
123
+ /** Returns the equivalence class for the value at the given index. */
124
+ equivalenceClass(index) {
125
+ if (this.equivalenceClasses_.length === 0 || index >= this.equivalenceClasses_.length) {
126
+ return '';
127
+ }
128
+ return this.equivalenceClasses_[index];
129
+ }
130
+ /** Returns true if any value has an equivalence class defined. */
131
+ get hasEquivalenceClasses() {
132
+ return this.equivalenceClasses_.some((c) => c.length > 0);
133
+ }
134
+ /** Returns the distinct class names (in first-seen order). */
135
+ uniqueClasses() {
136
+ const result = [];
137
+ for (const c of this.equivalenceClasses_) {
138
+ if (c.length > 0 && !result.includes(c)) {
139
+ result.push(c);
140
+ }
141
+ }
142
+ return result;
143
+ }
144
+ /** Set the equivalence class for each value. */
145
+ setEquivalenceClasses(classes) {
146
+ this.equivalenceClasses_ = classes;
147
+ }
148
+ /** Access the equivalence classes array. */
149
+ get equivalenceClasses() {
150
+ return this.equivalenceClasses_;
151
+ }
152
+ }
153
+ /** Check if any parameter in the collection has invalid values. */
154
+ export function hasInvalidValues(params) {
155
+ return params.some((p) => p.hasInvalidValues);
156
+ }
157
+ //# sourceMappingURL=parameter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../../../src/ts/model/parameter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /** Sentinel value indicating an unassigned parameter (matches C++ UINT32_MAX). */
2
+ export declare const UNASSIGNED = 4294967295;
3
+ /** A single test case: an array of value indices, one per parameter. */
4
+ export interface TestCase {
5
+ /** values[i] is the index into Parameter[i].values. */
6
+ values: number[];
7
+ }
8
+ /** A human-readable representation of an uncovered tuple. */
9
+ export interface UncoveredTuple {
10
+ /** e.g. ["os=win", "browser=safari"] */
11
+ tuple: string[];
12
+ /** Parameter names involved, e.g. ["os", "browser"] */
13
+ params: string[];
14
+ /** Why this tuple is uncovered. */
15
+ reason: string;
16
+ }
17
+ /** Generation statistics for evaluation and comparison. */
18
+ export interface GenerateStats {
19
+ totalTuples: number;
20
+ coveredTuples: number;
21
+ testCount: number;
22
+ }
23
+ /** Equivalence class coverage metrics. */
24
+ export interface ClassCoverage {
25
+ totalClassTuples: number;
26
+ coveredClassTuples: number;
27
+ classCoverageRatio: number;
28
+ }
29
+ /** Suggested test case to add (for AI/human guidance). */
30
+ export interface Suggestion {
31
+ /** e.g. "Add test: os=win, browser=safari" */
32
+ description: string;
33
+ testCase: TestCase;
34
+ }
35
+ /**
36
+ * Result of test generation.
37
+ *
38
+ * Note on sub-model metrics: When sub-models are used, `coverage` reports
39
+ * the minimum coverage ratio across all engines (global + sub-models),
40
+ * while `stats.totalTuples` and `stats.coveredTuples` are the sum across
41
+ * all engines. Thus `stats.coveredTuples / stats.totalTuples` may differ
42
+ * from `coverage`. Use `coverage` for pass/fail decisions; use `stats` for
43
+ * understanding total workload.
44
+ */
45
+ export interface GenerateResult {
46
+ /** Positive tests (no invalid values). */
47
+ tests: TestCase[];
48
+ /** Negative tests (exactly 1 invalid value each). */
49
+ negativeTests: TestCase[];
50
+ /** Minimum coverage ratio across all engines. */
51
+ coverage: number;
52
+ uncovered: UncoveredTuple[];
53
+ stats: GenerateStats;
54
+ suggestions: Suggestion[];
55
+ warnings: string[];
56
+ /** Equivalence class coverage (if classes defined). */
57
+ classCoverage?: ClassCoverage;
58
+ }
59
+ /** Create a default UncoveredTuple. */
60
+ export declare function createUncoveredTuple(tuple?: string[], params?: string[], reason?: string): UncoveredTuple;
61
+ /** Format an UncoveredTuple as a readable string: "os=win, browser=safari". */
62
+ export declare function uncoveredTupleToString(ut: UncoveredTuple): string;
63
+ /** Create a default GenerateStats. */
64
+ export declare function createGenerateStats(): GenerateStats;
65
+ /** Create a default GenerateResult. */
66
+ export declare function createGenerateResult(): GenerateResult;
67
+ //# sourceMappingURL=test-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-case.d.ts","sourceRoot":"","sources":["../../../../src/ts/model/test-case.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,wEAAwE;AACxE,MAAM,WAAW,QAAQ;IACvB,uDAAuD;IACvD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uDAAuD;IACvD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,qDAAqD;IACrD,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,uDAAuD;IACvD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,uCAAuC;AACvC,wBAAgB,oBAAoB,CAClC,KAAK,GAAE,MAAM,EAAO,EACpB,MAAM,GAAE,MAAM,EAAO,EACrB,MAAM,SAAkB,GACvB,cAAc,CAEhB;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAEjE;AAED,sCAAsC;AACtC,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAED,uCAAuC;AACvC,wBAAgB,oBAAoB,IAAI,cAAc,CAUrD"}
@@ -0,0 +1,28 @@
1
+ /// Test case and result representations.
2
+ /** Sentinel value indicating an unassigned parameter (matches C++ UINT32_MAX). */
3
+ export const UNASSIGNED = 0xffffffff;
4
+ /** Create a default UncoveredTuple. */
5
+ export function createUncoveredTuple(tuple = [], params = [], reason = 'never covered') {
6
+ return { tuple, params, reason };
7
+ }
8
+ /** Format an UncoveredTuple as a readable string: "os=win, browser=safari". */
9
+ export function uncoveredTupleToString(ut) {
10
+ return ut.tuple.join(', ');
11
+ }
12
+ /** Create a default GenerateStats. */
13
+ export function createGenerateStats() {
14
+ return { totalTuples: 0, coveredTuples: 0, testCount: 0 };
15
+ }
16
+ /** Create a default GenerateResult. */
17
+ export function createGenerateResult() {
18
+ return {
19
+ tests: [],
20
+ negativeTests: [],
21
+ coverage: 0,
22
+ uncovered: [],
23
+ stats: createGenerateStats(),
24
+ suggestions: [],
25
+ warnings: [],
26
+ };
27
+ }
28
+ //# sourceMappingURL=test-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-case.js","sourceRoot":"","sources":["../../../../src/ts/model/test-case.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAgErC,uCAAuC;AACvC,MAAM,UAAU,oBAAoB,CAClC,QAAkB,EAAE,EACpB,SAAmB,EAAE,EACrB,MAAM,GAAG,eAAe;IAExB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,sBAAsB,CAAC,EAAkB;IACvD,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,mBAAmB;IACjC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,mBAAmB,EAAE;QAC5B,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare class DynamicBitset {
2
+ private numBits;
3
+ private blocks;
4
+ constructor(numBits?: number);
5
+ set(index: number): void;
6
+ clear(index: number): void;
7
+ test(index: number): boolean;
8
+ count(): number;
9
+ size(): number;
10
+ countAndNot(other: DynamicBitset): number;
11
+ unionWith(other: DynamicBitset): void;
12
+ reset(): void;
13
+ }
14
+ //# sourceMappingURL=bitset.d.ts.map