typeChecker = require('typechecker')Import
typeChecker = require('typechecker')Utils
module.exports = projectzUtil =Get Person Text
getPersonText: (person) ->
return person.markdown or person.text or personGet File URL
getFileUrl: (opts, filename) ->
url = "https://github.com/#{opts.username}/#{opts.name}/blob/master/#{filename}#files"
return urlGet Function Named e.g. {getMitLicense,getLicenses} with 'mit' returns getMitLicense
getFunctionNamed: (str) ->Prepare
str = str.toLowerCase()Find
for own name,fn of @
if name.substr(3).substr(str.length*-1).toLowerCase() is str
return fnReturn
return nullGet Functions Ending With e.g. {getNpmBadge,getBadges} with 'Badge' returns [getNpmBadge]
getFunctionsEndingWith: (str) ->Prepare
fns = []Find
for own name,fn of @
if name.substr(str.length*-1) is str
fns.push(fn)Return
return fnsReplace Section
replaceSection: (names, source, inject) ->
if typeChecker.isArray(names)
regexName = '('+names.join('|')+')'
sectionName = names[0]
else
regexName = sectionName = names
sectionName = sectionName.toUpperCase()
regex = ///
\n(
<!--\s*#{regexName}\s*-->
|
<!--\s*#{regexName}/\s*-->
[\s\S]*?
<!--\s*/#{regexName}\s*-->
)\s*
///gim
replace = """
\n<!-- #{sectionName}/ -->\n\n#{inject}\n\n<!-- /#{sectionName} -->\n\n\n
"""
result = source.replace(regex, replace)
return result