| 2821 | } |
| 2822 | |
| 2823 | function explodeEntry(pattern, obj) { |
| 2824 | obj.optionalDependencies = obj.optionalDependencies || {}; |
| 2825 | obj.dependencies = obj.dependencies || {}; |
| 2826 | obj.uid = obj.uid || obj.version; |
| 2827 | obj.permissions = obj.permissions || {}; |
| 2828 | obj.registry = obj.registry || 'npm'; |
| 2829 | obj.name = obj.name || getName(pattern); |
| 2830 | const integrity = obj.integrity; |
| 2831 | if (integrity && integrity.isIntegrity) { |
| 2832 | obj.integrity = ssri.parse(integrity); |
| 2833 | } |
| 2834 | return obj; |
| 2835 | } |
| 2836 | |
| 2837 | class Lockfile { |
| 2838 | constructor({ cache, source, parseResultType } = {}) { |