custom-permutation 1.0.6 → 1.0.7

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/README.md CHANGED
@@ -1,25 +1,45 @@
1
+ # Fixed bugs
2
+ 25.09.2023 - unChoices did not reflect always, fixed now.
3
+
1
4
  # Custom Permutation Generator
2
5
 
3
- ```typescript
6
+ ## 1. require / import
7
+ ```ts
8
+ const CustomPermutation = require('custom-permutation')
9
+ ```
10
+
11
+ ## 2. Constructor
12
+ ```ts
4
13
  CustomPermutation(elList:[els...], choices:{ index: [els...]] }, nonChoices:{ index: [els...]] })
5
14
  ```
6
15
 
7
- _example:_\
8
- `CustomPermutation(['a', 'b', 'c'], {1: ['a', 'b']}, {0: ['a']})`
16
+ ## 3. Usage explanation
17
+
18
+ _example:_
19
+
20
+ ```ts
21
+ CustomPermutation(['a', 'b', 'c'], {1: ['a', 'b']}, {0: ['a']})
22
+ ```
9
23
 
10
24
  Permutate 3 elements which are 'a', 'b' and 'c' with below rules
11
25
 
12
- __1. choices rule:__ `{ 1: ['a', 'b'] }`
26
+ __- choices rule:__
27
+ ```json
28
+ { 1: ['a', 'b'] }
29
+ ```
13
30
 
14
- At index=1 there can be just 'a' or 'b'
31
+ At index=1 there can only be the element 'a' or 'b'
15
32
 
16
- __2. nonChoices rule:__ `{ 0: ['a'] }`
33
+ __- nonChoices rule:__
34
+ ```json
35
+ { 0: ['a'] }
36
+ ```
17
37
 
18
- At index=0 there can NOT be element 'a'
38
+ At index=0 there can NOT be the element 'a'
19
39
 
20
- _Note: given index are considered as 0 based: [index=0, index=1, etc]_
40
+ _Note: given index are considered as 0 based: [index=0, index=1, etc.]_
21
41
 
22
- __Result set:__
42
+ ## 4. Result set explanation:
23
43
 
24
44
  Let's see all permutations, and which ones are valid or not.
25
45
  - `['a', 'b', 'c']` : violates nonChoices rule: _first element is `'a'`, but shouldn't be `'a'`
@@ -30,31 +50,56 @@ Let's see all permutations, and which ones are valid or not.
30
50
  - `['c', 'b', 'a']` : ok
31
51
 
32
52
  So there are just 3 results that should be generated with this parameters.
33
- ```javascript
34
- let customPerm = new CustomPermutation(['a', 'b', 'c'], { 1: ['a', 'b'] }, { 0: ['a'] });
35
- let gen = customPerm.generator();
36
- while (true) {
37
- let next = gen.next();
38
- if (next.done) {
39
- break;
40
- }
41
- console.log(next.value)
42
- }
43
-
44
- ```
45
- or
46
- ```javascript
47
- let customPerm = new CustomPermutation(['a', 'b', 'c'], { 1: ['a', 'b'] }, { 0: ['a'] });
48
- while (true) {
49
- let next = customPerm.next();
50
- if (!next) {
51
- break;
52
- }
53
- console.log(next)
54
- }
55
- ```
56
-
57
- __Console__\
53
+
54
+ ## 5. Complete example
55
+
56
+ ### 1. Create permutation
57
+
58
+ ```ts
59
+ let customPerm = new CustomPermutation(
60
+ ['a', 'b', 'c'],
61
+ { 1: ['a', 'b'] },
62
+ { 0: ['a'] }
63
+ );
64
+ ```
65
+
66
+ ### 2. Get next value
67
+
68
+ #### 2.1. Use with next
69
+
70
+ ```ts
71
+ let next = customPerm.next();
72
+
73
+ while (next) {
74
+ // Use next
75
+ console.log(next)
76
+
77
+ // Get next
78
+ next = customPerm.next();
79
+ }
80
+ ```
81
+
82
+ #### 2.2. Or use with generator
83
+
84
+ ```ts
85
+ let generator = customPerm.generator();
86
+ let next = generator.next();
87
+
88
+ while (!next.done) {
89
+ // Use next.value
90
+ console.log(next.value)
91
+
92
+ // Generate next one
93
+ next = generator.next();
94
+ }
95
+ ```
96
+
97
+ ### 3. Output
98
+
99
+ __Console__
100
+
101
+ ```sh
58
102
  ['b', 'a', 'c']\
