Commit 79f8bf8
committed
Correct type handling in decode_bits() and encode_bits().
Contrary to the existing type hints, the methods can handle strings
for lookup as well as an arbitrary collection of integer bit offsets.
Correct the hints to reflect that and check at runtime to only lookup
from strings.
Correct return type for encode_bits(), as it works only for integers.
Document both functions to explain the intention and caveats to
consider, especially the lookup KeyError exception.
Extend test to cover an iterable and a failed lookup.1 parent 62cf726 commit 79f8bf8
2 files changed
Lines changed: 32 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
516 | 516 | | |
517 | 517 | | |
518 | 518 | | |
519 | | - | |
520 | | - | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
521 | 528 | | |
522 | | - | |
523 | | - | |
524 | 529 | | |
525 | 530 | | |
526 | 531 | | |
527 | 532 | | |
528 | 533 | | |
529 | | - | |
530 | | - | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
531 | 550 | | |
532 | | - | |
533 | | - | |
534 | 551 | | |
535 | 552 | | |
536 | 553 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
| 241 | + | |
241 | 242 | | |
242 | 243 | | |
243 | 244 | | |
244 | 245 | | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
245 | 251 | | |
246 | 252 | | |
247 | 253 | | |
| |||
0 commit comments