mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-24 10:27:10 +02:00
02bdb7a79c
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
28 lines
944 B
TypeScript
28 lines
944 B
TypeScript
import mit from '../licenseText/mit';
|
|
import equalIgnoringSpacing from './equalIgnoringSpacing';
|
|
|
|
const matchMit = (licenseText: string) => {
|
|
licenseText = licenseText.trim();
|
|
|
|
// Match headers similar to "MIT License" and "(The MIT License)"
|
|
const headerRegex = /^.?(?:The )?(?:MIT License)?(?: .MIT.)?.?[\r\n \t]+/;
|
|
licenseText = licenseText.replace(headerRegex, '');
|
|
|
|
const baseMitLicense = mit('[[copyright here]]').trim().replace(headerRegex, '');
|
|
|
|
const copyrightRegex = /^(Copyright .*)[\n]/i;
|
|
const baseLicenseWithoutCopyright = baseMitLicense.replace(copyrightRegex, '');
|
|
const testLicenseTextWithoutCopyright = licenseText.replace(copyrightRegex, '');
|
|
const copyrightMatch = copyrightRegex.exec(licenseText);
|
|
|
|
if (copyrightMatch && equalIgnoringSpacing(baseLicenseWithoutCopyright, testLicenseTextWithoutCopyright)) {
|
|
return {
|
|
copyright: copyrightMatch[1],
|
|
};
|
|
} else {
|
|
return null;
|
|
}
|
|
};
|
|
|
|
export default matchMit;
|