* Parse a base case key into a pattern. * * @example * parseBasePattern('0,0') → { type: 'exact', values: [0, 0] } * parseBasePattern('n,0') → { type: 'pattern', values: ['n', 0] } * parseBasePattern('n,n') → { type: 'pattern', values: ['n', 'n'] }
(key: string | number)
| 99 | } |
| 100 | |
| 101 | /** |
| 102 | * Parse a base case key into a pattern. |
| 103 | * |
| 104 | * @example |
| 105 | * parseBasePattern('0,0') → { type: 'exact', values: [0, 0] } |
| 106 | * parseBasePattern('n,0') → { type: 'pattern', values: ['n', 0] } |
| 107 | * parseBasePattern('n,n') → { type: 'pattern', values: ['n', 'n'] } |
| 108 | */ |
| 109 | function parseBasePattern(key: string | number): ParsedPattern { |
| 110 | if (typeof key === 'number') { |
| 111 | return { type: 'exact', values: [key] }; |
| 112 | } |
| 113 | |
| 114 | const parts = key.split(',').map((p) => p.trim()); |
| 115 | const values = parts.map((p) => { |
| 116 | const num = Number(p); |
no test coverage detected