59
103
  ['c', 'a', 'b']\
60
- ['c', 'b', 'a']
104
+ ['c', 'b', 'a']
105
+ ```
@@ -9,7 +9,6 @@ var CustomPermutationGenerator = /** @class */ (function () {
9
9
  elementsOrderAbs, // Actual orders in final schdule
10
10
  elementsIndexRel, // Actual relative orders in sub-schedule
11
11
  passFunction, randomizechoices) {
12
- var _this = this;
13
12
  if (choicesByIndex === void 0) { choicesByIndex = {}; }
14
13
  if (nonChoicesByIndex === void 0) { nonChoicesByIndex = {}; }
15
14
  if (elementsIndexRel === void 0) { elementsIndexRel = []; }
@@ -50,13 +49,13 @@ var CustomPermutationGenerator = /** @class */ (function () {
50
49
  this.extendIndexesOfSameElements(this.choicesByIndex, indexesOfSameElements);
51
50
  // not make for choicesByIndex list so that options be little
52
51
  this.extendIndexesOfSameElements(this.nonChoicesByIndex, indexesOfSameElements);
53
- var choicesByIndexInSetFiltered = Object.keys(this.choicesByIndexInSet).filter(function (x) { return elementsIndexRel.indexOf(Number(x)) >= 0; })
54
- .map(function (x) { return _this.choicesByIndexInSet[x]; });
52
+ // let choicesByIndexInSetFiltered = Object.keys(this.choicesByIndexInSet).filter(x => elementsIndexRel.indexOf(Number(x)) >= 0)
53
+ // .map(x => this.choicesByIndexInSet[x]);
55
54
  // Same like above
56
55
  // for(let i = 0; i < this.elementsIndexRel.length; i++) {
57
56
  // choicesByIndexInSetFiltered[i] = this.choicesByIndexInSet[elementsIndexRel[i]]
58
57
  // }
59
- this.permutationGenOfSet = new PermutationGeneratorForSet_1.PermutationGeneratorForSet(elementList, indexList, choicesByIndexInSetFiltered, indexesOfSameElements, elementsOrderAbs, passFunction, randomizechoices);
58
+ this.permutationGenOfSet = new PermutationGeneratorForSet_1.PermutationGeneratorForSet(elementList, indexList, this.choicesByIndexInSet, indexesOfSameElements, elementsOrderAbs, passFunction, randomizechoices);
60
59
  }
61
60
  // collect indexes of same elements into nonChoicesByIndex array, eg, slot1 should be placed by person 1 whose indexes are 3,4,5
62
61
  CustomPermutationGenerator.prototype.extendIndexesOfSameElements = function (choicesByIndex, indexesOfSameElements) {
@@ -119,8 +118,6 @@ var CustomPermutationGenerator = /** @class */ (function () {
119
118
  indexes = indexes.filter(function (x) { return indexesToRemove.indexOf(x) < 0; });
120
119
  }
121
120
  _this.choicesByIndexInSet[key] = indexes;
122
- // ? OR
123
- // this.choicesByIndex[key] = indexes; // but not working
124
121
  });
125
122
  };
126
123
  CustomPermutationGenerator.prototype.getAllIndexesOfElementInList = function (el, list) {
@@ -1 +1 @@
1
- {"version":3,"file":"CustomPermutationGenerator.js","sourceRoot":"","sources":["../src/CustomPermutationGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomPermutationGenerator.js","sourceRoot":"","sources":["../src/CustomPermutationGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "custom-permutation",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "Permutation generator with custom options.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",