@featurevisor/core 0.15.0 → 0.16.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.
- package/CHANGELOG.md +11 -0
- package/lib/allocator.d.ts +3 -0
- package/lib/allocator.js +40 -0
- package/lib/allocator.js.map +1 -0
- package/lib/allocator.spec.d.ts +1 -0
- package/lib/allocator.spec.js +85 -0
- package/lib/allocator.spec.js.map +1 -0
- package/lib/builder.js +58 -23
- package/lib/builder.js.map +1 -1
- package/lib/config.d.ts +2 -0
- package/lib/config.js +3 -1
- package/lib/config.js.map +1 -1
- package/lib/linter.d.ts +1 -0
- package/lib/linter.js +122 -41
- package/lib/linter.js.map +1 -1
- package/lib/tester.js +3 -8
- package/lib/tester.js.map +1 -1
- package/lib/traffic.d.ts +8 -2
- package/lib/traffic.js +99 -88
- package/lib/traffic.js.map +1 -1
- package/lib/traffic.spec.js +166 -14
- package/lib/traffic.spec.js.map +1 -1
- package/package.json +5 -5
- package/src/allocator.spec.ts +104 -0
- package/src/allocator.ts +44 -0
- package/src/builder.ts +53 -23
- package/src/config.ts +3 -0
- package/src/linter.ts +100 -16
- package/src/tester.ts +3 -8
- package/src/traffic.spec.ts +167 -16
- package/src/traffic.ts +123 -109
package/lib/traffic.spec.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var traffic_1 = require("./traffic");
|
|
4
4
|
describe("core: Traffic", function () {
|
|
5
5
|
it("should be a function", function () {
|
|
6
|
-
expect(typeof traffic_1.
|
|
6
|
+
expect(typeof traffic_1.getTraffic).toEqual("function");
|
|
7
7
|
});
|
|
8
8
|
it("should allocate traffic for 100-0 weight on two variations", function () {
|
|
9
|
-
var result = (0, traffic_1.
|
|
9
|
+
var result = (0, traffic_1.getTraffic)(
|
|
10
10
|
// parsed variations from YAML
|
|
11
11
|
[
|
|
12
12
|
{
|
|
@@ -37,17 +37,17 @@ describe("core: Traffic", function () {
|
|
|
37
37
|
{
|
|
38
38
|
variation: "on",
|
|
39
39
|
percentage: 80000,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
range: {
|
|
41
|
+
start: 0,
|
|
42
|
+
end: 80000,
|
|
43
|
+
},
|
|
44
44
|
},
|
|
45
45
|
],
|
|
46
46
|
},
|
|
47
47
|
]);
|
|
48
48
|
});
|
|
49
49
|
it("should allocate traffic for 50-50 weight on two variations", function () {
|
|
50
|
-
var result = (0, traffic_1.
|
|
50
|
+
var result = (0, traffic_1.getTraffic)(
|
|
51
51
|
// parsed variations from YAML
|
|
52
52
|
[
|
|
53
53
|
{
|
|
@@ -78,17 +78,25 @@ describe("core: Traffic", function () {
|
|
|
78
78
|
{
|
|
79
79
|
variation: "on",
|
|
80
80
|
percentage: 40000,
|
|
81
|
+
range: {
|
|
82
|
+
start: 0,
|
|
83
|
+
end: 40000,
|
|
84
|
+
},
|
|
81
85
|
},
|
|
82
86
|
{
|
|
83
87
|
variation: "off",
|
|
84
88
|
percentage: 40000,
|
|
89
|
+
range: {
|
|
90
|
+
start: 40000,
|
|
91
|
+
end: 80000,
|
|
92
|
+
},
|
|
85
93
|
},
|
|
86
94
|
],
|
|
87
95
|
},
|
|
88
96
|
]);
|
|
89
97
|
});
|
|
90
98
|
it("should allocate traffic for weight with two decimal places among three variations", function () {
|
|
91
|
-
var result = (0, traffic_1.
|
|
99
|
+
var result = (0, traffic_1.getTraffic)(
|
|
92
100
|
// parsed variations from YAML
|
|
93
101
|
[
|
|
94
102
|
{
|
|
@@ -123,21 +131,33 @@ describe("core: Traffic", function () {
|
|
|
123
131
|
{
|
|
124
132
|
variation: "yes",
|
|
125
133
|
percentage: 33330,
|
|
134
|
+
range: {
|
|
135
|
+
start: 0,
|
|
136
|
+
end: 33330,
|
|
137
|
+
},
|
|
126
138
|
},
|
|
127
139
|
{
|
|
128
140
|
variation: "no",
|
|
129
141
|
percentage: 33330,
|
|
142
|
+
range: {
|
|
143
|
+
start: 33330,
|
|
144
|
+
end: 66660,
|
|
145
|
+
},
|
|
130
146
|
},
|
|
131
147
|
{
|
|
132
148
|
variation: "maybe",
|
|
133
149
|
percentage: 33340,
|
|
150
|
+
range: {
|
|
151
|
+
start: 66660,
|
|
152
|
+
end: 100000,
|
|
153
|
+
},
|
|
134
154
|
},
|
|
135
155
|
],
|
|
136
156
|
},
|
|
137
157
|
]);
|
|
138
158
|
});
|
|
139
159
|
it("should allocate against previous known allocation, increasing from 80% to 90%, with same variations and weight", function () {
|
|
140
|
-
var result = (0, traffic_1.
|
|
160
|
+
var result = (0, traffic_1.getTraffic)(
|
|
141
161
|
// parsed variations from YAML
|
|
142
162
|
[
|
|
143
163
|
{
|
|
@@ -177,10 +197,18 @@ describe("core: Traffic", function () {
|
|
|
177
197
|
{
|
|
178
198
|
variation: "on",
|
|
179
199
|
percentage: 40000,
|
|
200
|
+
range: {
|
|
201
|
+
start: 0,
|
|
202
|
+
end: 40000,
|
|
203
|
+
},
|
|
180
204
|
},
|
|
181
205
|
{
|
|
182
206
|
variation: "off",
|
|
183
207
|
percentage: 40000,
|
|
208
|
+
range: {
|
|
209
|
+
start: 40000,
|
|
210
|
+
end: 80000,
|
|
211
|
+
},
|
|
184
212
|
},
|
|
185
213
|
],
|
|
186
214
|
},
|
|
@@ -196,26 +224,42 @@ describe("core: Traffic", function () {
|
|
|
196
224
|
{
|
|
197
225
|
variation: "on",
|
|
198
226
|
percentage: 40000,
|
|
227
|
+
range: {
|
|
228
|
+
start: 0,
|
|
229
|
+
end: 40000,
|
|
230
|
+
},
|
|
199
231
|
},
|
|
200
232
|
{
|
|
201
233
|
variation: "off",
|
|
202
234
|
percentage: 40000,
|
|
235
|
+
range: {
|
|
236
|
+
start: 40000,
|
|
237
|
+
end: 80000,
|
|
238
|
+
},
|
|
203
239
|
},
|
|
204
240
|
// new
|
|
205
241
|
{
|
|
206
242
|
variation: "on",
|
|
207
243
|
percentage: 5000,
|
|
244
|
+
range: {
|
|
245
|
+
start: 80000,
|
|
246
|
+
end: 85000,
|
|
247
|
+
},
|
|
208
248
|
},
|
|
209
249
|
{
|
|
210
250
|
variation: "off",
|
|
211
251
|
percentage: 5000,
|
|
252
|
+
range: {
|
|
253
|
+
start: 85000,
|
|
254
|
+
end: 90000,
|
|
255
|
+
},
|
|
212
256
|
},
|
|
213
257
|
],
|
|
214
258
|
},
|
|
215
259
|
]);
|
|
216
260
|
});
|
|
217
261
|
it("should allocate against previous known allocation, decreasing from 80% to 70%, with same variations and weight", function () {
|
|
218
|
-
var result = (0, traffic_1.
|
|
262
|
+
var result = (0, traffic_1.getTraffic)(
|
|
219
263
|
// parsed variations from YAML
|
|
220
264
|
[
|
|
221
265
|
{
|
|
@@ -255,10 +299,18 @@ describe("core: Traffic", function () {
|
|
|
255
299
|
{
|
|
256
300
|
variation: "on",
|
|
257
301
|
percentage: 40000,
|
|
302
|
+
range: {
|
|
303
|
+
start: 0,
|
|
304
|
+
end: 40000,
|
|
305
|
+
},
|
|
258
306
|
},
|
|
259
307
|
{
|
|
260
308
|
variation: "off",
|
|
261
309
|
percentage: 40000,
|
|
310
|
+
range: {
|
|
311
|
+
start: 40000,
|
|
312
|
+
end: 80000,
|
|
313
|
+
},
|
|
262
314
|
},
|
|
263
315
|
],
|
|
264
316
|
},
|
|
@@ -273,17 +325,25 @@ describe("core: Traffic", function () {
|
|
|
273
325
|
{
|
|
274
326
|
variation: "on",
|
|
275
327
|
percentage: 35000,
|
|
328
|
+
range: {
|
|
329
|
+
start: 0,
|
|
330
|
+
end: 35000,
|
|
331
|
+
},
|
|
276
332
|
},
|
|
277
333
|
{
|
|
278
334
|
variation: "off",
|
|
279
335
|
percentage: 35000,
|
|
336
|
+
range: {
|
|
337
|
+
start: 35000,
|
|
338
|
+
end: 70000,
|
|
339
|
+
},
|
|
280
340
|
},
|
|
281
341
|
],
|
|
282
342
|
},
|
|
283
343
|
]);
|
|
284
344
|
});
|
|
285
345
|
it("should allocate against previous known allocation, increasing from 80% to 90%, with new added variation", function () {
|
|
286
|
-
var result = (0, traffic_1.
|
|
346
|
+
var result = (0, traffic_1.getTraffic)(
|
|
287
347
|
// parsed variations from YAML
|
|
288
348
|
[
|
|
289
349
|
{
|
|
@@ -327,10 +387,18 @@ describe("core: Traffic", function () {
|
|
|
327
387
|
{
|
|
328
388
|
variation: "a",
|
|
329
389
|
percentage: 40000,
|
|
390
|
+
range: {
|
|
391
|
+
start: 0,
|
|
392
|
+
end: 40000,
|
|
393
|
+
},
|
|
330
394
|
},
|
|
331
395
|
{
|
|
332
396
|
variation: "b",
|
|
333
397
|
percentage: 40000,
|
|
398
|
+
range: {
|
|
399
|
+
start: 40000,
|
|
400
|
+
end: 80000,
|
|
401
|
+
},
|
|
334
402
|
},
|
|
335
403
|
],
|
|
336
404
|
},
|
|
@@ -345,21 +413,33 @@ describe("core: Traffic", function () {
|
|
|
345
413
|
{
|
|
346
414
|
variation: "a",
|
|
347
415
|
percentage: 29997,
|
|
416
|
+
range: {
|
|
417
|
+
start: 0,
|
|
418
|
+
end: 29997,
|
|
419
|
+
},
|
|
348
420
|
},
|
|
349
421
|
{
|
|
350
422
|
variation: "b",
|
|
351
423
|
percentage: 29997,
|
|
424
|
+
range: {
|
|
425
|
+
start: 29997,
|
|
426
|
+
end: 59994,
|
|
427
|
+
},
|
|
352
428
|
},
|
|
353
429
|
{
|
|
354
430
|
variation: "c",
|
|
355
431
|
percentage: 30006,
|
|
432
|
+
range: {
|
|
433
|
+
start: 59994,
|
|
434
|
+
end: 90000,
|
|
435
|
+
},
|
|
356
436
|
},
|
|
357
437
|
],
|
|
358
438
|
},
|
|
359
439
|
]);
|
|
360
440
|
});
|
|
361
441
|
it("should allocate against previous known allocation, increasing from 80% to 100%, with new added variation, totalling 4 variations", function () {
|
|
362
|
-
var result = (0, traffic_1.
|
|
442
|
+
var result = (0, traffic_1.getTraffic)(
|
|
363
443
|
// parsed variations from YAML
|
|
364
444
|
[
|
|
365
445
|
{
|
|
@@ -407,10 +487,18 @@ describe("core: Traffic", function () {
|
|
|
407
487
|
{
|
|
408
488
|
variation: "a",
|
|
409
489
|
percentage: 40000,
|
|
490
|
+
range: {
|
|
491
|
+
start: 0,
|
|
492
|
+
end: 40000,
|
|
493
|
+
},
|
|
410
494
|
},
|
|
411
495
|
{
|
|
412
496
|
variation: "b",
|
|
413
497
|
percentage: 40000,
|
|
498
|
+
range: {
|
|
499
|
+
start: 40000,
|
|
500
|
+
end: 80000,
|
|
501
|
+
},
|
|
414
502
|
},
|
|
415
503
|
],
|
|
416
504
|
},
|
|
@@ -425,25 +513,41 @@ describe("core: Traffic", function () {
|
|
|
425
513
|
{
|
|
426
514
|
variation: "a",
|
|
427
515
|
percentage: 25000,
|
|
516
|
+
range: {
|
|
517
|
+
start: 0,
|
|
518
|
+
end: 25000,
|
|
519
|
+
},
|
|
428
520
|
},
|
|
429
521
|
{
|
|
430
522
|
variation: "b",
|
|
431
523
|
percentage: 25000,
|
|
524
|
+
range: {
|
|
525
|
+
start: 25000,
|
|
526
|
+
end: 50000,
|
|
527
|
+
},
|
|
432
528
|
},
|
|
433
529
|
{
|
|
434
530
|
variation: "c",
|
|
435
531
|
percentage: 25000,
|
|
532
|
+
range: {
|
|
533
|
+
start: 50000,
|
|
534
|
+
end: 75000,
|
|
535
|
+
},
|
|
436
536
|
},
|
|
437
537
|
{
|
|
438
538
|
variation: "d",
|
|
439
539
|
percentage: 25000,
|
|
540
|
+
range: {
|
|
541
|
+
start: 75000,
|
|
542
|
+
end: 100000,
|
|
543
|
+
},
|
|
440
544
|
},
|
|
441
545
|
],
|
|
442
546
|
},
|
|
443
547
|
]);
|
|
444
548
|
});
|
|
445
549
|
it("should allocate against previous known allocation, staying at same 100%, removing variations from 4 to 2", function () {
|
|
446
|
-
var result = (0, traffic_1.
|
|
550
|
+
var result = (0, traffic_1.getTraffic)(
|
|
447
551
|
// parsed variations from YAML
|
|
448
552
|
[
|
|
449
553
|
{
|
|
@@ -491,18 +595,34 @@ describe("core: Traffic", function () {
|
|
|
491
595
|
{
|
|
492
596
|
variation: "a",
|
|
493
597
|
percentage: 25000,
|
|
598
|
+
range: {
|
|
599
|
+
start: 0,
|
|
600
|
+
end: 25000,
|
|
601
|
+
},
|
|
494
602
|
},
|
|
495
603
|
{
|
|
496
604
|
variation: "b",
|
|
497
605
|
percentage: 25000,
|
|
606
|
+
range: {
|
|
607
|
+
start: 25000,
|
|
608
|
+
end: 50000,
|
|
609
|
+
},
|
|
498
610
|
},
|
|
499
611
|
{
|
|
500
612
|
variation: "c",
|
|
501
613
|
percentage: 25000,
|
|
614
|
+
range: {
|
|
615
|
+
start: 50000,
|
|
616
|
+
end: 75000,
|
|
617
|
+
},
|
|
502
618
|
},
|
|
503
619
|
{
|
|
504
620
|
variation: "d",
|
|
505
621
|
percentage: 25000,
|
|
622
|
+
range: {
|
|
623
|
+
start: 75000,
|
|
624
|
+
end: 100000,
|
|
625
|
+
},
|
|
506
626
|
},
|
|
507
627
|
],
|
|
508
628
|
},
|
|
@@ -517,17 +637,25 @@ describe("core: Traffic", function () {
|
|
|
517
637
|
{
|
|
518
638
|
variation: "a",
|
|
519
639
|
percentage: 50000,
|
|
640
|
+
range: {
|
|
641
|
+
start: 0,
|
|
642
|
+
end: 50000,
|
|
643
|
+
},
|
|
520
644
|
},
|
|
521
645
|
{
|
|
522
646
|
variation: "b",
|
|
523
647
|
percentage: 50000,
|
|
648
|
+
range: {
|
|
649
|
+
start: 50000,
|
|
650
|
+
end: 100000,
|
|
651
|
+
},
|
|
524
652
|
},
|
|
525
653
|
],
|
|
526
654
|
},
|
|
527
655
|
]);
|
|
528
656
|
});
|
|
529
657
|
it("should allocate against previous known allocation, decreasing from 100% to 80%, removing variations from 4 to 2", function () {
|
|
530
|
-
var result = (0, traffic_1.
|
|
658
|
+
var result = (0, traffic_1.getTraffic)(
|
|
531
659
|
// parsed variations from YAML
|
|
532
660
|
[
|
|
533
661
|
{
|
|
@@ -575,18 +703,34 @@ describe("core: Traffic", function () {
|
|
|
575
703
|
{
|
|
576
704
|
variation: "a",
|
|
577
705
|
percentage: 25000,
|
|
706
|
+
range: {
|
|
707
|
+
start: 0,
|
|
708
|
+
end: 25000,
|
|
709
|
+
},
|
|
578
710
|
},
|
|
579
711
|
{
|
|
580
712
|
variation: "b",
|
|
581
713
|
percentage: 25000,
|
|
714
|
+
range: {
|
|
715
|
+
start: 25000,
|
|
716
|
+
end: 50000,
|
|
717
|
+
},
|
|
582
718
|
},
|
|
583
719
|
{
|
|
584
720
|
variation: "c",
|
|
585
721
|
percentage: 25000,
|
|
722
|
+
range: {
|
|
723
|
+
start: 50000,
|
|
724
|
+
end: 75000,
|
|
725
|
+
},
|
|
586
726
|
},
|
|
587
727
|
{
|
|
588
728
|
variation: "d",
|
|
589
729
|
percentage: 25000,
|
|
730
|
+
range: {
|
|
731
|
+
start: 75000,
|
|
732
|
+
end: 100000,
|
|
733
|
+
},
|
|
590
734
|
},
|
|
591
735
|
],
|
|
592
736
|
},
|
|
@@ -601,10 +745,18 @@ describe("core: Traffic", function () {
|
|
|
601
745
|
{
|
|
602
746
|
variation: "a",
|
|
603
747
|
percentage: 40000,
|
|
748
|
+
range: {
|
|
749
|
+
start: 0,
|
|
750
|
+
end: 40000,
|
|
751
|
+
},
|
|
604
752
|
},
|
|
605
753
|
{
|
|
606
754
|
variation: "b",
|
|
607
755
|
percentage: 40000,
|
|
756
|
+
range: {
|
|
757
|
+
start: 40000,
|
|
758
|
+
end: 80000,
|
|
759
|
+
},
|
|
608
760
|
},
|
|
609
761
|
],
|
|
610
762
|
},
|
package/lib/traffic.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../src/traffic.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"traffic.spec.js","sourceRoot":"","sources":["../src/traffic.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@featurevisor/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Core package of Featurevisor for Node.js usage",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
},
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@featurevisor/sdk": "^0.
|
|
45
|
-
"@featurevisor/site": "^0.
|
|
46
|
-
"@featurevisor/types": "^0.
|
|
44
|
+
"@featurevisor/sdk": "^0.16.0",
|
|
45
|
+
"@featurevisor/site": "^0.16.0",
|
|
46
|
+
"@featurevisor/types": "^0.16.0",
|
|
47
47
|
"axios": "^1.3.4",
|
|
48
48
|
"joi": "^17.8.3",
|
|
49
49
|
"js-yaml": "^4.1.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"@types/js-yaml": "^4.0.5",
|
|
55
55
|
"@types/tar": "^6.1.4"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "7e9b87c4653e4f2940fb399a53e919a2c7450c14"
|
|
58
58
|
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { getAllocation, getUpdatedAvailableRangesAfterFilling } from "./allocator";
|
|
2
|
+
|
|
3
|
+
describe("core: allocator", function () {
|
|
4
|
+
test("is a function", function () {
|
|
5
|
+
expect(getAllocation).toBeInstanceOf(Function);
|
|
6
|
+
expect(getUpdatedAvailableRangesAfterFilling).toBeInstanceOf(Function);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
test("fills a single range fully", function () {
|
|
10
|
+
const availableRanges = [{ start: 0, end: 100 }];
|
|
11
|
+
const result = getAllocation(availableRanges, 100);
|
|
12
|
+
|
|
13
|
+
expect(result).toEqual(availableRanges);
|
|
14
|
+
|
|
15
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 100);
|
|
16
|
+
expect(updatedAvailableRanges).toEqual([]);
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
test("fills a single range partially", function () {
|
|
20
|
+
const availableRanges = [{ start: 0, end: 100 }];
|
|
21
|
+
const result = getAllocation(availableRanges, 80);
|
|
22
|
+
|
|
23
|
+
expect(result).toEqual([{ start: 0, end: 80 }]);
|
|
24
|
+
|
|
25
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 80);
|
|
26
|
+
expect(updatedAvailableRanges).toEqual([{ start: 80, end: 100 }]);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test("fills multiple ranges fully", function () {
|
|
30
|
+
const availableRanges = [
|
|
31
|
+
{ start: 0, end: 50 },
|
|
32
|
+
{ start: 50, end: 100 },
|
|
33
|
+
];
|
|
34
|
+
const result = getAllocation(availableRanges, 100);
|
|
35
|
+
|
|
36
|
+
expect(result).toEqual(availableRanges);
|
|
37
|
+
|
|
38
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 100);
|
|
39
|
+
expect(updatedAvailableRanges).toEqual([]);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test("fills multiple ranges with breaks in between fully", function () {
|
|
43
|
+
const availableRanges = [
|
|
44
|
+
{ start: 0, end: 40 },
|
|
45
|
+
{ start: 60, end: 100 },
|
|
46
|
+
];
|
|
47
|
+
const result = getAllocation(availableRanges, 80);
|
|
48
|
+
|
|
49
|
+
expect(result).toEqual(availableRanges);
|
|
50
|
+
|
|
51
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 80);
|
|
52
|
+
expect(updatedAvailableRanges).toEqual([]);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test("fills multiple ranges partially", function () {
|
|
56
|
+
const availableRanges = [
|
|
57
|
+
{ start: 0, end: 50 },
|
|
58
|
+
{ start: 50, end: 100 },
|
|
59
|
+
];
|
|
60
|
+
const result = getAllocation(availableRanges, 80);
|
|
61
|
+
|
|
62
|
+
expect(result).toEqual([
|
|
63
|
+
{ start: 0, end: 50 },
|
|
64
|
+
{ start: 50, end: 80 },
|
|
65
|
+
]);
|
|
66
|
+
|
|
67
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 80);
|
|
68
|
+
expect(updatedAvailableRanges).toEqual([{ start: 80, end: 100 }]);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
test("fills multiple ranges with breaks in between partially", function () {
|
|
72
|
+
const availableRanges = [
|
|
73
|
+
{ start: 0, end: 40 },
|
|
74
|
+
{ start: 60, end: 100 },
|
|
75
|
+
];
|
|
76
|
+
const result = getAllocation(availableRanges, 50);
|
|
77
|
+
|
|
78
|
+
expect(result).toEqual([
|
|
79
|
+
{ start: 0, end: 40 },
|
|
80
|
+
{ start: 60, end: 70 },
|
|
81
|
+
]);
|
|
82
|
+
|
|
83
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 50);
|
|
84
|
+
expect(updatedAvailableRanges).toEqual([{ start: 70, end: 100 }]);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
test("fills multiple ranges with breaks in between partially, with 3 range items", function () {
|
|
88
|
+
const availableRanges = [
|
|
89
|
+
{ start: 0, end: 30 },
|
|
90
|
+
{ start: 60, end: 70 },
|
|
91
|
+
{ start: 90, end: 95 },
|
|
92
|
+
];
|
|
93
|
+
const result = getAllocation(availableRanges, 42);
|
|
94
|
+
|
|
95
|
+
expect(result).toEqual([
|
|
96
|
+
{ start: 0, end: 30 },
|
|
97
|
+
{ start: 60, end: 70 },
|
|
98
|
+
{ start: 90, end: 92 },
|
|
99
|
+
]);
|
|
100
|
+
|
|
101
|
+
const updatedAvailableRanges = getUpdatedAvailableRangesAfterFilling(availableRanges, 42);
|
|
102
|
+
expect(updatedAvailableRanges).toEqual([{ start: 92, end: 95 }]);
|
|
103
|
+
});
|
|
104
|
+
});
|
package/src/allocator.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Range, Percentage } from "@featurevisor/types";
|
|
2
|
+
|
|
3
|
+
export function getAllocation(availableRanges: Range[], fill: Percentage): Range[] {
|
|
4
|
+
const result: Range[] = [];
|
|
5
|
+
|
|
6
|
+
let remaining = fill;
|
|
7
|
+
let i = 0;
|
|
8
|
+
while (remaining > 0 && i < availableRanges.length) {
|
|
9
|
+
const range = availableRanges[i];
|
|
10
|
+
const rangeFill = Math.min(remaining, range.end - range.start);
|
|
11
|
+
result.push({
|
|
12
|
+
start: range.start,
|
|
13
|
+
end: range.start + rangeFill,
|
|
14
|
+
});
|
|
15
|
+
remaining -= rangeFill;
|
|
16
|
+
i++;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function getUpdatedAvailableRangesAfterFilling(
|
|
23
|
+
availableRanges: Range[],
|
|
24
|
+
fill: Percentage,
|
|
25
|
+
): Range[] {
|
|
26
|
+
const result: Range[] = [];
|
|
27
|
+
|
|
28
|
+
let remaining = fill;
|
|
29
|
+
let i = 0;
|
|
30
|
+
while (remaining > 0 && i < availableRanges.length) {
|
|
31
|
+
const range = availableRanges[i];
|
|
32
|
+
const rangeFill = Math.min(remaining, range.end - range.start);
|
|
33
|
+
if (rangeFill < range.end - range.start) {
|
|
34
|
+
result.push({
|
|
35
|
+
start: range.start + rangeFill,
|
|
36
|
+
end: range.end,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
remaining -= rangeFill;
|
|
40
|
+
i++;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return result;
|
|
44
|
+
}
|