Sha256: 54bd7a336868bcb2d95ed7caabd0a021a5030d91eaf9cf404e0ec11ddc18a751
Contents?: true
Size: 829 Bytes
Versions: 1
Compression:
Stored size: 829 Bytes
Contents
export const controllerNameFrom = (filename) => { const pattern = /.*\/components\/((?:\w+\/)*)(\w+)_controller.js$/ const controllerName = filename .replace(pattern, (_match, $1, $2) => { const scope = $1 .replaceAll('/', '--') .replaceAll('_', '-') const name = $2 .replaceAll('_', '-') return scope + name }) return controllerName } export default registerControllersFrom = (context) => { const { default: componentControllers, filenames } = context for (let i = 0, len = componentControllers.length; i < len; i++) { let componentController = componentControllers[i].default let filename = filenames[i] let name = controllerNameFrom(filename) Stimulus.register(name, componentController) console.log(name); } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
material_view_components-0.1.1 | app/javascript/controllers/helpers.js |