Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/spdx-expression-parse/ |
Upload File : |
'use strict' var licenses = [] .concat(require('spdx-license-ids')) .concat(require('spdx-license-ids/deprecated')) var exceptions = require('spdx-exceptions') module.exports = function (source) { var index = 0 function hasMore () { return index < source.length } // `value` can be a regexp or a string. // If it is recognized, the matching source string is returned and // the index is incremented. Otherwise `undefined` is returned. function read (value) { if (value instanceof RegExp) { var chars = source.slice(index) var match = chars.match(value) if (match) { index += match[0].length return match[0] } } else { if (source.indexOf(value, index) === index) { index += value.length return value } } } function skipWhitespace () { read(/[ ]*/) } function operator () { var string var possibilities = ['WITH', 'AND', 'OR', '(', ')', ':', '+'] for (var i = 0; i < possibilities.length; i++) { string = read(possibilities[i]) if (string) { break } } if (string === '+' && index > 1 && source[index - 2] === ' ') { throw new Error('Space before `+`') } return string && { type: 'OPERATOR', string: string } } function idstring () { return read(/[A-Za-z0-9-.]+/) } function expectIdstring () { var string = idstring() if (!string) { throw new Error('Expected idstring at offset ' + index) } return string } function documentRef () { if (read('DocumentRef-')) { var string = expectIdstring() return {type: 'DOCUMENTREF', string: string} } } function licenseRef () { if (read('LicenseRef-')) { var string = expectIdstring() return {type: 'LICENSEREF', string: string} } } function identifier () { var begin = index var string = idstring() if (licenses.indexOf(string) !== -1) { return { type: 'LICENSE', string: string } } else if (exceptions.indexOf(string) !== -1) { return { type: 'EXCEPTION', string: string } } index = begin } // Tries to read the next token. Returns `undefined` if no token is // recognized. function parseToken () { // Ordering matters return ( operator() || documentRef() || licenseRef() || identifier() ) } var tokens = [] while (hasMore()) { skipWhitespace() if (!hasMore()) { break } var token = parseToken() if (!token) { throw new Error('Unexpected `' + source[index] + '` at offset ' + index) } tokens.push(token) } return tokens }