Sha256: f5c0ec68cc3b12f41cc538351a5afcf8e4aaaf264c2658ba92976c9ecfa718b1
Contents?: true
Size: 923 Bytes
Versions: 23
Compression:
Stored size: 923 Bytes
Contents
'use strict'; const balancedMatch = require('balanced-match'); const styleSearch = require('style-search'); /** * Search a CSS string for functions by name. * For every match, invoke the callback, passing the function's * "argument(s) string" (whatever is inside the parentheses) * as an argument. * * Callback will be called once for every matching function found, * with the function's "argument(s) string" and its starting index * as the arguments. * * @param {string} source * @param {string} functionName * @param {Function} callback */ module.exports = function (source, functionName, callback) { styleSearch( { source, target: functionName, functionNames: 'check', }, (match) => { if (source[match.endIndex] !== '(') { return; } const parensMatch = balancedMatch('(', ')', source.substr(match.startIndex)); callback(parensMatch.body, match.endIndex + 1); }, ); };
Version data entries
23 entries across 23 versions & 1 rubygems