({ isValidIp })
| 1 | export default function buildMakeSource ({ isValidIp }) { |
| 2 | return function makeSource ({ ip, browser, referrer } = {}) { |
| 3 | if (!ip) { |
| 4 | throw new Error('Comment source must contain an IP.') |
| 5 | } |
| 6 | if (!isValidIp(ip)) { |
| 7 | throw new RangeError('Comment source must contain a valid IP.') |
| 8 | } |
| 9 | return Object.freeze({ |
| 10 | getIp: () => ip, |
| 11 | getBrowser: () => browser, |
| 12 | getReferrer: () => referrer |
| 13 | }) |
| 14 | } |
| 15 | } |