{ "translatorID": "a515a220-6fef-45ea-9842-8025dfebcc8f", "label": "Better BibTeX Citation Key Quick Copy", "description": "exports citations to be copy-pasted into your LaTeX/Markdown /Org-mode/etc documents", "creator": "Emiliano heyns", "target": "txt", "minVersion": "4.0.27", "maxVersion": "", "translatorType": 2, "browserSupport": "gcsv", "priority": 100, "displayOptions": { "quickCopyMode": "" }, "inRepository": false, "configOptions": { "hash": "b8c7db2ce8f9fa04ba797a7c5ec741fd13cc78577677496447f0460530d3fafa" }, "lastUpdated": "2024-08-05" } ZOTERO_CONFIG = {"GUID":"zotero@chnm.gmu.edu","ID":"zotero","CLIENT_NAME":"Zotero","DOMAIN_NAME":"zotero.org","PRODUCER":"Digital Scholar","PRODUCER_URL":"https://digitalscholar.org","REPOSITORY_URL":"https://repo.zotero.org/repo/","BASE_URI":"http://zotero.org/","WWW_BASE_URL":"https://www.zotero.org/","PROXY_AUTH_URL":"https://zoteroproxycheck.s3.amazonaws.com/test","API_URL":"https://api.zotero.org/","STREAMING_URL":"wss://stream.zotero.org/","SERVICES_URL":"https://services.zotero.org/","API_VERSION":3,"CONNECTOR_MIN_VERSION":"5.0.39","PREF_BRANCH":"extensions.zotero.","BOOKMARKLET_ORIGIN":"https://www.zotero.org","BOOKMARKLET_URL":"https://www.zotero.org/bookmarklet/","START_URL":"https://www.zotero.org/start","QUICK_START_URL":"https://www.zotero.org/support/quick_start_guide","PDF_TOOLS_URL":"https://www.zotero.org/download/xpdf/","SUPPORT_URL":"https://www.zotero.org/support/","SYNC_INFO_URL":"https://www.zotero.org/support/sync","TROUBLESHOOTING_URL":"https://www.zotero.org/support/getting_help","FEEDBACK_URL":"https://forums.zotero.org/","CONNECTORS_URL":"https://www.zotero.org/download/connectors","CHANGELOG_URL":"https://www.zotero.org/support/changelog","CREDITS_URL":"https://www.zotero.org/support/credits_and_acknowledgments","LICENSING_URL":"https://www.zotero.org/support/licensing","GET_INVOLVED_URL":"https://www.zotero.org/getinvolved","DICTIONARIES_URL":"https://download.zotero.org/dictionaries/"} if (typeof ZOTERO_TRANSLATOR_INFO === 'undefined') var ZOTERO_TRANSLATOR_INFO = {}; // declare if not declared Object.assign(ZOTERO_TRANSLATOR_INFO, {"translatorID":"a515a220-6fef-45ea-9842-8025dfebcc8f","label":"Better BibTeX Citation Key Quick Copy","description":"exports citations to be copy-pasted into your LaTeX/Markdown /Org-mode/etc documents","creator":"Emiliano heyns","target":"txt","minVersion":"4.0.27","maxVersion":"","translatorType":2,"browserSupport":"gcsv","priority":100,"displayOptions":{"quickCopyMode":""},"inRepository":false}); // assign new data var { citeCreators, doExport, yearFromDate } = (() => { var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // node_modules/@stdlib/utils-define-property/lib/define_property.js var require_define_property = __commonJS({ "node_modules/@stdlib/utils-define-property/lib/define_property.js"(exports, module) { var main = typeof Object.defineProperty === "function" ? Object.defineProperty : null; module.exports = main; } }); // node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js var require_has_define_property_support = __commonJS({ "node_modules/@stdlib/utils-define-property/lib/has_define_property_support.js"(exports, module) { var defineProperty = require_define_property(); function hasDefinePropertySupport() { try { defineProperty({}, "x", {}); return true; } catch (err) { return false; } } module.exports = hasDefinePropertySupport; } }); // node_modules/@stdlib/utils-define-property/lib/builtin.js var require_builtin = __commonJS({ "node_modules/@stdlib/utils-define-property/lib/builtin.js"(exports, module) { var defineProperty = Object.defineProperty; module.exports = defineProperty; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js var require_is_number = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/is_number.js"(exports, module) { function isNumber(value) { return typeof value === "number"; } module.exports = isNumber; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js var require_zero_pad = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/zero_pad.js"(exports, module) { function startsWithMinus(str) { return str[0] === "-"; } function zeros(n) { var out = ""; var i; for (i = 0; i < n; i++) { out += "0"; } return out; } function zeroPad(str, width, right) { var negative = false; var pad = width - str.length; if (pad < 0) { return str; } if (startsWithMinus(str)) { negative = true; str = str.substr(1); } str = right ? str + zeros(pad) : zeros(pad) + str; if (negative) { str = "-" + str; } return str; } module.exports = zeroPad; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js var require_format_integer = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/format_integer.js"(exports, module) { var isNumber = require_is_number(); var zeroPad = require_zero_pad(); var lowercase = String.prototype.toLowerCase; var uppercase = String.prototype.toUpperCase; function formatInteger(token) { var base; var out; var i; switch (token.specifier) { case "b": base = 2; break; case "o": base = 8; break; case "x": case "X": base = 16; break; case "d": case "i": case "u": default: base = 10; break; } out = token.arg; i = parseInt(out, 10); if (!isFinite(i)) { if (!isNumber(out)) { throw new Error("invalid integer. Value: " + out); } i = 0; } if (i < 0 && (token.specifier === "u" || base !== 10)) { i = 4294967295 + i + 1; } if (i < 0) { out = (-i).toString(base); if (token.precision) { out = zeroPad(out, token.precision, token.padRight); } out = "-" + out; } else { out = i.toString(base); if (!i && !token.precision) { out = ""; } else if (token.precision) { out = zeroPad(out, token.precision, token.padRight); } if (token.sign) { out = token.sign + out; } } if (base === 16) { if (token.alternate) { out = "0x" + out; } out = token.specifier === uppercase.call(token.specifier) ? uppercase.call(out) : lowercase.call(out); } if (base === 8) { if (token.alternate && out.charAt(0) !== "0") { out = "0" + out; } } return out; } module.exports = formatInteger; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js var require_is_string = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/is_string.js"(exports, module) { function isString(value) { return typeof value === "string"; } module.exports = isString; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js var require_format_double = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/format_double.js"(exports, module) { var isNumber = require_is_number(); var abs = Math.abs; var lowercase = String.prototype.toLowerCase; var uppercase = String.prototype.toUpperCase; var replace = String.prototype.replace; var RE_EXP_POS_DIGITS = /e\+(\d)$/; var RE_EXP_NEG_DIGITS = /e-(\d)$/; var RE_ONLY_DIGITS = /^(\d+)$/; var RE_DIGITS_BEFORE_EXP = /^(\d+)e/; var RE_TRAILING_PERIOD_ZERO = /\.0$/; var RE_PERIOD_ZERO_EXP = /\.0*e/; var RE_ZERO_BEFORE_EXP = /(\..*[^0])0*e/; function formatDouble(token) { var digits; var out; var f = parseFloat(token.arg); if (!isFinite(f)) { if (!isNumber(token.arg)) { throw new Error("invalid floating-point number. Value: " + out); } f = token.arg; } switch (token.specifier) { case "e": case "E": out = f.toExponential(token.precision); break; case "f": case "F": out = f.toFixed(token.precision); break; case "g": case "G": if (abs(f) < 1e-4) { digits = token.precision; if (digits > 0) { digits -= 1; } out = f.toExponential(digits); } else { out = f.toPrecision(token.precision); } if (!token.alternate) { out = replace.call(out, RE_ZERO_BEFORE_EXP, "$1e"); out = replace.call(out, RE_PERIOD_ZERO_EXP, "e"); out = replace.call(out, RE_TRAILING_PERIOD_ZERO, ""); } break; default: throw new Error("invalid double notation. Value: " + token.specifier); } out = replace.call(out, RE_EXP_POS_DIGITS, "e+0$1"); out = replace.call(out, RE_EXP_NEG_DIGITS, "e-0$1"); if (token.alternate) { out = replace.call(out, RE_ONLY_DIGITS, "$1."); out = replace.call(out, RE_DIGITS_BEFORE_EXP, "$1.e"); } if (f >= 0 && token.sign) { out = token.sign + out; } out = token.specifier === uppercase.call(token.specifier) ? uppercase.call(out) : lowercase.call(out); return out; } module.exports = formatDouble; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js var require_space_pad = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/space_pad.js"(exports, module) { function spaces(n) { var out = ""; var i; for (i = 0; i < n; i++) { out += " "; } return out; } function spacePad(str, width, right) { var pad = width - str.length; if (pad < 0) { return str; } str = right ? str + spaces(pad) : spaces(pad) + str; return str; } module.exports = spacePad; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/main.js var require_main = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/main.js"(exports, module) { var formatInteger = require_format_integer(); var isString = require_is_string(); var formatDouble = require_format_double(); var spacePad = require_space_pad(); var zeroPad = require_zero_pad(); var fromCharCode = String.fromCharCode; var isArray = Array.isArray; function isnan(value) { return value !== value; } function initialize(token) { var out = {}; out.specifier = token.specifier; out.precision = token.precision === void 0 ? 1 : token.precision; out.width = token.width; out.flags = token.flags || ""; out.mapping = token.mapping; return out; } function formatInterpolate(tokens) { var hasPeriod; var flags; var token; var flag; var num; var out; var pos; var i; var j; if (!isArray(tokens)) { throw new TypeError("invalid argument. First argument must be an array. Value: `" + tokens + "`."); } out = ""; pos = 1; for (i = 0; i < tokens.length; i++) { token = tokens[i]; if (isString(token)) { out += token; } else { hasPeriod = token.precision !== void 0; token = initialize(token); if (!token.specifier) { throw new TypeError("invalid argument. Token is missing `specifier` property. Index: `" + i + "`. Value: `" + token + "`."); } if (token.mapping) { pos = token.mapping; } flags = token.flags; for (j = 0; j < flags.length; j++) { flag = flags.charAt(j); switch (flag) { case " ": token.sign = " "; break; case "+": token.sign = "+"; break; case "-": token.padRight = true; token.padZeros = false; break; case "0": token.padZeros = flags.indexOf("-") < 0; break; case "#": token.alternate = true; break; default: throw new Error("invalid flag: " + flag); } } if (token.width === "*") { token.width = parseInt(arguments[pos], 10); pos += 1; if (isnan(token.width)) { throw new TypeError("the argument for * width at position " + pos + " is not a number. Value: `" + token.width + "`."); } if (token.width < 0) { token.padRight = true; token.width = -token.width; } } if (hasPeriod) { if (token.precision === "*") { token.precision = parseInt(arguments[pos], 10); pos += 1; if (isnan(token.precision)) { throw new TypeError("the argument for * precision at position " + pos + " is not a number. Value: `" + token.precision + "`."); } if (token.precision < 0) { token.precision = 1; hasPeriod = false; } } } token.arg = arguments[pos]; switch (token.specifier) { case "b": case "o": case "x": case "X": case "d": case "i": case "u": if (hasPeriod) { token.padZeros = false; } token.arg = formatInteger(token); break; case "s": token.maxWidth = hasPeriod ? token.precision : -1; token.arg = String(token.arg); break; case "c": if (!isnan(token.arg)) { num = parseInt(token.arg, 10); if (num < 0 || num > 127) { throw new Error("invalid character code. Value: " + token.arg); } token.arg = isnan(num) ? String(token.arg) : fromCharCode(num); } break; case "e": case "E": case "f": case "F": case "g": case "G": if (!hasPeriod) { token.precision = 6; } token.arg = formatDouble(token); break; default: throw new Error("invalid specifier: " + token.specifier); } if (token.maxWidth >= 0 && token.arg.length > token.maxWidth) { token.arg = token.arg.substring(0, token.maxWidth); } if (token.padZeros) { token.arg = zeroPad(token.arg, token.width || token.precision, token.padRight); } else if (token.width) { token.arg = spacePad(token.arg, token.width, token.padRight); } out += token.arg || ""; pos += 1; } } return out; } module.exports = formatInterpolate; } }); // node_modules/@stdlib/string-base-format-interpolate/lib/index.js var require_lib = __commonJS({ "node_modules/@stdlib/string-base-format-interpolate/lib/index.js"(exports, module) { var main = require_main(); module.exports = main; } }); // node_modules/@stdlib/string-base-format-tokenize/lib/main.js var require_main2 = __commonJS({ "node_modules/@stdlib/string-base-format-tokenize/lib/main.js"(exports, module) { var RE = /%(?:([1-9]\d*)\$)?([0 +\-#]*)(\*|\d+)?(?:(\.)(\*|\d+)?)?[hlL]?([%A-Za-z])/g; function parse2(match) { var token = { "mapping": match[1] ? parseInt(match[1], 10) : void 0, "flags": match[2], "width": match[3], "precision": match[5], "specifier": match[6] }; if (match[4] === "." && match[5] === void 0) { token.precision = "1"; } return token; } function formatTokenize(str) { var content; var tokens; var match; var prev; tokens = []; prev = 0; match = RE.exec(str); while (match) { content = str.slice(prev, RE.lastIndex - match[0].length); if (content.length) { tokens.push(content); } tokens.push(parse2(match)); prev = RE.lastIndex; match = RE.exec(str); } content = str.slice(prev); if (content.length) { tokens.push(content); } return tokens; } module.exports = formatTokenize; } }); // node_modules/@stdlib/string-base-format-tokenize/lib/index.js var require_lib2 = __commonJS({ "node_modules/@stdlib/string-base-format-tokenize/lib/index.js"(exports, module) { var main = require_main2(); module.exports = main; } }); // node_modules/@stdlib/string-format/lib/is_string.js var require_is_string2 = __commonJS({ "node_modules/@stdlib/string-format/lib/is_string.js"(exports, module) { function isString(value) { return typeof value === "string"; } module.exports = isString; } }); // node_modules/@stdlib/string-format/lib/main.js var require_main3 = __commonJS({ "node_modules/@stdlib/string-format/lib/main.js"(exports, module) { var interpolate = require_lib(); var tokenize = require_lib2(); var isString = require_is_string2(); function format(str) { var args; var i; if (!isString(str)) { throw new TypeError(format("invalid argument. First argument must be a string. Value: `%s`.", str)); } args = [tokenize(str)]; for (i = 1; i < arguments.length; i++) { args.push(arguments[i]); } return interpolate.apply(null, args); } module.exports = format; } }); // node_modules/@stdlib/string-format/lib/index.js var require_lib3 = __commonJS({ "node_modules/@stdlib/string-format/lib/index.js"(exports, module) { var main = require_main3(); module.exports = main; } }); // node_modules/@stdlib/utils-define-property/lib/polyfill.js var require_polyfill = __commonJS({ "node_modules/@stdlib/utils-define-property/lib/polyfill.js"(exports, module) { var format = require_lib3(); var objectProtoype = Object.prototype; var toStr = objectProtoype.toString; var defineGetter = objectProtoype.__defineGetter__; var defineSetter = objectProtoype.__defineSetter__; var lookupGetter = objectProtoype.__lookupGetter__; var lookupSetter = objectProtoype.__lookupSetter__; function defineProperty(obj, prop, descriptor) { var prototype; var hasValue; var hasGet; var hasSet; if (typeof obj !== "object" || obj === null || toStr.call(obj) === "[object Array]") { throw new TypeError(format("invalid argument. First argument must be an object. Value: `%s`.", obj)); } if (typeof descriptor !== "object" || descriptor === null || toStr.call(descriptor) === "[object Array]") { throw new TypeError(format("invalid argument. Property descriptor must be an object. Value: `%s`.", descriptor)); } hasValue = "value" in descriptor; if (hasValue) { if (lookupGetter.call(obj, prop) || lookupSetter.call(obj, prop)) { prototype = obj.__proto__; obj.__proto__ = objectProtoype; delete obj[prop]; obj[prop] = descriptor.value; obj.__proto__ = prototype; } else { obj[prop] = descriptor.value; } } hasGet = "get" in descriptor; hasSet = "set" in descriptor; if (hasValue && (hasGet || hasSet)) { throw new Error("invalid argument. Cannot specify one or more accessors and a value or writable attribute in the property descriptor."); } if (hasGet && defineGetter) { defineGetter.call(obj, prop, descriptor.get); } if (hasSet && defineSetter) { defineSetter.call(obj, prop, descriptor.set); } return obj; } module.exports = defineProperty; } }); // node_modules/@stdlib/utils-define-property/lib/index.js var require_lib4 = __commonJS({ "node_modules/@stdlib/utils-define-property/lib/index.js"(exports, module) { var hasDefinePropertySupport = require_has_define_property_support(); var builtin = require_builtin(); var polyfill = require_polyfill(); var defineProperty; if (hasDefinePropertySupport()) { defineProperty = builtin; } else { defineProperty = polyfill; } module.exports = defineProperty; } }); // node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js var require_main4 = __commonJS({ "node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/main.js"(exports, module) { var defineProperty = require_lib4(); function setNonEnumerableReadOnly(obj, prop, value) { defineProperty(obj, prop, { "configurable": false, "enumerable": false, "writable": false, "value": value }); } module.exports = setNonEnumerableReadOnly; } }); // node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/index.js var require_lib5 = __commonJS({ "node_modules/@stdlib/utils-define-nonenumerable-read-only-property/lib/index.js"(exports, module) { var main = require_main4(); module.exports = main; } }); // node_modules/@stdlib/assert-is-string/lib/primitive.js var require_primitive = __commonJS({ "node_modules/@stdlib/assert-is-string/lib/primitive.js"(exports, module) { function isString(value) { return typeof value === "string"; } module.exports = isString; } }); // node_modules/@stdlib/assert-has-symbol-support/lib/main.js var require_main5 = __commonJS({ "node_modules/@stdlib/assert-has-symbol-support/lib/main.js"(exports, module) { function hasSymbolSupport() { return typeof Symbol === "function" && typeof Symbol("foo") === "symbol"; } module.exports = hasSymbolSupport; } }); // node_modules/@stdlib/assert-has-symbol-support/lib/index.js var require_lib6 = __commonJS({ "node_modules/@stdlib/assert-has-symbol-support/lib/index.js"(exports, module) { var main = require_main5(); module.exports = main; } }); // node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js var require_main6 = __commonJS({ "node_modules/@stdlib/assert-has-tostringtag-support/lib/main.js"(exports, module) { var hasSymbols = require_lib6(); var FLG = hasSymbols(); function hasToStringTagSupport() { return FLG && typeof Symbol.toStringTag === "symbol"; } module.exports = hasToStringTagSupport; } }); // node_modules/@stdlib/assert-has-tostringtag-support/lib/index.js var require_lib7 = __commonJS({ "node_modules/@stdlib/assert-has-tostringtag-support/lib/index.js"(exports, module) { var main = require_main6(); module.exports = main; } }); // node_modules/@stdlib/utils-native-class/lib/tostring.js var require_tostring = __commonJS({ "node_modules/@stdlib/utils-native-class/lib/tostring.js"(exports, module) { var toStr = Object.prototype.toString; module.exports = toStr; } }); // node_modules/@stdlib/utils-native-class/lib/main.js var require_main7 = __commonJS({ "node_modules/@stdlib/utils-native-class/lib/main.js"(exports, module) { var toStr = require_tostring(); function nativeClass(v) { return toStr.call(v); } module.exports = nativeClass; } }); // node_modules/@stdlib/assert-has-own-property/lib/main.js var require_main8 = __commonJS({ "node_modules/@stdlib/assert-has-own-property/lib/main.js"(exports, module) { var has = Object.prototype.hasOwnProperty; function hasOwnProp(value, property) { if (value === void 0 || value === null) { return false; } return has.call(value, property); } module.exports = hasOwnProp; } }); // node_modules/@stdlib/assert-has-own-property/lib/index.js var require_lib8 = __commonJS({ "node_modules/@stdlib/assert-has-own-property/lib/index.js"(exports, module) { var main = require_main8(); module.exports = main; } }); // node_modules/@stdlib/symbol-ctor/lib/main.js var require_main9 = __commonJS({ "node_modules/@stdlib/symbol-ctor/lib/main.js"(exports, module) { var Sym = typeof Symbol === "function" ? Symbol : void 0; module.exports = Sym; } }); // node_modules/@stdlib/symbol-ctor/lib/index.js var require_lib9 = __commonJS({ "node_modules/@stdlib/symbol-ctor/lib/index.js"(exports, module) { var main = require_main9(); module.exports = main; } }); // node_modules/@stdlib/utils-native-class/lib/tostringtag.js var require_tostringtag = __commonJS({ "node_modules/@stdlib/utils-native-class/lib/tostringtag.js"(exports, module) { var Symbol2 = require_lib9(); var toStrTag = typeof Symbol2 === "function" ? Symbol2.toStringTag : ""; module.exports = toStrTag; } }); // node_modules/@stdlib/utils-native-class/lib/polyfill.js var require_polyfill2 = __commonJS({ "node_modules/@stdlib/utils-native-class/lib/polyfill.js"(exports, module) { var hasOwnProp = require_lib8(); var toStringTag = require_tostringtag(); var toStr = require_tostring(); function nativeClass(v) { var isOwn; var tag; var out; if (v === null || v === void 0) { return toStr.call(v); } tag = v[toStringTag]; isOwn = hasOwnProp(v, toStringTag); try { v[toStringTag] = void 0; } catch (err) { return toStr.call(v); } out = toStr.call(v); if (isOwn) { v[toStringTag] = tag; } else { delete v[toStringTag]; } return out; } module.exports = nativeClass; } }); // node_modules/@stdlib/utils-native-class/lib/index.js var require_lib10 = __commonJS({ "node_modules/@stdlib/utils-native-class/lib/index.js"(exports, module) { var hasToStringTag = require_lib7(); var builtin = require_main7(); var polyfill = require_polyfill2(); var main; if (hasToStringTag()) { main = polyfill; } else { main = builtin; } module.exports = main; } }); // node_modules/@stdlib/assert-is-string/lib/valueof.js var require_valueof = __commonJS({ "node_modules/@stdlib/assert-is-string/lib/valueof.js"(exports, module) { var valueOf = String.prototype.valueOf; module.exports = valueOf; } }); // node_modules/@stdlib/assert-is-string/lib/try2valueof.js var require_try2valueof = __commonJS({ "node_modules/@stdlib/assert-is-string/lib/try2valueof.js"(exports, module) { var valueOf = require_valueof(); function test(value) { try { valueOf.call(value); return true; } catch (err) { return false; } } module.exports = test; } }); // node_modules/@stdlib/assert-is-string/lib/object.js var require_object = __commonJS({ "node_modules/@stdlib/assert-is-string/lib/object.js"(exports, module) { var hasToStringTag = require_lib7(); var nativeClass = require_lib10(); var test = require_try2valueof(); var FLG = hasToStringTag(); function isString(value) { if (typeof value === "object") { if (value instanceof String) { return true; } if (FLG) { return test(value); } return nativeClass(value) === "[object String]"; } return false; } module.exports = isString; } }); // node_modules/@stdlib/assert-is-string/lib/main.js var require_main10 = __commonJS({ "node_modules/@stdlib/assert-is-string/lib/main.js"(exports, module) { var isPrimitive = require_primitive(); var isObject = require_object(); function isString(value) { return isPrimitive(value) || isObject(value); } module.exports = isString; } }); // node_modules/@stdlib/assert-is-string/lib/index.js var require_lib11 = __commonJS({ "node_modules/@stdlib/assert-is-string/lib/index.js"(exports, module) { var setReadOnly = require_lib5(); var main = require_main10(); var isPrimitive = require_primitive(); var isObject = require_object(); setReadOnly(main, "isPrimitive", isPrimitive); setReadOnly(main, "isObject", isObject); module.exports = main; } }); // node_modules/@stdlib/utils-escape-regexp-string/lib/main.js var require_main11 = __commonJS({ "node_modules/@stdlib/utils-escape-regexp-string/lib/main.js"(exports, module) { var isString = require_lib11().isPrimitive; var format = require_lib3(); var RE_CHARS = /[-\/\\^$*+?.()|[\]{}]/g; function rescape2(str) { var len; var s; var i; if (!isString(str)) { throw new TypeError(format("invalid argument. Must provide a regular expression string. Value: `%s`.", str)); } if (str[0] === "/") { len = str.length; for (i = len - 1; i >= 0; i--) { if (str[i] === "/") { break; } } } if (i === void 0 || i <= 0) { return str.replace(RE_CHARS, "\\$&"); } s = str.substring(1, i); s = s.replace(RE_CHARS, "\\$&"); str = str[0] + s + str.substring(i); return str; } module.exports = rescape2; } }); // node_modules/@stdlib/utils-escape-regexp-string/lib/index.js var require_lib12 = __commonJS({ "node_modules/@stdlib/utils-escape-regexp-string/lib/index.js"(exports, module) { var main = require_main11(); module.exports = main; } }); // translators/Better BibTeX Citation Key Quick Copy.ts var Better_BibTeX_Citation_Key_Quick_Copy_exports = {}; __export(Better_BibTeX_Citation_Key_Quick_Copy_exports, { citeCreators: () => citeCreators, doExport: () => doExport, yearFromDate: () => yearFromDate }); // content/client.ts var worker = typeof location !== "undefined" && location.search; var is7 = worker ? new URLSearchParams(location.search).get("is7") === "true" : Zotero.platformMajorVersion >= 102; function clientname() { var _a; if (typeof location !== "undefined" && location.search) return new URLSearchParams(location.search).get("clientName"); if (Zotero.clientName) return Zotero.clientName; if ((_a = Zotero.BetterBibTeX) == null ? void 0 : _a.clientName) return Zotero.BetterBibTeX.clientName; throw new Error("Unable to detect clientName"); } var platform = { name: "", windows: false, mac: false, linux: false }; if (worker) { platform.name = new URLSearchParams(location.search).get("platform"); platform.windows = platform.name === "win"; platform.mac = platform.name === "mac"; platform.linux = platform.name === "lin"; } else { platform.name = Zotero.isWin ? "win" : Zotero.isMac ? "mac" : Zotero.isLinux ? "lin" : "unk"; platform.windows = Zotero.isWin; platform.mac = Zotero.isMac; platform.linux = Zotero.isLinux; } var clientName = clientname(); var client = clientName.toLowerCase().replace("-", ""); // gen/items/simplify.ts var zotero = client === "zotero"; var jurism = !zotero; function unalias(item, { scrub = true } = {}) { delete item.inPublications; let v; if (v = item.dateDecided || item.issueDate || item.dateEnacted) item.date = v; if (scrub) { delete item.dateDecided; delete item.issueDate; delete item.dateEnacted; } if (v = item.artworkMedium || item.audioRecordingFormat || item.videoRecordingFormat || item.interviewMedium || item.audioFileType) item.medium = v; if (scrub) { delete item.artworkMedium; delete item.audioRecordingFormat; delete item.videoRecordingFormat; delete item.interviewMedium; delete item.audioFileType; } if (v = item.billNumber || item.docketNumber || item.patentNumber || item.episodeNumber || item.reportNumber || item.publicLawNumber) item.number = v; if (scrub) { delete item.billNumber; delete item.docketNumber; delete item.patentNumber; delete item.episodeNumber; delete item.reportNumber; delete item.publicLawNumber; } if (v = item.codePages || item.firstPage) item.pages = v; if (scrub) { delete item.codePages; delete item.firstPage; } if (v = item.blogTitle || item.bookTitle || item.proceedingsTitle || item.dictionaryTitle || item.encyclopediaTitle || item.forumTitle || item.programTitle || item.websiteTitle) item.publicationTitle = v; if (scrub) { delete item.blogTitle; delete item.bookTitle; delete item.proceedingsTitle; delete item.dictionaryTitle; delete item.encyclopediaTitle; delete item.forumTitle; delete item.programTitle; delete item.websiteTitle; } if (v = item.label || item.company || item.distributor || item.network || item.university || item.studio) item.publisher = v; if (scrub) { delete item.label; delete item.company; delete item.distributor; delete item.network; delete item.university; delete item.studio; } if (v = item.caseName || item.subject || item.nameOfAct) item.title = v; if (scrub) { delete item.caseName; delete item.subject; delete item.nameOfAct; } if (v = item.websiteType || item.genre || item.postType || item.letterType || item.manuscriptType || item.mapType || item.presentationType || item.reportType || item.thesisType) item.type = v; if (scrub) { delete item.websiteType; delete item.genre; delete item.postType; delete item.letterType; delete item.manuscriptType; delete item.mapType; delete item.presentationType; delete item.reportType; delete item.thesisType; } if (v = item.codeVolume || item.reporterVolume) item.volume = v; if (scrub) { delete item.codeVolume; delete item.reporterVolume; } if (zotero) { if (v = item.legislativeBody || item.court || item.issuingAuthority || item.organization) item.authority = v; if (scrub) { delete item.legislativeBody; delete item.court; delete item.issuingAuthority; delete item.organization; } if (item.format) item.medium = item.format; if (scrub) { delete item.format; } if (v = item.identifier || item.documentNumber || item.archiveID) item.number = v; if (scrub) { delete item.identifier; delete item.documentNumber; delete item.archiveID; } if (item.repositoryLocation) item.place = item.repositoryLocation; if (scrub) { delete item.repositoryLocation; } if (v = item.repository || item.institution) item.publisher = v; if (scrub) { delete item.repository; delete item.institution; } if (item.legalStatus) item.status = item.legalStatus; if (scrub) { delete item.legalStatus; } } if (jurism) { if (item.release) item.edition = item.release; if (scrub) { delete item.release; } if (item.bookAbbreviation) item.journalAbbreviation = item.bookAbbreviation; if (scrub) { delete item.bookAbbreviation; } if (item.regulatoryBody) item.legislativeBody = item.regulatoryBody; if (scrub) { delete item.regulatoryBody; } if (item.treatyNumber) item.number = item.treatyNumber; if (scrub) { delete item.treatyNumber; } if (v = item.album || item.reporter) item.publicationTitle = v; if (scrub) { delete item.album; delete item.reporter; } if (item.assemblyNumber) item.seriesNumber = item.assemblyNumber; if (scrub) { delete item.assemblyNumber; } if (v = item.sessionType || item.regulationType) item.type = v; if (scrub) { delete item.sessionType; delete item.regulationType; } } } function simplifyForExport(item, { creators = true, dropAttachments = false, scrub = true } = {}) { unalias(item, { scrub }); if (item.filingDate) item.filingDate = item.filingDate.replace(/^0000-00-00 /, ""); if (creators && item.creators) { for (const creator of item.creators) { if (creator.fieldMode) { creator.name = creator.name || creator.lastName; delete creator.lastName; delete creator.firstName; delete creator.fieldMode; } } } if (item.itemType === "attachment" || item.itemType === "note") { delete item.attachments; delete item.notes; } else { item.attachments = !dropAttachments && item.attachments || []; } return item; } // content/escape.ts var import_utils_escape_regexp_string = __toESM(require_lib12()); var entity = { "&": "&", "<": "<", ">": ">", '"': """ }; function html(str) { return str.replace(/[<>&"']/g, (c) => entity[c] || `&#${c.charCodeAt(0)};`); } // setup/shims/path.js function join(path2, ...args) { if (!args.length) return path2; var platformSlash = Services.appinfo.OS == "WINNT" ? "\\" : "/"; return [path2, ...args].join(platformSlash); } function dirname(filename) { return typeof OS !== "undefined" ? OS.Path.dirname(filename) : PathUtils.parent(path); } function extname(filename) { return filename.includes(".") ? "." + filename.split(".").pop() : ""; } // setup/shims/fs.js function readFileSync(filename) { if (filename.match(/^(resource|chrome):/)) return Zotero.File.getContentsFromURL(filename); throw new Exception(`could not read ${JSON.stringify(filename)}`); } // node_modules/eta/dist/eta.module.mjs var Cacher = class { constructor(cache) { this.cache = void 0; this.cache = cache; } define(key, val) { this.cache[key] = val; } get(key) { return this.cache[key]; } remove(key) { delete this.cache[key]; } reset() { this.cache = {}; } load(cacheObj) { this.cache = { ...this.cache, ...cacheObj }; } }; var EtaError = class extends Error { constructor(message) { super(message); this.name = "Eta Error"; } }; var EtaParseError = class extends EtaError { constructor(message) { super(message); this.name = "EtaParser Error"; } }; var EtaRuntimeError = class extends EtaError { constructor(message) { super(message); this.name = "EtaRuntime Error"; } }; var EtaFileResolutionError = class extends EtaError { constructor(message) { super(message); this.name = "EtaFileResolution Error"; } }; var EtaNameResolutionError = class extends EtaError { constructor(message) { super(message); this.name = "EtaNameResolution Error"; } }; function ParseErr(message, str, indx) { const whitespace = str.slice(0, indx).split(/\n/); const lineNo = whitespace.length; const colNo = whitespace[lineNo - 1].length + 1; message += " at line " + lineNo + " col " + colNo + ":\n\n " + str.split(/\n/)[lineNo - 1] + "\n " + Array(colNo).join(" ") + "^"; throw new EtaParseError(message); } function RuntimeErr(originalError, str, lineNo, path2) { const lines = str.split("\n"); const start = Math.max(lineNo - 3, 0); const end = Math.min(lines.length, lineNo + 3); const filename = path2; const context = lines.slice(start, end).map(function(line, i) { const curr = i + start + 1; return (curr == lineNo ? " >> " : " ") + curr + "| " + line; }).join("\n"); const header = filename ? filename + ":" + lineNo + "\n" : "line " + lineNo + "\n"; const err = new EtaRuntimeError(header + context + "\n\n" + originalError.message); err.name = originalError.name; throw err; } var AsyncFunction = async function() { }.constructor; function compile(str, options) { const config = this.config; const ctor = options && options.async ? AsyncFunction : Function; try { return new ctor(config.varName, "options", this.compileToString.call(this, str, options)); } catch (e) { if (e instanceof SyntaxError) { throw new EtaParseError( "Bad template syntax\n\n" + e.message + "\n" + Array(e.message.length + 1).join("=") + "\n" + this.compileToString.call(this, str, options) + "\n" // This will put an extra newline before the callstack for extra readability ); } else { throw e; } } } function compileToString(str, options) { const config = this.config; const isAsync = options && options.async; const compileBody2 = this.compileBody; const buffer = this.parse.call(this, str); let res = `${config.functionHeader} let include = (template, data) => this.render(template, data, options); let includeAsync = (template, data) => this.renderAsync(template, data, options); let __eta = {res: "", e: this.config.escapeFunction, f: this.config.filterFunction${config.debug ? ', line: 1, templateStr: "' + str.replace(/\\|"/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n") + '"' : ""}}; function layout(path, data) { __eta.layout = path; __eta.layoutData = data; }${config.debug ? "try {" : ""}${config.useWith ? "with(" + config.varName + "||{}){" : ""} ${compileBody2.call(this, buffer)} if (__eta.layout) { __eta.res = ${isAsync ? "await includeAsync" : "include"} (__eta.layout, {...${config.varName}, body: __eta.res, ...__eta.layoutData}); } ${config.useWith ? "}" : ""}${config.debug ? "} catch (e) { this.RuntimeErr(e, __eta.templateStr, __eta.line, options.filepath) }" : ""} return __eta.res; `; if (config.plugins) { for (let i = 0; i < config.plugins.length; i++) { const plugin = config.plugins[i]; if (plugin.processFnString) { res = plugin.processFnString(res, config); } } } return res; } function compileBody(buff) { const config = this.config; let i = 0; const buffLength = buff.length; let returnStr = ""; for (i; i < buffLength; i++) { const currentBlock = buff[i]; if (typeof currentBlock === "string") { const str = currentBlock; returnStr += "__eta.res+='" + str + "'\n"; } else { const type = currentBlock.t; let content = currentBlock.val || ""; if (config.debug) returnStr += "__eta.line=" + currentBlock.lineNo + "\n"; if (type === "r") { if (config.autoFilter) { content = "__eta.f(" + content + ")"; } returnStr += "__eta.res+=" + content + "\n"; } else if (type === "i") { if (config.autoFilter) { content = "__eta.f(" + content + ")"; } if (config.autoEscape) { content = "__eta.e(" + content + ")"; } returnStr += "__eta.res+=" + content + "\n"; } else if (type === "e") { returnStr += content + "\n"; } } } return returnStr; } function trimWS(str, config, wsLeft, wsRight) { let leftTrim; let rightTrim; if (Array.isArray(config.autoTrim)) { leftTrim = config.autoTrim[1]; rightTrim = config.autoTrim[0]; } else { leftTrim = rightTrim = config.autoTrim; } if (wsLeft || wsLeft === false) { leftTrim = wsLeft; } if (wsRight || wsRight === false) { rightTrim = wsRight; } if (!rightTrim && !leftTrim) { return str; } if (leftTrim === "slurp" && rightTrim === "slurp") { return str.trim(); } if (leftTrim === "_" || leftTrim === "slurp") { str = str.trimStart(); } else if (leftTrim === "-" || leftTrim === "nl") { str = str.replace(/^(?:\r\n|\n|\r)/, ""); } if (rightTrim === "_" || rightTrim === "slurp") { str = str.trimEnd(); } else if (rightTrim === "-" || rightTrim === "nl") { str = str.replace(/(?:\r\n|\n|\r)$/, ""); } return str; } var escMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }; function replaceChar(s) { return escMap[s]; } function XMLEscape(str) { const newStr = String(str); if (/[&<>"']/.test(newStr)) { return newStr.replace(/[&<>"']/g, replaceChar); } else { return newStr; } } var defaultConfig = { autoEscape: true, autoFilter: false, autoTrim: [false, "nl"], cache: false, cacheFilepaths: true, debug: false, escapeFunction: XMLEscape, // default filter function (not used unless enables) just stringifies the input filterFunction: (val) => String(val), functionHeader: "", parse: { exec: "", interpolate: "=", raw: "~" }, plugins: [], rmWhitespace: false, tags: ["<%", "%>"], useWith: false, varName: "it", defaultExtension: ".eta" }; var templateLitReg = /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g; var singleQuoteReg = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g; var doubleQuoteReg = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g; function escapeRegExp(string) { return string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); } function getLineNo(str, index) { return str.slice(0, index).split("\n").length; } function parse(str) { const config = this.config; let buffer = []; let trimLeftOfNextStr = false; let lastIndex = 0; const parseOptions = config.parse; if (config.plugins) { for (let i = 0; i < config.plugins.length; i++) { const plugin = config.plugins[i]; if (plugin.processTemplate) { str = plugin.processTemplate(str, config); } } } if (config.rmWhitespace) { str = str.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/gm, ""); } templateLitReg.lastIndex = 0; singleQuoteReg.lastIndex = 0; doubleQuoteReg.lastIndex = 0; function pushString(strng, shouldTrimRightOfString) { if (strng) { strng = trimWS( strng, config, trimLeftOfNextStr, // this will only be false on the first str, the next ones will be null or undefined shouldTrimRightOfString ); if (strng) { strng = strng.replace(/\\|'/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n"); buffer.push(strng); } } } const prefixes = [parseOptions.exec, parseOptions.interpolate, parseOptions.raw].reduce(function(accumulator, prefix) { if (accumulator && prefix) { return accumulator + "|" + escapeRegExp(prefix); } else if (prefix) { return escapeRegExp(prefix); } else { return accumulator; } }, ""); const parseOpenReg = new RegExp(escapeRegExp(config.tags[0]) + "(-|_)?\\s*(" + prefixes + ")?\\s*", "g"); const parseCloseReg = new RegExp("'|\"|`|\\/\\*|(\\s*(-|_)?" + escapeRegExp(config.tags[1]) + ")", "g"); let m; while (m = parseOpenReg.exec(str)) { const precedingString = str.slice(lastIndex, m.index); lastIndex = m[0].length + m.index; const wsLeft = m[1]; const prefix = m[2] || ""; pushString(precedingString, wsLeft); parseCloseReg.lastIndex = lastIndex; let closeTag; let currentObj = false; while (closeTag = parseCloseReg.exec(str)) { if (closeTag[1]) { const content = str.slice(lastIndex, closeTag.index); parseOpenReg.lastIndex = lastIndex = parseCloseReg.lastIndex; trimLeftOfNextStr = closeTag[2]; const currentType = prefix === parseOptions.exec ? "e" : prefix === parseOptions.raw ? "r" : prefix === parseOptions.interpolate ? "i" : ""; currentObj = { t: currentType, val: content }; break; } else { const char = closeTag[0]; if (char === "/*") { const commentCloseInd = str.indexOf("*/", parseCloseReg.lastIndex); if (commentCloseInd === -1) { ParseErr("unclosed comment", str, closeTag.index); } parseCloseReg.lastIndex = commentCloseInd; } else if (char === "'") { singleQuoteReg.lastIndex = closeTag.index; const singleQuoteMatch = singleQuoteReg.exec(str); if (singleQuoteMatch) { parseCloseReg.lastIndex = singleQuoteReg.lastIndex; } else { ParseErr("unclosed string", str, closeTag.index); } } else if (char === '"') { doubleQuoteReg.lastIndex = closeTag.index; const doubleQuoteMatch = doubleQuoteReg.exec(str); if (doubleQuoteMatch) { parseCloseReg.lastIndex = doubleQuoteReg.lastIndex; } else { ParseErr("unclosed string", str, closeTag.index); } } else if (char === "`") { templateLitReg.lastIndex = closeTag.index; const templateLitMatch = templateLitReg.exec(str); if (templateLitMatch) { parseCloseReg.lastIndex = templateLitReg.lastIndex; } else { ParseErr("unclosed string", str, closeTag.index); } } } } if (currentObj) { if (config.debug) { currentObj.lineNo = getLineNo(str, m.index); } buffer.push(currentObj); } else { ParseErr("unclosed tag", str, m.index); } } pushString(str.slice(lastIndex, str.length), false); if (config.plugins) { for (let i = 0; i < config.plugins.length; i++) { const plugin = config.plugins[i]; if (plugin.processAST) { buffer = plugin.processAST(buffer, config); } } } return buffer; } function handleCache(template, options) { const templateStore = options && options.async ? this.templatesAsync : this.templatesSync; if (this.resolvePath && this.readFile && !template.startsWith("@")) { const templatePath = options.filepath; const cachedTemplate = templateStore.get(templatePath); if (this.config.cache && cachedTemplate) { return cachedTemplate; } else { const templateString = this.readFile(templatePath); const templateFn = this.compile(templateString, options); if (this.config.cache) templateStore.define(templatePath, templateFn); return templateFn; } } else { const cachedTemplate = templateStore.get(template); if (cachedTemplate) { return cachedTemplate; } else { throw new EtaNameResolutionError("Failed to get template '" + template + "'"); } } } function render(template, data, meta) { let templateFn; const options = { ...meta, async: false }; if (typeof template === "string") { if (this.resolvePath && this.readFile && !template.startsWith("@")) { options.filepath = this.resolvePath(template, options); } templateFn = handleCache.call(this, template, options); } else { templateFn = template; } const res = templateFn.call(this, data, options); return res; } function renderAsync(template, data, meta) { let templateFn; const options = { ...meta, async: true }; if (typeof template === "string") { if (this.resolvePath && this.readFile && !template.startsWith("@")) { options.filepath = this.resolvePath(template, options); } templateFn = handleCache.call(this, template, options); } else { templateFn = template; } const res = templateFn.call(this, data, options); return Promise.resolve(res); } function renderString(template, data) { const templateFn = this.compile(template, { async: false }); return render.call(this, templateFn, data); } function renderStringAsync(template, data) { const templateFn = this.compile(template, { async: true }); return renderAsync.call(this, templateFn, data); } var Eta$1 = class { constructor(customConfig) { this.config = void 0; this.RuntimeErr = RuntimeErr; this.compile = compile; this.compileToString = compileToString; this.compileBody = compileBody; this.parse = parse; this.render = render; this.renderAsync = renderAsync; this.renderString = renderString; this.renderStringAsync = renderStringAsync; this.filepathCache = {}; this.templatesSync = new Cacher({}); this.templatesAsync = new Cacher({}); this.resolvePath = null; this.readFile = null; if (customConfig) { this.config = { ...defaultConfig, ...customConfig }; } else { this.config = { ...defaultConfig }; } } // METHODS configure(customConfig) { this.config = { ...this.config, ...customConfig }; } withConfig(customConfig) { return { ...this, config: { ...this.config, ...customConfig } }; } loadTemplate(name, template, options) { if (typeof template === "string") { const templates = options && options.async ? this.templatesAsync : this.templatesSync; templates.define(name, this.compile(template, options)); } else { let templates = this.templatesSync; if (template.constructor.name === "AsyncFunction" || options && options.async) { templates = this.templatesAsync; } templates.define(name, template); } } }; function readFile(path2) { let res = ""; try { res = readFileSync(path2, "utf8"); } catch (err) { if ((err == null ? void 0 : err.code) === "ENOENT") { throw new EtaFileResolutionError(`Could not find template: ${path2}`); } else { throw err; } } return res; } function resolvePath(templatePath, options) { let resolvedFilePath = ""; const views = this.config.views; if (!views) { throw new EtaFileResolutionError("Views directory is not defined"); } const baseFilePath = options && options.filepath; const defaultExtension = this.config.defaultExtension === void 0 ? ".eta" : this.config.defaultExtension; const cacheIndex = JSON.stringify({ filename: baseFilePath, path: templatePath, views: this.config.views }); templatePath += extname(templatePath) ? "" : defaultExtension; if (baseFilePath) { if (this.config.cacheFilepaths && this.filepathCache[cacheIndex]) { return this.filepathCache[cacheIndex]; } const absolutePathTest = absolutePathRegExp.exec(templatePath); if (absolutePathTest && absolutePathTest.length) { const formattedPath = templatePath.replace(/^\/*|^\\*/, ""); resolvedFilePath = join(views, formattedPath); } else { resolvedFilePath = join(dirname(baseFilePath), templatePath); } } else { resolvedFilePath = join(views, templatePath); } if (dirIsChild(views, resolvedFilePath)) { if (baseFilePath && this.config.cacheFilepaths) { this.filepathCache[cacheIndex] = resolvedFilePath; } return resolvedFilePath; } else { throw new EtaFileResolutionError(`Template '${templatePath}' is not in the views directory`); } } function dirIsChild(parent, dir) { const relative2 = (void 0)(parent, dir); return relative2 && !relative2.startsWith("..") && !(void 0)(relative2); } var absolutePathRegExp = /^\\|^\//; var Eta = class extends Eta$1 { constructor(...args) { super(...args); this.readFile = readFile; this.resolvePath = resolvePath; } }; // translators/Better BibTeX Citation Key Quick Copy.ts var eta = new Eta({ autoEscape: true }); function select_by_key(item) { const [, kind, lib, key] = item.uri.match(/^https?:\/\/zotero\.org\/(users|groups)\/((?:local\/)?[^/]+)\/items\/(.+)/); return kind === "users" ? `zotero://select/library/items/${key}` : `zotero://select/groups/${lib}/items/${key}`; } function select_by_citekey(item) { return `zotero://select/items/@${encodeURIComponent(item.citationKey)}`; } function citeCreators(creators) { creators = creators || []; const creator = creators[0] || {}; let name = creator.name || creator.lastName || "no author"; if (creators.length > 1) name += " et al."; return name; } function yearFromDate(d) { if (!d) return "no date"; let date = Zotero.BetterBibTeX.parseDate(d); if (date.type === "interval") date = date.from; if (date.type === "verbatim" || !date.year) return d; return `${date.year}`; } var Mode = { // eslint-disable-next-line prefer-arrow/prefer-arrow-functions gitbook(items) { const citations = items.map((item) => `{{ "${item.citationKey}" | cite }}`); Zotero.write(citations.join("")); }, latex(items) { const keys = items.map((item) => item.citationKey); const cmd = `${Zotero.getHiddenPref("better-bibtex.citeCommand")}`.trim(); if (cmd === "") { Zotero.write(keys.join(",")); } else { Zotero.write(`\\${cmd}{${keys.join(", ")}}`); } }, citekeys(items) { const keys = items.map((item) => item.citationKey); Zotero.write(keys.join(", ")); }, pandoc(items) { let keys = items.map((item) => `@${item.citationKey}`); keys = keys.join("; "); if (Zotero.getHiddenPref("better-bibtex.quickCopyPandocBrackets")) keys = `[${keys}]`; Zotero.write(keys); }, roamCiteKey(items) { let keys = items.map((item) => `[[@${item.citationKey}]]`); keys = keys.join(" "); Zotero.write(keys); }, orgRef(items) { if (!items.length) return ""; Zotero.write(`cite:${items.map((item) => item.citationKey).join(", ")}`); }, orgRef3(items) { if (!items.length) return ""; Zotero.write(`cite:&${items.map((item) => item.citationKey).join(";&")}`); }, orgmode(items) { switch (Zotero.getHiddenPref("better-bibtex.quickCopyOrgMode")) { case "zotero": for (const item of items) { Zotero.write(`[[${select_by_key(item)}][@${item.citationKey}]]`); } break; case "citationkey": for (const item of items) { Zotero.write(`[[${select_by_citekey(item)}][@${item.citationKey}]]`); } break; } }, selectlink(items) { switch (Zotero.getHiddenPref("better-bibtex.quickCopySelectLink")) { case "zotero": Zotero.write(items.map(select_by_key).join("\n")); break; case "citationkey": Zotero.write(items.map(select_by_citekey).join("\n")); break; } }, rtfScan(items) { const reference = items.map((item) => { const ref = []; ref.push(citeCreators(item.creators)); if (item.title) ref.push(JSON.stringify(item.title)); ref.push(yearFromDate(item.date)); return ref.join(", "); }); Zotero.write(`{${reference.join("; ")}}`); }, jupyter(items) { Zotero.write(items.map((item) => `(${html(citeCreators(item.creators))}, ${html(yearFromDate(item.date))})`).join("")); }, eta(items) { try { Zotero.write(eta.renderString(Zotero.getHiddenPref("better-bibtex.quickCopyEta"), { items: items.map(simplifyForExport) })); } catch (err) { Zotero.write(`${err}`); } }, jekyll(items) { Zotero.write(items.map((item) => `{% cite ${item.citationKey} %}`).join("")); } }; function doExport() { const items = []; let item; while (item = Zotero.nextItem()) { if (item.citationKey) items.push(item); } items.sort((a, b) => { const ka = [a.citationKey || a.itemType, a.dateModified || a.dateAdded, a.itemID].join(" "); const kb = [b.citationKey || b.itemType, b.dateModified || b.dateAdded, b.itemID].join(" "); return ka.localeCompare(kb, void 0, { sensitivity: "base" }); }); const mode = Mode[Zotero.getOption("quickCopyMode")] || Mode[Zotero.getHiddenPref("better-bibtex.quickCopyMode")]; if (mode) { mode.call(null, items); } else { throw new Error(`Unsupported Quick Copy format '${Zotero.getOption("quickCopyMode") || Zotero.getHiddenPref("better-bibtex.quickCopyMode")}', I only know about: ${Object.keys(Mode).join(", ")}`); } } return __toCommonJS(Better_BibTeX_Citation_Key_Quick_Copy_exports); })(); /*! Bundled license information: @stdlib/utils-define-property/lib/define_property.js: (** * @license Apache-2.0 * * Copyright (c) 2021 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-define-property/lib/has_define_property_support.js: (** * @license Apache-2.0 * * Copyright (c) 2021 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-define-property/lib/builtin.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/is_number.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/zero_pad.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/format_integer.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/is_string.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/format_double.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/space_pad.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-interpolate/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-tokenize/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-base-format-tokenize/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-format/lib/is_string.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-format/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/string-format/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2022 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-define-property/lib/polyfill.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-define-property/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-define-nonenumerable-read-only-property/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-define-nonenumerable-read-only-property/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-is-string/lib/primitive.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-has-symbol-support/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-has-symbol-support/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-has-tostringtag-support/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-has-tostringtag-support/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-native-class/lib/tostring.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-native-class/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-has-own-property/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-has-own-property/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/symbol-ctor/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/symbol-ctor/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-native-class/lib/tostringtag.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-native-class/lib/polyfill.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-native-class/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-is-string/lib/valueof.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-is-string/lib/try2valueof.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-is-string/lib/object.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-is-string/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/assert-is-string/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-escape-regexp-string/lib/main.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) @stdlib/utils-escape-regexp-string/lib/index.js: (** * @license Apache-2.0 * * Copyright (c) 2018 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *) */