diff options
author | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 |
---|---|---|
committer | LinuxWizard42 <computerwizard@linuxmail.org> | 2022-10-12 22:54:37 +0300 |
commit | 703e03aba33f234712206769f57717ba7d92d23d (patch) | |
tree | 0041f04ccb75bd5379c764e9fe42249fffe75fc3 /node_modules/parse-author/index.js | |
parent | ab6e257e6e9d9a483d7e86f220d8b209a2cd7753 (diff) | |
download | FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.gz FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.zst |
Added export_allowed file to make repository visible in cgit
Diffstat (limited to 'node_modules/parse-author/index.js')
-rw-r--r-- | node_modules/parse-author/index.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/parse-author/index.js b/node_modules/parse-author/index.js new file mode 100644 index 0000000..09afa48 --- /dev/null +++ b/node_modules/parse-author/index.js @@ -0,0 +1,43 @@ +/*! + * parse-author <https://github.com/jonschlinkert/parse-author> + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +'use strict'; + +var regex = require('author-regex'); + +module.exports = function(str) { + if (typeof str !== 'string') { + throw new TypeError('expected author to be a string'); + } + + if (!str || !/\w/.test(str)) { + return {}; + } + + var match = [].concat.apply([], regex().exec(str)); + var author = {}; + + if (match[1]) { + author.name = match[1]; + } + + for (var i = 2; i < match.length; i++) { + var val = match[i]; + + if (i % 2 === 0 && val && match[i + 1]) { + if (val.charAt(0) === '<') { + author.email = match[i + 1]; + i++; + + } else if (val.charAt(0) === '(') { + author.url = match[i + 1]; + i++; + } + } + } + return author; +}; |