pareto-test 0.13.100 → 0.13.101
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/implementation/generic.d.ts +0 -13
- package/dist/implementation/generic.js +90 -101
- package/dist/implementation/manual/transformers/directory_content/generic_testset.d.ts +0 -20
- package/dist/implementation/manual/transformers/directory_content/generic_testset.js +143 -142
- package/dist/implementation/manual/transformers/read_directory_content/generic_testset.d.ts +0 -20
- package/dist/implementation/manual/transformers/read_directory_content/generic_testset.js +147 -146
- package/dist/implementation/manual/transformers/test_result_2/actual_tree.d.ts +0 -5
- package/dist/implementation/manual/transformers/test_result_2/actual_tree.js +61 -87
- package/dist/implementation/temp/higher_order_functions/command_creators/test.d.ts +0 -29
- package/dist/implementation/temp/higher_order_functions/command_creators/test.js +305 -225
- package/dist/implementation/temp/higher_order_functions/generic_testset/temp.d.ts +0 -11
- package/dist/implementation/temp/higher_order_functions/generic_testset/temp.js +63 -82
- package/dist/implementation/temp/higher_order_functions/generic_testset/testset_shorthands.d.ts +0 -9
- package/dist/implementation/temp/higher_order_functions/generic_testset/testset_shorthands.js +89 -83
- package/dist/temporary_testset_generator/create_test_bin.d.ts +0 -1
- package/dist/temporary_testset_generator/create_test_bin.js +65 -92
- package/dist/temporary_testset_generator/interface/testers.d.ts +0 -35
- package/dist/temporary_testset_generator/interface/testers.js +50 -2
- package/dist/temporary_testset_generator/shorthands.d.ts +0 -7
- package/dist/temporary_testset_generator/shorthands.js +103 -131
- package/package.json +1 -1
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as _pi from 'pareto-core/dist/interface';
|
|
2
|
-
import * as generic from "../interface/temp/generic";
|
|
3
|
-
import * as resources_pareto from "pareto-stream/dist/interface/resources";
|
|
4
|
-
export type Resources = {
|
|
5
|
-
'commands': {
|
|
6
|
-
'log error': resources_pareto.commands.log_error;
|
|
7
|
-
'log': resources_pareto.commands.log;
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
export declare const run_transformer_tests_with_parameters: <Input, Expected, Parameters>(tests: _pi.Dictionary<generic.Transformer_With_Parameter<Input, Expected, Parameters>>, implementation: _pi.Transformer_With_Parameter<Input, Expected, Parameters>) => generic.Results;
|
|
11
|
-
export declare const run_transformer_tests_without_parameters: <Input, Expected>($: _pi.Dictionary<generic.Transformer<Input, Expected>>, implementation: _pi.Transformer<Input, Expected>) => generic.Results;
|
|
12
|
-
export declare const run_refiner_tests_with_parameters: <Expected_Output, Expected_Error, Input, Parameters>(tests: _pi.Dictionary<generic.Refiner_With_Parameter<Expected_Output, Expected_Error, Input, Parameters>>, implementation: _pi.Refiner_With_Parameter<Expected_Output, Expected_Error, Input, Parameters>) => generic.Results;
|
|
13
|
-
export declare const run_refiner_tests_without_parameters: <Expected_Output, Expected_Error, Input>($: _pi.Dictionary<generic.Refiner_Without_Parameters<Expected_Output, Expected_Error, Input>>, implementation: _pi.Refiner<Expected_Output, Expected_Error, Input>) => generic.Results;
|
|
@@ -1,102 +1,91 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
case 'output': return _pt.ss($, ($) => false);
|
|
93
|
-
case 'error': return _pt.ss($, ($) => error === $);
|
|
94
|
-
default: return _pt.au($[0]);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
})
|
|
98
|
-
}];
|
|
99
|
-
});
|
|
100
|
-
};
|
|
101
|
-
exports.run_refiner_tests_without_parameters = run_refiner_tests_without_parameters;
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9nZW5lcmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZEQUE4QztBQUU5Qyw2SEFBb0c7QUFhN0YsTUFBTSxxQ0FBcUMsR0FBRyxDQUNqRCxLQUFzRixFQUN0RixjQUEyRSxFQUM1RCxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDaEQsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRO0tBQzdFLENBQUMsQ0FBQyxDQUFBO0FBTFUsUUFBQSxxQ0FBcUMseUNBSy9DO0FBRUksTUFBTSx3Q0FBd0MsR0FBRyxDQUNwRCxDQUF1RCxFQUN2RCxjQUFnRCxFQUNqQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDNUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVE7S0FDbkQsQ0FBQyxDQUFDLENBQUE7QUFMVSxRQUFBLHdDQUF3Qyw0Q0FLbEQ7QUFFSSxNQUFNLGlDQUFpQyxHQUFHLENBQzdDLEtBQXlHLEVBQ3pHLGNBQThGLEVBQy9FLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDdEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUMzQixPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUEsbUNBQXlCLEVBQy9CLENBQUMs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
|
|
2
|
+
// import * as _pi from 'pareto-core/dist/interface'
|
|
3
|
+
// import * as _pt from 'pareto-core/dist/assign'
|
|
4
|
+
// import create_refinement_context from 'pareto-core/dist/__internals/async/create_refinement_context'
|
|
5
|
+
// import * as generic from "../interface/temp/generic"
|
|
6
|
+
// import * as resources_pareto from "pareto-stream/dist/interface/resources"
|
|
7
|
+
// export type Resources = {
|
|
8
|
+
// 'commands': {
|
|
9
|
+
// 'log error': resources_pareto.commands.log_error
|
|
10
|
+
// 'log': resources_pareto.commands.log
|
|
11
|
+
// }
|
|
12
|
+
// }
|
|
13
|
+
// export const run_transformer_tests_with_parameters = <Input extends _pi.Value, Expected extends _pi.Value, Parameters>(
|
|
14
|
+
// tests: _pi.Dictionary<generic.Transformer_With_Parameter<Input, Expected, Parameters>>,
|
|
15
|
+
// implementation: _pi.Transformer_With_Parameter<Input, Expected, Parameters>
|
|
16
|
+
// ): generic.Results => tests.__d_map(($) => ['test', {
|
|
17
|
+
// 'passed': implementation($.input.input, $.input.parameters) === $.expected
|
|
18
|
+
// }])
|
|
19
|
+
// export const run_transformer_tests_without_parameters = <Input extends _pi.Value, Expected extends _pi.Value>(
|
|
20
|
+
// $: _pi.Dictionary<generic.Transformer<Input, Expected>>,
|
|
21
|
+
// implementation: _pi.Transformer<Input, Expected>
|
|
22
|
+
// ): generic.Results => $.__d_map(($) => ['test', {
|
|
23
|
+
// 'passed': implementation($.input) === $.expected
|
|
24
|
+
// }])
|
|
25
|
+
// export const run_refiner_tests_with_parameters = <Expected_Output, Expected_Error, Input, Parameters>(
|
|
26
|
+
// tests: _pi.Dictionary<generic.Refiner_With_Parameter<Expected_Output, Expected_Error, Input, Parameters>>,
|
|
27
|
+
// implementation: _pi.Refiner_With_Parameter<Expected_Output, Expected_Error, Input, Parameters>
|
|
28
|
+
// ): generic.Results => tests.__d_map(($) => {
|
|
29
|
+
// const expected = $.expected
|
|
30
|
+
// return ['test', {
|
|
31
|
+
// 'passed': create_refinement_context<Expected_Output, Expected_Error>(
|
|
32
|
+
// (abort) => implementation($.input.input, abort, $.input.parameters)
|
|
33
|
+
// ).__extract_data(
|
|
34
|
+
// ($) => {
|
|
35
|
+
// const output = $
|
|
36
|
+
// return _pt.decide.state(expected, ($) => {
|
|
37
|
+
// switch ($[0]) {
|
|
38
|
+
// case 'output': return _pt.ss($, ($) => output === $)
|
|
39
|
+
// case 'error': return _pt.ss($, ($) => false)
|
|
40
|
+
// default: return _pt.au($[0])
|
|
41
|
+
// }
|
|
42
|
+
// })
|
|
43
|
+
// },
|
|
44
|
+
// ($) => {
|
|
45
|
+
// const error = $
|
|
46
|
+
// return _pt.decide.state(expected, ($) => {
|
|
47
|
+
// switch ($[0]) {
|
|
48
|
+
// case 'output': return _pt.ss($, ($) => false)
|
|
49
|
+
// case 'error': return _pt.ss($, ($) => error === $)
|
|
50
|
+
// default: return _pt.au($[0])
|
|
51
|
+
// }
|
|
52
|
+
// })
|
|
53
|
+
// },
|
|
54
|
+
// )
|
|
55
|
+
// }]
|
|
56
|
+
// })
|
|
57
|
+
// export const run_refiner_tests_without_parameters = <Expected_Output, Expected_Error, Input>(
|
|
58
|
+
// $: _pi.Dictionary<generic.Refiner_Without_Parameters<Expected_Output, Expected_Error, Input>>,
|
|
59
|
+
// implementation: _pi.Refiner<Expected_Output, Expected_Error, Input>
|
|
60
|
+
// ): generic.Results => {
|
|
61
|
+
// return $.__d_map(($) => {
|
|
62
|
+
// const expected = $.expected
|
|
63
|
+
// return ['test', {
|
|
64
|
+
// 'passed': create_refinement_context<Expected_Output, Expected_Error>(
|
|
65
|
+
// (abort) => implementation($.input, abort)
|
|
66
|
+
// ).__extract_data(
|
|
67
|
+
// ($) => {
|
|
68
|
+
// const output = $
|
|
69
|
+
// return _pt.decide.state(expected, ($) => {
|
|
70
|
+
// switch ($[0]) {
|
|
71
|
+
// case 'output': return _pt.ss($, ($) => output === $)
|
|
72
|
+
// case 'error': return _pt.ss($, ($) => false)
|
|
73
|
+
// default: return _pt.au($[0])
|
|
74
|
+
// }
|
|
75
|
+
// })
|
|
76
|
+
// },
|
|
77
|
+
// ($) => {
|
|
78
|
+
// const error = $
|
|
79
|
+
// return _pt.decide.state(expected, ($) => {
|
|
80
|
+
// switch ($[0]) {
|
|
81
|
+
// case 'output': return _pt.ss($, ($) => false)
|
|
82
|
+
// case 'error': return _pt.ss($, ($) => error === $)
|
|
83
|
+
// default: return _pt.au($[0])
|
|
84
|
+
// }
|
|
85
|
+
// })
|
|
86
|
+
// },
|
|
87
|
+
// )
|
|
88
|
+
// }]
|
|
89
|
+
// })
|
|
90
|
+
// }
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsZW1lbnRhdGlvbi9nZW5lcmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvREFBb0Q7QUFDcEQsaURBQWlEO0FBRWpELHVHQUF1RztBQUV2Ryx1REFBdUQ7QUFFdkQsNkVBQTZFO0FBRTdFLDRCQUE0QjtBQUM1QixvQkFBb0I7QUFDcEIsMkRBQTJEO0FBQzNELCtDQUErQztBQUMvQyxRQUFRO0FBQ1IsSUFBSTtBQUVKLDBIQUEwSDtBQUMxSCw4RkFBOEY7QUFDOUYsa0ZBQWtGO0FBQ2xGLHdEQUF3RDtBQUN4RCxpRkFBaUY7QUFDakYsTUFBTTtBQUVOLGlIQUFpSDtBQUNqSCwrREFBK0Q7QUFDL0QsdURBQXVEO0FBQ3ZELG9EQUFvRDtBQUNwRCx1REFBdUQ7QUFDdkQsTUFBTTtBQUVOLHlHQUF5RztBQUN6RyxpSEFBaUg7QUFDakgscUdBQXFHO0FBQ3JHLCtDQUErQztBQUMvQyxrQ0FBa0M7QUFDbEMsd0JBQXdCO0FBQ3hCLGdGQUFnRjtBQUNoRixrRkFBa0Y7QUFDbEYsNEJBQTRCO0FBQzVCLHVCQUF1QjtBQUN2QixtQ0FBbUM7QUFDbkMsNkRBQTZEO0FBQzdELHNDQUFzQztBQUN0QywrRUFBK0U7QUFDL0UsdUVBQXVFO0FBQ3ZFLHVEQUF1RDtBQUN2RCx3QkFBd0I7QUFDeEIscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQix1QkFBdUI7QUFDdkIsa0NBQWtDO0FBQ2xDLDZEQUE2RDtBQUM3RCxzQ0FBc0M7QUFDdEMsd0VBQXdFO0FBQ3hFLDZFQUE2RTtBQUM3RSx1REFBdUQ7QUFDdkQsd0JBQXdCO0FBQ3hCLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakIsWUFBWTtBQUNaLFNBQVM7QUFDVCxLQUFLO0FBRUwsZ0dBQWdHO0FBQ2hHLHFHQUFxRztBQUNyRywwRUFBMEU7QUFDMUUsMEJBQTBCO0FBQzFCLGdDQUFnQztBQUNoQyxzQ0FBc0M7QUFDdEMsNEJBQTRCO0FBQzVCLG9GQUFvRjtBQUNwRiw0REFBNEQ7QUFDNUQsZ0NBQWdDO0FBQ2hDLDJCQUEyQjtBQUMzQix1Q0FBdUM7QUFDdkMsaUVBQWlFO0FBQ2pFLDBDQUEwQztBQUMxQyxtRkFBbUY7QUFDbkYsMkVBQTJFO0FBQzNFLDJEQUEyRDtBQUMzRCw0QkFBNEI7QUFDNUIseUJBQXlCO0FBQ3pCLHFCQUFxQjtBQUNyQiwyQkFBMkI7QUFDM0Isc0NBQXNDO0FBQ3RDLGlFQUFpRTtBQUNqRSwwQ0FBMEM7QUFDMUMsNEVBQTRFO0FBQzVFLGlGQUFpRjtBQUNqRiwyREFBMkQ7QUFDM0QsNEJBQTRCO0FBQzVCLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckIsZ0JBQWdCO0FBQ2hCLGFBQWE7QUFDYixTQUFTO0FBQ1QsSUFBSSJ9
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as _pi from 'pareto-core/dist/interface';
|
|
2
|
-
import * as d_in from "pareto-resources/dist/interface/to_be_generated/directory_content";
|
|
3
|
-
import * as d_out from "../../../../interface/to_be_generated/generic_testset";
|
|
4
|
-
export type Parameters = {
|
|
5
|
-
'expected': d_in.Directory;
|
|
6
|
-
'suffix settings': Suffix_Settings;
|
|
7
|
-
};
|
|
8
|
-
export type Suffix_Settings = {
|
|
9
|
-
/**
|
|
10
|
-
* an individual file in the main file structure will be matched against the expected file/directory with this suffix appended
|
|
11
|
-
* for esmple, to match "test1.txt" against "test1.txt.astn", the suffix would be ".astn"
|
|
12
|
-
*/
|
|
13
|
-
'to be appended to expected': _pi.Optional_Value<string>;
|
|
14
|
-
/**
|
|
15
|
-
* an individual file in the expected file structure will be matched against the main file/directory with this suffix removed
|
|
16
|
-
* for esmple, to match "test1.txt.astn" against "test1.txt", the suffix would be ".astn"
|
|
17
|
-
*/
|
|
18
|
-
'to be removed from input': _pi.Optional_Value<string>;
|
|
19
|
-
};
|
|
20
|
-
export declare const Directory: _pi.Transformer_With_Parameter<d_in.Directory, d_out.Directory, Parameters>;
|
|
@@ -1,143 +1,144 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
})
|
|
142
|
-
|
|
143
|
-
|
|
2
|
+
// import * as _p from 'pareto-core/dist/assign'
|
|
3
|
+
// import * as _pi from 'pareto-core/dist/interface'
|
|
4
|
+
// import _p_unreachable_code_path from 'pareto-core/dist/_p_unreachable_code_path'
|
|
5
|
+
// import _p_list_build_deprecated from 'pareto-core/dist/_p_list_build_deprecated'
|
|
6
|
+
// import _p_list_from_text from 'pareto-core/dist/_p_list_from_text'
|
|
7
|
+
// import _p_text_from_list from 'pareto-core/dist/_p_text_from_list'
|
|
8
|
+
// import * as d_in from "pareto-resources/dist/interface/to_be_generated/directory_content"
|
|
9
|
+
// import * as d_out from "../../../../interface/to_be_generated/generic_testset"
|
|
10
|
+
// const remove_suffix = ($: string, suffix: string): _pi.Optional_Value<string> => {
|
|
11
|
+
// let suffix_matches = true
|
|
12
|
+
// const main_as_characters = _p_list_from_text($, ($) => $)
|
|
13
|
+
// const suffix_as_characters = _p_list_from_text(suffix, ($) => $)
|
|
14
|
+
// const main_length = main_as_characters.__get_number_of_items()
|
|
15
|
+
// const suffix_length = suffix_as_characters.__get_number_of_items()
|
|
16
|
+
// const stripped = _p_list_build_deprecated<number>(($i) => {
|
|
17
|
+
// let index = -1
|
|
18
|
+
// main_as_characters.__l_map(($) => {
|
|
19
|
+
// index += 1
|
|
20
|
+
// if (index < main_length - suffix_length) {
|
|
21
|
+
// $i['add item']($)
|
|
22
|
+
// } else {
|
|
23
|
+
// //validate the right suffix
|
|
24
|
+
// const cur_char = $
|
|
25
|
+
// const suffix_index = index - (main_length - suffix_length)
|
|
26
|
+
// _p.optional.from.optional(
|
|
27
|
+
// suffix_as_characters.__deprecated_get_possible_item_at(suffix_index),
|
|
28
|
+
// ).map(
|
|
29
|
+
// ($) => {
|
|
30
|
+
// if (cur_char !== $) {
|
|
31
|
+
// suffix_matches = false
|
|
32
|
+
// }
|
|
33
|
+
// }
|
|
34
|
+
// )
|
|
35
|
+
// }
|
|
36
|
+
// })
|
|
37
|
+
// })
|
|
38
|
+
// if (suffix_matches) {
|
|
39
|
+
// return _p.optional.literal.set(_p_text_from_list(stripped, ($) => $))
|
|
40
|
+
// }
|
|
41
|
+
// return _p.optional.literal.set($)
|
|
42
|
+
// }
|
|
43
|
+
// export type Parameters = {
|
|
44
|
+
// 'expected': d_in.Directory
|
|
45
|
+
// 'suffix settings': Suffix_Settings
|
|
46
|
+
// }
|
|
47
|
+
// export type Suffix_Settings = {
|
|
48
|
+
// /**
|
|
49
|
+
// * an individual file in the main file structure will be matched against the expected file/directory with this suffix appended
|
|
50
|
+
// * for esmple, to match "test1.txt" against "test1.txt.astn", the suffix would be ".astn"
|
|
51
|
+
// */
|
|
52
|
+
// 'to be appended to expected': _pi.Optional_Value<string>
|
|
53
|
+
// /**
|
|
54
|
+
// * an individual file in the expected file structure will be matched against the main file/directory with this suffix removed
|
|
55
|
+
// * for esmple, to match "test1.txt.astn" against "test1.txt", the suffix would be ".astn"
|
|
56
|
+
// */
|
|
57
|
+
// 'to be removed from input': _pi.Optional_Value<string>
|
|
58
|
+
// }
|
|
59
|
+
// export const Directory: _pi.Transformer_With_Parameter<d_in.Directory, d_out.Directory, Parameters> = ($, $p) => ({
|
|
60
|
+
// 'nodes': $.__d_map(($, id) => _p.decide.state($, ($): d_out.Node => {
|
|
61
|
+
// switch ($[0]) {
|
|
62
|
+
// case 'other': return _p.ss($, () => _p_unreachable_code_path("this needs proper handling"))//"expected a file or a directory"
|
|
63
|
+
// case 'file': return _p.ss($, ($): d_out.Node => {
|
|
64
|
+
// const get_matching_expect_file = ($: string): d_out.Node__file__expected => {
|
|
65
|
+
// const expected_node = $p.expected.__get_possible_entry_deprecated($ + $p['suffix settings']['to be appended to expected'].__decide(
|
|
66
|
+
// ($) => $,
|
|
67
|
+
// () => ""
|
|
68
|
+
// ))
|
|
69
|
+
// return expected_node.__decide(
|
|
70
|
+
// ($) => _p.decide.state($, ($): d_out.Node__file__expected => {
|
|
71
|
+
// switch ($[0]) {
|
|
72
|
+
// case 'file': return _p.ss($, ($) => ['valid', $])
|
|
73
|
+
// case 'directory': return _p.ss($, ($) => ['invalid', ['expected', ['is not a file', null]]])
|
|
74
|
+
// case 'other': return _p.ss($, ($) => ['invalid', ['expected', ['is not a file', null]]])
|
|
75
|
+
// default: return _p.au($[0])
|
|
76
|
+
// }
|
|
77
|
+
// }),
|
|
78
|
+
// (): d_out.Node__file__expected => ['invalid', ['expected', ['does not exist', null]]]
|
|
79
|
+
// )
|
|
80
|
+
// }
|
|
81
|
+
// const top_node = $
|
|
82
|
+
// return ['file', {
|
|
83
|
+
// 'input': top_node,
|
|
84
|
+
// 'matching': $p['suffix settings']['to be removed from input'].__decide(
|
|
85
|
+
// ($) => remove_suffix(id, $).__decide(
|
|
86
|
+
// ($): d_out.Node__file__expected => get_matching_expect_file($),
|
|
87
|
+
// (): d_out.Node__file__expected => ['invalid', ['required input suffix missing', $]]
|
|
88
|
+
// ),
|
|
89
|
+
// (): d_out.Node__file__expected => get_matching_expect_file(id)
|
|
90
|
+
// )
|
|
91
|
+
// }]
|
|
92
|
+
// })
|
|
93
|
+
// case 'directory': return _p.ss($, ($) => {
|
|
94
|
+
// const expected_node = $p.expected.__get_possible_entry_deprecated(id)
|
|
95
|
+
// const input_node = $
|
|
96
|
+
// return ['directory', expected_node.__decide(
|
|
97
|
+
// ($) => _p.decide.state($, ($) => {
|
|
98
|
+
// switch ($[0]) {
|
|
99
|
+
// case 'other': return _p.ss($, ($) => ['invalid', ['node for expected is not a directory', null]])
|
|
100
|
+
// case 'file': return _p.ss($, ($) => ['invalid', ['node for expected is not a directory', null]])
|
|
101
|
+
// case 'directory': return _p.ss($, ($) => ['valid', Directory(
|
|
102
|
+
// input_node,
|
|
103
|
+
// {
|
|
104
|
+
// 'expected': $,
|
|
105
|
+
// 'suffix settings': $p['suffix settings'],
|
|
106
|
+
// }
|
|
107
|
+
// )])
|
|
108
|
+
// default: return _p.au($[0])
|
|
109
|
+
// }
|
|
110
|
+
// }),
|
|
111
|
+
// () => ['invalid', ['directory for expected does not exist', null]]
|
|
112
|
+
// )]
|
|
113
|
+
// })
|
|
114
|
+
// default: return _p.au($[0])
|
|
115
|
+
// }
|
|
116
|
+
// })),
|
|
117
|
+
// // 'superfluous nodes': _p.block(() => {
|
|
118
|
+
// // const temp: { [id: string]: null } = {}
|
|
119
|
+
// // $.__d_map(($, id) => {
|
|
120
|
+
// // const key_of_expected = _p.decide.state($, ($): string => {
|
|
121
|
+
// // switch ($[0]) {
|
|
122
|
+
// // case 'other': return _p.ss($, ($) => key)
|
|
123
|
+
// // case 'file': return _p.ss($, ($): string => $p['suffix settings']['to be removed from input'].__decide(
|
|
124
|
+
// // ($) => {
|
|
125
|
+
// // return remove_suffix(key, $).__decide(
|
|
126
|
+
// // ($) => $,
|
|
127
|
+
// // () => key
|
|
128
|
+
// // )
|
|
129
|
+
// // },
|
|
130
|
+
// // () => key
|
|
131
|
+
// // ))
|
|
132
|
+
// // case 'directory': return _p.ss($, ($) => key)
|
|
133
|
+
// // default: return _p.au($[0])
|
|
134
|
+
// // }
|
|
135
|
+
// // })
|
|
136
|
+
// // temp[key_of_expected] = null
|
|
137
|
+
// // })
|
|
138
|
+
// // const main = _p.dictionary.literal(temp)
|
|
139
|
+
// // return op_filter_dictionary($p.expected.__d_map(($, id) => {
|
|
140
|
+
// // return main.get_entry(key).__d_map(() => null)
|
|
141
|
+
// // }))
|
|
142
|
+
// // })
|
|
143
|
+
// })
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpY190ZXN0c2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL21hbnVhbC90cmFuc2Zvcm1lcnMvZGlyZWN0b3J5X2NvbnRlbnQvZ2VuZXJpY190ZXN0c2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELG1GQUFtRjtBQUNuRixtRkFBbUY7QUFDbkYscUVBQXFFO0FBQ3JFLHFFQUFxRTtBQUVyRSw0RkFBNEY7QUFDNUYsaUZBQWlGO0FBRWpGLHFGQUFxRjtBQUNyRixnQ0FBZ0M7QUFDaEMsZ0VBQWdFO0FBQ2hFLHVFQUF1RTtBQUN2RSxxRUFBcUU7QUFDckUseUVBQXlFO0FBRXpFLGtFQUFrRTtBQUNsRSx5QkFBeUI7QUFDekIsOENBQThDO0FBQzlDLHlCQUF5QjtBQUN6Qix5REFBeUQ7QUFDekQsb0NBQW9DO0FBQ3BDLHVCQUF1QjtBQUN2Qiw4Q0FBOEM7QUFDOUMscUNBQXFDO0FBQ3JDLDZFQUE2RTtBQUM3RSw2Q0FBNkM7QUFDN0MsNEZBQTRGO0FBQzVGLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsZ0RBQWdEO0FBQ2hELHFEQUFxRDtBQUNyRCw0QkFBNEI7QUFDNUIsd0JBQXdCO0FBQ3hCLG9CQUFvQjtBQUNwQixnQkFBZ0I7QUFDaEIsYUFBYTtBQUNiLFNBQVM7QUFDVCw0QkFBNEI7QUFDNUIsZ0ZBQWdGO0FBQ2hGLFFBQVE7QUFDUix3Q0FBd0M7QUFDeEMsSUFBSTtBQUVKLDZCQUE2QjtBQUM3QixpQ0FBaUM7QUFDakMseUNBQXlDO0FBQ3pDLElBQUk7QUFFSixrQ0FBa0M7QUFFbEMsVUFBVTtBQUNWLHFJQUFxSTtBQUNySSxnR0FBZ0c7QUFDaEcsVUFBVTtBQUNWLCtEQUErRDtBQUMvRCxVQUFVO0FBQ1Ysb0lBQW9JO0FBQ3BJLGdHQUFnRztBQUNoRyxVQUFVO0FBQ1YsNkRBQTZEO0FBQzdELElBQUk7QUFHSixzSEFBc0g7QUFDdEgsNEVBQTRFO0FBQzVFLDBCQUEwQjtBQUMxQiw0SUFBNEk7QUFDNUksZ0VBQWdFO0FBSWhFLGdHQUFnRztBQUNoRywwSkFBMEo7QUFDMUosb0NBQW9DO0FBQ3BDLG1DQUFtQztBQUNuQyx5QkFBeUI7QUFDekIscURBQXFEO0FBQ3JELHlGQUF5RjtBQUN6Riw4Q0FBOEM7QUFDOUMsb0ZBQW9GO0FBQ3BGLCtIQUErSDtBQUMvSCwySEFBMkg7QUFDM0gsOERBQThEO0FBQzlELGdDQUFnQztBQUNoQyw4QkFBOEI7QUFDOUIsZ0hBQWdIO0FBQ2hILHdCQUF3QjtBQUN4QixvQkFBb0I7QUFFcEIscUNBQXFDO0FBQ3JDLG9DQUFvQztBQUNwQyx5Q0FBeUM7QUFDekMsOEZBQThGO0FBQzlGLGdFQUFnRTtBQUNoRSw4RkFBOEY7QUFDOUYsa0hBQWtIO0FBRWxILDZCQUE2QjtBQUM3Qix5RkFBeUY7QUFDekYsd0JBQXdCO0FBQ3hCLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakIseURBQXlEO0FBQ3pELHdGQUF3RjtBQUN4Rix1Q0FBdUM7QUFDdkMsK0RBQStEO0FBQy9ELHlEQUF5RDtBQUN6RCwwQ0FBMEM7QUFDMUMsZ0lBQWdJO0FBQ2hJLCtIQUErSDtBQUMvSCw0RkFBNEY7QUFDNUYsOENBQThDO0FBQzlDLG9DQUFvQztBQUNwQyxxREFBcUQ7QUFDckQsZ0ZBQWdGO0FBQ2hGLG9DQUFvQztBQUNwQyxrQ0FBa0M7QUFDbEMsMERBQTBEO0FBQzFELDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIseUZBQXlGO0FBQ3pGLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakIsMENBQTBDO0FBQzFDLFlBQVk7QUFDWixXQUFXO0FBQ1gsK0NBQStDO0FBQy9DLHFEQUFxRDtBQUNyRCxvQ0FBb0M7QUFDcEMsNkVBQTZFO0FBQzdFLHFDQUFxQztBQUVyQyxtRUFBbUU7QUFDbkUsaUlBQWlJO0FBQ2pJLHNDQUFzQztBQUN0Qyx3RUFBd0U7QUFDeEUsK0NBQStDO0FBQy9DLCtDQUErQztBQUUvQyxtQ0FBbUM7QUFDbkMsZ0NBQWdDO0FBQ2hDLHVDQUF1QztBQUN2Qyw0QkFBNEI7QUFDNUIsdUVBQXVFO0FBQ3ZFLHFEQUFxRDtBQUNyRCx1QkFBdUI7QUFDdkIsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxnQkFBZ0I7QUFDaEIsc0RBQXNEO0FBQ3RELDBFQUEwRTtBQUMxRSxnRUFBZ0U7QUFDaEUsaUJBQWlCO0FBQ2pCLFlBQVk7QUFDWixLQUFLIn0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as _pi from 'pareto-core/dist/interface';
|
|
2
|
-
import * as d_in from "pareto-resources/dist/interface/to_be_generated/directory_content";
|
|
3
|
-
import * as d_out from "../../../../interface/to_be_generated/generic_testset";
|
|
4
|
-
export type Parameters = {
|
|
5
|
-
'expected': d_in.Directory;
|
|
6
|
-
'suffix settings': Suffix_Settings;
|
|
7
|
-
};
|
|
8
|
-
export type Suffix_Settings = {
|
|
9
|
-
/**
|
|
10
|
-
* an individual file in the main file structure will be matched against the expected file/directory with this suffix appended
|
|
11
|
-
* for esmple, to match "test1.txt" against "test1.txt.astn", the suffix would be ".astn"
|
|
12
|
-
*/
|
|
13
|
-
'to be appended to expected': _pi.Optional_Value<string>;
|
|
14
|
-
/**
|
|
15
|
-
* an individual file in the expected file structure will be matched against the main file/directory with this suffix removed
|
|
16
|
-
* for esmple, to match "test1.txt.astn" against "test1.txt", the suffix would be ".astn"
|
|
17
|
-
*/
|
|
18
|
-
'to be removed from input': _pi.Optional_Value<string>;
|
|
19
|
-
};
|
|
20
|
-
export declare const Directory: _pi.Transformer_With_Parameter<d_in.Directory, d_out.Directory, Parameters>;
|