website-scraper/node-website-scraper

View on GitHub
lib/plugins/generate-filenamy-by-type-plugin.js

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import byTypeFilenameGenerator from '../filename-generator/by-type.js';

class GenerateFilenameByTypePlugin {
    apply (registerAction) {
        let occupiedFilenames, subdirectories, defaultFilename;

        registerAction('beforeStart', ({options}) => {
            occupiedFilenames = [];
            subdirectories = options.subdirectories;
            defaultFilename = options.defaultFilename;
        });
        registerAction('generateFilename', ({resource}) => {
            const filename = byTypeFilenameGenerator(resource, {subdirectories, defaultFilename}, occupiedFilenames);
            occupiedFilenames.push(filename);
            return {filename};
        });
    }
}

export default GenerateFilenameByTypePlugin;