Prettier triggered

This commit is contained in:
Nicholas Phillips 2024-08-02 13:17:42 -04:00
parent fe681b6017
commit e6204dade4

63
meta.js
View file

@ -1,67 +1,74 @@
// This is a copy of https://github.com/pd4d10/userscript-meta/blob/master/index.js // This is a copy of https://github.com/pd4d10/userscript-meta/blob/master/index.js
'use strict' "use strict";
function isUndefined(val) { function isUndefined(val) {
return typeof val === 'undefined' return typeof val === "undefined";
} }
function isObject(val) { function isObject(val) {
return typeof val === 'object' && val !== null return typeof val === "object" && val !== null;
} }
// Parse metadata to an object // Parse metadata to an object
function parse(meta) { function parse(meta) {
if (typeof meta !== 'string') { if (typeof meta !== "string") {
throw new Error('`Parse`\'s first argument should be a string') throw new Error("`Parse`'s first argument should be a string");
} }
return meta.split(/[\r\n]/) return meta
.filter(function (line) { // remove blank line .split(/[\r\n]/)
return /\S+/.test(line) && .filter(function (line) {
line.indexOf('==UserScript==') === -1 && // remove blank line
line.indexOf('==/UserScript==') === -1 return (
/\S+/.test(line) &&
line.indexOf("==UserScript==") === -1 &&
line.indexOf("==/UserScript==") === -1
);
}) })
.reduce(function (obj, line) { .reduce(function (obj, line) {
var arr = line.trim().replace(/^\/\//, '').trim().split(/\s+/) var arr = line.trim().replace(/^\/\//, "").trim().split(/\s+/);
var key = arr[0].slice(1) var key = arr[0].slice(1);
var value = arr.slice(1).join(' ') var value = arr.slice(1).join(" ");
if (isUndefined(obj[key])) { if (isUndefined(obj[key])) {
obj[key] = value obj[key] = value;
} else if (Array.isArray(obj[key])) { } else if (Array.isArray(obj[key])) {
obj[key].push(value) obj[key].push(value);
} else { } else {
obj[key] = [obj[key], value] obj[key] = [obj[key], value];
} }
return obj return obj;
}, {}) }, {});
} }
function getLine(key, value) { function getLine(key, value) {
// For field which has multiple values, like `match` // For field which has multiple values, like `match`
if (Array.isArray(value)) { if (Array.isArray(value)) {
return value.map(function (value) { return value
return getLine(key, value) .map(function (value) {
}).join('') return getLine(key, value);
})
.join("");
} }
return '// @' + key + ' ' + value + '\n' return "// @" + key + " " + value + "\n";
} }
// Stringify metadata from an object // Stringify metadata from an object
function stringify(obj) { function stringify(obj) {
if (!isObject(obj)) { if (!isObject(obj)) {
throw new Error('`Stringify`\'s first argument should be an object') throw new Error("`Stringify`'s first argument should be an object");
} }
var meta = Object.keys(obj) var meta = Object.keys(obj)
.map(function (key) { .map(function (key) {
return getLine(key, obj[key]) return getLine(key, obj[key]);
}).join('') })
.join("");
return '// ==UserScript==\n' + meta + '// ==/UserScript==\n' return "// ==UserScript==\n" + meta + "// ==/UserScript==\n";
} }
exports.parse = parse exports.parse = parse;
exports.stringify = stringify exports.stringify = stringify;