From 8eb685fd2702007837220f2a3670278c8457c746 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 25 Aug 2022 18:34:34 +1000 Subject: [PATCH 01/39] feat: wip sparqlstar --- lib/sparql copy.jison | 1215 +++++++++++++ lib/sparql.jison | 418 ++++- package-lock.json | 3877 ++++++++++++++++++++++++++++++++++++++++- 3 files changed, 5422 insertions(+), 88 deletions(-) create mode 100644 lib/sparql copy.jison diff --git a/lib/sparql copy.jison b/lib/sparql copy.jison new file mode 100644 index 00000000..efd8315c --- /dev/null +++ b/lib/sparql copy.jison @@ -0,0 +1,1215 @@ +%{ + /* + SPARQL parser in the Jison parser generator format. + */ + + var Wildcard = require('./Wildcard').Wildcard; + + // Common namespaces and entities + var RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + RDF_TYPE = RDF + 'type', + RDF_FIRST = RDF + 'first', + RDF_REST = RDF + 'rest', + RDF_NIL = RDF + 'nil', + XSD = 'http://www.w3.org/2001/XMLSchema#', + XSD_INTEGER = XSD + 'integer', + XSD_DECIMAL = XSD + 'decimal', + XSD_DOUBLE = XSD + 'double', + XSD_BOOLEAN = XSD + 'boolean'; + + var base = '', basePath = '', baseRoot = ''; + + // Returns a lowercase version of the given string + function lowercase(string) { + return string.toLowerCase(); + } + + // Appends the item to the array and returns the array + function appendTo(array, item) { + return array.push(item), array; + } + + // Appends the items to the array and returns the array + function appendAllTo(array, items) { + return array.push.apply(array, items), array; + } + + // Extends a base object with properties of other objects + function extend(base) { + if (!base) base = {}; + for (var i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) + for (var name in arg) + base[name] = arg[name]; + return base; + } + + // Creates an array that contains all items of the given arrays + function unionAll() { + var union = []; + for (var i = 0, l = arguments.length; i < l; i++) + union = union.concat.apply(union, arguments[i]); + return union; + } + + // Resolves an IRI against a base path + function resolveIRI(iri) { + // Strip off possible angular brackets + if (iri[0] === '<') + iri = iri.substring(1, iri.length - 1); + // Return absolute IRIs unmodified + if (/^[a-z]+:/i.test(iri)) + return iri; + if (!Parser.base) + throw new Error('Cannot resolve relative IRI ' + iri + ' because no base IRI was set.'); + if (base !== Parser.base) { + base = Parser.base; + basePath = base.replace(/[^\/:]*$/, ''); + baseRoot = base.match(/^(?:[a-z]+:\/*)?[^\/]*/)[0]; + } + switch (iri[0]) { + // An empty relative IRI indicates the base IRI + case undefined: + return base; + // Resolve relative fragment IRIs against the base IRI + case '#': + return base + iri; + // Resolve relative query string IRIs by replacing the query string + case '?': + return base.replace(/(?:\?.*)?$/, iri); + // Resolve root relative IRIs at the root of the base IRI + case '/': + return baseRoot + iri; + // Resolve all other IRIs at the base IRI's path + default: + return basePath + iri; + } + } + + // If the item is a variable, ensures it starts with a question mark + function toVar(variable) { + if (variable) { + var first = variable[0]; + if (first === '?' || first === '$') return Parser.factory.variable(variable.substr(1)); + } + return variable; + } + + // Creates an operation with the given name and arguments + function operation(operatorName, args) { + return { type: 'operation', operator: operatorName, args: args || [] }; + } + + // Creates an expression with the given type and attributes + function expression(expr, attr) { + var expression = { expression: expr === '*'? new Wildcard() : expr }; + if (attr) + for (var a in attr) + expression[a] = attr[a]; + return expression; + } + + // Creates a path with the given type and items + function path(type, items) { + return { type: 'path', pathType: type, items: items }; + } + + // Transforms a list of operations types and arguments into a tree of operations + function createOperationTree(initialExpression, operationList) { + for (var i = 0, l = operationList.length, item; i < l && (item = operationList[i]); i++) + initialExpression = operation(item[0], [initialExpression, item[1]]); + return initialExpression; + } + + // Group datasets by default and named + function groupDatasets(fromClauses, groupName) { + var defaults = [], named = [], l = fromClauses.length, fromClause, group = {}; + if (!l) + return null; + for (var i = 0; i < l && (fromClause = fromClauses[i]); i++) + (fromClause.named ? named : defaults).push(fromClause.iri); + group[groupName || 'from'] = { default: defaults, named: named }; + return group; + } + + // Converts the string to a number + function toInt(string) { + return parseInt(string, 10); + } + + // Transforms a possibly single group into its patterns + function degroupSingle(group) { + return group.type === 'group' && group.patterns.length === 1 ? group.patterns[0] : group; + } + + // Creates a literal with the given value and type + function createTypedLiteral(value, type) { + if (type && type.termType !== 'NamedNode'){ + type = Parser.factory.namedNode(type); + } + return Parser.factory.literal(value, type); + } + + // Creates a literal with the given value and language + function createLangLiteral(value, lang) { + return Parser.factory.literal(value, lang); + } + + // Creates a triple with the given subject, predicate, and object + function triple(subject, predicate, object) { + var triple = {}; + if (subject != null) triple.subject = subject; + if (predicate != null) triple.predicate = predicate; + if (object != null) triple.object = object; + return triple; + } + + // Creates a new blank node + function blank(name) { + if (typeof name === 'string') { // Only use name if a name is given + if (name.startsWith('e_')) return Parser.factory.blankNode(name); + return Parser.factory.blankNode('e_' + name); + } + return Parser.factory.blankNode('g_' + blankId++); + }; + var blankId = 0; + Parser._resetBlanks = function () { blankId = 0; } + + // Regular expression and replacement strings to escape strings + var escapeSequence = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\(.)/g, + escapeReplacements = { '\\': '\\', "'": "'", '"': '"', + 't': '\t', 'b': '\b', 'n': '\n', 'r': '\r', 'f': '\f' }, + partialSurrogatesWithoutEndpoint = /[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/, + fromCharCode = String.fromCharCode; + + // Translates escape codes in the string into their textual equivalent + function unescapeString(string, trimLength) { + string = string.substring(trimLength, string.length - trimLength); + try { + string = string.replace(escapeSequence, function (sequence, unicode4, unicode8, escapedChar) { + var charCode; + if (unicode4) { + charCode = parseInt(unicode4, 16); + if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance + return fromCharCode(charCode); + } + else if (unicode8) { + charCode = parseInt(unicode8, 16); + if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance + if (charCode < 0xFFFF) return fromCharCode(charCode); + return fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF)); + } + else { + var replacement = escapeReplacements[escapedChar]; + if (!replacement) throw new Error(); + return replacement; + } + }); + } + catch (error) { return ''; } + + // Test for invalid unicode surrogate pairs + if (partialSurrogatesWithoutEndpoint.exec(string)) { + throw new Error('Invalid unicode codepoint of surrogate pair without corresponding codepoint in ' + string); + } + + return string; + } + + // Creates a list, collecting its (possibly blank) items and triples associated with those items + function createList(objects) { + var list = blank(), head = list, listItems = [], listTriples, triples = []; + objects.forEach(function (o) { listItems.push(o.entity); appendAllTo(triples, o.triples); }); + + // Build an RDF list out of the items + for (var i = 0, j = 0, l = listItems.length, listTriples = Array(l * 2); i < l;) + listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_FIRST), listItems[i]), + listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_REST), head = ++i < l ? blank() : Parser.factory.namedNode(RDF_NIL)); + + // Return the list's identifier, its triples, and the triples associated with its items + return { entity: list, triples: appendAllTo(listTriples, triples) }; + } + + // Creates a blank node identifier, collecting triples with that blank node as subject + function createAnonymousObject(propertyList) { + var entity = blank(); + return { + entity: entity, + triples: propertyList.map(function (t) { return extend(triple(entity), t); }) + }; + } + + // Collects all (possibly blank) objects, and triples that have them as subject + function objectListToTriples(predicate, objectList, otherTriples) { + var objects = [], triples = []; + objectList.forEach(function (l) { + objects.push(triple(null, predicate, l.entity)); + appendAllTo(triples, l.triples); + }); + return unionAll(objects, otherTriples || [], triples); + } + + // Simplifies groups by merging adjacent BGPs + function mergeAdjacentBGPs(groups) { + var merged = [], currentBgp; + for (var i = 0, group; group = groups[i]; i++) { + switch (group.type) { + // Add a BGP's triples to the current BGP + case 'bgp': + if (group.triples.length) { + if (!currentBgp) + appendTo(merged, currentBgp = group); + else + appendAllTo(currentBgp.triples, group.triples); + } + break; + // All other groups break up a BGP + default: + // Only add the group if its pattern is non-empty + if (!group.patterns || group.patterns.length > 0) { + appendTo(merged, group); + currentBgp = null; + } + } + } + return merged; + } + + // Return the id of an expression + function getExpressionId(expression) { + return expression.variable ? expression.variable.value : expression.value || expression.expression.value; + } + + // Get all "aggregate"'s from an expression + function getAggregatesOfExpression(expression) { + if (!expression) { + return []; + } + if (expression.type === 'aggregate') { + return [expression]; + } else if (expression.type === "operation") { + const aggregates = []; + for (const arg of expression.args) { + aggregates.push(...getAggregatesOfExpression(arg)); + } + return aggregates; + } + return []; + } + + // Get all variables used in an expression + function getVariablesFromExpression(expression) { + const variables = new Set(); + const visitExpression = function (expr) { + if (!expr) { return; } + if (expr.termType === "Variable") { + variables.add(expr); + } else if (expr.type === "operation") { + expr.args.forEach(visitExpression); + } + }; + visitExpression(expression); + return variables; + } + + // Helper function to flatten arrays + function flatten(input, depth = 1, stack = []) { + for (const item of input) { + if (depth > 0 && item instanceof Array) { + flatten(item, depth - 1, stack); + } else { + stack.push(item); + } + } + return stack; + } + + function isVariable(term) { + return term.termType === 'Variable'; + } + + function getBoundVarsFromGroupGraphPattern(pattern) { + if (pattern.triples) { + const boundVars = []; + for (const triple of pattern.triples) { + if (isVariable(triple.subject)) boundVars.push(triple.subject.value); + if (isVariable(triple.predicate)) boundVars.push(triple.predicate.value); + if (isVariable(triple.object)) boundVars.push(triple.object.value); + } + return boundVars; + } else if (pattern.patterns) { + const boundVars = []; + for (const pat of pattern.patterns) { + boundVars.push(...getBoundVarsFromGroupGraphPattern(pat)); + } + return boundVars; + } + return []; + } + + // Helper function to find duplicates in array + function getDuplicatesInArray(array) { + const sortedArray = array.slice().sort(); + const duplicates = []; + for (let i = 0; i < sortedArray.length - 1; i++) { + if (sortedArray[i + 1] == sortedArray[i]) { + duplicates.push(sortedArray[i]); + } + } + return duplicates; + } + + function ensureSparqlStar(value) { + if (!Parser.sparqlStar) { + throw new Error('SPARQL* support is not enabled'); + } + return value; + } + + function ensureNoVariables(operations) { + for (const operation of operations) { + if (operation.type === 'graph' && operation.name.termType === 'Variable') { + throw new Error('Detected illegal variable in GRAPH'); + } + if (operation.type === 'bgp' || operation.type === 'graph') { + for (const triple of operation.triples) { + if (triple.subject.termType === 'Variable' || + triple.predicate.termType === 'Variable' || + triple.object.termType === 'Variable') { + throw new Error('Detected illegal variable in BGP'); + } + } + } + } + return operations; + } + + function ensureNoBnodes(operations) { + for (const operation of operations) { + if (operation.type === 'bgp') { + for (const triple of operation.triples) { + if (triple.subject.termType === 'BlankNode' || + triple.predicate.termType === 'BlankNode' || + triple.object.termType === 'BlankNode') { + throw new Error('Detected illegal blank node in BGP'); + } + } + } + } + return operations; + } +%} + +%lex + +// [139] +IRIREF "<"(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*">" +// [140] +PNAME_NS {PN_PREFIX}?":" +// [141] +PNAME_LN {PNAME_NS}{PN_LOCAL} +// [142] +BLANK_NODE_LABEL "_:"(?:{PN_CHARS_U}|[0-9])(?:(?:{PN_CHARS}|".")*{PN_CHARS})? +// [108] (and [143]-[144]) +VAR [\?\$]{VARNAME} +// [145] +LANGTAG "@"[a-zA-Z]+(?:"-"[a-zA-Z0-9]+)* +// [146] +INTEGER [0-9]+ +// [147] +DECIMAL [0-9]*"."[0-9]+ +// [148] +DOUBLE [0-9]+"."[0-9]*{EXPONENT}|"."([0-9])+{EXPONENT}|([0-9])+{EXPONENT} +// [149] +INTEGER_POSITIVE "+"{INTEGER} +// [150] +DECIMAL_POSITIVE "+"{DECIMAL} +// [151] +DOUBLE_POSITIVE "+"{DOUBLE} +// [152] +INTEGER_NEGATIVE "-"{INTEGER} +// [153] +DECIMAL_NEGATIVE "-"{DECIMAL} +// [154] +DOUBLE_NEGATIVE "-"{DOUBLE} +// [155] +EXPONENT [eE][+-]?[0-9]+ +// [156] +STRING_LITERAL1 "'"(?:(?:[^\u0027\u005C\u000A\u000D])|{ECHAR})*"'" +// [157] +STRING_LITERAL2 "\""(?:(?:[^\u0022\u005C\u000A\u000D])|{ECHAR})*'"' +// [158] +STRING_LITERAL_LONG1 "'''"(?:(?:"'"|"''")?(?:[^'\\]|{ECHAR}))*"'''" +// [159] +STRING_LITERAL_LONG2 "\"\"\""(?:(?:"\""|'""')?(?:[^\"\\]|{ECHAR}))*'"""' +// [160] +ECHAR "\\"[tbnrf\\\"']|"\\u"{HEX}{HEX}{HEX}{HEX}|"\\U"{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX} +// [161] +NIL "("{WS}*")" +// [162] +WS \u0020|\u0009|\u000D|\u000A +// [163] +ANON "["{WS}*"]" +// [164] +PN_CHARS_BASE [A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF] +// [165] +PN_CHARS_U (?:{PN_CHARS_BASE}|"_") +// [166] +VARNAME (?:{PN_CHARS_U}|[0-9])(?:{PN_CHARS_U}|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])* +// [167] +PN_CHARS {PN_CHARS_U}|"-"|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040] +// [168] +PN_PREFIX {PN_CHARS_BASE}(?:(?:{PN_CHARS}|".")*{PN_CHARS})? +// [169] +PN_LOCAL (?:{PN_CHARS_U}|":"|[0-9]|{PLX})(?:(?:{PN_CHARS}|"."|":"|{PLX})*(?:{PN_CHARS}|":"|{PLX}))? +// [170] +PLX {PERCENT}|{PN_LOCAL_ESC} +// [171] +PERCENT "%"{HEX}{HEX} +// [172] +HEX [0-9A-Fa-f] +// [173] +PN_LOCAL_ESC "\\"("_"|"~"|"."|"-"|"!"|"$"|"&"|"'"|"("|")"|"*"|"+"|","|";"|"="|"/"|"?"|"#"|"@"|"%") +// TODO: Work out where this fits into the production grammar +COMMENT "#"[^\n\r]* +SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ + +%options flex case-insensitive + +%% + +\s+|{COMMENT} /* ignore */ +"BASE" return 'BASE' +"PREFIX" return 'PREFIX' +"SELECT" return 'SELECT' +"DISTINCT" return 'DISTINCT' +"REDUCED" return 'REDUCED' +"(" return '(' +"AS" return 'AS' +")" return ')' +"*" return '*' +"CONSTRUCT" return 'CONSTRUCT' +"WHERE" return 'WHERE' +"{" return '{' +"}" return '}' +"DESCRIBE" return 'DESCRIBE' +"ASK" return 'ASK' +"FROM" return 'FROM' +"NAMED" return 'NAMED' +"GROUP" return 'GROUP' +"BY" return 'BY' +"HAVING" return 'HAVING' +"ORDER" return 'ORDER' +"ASC" return 'ASC' +"DESC" return 'DESC' +"LIMIT" return 'LIMIT' +"OFFSET" return 'OFFSET' +"VALUES" return 'VALUES' +";" return ';' +"LOAD" return 'LOAD' +"SILENT" return 'SILENT' +"INTO" return 'INTO' +"CLEAR" return 'CLEAR' +"DROP" return 'DROP' +"CREATE" return 'CREATE' +"ADD" return 'ADD' +"TO" return 'TO' +"MOVE" return 'MOVE' +"COPY" return 'COPY' +"INSERT"{SPACES_COMMENTS}"DATA" return 'INSERTDATA' +"DELETE"{SPACES_COMMENTS}"DATA" return 'DELETEDATA' +"DELETE"{SPACES_COMMENTS}"WHERE" return 'DELETEWHERE' +"WITH" return 'WITH' +"DELETE" return 'DELETE' +"INSERT" return 'INSERT' +"USING" return 'USING' +"DEFAULT" return 'DEFAULT' +"GRAPH" return 'GRAPH' +"ALL" return 'ALL' +"." return '.' +"OPTIONAL" return 'OPTIONAL' +"SERVICE" return 'SERVICE' +"BIND" return 'BIND' +"UNDEF" return 'UNDEF' +"MINUS" return 'MINUS' +"UNION" return 'UNION' +"FILTER" return 'FILTER' +"<<" return '<<' +">>" return '>>' +"," return ',' +"a" return 'a' +"|" return '|' +"/" return '/' +"^" return '^' +"?" return '?' +"+" return '+' +"!" return '!' +"[" return '[' +"]" return ']' +"||" return '||' +"&&" return '&&' +"=" return '=' +"!=" return '!=' +"<" return '<' +">" return '>' +"<=" return '<=' +">=" return '>=' +"IN" return 'IN' +"NOT" return 'NOT' +"-" return '-' +"BOUND" return 'BOUND' +"BNODE" return 'BNODE' +("RAND"|"NOW"|"UUID"|"STRUUID") return 'FUNC_ARITY0' +("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC") return 'FUNC_ARITY1' +("LANGMATCHES"|"CONTAINS"|"STRSTARTS"|"STRENDS"|"STRBEFORE"|"STRAFTER"|"STRLANG"|"STRDT"|"sameTerm") return 'FUNC_ARITY2' +"CONCAT" return 'CONCAT' +"COALESCE" return 'COALESCE' +"IF" return 'IF' +"REGEX" return 'REGEX' +"SUBSTR" return 'SUBSTR' +"REPLACE" return 'REPLACE' +"EXISTS" return 'EXISTS' +"COUNT" return 'COUNT' +"SUM"|"MIN"|"MAX"|"AVG"|"SAMPLE" return 'FUNC_AGGREGATE' +"GROUP_CONCAT" return 'GROUP_CONCAT' +"SEPARATOR" return 'SEPARATOR' +"^^" return '^^' +"true"|"false" return 'BOOLEAN' +{IRIREF} return 'IRIREF' +{PNAME_NS} return 'PNAME_NS' +{PNAME_LN} return 'PNAME_LN' +{BLANK_NODE_LABEL} return 'BLANK_NODE_LABEL' +{VAR} return 'VAR' +{LANGTAG} return 'LANGTAG' +{INTEGER} return 'INTEGER' +{DECIMAL} return 'DECIMAL' +{DOUBLE} return 'DOUBLE' +{INTEGER_POSITIVE} return 'INTEGER_POSITIVE' +{DECIMAL_POSITIVE} return 'DECIMAL_POSITIVE' +{DOUBLE_POSITIVE} return 'DOUBLE_POSITIVE' +{INTEGER_NEGATIVE} return 'INTEGER_NEGATIVE' +{DECIMAL_NEGATIVE} return 'DECIMAL_NEGATIVE' +{DOUBLE_NEGATIVE} return 'DOUBLE_NEGATIVE' +{EXPONENT} return 'EXPONENT' +{STRING_LITERAL1} return 'STRING_LITERAL1' +{STRING_LITERAL2} return 'STRING_LITERAL2' +{STRING_LITERAL_LONG1} return 'STRING_LITERAL_LONG1' +{STRING_LITERAL_LONG2} return 'STRING_LITERAL_LONG2' +{NIL} return 'NIL' +{ANON} return 'ANON' +<> return 'EOF' +. return 'INVALID' + +/lex + +%ebnf + +%start QueryOrUpdate + +%% + +QueryOrUpdate + : Prologue ( Query | Update? ) EOF + { + // Set parser options + $2 = $2 || {}; + if (Parser.base) + $2.base = Parser.base; + Parser.base = ''; + $2.prefixes = Parser.prefixes; + Parser.prefixes = null; + + // Ensure that blank nodes are not used across INSERT DATA clauses + if ($2.type === 'update') { + const insertBnodesAll = {}; + for (const update of $2.updates) { + if (update.updateType === 'insert') { + // Collect bnodes for current insert clause + const insertBnodes = {}; + for (const operation of update.insert) { + if (operation.type === 'bgp' || operation.type === 'graph') { + for (const triple of operation.triples) { + if (triple.subject.termType === 'BlankNode') + insertBnodes[triple.subject.value] = true; + if (triple.predicate.termType === 'BlankNode') + insertBnodes[triple.predicate.value] = true; + if (triple.object.termType === 'BlankNode') + insertBnodes[triple.object.value] = true; + } + } + } + + // Check if the inserting bnodes don't clash with bnodes from a previous insert clause + for (const bnode of Object.keys(insertBnodes)) { + if (insertBnodesAll[bnode]) { + throw new Error('Detected reuse blank node across different INSERT DATA clauses'); + } + insertBnodesAll[bnode] = true; + } + } + } + } + + return $2; + } + ; +Prologue + : ( BaseDecl | PrefixDecl )*; +Query + : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> extend($1, $2, { type: 'query' }) + ; +BaseDecl + : 'BASE' IRIREF + { + Parser.base = resolveIRI($2) + } + ; +PrefixDecl + : 'PREFIX' PNAME_NS IRIREF + { + if (!Parser.prefixes) Parser.prefixes = {}; + $2 = $2.substr(0, $2.length - 1); + $3 = resolveIRI($3); + Parser.prefixes[$2] = $3; + } + ; +SelectQuery + : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend($1, groupDatasets($2), $3, $4) + | SelectClauseVars DatasetClause* WhereClause SolutionModifier + { + // Check for projection of ungrouped variable + if (!Parser.skipValidation) { + const counts = flatten($1.variables.map(vars => getAggregatesOfExpression(vars.expression))) + .some(agg => agg.aggregation === "count" && !(agg.expression instanceof Wildcard)); + if (counts || $4.group) { + for (const selectVar of $1.variables) { + if (selectVar.termType === "Variable") { + if (!$4.group || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(selectVar))) { + throw Error("Projection of ungrouped variable (?" + getExpressionId(selectVar) + ")"); + } + } else if (getAggregatesOfExpression(selectVar.expression).length === 0) { + const usedVars = getVariablesFromExpression(selectVar.expression); + for (const usedVar of usedVars) { + if (!$4.group || !$4.group.map || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(usedVar))) { + throw Error("Use of ungrouped variable in projection of operation (?" + getExpressionId(usedVar) + ")"); + } + } + } + } + } + } + // Check if id of each AS-selected column is not yet bound by subquery + const subqueries = $3.where.filter(w => w.type === "query"); + if (subqueries.length > 0) { + const selectedVarIds = $1.variables.filter(v => v.variable && v.variable.value).map(v => v.variable.value); + const subqueryIds = flatten(subqueries.map(sub => sub.variables)).map(v => v.value || v.variable.value); + for (const selectedVarId of selectedVarIds) { + if (subqueryIds.indexOf(selectedVarId) >= 0) { + throw Error("Target id of 'AS' (?" + selectedVarId + ") already used in subquery"); + } + } + } + $$ = extend($1, groupDatasets($2), $3, $4) + } + ; +SelectClauseWildcard + : SelectClauseBase '*' -> extend($1, {variables: [new Wildcard()]}) + ; +SelectClauseVars + : SelectClauseBase SelectClauseItem+ + { + // Check if id of each selected column is different + const selectedVarIds = $2.map(v => v.value || v.variable.value); + const duplicates = getDuplicatesInArray(selectedVarIds); + if (duplicates.length > 0) { + throw Error("Two or more of the resulting columns have the same name (?" + duplicates[0] + ")"); + } + + $$ = extend($1, { variables: $2 }) + } + ; +SelectClauseBase + : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? -> extend({ queryType: 'SELECT'}, $2 && ($1 = lowercase($2), $2 = {}, $2[$1] = true, $2)) + ; +SubSelect + : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) + | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) + ; +SelectClauseItem + : VAR -> toVar($1) + | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) + | '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar(expression($2, { variable: toVar($4) })) + ; +ConstructQuery + : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) + | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) + ; +DescribeQuery + : 'DESCRIBE' ( (VAR | iri)+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2.map(toVar) }, groupDatasets($3), $4, $5) + ; +AskQuery + : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) + ; +DatasetClause + : 'FROM' 'NAMED'? iri -> { iri: $3, named: !!$2 } + ; +WhereClause + : 'WHERE'? GroupGraphPattern -> { where: $2.patterns } + ; +SolutionModifier + : GroupClause? SolutionModifierNoGroup -> extend($1, $2) + ; +SolutionModifierNoGroup + : HavingClause? OrderClause? LimitOffsetClauses? -> extend($1, $2, $3) + ; +GroupClause + : 'GROUP' 'BY' GroupCondition+ -> { group: $3 } + ; +GroupCondition + : BuiltInCall -> expression($1) + | FunctionCall -> expression($1) + | '(' Expression ')' -> expression($2) + | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) + | VAR -> expression(toVar($1)) + ; +HavingClause + : 'HAVING' Constraint+ -> { having: $2 } + ; +OrderClause + : 'ORDER' 'BY' OrderCondition+ -> { order: $3 } + ; +OrderCondition + : 'ASC' BrackettedExpression -> expression($2) + | 'DESC' BrackettedExpression -> expression($2, { descending: true }) + | Constraint -> expression($1) + | VAR -> expression(toVar($1)) + ; +LimitOffsetClauses + : 'LIMIT' INTEGER -> { limit: toInt($2) } + | 'OFFSET' INTEGER -> { offset: toInt($2) } + | 'LIMIT' INTEGER 'OFFSET' INTEGER -> { limit: toInt($2), offset: toInt($4) } + | 'OFFSET' INTEGER 'LIMIT' INTEGER -> { limit: toInt($4), offset: toInt($2) } + ; +ValuesClause + : 'VALUES' InlineData -> { type: 'values', values: $2 } + ; +InlineData + : VAR '{' DataBlockValue* '}' + { + $$ = $3.map(function(v) { var o = {}; o[$1] = v; return o; }) + } + | + NIL '{' NIL* '}' + { + $$ = $3.map(function() { return {}; }) + } + | '(' VAR+ ')' '{' DataBlockValueList* '}' + { + var length = $2.length; + $2 = $2.map(toVar); + $$ = $5.map(function (values) { + if (values.length !== length) + throw Error('Inconsistent VALUES length'); + var valuesObject = {}; + for(var i = 0; i ensureSparqlStar($1) + | 'UNDEF' -> undefined + ; +DataBlockValueList + : '(' DataBlockValue+ ')' -> $2 + ; +Update + : (Update1 ';' Prologue)* Update1 (';' Prologue)? -> { type: 'update', updates: appendTo($1, $2) } + ; +Update1 + : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) + | ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } + | ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } + | 'CREATE' 'SILENT'? 'GRAPH' iri -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $4 } } + | 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } + | 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } + | 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } + | WithClause? InsertClause DeleteClause? UsingClause* 'WHERE' GroupGraphPattern -> extend({ updateType: 'insertdelete' }, $1, { insert: $2 || [] }, { delete: $3 || [] }, groupDatasets($4, 'using'), { where: $6.patterns }) + | WithClause? DeleteClause InsertClause? UsingClause* 'WHERE' GroupGraphPattern -> extend({ updateType: 'insertdelete' }, $1, { delete: $2 || [] }, { insert: $3 || [] }, groupDatasets($4, 'using'), { where: $6.patterns }) + ; +DeleteClause + : 'DELETE' QuadPattern -> ensureNoBnodes($2) + ; +InsertClause + : 'INSERT' QuadPattern -> $2 + ; +UsingClause + : 'USING' 'NAMED'? iri -> { iri: $3, named: !!$2 } + ; +WithClause + : 'WITH' iri -> { graph: $2 } + ; +IntoGraphClause + : 'INTO' 'GRAPH' iri -> $3 + ; +GraphOrDefault + : 'DEFAULT' -> { type: 'graph', default: true } + | 'GRAPH'? iri -> { type: 'graph', name: $2 } + ; + +// [46] +GraphRef + : 'GRAPH' iri -> $2 + ; + +// [47] +GraphRefAll + : GraphRef -> { type: 'graph', name: $1 } + | ( 'DEFAULT' | 'NAMED' | 'ALL' ) -> { [lowercase($1)]: true } + ; +QuadPattern + : '{' TriplesTemplate? QuadsNotTriples* '}' -> $2 ? unionAll($3, [$2]) : unionAll($3) + ; +QuadsNotTriples + : 'GRAPH' (VAR | iri) '{' TriplesTemplate? '}' '.'? TriplesTemplate? + { + var graph = extend($4 || { triples: [] }, { type: 'graph', name: toVar($2) }); + $$ = $7 ? [graph, $7] : [graph]; + } + ; +TriplesTemplate + : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } + ; +GroupGraphPattern + : '{' SubSelect '}' -> { type: 'group', patterns: [ $2 ] } + | '{' GroupGraphPatternSub '}' + { + // For every binding + for (const binding of $2.filter(el => el.type === "bind")) { + const index = $2.indexOf(binding); + const boundVars = new Set(); + //Collect all bounded variables before the binding + for (const el of $2.slice(0, index)) { + if (el.type === "group" || el.type === "bgp") { + getBoundVarsFromGroupGraphPattern(el).forEach(boundVar => boundVars.add(boundVar)); + } + } + // If binding with a non-free variable, throw error + if (boundVars.has(binding.variable.value)) { + throw Error("Variable used to bind is already bound (?" + binding.variable.value + ")"); + } + } + $$ = { type: 'group', patterns: $2 } + } + ; +GroupGraphPatternSub + : TriplesBlock? GroupGraphPatternSubTail* -> $1 ? unionAll([$1], $2) : unionAll($2) + ; +GroupGraphPatternSubTail + : GraphPatternNotTriples '.'? TriplesBlock? -> $3 ? [$1, $3] : $1 + ; +TriplesBlock + : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } + ; +GraphPatternNotTriples + : ( GroupGraphPattern 'UNION' )* GroupGraphPattern + { + if ($1.length) + $$ = { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) }; + else + $$ = $2; + } + | 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) + | 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) + | 'GRAPH' (VAR | iri) GroupGraphPattern -> extend($3, { type: 'graph', name: toVar($2) }) + | 'SERVICE' 'SILENT'? (VAR | iri) GroupGraphPattern -> extend($4, { type: 'service', name: toVar($3), silent: !!$2 }) + | 'FILTER' Constraint -> { type: 'filter', expression: $2 } + | 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } + | 'BIND' '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar({ type: 'bind', variable: toVar($5), expression: $3 }) + | ValuesClause + ; +Constraint + : BrackettedExpression + | BuiltInCall + | FunctionCall + ; +FunctionCall + : iri NIL -> { type: 'functionCall', function: $1, args: [] } + | iri '(' 'DISTINCT'? ( Expression ',' )* Expression ')' -> { type: 'functionCall', function: $1, args: appendTo($4, $5), distinct: !!$3 } + ; +ExpressionList + : NIL -> [] + | '(' ( Expression ',' )* Expression ')' -> appendTo($2, $3) + ; +ConstructTemplate + : '{' ConstructTriples? '}' -> $2 + ; +ConstructTriples + : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> unionAll($1, [$2]) + ; +TriplesSameSubject + : (VarOrTerm | VarTriple) PropertyListNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) + | TriplesNode PropertyList -> appendAllTo($2.map(function (t) { return extend(triple($1.entity), t); }), $1.triples) /* the subject is a blank node, possibly with more triples */ + ; +PropertyList + : PropertyListNotEmpty? + ; +PropertyListNotEmpty + : VerbObjectList ( SemiOptionalVerbObjectList )* -> unionAll([$1], $2) + ; +SemiOptionalVerbObjectList + : ';' VerbObjectList? -> unionAll($2) + ; +VerbObjectList + : Verb ObjectList -> objectListToTriples($1, $2) + ; +Verb + : VAR -> toVar($1) + | iri + | 'a' -> Parser.factory.namedNode(RDF_TYPE) + ; +ObjectList + : (GraphNode ',')* GraphNode -> appendTo($1, $2) + ; +ObjectListPath + : (GraphNodePath ',')* GraphNodePath -> appendTo($1, $2) + ; +TriplesSameSubjectPath + : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) + | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(function (t) { return extend(triple($1.entity), t); }), $1.triples) /* the subject is a blank node, possibly with more triples */ + ; +PropertyListPathNotEmpty + : ( Path | VAR ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples(toVar($1), appendTo($2, $3), $4) + ; +PropertyListPathNotEmptyTail + : ';' -> [] + | ';' ( Path | VAR ) ObjectListPath -> objectListToTriples(toVar($2), $3) + ; +Path + : ( PathSequence '|' )* PathSequence -> $1.length ? path('|',appendTo($1, $2)) : $2 + ; +PathSequence + : ( PathEltOrInverse '/' )* PathEltOrInverse -> $1.length ? path('/', appendTo($1, $2)) : $2 + ; +PathElt + : PathPrimary ( '?' | '*' | '+' )? -> $2 ? path($2, [$1]) : $1 + ; +PathEltOrInverse + : '^'? PathElt -> $1 ? path($1, [$2]) : $2; + ; +PathPrimary + : iri + | 'a' -> Parser.factory.namedNode(RDF_TYPE) + | '!' PathNegatedPropertySet -> path($1, [$2]) + | '(' Path ')' -> $2 + ; +PathNegatedPropertySet + : PathOneInPropertySet + | NIL -> [] + | '(' ( PathOneInPropertySet '|' )* PathOneInPropertySet? ')' -> path('|', appendTo($2, $3)) + ; +PathOneInPropertySet + : iri + | 'a' -> Parser.factory.namedNode(RDF_TYPE) + | '^' iri -> path($1, [$2]) + | '^' 'a' -> path($1, [Parser.factory.namedNode(RDF_TYPE)]) + ; +TriplesNode + : '(' GraphNode+ ')' -> createList($2) + | '[' PropertyListNotEmpty ']' -> createAnonymousObject($2) + ; +TriplesNodePath + : '(' GraphNodePath+ ')' -> createList($2) + | '[' PropertyListPathNotEmpty ']' -> createAnonymousObject($2) + ; +GraphNode + : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ + | TriplesNode + ; +GraphNodePath + : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ + | TriplesNodePath + ; +VarTriple + : '<<' 'GRAPH' (VAR | iri) '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, toVar($3))) + | '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; +ConstTriple + : '<<' 'GRAPH' (VAR | iri) '{' (ConstTriple | Term) Verb (ConstTriple | Term) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, toVar($3))) + | '<<' (ConstTriple | Term) Verb (ConstTriple | Term) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; +VarOrTerm + : VAR -> toVar($1) + | Term + ; +Term + : iri + | Literal + | BlankNode + | NIL -> Parser.factory.namedNode(RDF_NIL) + ; +Expression + : ConditionalAndExpression ExpressionTail* -> createOperationTree($1, $2) + ; +ExpressionTail + : '||' ConditionalAndExpression -> ['||', $2] + ; +ConditionalAndExpression + : RelationalExpression ConditionalAndExpressionTail* -> createOperationTree($1, $2) + ; +ConditionalAndExpressionTail + : '&&' RelationalExpression -> ['&&', $2] + ; +RelationalExpression + : AdditiveExpression + | AdditiveExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) + | AdditiveExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) + ; +AdditiveExpression + : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) + ; +AdditiveExpressionTail + : ( '+' | '-' ) MultiplicativeExpression -> [$1, $2] + | NumericLiteralPositive MultiplicativeExpressionTail* -> ['+', createOperationTree($1, $2)] + | NumericLiteralNegative MultiplicativeExpressionTail* + { + var negatedLiteral = createTypedLiteral($1.value.replace('-', ''), $1.datatype); + $$ = ['-', createOperationTree(negatedLiteral, $2)]; + } + ; +MultiplicativeExpression + : UnaryExpression MultiplicativeExpressionTail* -> createOperationTree($1, $2) + ; +MultiplicativeExpressionTail + : ( '*' | '/' ) UnaryExpression -> [$1, $2] + ; +UnaryExpression + : '+' PrimaryExpression -> operation('UPLUS', [$2]) + | '!' PrimaryExpression -> operation($1, [$2]) + | '-' PrimaryExpression -> operation('UMINUS', [$2]) + | PrimaryExpression -> $1 + ; +PrimaryExpression + : BrackettedExpression + | BuiltInCall + | iri + | FunctionCall + | Literal + | VAR -> toVar($1) + ; +BrackettedExpression + : '(' Expression ')' -> $2 + ; +BuiltInCall + : Aggregate + | FUNC_ARITY0 NIL -> operation(lowercase($1)) + | FUNC_ARITY1 '(' Expression ')' -> operation(lowercase($1), [$3]) + | FUNC_ARITY2 '(' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5]) + | 'IF' '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) + | ( 'CONCAT' | 'COALESCE' | 'SUBSTR' | 'REGEX' | 'REPLACE' ) ExpressionList -> operation(lowercase($1), $2) + | 'BOUND' '(' VAR ')' -> operation('bound', [toVar($3)]) + | 'BNODE' NIL -> operation($1, []) + | 'BNODE' '(' Expression ')' -> operation($1, [$3]) + | 'NOT'? 'EXISTS' GroupGraphPattern -> operation($1 ? 'notexists' :'exists', [degroupSingle($3)]) + ; +Aggregate + : 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) + | FUNC_AGGREGATE '(' 'DISTINCT'? Expression ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) + | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression GroupConcatSeparator? ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3, separator: $5 || ' ' }) + ; +GroupConcatSeparator + : ';' 'SEPARATOR' '=' String -> $4 + ; + +// Summary of [129], [130] & [134] +Literal + : RDFLiteral + | NumericLiteral + | BooleanLiteral + ; + +// [129] +RDFLiteral + : String -> createTypedLiteral($1) + | String LANGTAG -> createLangLiteral($1, lowercase($2.substr(1))) + | String '^^' iri -> createTypedLiteral($1, $3) + ; + +// [130] +NumericLiteral + : NumericLiteralUnsigned + | NumericLiteralPositive + | NumericLiteralNegative + ; + +// [131] +NumericLiteralUnsigned + : INTEGER -> createTypedLiteral($1, XSD_INTEGER) + | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) + | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) + ; + +// [132] +NumericLiteralPositive + : INTEGER_POSITIVE -> createTypedLiteral($1.substr(1), XSD_INTEGER) + | DECIMAL_POSITIVE -> createTypedLiteral($1.substr(1), XSD_DECIMAL) + | DOUBLE_POSITIVE -> createTypedLiteral($1.substr(1).toLowerCase(), XSD_DOUBLE) + ; + +// [133] +NumericLiteralNegative + : INTEGER_NEGATIVE -> createTypedLiteral($1, XSD_INTEGER) + | DECIMAL_NEGATIVE -> createTypedLiteral($1, XSD_DECIMAL) + | DOUBLE_NEGATIVE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) + ; + +// [134] +BooleanLiteral + : BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) + ; + +// [135] +String + : STRING_LITERAL1 -> unescapeString($1, 1) + | STRING_LITERAL2 -> unescapeString($1, 1) + | STRING_LITERAL_LONG1 -> unescapeString($1, 3) + | STRING_LITERAL_LONG2 -> unescapeString($1, 3) + ; + +// [136] +iri + : IRIREF -> Parser.factory.namedNode(resolveIRI($1)) + | PrefixedName + ; + +// [137] +PrefixedName + : PNAME_LN + { + var namePos = $1.indexOf(':'), + prefix = $1.substr(0, namePos), + expansion = Parser.prefixes[prefix]; + if (!expansion) throw new Error('Unknown prefix: ' + prefix); + var uriString = resolveIRI(expansion + $1.substr(namePos + 1)); + $$ = Parser.factory.namedNode(uriString); + } + | PNAME_NS + { + $1 = $1.substr(0, $1.length - 1); + if (!($1 in Parser.prefixes)) throw new Error('Unknown prefix: ' + $1); + var uriString = resolveIRI(Parser.prefixes[$1]); + $$ = Parser.factory.namedNode(uriString); + } + ; + +// [138] +BlankNode + : BLANK_NODE_LABEL -> blank($1.replace(/^(_:)/,'')); + | ANON -> blank() + ; + +// +// Note [139] - [173] are grammar terms that are written above +// diff --git a/lib/sparql.jison b/lib/sparql.jison index 5d29c707..66d254e4 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -401,40 +401,75 @@ %lex +// [139] IRIREF "<"(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*">" +// [140] PNAME_NS {PN_PREFIX}?":" +// [141] PNAME_LN {PNAME_NS}{PN_LOCAL} +// [142] BLANK_NODE_LABEL "_:"(?:{PN_CHARS_U}|[0-9])(?:(?:{PN_CHARS}|".")*{PN_CHARS})? +// [108] (and [143]-[144]) VAR [\?\$]{VARNAME} +// [145] LANGTAG "@"[a-zA-Z]+(?:"-"[a-zA-Z0-9]+)* +// [146] INTEGER [0-9]+ +// [147] DECIMAL [0-9]*"."[0-9]+ +// [148] DOUBLE [0-9]+"."[0-9]*{EXPONENT}|"."([0-9])+{EXPONENT}|([0-9])+{EXPONENT} +// [149] INTEGER_POSITIVE "+"{INTEGER} +// [150] DECIMAL_POSITIVE "+"{DECIMAL} +// [151] DOUBLE_POSITIVE "+"{DOUBLE} +// [152] INTEGER_NEGATIVE "-"{INTEGER} +// [153] DECIMAL_NEGATIVE "-"{DECIMAL} +// [154] DOUBLE_NEGATIVE "-"{DOUBLE} +// [155] EXPONENT [eE][+-]?[0-9]+ +// [156] STRING_LITERAL1 "'"(?:(?:[^\u0027\u005C\u000A\u000D])|{ECHAR})*"'" +// [157] STRING_LITERAL2 "\""(?:(?:[^\u0022\u005C\u000A\u000D])|{ECHAR})*'"' +// [158] STRING_LITERAL_LONG1 "'''"(?:(?:"'"|"''")?(?:[^'\\]|{ECHAR}))*"'''" +// [159] STRING_LITERAL_LONG2 "\"\"\""(?:(?:"\""|'""')?(?:[^\"\\]|{ECHAR}))*'"""' +// [160] ECHAR "\\"[tbnrf\\\"']|"\\u"{HEX}{HEX}{HEX}{HEX}|"\\U"{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX} +// [161] NIL "("{WS}*")" +// [162] WS \u0020|\u0009|\u000D|\u000A +// [163] ANON "["{WS}*"]" +// [164] PN_CHARS_BASE [A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF] +// [165] PN_CHARS_U (?:{PN_CHARS_BASE}|"_") +// [166] VARNAME (?:{PN_CHARS_U}|[0-9])(?:{PN_CHARS_U}|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])* +// [167] PN_CHARS {PN_CHARS_U}|"-"|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040] +// [168] PN_PREFIX {PN_CHARS_BASE}(?:(?:{PN_CHARS}|".")*{PN_CHARS})? +// [169] PN_LOCAL (?:{PN_CHARS_U}|":"|[0-9]|{PLX})(?:(?:{PN_CHARS}|"."|":"|{PLX})*(?:{PN_CHARS}|":"|{PLX}))? +// [170] PLX {PERCENT}|{PN_LOCAL_ESC} +// [171] PERCENT "%"{HEX}{HEX} +// [172] HEX [0-9A-Fa-f] +// [173] PN_LOCAL_ESC "\\"("_"|"~"|"."|"-"|"!"|"$"|"&"|"'"|"("|")"|"*"|"+"|","|";"|"="|"/"|"?"|"#"|"@"|"%") +// TODO: Work out where this fits into the production grammar COMMENT "#"[^\n\r]* SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ @@ -709,7 +744,7 @@ ConstructQuery | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) ; DescribeQuery - : 'DESCRIBE' ( (VAR | iri)+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2.map(toVar) }, groupDatasets($3), $4, $5) + : 'DESCRIBE' ( VarOrIri+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2 }, groupDatasets($3), $4, $5) ; AskQuery : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) @@ -797,7 +832,7 @@ Update1 : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) | ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } | ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } - | 'CREATE' 'SILENT'? 'GRAPH' iri -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $4 } } + | 'CREATE' 'SILENT'? GraphRef -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $3 } } | 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } | 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } | 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } @@ -817,23 +852,57 @@ WithClause : 'WITH' iri -> { graph: $2 } ; IntoGraphClause - : 'INTO' 'GRAPH' iri -> $3 + : 'INTO' GraphRef -> $2 ; GraphOrDefault : 'DEFAULT' -> { type: 'graph', default: true } | 'GRAPH'? iri -> { type: 'graph', name: $2 } ; + +// [46] +GraphRef + : 'GRAPH' iri -> $2 + ; + +// [47] GraphRefAll - : 'GRAPH' iri -> { type: 'graph', name: $2 } - | ( 'DEFAULT' | 'NAMED' | 'ALL' ) { $$ = {}; $$[lowercase($1)] = true; } + : GraphRef -> { type: 'graph', name: $1 } + | ( 'DEFAULT' | 'NAMED' | 'ALL' ) -> { [lowercase($1)]: true } ; + +// [48] +QuadPattern + : QuadBraces + ; + +// [49] +QuadData + : QuadBraces + ; + + +// [48] QuadPattern - : '{' TriplesTemplate? QuadsNotTriples* '}' -> $2 ? unionAll($3, [$2]) : unionAll($3) + : '{' Quads '}' -> $2 + ; + +// [49] +QuadData + : '{' Quads '}' -> $2 + ; + +// [50] +Quads + : TriplesTemplate? QuadsNotTriples* -> $1 ? unionAll($2, [$1]) : unionAll($2) + // TODO: Actually use this grammar (which *is* different) + // it seems like the problem comes down to TriplesTemplate not being correct + // : TriplesTemplate? ( QuadsNotTriples "."? TriplesTemplate? ) * ; + QuadsNotTriples - : 'GRAPH' (VAR | iri) '{' TriplesTemplate? '}' '.'? TriplesTemplate? + : 'GRAPH' VarOrIri '{' TriplesTemplate? '}' '.'? TriplesTemplate? { - var graph = extend($4 || { triples: [] }, { type: 'graph', name: toVar($2) }); + var graph = extend($4 || { triples: [] }, { type: 'graph', name: $2 }); $$ = $7 ? [graph, $7] : [graph]; } ; @@ -881,56 +950,91 @@ GraphPatternNotTriples } | 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) | 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) - | 'GRAPH' (VAR | iri) GroupGraphPattern -> extend($3, { type: 'graph', name: toVar($2) }) - | 'SERVICE' 'SILENT'? (VAR | iri) GroupGraphPattern -> extend($4, { type: 'service', name: toVar($3), silent: !!$2 }) + | 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) + | 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) | 'FILTER' Constraint -> { type: 'filter', expression: $2 } - | 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } - | 'BIND' '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar({ type: 'bind', variable: toVar($5), expression: $3 }) + | 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } + | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) | ValuesClause ; + +// [69] Constraint : BrackettedExpression | BuiltInCall | FunctionCall ; + +// [70] FunctionCall - : iri NIL -> { type: 'functionCall', function: $1, args: [] } - | iri '(' 'DISTINCT'? ( Expression ',' )* Expression ')' -> { type: 'functionCall', function: $1, args: appendTo($4, $5), distinct: !!$3 } + : iri ArgList -> { ...$2, function: $1 } + ; + +// [71] +ArgList + : NIL -> { type: 'functionCall', args: [] } + | '(' 'DISTINCT'? ( Expression ',' )* Expression ')' -> { type: 'functionCall', args: appendTo($3, $4), distinct: !!$2 } ; + +// [72] ExpressionList : NIL -> [] | '(' ( Expression ',' )* Expression ')' -> appendTo($2, $3) ; + +// [73] ConstructTemplate : '{' ConstructTriples? '}' -> $2 ; + +// [74] +// TODO: See if there is a reason for using this +// representation rather than the grammar representation ConstructTriples : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> unionAll($1, [$2]) ; + +// [75] TriplesSameSubject - : (VarOrTerm | VarTriple) PropertyListNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) - | TriplesNode PropertyList -> appendAllTo($2.map(function (t) { return extend(triple($1.entity), t); }), $1.triples) /* the subject is a blank node, possibly with more triples */ + : VarOrTermOrQuotedTP PropertyListNotEmpty -> $2.map(t => extend(triple($1), t)) + | TriplesNode PropertyList -> appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ ; + +// [76] PropertyList : PropertyListNotEmpty? ; + +// [77] PropertyListNotEmpty : VerbObjectList ( SemiOptionalVerbObjectList )* -> unionAll([$1], $2) ; + SemiOptionalVerbObjectList : ';' VerbObjectList? -> unionAll($2) ; VerbObjectList : Verb ObjectList -> objectListToTriples($1, $2) ; + +// [78] Verb - : VAR -> toVar($1) - | iri + : VarOrIri | 'a' -> Parser.factory.namedNode(RDF_TYPE) ; + +// [79] ObjectList - : (GraphNode ',')* GraphNode -> appendTo($1, $2) + : (Object ',')* Object -> appendTo($1, $2) + ; + +// [80] +Object + // TODO: Work out what to *actually* do with the AnnotationPattern + // TODO: Then add tests + : GraphNode AnnotationPattern? -> $1 ; + ObjectListPath : (GraphNodePath ',')* GraphNodePath -> appendTo($1, $2) ; @@ -945,35 +1049,60 @@ PropertyListPathNotEmptyTail : ';' -> [] | ';' ( Path | VAR ) ObjectListPath -> objectListToTriples(toVar($2), $3) ; + +// [88] Path + : PathAlternative + ; + +// [89] +PathAlternative : ( PathSequence '|' )* PathSequence -> $1.length ? path('|',appendTo($1, $2)) : $2 ; + +// [90] PathSequence : ( PathEltOrInverse '/' )* PathEltOrInverse -> $1.length ? path('/', appendTo($1, $2)) : $2 ; + +// [91] PathElt - : PathPrimary ( '?' | '*' | '+' )? -> $2 ? path($2, [$1]) : $1 + : PathPrimary PathMod? -> $2 ? path($2, [$1]) : $1 ; + +// [92] PathEltOrInverse : '^'? PathElt -> $1 ? path($1, [$2]) : $2; ; + +// [93] +PathMod + : '?' + | '*' + | '+' + ; + +// [94] PathPrimary - : iri - | 'a' -> Parser.factory.namedNode(RDF_TYPE) + : IriOrA | '!' PathNegatedPropertySet -> path($1, [$2]) | '(' Path ')' -> $2 ; + +// [95] PathNegatedPropertySet : PathOneInPropertySet + // TODO: See why nil is here (its not in the grammar) | NIL -> [] | '(' ( PathOneInPropertySet '|' )* PathOneInPropertySet? ')' -> path('|', appendTo($2, $3)) ; + +// [96] PathOneInPropertySet - : iri - | 'a' -> Parser.factory.namedNode(RDF_TYPE) - | '^' iri -> path($1, [$2]) - | '^' 'a' -> path($1, [Parser.factory.namedNode(RDF_TYPE)]) + : IriOrA + | '^' IriOrA -> path($1, [$2]) ; + TriplesNode : '(' GraphNode+ ')' -> createList($2) | '[' PropertyListNotEmpty ']' -> createAnonymousObject($2) @@ -990,42 +1119,77 @@ GraphNodePath : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ | TriplesNodePath ; -VarTriple - : '<<' 'GRAPH' (VAR | iri) '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, toVar($3))) - | '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + +// [106] +VarOrTerm + : Var + // Was previously term + | GraphTerm ; -ConstTriple - : '<<' 'GRAPH' (VAR | iri) '{' (ConstTriple | Term) Verb (ConstTriple | Term) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, toVar($3))) - | '<<' (ConstTriple | Term) Verb (ConstTriple | Term) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + +// [107] +VarOrIri + : Var + | iri ; -VarOrTerm + +// [108] +Var : VAR -> toVar($1) - | Term ; -Term + +// [109] +GraphTerm : iri | Literal - | BLANK_NODE_LABEL -> blank($1.replace(/^(_:)/,'')); - | ANON -> blank() + | BlankNode + // TODO: See if custom handling of NIL is needed here | NIL -> Parser.factory.namedNode(RDF_NIL) ; + +// [110] Expression - : ConditionalAndExpression ExpressionTail* -> createOperationTree($1, $2) + : ConditionalOrExpression ; -ExpressionTail + +// [111] +ConditionalOrExpression + : ConditionalAndExpression ConditionalOrExpressionTail* -> createOperationTree($1, $2) + ; + +ConditionalOrExpressionTail : '||' ConditionalAndExpression -> ['||', $2] ; + +// [112] ConditionalAndExpression - : RelationalExpression ConditionalAndExpressionTail* -> createOperationTree($1, $2) + : ValueLogical ConditionalAndExpressionTail* -> createOperationTree($1, $2) ; + ConditionalAndExpressionTail - : '&&' RelationalExpression -> ['&&', $2] + : '&&' ValueLogical -> ['&&', $2] + ; + +// [113] +ValueLogical + : RelationalExpression ; + +// [114] RelationalExpression + : NumericExpression + // TODO: Fix missing pipe on sparql-star grammar page + | NumericExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) + | NumericExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) + ; + +// [115] +NumericExpression : AdditiveExpression - | AdditiveExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) - | AdditiveExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) ; + +// [116] +// TODO: Properly check these AdditiveExpression : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) ; @@ -1038,79 +1202,137 @@ AdditiveExpressionTail $$ = ['-', createOperationTree(negatedLiteral, $2)]; } ; + +// [117] +// TODO: properly check MultiplicativeExpression : UnaryExpression MultiplicativeExpressionTail* -> createOperationTree($1, $2) ; MultiplicativeExpressionTail : ( '*' | '/' ) UnaryExpression -> [$1, $2] ; + +// [118] +// TODO: Properly check UnaryExpression : '+' PrimaryExpression -> operation('UPLUS', [$2]) | '!' PrimaryExpression -> operation($1, [$2]) | '-' PrimaryExpression -> operation('UMINUS', [$2]) | PrimaryExpression -> $1 ; + +// [119] PrimaryExpression : BrackettedExpression | BuiltInCall + // TODO: See why this is not iriOrFunctionCall | iri | FunctionCall | Literal - | VAR -> toVar($1) + | Var + | ExprQuotedTP ; + +// [120] BrackettedExpression : '(' Expression ')' -> $2 ; + +// [121] +// TODO: Double check this BuiltInCall : Aggregate | FUNC_ARITY0 NIL -> operation(lowercase($1)) | FUNC_ARITY1 '(' Expression ')' -> operation(lowercase($1), [$3]) | FUNC_ARITY2 '(' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5]) - | 'IF' '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) + | FUNC_ARITY3 '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) + // [122], [123], [124] + // TODO: Fix this - it is technically incorrect as 'SUBSTR' | 'REGEX' | 'REPLACE' are only allowed 2-3 args + // as opposed to an aribtrary number of args which this allows | ( 'CONCAT' | 'COALESCE' | 'SUBSTR' | 'REGEX' | 'REPLACE' ) ExpressionList -> operation(lowercase($1), $2) | 'BOUND' '(' VAR ')' -> operation('bound', [toVar($3)]) | 'BNODE' NIL -> operation($1, []) | 'BNODE' '(' Expression ')' -> operation($1, [$3]) + // [125], [126] | 'NOT'? 'EXISTS' GroupGraphPattern -> operation($1 ? 'notexists' :'exists', [degroupSingle($3)]) ; + +// [127] +// TODO: Double check this Aggregate : 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) | FUNC_AGGREGATE '(' 'DISTINCT'? Expression ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression GroupConcatSeparator? ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3, separator: $5 || ' ' }) ; + GroupConcatSeparator : ';' 'SEPARATOR' '=' String -> $4 ; + +// Summary of [129], [130] & [134] Literal + : RDFLiteral + | NumericLiteral + | BooleanLiteral + ; + +// [129] +RDFLiteral : String -> createTypedLiteral($1) | String LANGTAG -> createLangLiteral($1, lowercase($2.substr(1))) | String '^^' iri -> createTypedLiteral($1, $3) - | INTEGER -> createTypedLiteral($1, XSD_INTEGER) - | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) - | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) + ; + +// [130] +NumericLiteral + : NumericLiteralUnsigned | NumericLiteralPositive | NumericLiteralNegative - | BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) ; -String - : STRING_LITERAL1 -> unescapeString($1, 1) - | STRING_LITERAL2 -> unescapeString($1, 1) - | STRING_LITERAL_LONG1 -> unescapeString($1, 3) - | STRING_LITERAL_LONG2 -> unescapeString($1, 3) + +// [131] +NumericLiteralUnsigned + : INTEGER -> createTypedLiteral($1, XSD_INTEGER) + | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) + | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) ; + +// [132] NumericLiteralPositive : INTEGER_POSITIVE -> createTypedLiteral($1.substr(1), XSD_INTEGER) | DECIMAL_POSITIVE -> createTypedLiteral($1.substr(1), XSD_DECIMAL) | DOUBLE_POSITIVE -> createTypedLiteral($1.substr(1).toLowerCase(), XSD_DOUBLE) ; + +// [133] NumericLiteralNegative : INTEGER_NEGATIVE -> createTypedLiteral($1, XSD_INTEGER) | DECIMAL_NEGATIVE -> createTypedLiteral($1, XSD_DECIMAL) | DOUBLE_NEGATIVE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) ; + +// [134] +BooleanLiteral + : BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) + ; + +// [135] +String + : STRING_LITERAL1 -> unescapeString($1, 1) + | STRING_LITERAL2 -> unescapeString($1, 1) + | STRING_LITERAL_LONG1 -> unescapeString($1, 3) + | STRING_LITERAL_LONG2 -> unescapeString($1, 3) + ; + +// [136] iri : IRIREF -> Parser.factory.namedNode(resolveIRI($1)) - | PNAME_LN + | PrefixedName + ; + +// [137] +PrefixedName + : PNAME_LN { var namePos = $1.indexOf(':'), prefix = $1.substr(0, namePos), @@ -1127,3 +1349,89 @@ iri $$ = Parser.factory.namedNode(uriString); } ; + +// [138] +BlankNode + : BLANK_NODE_LABEL -> blank($1.replace(/^(_:)/,'')); + | ANON -> blank() + ; + +// +// Note [139] - [173] are grammar terms that are written above +// + +// TODO: Make everthing here ensure sparqlStar + +// [174] +QuotedTP + : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; + +// [175] +QuotedTriple + : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; + +// [176] +qtSubjectOrObject + : VarOrTerm + | QuotedTP + ; + + +// [177] +DataValueTerm + : iri + | Literal + | QuotedTP + ; + +// [178] +VarOrTermOrQuotedTP + : Var + | GraphTerm + | QuotedTP + ; + +// [179] +AnnotationPattern + : '{|' PropertyListNotEmpty '|}' -> ensureSparqlStar($2) + ; + +// [180] +AnnotationPatternPath + : '{|' PropertyListPathNotEmpty '|}' -> ensureSparqlStar($2) + ; + + +// [181] +// TODO: Work out how nested graphs should be handled +ExprQuotedTP + : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; + +// TODO: Re-enable +// [182] +// TODO: See if this should be overriding something else in the grammar +// ExprVarOrTerm +// : Literal +// | VarOrIri +// | ExprQuotedTP +// ; + +// TODO: Remove these two to handle sparqlstar properly +VarTriple + : '<<' 'GRAPH' VarOrIri '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) + | '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; +ConstTriple + : '<<' 'GRAPH' VarOrIri '{' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) + | '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; + +// Utilities +IriOrA + : iri -> $1 + | 'a' -> Parser.factory.namedNode(RDF_TYPE) + ; + diff --git a/package-lock.json b/package-lock.json index c2e849b2..80698a6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,3819 @@ { "name": "sparqljs", "version": "3.5.2", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "sparqljs", + "version": "3.5.2", + "license": "MIT", + "dependencies": { + "rdf-data-factory": "^1.0.4" + }, + "bin": { + "sparqljs": "bin/sparql-to-json" + }, + "devDependencies": { + "expect": "^24.8.0", + "jison": "0.4.18", + "mocha": "^7.0.0", + "pre-commit": "^1.2.2", + "rdf-test-suite": "^1.11.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/http-link-header": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.2.tgz", + "integrity": "sha512-rWvCGMtwx+01LFVpLbSYagloSMgqDwfzLSx9JcwUEkJWo4oDBKihp6X92Ff5tIS4VE5ojV4wH6iMnAnr/TZhhg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-stable-stringify": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", + "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "dev": true + }, + "node_modules/@types/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", + "deprecated": "This is a stub types definition. log-symbols provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "log-symbols": "*" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "dev": true + }, + "node_modules/@types/n3": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.4.4.tgz", + "integrity": "sha512-xsWfwyDh0uAH0CXvwqe9vb2UEDafMjRez/pB7yZwbWpd9Olw2wdxaL32FtdHjmmFE6b9i+j249JfRyZnvWkoqg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/rdf-js": "*" + } + }, + "node_modules/@types/node": { + "version": "14.14.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz", + "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw==" + }, + "node_modules/@types/rdf-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/rdf-js/-/rdf-js-4.0.0.tgz", + "integrity": "sha512-2uaR7ks0380MqzUWGOPOOk9yZIr/6MOaCcaj3ntKgd2PqNocgi8j5kSHIJTDe+5ABtTHqKMSE0v0UqrsT8ibgQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrayify-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-1.0.0.tgz", + "integrity": "sha512-RP80ep76Lbew2wWN5ogrl2NluTnBVYYh2K3NNCcWfcmmUB7nBcNBctiJeEZAixp3I1vQ9H88iHZ9MbHSdkuupQ==", + "dev": true + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/canonicalize": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.3.tgz", + "integrity": "sha512-QWAGweNicWIXzcl7skvUZQ/ArdecS8fOeudnjIU0LYqSdTOSBSap+0VPMas4u11cW3a9sN5AN/aJHQUGfdWLCw==", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" + } + }, + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/cjson": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz", + "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=", + "dev": true, + "dependencies": { + "jsonlint": "1.6.0" + }, + "engines": { + "node": ">= 0.3.0" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colors": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cross-fetch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", + "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.1" + } + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ebnf-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", + "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "dev": true, + "dependencies": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.10.0" + }, + "optionalDependencies": { + "source-map": "~0.1.33" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat/node_modules/is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/http-link-header": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-nARK1wSKoBBrtcoESlHBx36c1Ln/gnbNQi1eB6MeTUefJIT3NvUOsV15bClga0k38f0q/kN5xxrGSDS3EFnm9w==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jison": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz", + "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==", + "dev": true, + "dependencies": { + "cjson": "0.3.0", + "ebnf-parser": "0.1.10", + "escodegen": "1.3.x", + "esprima": "1.1.x", + "jison-lex": "0.3.x", + "JSONSelect": "0.4.0", + "lex-parser": "~0.1.3", + "nomnom": "1.5.2" + }, + "bin": { + "jison": "lib/cli.js" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/jison-lex": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz", + "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=", + "dev": true, + "dependencies": { + "lex-parser": "0.1.x", + "nomnom": "1.5.2" + }, + "bin": { + "jison-lex": "cli.js" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsonld-context-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.1.tgz", + "integrity": "sha512-7yKhnwFaiCnDPUZYQuAWyT0zZBfOKZDyjtqFVNbXrYRkboU+m55UsastsfXbo7qNroTGdFiEyxHEHDEfBC0P4Q==", + "dev": true, + "dependencies": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^13.1.0", + "canonicalize": "^1.0.1", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + }, + "bin": { + "jsonld-context-parse": "bin/jsonld-context-parse.js" + } + }, + "node_modules/jsonld-context-parser/node_modules/@types/node": { + "version": "13.13.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", + "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", + "dev": true + }, + "node_modules/jsonld-streaming-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.1.1.tgz", + "integrity": "sha512-QEOV+cMMBZCz30XkkX07/ziyETFDZz1fGlrKpXmnuj/iw9yN2PbvwTVCz4Snk/sy1V2sBVuF5L/ubd2XXerY8w==", + "dev": true, + "dependencies": { + "@types/http-link-header": "^1.0.1", + "@types/rdf-js": "*", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.0.1", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.0.2" + } + }, + "node_modules/jsonlint": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", + "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=", + "dev": true, + "dependencies": { + "JSV": ">= 4.0.x", + "nomnom": ">= 1.5.x" + }, + "bin": { + "jsonlint": "lib/cli.js" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/JSONSelect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", + "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", + "dev": true, + "engines": { + "node": ">=0.4.7" + } + }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lex-parser": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", + "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", + "dev": true + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/lodash.uniqwith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz", + "integrity": "sha1-egy/ZfQ7WShiWp1NDcVLGMrcfvM=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "dependencies": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/n3": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.6.3.tgz", + "integrity": "sha512-dN+8pLw2h1H1WQTW9VR3T16tHPDYdQP+YKXzbcpBCMCb9ZkksUyoVRRdtFGl3vosdET+NIB5eiIgth+4Vit6Yw==", + "dev": true, + "dependencies": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/n3/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "dev": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/nomnom": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", + "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", + "deprecated": "Package no longer supported. Contact support@npmjs.com for more info.", + "dev": true, + "dependencies": { + "colors": "0.5.x", + "underscore": "1.1.x" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pre-commit": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", + "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "spawn-sync": "^1.0.15", + "which": "1.2.x" + } + }, + "node_modules/pre-commit/node_modules/which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.0.tgz", + "integrity": "sha512-J95OVUiS4b8qqmpqhCodN8yPpHG2mpZUPQ8tDGyIY0VhM+kBHszOuvsMJVGNQ1OH2BnTFbqz45i+2jGpDw9H0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/rdf-data-factory": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.0.4.tgz", + "integrity": "sha512-ZIIwEkLcV7cTc+atvQFzAETFVRHz1BRe/MhdkZqYse8vxskErj8/bF/Ittc3B5c0GTyw6O3jVF2V7xBRGyRoSQ==", + "dependencies": { + "@types/rdf-js": "*" + } + }, + "node_modules/rdf-isomorphic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.2.0.tgz", + "integrity": "sha512-Dq+iuWrVuK7q3P4/nychbWhRJ1M5yMAekNJN8f5pjarE8SH9Duy/R0JopVF0I0Q2w0poZlsVKKIBpeG+AdOSAw==", + "dev": true, + "dependencies": { + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2" + } + }, + "node_modules/rdf-literal": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.2.0.tgz", + "integrity": "sha512-N7nyfp/xzoiUuJt0xZ80BvBGkCPwWejgVDkCxWDSuooXKSows4ToW+KouYkMHLcoFzGg1Rlw2lk6btjMJg5aSA==", + "dev": true, + "dependencies": { + "@types/rdf-js": "*", + "rdf-data-factory": "^1.0.1" + } + }, + "node_modules/rdf-object": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.4.0.tgz", + "integrity": "sha512-iRba1XITW3msfi1XCF1vZKrfIGUQdUqWg+FXTeFKbW0sjZKe0Qm3wOzDsL9+dT+goVidYnqDkPhp48Ej2IH02A==", + "dev": true, + "dependencies": { + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.0.3", + "rdf-string": "^1.5.0", + "streamify-array": "^1.0.1" + } + }, + "node_modules/rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "node_modules/rdf-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.5.0.tgz", + "integrity": "sha512-3TEJuDIKUADgZrfcZG+zAN4GfVA1Ei2sKA7Z7QVHkAE36wWoRGPJbGihPQMldgzvy9lG2nzZU+CXz+6oGSQNsQ==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.0" + } + }, + "node_modules/rdf-terms": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.6.2.tgz", + "integrity": "sha512-dASpdYHYLEwzN9iSymJie1WUj6VHXy1By8Am4g2rJlhTfVvNitsJpDY+A3X2QehlGhCaWjHMzXS4q/JKNPI80A==", + "dev": true, + "dependencies": { + "lodash.uniqwith": "^4.5.0", + "rdf-data-factory": "^1.0.1" + } + }, + "node_modules/rdf-test-suite": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.16.0.tgz", + "integrity": "sha512-Y/rAZMJQV9xSGlmG55cJ1v9/y0Bd+uYQCO3qFKe9LKqXK/3zCrvRLSV8Wr5ag9vfZsOCYlmXZwk75am3YayPzg==", + "dev": true, + "dependencies": { + "@types/json-stable-stringify": "^1.0.32", + "@types/log-symbols": "^3.0.0", + "@types/minimist": "^1.2.0", + "@types/n3": "^1.4.4", + "@types/rdf-js": "*", + "@types/sax": "^1.0.1", + "arrayify-stream": "^1.0.0", + "cross-fetch": "^3.0.6", + "json-stable-stringify": "^1.0.1", + "jsonld-streaming-parser": "^2.1.0", + "log-symbols": "^4.0.0", + "minimist": "^1.2.0", + "n3": "^1.1.1", + "rdf-data-factory": "^1.0.3", + "rdf-isomorphic": "^1.2.0", + "rdf-literal": "^1.2.0", + "rdf-object": "^1.3.0", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.5.0", + "rdf-terms": "^1.6.2", + "rdfxml-streaming-parser": "^1.4.0", + "relative-to-absolute-iri": "^1.0.6", + "sparqljson-parse": "^1.6.0", + "sparqlxml-parse": "^1.4.0", + "stream-to-string": "^1.1.0", + "streamify-string": "^1.0.1" + }, + "bin": { + "rdf-test-suite": "bin/Runner.js" + } + }, + "node_modules/rdf-test-suite/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/rdf-test-suite/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/rdf-test-suite/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/rdf-test-suite/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/rdf-test-suite/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rdf-test-suite/node_modules/log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rdf-test-suite/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rdfxml-streaming-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.4.0.tgz", + "integrity": "sha512-/FKDCq4tuSWz8PZaaPxqIQpenEvRR3Gsqllqg4VmdPFN6WiWfbaD244cKASfXfQHt9Bw7tLsLHsmtA1isIPBCg==", + "dev": true, + "dependencies": { + "@types/rdf-js": "*", + "rdf-data-factory": "^1.0.2", + "relative-to-absolute-iri": "^1.0.0", + "sax": "^1.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/relative-to-absolute-iri": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", + "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/sax-stream": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax-stream/-/sax-stream-1.3.0.tgz", + "integrity": "sha512-tcfsAAICAkyNNe4uiKtKmLKxx3C7qPAej13UUoN+7OLYq/P5kHGahZtJhhMVM3fIMndA6TlYHWFlFEzFkv1VGg==", + "dev": true, + "dependencies": { + "debug": "~2", + "sax": "~1" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sparqljson-parse": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-1.6.0.tgz", + "integrity": "sha512-alIiURVr3AXIGU6fjuh5k6fwINwGKBQu5QnN9TEpoyIRvukKxZLQE07AHsw/Wxhkxico81tPf8nJTx7H1ira5A==", + "dev": true, + "dependencies": { + "@types/node": "^13.1.0", + "@types/rdf-js": "*", + "JSONStream": "^1.3.3", + "rdf-data-factory": "^1.0.2" + } + }, + "node_modules/sparqljson-parse/node_modules/@types/node": { + "version": "13.13.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", + "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", + "dev": true + }, + "node_modules/sparqlxml-parse": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-1.4.0.tgz", + "integrity": "sha512-hKYsRw+KHIF4QXpMtybCSkfVhoQmTdUrUe5WkYnlyyw+3aeskIDnd97TPQi7MNSok2aim02osqkHvWQFNGXm3A==", + "dev": true, + "dependencies": { + "@types/node": "^13.1.0", + "@types/rdf-js": "*", + "rdf-data-factory": "^1.0.2", + "sax-stream": "^1.2.3" + } + }, + "node_modules/sparqlxml-parse/node_modules/@types/node": { + "version": "13.13.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", + "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", + "dev": true + }, + "node_modules/spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-to-string": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", + "dev": true, + "dependencies": { + "promise-polyfill": "^1.1.6" + } + }, + "node_modules/streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true + }, + "node_modules/streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/underscore": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", + "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.10.4", @@ -182,28 +3993,6 @@ "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", "dev": true }, - "JSONSelect": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", - "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "JSV": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", - "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", - "dev": true - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -1462,12 +5251,12 @@ "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==", "dev": true, "requires": { - "JSONSelect": "0.4.0", "cjson": "0.3.0", "ebnf-parser": "0.1.10", "escodegen": "1.3.x", "esprima": "1.1.x", "jison-lex": "0.3.x", + "JSONSelect": "0.4.0", "lex-parser": "~0.1.3", "nomnom": "1.5.2" } @@ -1574,6 +5363,28 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, + "JSONSelect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", + "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", + "dev": true + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -2652,6 +6463,15 @@ "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -2750,15 +6570,6 @@ } } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", From 46c31226a679a2e529680f4821ef5e1de0bd77f9 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 25 Aug 2022 20:38:32 +1000 Subject: [PATCH 02/39] chore: continue refactoring --- lib/sparql.jison | 84 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 73 insertions(+), 11 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 66d254e4..31794360 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -825,35 +825,97 @@ DataBlockValue DataBlockValueList : '(' DataBlockValue+ ')' -> $2 ; + +// [29] +// TODO: Establish why this is totally different to the published grammar Update : (Update1 ';' Prologue)* Update1 (';' Prologue)? -> { type: 'update', updates: appendTo($1, $2) } ; + +// [30] Update1 + : Load + | ClearOrDrop + | AddOrMoveOrCopy + | Create + | InsertData + | DeleteData + | DeleteWhere + | Modify + ; + + +// [31] +// TODO: See if into graph clause is needed +Load : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) - | ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } - | ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } - | 'CREATE' 'SILENT'? GraphRef -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $3 } } - | 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } - | 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } - | 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } - | WithClause? InsertClause DeleteClause? UsingClause* 'WHERE' GroupGraphPattern -> extend({ updateType: 'insertdelete' }, $1, { insert: $2 || [] }, { delete: $3 || [] }, groupDatasets($4, 'using'), { where: $6.patterns }) - | WithClause? DeleteClause InsertClause? UsingClause* 'WHERE' GroupGraphPattern -> extend({ updateType: 'insertdelete' }, $1, { delete: $2 || [] }, { insert: $3 || [] }, groupDatasets($4, 'using'), { where: $6.patterns }) ; + +IntoGraphClause + : 'INTO' GraphRef -> $2 + ; + +// [32]-[33] +ClearOrDrop + : ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } + ; + + +// [34] +Create + : 'CREATE' 'SILENT'? GraphRef -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $3 } } + ; + +// [35]-[37] +AddOrMoveOrCopy + : ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } + ; + +// [38] +InsertData + : 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } + ; + +// [39] +DeleteData + : 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } + ; + +// [40] +DeleteWhere + : 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } + ; + +// [41] +Modify + : WithClause? InsertDeleteClause UsingClause* 'WHERE' GroupGraphPattern -> { updateType: 'insertdelete', ...$1, ...$2, ...groupDatasets($3, 'using'), where: $5.patterns } + ; + +InsertDeleteClause + : DeleteClause InsertClause? -> { delete: $1, insert: $2 || [] } + | InsertClause -> { delete: [], insert: $1 } + ; + +// [42] DeleteClause : 'DELETE' QuadPattern -> ensureNoBnodes($2) ; + +// [43] InsertClause : 'INSERT' QuadPattern -> $2 ; + +// [44] UsingClause : 'USING' 'NAMED'? iri -> { iri: $3, named: !!$2 } ; + WithClause : 'WITH' iri -> { graph: $2 } ; -IntoGraphClause - : 'INTO' GraphRef -> $2 - ; + +// [45] GraphOrDefault : 'DEFAULT' -> { type: 'graph', default: true } | 'GRAPH'? iri -> { type: 'graph', name: $2 } From 3dbd2069916dcc350e437945c358360ec415aac8 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 25 Aug 2022 20:46:11 +1000 Subject: [PATCH 03/39] chore: continue refactoring --- lib/sparql.jison | 54 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 6 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 31794360..98401a9e 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -752,18 +752,28 @@ AskQuery DatasetClause : 'FROM' 'NAMED'? iri -> { iri: $3, named: !!$2 } ; + +// [17] WhereClause : 'WHERE'? GroupGraphPattern -> { where: $2.patterns } ; + +// [18] SolutionModifier : GroupClause? SolutionModifierNoGroup -> extend($1, $2) ; + +// TODO: See why this is necessary rather than just existing in [18] SolutionModifierNoGroup : HavingClause? OrderClause? LimitOffsetClauses? -> extend($1, $2, $3) ; + +// [19] GroupClause : 'GROUP' 'BY' GroupCondition+ -> { group: $3 } ; + +// [20] GroupCondition : BuiltInCall -> expression($1) | FunctionCall -> expression($1) @@ -771,27 +781,56 @@ GroupCondition | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) | VAR -> expression(toVar($1)) ; + +// [21] HavingClause - : 'HAVING' Constraint+ -> { having: $2 } + : 'HAVING' HavingCondition+ -> { having: $2 } + ; + +// [22] +HavingCondition + : Constraint ; + +// [23] OrderClause : 'ORDER' 'BY' OrderCondition+ -> { order: $3 } ; + +// [24] OrderCondition : 'ASC' BrackettedExpression -> expression($2) | 'DESC' BrackettedExpression -> expression($2, { descending: true }) | Constraint -> expression($1) | VAR -> expression(toVar($1)) ; + +// [25] LimitOffsetClauses - : 'LIMIT' INTEGER -> { limit: toInt($2) } - | 'OFFSET' INTEGER -> { offset: toInt($2) } - | 'LIMIT' INTEGER 'OFFSET' INTEGER -> { limit: toInt($2), offset: toInt($4) } - | 'OFFSET' INTEGER 'LIMIT' INTEGER -> { limit: toInt($4), offset: toInt($2) } + : LimitClause -> { limit: $1 } + | OffsetClause -> { offset: $2 } + | LimitClause OffsetClause -> { limit: $1, offset: $2 } + | OffsetClause LimitClause -> { limit: $2, offset: $1 } + ; + +// [26] +LimitClause + : 'LIMIT' INTEGER -> toInt($2) + ; + +// [27] +OffsetClause + : 'OFFSET' INTEGER -> toInt($2) ; + +// [28] +// TODO: See why we have InlineData rather than data block here +// TODO: See why it is not all optional +// TODO: Double check this ValuesClause : 'VALUES' InlineData -> { type: 'values', values: $2 } ; + InlineData : VAR '{' DataBlockValue* '}' { @@ -816,12 +855,15 @@ InlineData }); } ; + DataBlockValue : iri | Literal - | ConstTriple -> ensureSparqlStar($1) + // @see https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#sparql-star-grammar + | QuotedTriple -> ensureSparqlStar($1) | 'UNDEF' -> undefined ; + DataBlockValueList : '(' DataBlockValue+ ')' -> $2 ; From 8551d08824ca88e16ab059ce96f71b5ab24b3098 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 25 Aug 2022 22:19:48 +1000 Subject: [PATCH 04/39] chore: continue refactoring --- lib/sparql.jison | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 98401a9e..0505b429 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -608,7 +608,7 @@ SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ %% QueryOrUpdate - : Prologue ( Query | Update? ) EOF + : Prologue ( QueryUnit | Update? ) EOF { // Set parser options $2 = $2 || {}; @@ -652,17 +652,34 @@ QueryOrUpdate return $2; } ; -Prologue - : ( BaseDecl | PrefixDecl )*; + +// TODO: Properly factor out queryUnit + +// [1] +QueryUnit + : Query + ; + +// [2] +// TODO: Work out why ValuesClause was optional Query : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> extend($1, $2, { type: 'query' }) ; + +// [4] +Prologue + : ( BaseDecl | PrefixDecl )* + ; + +// [5] BaseDecl : 'BASE' IRIREF { Parser.base = resolveIRI($2) } ; + +// [6] PrefixDecl : 'PREFIX' PNAME_NS IRIREF { @@ -672,6 +689,8 @@ PrefixDecl Parser.prefixes[$2] = $3; } ; + +// [7] Didn't check use of SolutionModifierNoGroup seems off as this introduces a havinClause where not expected. SelectQuery : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend($1, groupDatasets($2), $3, $4) | SelectClauseVars DatasetClause* WhereClause SolutionModifier @@ -1520,6 +1539,7 @@ ExprQuotedTP // ExprVarOrTerm // : Literal // | VarOrIri +// // TODO: See if this recursive reference is the cause of the compilation error. // | ExprQuotedTP // ; From f87362008d90e560b4629b0c17ff6d2de407b72e Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 25 Aug 2022 22:47:53 +1000 Subject: [PATCH 05/39] chore: continue refactoring --- lib/sparql.jison | 93 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 83 insertions(+), 10 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 0505b429..4c2ef5a8 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -749,27 +749,54 @@ SelectClauseVars SelectClauseBase : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? -> extend({ queryType: 'SELECT'}, $2 && ($1 = lowercase($2), $2 = {}, $2[$1] = true, $2)) ; -SubSelect - : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) - | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) - ; SelectClauseItem - : VAR -> toVar($1) + : Var | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) | '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar(expression($2, { variable: toVar($4) })) ; + +// [8] Didn't check - optional clause seems disjoint with grammar +SubSelect + : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) + | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) + ; + +// TODO: See what 9 is +// [10] Didn't check ConstructQuery : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) ; + +// [11] DescribeQuery : 'DESCRIBE' ( VarOrIri+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2 }, groupDatasets($3), $4, $5) ; + +// [12] +// TODO: See why this has solution modifier rather than ValuesClause. AskQuery : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) ; + +// [13] DatasetClause - : 'FROM' 'NAMED'? iri -> { iri: $3, named: !!$2 } + : 'FROM' (DefaultGraphClause | NamedGraphClause) -> $2 + ; + +// [14] +DefaultGraphClause + : SourceSelector -> { iri: $1, named: false } + ; + +// [15] +NamedGraphClause + : 'NAMED' SourceSelector -> { iri: $2, named: true } + ; + +// [16] +SourceSelector + : iri ; // [17] @@ -875,6 +902,8 @@ InlineData } ; +// TODO: Move to correct position +// [65] DataBlockValue : iri | Literal @@ -1071,16 +1100,60 @@ GraphPatternNotTriples else $$ = $2; } - | 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) + // | 'OPTIONAL' GroeupGraphPattern -> extend($2, { type: 'optional' }) + | OptionalGraphPattern | 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) - | 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) - | 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) + // | 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) + | GraphGraphPattern + // | 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) + | ServiceGraphPattern | 'FILTER' Constraint -> { type: 'filter', expression: $2 } - | 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } + // | 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } + | Bind + // TODO: See what covers this | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) | ValuesClause ; + +// [57] +OptionalGraphPattern + : 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) + ; + + +// [58] +GraphGraphPattern + : 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) + ; + +// [59] +ServiceGraphPattern + : 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) + ; + +// [60] +Bind + : 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } + ; + +// [61] +// TODO: See why this was named valuesClause rather than DataBlock +InlineData + : 'VALUES' DataBlock -> { type: 'values', values: $2 } + ; + +// [62] +DataBlock + : InlineDataOneVar + | InlineDataFull + ; + +// [63] +InlineDataOneVar + : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) + ; + // [69] Constraint : BrackettedExpression From d16fe47fd3bb83647cad7208596b436bd31a4c5b Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 25 Aug 2022 22:59:06 +1000 Subject: [PATCH 06/39] feat: wip sparqlstar --- lib/sparql.jison | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 4c2ef5a8..cbf737c2 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -1093,24 +1093,14 @@ TriplesBlock : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } ; GraphPatternNotTriples - : ( GroupGraphPattern 'UNION' )* GroupGraphPattern - { - if ($1.length) - $$ = { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) }; - else - $$ = $2; - } - // | 'OPTIONAL' GroeupGraphPattern -> extend($2, { type: 'optional' }) + : GroupOrUnionGraphPattern | OptionalGraphPattern - | 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) - // | 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) + | MinusGraphPattern | GraphGraphPattern - // | 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) | ServiceGraphPattern - | 'FILTER' Constraint -> { type: 'filter', expression: $2 } - // | 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } + | Filter | Bind - // TODO: See what covers this + // TODO: See what covers this (it *might* be subsumed by Bind with the renewed definition of experession) | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) | ValuesClause ; @@ -1154,6 +1144,21 @@ InlineDataOneVar : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) ; +// [66] +MinusGraphPattern + : 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) + ; + +// [67] +GroupOrUnionGraphPattern + : ( GroupGraphPattern 'UNION' )* GroupGraphPattern -> $1.length ? { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) } : $2 + ; + +// [68] +Filter + : 'FILTER' Constraint -> { type: 'filter', expression: $2 } + ; + // [69] Constraint : BrackettedExpression From e03d31975bf3f7075a576b36c616409f8b315b9a Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Sat, 27 Aug 2022 21:40:30 +1000 Subject: [PATCH 07/39] chore: WIP refactor --- lib/sparql.jison | 138 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 104 insertions(+), 34 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index cbf737c2..42c53ffa 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -535,6 +535,8 @@ SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ "FILTER" return 'FILTER' "<<" return '<<' ">>" return '>>' +"{|" return '{|' +"|}" return '|}' "," return ',' "a" return 'a' "|" return '|' @@ -559,11 +561,11 @@ SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ "BOUND" return 'BOUND' "BNODE" return 'BNODE' ("RAND"|"NOW"|"UUID"|"STRUUID") return 'FUNC_ARITY0' -("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC") return 'FUNC_ARITY1' +("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC"|"SUBJECT"|"PREDICATE"|"OBJECT"|"isTRIPLE") return 'FUNC_ARITY1' ("LANGMATCHES"|"CONTAINS"|"STRSTARTS"|"STRENDS"|"STRBEFORE"|"STRAFTER"|"STRLANG"|"STRDT"|"sameTerm") return 'FUNC_ARITY2' "CONCAT" return 'CONCAT' "COALESCE" return 'COALESCE' -"IF" return 'IF' +("IF"|"TRIPLE") return 'FUNC_ARITY3' "REGEX" return 'REGEX' "SUBSTR" return 'SUBSTR' "REPLACE" return 'REPLACE' @@ -663,7 +665,12 @@ QueryUnit // [2] // TODO: Work out why ValuesClause was optional Query - : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> extend($1, $2, { type: 'query' }) + : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> { ...$1, ...$2, type: 'query' } + ; + +// [3] +UpdateUnit + : Update ; // [4] @@ -692,7 +699,7 @@ PrefixDecl // [7] Didn't check use of SolutionModifierNoGroup seems off as this introduces a havinClause where not expected. SelectQuery - : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend($1, groupDatasets($2), $3, $4) + : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> { ...$1, ...groupDatasets($2), ...$3, ...$4 } | SelectClauseVars DatasetClause* WhereClause SolutionModifier { // Check for projection of ungrouped variable @@ -751,8 +758,9 @@ SelectClauseBase ; SelectClauseItem : Var - | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) - | '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar(expression($2, { variable: toVar($4) })) + | '(' Expression 'AS' Var ')' -> expression($2, { variable: $4 }) + // TODO: Remove this + | '(' VarTriple 'AS' Var ')' -> ensureSparqlStar(expression($2, { variable: $4 })) ; // [8] Didn't check - optional clause seems disjoint with grammar @@ -824,8 +832,8 @@ GroupCondition : BuiltInCall -> expression($1) | FunctionCall -> expression($1) | '(' Expression ')' -> expression($2) - | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) - | VAR -> expression(toVar($1)) + | '(' Expression 'AS' Var ')' -> expression($2, { variable: $4 }) + | Var -> expression($1) ; // [21] @@ -848,7 +856,7 @@ OrderCondition : 'ASC' BrackettedExpression -> expression($2) | 'DESC' BrackettedExpression -> expression($2, { descending: true }) | Constraint -> expression($1) - | VAR -> expression(toVar($1)) + | Var -> expression($1) ; // [25] @@ -878,15 +886,8 @@ ValuesClause ; InlineData - : VAR '{' DataBlockValue* '}' - { - $$ = $3.map(function(v) { var o = {}; o[$1] = v; return o; }) - } - | - NIL '{' NIL* '}' - { - $$ = $3.map(function() { return {}; }) - } + : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) + | NIL '{' NIL* '}' -> $3.map(() => ({})) | '(' VAR+ ')' '{' DataBlockValueList* '}' { var length = $2.length; @@ -902,16 +903,6 @@ InlineData } ; -// TODO: Move to correct position -// [65] -DataBlockValue - : iri - | Literal - // @see https://w3c.github.io/rdf-star/cg-spec/editors_draft.html#sparql-star-grammar - | QuotedTriple -> ensureSparqlStar($1) - | 'UNDEF' -> undefined - ; - DataBlockValueList : '(' DataBlockValue+ ')' -> $2 ; @@ -1051,16 +1042,23 @@ Quads // : TriplesTemplate? ( QuadsNotTriples "."? TriplesTemplate? ) * ; +// [51] QuadsNotTriples +// TODO Fix this - it is actually the definition for quad : 'GRAPH' VarOrIri '{' TriplesTemplate? '}' '.'? TriplesTemplate? { var graph = extend($4 || { triples: [] }, { type: 'graph', name: $2 }); $$ = $7 ? [graph, $7] : [graph]; } ; + +// [52] +// TODO: See why this is not identical to the grammar TriplesTemplate : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } ; + +// [53] GroupGraphPattern : '{' SubSelect '}' -> { type: 'group', patterns: [ $2 ] } | '{' GroupGraphPatternSub '}' @@ -1083,15 +1081,35 @@ GroupGraphPattern $$ = { type: 'group', patterns: $2 } } ; + +// [54] GroupGraphPatternSub : TriplesBlock? GroupGraphPatternSubTail* -> $1 ? unionAll([$1], $2) : unionAll($2) ; + GroupGraphPatternSubTail : GraphPatternNotTriples '.'? TriplesBlock? -> $3 ? [$1, $3] : $1 ; + +// [55] +// TODO: See why this is not identical to the grammar TriplesBlock : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } ; + +// [56] +// TODO: Use this +// GraphPatternNotTriples +// : GroupOrUnionGraphPattern +// | OptionalGraphPattern +// | MinusGraphPattern +// | GraphGraphPattern +// | ServiceGraphPattern +// | Filter +// | Bind +// | InlineData +// ; + GraphPatternNotTriples : GroupOrUnionGraphPattern | OptionalGraphPattern @@ -1124,10 +1142,11 @@ ServiceGraphPattern // [60] Bind - : 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } + : 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } ; // [61] +// TODO: Handle conflict with the other inlineData // TODO: See why this was named valuesClause rather than DataBlock InlineData : 'VALUES' DataBlock -> { type: 'values', values: $2 } @@ -1144,6 +1163,34 @@ InlineDataOneVar : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) ; + +// [64] +InlineDataFull + : NIL '{' NIL* '}' -> $3.map(() => ({})) + | '(' VAR+ ')' '{' DataBlockValueList* '}' + { + var length = $2.length; + $2 = $2.map(toVar); + $$ = $5.map(function (values) { + if (values.length !== length) + throw Error('Inconsistent VALUES length'); + var valuesObject = {}; + for(var i = 0; i ensureSparqlStar($1) + | 'UNDEF' -> undefined + ; + // [66] MinusGraphPattern : 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) @@ -1236,15 +1283,38 @@ Object : GraphNode AnnotationPattern? -> $1 ; -ObjectListPath - : (GraphNodePath ',')* GraphNodePath -> appendTo($1, $2) - ; +// [81] TriplesSameSubjectPath : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) - | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(function (t) { return extend(triple($1.entity), t); }), $1.triples) /* the subject is a blank node, possibly with more triples */ + // TODO!: Use this grammar instead + // : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> $2.map(t => extend(triple($1), t)) + // TODO: See why this is optional since it is not in the grammar + | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ ; + +// [84] +VerbPath + : Path + ; + +// [85] +VerbSimple + : Var + ; + +// [86] +ObjectListPath + : (ObjectPath ',')* ObjectPath -> appendTo($1, $2) + ; + +// [87] +ObjectPath + // TODO: Work out what to map this do + : GraphNodePath AnnotationPatternPath? -> $1 + ; + PropertyListPathNotEmpty - : ( Path | VAR ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples(toVar($1), appendTo($2, $3), $4) + : ( Path | Var ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples($1, appendTo($2, $3), $4) ; PropertyListPathNotEmptyTail : ';' -> [] From be62493e2bdbe5f8b47a9837e6e295e71ffbd500 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Sun, 28 Aug 2022 13:35:22 +1000 Subject: [PATCH 08/39] WIP --- lib/sparql.jison | 16 +- .../sparql-star-annotated-1.sparql | 11 ++ .../sparql-star-nested-annotated-1.sparql | 3 + .../sparql-star-nested-annotated-2.sparql | 3 + .../sparql-star-nested-annotated-3.sparql | 3 + .../sparql-star-nested-annotated-4.sparql | 3 + .../sparql-star-nested-annotated-5.sparql | 3 + .../sparql-star-path.sparql | 3 + ...parql-star-annotated-alternate-path.sparql | 3 + .../sparql-star-annotated-path.sparql | 3 + ...sparql-star-annotated-variable-path.sparql | 3 + .../sparql-star-quoted-alternate-path.sparql | 3 + .../sparql-star-quoted-path.sparql | 3 + .../sparql-star-quoted-variable-path.sparql | 3 + .../sparql-star-quad-1.sparql | 4 +- .../sparql-star-quad-bind.sparql | 0 .../sparql-star-quad-nested-1.sparql | 0 .../sparql-star-quad-nested-2.sparql | 0 .../sparql-star-quad-nested-3.sparql | 0 .../sparql-star-quad-nested.sparql | 0 .../sparql-star-quad-select-bind.sparql | 0 .../sparqlstar/sparql-star-alternate.sparql | 3 + .../sparql-star-sequence-variables.sparql | 3 + .../sparqlstar/sparql-star-sequence.sparql | 3 + sparql.js | 3 +- test/SparqlParser-test.js | 9 +- .../sparql-star-annotated-1.json | 170 ++++++++++++++++++ .../sparql-star-nested-annotated-1.json | 17 ++ .../sparql-star-quad-1.json | 0 .../sparql-star-quad-bind.json | 0 .../sparql-star-quad-nested-1.json | 0 .../sparql-star-quad-nested-2.json | 0 .../sparql-star-quad-nested-3.json | 0 .../sparql-star-quad-nested.json | 0 .../sparql-star-quad-select-bind.json | 0 35 files changed, 267 insertions(+), 8 deletions(-) create mode 100644 queries/sparqlstar-annotated/sparql-star-annotated-1.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-1.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-2.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-3.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-4.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-5.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-1.sparql (63%) rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-bind.sparql (100%) rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested-1.sparql (100%) rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested-2.sparql (100%) rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested-3.sparql (100%) rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested.sparql (100%) rename queries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-select-bind.sparql (100%) create mode 100644 queries/sparqlstar/sparql-star-alternate.sparql create mode 100644 queries/sparqlstar/sparql-star-sequence-variables.sparql create mode 100644 queries/sparqlstar/sparql-star-sequence.sparql create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-1.json (100%) rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-bind.json (100%) rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested-1.json (100%) rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested-2.json (100%) rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested-3.json (100%) rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-nested.json (100%) rename test/parsedQueries/{sparqlstar => sparqlstar-nested-quads}/sparql-star-quad-select-bind.json (100%) diff --git a/lib/sparql.jison b/lib/sparql.jison index 42c53ffa..9c4c8a19 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -360,7 +360,14 @@ function ensureSparqlStar(value) { if (!Parser.sparqlStar) { - throw new Error('SPARQL* support is not enabled'); + throw new Error('SPARQL-star support is not enabled'); + } + return value; + } + + function ensureSparqlStarNestedQuads(value) { + if (!Parser.sparqlStarNestedQuads) { + throw new Error('Lenient SPARQL-star support with nested quads is not enabled'); } return value; } @@ -1285,9 +1292,9 @@ Object // [81] TriplesSameSubjectPath - : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) + // : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) // TODO!: Use this grammar instead - // : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> $2.map(t => extend(triple($1), t)) + : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> $2.map(t => extend(triple($1), t)) // TODO: See why this is optional since it is not in the grammar | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ ; @@ -1696,6 +1703,9 @@ VarTriple : '<<' 'GRAPH' VarOrIri '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) | '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) ; + + + ConstTriple : '<<' 'GRAPH' VarOrIri '{' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) | '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) diff --git a/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql new file mode 100644 index 00000000..df989b04 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql @@ -0,0 +1,11 @@ +PREFIX ex: +PREFIX rdf: + +SELECT * WHERE { + # TODO: Open question - what should the graph term be in a nested rdf-star triple. + ?s ?p ?o {| ex:author ex:Bob |} . + ex:Moscow a ex:City {| ex:author ?person |} . + # TODO: See if an error should be thrown here due to having a list + # in a reification + _:b ex:x () {| ex:broken true |} . +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-1.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-1.sparql new file mode 100644 index 00000000..39ad04a5 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-1.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p2 ?o2 |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-2.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-2.sparql new file mode 100644 index 00000000..5f4e0519 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-2.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <> ?p1 ?o1 {| ?p2 ?o2 |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-3.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-3.sparql new file mode 100644 index 00000000..7e004751 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-3.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <> ?p1 ?o1 {| ?p2 <> |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-4.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-4.sparql new file mode 100644 index 00000000..b897c70f --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-4.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <> ?p1 <> {| ?p2 <> |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-5.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-5.sparql new file mode 100644 index 00000000..73b63994 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-5.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <>>> ?p1 ?p1 {| ?p2 <>>> |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-path.sparql b/queries/sparqlstar-annotated/sparql-star-path.sparql new file mode 100644 index 00000000..0933bb5b --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s ?p ?o {| :p/:q ?oo |}. +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql new file mode 100644 index 00000000..7146a329 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s :p|:q ?o {| ?pp ?oo |}. +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql new file mode 100644 index 00000000..091637f7 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s :p/:q ?o {| ?pp ?oo |}. +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql new file mode 100644 index 00000000..aa11bdf1 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s1 ?p1/?p2 ?o1 {| ?p2 ?o2 |} +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql new file mode 100644 index 00000000..09cae073 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <>. +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql new file mode 100644 index 00000000..9d81dd53 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <>. +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql new file mode 100644 index 00000000..d483644d --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <> +} diff --git a/queries/sparqlstar/sparql-star-quad-1.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-1.sparql similarity index 63% rename from queries/sparqlstar/sparql-star-quad-1.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-1.sparql index 2d2af0e5..54694be8 100644 --- a/queries/sparqlstar/sparql-star-quad-1.sparql +++ b/queries/sparqlstar-nested-quads/sparql-star-quad-1.sparql @@ -2,7 +2,7 @@ PREFIX ex: PREFIX rdf: SELECT * WHERE { - <> ex:author ex:Bob . + << GRAPH ?g {?s ?p ?o} >> ex:author ex:Bob . << GRAPH ex:graph {ex:Moscow a ex:City} >> ex:author ?person . - << GRAPH ex:g2 { _:b ex:x () }>> ex:broken true . + << GRAPH ex:g2 { _:b ex:x () } >> ex:broken true . } diff --git a/queries/sparqlstar/sparql-star-quad-bind.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-bind.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-quad-bind.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-bind.sparql diff --git a/queries/sparqlstar/sparql-star-quad-nested-1.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-nested-1.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-quad-nested-1.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-nested-1.sparql diff --git a/queries/sparqlstar/sparql-star-quad-nested-2.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-nested-2.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-quad-nested-2.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-nested-2.sparql diff --git a/queries/sparqlstar/sparql-star-quad-nested-3.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-nested-3.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-quad-nested-3.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-nested-3.sparql diff --git a/queries/sparqlstar/sparql-star-quad-nested.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-nested.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-quad-nested.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-nested.sparql diff --git a/queries/sparqlstar/sparql-star-quad-select-bind.sparql b/queries/sparqlstar-nested-quads/sparql-star-quad-select-bind.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-quad-select-bind.sparql rename to queries/sparqlstar-nested-quads/sparql-star-quad-select-bind.sparql diff --git a/queries/sparqlstar/sparql-star-alternate.sparql b/queries/sparqlstar/sparql-star-alternate.sparql new file mode 100644 index 00000000..8d336e96 --- /dev/null +++ b/queries/sparqlstar/sparql-star-alternate.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + << >> :p|:q ?o . +} diff --git a/queries/sparqlstar/sparql-star-sequence-variables.sparql b/queries/sparqlstar/sparql-star-sequence-variables.sparql new file mode 100644 index 00000000..de0fc8e7 --- /dev/null +++ b/queries/sparqlstar/sparql-star-sequence-variables.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <> :p/:q ?o . +} diff --git a/queries/sparqlstar/sparql-star-sequence.sparql b/queries/sparqlstar/sparql-star-sequence.sparql new file mode 100644 index 00000000..55d75010 --- /dev/null +++ b/queries/sparqlstar/sparql-star-sequence.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + << >> :p/:q ?o . +} diff --git a/sparql.js b/sparql.js index e6fe35a1..57990f69 100644 --- a/sparql.js +++ b/sparql.js @@ -15,7 +15,7 @@ module.exports = { * skipUngroupedVariableCheck?: boolean * } */ - Parser: function ({ prefixes, baseIRI, factory, sparqlStar, skipValidation, skipUngroupedVariableCheck } = {}) { + Parser: function ({ prefixes, baseIRI, factory, sparqlStar, skipValidation, skipUngroupedVariableCheck, sparqlStarNestedQuads } = {}) { // Create a copy of the prefixes var prefixesCopy = {}; @@ -30,6 +30,7 @@ module.exports = { Parser.prefixes = Object.create(prefixesCopy); Parser.factory = factory || new DataFactory(); Parser.sparqlStar = Boolean(sparqlStar); + Parser.sparqlStarNestedQuads = Boolean(sparqlStarNestedQuads); // We keep skipUngroupedVariableCheck for compatibility reasons. Parser.skipValidation = Boolean(skipValidation) || Boolean(skipUngroupedVariableCheck) return Parser.prototype.parse.apply(parser, arguments); diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 740fa6cb..04b021bb 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -28,12 +28,17 @@ describe('A SPARQL parser', function () { describe('in SPARQL mode with skipValidation', () => { testQueries('sparql', { skipValidation: true }); testQueries('sparqlstar', { skipValidation: true, mustError: true }); + testQueries('sparqlstar-annotated', { skipValidation: true, mustError: true }); + testQueries('sparqlstar-nested-quads', { skipValidation: true, mustError: true }); testQueries('sparql-skip-validation', { skipValidation: true }); }); - describe('in SPARQL* mode', () => { + describe('in SPARQL-star mode', () => { testQueries('sparql', { sparqlStar: true }); testQueries('sparqlstar', { sparqlStar: true }); + testQueries('sparqlstar-nested-quads', { sparqlStar: true, mustError: true, skipValidation: true }); + // TODO: See if we need skip validation here + // testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); }); @@ -251,7 +256,7 @@ describe('A SPARQL parser', function () { describe('without SPARQL* support enabled', function () { var parser = new SparqlParser(); - const expectedErrorMessage = 'SPARQL* support is not enabled'; + const expectedErrorMessage = 'SPARQL-star support is not enabled'; it('should throw an error on RDF* triple in projection', function () { expect(() => parser.parse( diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json new file mode 100644 index 00000000..c4ed7985 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json @@ -0,0 +1,170 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/author" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/Bob" + } + }, + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/Moscow" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/City" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/Moscow" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/City" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/author" + }, + "object": { + "termType": "Variable", + "value": "person" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "e_b" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/x" + }, + "object": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "BlankNode", + "value": "e_b" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/x" + }, + "object": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/broken" + }, + "object": { + "termType": "Literal", + "value": "true", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#boolean" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + } +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json new file mode 100644 index 00000000..c2528313 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json @@ -0,0 +1,17 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + + ], + "type": "query", + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + } +} diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-1.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-1.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-1.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-1.json diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-bind.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-bind.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-bind.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-bind.json diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-nested-1.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-1.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-nested-1.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-1.json diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-nested-2.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-2.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-nested-2.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-2.json diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-nested-3.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-3.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-nested-3.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-3.json diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-nested.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-nested.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested.json diff --git a/test/parsedQueries/sparqlstar/sparql-star-quad-select-bind.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-select-bind.json similarity index 100% rename from test/parsedQueries/sparqlstar/sparql-star-quad-select-bind.json rename to test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-select-bind.json From c4e77e81845ef1d971db9450e1fa6be973395974 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Sun, 28 Aug 2022 19:46:40 +1000 Subject: [PATCH 09/39] WIP --- test/SparqlParser-test.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 04b021bb..11c486d6 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -36,9 +36,10 @@ describe('A SPARQL parser', function () { describe('in SPARQL-star mode', () => { testQueries('sparql', { sparqlStar: true }); testQueries('sparqlstar', { sparqlStar: true }); + testQueries('sparqlstar-annotated', { sparqlStar: true }); testQueries('sparqlstar-nested-quads', { sparqlStar: true, mustError: true, skipValidation: true }); // TODO: See if we need skip validation here - // testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); + testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); }); From 1854184f69c2798767a37431f9a04ae2e4d1ddcf Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 29 Aug 2022 00:02:18 +1000 Subject: [PATCH 10/39] WIP --- lib/sparql copy.jison | 1215 ----------------- lib/sparql.jison | 23 +- package.json | 4 +- .../sparql-star-annotated-object-list.sparql | 5 + .../sparql-star-annotated-semicolon.sparql | 5 + .../sparql-star-annotated.sparql | 7 + spec/earl-meta.json | 3 +- test/SparqlParser-test.js | 5 +- .../sparql-star-nested-annotated-1.json | 60 +- .../sparql-star-nested-annotated-2.json | 67 + .../sparql-star-nested-annotated-3.json | 1 + .../sparql-star-nested-annotated-4.json | 1 + .../sparql-star-nested-annotated-5.json | 1 + 13 files changed, 167 insertions(+), 1230 deletions(-) delete mode 100644 lib/sparql copy.jison create mode 100644 queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-annotated-semicolon.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-annotated.sparql create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json diff --git a/lib/sparql copy.jison b/lib/sparql copy.jison deleted file mode 100644 index efd8315c..00000000 --- a/lib/sparql copy.jison +++ /dev/null @@ -1,1215 +0,0 @@ -%{ - /* - SPARQL parser in the Jison parser generator format. - */ - - var Wildcard = require('./Wildcard').Wildcard; - - // Common namespaces and entities - var RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', - RDF_TYPE = RDF + 'type', - RDF_FIRST = RDF + 'first', - RDF_REST = RDF + 'rest', - RDF_NIL = RDF + 'nil', - XSD = 'http://www.w3.org/2001/XMLSchema#', - XSD_INTEGER = XSD + 'integer', - XSD_DECIMAL = XSD + 'decimal', - XSD_DOUBLE = XSD + 'double', - XSD_BOOLEAN = XSD + 'boolean'; - - var base = '', basePath = '', baseRoot = ''; - - // Returns a lowercase version of the given string - function lowercase(string) { - return string.toLowerCase(); - } - - // Appends the item to the array and returns the array - function appendTo(array, item) { - return array.push(item), array; - } - - // Appends the items to the array and returns the array - function appendAllTo(array, items) { - return array.push.apply(array, items), array; - } - - // Extends a base object with properties of other objects - function extend(base) { - if (!base) base = {}; - for (var i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) - for (var name in arg) - base[name] = arg[name]; - return base; - } - - // Creates an array that contains all items of the given arrays - function unionAll() { - var union = []; - for (var i = 0, l = arguments.length; i < l; i++) - union = union.concat.apply(union, arguments[i]); - return union; - } - - // Resolves an IRI against a base path - function resolveIRI(iri) { - // Strip off possible angular brackets - if (iri[0] === '<') - iri = iri.substring(1, iri.length - 1); - // Return absolute IRIs unmodified - if (/^[a-z]+:/i.test(iri)) - return iri; - if (!Parser.base) - throw new Error('Cannot resolve relative IRI ' + iri + ' because no base IRI was set.'); - if (base !== Parser.base) { - base = Parser.base; - basePath = base.replace(/[^\/:]*$/, ''); - baseRoot = base.match(/^(?:[a-z]+:\/*)?[^\/]*/)[0]; - } - switch (iri[0]) { - // An empty relative IRI indicates the base IRI - case undefined: - return base; - // Resolve relative fragment IRIs against the base IRI - case '#': - return base + iri; - // Resolve relative query string IRIs by replacing the query string - case '?': - return base.replace(/(?:\?.*)?$/, iri); - // Resolve root relative IRIs at the root of the base IRI - case '/': - return baseRoot + iri; - // Resolve all other IRIs at the base IRI's path - default: - return basePath + iri; - } - } - - // If the item is a variable, ensures it starts with a question mark - function toVar(variable) { - if (variable) { - var first = variable[0]; - if (first === '?' || first === '$') return Parser.factory.variable(variable.substr(1)); - } - return variable; - } - - // Creates an operation with the given name and arguments - function operation(operatorName, args) { - return { type: 'operation', operator: operatorName, args: args || [] }; - } - - // Creates an expression with the given type and attributes - function expression(expr, attr) { - var expression = { expression: expr === '*'? new Wildcard() : expr }; - if (attr) - for (var a in attr) - expression[a] = attr[a]; - return expression; - } - - // Creates a path with the given type and items - function path(type, items) { - return { type: 'path', pathType: type, items: items }; - } - - // Transforms a list of operations types and arguments into a tree of operations - function createOperationTree(initialExpression, operationList) { - for (var i = 0, l = operationList.length, item; i < l && (item = operationList[i]); i++) - initialExpression = operation(item[0], [initialExpression, item[1]]); - return initialExpression; - } - - // Group datasets by default and named - function groupDatasets(fromClauses, groupName) { - var defaults = [], named = [], l = fromClauses.length, fromClause, group = {}; - if (!l) - return null; - for (var i = 0; i < l && (fromClause = fromClauses[i]); i++) - (fromClause.named ? named : defaults).push(fromClause.iri); - group[groupName || 'from'] = { default: defaults, named: named }; - return group; - } - - // Converts the string to a number - function toInt(string) { - return parseInt(string, 10); - } - - // Transforms a possibly single group into its patterns - function degroupSingle(group) { - return group.type === 'group' && group.patterns.length === 1 ? group.patterns[0] : group; - } - - // Creates a literal with the given value and type - function createTypedLiteral(value, type) { - if (type && type.termType !== 'NamedNode'){ - type = Parser.factory.namedNode(type); - } - return Parser.factory.literal(value, type); - } - - // Creates a literal with the given value and language - function createLangLiteral(value, lang) { - return Parser.factory.literal(value, lang); - } - - // Creates a triple with the given subject, predicate, and object - function triple(subject, predicate, object) { - var triple = {}; - if (subject != null) triple.subject = subject; - if (predicate != null) triple.predicate = predicate; - if (object != null) triple.object = object; - return triple; - } - - // Creates a new blank node - function blank(name) { - if (typeof name === 'string') { // Only use name if a name is given - if (name.startsWith('e_')) return Parser.factory.blankNode(name); - return Parser.factory.blankNode('e_' + name); - } - return Parser.factory.blankNode('g_' + blankId++); - }; - var blankId = 0; - Parser._resetBlanks = function () { blankId = 0; } - - // Regular expression and replacement strings to escape strings - var escapeSequence = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\(.)/g, - escapeReplacements = { '\\': '\\', "'": "'", '"': '"', - 't': '\t', 'b': '\b', 'n': '\n', 'r': '\r', 'f': '\f' }, - partialSurrogatesWithoutEndpoint = /[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/, - fromCharCode = String.fromCharCode; - - // Translates escape codes in the string into their textual equivalent - function unescapeString(string, trimLength) { - string = string.substring(trimLength, string.length - trimLength); - try { - string = string.replace(escapeSequence, function (sequence, unicode4, unicode8, escapedChar) { - var charCode; - if (unicode4) { - charCode = parseInt(unicode4, 16); - if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance - return fromCharCode(charCode); - } - else if (unicode8) { - charCode = parseInt(unicode8, 16); - if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance - if (charCode < 0xFFFF) return fromCharCode(charCode); - return fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF)); - } - else { - var replacement = escapeReplacements[escapedChar]; - if (!replacement) throw new Error(); - return replacement; - } - }); - } - catch (error) { return ''; } - - // Test for invalid unicode surrogate pairs - if (partialSurrogatesWithoutEndpoint.exec(string)) { - throw new Error('Invalid unicode codepoint of surrogate pair without corresponding codepoint in ' + string); - } - - return string; - } - - // Creates a list, collecting its (possibly blank) items and triples associated with those items - function createList(objects) { - var list = blank(), head = list, listItems = [], listTriples, triples = []; - objects.forEach(function (o) { listItems.push(o.entity); appendAllTo(triples, o.triples); }); - - // Build an RDF list out of the items - for (var i = 0, j = 0, l = listItems.length, listTriples = Array(l * 2); i < l;) - listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_FIRST), listItems[i]), - listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_REST), head = ++i < l ? blank() : Parser.factory.namedNode(RDF_NIL)); - - // Return the list's identifier, its triples, and the triples associated with its items - return { entity: list, triples: appendAllTo(listTriples, triples) }; - } - - // Creates a blank node identifier, collecting triples with that blank node as subject - function createAnonymousObject(propertyList) { - var entity = blank(); - return { - entity: entity, - triples: propertyList.map(function (t) { return extend(triple(entity), t); }) - }; - } - - // Collects all (possibly blank) objects, and triples that have them as subject - function objectListToTriples(predicate, objectList, otherTriples) { - var objects = [], triples = []; - objectList.forEach(function (l) { - objects.push(triple(null, predicate, l.entity)); - appendAllTo(triples, l.triples); - }); - return unionAll(objects, otherTriples || [], triples); - } - - // Simplifies groups by merging adjacent BGPs - function mergeAdjacentBGPs(groups) { - var merged = [], currentBgp; - for (var i = 0, group; group = groups[i]; i++) { - switch (group.type) { - // Add a BGP's triples to the current BGP - case 'bgp': - if (group.triples.length) { - if (!currentBgp) - appendTo(merged, currentBgp = group); - else - appendAllTo(currentBgp.triples, group.triples); - } - break; - // All other groups break up a BGP - default: - // Only add the group if its pattern is non-empty - if (!group.patterns || group.patterns.length > 0) { - appendTo(merged, group); - currentBgp = null; - } - } - } - return merged; - } - - // Return the id of an expression - function getExpressionId(expression) { - return expression.variable ? expression.variable.value : expression.value || expression.expression.value; - } - - // Get all "aggregate"'s from an expression - function getAggregatesOfExpression(expression) { - if (!expression) { - return []; - } - if (expression.type === 'aggregate') { - return [expression]; - } else if (expression.type === "operation") { - const aggregates = []; - for (const arg of expression.args) { - aggregates.push(...getAggregatesOfExpression(arg)); - } - return aggregates; - } - return []; - } - - // Get all variables used in an expression - function getVariablesFromExpression(expression) { - const variables = new Set(); - const visitExpression = function (expr) { - if (!expr) { return; } - if (expr.termType === "Variable") { - variables.add(expr); - } else if (expr.type === "operation") { - expr.args.forEach(visitExpression); - } - }; - visitExpression(expression); - return variables; - } - - // Helper function to flatten arrays - function flatten(input, depth = 1, stack = []) { - for (const item of input) { - if (depth > 0 && item instanceof Array) { - flatten(item, depth - 1, stack); - } else { - stack.push(item); - } - } - return stack; - } - - function isVariable(term) { - return term.termType === 'Variable'; - } - - function getBoundVarsFromGroupGraphPattern(pattern) { - if (pattern.triples) { - const boundVars = []; - for (const triple of pattern.triples) { - if (isVariable(triple.subject)) boundVars.push(triple.subject.value); - if (isVariable(triple.predicate)) boundVars.push(triple.predicate.value); - if (isVariable(triple.object)) boundVars.push(triple.object.value); - } - return boundVars; - } else if (pattern.patterns) { - const boundVars = []; - for (const pat of pattern.patterns) { - boundVars.push(...getBoundVarsFromGroupGraphPattern(pat)); - } - return boundVars; - } - return []; - } - - // Helper function to find duplicates in array - function getDuplicatesInArray(array) { - const sortedArray = array.slice().sort(); - const duplicates = []; - for (let i = 0; i < sortedArray.length - 1; i++) { - if (sortedArray[i + 1] == sortedArray[i]) { - duplicates.push(sortedArray[i]); - } - } - return duplicates; - } - - function ensureSparqlStar(value) { - if (!Parser.sparqlStar) { - throw new Error('SPARQL* support is not enabled'); - } - return value; - } - - function ensureNoVariables(operations) { - for (const operation of operations) { - if (operation.type === 'graph' && operation.name.termType === 'Variable') { - throw new Error('Detected illegal variable in GRAPH'); - } - if (operation.type === 'bgp' || operation.type === 'graph') { - for (const triple of operation.triples) { - if (triple.subject.termType === 'Variable' || - triple.predicate.termType === 'Variable' || - triple.object.termType === 'Variable') { - throw new Error('Detected illegal variable in BGP'); - } - } - } - } - return operations; - } - - function ensureNoBnodes(operations) { - for (const operation of operations) { - if (operation.type === 'bgp') { - for (const triple of operation.triples) { - if (triple.subject.termType === 'BlankNode' || - triple.predicate.termType === 'BlankNode' || - triple.object.termType === 'BlankNode') { - throw new Error('Detected illegal blank node in BGP'); - } - } - } - } - return operations; - } -%} - -%lex - -// [139] -IRIREF "<"(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*">" -// [140] -PNAME_NS {PN_PREFIX}?":" -// [141] -PNAME_LN {PNAME_NS}{PN_LOCAL} -// [142] -BLANK_NODE_LABEL "_:"(?:{PN_CHARS_U}|[0-9])(?:(?:{PN_CHARS}|".")*{PN_CHARS})? -// [108] (and [143]-[144]) -VAR [\?\$]{VARNAME} -// [145] -LANGTAG "@"[a-zA-Z]+(?:"-"[a-zA-Z0-9]+)* -// [146] -INTEGER [0-9]+ -// [147] -DECIMAL [0-9]*"."[0-9]+ -// [148] -DOUBLE [0-9]+"."[0-9]*{EXPONENT}|"."([0-9])+{EXPONENT}|([0-9])+{EXPONENT} -// [149] -INTEGER_POSITIVE "+"{INTEGER} -// [150] -DECIMAL_POSITIVE "+"{DECIMAL} -// [151] -DOUBLE_POSITIVE "+"{DOUBLE} -// [152] -INTEGER_NEGATIVE "-"{INTEGER} -// [153] -DECIMAL_NEGATIVE "-"{DECIMAL} -// [154] -DOUBLE_NEGATIVE "-"{DOUBLE} -// [155] -EXPONENT [eE][+-]?[0-9]+ -// [156] -STRING_LITERAL1 "'"(?:(?:[^\u0027\u005C\u000A\u000D])|{ECHAR})*"'" -// [157] -STRING_LITERAL2 "\""(?:(?:[^\u0022\u005C\u000A\u000D])|{ECHAR})*'"' -// [158] -STRING_LITERAL_LONG1 "'''"(?:(?:"'"|"''")?(?:[^'\\]|{ECHAR}))*"'''" -// [159] -STRING_LITERAL_LONG2 "\"\"\""(?:(?:"\""|'""')?(?:[^\"\\]|{ECHAR}))*'"""' -// [160] -ECHAR "\\"[tbnrf\\\"']|"\\u"{HEX}{HEX}{HEX}{HEX}|"\\U"{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX} -// [161] -NIL "("{WS}*")" -// [162] -WS \u0020|\u0009|\u000D|\u000A -// [163] -ANON "["{WS}*"]" -// [164] -PN_CHARS_BASE [A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF] -// [165] -PN_CHARS_U (?:{PN_CHARS_BASE}|"_") -// [166] -VARNAME (?:{PN_CHARS_U}|[0-9])(?:{PN_CHARS_U}|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])* -// [167] -PN_CHARS {PN_CHARS_U}|"-"|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040] -// [168] -PN_PREFIX {PN_CHARS_BASE}(?:(?:{PN_CHARS}|".")*{PN_CHARS})? -// [169] -PN_LOCAL (?:{PN_CHARS_U}|":"|[0-9]|{PLX})(?:(?:{PN_CHARS}|"."|":"|{PLX})*(?:{PN_CHARS}|":"|{PLX}))? -// [170] -PLX {PERCENT}|{PN_LOCAL_ESC} -// [171] -PERCENT "%"{HEX}{HEX} -// [172] -HEX [0-9A-Fa-f] -// [173] -PN_LOCAL_ESC "\\"("_"|"~"|"."|"-"|"!"|"$"|"&"|"'"|"("|")"|"*"|"+"|","|";"|"="|"/"|"?"|"#"|"@"|"%") -// TODO: Work out where this fits into the production grammar -COMMENT "#"[^\n\r]* -SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ - -%options flex case-insensitive - -%% - -\s+|{COMMENT} /* ignore */ -"BASE" return 'BASE' -"PREFIX" return 'PREFIX' -"SELECT" return 'SELECT' -"DISTINCT" return 'DISTINCT' -"REDUCED" return 'REDUCED' -"(" return '(' -"AS" return 'AS' -")" return ')' -"*" return '*' -"CONSTRUCT" return 'CONSTRUCT' -"WHERE" return 'WHERE' -"{" return '{' -"}" return '}' -"DESCRIBE" return 'DESCRIBE' -"ASK" return 'ASK' -"FROM" return 'FROM' -"NAMED" return 'NAMED' -"GROUP" return 'GROUP' -"BY" return 'BY' -"HAVING" return 'HAVING' -"ORDER" return 'ORDER' -"ASC" return 'ASC' -"DESC" return 'DESC' -"LIMIT" return 'LIMIT' -"OFFSET" return 'OFFSET' -"VALUES" return 'VALUES' -";" return ';' -"LOAD" return 'LOAD' -"SILENT" return 'SILENT' -"INTO" return 'INTO' -"CLEAR" return 'CLEAR' -"DROP" return 'DROP' -"CREATE" return 'CREATE' -"ADD" return 'ADD' -"TO" return 'TO' -"MOVE" return 'MOVE' -"COPY" return 'COPY' -"INSERT"{SPACES_COMMENTS}"DATA" return 'INSERTDATA' -"DELETE"{SPACES_COMMENTS}"DATA" return 'DELETEDATA' -"DELETE"{SPACES_COMMENTS}"WHERE" return 'DELETEWHERE' -"WITH" return 'WITH' -"DELETE" return 'DELETE' -"INSERT" return 'INSERT' -"USING" return 'USING' -"DEFAULT" return 'DEFAULT' -"GRAPH" return 'GRAPH' -"ALL" return 'ALL' -"." return '.' -"OPTIONAL" return 'OPTIONAL' -"SERVICE" return 'SERVICE' -"BIND" return 'BIND' -"UNDEF" return 'UNDEF' -"MINUS" return 'MINUS' -"UNION" return 'UNION' -"FILTER" return 'FILTER' -"<<" return '<<' -">>" return '>>' -"," return ',' -"a" return 'a' -"|" return '|' -"/" return '/' -"^" return '^' -"?" return '?' -"+" return '+' -"!" return '!' -"[" return '[' -"]" return ']' -"||" return '||' -"&&" return '&&' -"=" return '=' -"!=" return '!=' -"<" return '<' -">" return '>' -"<=" return '<=' -">=" return '>=' -"IN" return 'IN' -"NOT" return 'NOT' -"-" return '-' -"BOUND" return 'BOUND' -"BNODE" return 'BNODE' -("RAND"|"NOW"|"UUID"|"STRUUID") return 'FUNC_ARITY0' -("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC") return 'FUNC_ARITY1' -("LANGMATCHES"|"CONTAINS"|"STRSTARTS"|"STRENDS"|"STRBEFORE"|"STRAFTER"|"STRLANG"|"STRDT"|"sameTerm") return 'FUNC_ARITY2' -"CONCAT" return 'CONCAT' -"COALESCE" return 'COALESCE' -"IF" return 'IF' -"REGEX" return 'REGEX' -"SUBSTR" return 'SUBSTR' -"REPLACE" return 'REPLACE' -"EXISTS" return 'EXISTS' -"COUNT" return 'COUNT' -"SUM"|"MIN"|"MAX"|"AVG"|"SAMPLE" return 'FUNC_AGGREGATE' -"GROUP_CONCAT" return 'GROUP_CONCAT' -"SEPARATOR" return 'SEPARATOR' -"^^" return '^^' -"true"|"false" return 'BOOLEAN' -{IRIREF} return 'IRIREF' -{PNAME_NS} return 'PNAME_NS' -{PNAME_LN} return 'PNAME_LN' -{BLANK_NODE_LABEL} return 'BLANK_NODE_LABEL' -{VAR} return 'VAR' -{LANGTAG} return 'LANGTAG' -{INTEGER} return 'INTEGER' -{DECIMAL} return 'DECIMAL' -{DOUBLE} return 'DOUBLE' -{INTEGER_POSITIVE} return 'INTEGER_POSITIVE' -{DECIMAL_POSITIVE} return 'DECIMAL_POSITIVE' -{DOUBLE_POSITIVE} return 'DOUBLE_POSITIVE' -{INTEGER_NEGATIVE} return 'INTEGER_NEGATIVE' -{DECIMAL_NEGATIVE} return 'DECIMAL_NEGATIVE' -{DOUBLE_NEGATIVE} return 'DOUBLE_NEGATIVE' -{EXPONENT} return 'EXPONENT' -{STRING_LITERAL1} return 'STRING_LITERAL1' -{STRING_LITERAL2} return 'STRING_LITERAL2' -{STRING_LITERAL_LONG1} return 'STRING_LITERAL_LONG1' -{STRING_LITERAL_LONG2} return 'STRING_LITERAL_LONG2' -{NIL} return 'NIL' -{ANON} return 'ANON' -<> return 'EOF' -. return 'INVALID' - -/lex - -%ebnf - -%start QueryOrUpdate - -%% - -QueryOrUpdate - : Prologue ( Query | Update? ) EOF - { - // Set parser options - $2 = $2 || {}; - if (Parser.base) - $2.base = Parser.base; - Parser.base = ''; - $2.prefixes = Parser.prefixes; - Parser.prefixes = null; - - // Ensure that blank nodes are not used across INSERT DATA clauses - if ($2.type === 'update') { - const insertBnodesAll = {}; - for (const update of $2.updates) { - if (update.updateType === 'insert') { - // Collect bnodes for current insert clause - const insertBnodes = {}; - for (const operation of update.insert) { - if (operation.type === 'bgp' || operation.type === 'graph') { - for (const triple of operation.triples) { - if (triple.subject.termType === 'BlankNode') - insertBnodes[triple.subject.value] = true; - if (triple.predicate.termType === 'BlankNode') - insertBnodes[triple.predicate.value] = true; - if (triple.object.termType === 'BlankNode') - insertBnodes[triple.object.value] = true; - } - } - } - - // Check if the inserting bnodes don't clash with bnodes from a previous insert clause - for (const bnode of Object.keys(insertBnodes)) { - if (insertBnodesAll[bnode]) { - throw new Error('Detected reuse blank node across different INSERT DATA clauses'); - } - insertBnodesAll[bnode] = true; - } - } - } - } - - return $2; - } - ; -Prologue - : ( BaseDecl | PrefixDecl )*; -Query - : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> extend($1, $2, { type: 'query' }) - ; -BaseDecl - : 'BASE' IRIREF - { - Parser.base = resolveIRI($2) - } - ; -PrefixDecl - : 'PREFIX' PNAME_NS IRIREF - { - if (!Parser.prefixes) Parser.prefixes = {}; - $2 = $2.substr(0, $2.length - 1); - $3 = resolveIRI($3); - Parser.prefixes[$2] = $3; - } - ; -SelectQuery - : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend($1, groupDatasets($2), $3, $4) - | SelectClauseVars DatasetClause* WhereClause SolutionModifier - { - // Check for projection of ungrouped variable - if (!Parser.skipValidation) { - const counts = flatten($1.variables.map(vars => getAggregatesOfExpression(vars.expression))) - .some(agg => agg.aggregation === "count" && !(agg.expression instanceof Wildcard)); - if (counts || $4.group) { - for (const selectVar of $1.variables) { - if (selectVar.termType === "Variable") { - if (!$4.group || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(selectVar))) { - throw Error("Projection of ungrouped variable (?" + getExpressionId(selectVar) + ")"); - } - } else if (getAggregatesOfExpression(selectVar.expression).length === 0) { - const usedVars = getVariablesFromExpression(selectVar.expression); - for (const usedVar of usedVars) { - if (!$4.group || !$4.group.map || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(usedVar))) { - throw Error("Use of ungrouped variable in projection of operation (?" + getExpressionId(usedVar) + ")"); - } - } - } - } - } - } - // Check if id of each AS-selected column is not yet bound by subquery - const subqueries = $3.where.filter(w => w.type === "query"); - if (subqueries.length > 0) { - const selectedVarIds = $1.variables.filter(v => v.variable && v.variable.value).map(v => v.variable.value); - const subqueryIds = flatten(subqueries.map(sub => sub.variables)).map(v => v.value || v.variable.value); - for (const selectedVarId of selectedVarIds) { - if (subqueryIds.indexOf(selectedVarId) >= 0) { - throw Error("Target id of 'AS' (?" + selectedVarId + ") already used in subquery"); - } - } - } - $$ = extend($1, groupDatasets($2), $3, $4) - } - ; -SelectClauseWildcard - : SelectClauseBase '*' -> extend($1, {variables: [new Wildcard()]}) - ; -SelectClauseVars - : SelectClauseBase SelectClauseItem+ - { - // Check if id of each selected column is different - const selectedVarIds = $2.map(v => v.value || v.variable.value); - const duplicates = getDuplicatesInArray(selectedVarIds); - if (duplicates.length > 0) { - throw Error("Two or more of the resulting columns have the same name (?" + duplicates[0] + ")"); - } - - $$ = extend($1, { variables: $2 }) - } - ; -SelectClauseBase - : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? -> extend({ queryType: 'SELECT'}, $2 && ($1 = lowercase($2), $2 = {}, $2[$1] = true, $2)) - ; -SubSelect - : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) - | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) - ; -SelectClauseItem - : VAR -> toVar($1) - | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) - | '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar(expression($2, { variable: toVar($4) })) - ; -ConstructQuery - : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) - | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) - ; -DescribeQuery - : 'DESCRIBE' ( (VAR | iri)+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2.map(toVar) }, groupDatasets($3), $4, $5) - ; -AskQuery - : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) - ; -DatasetClause - : 'FROM' 'NAMED'? iri -> { iri: $3, named: !!$2 } - ; -WhereClause - : 'WHERE'? GroupGraphPattern -> { where: $2.patterns } - ; -SolutionModifier - : GroupClause? SolutionModifierNoGroup -> extend($1, $2) - ; -SolutionModifierNoGroup - : HavingClause? OrderClause? LimitOffsetClauses? -> extend($1, $2, $3) - ; -GroupClause - : 'GROUP' 'BY' GroupCondition+ -> { group: $3 } - ; -GroupCondition - : BuiltInCall -> expression($1) - | FunctionCall -> expression($1) - | '(' Expression ')' -> expression($2) - | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) - | VAR -> expression(toVar($1)) - ; -HavingClause - : 'HAVING' Constraint+ -> { having: $2 } - ; -OrderClause - : 'ORDER' 'BY' OrderCondition+ -> { order: $3 } - ; -OrderCondition - : 'ASC' BrackettedExpression -> expression($2) - | 'DESC' BrackettedExpression -> expression($2, { descending: true }) - | Constraint -> expression($1) - | VAR -> expression(toVar($1)) - ; -LimitOffsetClauses - : 'LIMIT' INTEGER -> { limit: toInt($2) } - | 'OFFSET' INTEGER -> { offset: toInt($2) } - | 'LIMIT' INTEGER 'OFFSET' INTEGER -> { limit: toInt($2), offset: toInt($4) } - | 'OFFSET' INTEGER 'LIMIT' INTEGER -> { limit: toInt($4), offset: toInt($2) } - ; -ValuesClause - : 'VALUES' InlineData -> { type: 'values', values: $2 } - ; -InlineData - : VAR '{' DataBlockValue* '}' - { - $$ = $3.map(function(v) { var o = {}; o[$1] = v; return o; }) - } - | - NIL '{' NIL* '}' - { - $$ = $3.map(function() { return {}; }) - } - | '(' VAR+ ')' '{' DataBlockValueList* '}' - { - var length = $2.length; - $2 = $2.map(toVar); - $$ = $5.map(function (values) { - if (values.length !== length) - throw Error('Inconsistent VALUES length'); - var valuesObject = {}; - for(var i = 0; i ensureSparqlStar($1) - | 'UNDEF' -> undefined - ; -DataBlockValueList - : '(' DataBlockValue+ ')' -> $2 - ; -Update - : (Update1 ';' Prologue)* Update1 (';' Prologue)? -> { type: 'update', updates: appendTo($1, $2) } - ; -Update1 - : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) - | ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } - | ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } - | 'CREATE' 'SILENT'? 'GRAPH' iri -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $4 } } - | 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } - | 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } - | 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } - | WithClause? InsertClause DeleteClause? UsingClause* 'WHERE' GroupGraphPattern -> extend({ updateType: 'insertdelete' }, $1, { insert: $2 || [] }, { delete: $3 || [] }, groupDatasets($4, 'using'), { where: $6.patterns }) - | WithClause? DeleteClause InsertClause? UsingClause* 'WHERE' GroupGraphPattern -> extend({ updateType: 'insertdelete' }, $1, { delete: $2 || [] }, { insert: $3 || [] }, groupDatasets($4, 'using'), { where: $6.patterns }) - ; -DeleteClause - : 'DELETE' QuadPattern -> ensureNoBnodes($2) - ; -InsertClause - : 'INSERT' QuadPattern -> $2 - ; -UsingClause - : 'USING' 'NAMED'? iri -> { iri: $3, named: !!$2 } - ; -WithClause - : 'WITH' iri -> { graph: $2 } - ; -IntoGraphClause - : 'INTO' 'GRAPH' iri -> $3 - ; -GraphOrDefault - : 'DEFAULT' -> { type: 'graph', default: true } - | 'GRAPH'? iri -> { type: 'graph', name: $2 } - ; - -// [46] -GraphRef - : 'GRAPH' iri -> $2 - ; - -// [47] -GraphRefAll - : GraphRef -> { type: 'graph', name: $1 } - | ( 'DEFAULT' | 'NAMED' | 'ALL' ) -> { [lowercase($1)]: true } - ; -QuadPattern - : '{' TriplesTemplate? QuadsNotTriples* '}' -> $2 ? unionAll($3, [$2]) : unionAll($3) - ; -QuadsNotTriples - : 'GRAPH' (VAR | iri) '{' TriplesTemplate? '}' '.'? TriplesTemplate? - { - var graph = extend($4 || { triples: [] }, { type: 'graph', name: toVar($2) }); - $$ = $7 ? [graph, $7] : [graph]; - } - ; -TriplesTemplate - : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } - ; -GroupGraphPattern - : '{' SubSelect '}' -> { type: 'group', patterns: [ $2 ] } - | '{' GroupGraphPatternSub '}' - { - // For every binding - for (const binding of $2.filter(el => el.type === "bind")) { - const index = $2.indexOf(binding); - const boundVars = new Set(); - //Collect all bounded variables before the binding - for (const el of $2.slice(0, index)) { - if (el.type === "group" || el.type === "bgp") { - getBoundVarsFromGroupGraphPattern(el).forEach(boundVar => boundVars.add(boundVar)); - } - } - // If binding with a non-free variable, throw error - if (boundVars.has(binding.variable.value)) { - throw Error("Variable used to bind is already bound (?" + binding.variable.value + ")"); - } - } - $$ = { type: 'group', patterns: $2 } - } - ; -GroupGraphPatternSub - : TriplesBlock? GroupGraphPatternSubTail* -> $1 ? unionAll([$1], $2) : unionAll($2) - ; -GroupGraphPatternSubTail - : GraphPatternNotTriples '.'? TriplesBlock? -> $3 ? [$1, $3] : $1 - ; -TriplesBlock - : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } - ; -GraphPatternNotTriples - : ( GroupGraphPattern 'UNION' )* GroupGraphPattern - { - if ($1.length) - $$ = { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) }; - else - $$ = $2; - } - | 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) - | 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) - | 'GRAPH' (VAR | iri) GroupGraphPattern -> extend($3, { type: 'graph', name: toVar($2) }) - | 'SERVICE' 'SILENT'? (VAR | iri) GroupGraphPattern -> extend($4, { type: 'service', name: toVar($3), silent: !!$2 }) - | 'FILTER' Constraint -> { type: 'filter', expression: $2 } - | 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } - | 'BIND' '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar({ type: 'bind', variable: toVar($5), expression: $3 }) - | ValuesClause - ; -Constraint - : BrackettedExpression - | BuiltInCall - | FunctionCall - ; -FunctionCall - : iri NIL -> { type: 'functionCall', function: $1, args: [] } - | iri '(' 'DISTINCT'? ( Expression ',' )* Expression ')' -> { type: 'functionCall', function: $1, args: appendTo($4, $5), distinct: !!$3 } - ; -ExpressionList - : NIL -> [] - | '(' ( Expression ',' )* Expression ')' -> appendTo($2, $3) - ; -ConstructTemplate - : '{' ConstructTriples? '}' -> $2 - ; -ConstructTriples - : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> unionAll($1, [$2]) - ; -TriplesSameSubject - : (VarOrTerm | VarTriple) PropertyListNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) - | TriplesNode PropertyList -> appendAllTo($2.map(function (t) { return extend(triple($1.entity), t); }), $1.triples) /* the subject is a blank node, possibly with more triples */ - ; -PropertyList - : PropertyListNotEmpty? - ; -PropertyListNotEmpty - : VerbObjectList ( SemiOptionalVerbObjectList )* -> unionAll([$1], $2) - ; -SemiOptionalVerbObjectList - : ';' VerbObjectList? -> unionAll($2) - ; -VerbObjectList - : Verb ObjectList -> objectListToTriples($1, $2) - ; -Verb - : VAR -> toVar($1) - | iri - | 'a' -> Parser.factory.namedNode(RDF_TYPE) - ; -ObjectList - : (GraphNode ',')* GraphNode -> appendTo($1, $2) - ; -ObjectListPath - : (GraphNodePath ',')* GraphNodePath -> appendTo($1, $2) - ; -TriplesSameSubjectPath - : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) - | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(function (t) { return extend(triple($1.entity), t); }), $1.triples) /* the subject is a blank node, possibly with more triples */ - ; -PropertyListPathNotEmpty - : ( Path | VAR ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples(toVar($1), appendTo($2, $3), $4) - ; -PropertyListPathNotEmptyTail - : ';' -> [] - | ';' ( Path | VAR ) ObjectListPath -> objectListToTriples(toVar($2), $3) - ; -Path - : ( PathSequence '|' )* PathSequence -> $1.length ? path('|',appendTo($1, $2)) : $2 - ; -PathSequence - : ( PathEltOrInverse '/' )* PathEltOrInverse -> $1.length ? path('/', appendTo($1, $2)) : $2 - ; -PathElt - : PathPrimary ( '?' | '*' | '+' )? -> $2 ? path($2, [$1]) : $1 - ; -PathEltOrInverse - : '^'? PathElt -> $1 ? path($1, [$2]) : $2; - ; -PathPrimary - : iri - | 'a' -> Parser.factory.namedNode(RDF_TYPE) - | '!' PathNegatedPropertySet -> path($1, [$2]) - | '(' Path ')' -> $2 - ; -PathNegatedPropertySet - : PathOneInPropertySet - | NIL -> [] - | '(' ( PathOneInPropertySet '|' )* PathOneInPropertySet? ')' -> path('|', appendTo($2, $3)) - ; -PathOneInPropertySet - : iri - | 'a' -> Parser.factory.namedNode(RDF_TYPE) - | '^' iri -> path($1, [$2]) - | '^' 'a' -> path($1, [Parser.factory.namedNode(RDF_TYPE)]) - ; -TriplesNode - : '(' GraphNode+ ')' -> createList($2) - | '[' PropertyListNotEmpty ']' -> createAnonymousObject($2) - ; -TriplesNodePath - : '(' GraphNodePath+ ')' -> createList($2) - | '[' PropertyListPathNotEmpty ']' -> createAnonymousObject($2) - ; -GraphNode - : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ - | TriplesNode - ; -GraphNodePath - : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ - | TriplesNodePath - ; -VarTriple - : '<<' 'GRAPH' (VAR | iri) '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, toVar($3))) - | '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) - ; -ConstTriple - : '<<' 'GRAPH' (VAR | iri) '{' (ConstTriple | Term) Verb (ConstTriple | Term) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, toVar($3))) - | '<<' (ConstTriple | Term) Verb (ConstTriple | Term) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) - ; -VarOrTerm - : VAR -> toVar($1) - | Term - ; -Term - : iri - | Literal - | BlankNode - | NIL -> Parser.factory.namedNode(RDF_NIL) - ; -Expression - : ConditionalAndExpression ExpressionTail* -> createOperationTree($1, $2) - ; -ExpressionTail - : '||' ConditionalAndExpression -> ['||', $2] - ; -ConditionalAndExpression - : RelationalExpression ConditionalAndExpressionTail* -> createOperationTree($1, $2) - ; -ConditionalAndExpressionTail - : '&&' RelationalExpression -> ['&&', $2] - ; -RelationalExpression - : AdditiveExpression - | AdditiveExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) - | AdditiveExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) - ; -AdditiveExpression - : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) - ; -AdditiveExpressionTail - : ( '+' | '-' ) MultiplicativeExpression -> [$1, $2] - | NumericLiteralPositive MultiplicativeExpressionTail* -> ['+', createOperationTree($1, $2)] - | NumericLiteralNegative MultiplicativeExpressionTail* - { - var negatedLiteral = createTypedLiteral($1.value.replace('-', ''), $1.datatype); - $$ = ['-', createOperationTree(negatedLiteral, $2)]; - } - ; -MultiplicativeExpression - : UnaryExpression MultiplicativeExpressionTail* -> createOperationTree($1, $2) - ; -MultiplicativeExpressionTail - : ( '*' | '/' ) UnaryExpression -> [$1, $2] - ; -UnaryExpression - : '+' PrimaryExpression -> operation('UPLUS', [$2]) - | '!' PrimaryExpression -> operation($1, [$2]) - | '-' PrimaryExpression -> operation('UMINUS', [$2]) - | PrimaryExpression -> $1 - ; -PrimaryExpression - : BrackettedExpression - | BuiltInCall - | iri - | FunctionCall - | Literal - | VAR -> toVar($1) - ; -BrackettedExpression - : '(' Expression ')' -> $2 - ; -BuiltInCall - : Aggregate - | FUNC_ARITY0 NIL -> operation(lowercase($1)) - | FUNC_ARITY1 '(' Expression ')' -> operation(lowercase($1), [$3]) - | FUNC_ARITY2 '(' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5]) - | 'IF' '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) - | ( 'CONCAT' | 'COALESCE' | 'SUBSTR' | 'REGEX' | 'REPLACE' ) ExpressionList -> operation(lowercase($1), $2) - | 'BOUND' '(' VAR ')' -> operation('bound', [toVar($3)]) - | 'BNODE' NIL -> operation($1, []) - | 'BNODE' '(' Expression ')' -> operation($1, [$3]) - | 'NOT'? 'EXISTS' GroupGraphPattern -> operation($1 ? 'notexists' :'exists', [degroupSingle($3)]) - ; -Aggregate - : 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) - | FUNC_AGGREGATE '(' 'DISTINCT'? Expression ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) - | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression GroupConcatSeparator? ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3, separator: $5 || ' ' }) - ; -GroupConcatSeparator - : ';' 'SEPARATOR' '=' String -> $4 - ; - -// Summary of [129], [130] & [134] -Literal - : RDFLiteral - | NumericLiteral - | BooleanLiteral - ; - -// [129] -RDFLiteral - : String -> createTypedLiteral($1) - | String LANGTAG -> createLangLiteral($1, lowercase($2.substr(1))) - | String '^^' iri -> createTypedLiteral($1, $3) - ; - -// [130] -NumericLiteral - : NumericLiteralUnsigned - | NumericLiteralPositive - | NumericLiteralNegative - ; - -// [131] -NumericLiteralUnsigned - : INTEGER -> createTypedLiteral($1, XSD_INTEGER) - | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) - | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) - ; - -// [132] -NumericLiteralPositive - : INTEGER_POSITIVE -> createTypedLiteral($1.substr(1), XSD_INTEGER) - | DECIMAL_POSITIVE -> createTypedLiteral($1.substr(1), XSD_DECIMAL) - | DOUBLE_POSITIVE -> createTypedLiteral($1.substr(1).toLowerCase(), XSD_DOUBLE) - ; - -// [133] -NumericLiteralNegative - : INTEGER_NEGATIVE -> createTypedLiteral($1, XSD_INTEGER) - | DECIMAL_NEGATIVE -> createTypedLiteral($1, XSD_DECIMAL) - | DOUBLE_NEGATIVE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) - ; - -// [134] -BooleanLiteral - : BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) - ; - -// [135] -String - : STRING_LITERAL1 -> unescapeString($1, 1) - | STRING_LITERAL2 -> unescapeString($1, 1) - | STRING_LITERAL_LONG1 -> unescapeString($1, 3) - | STRING_LITERAL_LONG2 -> unescapeString($1, 3) - ; - -// [136] -iri - : IRIREF -> Parser.factory.namedNode(resolveIRI($1)) - | PrefixedName - ; - -// [137] -PrefixedName - : PNAME_LN - { - var namePos = $1.indexOf(':'), - prefix = $1.substr(0, namePos), - expansion = Parser.prefixes[prefix]; - if (!expansion) throw new Error('Unknown prefix: ' + prefix); - var uriString = resolveIRI(expansion + $1.substr(namePos + 1)); - $$ = Parser.factory.namedNode(uriString); - } - | PNAME_NS - { - $1 = $1.substr(0, $1.length - 1); - if (!($1 in Parser.prefixes)) throw new Error('Unknown prefix: ' + $1); - var uriString = resolveIRI(Parser.prefixes[$1]); - $$ = Parser.factory.namedNode(uriString); - } - ; - -// [138] -BlankNode - : BLANK_NODE_LABEL -> blank($1.replace(/^(_:)/,'')); - | ANON -> blank() - ; - -// -// Note [139] - [173] are grammar terms that are written above -// diff --git a/lib/sparql.jison b/lib/sparql.jison index 9c4c8a19..451e7204 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -1287,6 +1287,7 @@ ObjectList Object // TODO: Work out what to *actually* do with the AnnotationPattern // TODO: Then add tests + // TODO: Probably also ensureSParqlStar : GraphNode AnnotationPattern? -> $1 ; @@ -1299,6 +1300,20 @@ TriplesSameSubjectPath | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ ; +// [82] Should be propertyListPath + +// [83] +PropertyListPathNotEmpty + : ( VerbPath | VerbSimple ) ObjectListPath PropertyListPathNotEmptyTail* -> objectListToTriples($1, $2, $3) + ; + +// TODO: Double check all of this +PropertyListPathNotEmptyTail + // TODO: Double check this in particular + : ';' -> [] + | ';' ( VerbPath | VerbSimple ) ObjectListPath -> objectListToTriples(toVar($2), $3) + ; + // [84] VerbPath : Path @@ -1320,14 +1335,6 @@ ObjectPath : GraphNodePath AnnotationPatternPath? -> $1 ; -PropertyListPathNotEmpty - : ( Path | Var ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples($1, appendTo($2, $3), $4) - ; -PropertyListPathNotEmptyTail - : ';' -> [] - | ';' ( Path | VAR ) ObjectListPath -> objectListToTriples(toVar($2), $3) - ; - // [88] Path : PathAlternative diff --git a/package.json b/package.json index 7361c9e1..d7c2daf7 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,11 @@ "prepublishOnly": "npm run build", "spec-base-query": "rdf-test-suite spec/parser.js http://w3c.github.io/rdf-tests/sparql11/data-sparql11/manifest-all.ttl -s http://www.w3.org/TR/sparql11-query/ -c .rdf-test-suite-cache/", "spec-base-update": "rdf-test-suite spec/parser.js http://w3c.github.io/rdf-tests/sparql11/data-sparql11/manifest-all.ttl -s http://www.w3.org/TR/sparql11-update/ -c .rdf-test-suite-cache/", + "spec-star": "rdf-test-suite spec/parser.js https://w3c.github.io/rdf-star/tests/sparql/syntax/manifest.jsonld -s https://w3c.github.io/rdf-star/cg-spec/editors_draft.html -c .rdf-test-suite-cache/", "spec-earl-query": "npm run spec-base-query --silent -- -o earl -p spec/earl-meta.json > spec/earl-query.ttl", "spec-earl-update": "npm run spec-base-update --silent -- -o earl -p spec/earl-meta.json > spec/earl-update.ttl", - "spec": "npm run spec-base-query && npm run spec-base-update" + "spec-earl-star": "npm run spec-star --silent -- -o earl -p spec/earl-meta.json > spec/earl-star.ttl", + "spec": "npm run spec-base-query && npm run spec-base-update && npm run spec-star" }, "engines": { "node": ">=8.0" diff --git a/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql new file mode 100644 index 00000000..e0837d87 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql @@ -0,0 +1,5 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p12 ?o12 |}, + ?o2 {| ?p22 ?o22 |}, + ?o3 {| ?p32 ?o32 |}, +} diff --git a/queries/sparqlstar-annotated/sparql-star-annotated-semicolon.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-semicolon.sparql new file mode 100644 index 00000000..ba2fc3f0 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-annotated-semicolon.sparql @@ -0,0 +1,5 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p12 ?o12 |}; + ?p2 ?o2 {| ?p22 ?o22 |}; + ?p3 ?o3 {| ?p32 ?o32 |}; +} diff --git a/queries/sparqlstar-annotated/sparql-star-annotated.sparql b/queries/sparqlstar-annotated/sparql-star-annotated.sparql new file mode 100644 index 00000000..14e11944 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-annotated.sparql @@ -0,0 +1,7 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p12 ?o12 |}; + ?p2 ?o2 {| ?p22 ?o22 |}. + + ?sa1 ?p1 ?o1 {| ?p12 ?o12 |}; + ?p2 ?o2 {| ?p22 ?o22 |}, +} diff --git a/spec/earl-meta.json b/spec/earl-meta.json index fd3c98ae..34be14af 100644 --- a/spec/earl-meta.json +++ b/spec/earl-meta.json @@ -17,6 +17,7 @@ "reportUri": null, "specificationUris": [ "http://www.w3.org/TR/sparql11-query/", - "http://www.w3.org/TR/sparql11-update/" + "http://www.w3.org/TR/sparql11-update/", + "https://w3c.github.io/rdf-star/cg-spec/editors_draft.html" ] } \ No newline at end of file diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 11c486d6..6d0e7501 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -30,6 +30,7 @@ describe('A SPARQL parser', function () { testQueries('sparqlstar', { skipValidation: true, mustError: true }); testQueries('sparqlstar-annotated', { skipValidation: true, mustError: true }); testQueries('sparqlstar-nested-quads', { skipValidation: true, mustError: true }); + testQueries('sparqlstar-invalid', { skipValidation: true, mustError: true }); testQueries('sparql-skip-validation', { skipValidation: true }); }); @@ -37,9 +38,9 @@ describe('A SPARQL parser', function () { testQueries('sparql', { sparqlStar: true }); testQueries('sparqlstar', { sparqlStar: true }); testQueries('sparqlstar-annotated', { sparqlStar: true }); - testQueries('sparqlstar-nested-quads', { sparqlStar: true, mustError: true, skipValidation: true }); + // testQueries('sparqlstar-nested-quads', { sparqlStar: true, mustError: true, skipValidation: true }); // TODO: See if we need skip validation here - testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); + // testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); }); diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json index c2528313..55d3c965 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json @@ -7,11 +7,65 @@ } ], "where": [ - + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + } + ] + } ], "type": "query", "prefixes": { - "ex": "http://example.com/", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json new file mode 100644 index 00000000..9824f944 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json @@ -0,0 +1,67 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + } + ] + } + ], + "type": "query", + "prefixes": { + } +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json @@ -0,0 +1 @@ +{} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json @@ -0,0 +1 @@ +{} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json @@ -0,0 +1 @@ +{} From 032b272532175c561fa05ea76b013f5a1a680e9e Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 29 Aug 2022 14:08:31 +1000 Subject: [PATCH 11/39] chore: temporarily add sparql-conformant --- lib/sparql-conformant.jison | 1630 +++++++++++++++++++++++++++++++++++ 1 file changed, 1630 insertions(+) create mode 100755 lib/sparql-conformant.jison diff --git a/lib/sparql-conformant.jison b/lib/sparql-conformant.jison new file mode 100755 index 00000000..0b513a10 --- /dev/null +++ b/lib/sparql-conformant.jison @@ -0,0 +1,1630 @@ +%{ + /* + SPARQL parser in the Jison parser generator format. + */ + + var Wildcard = require('./Wildcard').Wildcard; + + // Common namespaces and entities + var RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + RDF_TYPE = RDF + 'type', + RDF_FIRST = RDF + 'first', + RDF_REST = RDF + 'rest', + RDF_NIL = RDF + 'nil', + XSD = 'http://www.w3.org/2001/XMLSchema#', + XSD_INTEGER = XSD + 'integer', + XSD_DECIMAL = XSD + 'decimal', + XSD_DOUBLE = XSD + 'double', + XSD_BOOLEAN = XSD + 'boolean'; + + var base = '', basePath = '', baseRoot = ''; + + // Returns a lowercase version of the given string + function lowercase(string) { + return string.toLowerCase(); + } + + // Appends the item to the array and returns the array + function appendTo(array, item) { + return array.push(item), array; + } + + // Appends the items to the array and returns the array + function appendAllTo(array, items) { + return array.push.apply(array, items), array; + } + + // Extends a base object with properties of other objects + function extend(base) { + if (!base) base = {}; + for (var i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) + for (var name in arg) + base[name] = arg[name]; + return base; + } + + // Creates an array that contains all items of the given arrays + function unionAll() { + var union = []; + for (var i = 0, l = arguments.length; i < l; i++) + union = union.concat.apply(union, arguments[i]); + return union; + } + + // Resolves an IRI against a base path + function resolveIRI(iri) { + // Strip off possible angular brackets + if (iri[0] === '<') + iri = iri.substring(1, iri.length - 1); + // Return absolute IRIs unmodified + if (/^[a-z]+:/i.test(iri)) + return iri; + if (!Parser.base) + throw new Error('Cannot resolve relative IRI ' + iri + ' because no base IRI was set.'); + if (base !== Parser.base) { + base = Parser.base; + basePath = base.replace(/[^\/:]*$/, ''); + baseRoot = base.match(/^(?:[a-z]+:\/*)?[^\/]*/)[0]; + } + switch (iri[0]) { + // An empty relative IRI indicates the base IRI + case undefined: + return base; + // Resolve relative fragment IRIs against the base IRI + case '#': + return base + iri; + // Resolve relative query string IRIs by replacing the query string + case '?': + return base.replace(/(?:\?.*)?$/, iri); + // Resolve root relative IRIs at the root of the base IRI + case '/': + return baseRoot + iri; + // Resolve all other IRIs at the base IRI's path + default: + return basePath + iri; + } + } + + // If the item is a variable, ensures it starts with a question mark + function toVar(variable) { + if (variable) { + var first = variable[0]; + if (first === '?' || first === '$') return Parser.factory.variable(variable.substr(1)); + } + return variable; + } + + // Creates an operation with the given name and arguments + function operation(operatorName, args) { + return { type: 'operation', operator: operatorName, args: args || [] }; + } + + // Creates an expression with the given type and attributes + function expression(expr, attr) { + var expression = { expression: expr === '*'? new Wildcard() : expr }; + if (attr) + for (var a in attr) + expression[a] = attr[a]; + return expression; + } + + // Creates a path with the given type and items + function path(type, items) { + return { type: 'path', pathType: type, items: items }; + } + + // Transforms a list of operations types and arguments into a tree of operations + function createOperationTree(initialExpression, operationList) { + for (var i = 0, l = operationList.length, item; i < l && (item = operationList[i]); i++) + initialExpression = operation(item[0], [initialExpression, item[1]]); + return initialExpression; + } + + // Group datasets by default and named + function groupDatasets(fromClauses, groupName) { + var defaults = [], named = [], l = fromClauses.length, fromClause, group = {}; + if (!l) + return null; + for (var i = 0; i < l && (fromClause = fromClauses[i]); i++) + (fromClause.named ? named : defaults).push(fromClause.iri); + group[groupName || 'from'] = { default: defaults, named: named }; + return group; + } + + // Converts the string to a number + function toInt(string) { + return parseInt(string, 10); + } + + // Transforms a possibly single group into its patterns + function degroupSingle(group) { + return group.type === 'group' && group.patterns.length === 1 ? group.patterns[0] : group; + } + + // Creates a literal with the given value and type + function createTypedLiteral(value, type) { + if (type && type.termType !== 'NamedNode'){ + type = Parser.factory.namedNode(type); + } + return Parser.factory.literal(value, type); + } + + // Creates a literal with the given value and language + function createLangLiteral(value, lang) { + return Parser.factory.literal(value, lang); + } + + // Creates a triple with the given subject, predicate, and object + function triple(subject, predicate, object) { + var triple = {}; + if (subject != null) triple.subject = subject; + if (predicate != null) triple.predicate = predicate; + if (object != null) triple.object = object; + return triple; + } + + // Creates a new blank node + function blank(name) { + if (typeof name === 'string') { // Only use name if a name is given + if (name.startsWith('e_')) return Parser.factory.blankNode(name); + return Parser.factory.blankNode('e_' + name); + } + return Parser.factory.blankNode('g_' + blankId++); + }; + var blankId = 0; + Parser._resetBlanks = function () { blankId = 0; } + + // Regular expression and replacement strings to escape strings + var escapeSequence = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\(.)/g, + escapeReplacements = { '\\': '\\', "'": "'", '"': '"', + 't': '\t', 'b': '\b', 'n': '\n', 'r': '\r', 'f': '\f' }, + partialSurrogatesWithoutEndpoint = /[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/, + fromCharCode = String.fromCharCode; + + // Translates escape codes in the string into their textual equivalent + function unescapeString(string, trimLength) { + string = string.substring(trimLength, string.length - trimLength); + try { + string = string.replace(escapeSequence, function (sequence, unicode4, unicode8, escapedChar) { + var charCode; + if (unicode4) { + charCode = parseInt(unicode4, 16); + if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance + return fromCharCode(charCode); + } + else if (unicode8) { + charCode = parseInt(unicode8, 16); + if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance + if (charCode < 0xFFFF) return fromCharCode(charCode); + return fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF)); + } + else { + var replacement = escapeReplacements[escapedChar]; + if (!replacement) throw new Error(); + return replacement; + } + }); + } + catch (error) { return ''; } + + // Test for invalid unicode surrogate pairs + if (partialSurrogatesWithoutEndpoint.exec(string)) { + throw new Error('Invalid unicode codepoint of surrogate pair without corresponding codepoint in ' + string); + } + + return string; + } + + // Creates a list, collecting its (possibly blank) items and triples associated with those items + function createList(objects) { + var list = blank(), head = list, listItems = [], listTriples, triples = []; + objects.forEach(function (o) { listItems.push(o.entity); appendAllTo(triples, o.triples); }); + + // Build an RDF list out of the items + for (var i = 0, j = 0, l = listItems.length, listTriples = Array(l * 2); i < l;) + listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_FIRST), listItems[i]), + listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_REST), head = ++i < l ? blank() : Parser.factory.namedNode(RDF_NIL)); + + // Return the list's identifier, its triples, and the triples associated with its items + return { entity: list, triples: appendAllTo(listTriples, triples) }; + } + + // Creates a blank node identifier, collecting triples with that blank node as subject + function createAnonymousObject(propertyList) { + var entity = blank(); + return { + entity: entity, + triples: propertyList.map(function (t) { return extend(triple(entity), t); }) + }; + } + + // Collects all (possibly blank) objects, and triples that have them as subject + function objectListToTriples(predicate, objectList, otherTriples) { + var objects = [], triples = []; + objectList.forEach(function (l) { + objects.push(triple(null, predicate, l.entity)); + appendAllTo(triples, l.triples); + }); + return unionAll(objects, otherTriples || [], triples); + } + + // Simplifies groups by merging adjacent BGPs + function mergeAdjacentBGPs(groups) { + var merged = [], currentBgp; + for (var i = 0, group; group = groups[i]; i++) { + switch (group.type) { + // Add a BGP's triples to the current BGP + case 'bgp': + if (group.triples.length) { + if (!currentBgp) + appendTo(merged, currentBgp = group); + else + appendAllTo(currentBgp.triples, group.triples); + } + break; + // All other groups break up a BGP + default: + // Only add the group if its pattern is non-empty + if (!group.patterns || group.patterns.length > 0) { + appendTo(merged, group); + currentBgp = null; + } + } + } + return merged; + } + + // Return the id of an expression + function getExpressionId(expression) { + return expression.variable ? expression.variable.value : expression.value || expression.expression.value; + } + + // Get all "aggregate"'s from an expression + function getAggregatesOfExpression(expression) { + if (!expression) { + return []; + } + if (expression.type === 'aggregate') { + return [expression]; + } else if (expression.type === "operation") { + const aggregates = []; + for (const arg of expression.args) { + aggregates.push(...getAggregatesOfExpression(arg)); + } + return aggregates; + } + return []; + } + + // Get all variables used in an expression + function getVariablesFromExpression(expression) { + const variables = new Set(); + const visitExpression = function (expr) { + if (!expr) { return; } + if (expr.termType === "Variable") { + variables.add(expr); + } else if (expr.type === "operation") { + expr.args.forEach(visitExpression); + } + }; + visitExpression(expression); + return variables; + } + + // Helper function to flatten arrays + function flatten(input, depth = 1, stack = []) { + for (const item of input) { + if (depth > 0 && item instanceof Array) { + flatten(item, depth - 1, stack); + } else { + stack.push(item); + } + } + return stack; + } + + function isVariable(term) { + return term.termType === 'Variable'; + } + + function getBoundVarsFromGroupGraphPattern(pattern) { + if (pattern.triples) { + const boundVars = []; + for (const triple of pattern.triples) { + if (isVariable(triple.subject)) boundVars.push(triple.subject.value); + if (isVariable(triple.predicate)) boundVars.push(triple.predicate.value); + if (isVariable(triple.object)) boundVars.push(triple.object.value); + } + return boundVars; + } else if (pattern.patterns) { + const boundVars = []; + for (const pat of pattern.patterns) { + boundVars.push(...getBoundVarsFromGroupGraphPattern(pat)); + } + return boundVars; + } + return []; + } + + // Helper function to find duplicates in array + function getDuplicatesInArray(array) { + const sortedArray = array.slice().sort(); + const duplicates = []; + for (let i = 0; i < sortedArray.length - 1; i++) { + if (sortedArray[i + 1] == sortedArray[i]) { + duplicates.push(sortedArray[i]); + } + } + return duplicates; + } + + function ensureSparqlStar(value) { + if (!Parser.sparqlStar) { + throw new Error('SPARQL* support is not enabled'); + } + return value; + } + + function ensureNoVariables(operations) { + for (const operation of operations) { + if (operation.type === 'graph' && operation.name.termType === 'Variable') { + throw new Error('Detected illegal variable in GRAPH'); + } + if (operation.type === 'bgp' || operation.type === 'graph') { + for (const triple of operation.triples) { + if (triple.subject.termType === 'Variable' || + triple.predicate.termType === 'Variable' || + triple.object.termType === 'Variable') { + throw new Error('Detected illegal variable in BGP'); + } + } + } + } + return operations; + } + + function ensureNoBnodes(operations) { + for (const operation of operations) { + if (operation.type === 'bgp') { + for (const triple of operation.triples) { + if (triple.subject.termType === 'BlankNode' || + triple.predicate.termType === 'BlankNode' || + triple.object.termType === 'BlankNode') { + throw new Error('Detected illegal blank node in BGP'); + } + } + } + } + return operations; + } +%} + +%lex + +// [139] +IRIREF "<"(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*">" +// [140] +PNAME_NS {PN_PREFIX}?":" +// [141] +PNAME_LN {PNAME_NS}{PN_LOCAL} +// [142] +BLANK_NODE_LABEL "_:"(?:{PN_CHARS_U}|[0-9])(?:(?:{PN_CHARS}|".")*{PN_CHARS})? +// [108] (and [143]-[144]) +VAR [\?\$]{VARNAME} +// [145] +LANGTAG "@"[a-zA-Z]+(?:"-"[a-zA-Z0-9]+)* +// [146] +INTEGER [0-9]+ +// [147] +DECIMAL [0-9]*"."[0-9]+ +// [148] +DOUBLE [0-9]+"."[0-9]*{EXPONENT}|"."([0-9])+{EXPONENT}|([0-9])+{EXPONENT} +// [149] +INTEGER_POSITIVE "+"{INTEGER} +// [150] +DECIMAL_POSITIVE "+"{DECIMAL} +// [151] +DOUBLE_POSITIVE "+"{DOUBLE} +// [152] +INTEGER_NEGATIVE "-"{INTEGER} +// [153] +DECIMAL_NEGATIVE "-"{DECIMAL} +// [154] +DOUBLE_NEGATIVE "-"{DOUBLE} +// [155] +EXPONENT [eE][+-]?[0-9]+ +// [156] +STRING_LITERAL1 "'"(?:(?:[^\u0027\u005C\u000A\u000D])|{ECHAR})*"'" +// [157] +STRING_LITERAL2 "\""(?:(?:[^\u0022\u005C\u000A\u000D])|{ECHAR})*'"' +// [158] +STRING_LITERAL_LONG1 "'''"(?:(?:"'"|"''")?(?:[^'\\]|{ECHAR}))*"'''" +// [159] +STRING_LITERAL_LONG2 "\"\"\""(?:(?:"\""|'""')?(?:[^\"\\]|{ECHAR}))*'"""' +// [160] +ECHAR "\\"[tbnrf\\\"']|"\\u"{HEX}{HEX}{HEX}{HEX}|"\\U"{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX} +// [161] +NIL "("{WS}*")" +// [162] +WS \u0020|\u0009|\u000D|\u000A +// [163] +ANON "["{WS}*"]" +// [164] +PN_CHARS_BASE [A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF] +// [165] +PN_CHARS_U (?:{PN_CHARS_BASE}|"_") +// [166] +VARNAME (?:{PN_CHARS_U}|[0-9])(?:{PN_CHARS_U}|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])* +// [167] +PN_CHARS {PN_CHARS_U}|"-"|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040] +// [168] +PN_PREFIX {PN_CHARS_BASE}(?:(?:{PN_CHARS}|".")*{PN_CHARS})? +// [169] +PN_LOCAL (?:{PN_CHARS_U}|":"|[0-9]|{PLX})(?:(?:{PN_CHARS}|"."|":"|{PLX})*(?:{PN_CHARS}|":"|{PLX}))? +// [170] +PLX {PERCENT}|{PN_LOCAL_ESC} +// [171] +PERCENT "%"{HEX}{HEX} +// [172] +HEX [0-9A-Fa-f] +// [173] +PN_LOCAL_ESC "\\"("_"|"~"|"."|"-"|"!"|"$"|"&"|"'"|"("|")"|"*"|"+"|","|";"|"="|"/"|"?"|"#"|"@"|"%") +// TODO: Work out where this fits into the production grammar +COMMENT "#"[^\n\r]* +SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ + +%options flex case-insensitive + +%% + +\s+|{COMMENT} /* ignore */ +"BASE" return 'BASE' +"PREFIX" return 'PREFIX' +"SELECT" return 'SELECT' +"DISTINCT" return 'DISTINCT' +"REDUCED" return 'REDUCED' +"(" return '(' +"AS" return 'AS' +")" return ')' +"*" return '*' +"CONSTRUCT" return 'CONSTRUCT' +"WHERE" return 'WHERE' +"{" return '{' +"}" return '}' +"DESCRIBE" return 'DESCRIBE' +"ASK" return 'ASK' +"FROM" return 'FROM' +"NAMED" return 'NAMED' +"GROUP" return 'GROUP' +"BY" return 'BY' +"HAVING" return 'HAVING' +"ORDER" return 'ORDER' +"ASC" return 'ASC' +"DESC" return 'DESC' +"LIMIT" return 'LIMIT' +"OFFSET" return 'OFFSET' +"VALUES" return 'VALUES' +";" return ';' +"LOAD" return 'LOAD' +"SILENT" return 'SILENT' +"INTO" return 'INTO' +"CLEAR" return 'CLEAR' +"DROP" return 'DROP' +"CREATE" return 'CREATE' +"ADD" return 'ADD' +"TO" return 'TO' +"MOVE" return 'MOVE' +"COPY" return 'COPY' +"INSERT"{SPACES_COMMENTS}"DATA" return 'INSERTDATA' +"DELETE"{SPACES_COMMENTS}"DATA" return 'DELETEDATA' +"DELETE"{SPACES_COMMENTS}"WHERE" return 'DELETEWHERE' +"WITH" return 'WITH' +"DELETE" return 'DELETE' +"INSERT" return 'INSERT' +"USING" return 'USING' +"DEFAULT" return 'DEFAULT' +"GRAPH" return 'GRAPH' +"ALL" return 'ALL' +"." return '.' +"OPTIONAL" return 'OPTIONAL' +"SERVICE" return 'SERVICE' +"BIND" return 'BIND' +"UNDEF" return 'UNDEF' +"MINUS" return 'MINUS' +"UNION" return 'UNION' +"FILTER" return 'FILTER' +"<<" return '<<' +">>" return '>>' +"{|" return '{|' +"|}" return '|}' +"," return ',' +"a" return 'a' +"|" return '|' +"/" return '/' +"^" return '^' +"?" return '?' +"+" return '+' +"!" return '!' +"[" return '[' +"]" return ']' +"||" return '||' +"&&" return '&&' +"=" return '=' +"!=" return '!=' +"<" return '<' +">" return '>' +"<=" return '<=' +">=" return '>=' +"IN" return 'IN' +"NOT" return 'NOT' +"-" return '-' +"BOUND" return 'BOUND' +"BNODE" return 'BNODE' +("RAND"|"NOW"|"UUID"|"STRUUID") return 'FUNC_ARITY0' +("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC"|"SUBJECT"|"PREDICATE"|"OBJECT"|"isTRIPLE") return 'FUNC_ARITY1' +("LANGMATCHES"|"CONTAINS"|"STRSTARTS"|"STRENDS"|"STRBEFORE"|"STRAFTER"|"STRLANG"|"STRDT"|"sameTerm") return 'FUNC_ARITY2' +"CONCAT" return 'CONCAT' +"COALESCE" return 'COALESCE' +("IF"|"TRIPLE") return 'FUNC_ARITY3' +"REGEX" return 'REGEX' +"SUBSTR" return 'SUBSTR' +"REPLACE" return 'REPLACE' +"EXISTS" return 'EXISTS' +"COUNT" return 'COUNT' +"SUM"|"MIN"|"MAX"|"AVG"|"SAMPLE" return 'FUNC_AGGREGATE' +"GROUP_CONCAT" return 'GROUP_CONCAT' +"SEPARATOR" return 'SEPARATOR' +"^^" return '^^' +"true"|"false" return 'BOOLEAN' +{IRIREF} return 'IRIREF' +{PNAME_NS} return 'PNAME_NS' +{PNAME_LN} return 'PNAME_LN' +{BLANK_NODE_LABEL} return 'BLANK_NODE_LABEL' +{VAR} return 'VAR' +{LANGTAG} return 'LANGTAG' +{INTEGER} return 'INTEGER' +{DECIMAL} return 'DECIMAL' +{DOUBLE} return 'DOUBLE' +{INTEGER_POSITIVE} return 'INTEGER_POSITIVE' +{DECIMAL_POSITIVE} return 'DECIMAL_POSITIVE' +{DOUBLE_POSITIVE} return 'DOUBLE_POSITIVE' +{INTEGER_NEGATIVE} return 'INTEGER_NEGATIVE' +{DECIMAL_NEGATIVE} return 'DECIMAL_NEGATIVE' +{DOUBLE_NEGATIVE} return 'DOUBLE_NEGATIVE' +{EXPONENT} return 'EXPONENT' +{STRING_LITERAL1} return 'STRING_LITERAL1' +{STRING_LITERAL2} return 'STRING_LITERAL2' +{STRING_LITERAL_LONG1} return 'STRING_LITERAL_LONG1' +{STRING_LITERAL_LONG2} return 'STRING_LITERAL_LONG2' +{NIL} return 'NIL' +{ANON} return 'ANON' +<> return 'EOF' +. return 'INVALID' + +/lex + +%ebnf + +%start QueryOrUpdate + +%% + +// TODO: Full + +// [1] +QueryUnit + : Query + ; + +// [2] +// TODO: Work out why ValuesClause was optional +Query + : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause -> extend($1, $2, { type: 'query' }) + ; + +// [3] +UpdateUnit + : Update + ; + +// [4] +Prologue + : ( BaseDecl | PrefixDecl )* + ; + +// [5] +BaseDecl + : 'BASE' IRIREF + { + Parser.base = resolveIRI($2) + } + ; + +// [6] +PrefixDecl + : 'PREFIX' PNAME_NS IRIREF + { + if (!Parser.prefixes) Parser.prefixes = {}; + $2 = $2.substr(0, $2.length - 1); + $3 = resolveIRI($3); + Parser.prefixes[$2] = $3; + } + ; + +// [7] Didn't check use of SolutionModifierNoGroup seems off as this introduces a havinClause where not expected. +SelectQuery + : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend($1, groupDatasets($2), $3, $4) + | SelectClauseVars DatasetClause* WhereClause SolutionModifier + { + // Check for projection of ungrouped variable + if (!Parser.skipValidation) { + const counts = flatten($1.variables.map(vars => getAggregatesOfExpression(vars.expression))) + .some(agg => agg.aggregation === "count" && !(agg.expression instanceof Wildcard)); + if (counts || $4.group) { + for (const selectVar of $1.variables) { + if (selectVar.termType === "Variable") { + if (!$4.group || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(selectVar))) { + throw Error("Projection of ungrouped variable (?" + getExpressionId(selectVar) + ")"); + } + } else if (getAggregatesOfExpression(selectVar.expression).length === 0) { + const usedVars = getVariablesFromExpression(selectVar.expression); + for (const usedVar of usedVars) { + if (!$4.group || !$4.group.map || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(usedVar))) { + throw Error("Use of ungrouped variable in projection of operation (?" + getExpressionId(usedVar) + ")"); + } + } + } + } + } + } + // Check if id of each AS-selected column is not yet bound by subquery + const subqueries = $3.where.filter(w => w.type === "query"); + if (subqueries.length > 0) { + const selectedVarIds = $1.variables.filter(v => v.variable && v.variable.value).map(v => v.variable.value); + const subqueryIds = flatten(subqueries.map(sub => sub.variables)).map(v => v.value || v.variable.value); + for (const selectedVarId of selectedVarIds) { + if (subqueryIds.indexOf(selectedVarId) >= 0) { + throw Error("Target id of 'AS' (?" + selectedVarId + ") already used in subquery"); + } + } + } + $$ = extend($1, groupDatasets($2), $3, $4) + } + ; +SelectClauseWildcard + : SelectClauseBase '*' -> extend($1, {variables: [new Wildcard()]}) + ; +SelectClauseVars + : SelectClauseBase SelectClauseItem+ + { + // Check if id of each selected column is different + const selectedVarIds = $2.map(v => v.value || v.variable.value); + const duplicates = getDuplicatesInArray(selectedVarIds); + if (duplicates.length > 0) { + throw Error("Two or more of the resulting columns have the same name (?" + duplicates[0] + ")"); + } + + $$ = extend($1, { variables: $2 }) + } + ; +SelectClauseBase + : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? -> extend({ queryType: 'SELECT'}, $2 && ($1 = lowercase($2), $2 = {}, $2[$1] = true, $2)) + ; +SelectClauseItem + : Var + | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) + | '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar(expression($2, { variable: toVar($4) })) + ; +// [8] Didn't check - optional clause seems disjoint with grammar +SubSelect + : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) + | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) + ; +// [10] Didn't check +ConstructQuery + : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) + | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) + ; +// [11] +DescribeQuery + : 'DESCRIBE' ( VarOrIri+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2 }, groupDatasets($3), $4, $5) + ; +// [12] +// TODO: See why this has solution modifier rather than ValuesClause. +AskQuery + : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) + ; + +// TODO: See where the from should be here +// [13] +DatasetClause + : 'FROM' (DefaultGraphClause | NamedGraphClause) -> $2 + ; +// [14] +DefaultGraphClause + : SourceSelector -> { iri: $1, named: false } + ; +// [15] +NamedGraphClause + : 'NAMED' SourceSelector -> { iri: $2, named: true } + ; +// [16] +SourceSelector + : iri + ; +// [17] +WhereClause + : 'WHERE'? GroupGraphPattern -> { where: $2.patterns } + ; +// [18] +SolutionModifier + : GroupClause? SolutionModifierNoGroup -> extend($1, $2) + ; +// TODO: See why this is necessary rather than just existing in [18] +SolutionModifierNoGroup + : HavingClause? OrderClause? LimitOffsetClauses? -> extend($1, $2, $3) + ; +// [19] +GroupClause + : 'GROUP' 'BY' GroupCondition+ -> { group: $3 } + ; +// [20] +GroupCondition + : BuiltInCall -> expression($1) + | FunctionCall -> expression($1) + | '(' Expression ')' -> expression($2) + | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) + | VAR -> expression(toVar($1)) + ; +// [21] +HavingClause + : 'HAVING' HavingCondition+ -> { having: $2 } + ; +// [22] +HavingCondition + : Constraint + ; +// [23] +OrderClause + : 'ORDER' 'BY' OrderCondition+ -> { order: $3 } + ; +// [24] +OrderCondition + : 'ASC' BrackettedExpression -> expression($2) + | 'DESC' BrackettedExpression -> expression($2, { descending: true }) + | Constraint -> expression($1) + | VAR -> expression(toVar($1)) + ; +// [25] +LimitOffsetClauses + : LimitClause -> { limit: $1 } + | OffsetClause -> { offset: $2 } + | LimitClause OffsetClause -> { limit: $1, offset: $2 } + | OffsetClause LimitClause -> { limit: $2, offset: $1 } + ; +// [26] +LimitClause + : 'LIMIT' INTEGER -> toInt($2) + ; +// [27] +OffsetClause + : 'OFFSET' INTEGER -> toInt($2) + ; +// [28] +// TODO: See why we have InlineData rather than data block here +// TODO: See why it is not all optional +// TODO: Double check this +ValuesClause + : ('VALUES' InlineData)? -> $1 && { type: 'values', values: $2 } + ; + +InlineData + : VAR '{' DataBlockValue* '}' + { + $$ = $3.map(function(v) { var o = {}; o[$1] = v; return o; }) + } + | + NIL '{' NIL* '}' + { + $$ = $3.map(function() { return {}; }) + } + | '(' VAR+ ')' '{' DataBlockValueList* '}' + { + var length = $2.length; + $2 = $2.map(toVar); + $$ = $5.map(function (values) { + if (values.length !== length) + throw Error('Inconsistent VALUES length'); + var valuesObject = {}; + for(var i = 0; i ensureSparqlStar($1) + | 'UNDEF' -> undefined + ; +DataBlockValueList + : '(' DataBlockValue+ ')' -> $2 + ; + +// [29] +// TODO: Establish why this is totally different to the published grammar +Update + : (Update1 ';' Prologue)* Update1 (';' Prologue)? -> { type: 'update', updates: appendTo($1, $2) } + ; + +// [30] +// TODO: Properly factor out [31]-[37] +Update1 + : Load + | ClearOrDrop + // | Clear + // | Drop + | AddOrMoveOrCopy + // | Add + // | Move + // | Copy + | Create + | InsertData + | DeleteData + | DeleteWhere + | Modify + ; + +// [31] +// TODO: See if into graph clause is needed +Load + : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) + ; + +IntoGraphClause + : 'INTO' GraphRef -> $2 + ; + +// [32]-[33] +ClearOrDrop + : ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } + ; + +// [34] +Create + : 'CREATE' 'SILENT'? GraphRef -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $3 } } + ; + +// [35]-[37] +AddOrMoveOrCopy + : ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } + ; + +// [38] +InsertData + : 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } + ; + +// [39] +DeleteData + : 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } + ; + +// [40] +DeleteWhere + : 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } + ; + +// [41] +Modify + : WithClause? InsertDeleteClause UsingClause* 'WHERE' GroupGraphPattern -> { updateType: 'insertdelete', ...$1, ...$2, ...groupDatasets($4, 'using'), where: $6.patterns } + ; + +InsertDeleteClause + : DeleteClause InsertClause? -> { delete: $1, insert: $2 || [] } + | InsertClause -> { delete: [], insert: $1 } + ; + +// [42] +DeleteClause + : 'DELETE' QuadPattern -> ensureNoBnodes($2) + ; + +// [43] +InsertClause + : 'INSERT' QuadPattern -> $2 + ; + +// [44] +UsingClause + : 'USING' 'NAMED'? iri -> { iri: $3, named: !!$2 } + ; + +// [46] +GraphRef + : 'GRAPH' iri -> $2 + ; + +// [47] +GraphRefAll + : GraphRef -> { type: 'graph', name: $1 } + | ( 'DEFAULT' | 'NAMED' | 'ALL' ) -> { [lowercase($1)]: true } + // | ( 'DEFAULT' | 'NAMED' | 'ALL' ) { $$ = {}; $$[lowercase($1)] = true; } + ; + +// [48] +QuadPattern + : QuadBraces + ; + +// [49] +QuadData + : QuadBraces + ; + +QuadBraces + : '{' Quads '}' -> $2 + ; + +// [50] +Quads + : TriplesTemplate? QuadsNotTriples* -> $1 ? unionAll($2, [$1]) : unionAll($2) + // TODO: Actually use this grammar (which *is* different) + // it seems like the problem comes down to TriplesTemplate not being correct + // : TriplesTemplate? ( QuadsNotTriples "."? TriplesTemplate? ) * + ; + + + +// [51] +QuadsNotTriples +// TODO Fix this - it is actually the definition for quad + : 'GRAPH' VarOrIri '{' TriplesTemplate? '}' '.'? TriplesTemplate? + { + var graph = extend($4 || { triples: [] }, { type: 'graph', name: $2 }); + $$ = $7 ? [graph, $7] : [graph]; + } + ; + +// [52] +// TODO: See why this is not identical to the grammar +TriplesTemplate + : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } + ; + +// [53] +GroupGraphPattern + : '{' SubSelect '}' -> { type: 'group', patterns: [ $2 ] } + | '{' GroupGraphPatternSub '}' + { + // For every binding + for (const binding of $2.filter(el => el.type === "bind")) { + const index = $2.indexOf(binding); + const boundVars = new Set(); + //Collect all bounded variables before the binding + for (const el of $2.slice(0, index)) { + if (el.type === "group" || el.type === "bgp") { + getBoundVarsFromGroupGraphPattern(el).forEach(boundVar => boundVars.add(boundVar)); + } + } + // If binding with a non-free variable, throw error + if (boundVars.has(binding.variable.value)) { + throw Error("Variable used to bind is already bound (?" + binding.variable.value + ")"); + } + } + $$ = { type: 'group', patterns: $2 } + } + ; + +// [54] +GroupGraphPatternSub + : TriplesBlock? GroupGraphPatternSubTail* -> $1 ? unionAll([$1], $2) : unionAll($2) + ; + +GroupGraphPatternSubTail + : GraphPatternNotTriples '.'? TriplesBlock? -> $3 ? [$1, $3] : $1 + ; + +// [55] +// TODO: See why this is not identical to the grammar +TriplesBlock + : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } + ; + +// [56] +GraphPatternNotTriples + : GroupOrUnionGraphPattern + | OptionalGraphPattern + | MinusGraphPattern + | GraphGraphPattern + | ServiceGraphPattern + | Filter + | Bind + | InlineData + ; + +// [57] +OptionalGraphPattern + : 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) + ; + +// [58] +GraphGraphPattern + : 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) + ; + +// [59] +ServiceGraphPattern + : 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) + ; + +// [60] +Bind + : 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } + ; + +// [61] +// TODO: See why this was named valuesClause rather than DataBlock +InlineData + : 'VALUES' DataBlock -> { type: 'values', values: $2 } + ; + +// [62] +DataBlock + : InlineDataOneVar + | InlineDataFull + ; + +// [63] +InlineDataOneVar + : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) + ; + +// [64] +InlineDataFull + : NIL '{' NIL* '}' -> $3.map(() => ({})) + | '(' VAR+ ')' '{' DataBlockValueList* '}' + { + var length = $2.length; + $2 = $2.map(toVar); + $$ = $5.map(function (values) { + if (values.length !== length) + throw Error('Inconsistent VALUES length'); + var valuesObject = {}; + for(var i = 0; i ensureSparqlStar($1) + | 'UNDEF' -> undefined + ; + +// [66] +MinusGraphPattern + : 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) + ; + +// [67] +GroupOrUnionGraphPattern + : ( GroupGraphPattern 'UNION' )* GroupGraphPattern -> $1.length ? { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) } : $2 + ; + +// [68] +Filter + : 'FILTER' Constraint -> { type: 'filter', expression: $2 } + ; + +// [69] +Constraint + : BrackettedExpression + | BuiltInCall + | FunctionCall + ; + +// [70] +FunctionCall + : iri ArgList -> { ...$2, function: $1 } + ; + +// [71] +ArgList + : NIL -> { type: 'functionCall', args: [] } + | '(' 'DISTINCT'? ( Expression ',' )* Expression ')' -> { type: 'functionCall', args: appendTo($4, $5), distinct: !!$3 } + ; + +// [72] +ExpressionList + : NIL -> [] + | '(' ( Expression ',' )* Expression ')' -> appendTo($2, $3) + ; + +// [73] +ConstructTemplate + : '{' ConstructTriples? '}' -> $2 + ; + +// [74] +// TODO: See if there is a reason for using this +// representation rather than the grammar representation +ConstructTriples + : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> unionAll($1, [$2]) + ; + +// [75] +TriplesSameSubject + : VarOrTermOrQuotedTP PropertyListNotEmpty -> $2.map(t => extend(triple($1), t)) + | TriplesNode PropertyList -> appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ + ; + +// [76] +PropertyList + : PropertyListNotEmpty? + ; + +// [77] +PropertyListNotEmpty + : VerbObjectList ( SemiOptionalVerbObjectList )* -> unionAll([$1], $2) + ; + +SemiOptionalVerbObjectList + : ';' VerbObjectList? -> unionAll($2) + ; +VerbObjectList + : Verb ObjectList -> objectListToTriples($1, $2) + ; + +// [78] +Verb + : VarOrIri + | 'a' -> Parser.factory.namedNode(RDF_TYPE) + ; + +// [79] +ObjectList + : (Object ',')* Object -> appendTo($1, $2) + ; + +// [80] +Object + // TODO: Work out what to *actually* do with the AnnotationPattern + : GraphNode AnnotationPattern? -> $1 + ; + +// [81] +TriplesSameSubjectPath + : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> $2.map(t => extend(triple($1), t)) + // TODO: See why this is optional since it is not in the grammar + | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ + ; + +// [82] + +// TODO: +// [83] +// PropertyListPathNotEmpty +// : ( Path | VAR ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples(toVar($1), appendTo($2, $3), $4) +// ; + +// [85] +VerbSimple + : Var + ; + +// [86] +ObjectListPath + : (ObjectPath ',')* ObjectPath -> appendTo($1, $2) + ; + +// [87] +ObjectPath + // TODO: Work out what to map this do + : GraphNodePath AnnotationPatternPath? -> $1 + ; + +// [88] +Path + : PathAlternative + ; + +// [89] +PathAlternative + : ( PathSequence '|' )* PathSequence -> $1.length ? path('|',appendTo($1, $2)) : $2 + ; + +// [90] +PathSequence + : ( PathEltOrInverse '/' )* PathEltOrInverse -> $1.length ? path('/', appendTo($1, $2)) : $2 + ; + +// [91] +PathElt + : PathPrimary PathMod? -> $2 ? path($2, [$1]) : $1 + ; + +// [92] +PathEltOrInverse + : '^'? PathElt -> $1 ? path($1, [$2]) : $2; + ; + +// [93] +PathMod + : '?' + | '*' + | '+' + ; + +// [94] +PathPrimary + : IriOrA + | '!' PathNegatedPropertySet -> path($1, [$2]) + | '(' Path ')' -> $2 + ; + +// [95] +PathNegatedPropertySet + : PathOneInPropertySet + // TODO: See why nil is here (its not in the grammar) + | NIL -> [] + | '(' ( PathOneInPropertySet '|' )* PathOneInPropertySet? ')' -> path('|', appendTo($2, $3)) + ; + +// [96] +PathOneInPropertySet + : IriOrA + | '^' IriOrA -> path($1, [$2]) + ; + +// [97] +Integer + : INTEGER + ; + +// [98] +TriplesNode + : Collection + | BlankNodePropertyList + ; + +// [99] +BlankNodePropertyList + : '[' PropertyListNotEmpty ']' -> createAnonymousObject($2) + ; + +// [100] +// TODO: Finish refactoring this +TriplesNodePath + : '(' GraphNodePath+ ')' -> createList($2) + | '[' PropertyListPathNotEmpty ']' -> createAnonymousObject($2) + ; + +// [102] +Collection + : '(' GraphNode+ ')' -> createList($2) + ; + +// [103] +CollectionPath + : '(' GraphNodePath+ ')' -> createList($2) + ; + +// [104] +GraphNode + : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ + | TriplesNode + ; + +// [105] +GraphNodePath + : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ + | TriplesNodePath + ; + +// [106] +VarOrTerm + : Var + // Was previously term + | GraphTerm + ; + +// [107] +// TODO: See if we need a toVar here +VarOrIri + : Var + | iri + ; + +// [108] +Var + : VAR -> toVar($1) + ; + +// [109] +GraphTerm + : iri + | Literal + | BlankNode + // TODO: See if custom handling of NIL is needed here + | NIL + ; + +// [110] +Expression + : ConditionalOrExpression + ; + +// [111] +ConditionalOrExpression + : ConditionalAndExpression ConditionalOrExpressionTail* -> createOperationTree($1, $2) + ; + +ConditionalOrExpressionTail + : '||' ConditionalAndExpression -> ['||', $2] + ; + +// [112] +ConditionalAndExpression + : ValueLogical ConditionalAndExpressionTail* -> createOperationTree($1, $2) + ; + +ConditionalAndExpressionTail + : '&&' ValueLogical -> ['&&', $2] + ; + +// [113] +ValueLogical + : RelationalExpression + ; + +// [114] +RelationalExpression + : NumericExpression + // TODO: Fix missing pipe on sparql-star grammar page + | NumericExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) + | NumericExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) + ; + +// [115] +NumericExpression + : AdditiveExpression + ; + +// [116] +// TODO: Properly check these +AdditiveExpression + : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) + ; +AdditiveExpressionTail + : ( '+' | '-' ) MultiplicativeExpression -> [$1, $2] + | NumericLiteralPositive MultiplicativeExpressionTail* -> ['+', createOperationTree($1, $2)] + | NumericLiteralNegative MultiplicativeExpressionTail* + { + var negatedLiteral = createTypedLiteral($1.value.replace('-', ''), $1.datatype); + $$ = ['-', createOperationTree(negatedLiteral, $2)]; + } + ; + +// [117] +// TODO: properly check +MultiplicativeExpression + : UnaryExpression MultiplicativeExpressionTail* -> createOperationTree($1, $2) + ; +MultiplicativeExpressionTail + : ( '*' | '/' ) UnaryExpression -> [$1, $2] + ; + +// [118] +// TODO: Properly check +UnaryExpression + : '+' PrimaryExpression -> operation('UPLUS', [$2]) + | '!' PrimaryExpression -> operation($1, [$2]) + | '-' PrimaryExpression -> operation('UMINUS', [$2]) + | PrimaryExpression -> $1 + ; + +// [119] +PrimaryExpression + : BrackettedExpression + | BuiltInCall + // TODO: See why this is not iriOrFunctionCall + | iri + | FunctionCall + | Literal + | Var + | ExprQuotedTP + ; + +// [120] +BrackettedExpression + : '(' Expression ')' -> $2 + ; + +// [121] +// TODO: Double check this +BuiltInCall + : Aggregate + | FUNC_ARITY0 NIL -> operation(lowercase($1)) + | FUNC_ARITY1 '(' Expression ')' -> operation(lowercase($1), [$3]) + | FUNC_ARITY2 '(' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5]) + | FUNC_ARITY3 '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) + // [122], [123], [124] + // TODO: Fix this - it is technically incorrect as 'SUBSTR' | 'REGEX' | 'REPLACE' are only allowed 2-3 args + // as opposed to an aribtrary number of args which this allows + | ( 'CONCAT' | 'COALESCE' | 'SUBSTR' | 'REGEX' | 'REPLACE' ) ExpressionList -> operation(lowercase($1), $2) + | 'BOUND' '(' VAR ')' -> operation('bound', [toVar($3)]) + | 'BNODE' NIL -> operation($1, []) + | 'BNODE' '(' Expression ')' -> operation($1, [$3]) + // [125], [126] + | 'NOT'? 'EXISTS' GroupGraphPattern -> operation($1 ? 'notexists' :'exists', [degroupSingle($3)]) + ; + +// [127] +// TODO: Double check this +Aggregate + : 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) + | FUNC_AGGREGATE '(' 'DISTINCT'? Expression ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) + | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression GroupConcatSeparator? ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3, separator: $5 || ' ' }) + ; + +GroupConcatSeparator + : ';' 'SEPARATOR' '=' String -> $4 + ; + +// [128] +iriOrFunction + // TODO: Work out what to do with this. + // : iri ArgList? + : iri + | FunctionCall + ; + +// TODO: Fix things above here + +// Summary of [129], [130] & [134] +Literal + : RDFLiteral + | NumericLiteral + | BooleanLiteral + ; + +// [129] +RDFLiteral + : String -> createTypedLiteral($1) + | String LANGTAG -> createLangLiteral($1, lowercase($2.substr(1))) + | String '^^' iri -> createTypedLiteral($1, $3) + ; + +// [130] +NumericLiteral + : NumericLiteralUnsigned + | NumericLiteralPositive + | NumericLiteralNegative + ; + +// [131] +NumericLiteralUnsigned + : INTEGER -> createTypedLiteral($1, XSD_INTEGER) + | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) + | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) + ; + +// [132] +NumericLiteralPositive + : INTEGER_POSITIVE -> createTypedLiteral($1.substr(1), XSD_INTEGER) + | DECIMAL_POSITIVE -> createTypedLiteral($1.substr(1), XSD_DECIMAL) + | DOUBLE_POSITIVE -> createTypedLiteral($1.substr(1).toLowerCase(), XSD_DOUBLE) + ; + +// [133] +NumericLiteralNegative + : INTEGER_NEGATIVE -> createTypedLiteral($1, XSD_INTEGER) + | DECIMAL_NEGATIVE -> createTypedLiteral($1, XSD_DECIMAL) + | DOUBLE_NEGATIVE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) + ; + +// [134] +BooleanLiteral + : BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) + ; + +// [135] +String + : STRING_LITERAL1 -> unescapeString($1, 1) + | STRING_LITERAL2 -> unescapeString($1, 1) + | STRING_LITERAL_LONG1 -> unescapeString($1, 3) + | STRING_LITERAL_LONG2 -> unescapeString($1, 3) + ; + +// [136] +iri + : IRIREF -> Parser.factory.namedNode(resolveIRI($1)) + | PrefixedName + ; + +// [137] +PrefixedName + : PNAME_LN + { + var namePos = $1.indexOf(':'), + prefix = $1.substr(0, namePos), + expansion = Parser.prefixes[prefix]; + if (!expansion) throw new Error('Unknown prefix: ' + prefix); + var uriString = resolveIRI(expansion + $1.substr(namePos + 1)); + $$ = Parser.factory.namedNode(uriString); + } + | PNAME_NS + { + $1 = $1.substr(0, $1.length - 1); + if (!($1 in Parser.prefixes)) throw new Error('Unknown prefix: ' + $1); + var uriString = resolveIRI(Parser.prefixes[$1]); + $$ = Parser.factory.namedNode(uriString); + } + ; + +// [138] +BlankNode + : BLANK_NODE_LABEL -> blank($1.replace(/^(_:)/,'')); + | ANON -> blank() + ; + +// Note [139] - [173] are grammar terms that are written above // + +// SHOULD BE GOOD AFTER THIS POINT but need to double check - These are all the sparqlStar specific additions + +// [174] +QuotedTP + : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; + +// [175] +QuotedTriple + : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; + +// [176] +qtSubjectOrObject + : VarOrTerm + | QuotedTP + ; +// [177] +DataValueTerm + : iri + | Literal + | QuotedTP + ; +// [178] +VarOrTermOrQuotedTP + : Var + | GraphTerm + | QuotedTP + ; +// [179] +AnnotationPattern + : '{|' PropertyListNotEmpty '|}' -> ensureSparqlStar($2) + ; +// [180] +AnnotationPatternPath + : '{|' PropertyListPathNotEmpty '|}' -> ensureSparqlStar($2) + ; +// [181] +// TODO: Work out how nested graphs should be handled +ExprQuotedTP + : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + ; +// [182] +// TODO: See if this should be overriding something else in the grammar +ExprVarOrTerm + : iri + | Literal + | Var + | ExprQuotedTP + ; From 876bd7beb4d2746f9e7bcfd4866290a5c6bf9e21 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 29 Aug 2022 20:40:50 +1000 Subject: [PATCH 12/39] WIP --- package-lock.json | 4153 +++++++++++++++++++++++++++++---------------- package.json | 8 +- 2 files changed, 2666 insertions(+), 1495 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80698a6c..9d8c146f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,46 +9,55 @@ "version": "3.5.2", "license": "MIT", "dependencies": { - "rdf-data-factory": "^1.0.4" + "rdf-data-factory": "^1.1.1" }, "bin": { "sparqljs": "bin/sparql-to-json" }, "devDependencies": { - "expect": "^24.8.0", + "expect": "^24.9.0", "jison": "0.4.18", - "mocha": "^7.0.0", + "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.11.0" + "rdf-test-suite": "^1.19.2" }, "engines": { "node": ">=8.0" } }, "node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@jest/console": { @@ -107,19 +116,27 @@ "node": ">= 6" } }, + "node_modules/@rdfjs/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/http-link-header": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.2.tgz", - "integrity": "sha512-rWvCGMtwx+01LFVpLbSYagloSMgqDwfzLSx9JcwUEkJWo4oDBKihp6X92Ff5tIS4VE5ojV4wH6iMnAnr/TZhhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "node_modules/@types/istanbul-lib-report": { @@ -142,9 +159,9 @@ } }, "node_modules/@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", "dev": true }, "node_modules/@types/log-symbols": { @@ -158,38 +175,40 @@ } }, "node_modules/@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "node_modules/@types/n3": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.4.4.tgz", - "integrity": "sha512-xsWfwyDh0uAH0CXvwqe9vb2UEDafMjRez/pB7yZwbWpd9Olw2wdxaL32FtdHjmmFE6b9i+j249JfRyZnvWkoqg==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", + "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", "dev": true, "dependencies": { "@types/node": "*", - "@types/rdf-js": "*" + "rdf-js": "^4.0.2" } }, "node_modules/@types/node": { - "version": "14.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz", - "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw==" + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, - "node_modules/@types/rdf-js": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/rdf-js/-/rdf-js-4.0.0.tgz", - "integrity": "sha512-2uaR7ks0380MqzUWGOPOOk9yZIr/6MOaCcaj3ntKgd2PqNocgi8j5kSHIJTDe+5ABtTHqKMSE0v0UqrsT8ibgQ==", + "node_modules/@types/readable-stream": { + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", + "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", + "dev": true, "dependencies": { - "@types/node": "*" + "@types/node": "*", + "safe-buffer": "*" } }, "node_modules/@types/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", "dev": true, "dependencies": { "@types/node": "*" @@ -202,24 +221,36 @@ "dev": true }, "node_modules/@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", "dev": true, "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "dev": true, "optional": true, "engines": { @@ -236,9 +267,9 @@ } }, "node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -257,9 +288,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -281,7 +312,7 @@ "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -299,7 +330,7 @@ "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -308,22 +339,41 @@ "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/arrayify-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-1.0.0.tgz", - "integrity": "sha512-RP80ep76Lbew2wWN5ogrl2NluTnBVYYh2K3NNCcWfcmmUB7nBcNBctiJeEZAixp3I1vQ9H88iHZ9MbHSdkuupQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", + "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", "dev": true }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -342,9 +392,9 @@ } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/base": { @@ -368,7 +418,7 @@ "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" @@ -377,48 +427,30 @@ "node": ">=0.10.0" } }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" @@ -458,7 +490,7 @@ "node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { "is-extendable": "^0.1.0" @@ -467,16 +499,49 @@ "node": ">=0.10.0" } }, + "node_modules/braces/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/cache-base": { @@ -500,13 +565,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -531,9 +596,9 @@ } }, "node_modules/canonicalize": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.3.tgz", - "integrity": "sha512-QWAGweNicWIXzcl7skvUZQ/ArdecS8fOeudnjIU0LYqSdTOSBSap+0VPMas4u11cW3a9sN5AN/aJHQUGfdWLCw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", "dev": true }, "node_modules/chalk": { @@ -619,7 +684,7 @@ "node_modules/cjson": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz", - "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=", + "integrity": "sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==", "dev": true, "dependencies": { "jsonlint": "1.6.0" @@ -646,7 +711,7 @@ "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -655,6 +720,83 @@ "node": ">=0.10.0" } }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -695,7 +837,7 @@ "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "dependencies": { "map-visit": "^1.0.0", @@ -717,13 +859,13 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "node_modules/colors": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", - "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "integrity": "sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==", "dev": true, "engines": { "node": ">=0.1.90" @@ -738,7 +880,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "node_modules/concat-stream": { @@ -756,34 +898,55 @@ "typedarray": "^0.0.6" } }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "node_modules/cross-fetch": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", - "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, "dependencies": { - "node-fetch": "2.6.1" + "node-fetch": "2.6.7" } }, "node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, "dependencies": { "lru-cache": "^4.0.1", @@ -803,7 +966,7 @@ "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -812,22 +975,26 @@ "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true, "engines": { "node": ">=0.10" } }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -843,66 +1010,28 @@ "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.3.1" } }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true, - "engines": { - "node": ">= 6" + "node": ">= 6" } }, "node_modules/ebnf-parser": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", - "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", + "integrity": "sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==", "dev": true }, "node_modules/emoji-regex": { @@ -912,22 +1041,34 @@ "dev": true }, "node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", "dev": true, "dependencies": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -937,14 +1078,14 @@ } }, "node_modules/es-abstract/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -954,6 +1095,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -974,7 +1121,7 @@ "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "engines": { "node": ">=0.8.0" @@ -983,7 +1130,7 @@ "node_modules/escodegen": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", - "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "integrity": "sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==", "dev": true, "dependencies": { "esprima": "~1.1.1", @@ -1004,7 +1151,7 @@ "node_modules/escodegen/node_modules/source-map": { "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", "dev": true, "optional": true, "dependencies": { @@ -1017,7 +1164,7 @@ "node_modules/esprima": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "integrity": "sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==", "dev": true, "bin": { "esparse": "bin/esparse.js", @@ -1030,7 +1177,7 @@ "node_modules/estraverse": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", "dev": true, "engines": { "node": ">=0.4.0" @@ -1039,16 +1186,25 @@ "node_modules/esutils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "dependencies": { "debug": "^2.3.3", @@ -1066,7 +1222,7 @@ "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -1078,7 +1234,7 @@ "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { "is-extendable": "^0.1.0" @@ -1087,6 +1243,92 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expect": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", @@ -1107,7 +1349,7 @@ "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "dependencies": { "assign-symbols": "^1.0.0", @@ -1117,18 +1359,6 @@ "node": ">=0.10.0" } }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", @@ -1151,7 +1381,7 @@ "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" @@ -1163,7 +1393,7 @@ "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { "is-extendable": "^0.1.0" @@ -1172,40 +1402,11 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, "engines": { "node": ">=0.10.0" } @@ -1213,7 +1414,7 @@ "node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { "extend-shallow": "^2.0.1", @@ -1228,7 +1429,7 @@ "node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { "is-extendable": "^0.1.0" @@ -1237,6 +1438,15 @@ "node": ">=0.10.0" } }, + "node_modules/fill-range/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -1261,19 +1471,10 @@ "flat": "cli.js" } }, - "node_modules/flat/node_modules/is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1282,7 +1483,7 @@ "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "dependencies": { "map-cache": "^0.2.2" @@ -1294,7 +1495,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "node_modules/fsevents": { @@ -1318,6 +1519,33 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1328,14 +1556,30 @@ } }, "node_modules/get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1344,7 +1588,7 @@ "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1368,9 +1612,9 @@ } }, "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" @@ -1380,9 +1624,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "node_modules/growl": { @@ -1406,20 +1650,56 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, "engines": { "node": ">= 0.4" }, @@ -1430,7 +1710,7 @@ "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "dependencies": { "get-value": "^2.0.6", @@ -1444,7 +1724,7 @@ "node_modules/has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "dependencies": { "is-number": "^3.0.0", @@ -1454,10 +1734,16 @@ "node": ">=0.10.0" } }, + "node_modules/has-values/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "dependencies": { "is-buffer": "^1.1.5" @@ -1466,6 +1752,16 @@ "node": ">=0.10.0" } }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1476,18 +1772,38 @@ } }, "node_modules/http-link-header": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.3.tgz", - "integrity": "sha512-nARK1wSKoBBrtcoESlHBx36c1Ln/gnbNQi1eB6MeTUefJIT3NvUOsV15bClga0k38f0q/kN5xxrGSDS3EFnm9w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", "dev": true, "engines": { - "node": ">=4.0.0" + "node": ">=6.0.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { "once": "^1.3.0", @@ -1500,30 +1816,44 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1536,16 +1866,49 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } }, "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true, "engines": { "node": ">= 0.4" @@ -1555,34 +1918,25 @@ } }, "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "has-tostringtag": "^1.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -1591,33 +1945,27 @@ } }, "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { "node": ">=0.10.0" } @@ -1625,7 +1973,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1634,16 +1982,16 @@ "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" @@ -1653,18 +2001,21 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { "kind-of": "^3.0.2" @@ -1673,10 +2024,31 @@ "node": ">=0.10.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { "is-buffer": "^1.1.5" @@ -1698,12 +2070,52 @@ } }, "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "dependencies": { - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -1713,12 +2125,12 @@ } }, "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "dependencies": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -1727,6 +2139,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -1739,19 +2175,19 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1849,7 +2285,7 @@ "node_modules/jison-lex": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz", - "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=", + "integrity": "sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==", "dev": true, "dependencies": { "lex-parser": "0.1.x", @@ -1897,7 +2333,7 @@ "node_modules/json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", "dev": true, "dependencies": { "jsonify": "~0.0.0" @@ -1906,20 +2342,20 @@ "node_modules/jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", "dev": true, "engines": { "node": "*" } }, "node_modules/jsonld-context-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.1.tgz", - "integrity": "sha512-7yKhnwFaiCnDPUZYQuAWyT0zZBfOKZDyjtqFVNbXrYRkboU+m55UsastsfXbo7qNroTGdFiEyxHEHDEfBC0P4Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", + "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", "dev": true, "dependencies": { "@types/http-link-header": "^1.0.1", - "@types/node": "^13.1.0", + "@types/node": "^18.0.0", "canonicalize": "^1.0.1", "cross-fetch": "^3.0.6", "http-link-header": "^1.0.2", @@ -1929,31 +2365,28 @@ "jsonld-context-parse": "bin/jsonld-context-parse.js" } }, - "node_modules/jsonld-context-parser/node_modules/@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", - "dev": true - }, "node_modules/jsonld-streaming-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.1.1.tgz", - "integrity": "sha512-QEOV+cMMBZCz30XkkX07/ziyETFDZz1fGlrKpXmnuj/iw9yN2PbvwTVCz4Snk/sy1V2sBVuF5L/ubd2XXerY8w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", + "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", "dev": true, "dependencies": { + "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", - "@types/rdf-js": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", "canonicalize": "^1.0.1", "http-link-header": "^1.0.2", - "jsonld-context-parser": "^2.0.1", + "jsonld-context-parser": "^2.1.3", "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.0.2" + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" } }, "node_modules/jsonlint": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", - "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=", + "integrity": "sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==", "dev": true, "dependencies": { "JSV": ">= 4.0.x", @@ -1969,7 +2402,7 @@ "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" @@ -1978,32 +2411,16 @@ "node_modules/JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", - "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", + "integrity": "sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==", "dev": true, "engines": { "node": ">=0.4.7" } }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/JSV": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", - "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "integrity": "sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==", "dev": true, "engines": { "node": "*" @@ -2021,7 +2438,7 @@ "node_modules/lex-parser": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", - "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", + "integrity": "sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==", "dev": true }, "node_modules/locate-path": { @@ -2038,15 +2455,9 @@ } }, "node_modules/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "node_modules/lodash.uniqwith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz", - "integrity": "sha1-egy/ZfQ7WShiWp1NDcVLGMrcfvM=", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "node_modules/log-symbols": { @@ -2074,7 +2485,7 @@ "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2083,7 +2494,7 @@ "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "dependencies": { "object-visit": "^1.0.0" @@ -2116,6 +2527,12 @@ "node": ">=0.10.0" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -2129,9 +2546,9 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "node_modules/mixin-deep": { @@ -2147,18 +2564,6 @@ "node": ">=0.10.0" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -2245,13 +2650,13 @@ "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "node_modules/n3": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.6.3.tgz", - "integrity": "sha512-dN+8pLw2h1H1WQTW9VR3T16tHPDYdQP+YKXzbcpBCMCb9ZkksUyoVRRdtFGl3vosdET+NIB5eiIgth+4Vit6Yw==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", + "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", "dev": true, "dependencies": { "queue-microtask": "^1.1.2", @@ -2308,18 +2713,29 @@ } }, "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/nomnom": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", - "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", + "integrity": "sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==", "deprecated": "Package no longer supported. Contact support@npmjs.com for more info.", "dev": true, "dependencies": { @@ -2342,7 +2758,7 @@ "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "dependencies": { "copy-descriptor": "^0.1.0", @@ -2356,7 +2772,7 @@ "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -2365,10 +2781,63 @@ "node": ">=0.10.0" } }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { "is-buffer": "^1.1.5" @@ -2378,9 +2847,9 @@ } }, "node_modules/object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2398,7 +2867,7 @@ "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "dependencies": { "isobject": "^3.0.0" @@ -2423,13 +2892,15 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" }, "engines": { "node": ">= 0.8" @@ -2441,7 +2912,7 @@ "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "dependencies": { "isobject": "^3.0.1" @@ -2453,7 +2924,7 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { "wrappy": "1" @@ -2462,7 +2933,7 @@ "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true, "engines": { "node": ">= 0.4.0" @@ -2507,7 +2978,7 @@ "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2516,7 +2987,7 @@ "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { "node": ">=4" @@ -2525,16 +2996,16 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -2546,7 +3017,7 @@ "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2555,7 +3026,7 @@ "node_modules/pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -2567,7 +3038,7 @@ "node_modules/pre-commit/node_modules/which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "integrity": "sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==", "dev": true, "dependencies": { "isexe": "^2.0.0" @@ -2600,19 +3071,19 @@ "node_modules/promise-polyfill": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", "dev": true }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "node_modules/queue-microtask": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.0.tgz", - "integrity": "sha512-J95OVUiS4b8qqmpqhCodN8yPpHG2mpZUPQ8tDGyIY0VhM+kBHszOuvsMJVGNQ1OH2BnTFbqz45i+2jGpDw9H0w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -2630,42 +3101,54 @@ ] }, "node_modules/rdf-data-factory": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.0.4.tgz", - "integrity": "sha512-ZIIwEkLcV7cTc+atvQFzAETFVRHz1BRe/MhdkZqYse8vxskErj8/bF/Ittc3B5c0GTyw6O3jVF2V7xBRGyRoSQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", + "integrity": "sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==", "dependencies": { - "@types/rdf-js": "*" + "@rdfjs/types": "*" } }, "node_modules/rdf-isomorphic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.2.0.tgz", - "integrity": "sha512-Dq+iuWrVuK7q3P4/nychbWhRJ1M5yMAekNJN8f5pjarE8SH9Duy/R0JopVF0I0Q2w0poZlsVKKIBpeG+AdOSAw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "node_modules/rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", "dev": true, "dependencies": { - "rdf-string": "^1.5.0", - "rdf-terms": "^1.6.2" + "@rdfjs/types": "*" } }, "node_modules/rdf-literal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.2.0.tgz", - "integrity": "sha512-N7nyfp/xzoiUuJt0xZ80BvBGkCPwWejgVDkCxWDSuooXKSows4ToW+KouYkMHLcoFzGg1Rlw2lk6btjMJg5aSA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", + "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", "dev": true, "dependencies": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.1" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "node_modules/rdf-object": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.4.0.tgz", - "integrity": "sha512-iRba1XITW3msfi1XCF1vZKrfIGUQdUqWg+FXTeFKbW0sjZKe0Qm3wOzDsL9+dT+goVidYnqDkPhp48Ej2IH02A==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", + "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", "dev": true, "dependencies": { + "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", - "rdf-data-factory": "^1.0.3", - "rdf-string": "^1.5.0", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", "streamify-array": "^1.0.1" } }, @@ -2681,54 +3164,58 @@ } }, "node_modules/rdf-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.5.0.tgz", - "integrity": "sha512-3TEJuDIKUADgZrfcZG+zAN4GfVA1Ei2sKA7Z7QVHkAE36wWoRGPJbGihPQMldgzvy9lG2nzZU+CXz+6oGSQNsQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", + "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", "dev": true, "dependencies": { - "rdf-data-factory": "^1.0.0" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "node_modules/rdf-terms": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.6.2.tgz", - "integrity": "sha512-dASpdYHYLEwzN9iSymJie1WUj6VHXy1By8Am4g2rJlhTfVvNitsJpDY+A3X2QehlGhCaWjHMzXS4q/JKNPI80A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", + "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", "dev": true, "dependencies": { - "lodash.uniqwith": "^4.5.0", - "rdf-data-factory": "^1.0.1" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" } }, "node_modules/rdf-test-suite": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.16.0.tgz", - "integrity": "sha512-Y/rAZMJQV9xSGlmG55cJ1v9/y0Bd+uYQCO3qFKe9LKqXK/3zCrvRLSV8Wr5ag9vfZsOCYlmXZwk75am3YayPzg==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", + "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", "dev": true, "dependencies": { + "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", - "@types/n3": "^1.4.4", - "@types/rdf-js": "*", + "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", - "arrayify-stream": "^1.0.0", + "arrayify-stream": "^2.0.0", "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", "json-stable-stringify": "^1.0.1", - "jsonld-streaming-parser": "^2.1.0", + "jsonld-streaming-parser": "^3.0.0", "log-symbols": "^4.0.0", "minimist": "^1.2.0", - "n3": "^1.1.1", - "rdf-data-factory": "^1.0.3", - "rdf-isomorphic": "^1.2.0", - "rdf-literal": "^1.2.0", - "rdf-object": "^1.3.0", + "n3": "^1.11.1", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-literal": "^1.3.0", + "rdf-object": "^1.11.1", "rdf-quad": "^1.5.0", - "rdf-string": "^1.5.0", - "rdf-terms": "^1.6.2", - "rdfxml-streaming-parser": "^1.4.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "rdfxml-streaming-parser": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", "relative-to-absolute-iri": "^1.0.6", - "sparqljson-parse": "^1.6.0", - "sparqlxml-parse": "^1.4.0", + "sparqljson-parse": "^2.0.1", + "sparqlxml-parse": "^2.0.1", "stream-to-string": "^1.1.0", "streamify-string": "^1.0.1" }, @@ -2752,9 +3239,9 @@ } }, "node_modules/rdf-test-suite/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2795,15 +3282,19 @@ } }, "node_modules/rdf-test-suite/node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/rdf-test-suite/node_modules/supports-color": { @@ -2819,15 +3310,19 @@ } }, "node_modules/rdfxml-streaming-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.4.0.tgz", - "integrity": "sha512-/FKDCq4tuSWz8PZaaPxqIQpenEvRR3Gsqllqg4VmdPFN6WiWfbaD244cKASfXfQHt9Bw7tLsLHsmtA1isIPBCg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", + "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", "dev": true, "dependencies": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", "relative-to-absolute-iri": "^1.0.0", - "sax": "^1.2.4" + "saxes": "^6.0.0", + "validate-iri": "^1.0.0" } }, "node_modules/react-is": { @@ -2837,18 +3332,45 @@ "dev": true }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", "dev": true, "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "abort-controller": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/readdirp": { @@ -2876,6 +3398,23 @@ "node": ">=0.10.0" } }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/relative-to-absolute-iri": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", @@ -2883,9 +3422,9 @@ "dev": true }, "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2894,7 +3433,7 @@ "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, "engines": { "node": ">=0.10" @@ -2903,7 +3442,7 @@ "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" @@ -2918,7 +3457,7 @@ "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, @@ -2932,34 +3471,44 @@ } }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "dependencies": { "ret": "~0.1.10" } }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/sax-stream": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax-stream/-/sax-stream-1.3.0.tgz", - "integrity": "sha512-tcfsAAICAkyNNe4uiKtKmLKxx3C7qPAej13UUoN+7OLYq/P5kHGahZtJhhMVM3fIMndA6TlYHWFlFEzFkv1VGg==", + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "dependencies": { - "debug": "~2", - "sax": "~1" + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" } }, "node_modules/semver": { @@ -2974,7 +3523,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "node_modules/set-value": { @@ -2995,7 +3544,7 @@ "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { "is-extendable": "^0.1.0" @@ -3004,10 +3553,19 @@ "node": ">=0.10.0" } }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { "shebang-regex": "^1.0.0" @@ -3019,12 +3577,26 @@ "node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -3070,7 +3642,7 @@ "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { "is-descriptor": "^1.0.0" @@ -3079,60 +3651,76 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/snapdragon-util/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "kind-of": "^3.2.0" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { "is-buffer": "^1.1.5" @@ -3141,34 +3729,72 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/snapdragon/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/snapdragon/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3198,52 +3824,44 @@ } }, "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, "node_modules/sparqljson-parse": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-1.6.0.tgz", - "integrity": "sha512-alIiURVr3AXIGU6fjuh5k6fwINwGKBQu5QnN9TEpoyIRvukKxZLQE07AHsw/Wxhkxico81tPf8nJTx7H1ira5A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", + "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", "dev": true, "dependencies": { - "@types/node": "^13.1.0", - "@types/rdf-js": "*", - "JSONStream": "^1.3.3", - "rdf-data-factory": "^1.0.2" + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" } }, - "node_modules/sparqljson-parse/node_modules/@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", - "dev": true - }, "node_modules/sparqlxml-parse": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-1.4.0.tgz", - "integrity": "sha512-hKYsRw+KHIF4QXpMtybCSkfVhoQmTdUrUe5WkYnlyyw+3aeskIDnd97TPQi7MNSok2aim02osqkHvWQFNGXm3A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", + "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", "dev": true, "dependencies": { - "@types/node": "^13.1.0", - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.2", - "sax-stream": "^1.2.3" + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "saxes": "^6.0.0" } }, - "node_modules/sparqlxml-parse/node_modules/@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", - "dev": true - }, "node_modules/spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3266,22 +3884,34 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "node_modules/stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "dependencies": { "define-property": "^0.2.5", @@ -3294,7 +3924,7 @@ "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { "is-descriptor": "^0.1.0" @@ -3303,6 +3933,83 @@ "node": ">=0.10.0" } }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stream-to-string": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", @@ -3321,7 +4028,7 @@ "node_modules/streamify-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", "dev": true }, "node_modules/string_decoder": { @@ -3333,6 +4040,12 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -3347,114 +4060,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend/node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart/node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3463,7 +4090,7 @@ "node_modules/strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { "ansi-regex": "^3.0.0" @@ -3473,9 +4100,9 @@ } }, "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { "node": ">=4" @@ -3484,7 +4111,7 @@ "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3502,16 +4129,10 @@ "node": ">=4" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "dependencies": { "kind-of": "^3.0.2" @@ -3520,10 +4141,16 @@ "node": ">=0.10.0" } }, + "node_modules/to-object-path/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { "is-buffer": "^1.1.5" @@ -3550,7 +4177,7 @@ "node_modules/to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { "is-number": "^3.0.0", @@ -3560,16 +4187,37 @@ "node": ">=0.10.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/underscore": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", - "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", + "integrity": "sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==", "dev": true, "engines": { "node": "*" @@ -3590,10 +4238,19 @@ "node": ">=0.10.0" } }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "dependencies": { "has-value": "^0.3.1", @@ -3606,7 +4263,7 @@ "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "dependencies": { "get-value": "^2.0.3", @@ -3620,7 +4277,7 @@ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "dependencies": { "isarray": "1.0.0" @@ -3632,7 +4289,7 @@ "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3641,7 +4298,7 @@ "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, @@ -3657,9 +4314,31 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-iri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", + "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -3672,10 +4351,26 @@ "which": "bin/which" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, "node_modules/wide-align": { @@ -3730,19 +4425,25 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "node_modules/y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, "node_modules/yargs": { @@ -3816,27 +4517,27 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.18.6" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", "dev": true }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } @@ -3885,19 +4586,27 @@ "@types/yargs": "^13.0.0" } }, + "@rdfjs/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", + "requires": { + "@types/node": "*" + } + }, "@types/http-link-header": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.2.tgz", - "integrity": "sha512-rWvCGMtwx+01LFVpLbSYagloSMgqDwfzLSx9JcwUEkJWo4oDBKihp6X92Ff5tIS4VE5ojV4wH6iMnAnr/TZhhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", "dev": true, "requires": { "@types/node": "*" } }, "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "@types/istanbul-lib-report": { @@ -3920,9 +4629,9 @@ } }, "@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", "dev": true }, "@types/log-symbols": { @@ -3935,38 +4644,40 @@ } }, "@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/n3": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.4.4.tgz", - "integrity": "sha512-xsWfwyDh0uAH0CXvwqe9vb2UEDafMjRez/pB7yZwbWpd9Olw2wdxaL32FtdHjmmFE6b9i+j249JfRyZnvWkoqg==", + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", + "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", "dev": true, "requires": { "@types/node": "*", - "@types/rdf-js": "*" + "rdf-js": "^4.0.2" } }, "@types/node": { - "version": "14.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz", - "integrity": "sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw==" + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, - "@types/rdf-js": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/rdf-js/-/rdf-js-4.0.0.tgz", - "integrity": "sha512-2uaR7ks0380MqzUWGOPOOk9yZIr/6MOaCcaj3ntKgd2PqNocgi8j5kSHIJTDe+5ABtTHqKMSE0v0UqrsT8ibgQ==", + "@types/readable-stream": { + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", + "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", + "dev": true, "requires": { - "@types/node": "*" + "@types/node": "*", + "safe-buffer": "*" } }, "@types/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", "dev": true, "requires": { "@types/node": "*" @@ -3979,24 +4690,33 @@ "dev": true }, "@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "dev": true, "optional": true }, @@ -4007,9 +4727,9 @@ "dev": true }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "ansi-styles": { @@ -4022,9 +4742,9 @@ } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -4043,7 +4763,7 @@ "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true }, "arr-flatten": { @@ -4055,25 +4775,38 @@ "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true }, + "array.prototype.reduce": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", + "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, "arrayify-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-1.0.0.tgz", - "integrity": "sha512-RP80ep76Lbew2wWN5ogrl2NluTnBVYYh2K3NNCcWfcmmUB7nBcNBctiJeEZAixp3I1vQ9H88iHZ9MbHSdkuupQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", + "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", "dev": true }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true }, "atob": { @@ -4083,9 +4816,9 @@ "dev": true }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -4106,47 +4839,24 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "brace-expansion": { @@ -4180,11 +4890,17 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true } } }, @@ -4194,10 +4910,20 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "cache-base": { @@ -4218,13 +4944,13 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "callsites": { @@ -4240,9 +4966,9 @@ "dev": true }, "canonicalize": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.3.tgz", - "integrity": "sha512-QWAGweNicWIXzcl7skvUZQ/ArdecS8fOeudnjIU0LYqSdTOSBSap+0VPMas4u11cW3a9sN5AN/aJHQUGfdWLCw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", "dev": true }, "chalk": { @@ -4310,7 +5036,7 @@ "cjson": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz", - "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=", + "integrity": "sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA==", "dev": true, "requires": { "jsonlint": "1.6.0" @@ -4331,11 +5057,74 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -4375,7 +5164,7 @@ "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "requires": { "map-visit": "^1.0.0", @@ -4394,13 +5183,13 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "colors": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", - "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "integrity": "sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg==", "dev": true }, "component-emitter": { @@ -4412,7 +5201,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "concat-stream": { @@ -4425,33 +5214,56 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cross-fetch": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz", - "integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, "requires": { - "node-fetch": "2.6.1" + "node-fetch": "2.6.7" } }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, "requires": { "lru-cache": "^4.0.1", @@ -4471,22 +5283,23 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", "dev": true }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -4497,37 +5310,6 @@ "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } } }, "diff": { @@ -4545,7 +5327,7 @@ "ebnf-parser": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", - "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", + "integrity": "sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ==", "dev": true }, "emoji-regex": { @@ -4555,38 +5337,56 @@ "dev": true }, "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "dependencies": { "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } } } }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -4601,13 +5401,13 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "escodegen": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", - "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "integrity": "sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==", "dev": true, "requires": { "esprima": "~1.1.1", @@ -4619,7 +5419,7 @@ "source-map": { "version": "0.1.43", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==", "dev": true, "optional": true, "requires": { @@ -4631,25 +5431,31 @@ "esprima": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "integrity": "sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==", "dev": true }, "estraverse": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ==", "dev": true }, "esutils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "requires": { "debug": "^2.3.3", @@ -4664,7 +5470,7 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -4673,11 +5479,80 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -4698,22 +5573,11 @@ "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "extglob": { @@ -4734,57 +5598,34 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "is-descriptor": "^1.0.0" } }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true } } }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -4796,11 +5637,17 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true } } }, @@ -4820,26 +5667,18 @@ "dev": true, "requires": { "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - } } }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "requires": { "map-cache": "^0.2.2" @@ -4848,7 +5687,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { @@ -4864,6 +5703,24 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -4871,20 +5728,30 @@ "dev": true }, "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" } }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true }, "glob": { @@ -4902,18 +5769,18 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "growl": { @@ -4931,22 +5798,46 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "requires": { "get-value": "^2.0.6", @@ -4957,17 +5848,23 @@ "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -4975,6 +5872,16 @@ } } }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -4982,15 +5889,21 @@ "dev": true }, "http-link-header": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.3.tgz", - "integrity": "sha512-nARK1wSKoBBrtcoESlHBx36c1Ln/gnbNQi1eB6MeTUefJIT3NvUOsV15bClga0k38f0q/kN5xxrGSDS3EFnm9w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -5003,24 +5916,33 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "kind-of": "^6.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" } }, "is-binary-path": { @@ -5032,109 +5954,112 @@ "binary-extensions": "^2.0.0" } }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true }, "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "kind-of": "^6.0.0" } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } }, "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -5142,6 +6067,15 @@ } } }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -5152,21 +6086,61 @@ } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" } }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "call-bind": "^1.0.2" } }, "is-windows": { @@ -5178,19 +6152,19 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "jest-diff": { @@ -5264,7 +6238,7 @@ "jison-lex": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz", - "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=", + "integrity": "sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw==", "dev": true, "requires": { "lex-parser": "0.1.x", @@ -5298,7 +6272,7 @@ "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", "dev": true, "requires": { "jsonify": "~0.0.0" @@ -5307,50 +6281,45 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", "dev": true }, "jsonld-context-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.1.tgz", - "integrity": "sha512-7yKhnwFaiCnDPUZYQuAWyT0zZBfOKZDyjtqFVNbXrYRkboU+m55UsastsfXbo7qNroTGdFiEyxHEHDEfBC0P4Q==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", + "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", "dev": true, "requires": { "@types/http-link-header": "^1.0.1", - "@types/node": "^13.1.0", + "@types/node": "^18.0.0", "canonicalize": "^1.0.1", "cross-fetch": "^3.0.6", "http-link-header": "^1.0.2", "relative-to-absolute-iri": "^1.0.5" - }, - "dependencies": { - "@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", - "dev": true - } } }, "jsonld-streaming-parser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.1.1.tgz", - "integrity": "sha512-QEOV+cMMBZCz30XkkX07/ziyETFDZz1fGlrKpXmnuj/iw9yN2PbvwTVCz4Snk/sy1V2sBVuF5L/ubd2XXerY8w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", + "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", "dev": true, "requires": { + "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", - "@types/rdf-js": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", "canonicalize": "^1.0.1", "http-link-header": "^1.0.2", - "jsonld-context-parser": "^2.0.1", + "jsonld-context-parser": "^2.1.3", "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.0.2" + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" } }, "jsonlint": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", - "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=", + "integrity": "sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw==", "dev": true, "requires": { "JSV": ">= 4.0.x", @@ -5360,29 +6329,19 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, "JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", - "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", + "integrity": "sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ==", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, "JSV": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", - "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "integrity": "sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==", "dev": true }, "kind-of": { @@ -5394,7 +6353,7 @@ "lex-parser": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", - "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", + "integrity": "sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w==", "dev": true }, "locate-path": { @@ -5408,15 +6367,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "lodash.uniqwith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz", - "integrity": "sha1-egy/ZfQ7WShiWp1NDcVLGMrcfvM=", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "log-symbols": { @@ -5441,13 +6394,13 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "requires": { "object-visit": "^1.0.0" @@ -5474,6 +6427,12 @@ "to-regex": "^3.0.2" } }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -5484,9 +6443,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mixin-deep": { @@ -5497,17 +6456,6 @@ "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "mkdirp": { @@ -5580,13 +6528,13 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "n3": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.6.3.tgz", - "integrity": "sha512-dN+8pLw2h1H1WQTW9VR3T16tHPDYdQP+YKXzbcpBCMCb9ZkksUyoVRRdtFGl3vosdET+NIB5eiIgth+4Vit6Yw==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", + "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", "dev": true, "requires": { "queue-microtask": "^1.1.2", @@ -5636,15 +6584,18 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "dev": true + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } }, "nomnom": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", - "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", + "integrity": "sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==", "dev": true, "requires": { "colors": "0.5.x", @@ -5660,7 +6611,7 @@ "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, "requires": { "copy-descriptor": "^0.1.0", @@ -5671,16 +6622,59 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -5689,9 +6683,9 @@ } }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", "dev": true }, "object-keys": { @@ -5703,7 +6697,7 @@ "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "requires": { "isobject": "^3.0.0" @@ -5722,19 +6716,21 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", + "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "array.prototype.reduce": "^1.0.4", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.1" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -5743,7 +6739,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -5752,7 +6748,7 @@ "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", "dev": true }, "p-limit": { @@ -5782,37 +6778,37 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true }, "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", - "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==", "dev": true, "requires": { "cross-spawn": "^5.0.1", @@ -5823,7 +6819,7 @@ "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "integrity": "sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -5852,58 +6848,70 @@ "promise-polyfill": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, "queue-microtask": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.0.tgz", - "integrity": "sha512-J95OVUiS4b8qqmpqhCodN8yPpHG2mpZUPQ8tDGyIY0VhM+kBHszOuvsMJVGNQ1OH2BnTFbqz45i+2jGpDw9H0w==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "rdf-data-factory": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.0.4.tgz", - "integrity": "sha512-ZIIwEkLcV7cTc+atvQFzAETFVRHz1BRe/MhdkZqYse8vxskErj8/bF/Ittc3B5c0GTyw6O3jVF2V7xBRGyRoSQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", + "integrity": "sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==", "requires": { - "@types/rdf-js": "*" + "@rdfjs/types": "*" } }, "rdf-isomorphic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.2.0.tgz", - "integrity": "sha512-Dq+iuWrVuK7q3P4/nychbWhRJ1M5yMAekNJN8f5pjarE8SH9Duy/R0JopVF0I0Q2w0poZlsVKKIBpeG+AdOSAw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", "dev": true, "requires": { - "rdf-string": "^1.5.0", - "rdf-terms": "^1.6.2" + "@rdfjs/types": "*" } }, "rdf-literal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.2.0.tgz", - "integrity": "sha512-N7nyfp/xzoiUuJt0xZ80BvBGkCPwWejgVDkCxWDSuooXKSows4ToW+KouYkMHLcoFzGg1Rlw2lk6btjMJg5aSA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", + "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", "dev": true, "requires": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.1" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "rdf-object": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.4.0.tgz", - "integrity": "sha512-iRba1XITW3msfi1XCF1vZKrfIGUQdUqWg+FXTeFKbW0sjZKe0Qm3wOzDsL9+dT+goVidYnqDkPhp48Ej2IH02A==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", + "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", "dev": true, "requires": { + "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", - "rdf-data-factory": "^1.0.3", - "rdf-string": "^1.5.0", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", "streamify-array": "^1.0.1" } }, @@ -5919,54 +6927,58 @@ } }, "rdf-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.5.0.tgz", - "integrity": "sha512-3TEJuDIKUADgZrfcZG+zAN4GfVA1Ei2sKA7Z7QVHkAE36wWoRGPJbGihPQMldgzvy9lG2nzZU+CXz+6oGSQNsQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", + "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", "dev": true, "requires": { - "rdf-data-factory": "^1.0.0" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "rdf-terms": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.6.2.tgz", - "integrity": "sha512-dASpdYHYLEwzN9iSymJie1WUj6VHXy1By8Am4g2rJlhTfVvNitsJpDY+A3X2QehlGhCaWjHMzXS4q/JKNPI80A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", + "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", "dev": true, "requires": { - "lodash.uniqwith": "^4.5.0", - "rdf-data-factory": "^1.0.1" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" } }, "rdf-test-suite": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.16.0.tgz", - "integrity": "sha512-Y/rAZMJQV9xSGlmG55cJ1v9/y0Bd+uYQCO3qFKe9LKqXK/3zCrvRLSV8Wr5ag9vfZsOCYlmXZwk75am3YayPzg==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", + "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", "dev": true, "requires": { + "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", - "@types/n3": "^1.4.4", - "@types/rdf-js": "*", + "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", - "arrayify-stream": "^1.0.0", + "arrayify-stream": "^2.0.0", "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", "json-stable-stringify": "^1.0.1", - "jsonld-streaming-parser": "^2.1.0", + "jsonld-streaming-parser": "^3.0.0", "log-symbols": "^4.0.0", "minimist": "^1.2.0", - "n3": "^1.1.1", - "rdf-data-factory": "^1.0.3", - "rdf-isomorphic": "^1.2.0", - "rdf-literal": "^1.2.0", - "rdf-object": "^1.3.0", + "n3": "^1.11.1", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-literal": "^1.3.0", + "rdf-object": "^1.11.1", "rdf-quad": "^1.5.0", - "rdf-string": "^1.5.0", - "rdf-terms": "^1.6.2", - "rdfxml-streaming-parser": "^1.4.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "rdfxml-streaming-parser": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", "relative-to-absolute-iri": "^1.0.6", - "sparqljson-parse": "^1.6.0", - "sparqlxml-parse": "^1.4.0", + "sparqljson-parse": "^2.0.1", + "sparqlxml-parse": "^2.0.1", "stream-to-string": "^1.1.0", "streamify-string": "^1.0.1" }, @@ -5981,9 +6993,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -6012,12 +7024,13 @@ "dev": true }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "supports-color": { @@ -6032,15 +7045,19 @@ } }, "rdfxml-streaming-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.4.0.tgz", - "integrity": "sha512-/FKDCq4tuSWz8PZaaPxqIQpenEvRR3Gsqllqg4VmdPFN6WiWfbaD244cKASfXfQHt9Bw7tLsLHsmtA1isIPBCg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", + "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", "dev": true, "requires": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", "relative-to-absolute-iri": "^1.0.0", - "sax": "^1.2.4" + "saxes": "^6.0.0", + "validate-iri": "^1.0.0" } }, "react-is": { @@ -6050,18 +7067,34 @@ "dev": true }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "abort-controller": "^3.0.0" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "requires": { + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "readdirp": { @@ -6083,6 +7116,17 @@ "safe-regex": "^1.1.0" } }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, "relative-to-absolute-iri": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", @@ -6090,21 +7134,21 @@ "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-main-filename": { @@ -6116,7 +7160,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", "dev": true }, "ret": { @@ -6126,34 +7170,27 @@ "dev": true }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, "requires": { "ret": "~0.1.10" } }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "sax-stream": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax-stream/-/sax-stream-1.3.0.tgz", - "integrity": "sha512-tcfsAAICAkyNNe4uiKtKmLKxx3C7qPAej13UUoN+7OLYq/P5kHGahZtJhhMVM3fIMndA6TlYHWFlFEzFkv1VGg==", + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "requires": { - "debug": "~2", - "sax": "~1" + "xmlchars": "^2.2.0" } }, "semver": { @@ -6165,7 +7202,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, "set-value": { @@ -6183,18 +7220,24 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true } } }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -6203,9 +7246,20 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -6231,7 +7285,7 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" @@ -6240,16 +7294,85 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "requires": { "is-extendable": "^0.1.0" } }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true } } @@ -6268,40 +7391,11 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } } } }, @@ -6314,10 +7408,16 @@ "kind-of": "^3.2.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -6345,55 +7445,43 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "sparqljson-parse": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-1.6.0.tgz", - "integrity": "sha512-alIiURVr3AXIGU6fjuh5k6fwINwGKBQu5QnN9TEpoyIRvukKxZLQE07AHsw/Wxhkxico81tPf8nJTx7H1ira5A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", + "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", "dev": true, "requires": { - "@types/node": "^13.1.0", - "@types/rdf-js": "*", - "JSONStream": "^1.3.3", - "rdf-data-factory": "^1.0.2" - }, - "dependencies": { - "@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", - "dev": true - } + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" } }, "sparqlxml-parse": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-1.4.0.tgz", - "integrity": "sha512-hKYsRw+KHIF4QXpMtybCSkfVhoQmTdUrUe5WkYnlyyw+3aeskIDnd97TPQi7MNSok2aim02osqkHvWQFNGXm3A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", + "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", "dev": true, "requires": { - "@types/node": "^13.1.0", - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.2", - "sax-stream": "^1.2.3" - }, - "dependencies": { - "@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==", - "dev": true - } + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "saxes": "^6.0.0" } }, "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", "dev": true, "requires": { "concat-stream": "^1.4.7", @@ -6412,19 +7500,30 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, "requires": { "define-property": "^0.2.5", @@ -6434,11 +7533,74 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -6460,7 +7622,7 @@ "streamify-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", "dev": true }, "string_decoder": { @@ -6470,6 +7632,14 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "string-width": { @@ -6483,106 +7653,40 @@ } }, "string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "requires": { "ansi-regex": "^3.0.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true } } @@ -6590,7 +7694,7 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true }, "supports-color": { @@ -6602,25 +7706,25 @@ "has-flag": "^3.0.0" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "requires": { "is-buffer": "^1.1.5" @@ -6643,23 +7747,41 @@ "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, "underscore": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", - "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", + "integrity": "sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ==", "dev": true }, "union-value": { @@ -6672,12 +7794,20 @@ "get-value": "^2.0.6", "is-extendable": "^0.1.1", "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } } }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "requires": { "has-value": "^0.3.1", @@ -6687,7 +7817,7 @@ "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "requires": { "get-value": "^2.0.3", @@ -6698,7 +7828,7 @@ "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "requires": { "isarray": "1.0.0" @@ -6709,7 +7839,7 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true } } @@ -6717,7 +7847,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "dev": true }, "use": { @@ -6729,9 +7859,31 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "validate-iri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", + "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -6741,10 +7893,23 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, "wide-align": { @@ -6792,19 +7957,25 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index d7c2daf7..877152b4 100644 --- a/package.json +++ b/package.json @@ -40,14 +40,14 @@ "node": ">=8.0" }, "dependencies": { - "rdf-data-factory": "^1.0.4" + "rdf-data-factory": "^1.1.1" }, "devDependencies": { - "expect": "^24.8.0", + "expect": "^24.9.0", "jison": "0.4.18", - "mocha": "^7.0.0", + "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.11.0" + "rdf-test-suite": "^1.19.2" }, "browser": { "_process": false, From 3a18f9e036b793effab7dbe91601713dc4112053 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Sun, 18 Sep 2022 13:34:18 +1000 Subject: [PATCH 13/39] WIP: Updating tests and working on annotations --- lib/sparql.jison | 12 +- .../sparql-star-nested-annotated-10.sparql | 7 + .../sparql-star-nested-annotated-11.sparql | 7 + .../sparql-star-nested-annotated-6.sparql | 3 + .../sparql-star-nested-annotated-7.sparql | 3 + .../sparql-star-nested-annotated-8.sparql | 3 + .../sparql-star-nested-annotated-9.sparql | 3 + test/SparqlParser-test.js | 1 + .../sparql-star-annotated-object-list.json | 152 ++++++++++++++ .../sparql-star-annotated-semicolon.json | 152 ++++++++++++++ .../sparql-star-annotated.json | 194 ++++++++++++++++++ .../sparql-star-nested-annotated-10.json | 75 +++++++ .../sparql-star-nested-annotated-11.json | 75 +++++++ .../sparql-star-nested-annotated-4.json | 62 +++++- .../sparql-star-nested-annotated-5.json | 65 +++++- .../sparql-star-nested-annotated-6.json | 81 ++++++++ .../sparql-star-nested-annotated-7.json | 81 ++++++++ .../sparql-star-nested-annotated-8.json | 91 ++++++++ .../sparql-star-nested-annotated-9.json | 141 +++++++++++++ 19 files changed, 1204 insertions(+), 4 deletions(-) create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-10.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-11.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-6.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-7.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-8.sparql create mode 100644 queries/sparqlstar-annotated/sparql-star-nested-annotated-9.sparql create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json diff --git a/lib/sparql.jison b/lib/sparql.jison index 451e7204..b3fc15f9 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -242,9 +242,17 @@ function objectListToTriples(predicate, objectList, otherTriples) { var objects = [], triples = []; objectList.forEach(function (l) { + if (l.annotation) { + // objects.push(triple(l.subject, l.predicate, l.object)) + throw new Error(`${JSON.stringify(l, null, 2)}${JSON.stringify(objects, null, 2)}`) + triples.push(triple(l.subject, l.predicate, l.object)) + l = l.object; + } + // throw new Error(`annotation is ${JSON.stringify(l.annotation, null, 2)}`); objects.push(triple(null, predicate, l.entity)); appendAllTo(triples, l.triples); }); + // throw new Error(JSON.stringify(objects, null, 2)) return unionAll(objects, otherTriples || [], triples); } @@ -1288,7 +1296,7 @@ Object // TODO: Work out what to *actually* do with the AnnotationPattern // TODO: Then add tests // TODO: Probably also ensureSParqlStar - : GraphNode AnnotationPattern? -> $1 + : GraphNode AnnotationPattern? -> $2 ? { annotation: $2, object: $1 } : $1 ; // [81] @@ -1332,7 +1340,7 @@ ObjectListPath // [87] ObjectPath // TODO: Work out what to map this do - : GraphNodePath AnnotationPatternPath? -> $1 + : GraphNodePath AnnotationPatternPath? -> $2 ? { object: $1, annotation: $2 } : $1; ; // [88] diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-10.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-10.sparql new file mode 100644 index 00000000..f0ee6473 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-10.sparql @@ -0,0 +1,7 @@ +PREFIX : + +CONSTRUCT { + ?s1 ?p1 ?o1 {| :is true |} +} WHERE { + ?s1 ?p1 ?o1 +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-11.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-11.sparql new file mode 100644 index 00000000..abece945 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-11.sparql @@ -0,0 +1,7 @@ +PREFIX : + +CONSTRUCT { + ?s1 ?p1 ?o1 +} WHERE { + ?s1 ?p1 ?o1 {| :is true |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-6.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-6.sparql new file mode 100644 index 00000000..6db76d0e --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-6.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p2 ?o2, ?o3 |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-7.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-7.sparql new file mode 100644 index 00000000..7d93e4a8 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-7.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p2 ?o2; ?p3 ?o3 |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-8.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-8.sparql new file mode 100644 index 00000000..039b5ee9 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-8.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p2 ?o2 {| ?p3 ?o3 |} |} +} diff --git a/queries/sparqlstar-annotated/sparql-star-nested-annotated-9.sparql b/queries/sparqlstar-annotated/sparql-star-nested-annotated-9.sparql new file mode 100644 index 00000000..fc69e498 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-nested-annotated-9.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + ?s1 ?p1 ?o1 {| ?p2 ?o2 {| ?p3 ?o3 {| ?p4 ?o4 |} |} |} +} diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 6d0e7501..0b162c37 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -458,6 +458,7 @@ function testQueries(directory, settings) { var parsedQuery = parseJSON(fs.readFileSync(parsedQueryFile, 'utf8')); const parsed = parser.parse(sparql); + console.log(JSON.stringify(parsed, null, 2)) expect(parsed).toEqualParsedQuery(parsedQuery); }); } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json new file mode 100644 index 00000000..bb6652d9 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json @@ -0,0 +1,152 @@ + +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p12" + }, + "object": { + "termType": "Variable", + "value": "o12" + } + }, + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p22" + }, + "object": { + "termType": "Variable", + "value": "o22" + } + }, + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o3" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p32" + }, + "object": { + "termType": "Variable", + "value": "o32" + } + } + ] + } + ], + "type": "query", + "prefixes": { + } +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json new file mode 100644 index 00000000..982744ba --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json @@ -0,0 +1,152 @@ + +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p12" + }, + "object": { + "termType": "Variable", + "value": "o12" + } + }, + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p22" + }, + "object": { + "termType": "Variable", + "value": "o22" + } + }, + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p32" + }, + "object": { + "termType": "Variable", + "value": "o32" + } + } + ] + } + ], + "type": "query", + "prefixes": { + } +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json new file mode 100644 index 00000000..35d1053f --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json @@ -0,0 +1,194 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p12" + }, + "object": { + "termType": "Variable", + "value": "o12" + } + }, + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p22" + }, + "object": { + "termType": "Variable", + "value": "o22" + } + }, + { + "subject": { + "termType": "Variable", + "value": "sa1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "sa1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p12" + }, + "object": { + "termType": "Variable", + "value": "o12" + } + }, + { + "subject": { + "termType": "Variable", + "value": "sa1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "sa1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p22" + }, + "object": { + "termType": "Variable", + "value": "o22" + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json new file mode 100644 index 00000000..c3be8c6d --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json @@ -0,0 +1,75 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.org#is" + }, + "object": { + "termType": "Literal", + "value": "true", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#boolean" + } + } + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.org#" + } +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json new file mode 100644 index 00000000..918a3d54 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json @@ -0,0 +1,75 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.org#is" + }, + "object": { + "termType": "Literal", + "value": "true", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#boolean" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.org#" + } +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json index 0967ef42..45c4f5b0 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json @@ -1 +1,61 @@ -{} +{ + "queryType": "SELECT", + "variables": [ + {} + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Variable", + "value": "o0" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s2" + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json index 0967ef42..51f5fe5f 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json @@ -1 +1,64 @@ -{} +{ + "queryType": "SELECT", + "variables": [ + {} + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s2" + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "graph": { + "termType": "DefaultGraph", + "value": "" + } + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "p1" + } + }, + { + "TODO": "ADD THIS" + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json new file mode 100644 index 00000000..c660ea51 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json @@ -0,0 +1,81 @@ +{ + "queryType": "SELECT", + "variables": [ + {} + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json new file mode 100644 index 00000000..5fb87b89 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json @@ -0,0 +1,81 @@ +{ + "queryType": "SELECT", + "variables": [ + {} + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json new file mode 100644 index 00000000..abfd507d --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json @@ -0,0 +1,91 @@ +{ + "queryType": "SELECT", + "variables": [{}], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json new file mode 100644 index 00000000..5f1c1902 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json @@ -0,0 +1,141 @@ +{ + "queryType": "SELECT", + "variables": [{}], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + }, + "predicate": { + "termType": "Variable", + "value": "p4" + }, + "object": { + "termType": "Variable", + "value": "o4" + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} From be849d3779a587975d3e6b4cd254b4f20d2def8a Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Sun, 18 Sep 2022 15:33:33 +1000 Subject: [PATCH 14/39] WIP: working on annotations --- lib/sparql.jison | 63 ++++++++++++++++--- .../sparql-star-nested-annotated-1.json | 8 --- .../sparql-star-nested-annotated-10.json | 4 ++ .../sparql-star-nested-annotated-11.json | 4 ++ .../sparql-star-nested-annotated-9.json | 24 +++++++ 5 files changed, 85 insertions(+), 18 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index b3fc15f9..bc69e19d 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -155,11 +155,12 @@ } // Creates a triple with the given subject, predicate, and object - function triple(subject, predicate, object) { + function triple(subject, predicate, object, annotations) { var triple = {}; if (subject != null) triple.subject = subject; if (predicate != null) triple.predicate = predicate; if (object != null) triple.object = object; + if (annotations != null) triple.annotations = annotations; return triple; } @@ -242,17 +243,18 @@ function objectListToTriples(predicate, objectList, otherTriples) { var objects = [], triples = []; objectList.forEach(function (l) { + let annotation = null; if (l.annotation) { // objects.push(triple(l.subject, l.predicate, l.object)) - throw new Error(`${JSON.stringify(l, null, 2)}${JSON.stringify(objects, null, 2)}`) - triples.push(triple(l.subject, l.predicate, l.object)) + // throw new Error(`${JSON.stringify(l, null, 2)}${JSON.stringify(objects, null, 2)}`) + // triples.push(triple(l.subject, l.predicate, l.object)) + annotation = l.annotation l = l.object; } // throw new Error(`annotation is ${JSON.stringify(l.annotation, null, 2)}`); - objects.push(triple(null, predicate, l.entity)); + objects.push(triple(null, predicate, l.entity, annotation)); appendAllTo(triples, l.triples); }); - // throw new Error(JSON.stringify(objects, null, 2)) return unionAll(objects, otherTriples || [], triples); } @@ -373,11 +375,52 @@ return value; } + function _applyAnnotations(subject, annotations, arr) { + for (const annotation of annotations) { + const t = Parser.factory.quad(subject, annotation.predicate, annotation.object); + + // const t = { + // subject, + // predicate: annotation.predicate, + // object: annotation.object, + // termType: "Quad", + // value: "", + // } + // const t = triple(subject, annotation.predicate, annotation.object); + // t.termType = 'Triple'; + + arr.push(t); + + if (annotation.annotations) { + _applyAnnotations(t, annotation.annotations, arr) + } + } + } + + function applyAnnotations(triples) { + if (Parser.sparqlStar) { + const newTriples = []; + + triples.forEach(t => { + const s = triple(t.subject, t.predicate, t.object); + + newTriples.push(s); + + if (t.annotations) { + _applyAnnotations(Parser.factory.quad(t.subject, t.predicate, t.object), t.annotations, newTriples); + } + }); + + return newTriples; + } + return triples; + } + function ensureSparqlStarNestedQuads(value) { if (!Parser.sparqlStarNestedQuads) { throw new Error('Lenient SPARQL-star support with nested quads is not enabled'); } - return value; + return value;sparqlStar } function ensureNoVariables(operations) { @@ -1259,8 +1302,8 @@ ConstructTriples // [75] TriplesSameSubject - : VarOrTermOrQuotedTP PropertyListNotEmpty -> $2.map(t => extend(triple($1), t)) - | TriplesNode PropertyList -> appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ + : VarOrTermOrQuotedTP PropertyListNotEmpty -> applyAnnotations($2.map(t => extend(triple($1), t))) + | TriplesNode PropertyList -> applyAnnotations(appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples)) /* the subject is a blank node, possibly with more triples */ ; // [76] @@ -1303,9 +1346,9 @@ Object TriplesSameSubjectPath // : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) // TODO!: Use this grammar instead - : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> $2.map(t => extend(triple($1), t)) + : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> applyAnnotations($2.map(t => extend(triple($1), t))) // TODO: See why this is optional since it is not in the grammar - | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ + | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : applyAnnotations(appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples)) /* the subject is a blank node, possibly with more triples */ ; // [82] Should be propertyListPath diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json index 55d3c965..6fa73e57 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json @@ -22,10 +22,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, { @@ -56,10 +52,6 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } ] diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json index c3be8c6d..309738b2 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json @@ -30,6 +30,10 @@ "object": { "termType": "Variable", "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json index 918a3d54..4987276a 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json @@ -49,6 +49,10 @@ "object": { "termType": "Variable", "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json index 5f1c1902..a0d28316 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json @@ -34,6 +34,10 @@ "object": { "termType": "Variable", "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { @@ -63,6 +67,10 @@ "object": { "termType": "Variable", "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { @@ -72,6 +80,10 @@ "object": { "termType": "Variable", "value": "o2" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { @@ -104,6 +116,10 @@ "object": { "termType": "Variable", "value": "o1" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { @@ -122,6 +138,10 @@ "object": { "termType": "Variable", "value": "o3" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } }, "predicate": { @@ -131,6 +151,10 @@ "object": { "termType": "Variable", "value": "o4" + }, + "graph": { + "termType": "DefaultGraph", + "value": "" } } ] From 3bd839389f72b375c7f366c69d828914784f37ec Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 01:24:21 +1100 Subject: [PATCH 15/39] WIP: adding tests --- lib/sparql.jison | 27 ++++-- .../sparql-star-annotated.sparql | 2 +- .../sparql-star-nested-annotated-1.json | 4 - .../sparql-star-nested-annotated-10.json | 4 - .../sparql-star-nested-annotated-11.json | 4 - .../sparql-star-nested-annotated-2.json | 43 ++++++--- .../sparql-star-nested-annotated-3.json | 95 ++++++++++++++++++- .../sparql-star-nested-annotated-4.json | 8 -- .../sparql-star-nested-annotated-5.json | 8 -- .../sparql-star-nested-annotated-9.json | 24 ----- 10 files changed, 142 insertions(+), 77 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index bc69e19d..39e410b1 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -377,7 +377,14 @@ function _applyAnnotations(subject, annotations, arr) { for (const annotation of annotations) { - const t = Parser.factory.quad(subject, annotation.predicate, annotation.object); + const t = triple( + subject, + annotation.predicate, + annotation.object + ) + + // const t = Parser.factory.quad(subject, annotation.predicate, annotation.object); + // delete t.graph; // const t = { // subject, @@ -407,7 +414,7 @@ newTriples.push(s); if (t.annotations) { - _applyAnnotations(Parser.factory.quad(t.subject, t.predicate, t.object), t.annotations, newTriples); + _applyAnnotations(triple(t.subject, t.predicate, t.object), t.annotations, newTriples); } }); @@ -1700,12 +1707,12 @@ BlankNode // [174] QuotedTP - : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(triple($2, $3, $4)) ; // [175] QuotedTriple - : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(triple($2, $3, $4)) ; // [176] @@ -1743,7 +1750,7 @@ AnnotationPatternPath // [181] // TODO: Work out how nested graphs should be handled ExprQuotedTP - : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(triple($2, $3, $4)) ; // TODO: Re-enable @@ -1758,15 +1765,17 @@ ExprQuotedTP // TODO: Remove these two to handle sparqlstar properly VarTriple - : '<<' 'GRAPH' VarOrIri '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) - | '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + // TODO: Remove this - it is not valid SPARQLstar + // : '<<' 'GRAPH' VarOrIri '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) + : '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(triple($2, $3, $4)) ; ConstTriple - : '<<' 'GRAPH' VarOrIri '{' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) - | '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) + // TODO: Remove this - it is not valid sparql star + // : '<<' 'GRAPH' VarOrIri '{' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) + : '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(triple($2, $3, $4)) ; // Utilities diff --git a/queries/sparqlstar-annotated/sparql-star-annotated.sparql b/queries/sparqlstar-annotated/sparql-star-annotated.sparql index 14e11944..82fe2f25 100644 --- a/queries/sparqlstar-annotated/sparql-star-annotated.sparql +++ b/queries/sparqlstar-annotated/sparql-star-annotated.sparql @@ -3,5 +3,5 @@ SELECT * WHERE { ?p2 ?o2 {| ?p22 ?o22 |}. ?sa1 ?p1 ?o1 {| ?p12 ?o12 |}; - ?p2 ?o2 {| ?p22 ?o22 |}, + ?p2 ?o2 {| ?p22 ?o22 |}. } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json index 6fa73e57..85fe6e0d 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json @@ -39,10 +39,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json index 309738b2..c3be8c6d 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json @@ -30,10 +30,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json index 4987276a..918a3d54 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json @@ -49,10 +49,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json index 9824f944..bd6563fd 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json @@ -12,8 +12,20 @@ "triples": [ { "subject": { - "termType": "Variable", - "value": "s1" + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Variable", + "value": "o0" + } }, "predicate": { "termType": "Variable", @@ -22,10 +34,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, { @@ -33,8 +41,20 @@ "termType": "Quad", "value": "", "subject": { - "termType": "Variable", - "value": "s1" + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Variable", + "value": "o0" + } }, "predicate": { "termType": "Variable", @@ -43,10 +63,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -62,6 +78,5 @@ } ], "type": "query", - "prefixes": { - } + "prefixes": {} } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json index 0967ef42..3634a9ee 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json @@ -1 +1,94 @@ -{} +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Variable", + "value": "o0" + } + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + { + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Variable", + "value": "o0" + } + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Quad", + "value": "", + "subject": { + "termType": "Variable", + "value": "s3" + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + } + } + ] + } + ], + "type": "query", + "prefixes": {} +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json index 45c4f5b0..27909f4d 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json @@ -22,10 +22,6 @@ "object": { "termType": "Variable", "value": "o0" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -46,10 +42,6 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json index 51f5fe5f..0e7317ef 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json @@ -33,15 +33,7 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json index a0d28316..5f1c1902 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json @@ -34,10 +34,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -67,10 +63,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -80,10 +72,6 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -116,10 +104,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -138,10 +122,6 @@ "object": { "termType": "Variable", "value": "o3" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -151,10 +131,6 @@ "object": { "termType": "Variable", "value": "o4" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } ] From f929b6f70a28f6051e01aca2a59ed6072d1a7f1d Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 10:49:28 +1100 Subject: [PATCH 16/39] WIP: give nested triples a TermType --- lib/sparql.jison | 27 ++++++++++++++----- test/SparqlParser-test.js | 1 - .../sparql-star-annotated-1.json | 3 --- .../sparql-star-annotated-object-list.json | 3 --- .../sparql-star-annotated-semicolon.json | 3 --- .../sparql-star-annotated.json | 4 --- .../sparql-star-nested-annotated-1.json | 1 - .../sparql-star-nested-annotated-10.json | 1 - .../sparql-star-nested-annotated-11.json | 1 - .../sparql-star-nested-annotated-2.json | 3 --- .../sparql-star-nested-annotated-3.json | 4 --- .../sparql-star-nested-annotated-4.json | 2 -- .../sparql-star-nested-annotated-5.json | 2 -- .../sparql-star-nested-annotated-6.json | 2 -- .../sparql-star-nested-annotated-7.json | 2 -- .../sparql-star-nested-annotated-8.json | 3 --- .../sparql-star-nested-annotated-9.json | 6 ----- .../sparql-star-quad-1.json | 3 --- .../sparql-star-quad-bind.json | 1 - .../sparql-star-quad-nested-1.json | 2 -- .../sparql-star-quad-nested-2.json | 2 -- .../sparql-star-quad-nested-3.json | 2 -- .../sparql-star-quad-nested.json | 6 ----- .../sparql-star-quad-select-bind.json | 1 - .../sparqlstar/sparql-star-1.json | 3 --- .../sparqlstar/sparql-star-2.json | 2 -- .../sparqlstar/sparql-star-bind-nested-1.json | 2 -- .../sparqlstar/sparql-star-bind-nested-2.json | 2 -- .../sparqlstar/sparql-star-bind.json | 1 - .../sparqlstar/sparql-star-nested-1.json | 2 -- .../sparqlstar/sparql-star-nested-2.json | 2 -- .../sparql-star-select-bind-nested-1.json | 2 -- .../sparql-star-select-bind-nested-2.json | 2 -- .../sparqlstar/sparql-star-select-bind.json | 1 - 34 files changed, 20 insertions(+), 84 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 39e410b1..6a22f609 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -154,6 +154,15 @@ return Parser.factory.literal(value, lang); } + function nestedTriple(subject, predicate, object) { + return { + termType: "Quad", + subject, + predicate, + object + } + } + // Creates a triple with the given subject, predicate, and object function triple(subject, predicate, object, annotations) { var triple = {}; @@ -399,7 +408,11 @@ arr.push(t); if (annotation.annotations) { - _applyAnnotations(t, annotation.annotations, arr) + _applyAnnotations(nestedTriple( + subject, + annotation.predicate, + annotation.object + ), annotation.annotations, arr) } } } @@ -414,7 +427,7 @@ newTriples.push(s); if (t.annotations) { - _applyAnnotations(triple(t.subject, t.predicate, t.object), t.annotations, newTriples); + _applyAnnotations(nestedTriple(t.subject, t.predicate, t.object), t.annotations, newTriples); } }); @@ -1707,12 +1720,12 @@ BlankNode // [174] QuotedTP - : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(triple($2, $3, $4)) + : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) ; // [175] QuotedTriple - : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(triple($2, $3, $4)) + : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) ; // [176] @@ -1750,7 +1763,7 @@ AnnotationPatternPath // [181] // TODO: Work out how nested graphs should be handled ExprQuotedTP - : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(triple($2, $3, $4)) + : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) ; // TODO: Re-enable @@ -1767,7 +1780,7 @@ ExprQuotedTP VarTriple // TODO: Remove this - it is not valid SPARQLstar // : '<<' 'GRAPH' VarOrIri '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) - : '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(triple($2, $3, $4)) + : '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) ; @@ -1775,7 +1788,7 @@ VarTriple ConstTriple // TODO: Remove this - it is not valid sparql star // : '<<' 'GRAPH' VarOrIri '{' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) - : '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(triple($2, $3, $4)) + : '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) ; // Utilities diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 0b162c37..6d0e7501 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -458,7 +458,6 @@ function testQueries(directory, settings) { var parsedQuery = parseJSON(fs.readFileSync(parsedQueryFile, 'utf8')); const parsed = parser.parse(sparql); - console.log(JSON.stringify(parsed, null, 2)) expect(parsed).toEqualParsedQuery(parsedQuery); }); } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json index c4ed7985..17952dc3 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json @@ -31,7 +31,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s" @@ -79,7 +78,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -127,7 +125,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "BlankNode", "value": "e_b" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json index bb6652d9..82613487 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json @@ -28,7 +28,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -72,7 +71,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -116,7 +114,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json index 982744ba..0f9622ce 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json @@ -28,7 +28,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -72,7 +71,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -116,7 +114,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json index 35d1053f..bc243b0b 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json @@ -27,7 +27,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -71,7 +70,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -115,7 +113,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "sa1" @@ -159,7 +156,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "sa1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json index 85fe6e0d..c06773d7 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-1.json @@ -27,7 +27,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json index c3be8c6d..9b192da7 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-10.json @@ -18,7 +18,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json index 918a3d54..d710bbf0 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-11.json @@ -37,7 +37,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json index bd6563fd..a5b77327 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-2.json @@ -13,7 +13,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s0" @@ -39,10 +38,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s0" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json index 3634a9ee..b3b50067 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-3.json @@ -13,7 +13,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s0" @@ -39,10 +38,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s0" @@ -71,7 +68,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s3" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json index 27909f4d..ac8b5b64 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json @@ -10,7 +10,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s0" @@ -30,7 +29,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s2" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json index 0e7317ef..410bf756 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json @@ -10,7 +10,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s0" @@ -21,7 +20,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s2" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json index c660ea51..d70988c8 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json @@ -24,7 +24,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -50,7 +49,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json index 5fb87b89..8d694ae5 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json @@ -24,7 +24,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -50,7 +49,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json index abfd507d..a38143f1 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json @@ -22,7 +22,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -48,10 +47,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json index 5f1c1902..c5871cbb 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json @@ -22,7 +22,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -48,10 +47,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" @@ -86,13 +83,10 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-1.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-1.json index 428afb29..92663d73 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-1.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-1.json @@ -12,7 +12,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s" @@ -42,7 +41,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -72,7 +70,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "BlankNode", "value": "e_b" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-bind.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-bind.json index f8a78c34..95c02688 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-bind.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-bind.json @@ -14,7 +14,6 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-1.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-1.json index 05dd5e06..d16a1900 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-1.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-1.json @@ -12,10 +12,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-2.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-2.json index 4076bee5..5e241ce4 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-2.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-2.json @@ -14,10 +14,8 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-3.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-3.json index b5ed7c1c..9fb65ea9 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-3.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested-3.json @@ -4,7 +4,6 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -15,7 +14,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested.json index b2fa32ea..6893c6b4 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-nested.json @@ -4,7 +4,6 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -15,7 +14,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -51,10 +49,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -104,10 +100,8 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-select-bind.json b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-select-bind.json index bf00367d..f1ef3eda 100644 --- a/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-select-bind.json +++ b/test/parsedQueries/sparqlstar-nested-quads/sparql-star-quad-select-bind.json @@ -8,7 +8,6 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" diff --git a/test/parsedQueries/sparqlstar/sparql-star-1.json b/test/parsedQueries/sparqlstar/sparql-star-1.json index 4af4c232..213c8c2c 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-1.json @@ -13,7 +13,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s" @@ -43,7 +42,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -73,7 +71,6 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "BlankNode", "value": "e_b" diff --git a/test/parsedQueries/sparqlstar/sparql-star-2.json b/test/parsedQueries/sparqlstar/sparql-star-2.json index 46f31571..57649821 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-2.json @@ -8,7 +8,6 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" @@ -41,7 +40,6 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json index 141c68fd..ec1edc22 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json @@ -14,10 +14,8 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json index 8fd401a8..30990541 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json @@ -15,7 +15,6 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/a" @@ -26,7 +25,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind.json b/test/parsedQueries/sparqlstar/sparql-star-bind.json index 0fa3ec29..d38d9f3c 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind.json @@ -14,7 +14,6 @@ }, "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/SaintPetersburg" diff --git a/test/parsedQueries/sparqlstar/sparql-star-nested-1.json b/test/parsedQueries/sparqlstar/sparql-star-nested-1.json index d57bd96a..6e09df07 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-nested-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-nested-1.json @@ -12,10 +12,8 @@ { "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s1" diff --git a/test/parsedQueries/sparqlstar/sparql-star-nested-2.json b/test/parsedQueries/sparqlstar/sparql-star-nested-2.json index d07d945d..624fd9fc 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-nested-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-nested-2.json @@ -20,7 +20,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s2" @@ -31,7 +30,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "Variable", "value": "s3" diff --git a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json index ca7a6036..7e8b9aba 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json @@ -8,10 +8,8 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" diff --git a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json index aafb64fd..ab61d323 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json @@ -8,7 +8,6 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/a" @@ -19,7 +18,6 @@ }, "object": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/a" diff --git a/test/parsedQueries/sparqlstar/sparql-star-select-bind.json b/test/parsedQueries/sparqlstar/sparql-star-select-bind.json index 975714a9..168fe7ed 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-select-bind.json +++ b/test/parsedQueries/sparqlstar/sparql-star-select-bind.json @@ -8,7 +8,6 @@ { "expression": { "termType": "Quad", - "value": "", "subject": { "termType": "NamedNode", "value": "http://example.com/Moscow" From 1540eac0f882e33948dc723d11c209fa42c74199 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 11:39:01 +1100 Subject: [PATCH 17/39] chore: fix broken parsed queries --- .../sparql-star-annotated.json | 24 +----- .../sparql-star-nested-annotated-4.json | 63 +++++++++++++++- .../sparql-star-nested-annotated-5.json | 73 ++++++++++++++++++- .../sparql-star-nested-annotated-6.json | 5 +- .../sparql-star-nested-annotated-7.json | 5 +- .../sparql-star-nested-annotated-8.json | 7 +- .../sparql-star-nested-annotated-9.json | 7 +- 7 files changed, 157 insertions(+), 27 deletions(-) diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json index bc243b0b..931c92c7 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated.json @@ -38,10 +38,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -60,7 +56,7 @@ }, "predicate": { "termType": "Variable", - "value": "p1" + "value": "p2" }, "object": { "termType": "Variable", @@ -76,15 +72,11 @@ }, "predicate": { "termType": "Variable", - "value": "p1" + "value": "p2" }, "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -124,10 +116,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -146,7 +134,7 @@ }, "predicate": { "termType": "Variable", - "value": "p1" + "value": "p2" }, "object": { "termType": "Variable", @@ -162,15 +150,11 @@ }, "predicate": { "termType": "Variable", - "value": "p1" + "value": "p2" }, "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json index ac8b5b64..ef0995d8 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-4.json @@ -1,7 +1,10 @@ { "queryType": "SELECT", "variables": [ - {} + { + "termType": "Wildcard", + "value": "*" + } ], "where": [ { @@ -42,6 +45,64 @@ "value": "o2" } } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Variable", + "value": "o0" + } + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s2" + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s3" + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Variable", + "value": "o3" + } + } } ] } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json index 410bf756..f9ddf13c 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-5.json @@ -1,7 +1,10 @@ { "queryType": "SELECT", "variables": [ - {} + { + "termType": "Wildcard", + "value": "*" + } ], "where": [ { @@ -44,7 +47,73 @@ } }, { - "TODO": "ADD THIS" + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s0" + }, + "predicate": { + "termType": "Variable", + "value": "p0" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s2" + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Variable", + "value": "o2" + } + } + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "object": { + "termType": "Variable", + "value": "p1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p2" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s3" + }, + "predicate": { + "termType": "Variable", + "value": "p3" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s4" + }, + "predicate": { + "termType": "Variable", + "value": "p4" + }, + "object": { + "termType": "Variable", + "value": "o4" + } + } + } } ] } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json index d70988c8..c8bcaa2a 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-6.json @@ -1,7 +1,10 @@ { "queryType": "SELECT", "variables": [ - {} + { + "termType": "Wildcard", + "value": "*" + } ], "where": [ { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json index 8d694ae5..4699ce87 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-7.json @@ -1,7 +1,10 @@ { "queryType": "SELECT", "variables": [ - {} + { + "termType": "Wildcard", + "value": "*" + } ], "where": [ { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json index a38143f1..30e7c884 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-8.json @@ -1,6 +1,11 @@ { "queryType": "SELECT", - "variables": [{}], + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], "where": [ { "type": "bgp", diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json index c5871cbb..533f4c0c 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-nested-annotated-9.json @@ -1,6 +1,11 @@ { "queryType": "SELECT", - "variables": [{}], + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], "where": [ { "type": "bgp", From efb83eea9ae69bbf0d6fc7a83b9f081c283e6290 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 11:51:45 +1100 Subject: [PATCH 18/39] chore: enforce no default graphs for quoted triples in tests --- queries/sparqlstar/sparql-star-1.sparql | 1 + test/matchers/toEqualParsedQuery.js | 6 +++++ .../sparql-star-annotated-1.json | 24 ------------------- .../sparql-star-annotated-object-list.json | 8 ------- .../sparql-star-annotated-semicolon.json | 12 ---------- .../sparqlstar/sparql-star-1.json | 12 ---------- .../sparqlstar/sparql-star-2.json | 8 ------- .../sparqlstar/sparql-star-bind-nested-1.json | 8 ------- .../sparqlstar/sparql-star-bind-nested-2.json | 8 ------- .../sparqlstar/sparql-star-bind-var.json | 8 ------- .../sparqlstar/sparql-star-bind.json | 4 ---- .../sparqlstar/sparql-star-nested-1.json | 8 ------- .../sparqlstar/sparql-star-nested-2.json | 8 ------- .../sparql-star-select-bind-nested-1.json | 8 ------- .../sparql-star-select-bind-nested-2.json | 8 ------- .../sparqlstar/sparql-star-select-bind.json | 4 ---- .../sparqlstar/sparql-star-values.json | 12 ---------- 17 files changed, 7 insertions(+), 140 deletions(-) diff --git a/queries/sparqlstar/sparql-star-1.sparql b/queries/sparqlstar/sparql-star-1.sparql index 2d531537..b2354eac 100644 --- a/queries/sparqlstar/sparql-star-1.sparql +++ b/queries/sparqlstar/sparql-star-1.sparql @@ -4,5 +4,6 @@ PREFIX rdf: SELECT * WHERE { <> ex:author ex:Bob . << ex:Moscow a ex:City >> ex:author ?person . + # TODO: See if this should be throwing an error << _:b ex:x () >> ex:broken true . } diff --git a/test/matchers/toEqualParsedQuery.js b/test/matchers/toEqualParsedQuery.js index 17fd68f7..5267b703 100644 --- a/test/matchers/toEqualParsedQuery.js +++ b/test/matchers/toEqualParsedQuery.js @@ -62,6 +62,12 @@ let objectsEqual = function (received, expected){ for (let key of keys_first){ if (! objectsEqual(received[key], expected[key])) return false; } + + // We do this to make sure that we are not missing keys in the received object + let keys_second = Object.keys(expected); + for (let key of keys_second){ + if (! objectsEqual(received[key], expected[key])) return false; + } } return true; } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json index 17952dc3..723644d2 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-1.json @@ -22,10 +22,6 @@ "object": { "termType": "Variable", "value": "o" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, { @@ -42,10 +38,6 @@ "object": { "termType": "Variable", "value": "o" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -69,10 +61,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, { @@ -89,10 +77,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -116,10 +100,6 @@ "object": { "termType": "NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, { @@ -136,10 +116,6 @@ "object": { "termType": "NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json index 82613487..a9460336 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json @@ -82,10 +82,6 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -125,10 +121,6 @@ "object": { "termType": "Variable", "value": "o3" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json index 0f9622ce..a0c6c83c 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-semicolon.json @@ -39,10 +39,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -82,10 +78,6 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -125,10 +117,6 @@ "object": { "termType": "Variable", "value": "o3" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar/sparql-star-1.json b/test/parsedQueries/sparqlstar/sparql-star-1.json index 213c8c2c..fd29090a 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-1.json @@ -24,10 +24,6 @@ "object": { "termType": "Variable", "value": "o" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -53,10 +49,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -82,10 +74,6 @@ "object": { "termType": "NamedNode", "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar/sparql-star-2.json b/test/parsedQueries/sparqlstar/sparql-star-2.json index 57649821..cd4eb86b 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-2.json @@ -19,10 +19,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "variable": { @@ -51,10 +47,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json index ec1edc22..15ddf01b 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-1.json @@ -27,10 +27,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -40,10 +36,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/b" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json index 30990541..b999af72 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind-nested-2.json @@ -36,15 +36,7 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind-var.json b/test/parsedQueries/sparqlstar/sparql-star-bind-var.json index a17118b0..0c1c9016 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind-var.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind-var.json @@ -15,10 +15,6 @@ "object": { "termType": "Variable", "value": "c" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "variable": { @@ -51,10 +47,6 @@ "object": { "termType": "Variable", "value": "o" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar/sparql-star-bind.json b/test/parsedQueries/sparqlstar/sparql-star-bind.json index d38d9f3c..398b6095 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-bind.json +++ b/test/parsedQueries/sparqlstar/sparql-star-bind.json @@ -25,10 +25,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar/sparql-star-nested-1.json b/test/parsedQueries/sparqlstar/sparql-star-nested-1.json index 6e09df07..27f14c40 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-nested-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-nested-1.json @@ -25,10 +25,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -38,10 +34,6 @@ "object": { "termType": "Variable", "value": "o2" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { diff --git a/test/parsedQueries/sparqlstar/sparql-star-nested-2.json b/test/parsedQueries/sparqlstar/sparql-star-nested-2.json index 624fd9fc..268818a7 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-nested-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-nested-2.json @@ -41,15 +41,7 @@ "object": { "termType": "Variable", "value": "o3" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } diff --git a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json index 7e8b9aba..174c9bfb 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json +++ b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-1.json @@ -21,10 +21,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { @@ -34,10 +30,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/b" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "variable": { diff --git a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json index ab61d323..5f6d903a 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json +++ b/test/parsedQueries/sparqlstar/sparql-star-select-bind-nested-2.json @@ -29,15 +29,7 @@ "object": { "termType": "NamedNode", "value": "http://example.com/c" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "variable": { diff --git a/test/parsedQueries/sparqlstar/sparql-star-select-bind.json b/test/parsedQueries/sparqlstar/sparql-star-select-bind.json index 168fe7ed..f9bf108b 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-select-bind.json +++ b/test/parsedQueries/sparqlstar/sparql-star-select-bind.json @@ -19,10 +19,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "variable": { diff --git a/test/parsedQueries/sparqlstar/sparql-star-values.json b/test/parsedQueries/sparqlstar/sparql-star-values.json index 973ab1bf..93a13cb8 100644 --- a/test/parsedQueries/sparqlstar/sparql-star-values.json +++ b/test/parsedQueries/sparqlstar/sparql-star-values.json @@ -24,10 +24,6 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } }, @@ -55,15 +51,7 @@ "object": { "termType": "NamedNode", "value": "http://example.com/City" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } } } From 57bb1f373ab0d080ce53a2f9b95127a72c50cd50 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 14:08:36 +1100 Subject: [PATCH 19/39] chore: fix annotated blank nodes and add spec tests --- lib/sparql.jison | 13 +- .../sparql-star-annotation-01.sparql | 5 + .../sparql-star-annotation-02.sparql | 12 ++ .../sparql-star-annotation-03.sparql | 6 + .../sparql-star-annotation-04.sparql | 6 + .../sparql-star-annotation-05.sparql | 6 + .../sparql-star-annotation-06.sparql | 5 + .../sparql-star-annotation-07.sparql | 5 + .../sparql-star-annotation-08.sparql | 6 + .../sparql-star-annotation-09.sparql | 5 + .../sparql-star-syntax-basic-01.sparql | 5 + .../sparql-star-syntax-basic-02.sparql | 5 + .../sparql-star-syntax-basic-03.sparql | 5 + .../sparql-star-syntax-basic-04.sparql | 5 + .../sparql-star-syntax-basic-05.sparql | 10 ++ .../sparql-star-syntax-basic-06.sparql | 4 + .../sparql-star-syntax-basic-07.sparql | 6 + .../sparql-star-syntax-bnode-01.sparql | 5 + .../sparql-star-syntax-bnode-02.sparql | 5 + .../sparql-star-syntax-bnode-03.sparql | 5 + .../sparql-star-syntax-compound.sparql | 10 ++ .../sparql-star-syntax-expr-01.sparql | 6 + .../sparql-star-syntax-expr-02.sparql | 6 + .../sparql-star-syntax-expr-03.sparql | 6 + .../sparql-star-syntax-expr-04.sparql | 6 + .../sparql-star-syntax-expr-05.sparql | 9 + .../sparql-star-syntax-expr-06.sparql | 10 ++ .../sparql-star-syntax-inside-01.sparql | 5 + .../sparql-star-syntax-inside-02.sparql | 5 + .../sparql-star-syntax-nested-01.sparql | 6 + .../sparql-star-syntax-nested-02.sparql | 6 + .../sparql-star-syntax-update-1.sparql | 5 + .../sparql-star-syntax-update-2.sparql | 5 + .../sparql-star-syntax-update-3.sparql | 8 + .../sparql-star-syntax-update-4.sparql | 8 + .../sparql-star-syntax-update-5.sparql | 7 + .../sparql-star-syntax-update-6.sparql | 7 + .../sparql-star-syntax-update-7.sparql | 7 + .../sparql-star-syntax-update-8.sparql | 11 ++ spec/earl-meta.json | 2 +- test/SparqlParser-test.js | 4 + .../sparql-star-annotation-01.json | 59 ++++++ .../sparql-star-annotation-02.json | 151 ++++++++++++++++ .../sparql-star-annotation-03.json | 82 +++++++++ .../sparql-star-annotation-04.json | 93 ++++++++++ .../sparql-star-annotation-05.json | 82 +++++++++ .../sparql-star-annotation-06.json | 74 ++++++++ .../sparql-star-annotation-07.json | 88 +++++++++ .../sparql-star-annotation-08.json | 78 ++++++++ .../sparql-star-annotation-09.json | 94 ++++++++++ .../sparql-star-syntax-basic-01.json | 45 +++++ .../sparql-star-syntax-basic-02.json | 50 ++++++ .../sparql-star-syntax-basic-03.json | 45 +++++ .../sparql-star-syntax-basic-04.json | 45 +++++ .../sparql-star-syntax-basic-05.json | 122 +++++++++++++ .../sparql-star-syntax-basic-06.json | 35 ++++ .../sparql-star-syntax-basic-07.json | 116 ++++++++++++ .../sparql-star-syntax-bnode-01.json | 50 ++++++ .../sparql-star-syntax-bnode-02.json | 50 ++++++ .../sparql-star-syntax-bnode-03.json | 45 +++++ .../sparql-star-syntax-compound.json | 136 ++++++++++++++ .../sparql-star-syntax-expr-01.json | 56 ++++++ .../sparql-star-syntax-expr-02.json | 67 +++++++ .../sparql-star-syntax-expr-03.json | 59 ++++++ .../sparql-star-syntax-expr-04.json | 65 +++++++ .../sparql-star-syntax-expr-05.json | 116 ++++++++++++ .../sparql-star-syntax-expr-06.json | 75 ++++++++ .../sparql-star-syntax-inside-01.json | 59 ++++++ .../sparql-star-syntax-inside-02.json | 117 ++++++++++++ .../sparql-star-syntax-nested-01.json | 86 +++++++++ .../sparql-star-syntax-nested-02.json | 81 +++++++++ .../sparql-star-syntax-update-1.json | 43 +++++ .../sparql-star-syntax-update-2.json | 57 ++++++ .../sparql-star-syntax-update-3.json | 148 +++++++++++++++ .../sparql-star-syntax-update-4.json | 170 ++++++++++++++++++ .../sparql-star-syntax-update-5.json | 148 +++++++++++++++ .../sparql-star-syntax-update-6.json | 94 ++++++++++ .../sparql-star-syntax-update-7.json | 120 +++++++++++++ .../sparql-star-syntax-update-8.json | 116 ++++++++++++ 79 files changed, 3476 insertions(+), 4 deletions(-) create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-01.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-02.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-03.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-04.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-05.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-06.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-07.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-08.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-annotation-09.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-01.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-02.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-03.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-04.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-05.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-06.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-basic-07.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-bnode-01.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-bnode-02.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-bnode-03.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-compound.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-expr-01.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-expr-02.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-expr-03.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-expr-04.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-expr-05.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-expr-06.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-inside-01.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-inside-02.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-nested-01.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-nested-02.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-1.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-2.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-3.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-4.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-5.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-6.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-7.sparql create mode 100644 queries/sparqlstar-spec/sparql-star-syntax-update-8.sparql create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json create mode 100644 test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json diff --git a/lib/sparql.jison b/lib/sparql.jison index 6a22f609..514b8965 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -387,7 +387,10 @@ function _applyAnnotations(subject, annotations, arr) { for (const annotation of annotations) { const t = triple( - subject, + // If the annotation already has a subject then just push the + // annotation to the upper scope as it is a blank node introduced + // from a pattern like :s :p :o {| :p1 [ :p2 :o2; :p3 :o3 ] |} + 'subject' in annotation ? annotation.subject : subject, annotation.predicate, annotation.object ) @@ -639,11 +642,13 @@ SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ "BOUND" return 'BOUND' "BNODE" return 'BNODE' ("RAND"|"NOW"|"UUID"|"STRUUID") return 'FUNC_ARITY0' -("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC"|"SUBJECT"|"PREDICATE"|"OBJECT"|"isTRIPLE") return 'FUNC_ARITY1' +("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC") return 'FUNC_ARITY1' +("SUBJECT"|"PREDICATE"|"OBJECT"|"isTRIPLE") return 'FUNC_ARITY1_SPARQL_STAR' ("LANGMATCHES"|"CONTAINS"|"STRSTARTS"|"STRENDS"|"STRBEFORE"|"STRAFTER"|"STRLANG"|"STRDT"|"sameTerm") return 'FUNC_ARITY2' "CONCAT" return 'CONCAT' "COALESCE" return 'COALESCE' -("IF"|"TRIPLE") return 'FUNC_ARITY3' +"IF" return 'FUNC_ARITY3' +"TRIPLE" return 'FUNC_ARITY3_SPARQL_STAR' "REGEX" return 'REGEX' "SUBSTR" return 'SUBSTR' "REPLACE" return 'REPLACE' @@ -1600,8 +1605,10 @@ BuiltInCall : Aggregate | FUNC_ARITY0 NIL -> operation(lowercase($1)) | FUNC_ARITY1 '(' Expression ')' -> operation(lowercase($1), [$3]) + | FUNC_ARITY1_SPARQL_STAR '(' Expression ')' -> ensureSparqlStar(operation(lowercase($1), [$3])) | FUNC_ARITY2 '(' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5]) | FUNC_ARITY3 '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) + | FUNC_ARITY3_SPARQL_STAR '(' Expression ',' Expression ',' Expression ')' -> ensureSparqlStar(operation(lowercase($1), [$3, $5, $7])) // [122], [123], [124] // TODO: Fix this - it is technically incorrect as 'SUBSTR' | 'REGEX' | 'REPLACE' are only allowed 2-3 args // as opposed to an aribtrary number of args which this allows diff --git a/queries/sparqlstar-spec/sparql-star-annotation-01.sparql b/queries/sparqlstar-spec/sparql-star-annotation-01.sparql new file mode 100644 index 00000000..efe35adb --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-01.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ?s ?p ?o {| :r ?Z |} . +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-02.sparql b/queries/sparqlstar-spec/sparql-star-annotation-02.sparql new file mode 100644 index 00000000..1b477184 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-02.sparql @@ -0,0 +1,12 @@ +PREFIX : +PREFIX xsd: + +SELECT * { + :s :p :o {| :source [ :graph ; + :date "2020-01-20"^^xsd:date + ] ; + ?source [ :graph ; + :date "2020-12-31"^^xsd:date + ] + |} +} \ No newline at end of file diff --git a/queries/sparqlstar-spec/sparql-star-annotation-03.sparql b/queries/sparqlstar-spec/sparql-star-annotation-03.sparql new file mode 100644 index 00000000..eabd3f1d --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-03.sparql @@ -0,0 +1,6 @@ +PREFIX : +PREFIX xsd: + +SELECT * { + :s :p <<:a :b :c>> {| ?q ?z |} +} \ No newline at end of file diff --git a/queries/sparqlstar-spec/sparql-star-annotation-04.sparql b/queries/sparqlstar-spec/sparql-star-annotation-04.sparql new file mode 100644 index 00000000..77d93299 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-04.sparql @@ -0,0 +1,6 @@ +PREFIX : +PREFIX xsd: + +SELECT * { + :s :p <<:a :b :c>> {| ?q <<:s1 :p1 ?z>> |} +} \ No newline at end of file diff --git a/queries/sparqlstar-spec/sparql-star-annotation-05.sparql b/queries/sparqlstar-spec/sparql-star-annotation-05.sparql new file mode 100644 index 00000000..481dd649 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-05.sparql @@ -0,0 +1,6 @@ +PREFIX : +PREFIX xsd: + +SELECT * { + <> ?p ?o {| :r ?Z |} . +} \ No newline at end of file diff --git a/queries/sparqlstar-spec/sparql-star-annotation-06.sparql b/queries/sparqlstar-spec/sparql-star-annotation-06.sparql new file mode 100644 index 00000000..cad28149 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-06.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ?s ?p ?o {| :r/:q 'ABC' |} . +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-07.sparql b/queries/sparqlstar-spec/sparql-star-annotation-07.sparql new file mode 100644 index 00000000..c6bb787e --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-07.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ?s ?p ?o {| :r [ :p1|:p2 'ABC'] |} . +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-08.sparql b/queries/sparqlstar-spec/sparql-star-annotation-08.sparql new file mode 100644 index 00000000..e8af673c --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-08.sparql @@ -0,0 +1,6 @@ +PREFIX : + +CONSTRUCT { + ?s ?p ?o {| :source ?g |} +} +WHERE { GRAPH ?g { ?s ?p ?o } } diff --git a/queries/sparqlstar-spec/sparql-star-annotation-09.sparql b/queries/sparqlstar-spec/sparql-star-annotation-09.sparql new file mode 100644 index 00000000..2694e566 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-annotation-09.sparql @@ -0,0 +1,5 @@ +PREFIX : + +CONSTRUCT WHERE { + ?s :p ?o {| :q1 ?z |} +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-01.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-01.sparql new file mode 100644 index 00000000..d48d407b --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-01.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + << :a :b :c >> :p1 :o1. +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-02.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-02.sparql new file mode 100644 index 00000000..9660efec --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-02.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + :s :p << :a :b "c" >> . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-03.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-03.sparql new file mode 100644 index 00000000..e4cbd4c7 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-03.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + << ?s ?p ?o >> ?Y ?Z . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-04.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-04.sparql new file mode 100644 index 00000000..a036a8e9 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-04.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ?S ?P << ?a ?b ?c >> . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-05.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-05.sparql new file mode 100644 index 00000000..73274a26 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-05.sparql @@ -0,0 +1,10 @@ +PREFIX : + +SELECT * { + VALUES ?x { + <<:s :p :o >> + << <<:s :p :o >> :q :z >> + } + VALUES (?y ?z) { (<<:s :p :o >> 123 ) + (123 <<:s :p :o >> ) } +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-06.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-06.sparql new file mode 100644 index 00000000..88fe48d1 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-06.sparql @@ -0,0 +1,4 @@ +PREFIX : + +CONSTRUCT { <<:s :p :o >> :q :z } +WHERE {} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-basic-07.sparql b/queries/sparqlstar-spec/sparql-star-syntax-basic-07.sparql new file mode 100644 index 00000000..d0af4d4d --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-basic-07.sparql @@ -0,0 +1,6 @@ +PREFIX : + +CONSTRUCT WHERE { + <> ?q ?z . + ?a ?b <> . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-bnode-01.sparql b/queries/sparqlstar-spec/sparql-star-syntax-bnode-01.sparql new file mode 100644 index 00000000..01e549be --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-bnode-01.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <<_:a :p :o >> :q 456 . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-bnode-02.sparql b/queries/sparqlstar-spec/sparql-star-syntax-bnode-02.sparql new file mode 100644 index 00000000..8bebeb24 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-bnode-02.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <<:s :p _:a >> :q 456 . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-bnode-03.sparql b/queries/sparqlstar-spec/sparql-star-syntax-bnode-03.sparql new file mode 100644 index 00000000..8af6ea71 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-bnode-03.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <<[] :p [] >> :q :z . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql b/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql new file mode 100644 index 00000000..9f0233ac --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql @@ -0,0 +1,10 @@ +PREFIX : + +SELECT * { + + <<:x ?R :z >> :p <<:a :b ?C >> . + + << <<:x ?R :z >> :p <<:a :b [] >> >> + :q + << <<[] ?R :z >> :p <<:a :b [] >> >> . +} \ No newline at end of file diff --git a/queries/sparqlstar-spec/sparql-star-syntax-expr-01.sparql b/queries/sparqlstar-spec/sparql-star-syntax-expr-01.sparql new file mode 100644 index 00000000..a97964db --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-expr-01.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + ?s ?p ?o . + BIND(<> AS ?t) +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-expr-02.sparql b/queries/sparqlstar-spec/sparql-star-syntax-expr-02.sparql new file mode 100644 index 00000000..fce259bf --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-expr-02.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + ?s ?p ?o . + BIND(<< <> :q :z >> AS ?t) +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-expr-03.sparql b/queries/sparqlstar-spec/sparql-star-syntax-expr-03.sparql new file mode 100644 index 00000000..83526adb --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-expr-03.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + ?s ?p ?o . + BIND(TRIPLE(?s, ?p, ?o) AS ?t1) +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-expr-04.sparql b/queries/sparqlstar-spec/sparql-star-syntax-expr-04.sparql new file mode 100644 index 00000000..1d7e04ce --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-expr-04.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + ?s ?p ?o . + BIND(TRIPLE(?s, ?p, str(?o)) AS ?t2) +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-expr-05.sparql b/queries/sparqlstar-spec/sparql-star-syntax-expr-05.sparql new file mode 100644 index 00000000..5b3d6020 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-expr-05.sparql @@ -0,0 +1,9 @@ +PREFIX : + +SELECT * { + ?t :source :g + FILTER(isTriple(?t)) + FILTER(SUBJECT(?t) = :s) + FILTER(PREDICATE(?t) = :p) + FILTER(OBJECT(?t) = :o) +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-expr-06.sparql b/queries/sparqlstar-spec/sparql-star-syntax-expr-06.sparql new file mode 100644 index 00000000..096b1aa9 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-expr-06.sparql @@ -0,0 +1,10 @@ +PREFIX : + +CONSTRUCT { + ?t :graph ?g . +} WHERE { + GRAPH ?g { + ?s ?p ?o . + BIND(<> AS ?t) + } +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-inside-01.sparql b/queries/sparqlstar-spec/sparql-star-syntax-inside-01.sparql new file mode 100644 index 00000000..7f2cc1eb --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-inside-01.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + [ ?Q <<:s ?P :o>> ] :b :c . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-inside-02.sparql b/queries/sparqlstar-spec/sparql-star-syntax-inside-02.sparql new file mode 100644 index 00000000..f94cbdc2 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-inside-02.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ( <> <> ) :q 123 . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-nested-01.sparql b/queries/sparqlstar-spec/sparql-star-syntax-nested-01.sparql new file mode 100644 index 00000000..7905cffa --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-nested-01.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + <> :r :z . + << <> :r :z >> :q 1 . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-nested-02.sparql b/queries/sparqlstar-spec/sparql-star-syntax-nested-02.sparql new file mode 100644 index 00000000..df1e2891 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-nested-02.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + :a :q <<:s :p ?O >> . + << :a :q <<:s :p ?O >>>> :r :z . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-1.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-1.sparql new file mode 100644 index 00000000..bbaa7b31 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-1.sparql @@ -0,0 +1,5 @@ +PREFIX : + +INSERT DATA { + << :a :b :c >> :p :o . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-2.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-2.sparql new file mode 100644 index 00000000..181b5737 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-2.sparql @@ -0,0 +1,5 @@ +PREFIX : + +INSERT DATA { + :s :p :o {| :y :z |} +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-3.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-3.sparql new file mode 100644 index 00000000..006d8ede --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-3.sparql @@ -0,0 +1,8 @@ +PREFIX : + +INSERT { + << :a :b :c >> ?P :o2 {| ?Y ?Z |} +} WHERE { + << :a :b :c >> ?P :o1 {| ?Y ?Z |} +} + diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-4.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-4.sparql new file mode 100644 index 00000000..3eb66943 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-4.sparql @@ -0,0 +1,8 @@ +PREFIX : + +INSERT { + << :a :b :c >> ?P :o2 {| ?Y <<:s1 :p1 ?Z>> |} +} WHERE { + << :a :b :c >> ?P :o1 {| ?Y <<:s1 :p1 ?Z>> |} +} + diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-5.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-5.sparql new file mode 100644 index 00000000..91865b70 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-5.sparql @@ -0,0 +1,7 @@ +PREFIX : + +INSERT { + ?S ?P << :a :b ?O >> {| ?Y ?Z |} +} WHERE { + ?S ?P << :a :b ?O >> {| ?Y ?Z |} +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-6.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-6.sparql new file mode 100644 index 00000000..0fb22acd --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-6.sparql @@ -0,0 +1,7 @@ +PREFIX : + +INSERT { + ?s :r ?o {| :added 'Property :r' |} +} WHERE { + ?s :p/:q ?o . +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-7.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-7.sparql new file mode 100644 index 00000000..f592be61 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-7.sparql @@ -0,0 +1,7 @@ +PREFIX : + +DELETE { + ?s :r ?o {| :added 'Property :r' |} +} WHERE { + ?s :p ?o {| :q1+ 'ABC' |} +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-update-8.sparql b/queries/sparqlstar-spec/sparql-star-syntax-update-8.sparql new file mode 100644 index 00000000..af933e37 --- /dev/null +++ b/queries/sparqlstar-spec/sparql-star-syntax-update-8.sparql @@ -0,0 +1,11 @@ +PREFIX : + +DELETE DATA { + :s :p :o1 {| :added 'Test' |} +} +; +INSERT DATA { + :s :p :o2 {| :added 'Test' |} +} + + diff --git a/spec/earl-meta.json b/spec/earl-meta.json index 34be14af..5ac9bb30 100644 --- a/spec/earl-meta.json +++ b/spec/earl-meta.json @@ -20,4 +20,4 @@ "http://www.w3.org/TR/sparql11-update/", "https://w3c.github.io/rdf-star/cg-spec/editors_draft.html" ] -} \ No newline at end of file +} diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 6d0e7501..1b15fe17 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -23,6 +23,7 @@ describe('A SPARQL parser', function () { testQueries('sparql', {}); testQueries('sparqlstar', { mustError: true }); testQueries('sparql-skip-validation', { mustError: true }); + testQueries('sparqlstar-spec', { mustError: true }); }); describe('in SPARQL mode with skipValidation', () => { @@ -32,6 +33,7 @@ describe('A SPARQL parser', function () { testQueries('sparqlstar-nested-quads', { skipValidation: true, mustError: true }); testQueries('sparqlstar-invalid', { skipValidation: true, mustError: true }); testQueries('sparql-skip-validation', { skipValidation: true }); + testQueries('sparqlstar-spec', { mustError: true }); }); describe('in SPARQL-star mode', () => { @@ -42,6 +44,8 @@ describe('A SPARQL parser', function () { // TODO: See if we need skip validation here // testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); + // Select queries from the sparqlstar specification + testQueries('sparqlstar-spec', { sparqlStar: true }); }); it('should throw an error on an invalid query', function () { diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json new file mode 100644 index 00000000..0ae93fd8 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json @@ -0,0 +1,59 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json new file mode 100644 index 00000000..4fb34c0a --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json @@ -0,0 +1,151 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#source" + }, + "object": { + "termType": "BlankNode", + "value": "g_0" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "Variable", + "value": "source" + }, + "object": { + "termType": "BlankNode", + "value": "g_1" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#graph" + }, + "object": { + "termType": "NamedNode", + "value": "http://host2/" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#date" + }, + "object": { + "termType": "Literal", + "value": "2020-12-31", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#date" + } + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#graph" + }, + "object": { + "termType": "NamedNode", + "value": "http://host1/" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#date" + }, + "object": { + "termType": "Literal", + "value": "2020-01-20", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#date" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json new file mode 100644 index 00000000..6dea54b8 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json @@ -0,0 +1,82 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + } + }, + "predicate": { + "termType": "Variable", + "value": "q" + }, + "object": { + "termType": "Variable", + "value": "z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json new file mode 100644 index 00000000..d196c400 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json @@ -0,0 +1,93 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + } + }, + "predicate": { + "termType": "Variable", + "value": "q" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + "object": { + "termType": "Variable", + "value": "z" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json new file mode 100644 index 00000000..263aa61f --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json @@ -0,0 +1,82 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json new file mode 100644 index 00000000..43a131d4 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json @@ -0,0 +1,74 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "type": "path", + "pathType": "/", + "items": [ + { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + } + ] + }, + "object": { + "termType": "Literal", + "value": "ABC", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json new file mode 100644 index 00000000..94f871a0 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json @@ -0,0 +1,88 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "BlankNode", + "value": "g_0" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "type": "path", + "pathType": "|", + "items": [ + { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + { + "termType": "NamedNode", + "value": "http://example.com/ns#p2" + } + ] + }, + "object": { + "termType": "Literal", + "value": "ABC", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json new file mode 100644 index 00000000..d784b518 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json @@ -0,0 +1,78 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#source" + }, + "object": { + "termType": "Variable", + "value": "g" + } + } + ], + "where": [ + { + "type": "graph", + "patterns": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + } + ], + "name": { + "termType": "Variable", + "value": "g" + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json new file mode 100644 index 00000000..00019b34 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json @@ -0,0 +1,94 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q1" + }, + "object": { + "termType": "Variable", + "value": "z" + } + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q1" + }, + "object": { + "termType": "Variable", + "value": "z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json new file mode 100644 index 00000000..ce06ae13 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json @@ -0,0 +1,45 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json new file mode 100644 index 00000000..49612368 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json @@ -0,0 +1,50 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "Literal", + "value": "c", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json new file mode 100644 index 00000000..a94a976f --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json @@ -0,0 +1,45 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json new file mode 100644 index 00000000..7c11592a --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json @@ -0,0 +1,45 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "a" + }, + "predicate": { + "termType": "Variable", + "value": "b" + }, + "object": { + "termType": "Variable", + "value": "c" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json new file mode 100644 index 00000000..4f44b0ac --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json @@ -0,0 +1,122 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "values", + "values": [ + { + "?x": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + } + }, + { + "?x": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + } + } + ] + }, + { + "type": "values", + "values": [ + { + "?y": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "?z": { + "termType": "Literal", + "value": "123", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + } + } + }, + { + "?y": { + "termType": "Literal", + "value": "123", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + } + }, + "?z": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json new file mode 100644 index 00000000..0922135b --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json @@ -0,0 +1,35 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + } + ], + "where": [], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json new file mode 100644 index 00000000..ee3cd1bb --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json @@ -0,0 +1,116 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "Variable", + "value": "q" + }, + "object": { + "termType": "Variable", + "value": "z" + } + }, + { + "subject": { + "termType": "Variable", + "value": "a" + }, + "predicate": { + "termType": "Variable", + "value": "b" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "Variable", + "value": "q" + }, + "object": { + "termType": "Variable", + "value": "z" + } + }, + { + "subject": { + "termType": "Variable", + "value": "a" + }, + "predicate": { + "termType": "Variable", + "value": "b" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json new file mode 100644 index 00000000..95227162 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json @@ -0,0 +1,50 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "BlankNode", + "value": "e_a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Literal", + "value": "456", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json new file mode 100644 index 00000000..de321c0c --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json @@ -0,0 +1,50 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "BlankNode", + "value": "e_a" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Literal", + "value": "456", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json new file mode 100644 index 00000000..e5c0a59e --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json @@ -0,0 +1,45 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "BlankNode", + "value": "g_1" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json new file mode 100644 index 00000000..67d38b6a --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json @@ -0,0 +1,136 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#x" + }, + "predicate": { + "termType": "Variable", + "value": "R" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "Variable", + "value": "C" + } + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#x" + }, + "predicate": { + "termType": "Variable", + "value": "R" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "BlankNode", + "value": "g_0" + } + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "BlankNode", + "value": "g_1" + }, + "predicate": { + "termType": "Variable", + "value": "R" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "BlankNode", + "value": "g_2" + } + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json new file mode 100644 index 00000000..a65ead2b --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json @@ -0,0 +1,56 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + }, + { + "type": "bind", + "variable": { + "termType": "Variable", + "value": "t" + }, + "expression": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json new file mode 100644 index 00000000..7de877a4 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json @@ -0,0 +1,67 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + }, + { + "type": "bind", + "variable": { + "termType": "Variable", + "value": "t" + }, + "expression": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json new file mode 100644 index 00000000..f01f4950 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json @@ -0,0 +1,59 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + }, + { + "type": "bind", + "variable": { + "termType": "Variable", + "value": "t1" + }, + "expression": { + "type": "operation", + "operator": "triple", + "args": [ + { + "termType": "Variable", + "value": "s" + }, + { + "termType": "Variable", + "value": "p" + }, + { + "termType": "Variable", + "value": "o" + } + ] + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json new file mode 100644 index 00000000..bea4afcf --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json @@ -0,0 +1,65 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + }, + { + "type": "bind", + "variable": { + "termType": "Variable", + "value": "t2" + }, + "expression": { + "type": "operation", + "operator": "triple", + "args": [ + { + "termType": "Variable", + "value": "s" + }, + { + "termType": "Variable", + "value": "p" + }, + { + "type": "operation", + "operator": "str", + "args": [ + { + "termType": "Variable", + "value": "o" + } + ] + } + ] + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json new file mode 100644 index 00000000..7e26f5c0 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json @@ -0,0 +1,116 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "t" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#source" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#g" + } + } + ] + }, + { + "type": "filter", + "expression": { + "type": "operation", + "operator": "istriple", + "args": [ + { + "termType": "Variable", + "value": "t" + } + ] + } + }, + { + "type": "filter", + "expression": { + "type": "operation", + "operator": "=", + "args": [ + { + "type": "operation", + "operator": "subject", + "args": [ + { + "termType": "Variable", + "value": "t" + } + ] + }, + { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + } + ] + } + }, + { + "type": "filter", + "expression": { + "type": "operation", + "operator": "=", + "args": [ + { + "type": "operation", + "operator": "predicate", + "args": [ + { + "termType": "Variable", + "value": "t" + } + ] + }, + { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + } + ] + } + }, + { + "type": "filter", + "expression": { + "type": "operation", + "operator": "=", + "args": [ + { + "type": "operation", + "operator": "object", + "args": [ + { + "termType": "Variable", + "value": "t" + } + ] + }, + { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + ] + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json new file mode 100644 index 00000000..6f411dd2 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json @@ -0,0 +1,75 @@ +{ + "queryType": "CONSTRUCT", + "template": [ + { + "subject": { + "termType": "Variable", + "value": "t" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#graph" + }, + "object": { + "termType": "Variable", + "value": "g" + } + } + ], + "where": [ + { + "type": "graph", + "patterns": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + }, + { + "type": "bind", + "variable": { + "termType": "Variable", + "value": "t" + }, + "expression": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + } + ], + "name": { + "termType": "Variable", + "value": "g" + } + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json new file mode 100644 index 00000000..fd28e01a --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json @@ -0,0 +1,59 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "Variable", + "value": "Q" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json new file mode 100644 index 00000000..53957d54 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json @@ -0,0 +1,117 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Literal", + "value": "123", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + } + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "S1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" + }, + "object": { + "termType": "BlankNode", + "value": "g_1" + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "S2" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + } + }, + { + "subject": { + "termType": "BlankNode", + "value": "g_1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" + }, + "object": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json new file mode 100644 index 00000000..6ad97b6f --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json @@ -0,0 +1,86 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Literal", + "value": "1", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + } + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json new file mode 100644 index 00000000..76811c1d --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json @@ -0,0 +1,81 @@ +{ + "queryType": "SELECT", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "O" + } + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "O" + } + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + } + ] + } + ], + "type": "query", + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json new file mode 100644 index 00000000..dd5cca93 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json @@ -0,0 +1,43 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insert", + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json new file mode 100644 index 00000000..e4a5cd83 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json @@ -0,0 +1,57 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insert", + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#y" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#z" + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json new file mode 100644 index 00000000..35d8e63c --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json @@ -0,0 +1,148 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insertdelete", + "delete": [], + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json new file mode 100644 index 00000000..3cb7a68d --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json @@ -0,0 +1,170 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insertdelete", + "delete": [], + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + } + ] + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#c" + } + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s1" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p1" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json new file mode 100644 index 00000000..945ea091 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json @@ -0,0 +1,148 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insertdelete", + "delete": [], + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "Variable", + "value": "O" + } + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "Variable", + "value": "O" + } + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "Variable", + "value": "O" + } + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "S" + }, + "predicate": { + "termType": "Variable", + "value": "P" + }, + "object": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#a" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#b" + }, + "object": { + "termType": "Variable", + "value": "O" + } + } + }, + "predicate": { + "termType": "Variable", + "value": "Y" + }, + "object": { + "termType": "Variable", + "value": "Z" + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json new file mode 100644 index 00000000..25af5058 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json @@ -0,0 +1,94 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insertdelete", + "delete": [], + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#added" + }, + "object": { + "termType": "Literal", + "value": "Property :r", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "type": "path", + "pathType": "/", + "items": [ + { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + } + ] + }, + "object": { + "termType": "Variable", + "value": "o" + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json new file mode 100644 index 00000000..b0428e2b --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json @@ -0,0 +1,120 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "insertdelete", + "delete": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#r" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#added" + }, + "object": { + "termType": "Literal", + "value": "Property :r", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ], + "insert": [], + "where": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "Variable", + "value": "s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "Variable", + "value": "o" + } + }, + "predicate": { + "type": "path", + "pathType": "+", + "items": [ + { + "termType": "NamedNode", + "value": "http://example.com/ns#q1" + } + ] + }, + "object": { + "termType": "Literal", + "value": "ABC", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json new file mode 100644 index 00000000..0c6ff9d4 --- /dev/null +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json @@ -0,0 +1,116 @@ +{ + "type": "update", + "updates": [ + { + "updateType": "delete", + "delete": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o1" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#added" + }, + "object": { + "termType": "Literal", + "value": "Test", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ] + }, + { + "updateType": "insert", + "insert": [ + { + "type": "bgp", + "triples": [ + { + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + }, + { + "subject": { + "termType": "Quad", + "subject": { + "termType": "NamedNode", + "value": "http://example.com/ns#s" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o2" + } + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#added" + }, + "object": { + "termType": "Literal", + "value": "Test", + "language": "", + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + } + } + } + ] + } + ] + } + ], + "prefixes": { + "": "http://example.com/ns#" + } +} \ No newline at end of file From 1c7194dd21eac0a02f42453f53eff207db684e4d Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 15:38:16 +1100 Subject: [PATCH 20/39] chore: forward sll options in spec parser --- spec/parser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/parser.js b/spec/parser.js index a42f843a..134eca1c 100644 --- a/spec/parser.js +++ b/spec/parser.js @@ -3,7 +3,7 @@ const { Parser } = require('..'); module.exports = { parse: async function (query, options) { - const parser = new Parser({ baseIRI: options.baseIRI }); + const parser = new Parser(options); parser.parse(query); }, query: function() { From 791d4d58d96c2a88a25364c474feb372aa311f5b Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 17:28:04 +1100 Subject: [PATCH 21/39] fix: error on quoted paths --- lib/sparql.jison | 6 ++++++ .../sparql-start-quoted-blanknode-bind.sparql | 4 ++++ .../sparql-star-annotated-alternate-path.sparql | 4 +++- .../sparql-star-annotated-oneOrMore.sparql | 5 +++++ .../sparql-star-annotated-optional.sparql | 5 +++++ .../sparql-star-annotated-path-on-start.sparql | 5 +++++ .../sparqlstar-invalid/sparql-star-annotated-path.sparql | 2 ++ .../sparql-star-annotated-variable-path.sparql | 2 ++ .../sparql-star-quoted-alternate-path.sparql | 2 ++ .../sparql-star-quoted-bnode-predicate.sparql | 3 +++ queries/sparqlstar-invalid/sparql-star-quoted-path.sparql | 2 ++ .../sparql-star-quoted-variable-path.sparql | 2 ++ .../sparql-start-quoted-blanknode-bind.sparql | 4 ++++ test/SparqlParser-test.js | 3 +++ 14 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 queries/sparql-skip-validation/sparql-start-quoted-blanknode-bind.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-oneOrMore.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-optional.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-path-on-start.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-bnode-predicate.sparql create mode 100644 queries/sparqlstar-invalid/sparql-start-quoted-blanknode-bind.sparql diff --git a/lib/sparql.jison b/lib/sparql.jison index 514b8965..a145498e 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -155,6 +155,12 @@ } function nestedTriple(subject, predicate, object) { + + // TODO: Remove this when it is caught by the grammar + if (!('termType' in predicate)) { + throw new Error('Nested triples cannot contain paths'); + } + return { termType: "Quad", subject, diff --git a/queries/sparql-skip-validation/sparql-start-quoted-blanknode-bind.sparql b/queries/sparql-skip-validation/sparql-start-quoted-blanknode-bind.sparql new file mode 100644 index 00000000..e831eac5 --- /dev/null +++ b/queries/sparql-skip-validation/sparql-start-quoted-blanknode-bind.sparql @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o . + BIND([] AS ?t ) +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql index 7146a329..0d7a8b7f 100644 --- a/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql +++ b/queries/sparqlstar-invalid/sparql-star-annotated-alternate-path.sparql @@ -1,3 +1,5 @@ +PREFIX : + SELECT * WHERE { - ?s :p|:q ?o {| ?pp ?oo |}. + ?s :p|:q ?o {| ?pp ?oo |} . } diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-oneOrMore.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-oneOrMore.sparql new file mode 100644 index 00000000..945b5fd3 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-oneOrMore.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * WHERE { + ?s :p+ ?o {| ?pp ?oo |} . +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-optional.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-optional.sparql new file mode 100644 index 00000000..000f586c --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-optional.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + :s :p? :o {| ?p ?o |} +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-path-on-start.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-path-on-start.sparql new file mode 100644 index 00000000..d5eea04e --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-path-on-start.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * WHERE { + :s+ :p ?o {| ?pp ?oo |} . +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql index 091637f7..40d17362 100644 --- a/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql +++ b/queries/sparqlstar-invalid/sparql-star-annotated-path.sparql @@ -1,3 +1,5 @@ +PREFIX : + SELECT * WHERE { ?s :p/:q ?o {| ?pp ?oo |}. } diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql index aa11bdf1..ddb6328c 100644 --- a/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql +++ b/queries/sparqlstar-invalid/sparql-star-annotated-variable-path.sparql @@ -1,3 +1,5 @@ +PREFIX : + SELECT * WHERE { ?s1 ?p1/?p2 ?o1 {| ?p2 ?o2 |} } diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql index 09cae073..4cca759c 100644 --- a/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql +++ b/queries/sparqlstar-invalid/sparql-star-quoted-alternate-path.sparql @@ -1,3 +1,5 @@ +PREFIX : + SELECT * WHERE { <>. } diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-bnode-predicate.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-bnode-predicate.sparql new file mode 100644 index 00000000..28b9547b --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-bnode-predicate.sparql @@ -0,0 +1,3 @@ +SELECT * WHERE { + <> ?p2 ?o2 . +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql index 9d81dd53..61e1eaa9 100644 --- a/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql +++ b/queries/sparqlstar-invalid/sparql-star-quoted-path.sparql @@ -1,3 +1,5 @@ +PREFIX : + SELECT * WHERE { <>. } diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql index d483644d..aa081b1d 100644 --- a/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql +++ b/queries/sparqlstar-invalid/sparql-star-quoted-variable-path.sparql @@ -1,3 +1,5 @@ +PREFIX : + SELECT * WHERE { <> } diff --git a/queries/sparqlstar-invalid/sparql-start-quoted-blanknode-bind.sparql b/queries/sparqlstar-invalid/sparql-start-quoted-blanknode-bind.sparql new file mode 100644 index 00000000..7bab89ea --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-start-quoted-blanknode-bind.sparql @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o . + BIND(<< [] ?p ?o >> AS ?t ) +} diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 1b15fe17..71ab41fc 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -46,6 +46,9 @@ describe('A SPARQL parser', function () { testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); // Select queries from the sparqlstar specification testQueries('sparqlstar-spec', { sparqlStar: true }); + + testQueries('sparqlstar-nested-quads', { mustError: true, sparqlStar: true }); + testQueries('sparqlstar-invalid', { mustError: true, sparqlStar: true }); }); it('should throw an error on an invalid query', function () { From fe34334035022e527920989b5d23a02556a626ec Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 17:44:54 +1100 Subject: [PATCH 22/39] chore: expand test suite --- .../sparql-star-annotated-path.sparql | 5 + .../sparql-star-annotated-list-object.sparql | 5 + ...parql-star-annotated-list-predicate.sparql | 5 + .../sparql-star-annotated-list-subject.sparql | 5 + .../sparql-star-nested-annotated-path.sparql | 5 + .../sparql-star-quoted-list-object.sparql | 5 + ...rql-star-quoted-list-predicate copy.sparql | 5 + .../sparql-star-quoted-list-predicate.sparql | 5 + ...parql-star-quoted-list-subject copy.sparql | 5 + .../sparql-star-quoted-list-subject.sparql | 5 + .../sparql-star-annotated-path.json | 105 ++++++++++++++++++ 11 files changed, 155 insertions(+) create mode 100644 queries/sparqlstar-annotated/sparql-star-annotated-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-list-object.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-list-predicate.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-annotated-list-subject.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-nested-annotated-path.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-list-object.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-list-predicate copy.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-list-predicate.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-list-subject copy.sparql create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-list-subject.sparql create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-path.json diff --git a/queries/sparqlstar-annotated/sparql-star-annotated-path.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-path.sparql new file mode 100644 index 00000000..b1fb2319 --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-annotated-path.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * WHERE { + ?s ?p ?o {| ?p1 ?o1 {| :p/:q ?o2 |} |}. +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-list-object.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-list-object.sparql new file mode 100644 index 00000000..bca263b6 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-list-object.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ?s :p ("abc") {| :q 123 |} . +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-list-predicate.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-list-predicate.sparql new file mode 100644 index 00000000..4cc91db7 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-list-predicate.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + :p ("abc") :o {| :q 123 |} . +} diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-list-subject.sparql b/queries/sparqlstar-invalid/sparql-star-annotated-list-subject.sparql new file mode 100644 index 00000000..d1398a35 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-annotated-list-subject.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + ("abc") :p :o {| :q 123 |} . +} diff --git a/queries/sparqlstar-invalid/sparql-star-nested-annotated-path.sparql b/queries/sparqlstar-invalid/sparql-star-nested-annotated-path.sparql new file mode 100644 index 00000000..f12ed561 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-nested-annotated-path.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * WHERE { + ?s ?p ?o {| :p/:q ?oo {| ?a ?b |} |}. +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-list-object.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-list-object.sparql new file mode 100644 index 00000000..c07dcdee --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-list-object.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <> :q 123 . +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-list-predicate copy.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-list-predicate copy.sparql new file mode 100644 index 00000000..c07dcdee --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-list-predicate copy.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <> :q 123 . +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-list-predicate.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-list-predicate.sparql new file mode 100644 index 00000000..c07dcdee --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-list-predicate.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <> :q 123 . +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-list-subject copy.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-list-subject copy.sparql new file mode 100644 index 00000000..207ff627 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-list-subject copy.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <<("abc") :p :o >> :q 123 . +} diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-list-subject.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-list-subject.sparql new file mode 100644 index 00000000..207ff627 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-list-subject.sparql @@ -0,0 +1,5 @@ +PREFIX : + +SELECT * { + <<("abc") :p :o >> :q 123 . +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-path.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-path.json new file mode 100644 index 00000000..db43097c --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-path.json @@ -0,0 +1,105 @@ +{ + "prefixes": { + "": "http://example.com/" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + }, + { + "object": { + "termType": "Variable", + "value": "o1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "subject": { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + }, + "termType": "Quad" + } + }, + { + "object": { + "termType": "Variable", + "value": "o2" + }, + "predicate": { + "items": [ + { + "termType": "NamedNode", + "value": "http://example.com/p" + }, + { + "termType": "NamedNode", + "value": "http://example.com/q" + } + ], + "pathType": "/", + "type": "path" + }, + "subject": { + "object": { + "termType": "Variable", + "value": "o1" + }, + "predicate": { + "termType": "Variable", + "value": "p1" + }, + "subject": { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + }, + "termType": "Quad" + }, + "termType": "Quad" + } + } + ], + "type": "bgp" + } + ] +} From 764a281bb1359afcacecb1e18d8426639836b38e Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 23:32:18 +1100 Subject: [PATCH 23/39] chore: 100% spec tests :party: --- lib/sparql.jison | 43 +- package-lock.json | 1351 +---------------- package.json | 4 +- ... sparql-star-quoted-blanknode-bind.sparql} | 0 .../sparql-star-quoted-path-bind.sparql | 6 + 5 files changed, 102 insertions(+), 1302 deletions(-) rename queries/sparqlstar-invalid/{sparql-start-quoted-blanknode-bind.sparql => sparql-star-quoted-blanknode-bind.sparql} (100%) create mode 100644 queries/sparqlstar-invalid/sparql-star-quoted-path-bind.sparql diff --git a/lib/sparql.jison b/lib/sparql.jison index a145498e..c141f198 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -401,19 +401,6 @@ annotation.object ) - // const t = Parser.factory.quad(subject, annotation.predicate, annotation.object); - // delete t.graph; - - // const t = { - // subject, - // predicate: annotation.predicate, - // object: annotation.object, - // termType: "Quad", - // value: "", - // } - // const t = triple(subject, annotation.predicate, annotation.object); - // t.termType = 'Triple'; - arr.push(t); if (annotation.annotations) { @@ -449,7 +436,7 @@ if (!Parser.sparqlStarNestedQuads) { throw new Error('Lenient SPARQL-star support with nested quads is not enabled'); } - return value;sparqlStar + return value; } function ensureNoVariables(operations) { @@ -849,7 +836,7 @@ SelectClauseItem : Var | '(' Expression 'AS' Var ')' -> expression($2, { variable: $4 }) // TODO: Remove this - | '(' VarTriple 'AS' Var ')' -> ensureSparqlStar(expression($2, { variable: $4 })) + // | '(' VarTriple 'AS' Var ')' -> ensureSparqlStar(expression($2, { variable: $4 })) ; // [8] Didn't check - optional clause seems disjoint with grammar @@ -1208,7 +1195,7 @@ GraphPatternNotTriples | Filter | Bind // TODO: See what covers this (it *might* be subsumed by Bind with the renewed definition of experession) - | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) + // | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) | ValuesClause ; @@ -1232,6 +1219,7 @@ ServiceGraphPattern // [60] Bind : 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } + // | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) ; // [61] @@ -1367,9 +1355,6 @@ ObjectList // [80] Object - // TODO: Work out what to *actually* do with the AnnotationPattern - // TODO: Then add tests - // TODO: Probably also ensureSParqlStar : GraphNode AnnotationPattern? -> $2 ? { annotation: $2, object: $1 } : $1 ; @@ -1478,12 +1463,16 @@ TriplesNodePath : '(' GraphNodePath+ ')' -> createList($2) | '[' PropertyListPathNotEmpty ']' -> createAnonymousObject($2) ; + +// [104] GraphNode - : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ + : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ | TriplesNode ; + +// [105] GraphNodePath - : (VarOrTerm | VarTriple) -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ + : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ | TriplesNodePath ; @@ -1545,7 +1534,6 @@ ValueLogical // [114] RelationalExpression : NumericExpression - // TODO: Fix missing pipe on sparql-star grammar page | NumericExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) | NumericExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) ; @@ -1782,8 +1770,15 @@ ExprQuotedTP // TODO: Re-enable // [182] // TODO: See if this should be overriding something else in the grammar -// ExprVarOrTerm -// : Literal +ExprVarOrTerm + // : VarTriple + : VarOrIri + | ExprQuotedTP + | Literal + ; +// // : Literal +// : VarOrIri +// ; // | VarOrIri // // TODO: See if this recursive reference is the cause of the compilation error. // | ExprQuotedTP diff --git a/package-lock.json b/package-lock.json index 9d8c146f..dab2afde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,12 +19,64 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.19.2" + "rdf-test-suite": "file:../rdf-test-suite.js" }, "engines": { "node": ">=8.0" } }, + "../rdf-test-suite.js": { + "version": "1.19.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@rdfjs/types": "*", + "@types/json-stable-stringify": "^1.0.32", + "@types/log-symbols": "^3.0.0", + "@types/minimist": "^1.2.0", + "@types/n3": "^1.10.3", + "@types/sax": "^1.0.1", + "arrayify-stream": "^2.0.0", + "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "jsonld-streaming-parser": "^3.0.0", + "log-symbols": "^4.0.0", + "minimist": "^1.2.0", + "n3": "^1.11.1", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-literal": "^1.3.0", + "rdf-object": "^1.11.1", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "rdfxml-streaming-parser": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", + "relative-to-absolute-iri": "^1.0.6", + "sparqljson-parse": "^2.0.1", + "sparqlxml-parse": "^2.0.1", + "stream-to-string": "^1.1.0", + "streamify-string": "^1.0.1" + }, + "bin": { + "rdf-test-suite": "bin/Runner.js" + }, + "devDependencies": { + "@types/jest": "^28.0.0", + "coveralls": "^3.0.0", + "jest": "^28.0.0", + "jest-rdf": "^1.7.0", + "manual-git-changelog": "^1.0.1", + "pre-commit": "^1.2.2", + "rimraf": "^3.0.0", + "streamify-array": "^1.0.1", + "ts-jest": "^28.0.0", + "tslint": "^6.0.0", + "tslint-eslint-rules": "^5.3.1", + "typescript": "^4.0.0" + } + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -124,15 +176,6 @@ "@types/node": "*" } }, - "node_modules/@types/http-link-header": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", - "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -158,62 +201,11 @@ "@types/istanbul-lib-report": "*" } }, - "node_modules/@types/json-stable-stringify": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", - "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", - "dev": true - }, - "node_modules/@types/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", - "deprecated": "This is a stub types definition. log-symbols provides its own type definitions, so you do not need this installed.", - "dev": true, - "dependencies": { - "log-symbols": "*" - } - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/n3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", - "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "rdf-js": "^4.0.2" - } - }, "node_modules/@types/node": { "version": "18.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, - "node_modules/@types/readable-stream": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", - "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "safe-buffer": "*" - } - }, - "node_modules/@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", @@ -235,18 +227,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -364,12 +344,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrayify-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", - "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", - "dev": true - }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -427,26 +401,6 @@ "node": ">=0.10.0" } }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -514,30 +468,6 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -595,12 +525,6 @@ "node": ">=6" } }, - "node_modules/canonicalize": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", - "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -934,15 +858,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "dependencies": { - "node-fetch": "2.6.7" - } - }, "node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -1192,15 +1107,6 @@ "node": ">=0.10.0" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1752,16 +1658,6 @@ "node": ">=0.10.0" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1771,35 +1667,6 @@ "he": "bin/he" } }, - "node_modules/http-link-header": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", - "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2097,18 +1964,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -2139,18 +1994,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -2330,59 +2173,6 @@ "node": ">=4" } }, - "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "dev": true, - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/jsonld-context-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", - "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", - "dev": true, - "dependencies": { - "@types/http-link-header": "^1.0.1", - "@types/node": "^18.0.0", - "canonicalize": "^1.0.1", - "cross-fetch": "^3.0.6", - "http-link-header": "^1.0.2", - "relative-to-absolute-iri": "^1.0.5" - }, - "bin": { - "jsonld-context-parse": "bin/jsonld-context-parse.js" - } - }, - "node_modules/jsonld-streaming-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", - "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/http-link-header": "^1.0.1", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "canonicalize": "^1.0.1", - "http-link-header": "^1.0.2", - "jsonld-context-parser": "^2.1.3", - "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0" - } - }, "node_modules/jsonlint": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", @@ -2399,15 +2189,6 @@ "node": ">= 0.6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, "node_modules/JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", @@ -2527,12 +2308,6 @@ "node": ">=0.10.0" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -2653,33 +2428,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "node_modules/n3": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", - "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", - "dev": true, - "dependencies": { - "queue-microtask": "^1.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/n3/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -2712,26 +2460,6 @@ "semver": "^5.7.0" } }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/nomnom": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", @@ -3068,38 +2796,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/promise-polyfill": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", - "dev": true - }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/rdf-data-factory": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", @@ -3108,222 +2810,9 @@ "@rdfjs/types": "*" } }, - "node_modules/rdf-isomorphic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", - "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "hash.js": "^1.1.7", - "rdf-string": "^1.6.0", - "rdf-terms": "^1.7.0" - } - }, - "node_modules/rdf-js": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", - "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/rdf-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", - "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "rdf-data-factory": "^1.1.0" - } - }, - "node_modules/rdf-object": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", - "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "jsonld-context-parser": "^2.0.2", - "rdf-data-factory": "^1.1.0", - "rdf-string": "^1.6.0", - "streamify-array": "^1.0.1" - } - }, - "node_modules/rdf-quad": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", - "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", - "dev": true, - "dependencies": { - "rdf-data-factory": "^1.0.1", - "rdf-literal": "^1.2.0", - "rdf-string": "^1.5.0" - } - }, - "node_modules/rdf-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", - "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "rdf-data-factory": "^1.1.0" - } - }, - "node_modules/rdf-terms": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", - "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "rdf-data-factory": "^1.1.0", - "rdf-string": "^1.6.0" - } - }, "node_modules/rdf-test-suite": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", - "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/json-stable-stringify": "^1.0.32", - "@types/log-symbols": "^3.0.0", - "@types/minimist": "^1.2.0", - "@types/n3": "^1.10.3", - "@types/sax": "^1.0.1", - "arrayify-stream": "^2.0.0", - "cross-fetch": "^3.0.6", - "is-stream": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "jsonld-streaming-parser": "^3.0.0", - "log-symbols": "^4.0.0", - "minimist": "^1.2.0", - "n3": "^1.11.1", - "rdf-data-factory": "^1.1.0", - "rdf-isomorphic": "^1.3.0", - "rdf-literal": "^1.3.0", - "rdf-object": "^1.11.1", - "rdf-quad": "^1.5.0", - "rdf-string": "^1.6.0", - "rdf-terms": "^1.7.0", - "rdfxml-streaming-parser": "^2.0.0", - "readable-web-to-node-stream": "^3.0.2", - "relative-to-absolute-iri": "^1.0.6", - "sparqljson-parse": "^2.0.1", - "sparqlxml-parse": "^2.0.1", - "stream-to-string": "^1.1.0", - "streamify-string": "^1.0.1" - }, - "bin": { - "rdf-test-suite": "bin/Runner.js" - } - }, - "node_modules/rdf-test-suite/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/rdf-test-suite/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/rdf-test-suite/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/rdf-test-suite/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/rdf-test-suite/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/rdf-test-suite/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rdf-test-suite/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/rdfxml-streaming-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", - "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0", - "relative-to-absolute-iri": "^1.0.0", - "saxes": "^6.0.0", - "validate-iri": "^1.0.0" - } + "resolved": "../rdf-test-suite.js", + "link": true }, "node_modules/react-is": { "version": "16.13.1", @@ -3331,48 +2820,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", - "dev": true, - "dependencies": { - "abort-controller": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", - "dev": true, - "dependencies": { - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", @@ -3415,12 +2862,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/relative-to-absolute-iri": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", - "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", - "dev": true - }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", @@ -3470,26 +2911,6 @@ "node": ">=0.12" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -3499,18 +2920,6 @@ "ret": "~0.1.10" } }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3830,34 +3239,6 @@ "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, - "node_modules/sparqljson-parse": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", - "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0" - } - }, - "node_modules/sparqlxml-parse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", - "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", - "dev": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0", - "saxes": "^6.0.0" - } - }, "node_modules/spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", @@ -4010,27 +3391,6 @@ "node": ">=0.10.0" } }, - "node_modules/stream-to-string": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", - "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", - "dev": true, - "dependencies": { - "promise-polyfill": "^1.1.6" - } - }, - "node_modules/streamify-array": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", - "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", - "dev": true - }, - "node_modules/streamify-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", - "dev": true - }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -4187,12 +3547,6 @@ "node": ">=0.10.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -4317,28 +3671,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/validate-iri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", - "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", - "dev": true - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -4428,12 +3760,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -4594,15 +3920,6 @@ "@types/node": "*" } }, - "@types/http-link-header": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", - "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -4618,45 +3935,14 @@ "@types/istanbul-lib-coverage": "*" } }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-stable-stringify": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", - "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", - "dev": true - }, - "@types/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", - "dev": true, - "requires": { - "log-symbols": "*" - } - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/n3": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", - "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, "requires": { - "@types/node": "*", - "rdf-js": "^4.0.2" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, "@types/node": { @@ -4664,25 +3950,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, - "@types/readable-stream": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", - "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", - "dev": true, - "requires": { - "@types/node": "*", - "safe-buffer": "*" - } - }, - "@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", @@ -4704,15 +3971,6 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -4797,12 +4055,6 @@ "is-string": "^1.0.7" } }, - "arrayify-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", - "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -4847,12 +4099,6 @@ } } }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4910,16 +4156,6 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4965,12 +4201,6 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "canonicalize": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", - "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", - "dev": true - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -5251,15 +4481,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dev": true, - "requires": { - "node-fetch": "2.6.7" - } - }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -5446,12 +4667,6 @@ "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", "dev": true }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -5872,34 +5087,12 @@ } } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, - "http-link-header": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", - "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6104,12 +5297,6 @@ "call-bind": "^1.0.2" } }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -6128,12 +5315,6 @@ "has-symbols": "^1.0.2" } }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -6269,53 +5450,6 @@ } } }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg==", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha512-trvBk1ki43VZptdBI5rIlG4YOzyeH/WefQt5rj1grasPn4iiZWKet8nkgc4GlsAylaztn0qZfUYOiTsASJFdNA==", - "dev": true - }, - "jsonld-context-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", - "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", - "dev": true, - "requires": { - "@types/http-link-header": "^1.0.1", - "@types/node": "^18.0.0", - "canonicalize": "^1.0.1", - "cross-fetch": "^3.0.6", - "http-link-header": "^1.0.2", - "relative-to-absolute-iri": "^1.0.5" - } - }, - "jsonld-streaming-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", - "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "@types/http-link-header": "^1.0.1", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "canonicalize": "^1.0.1", - "http-link-header": "^1.0.2", - "jsonld-context-parser": "^2.1.3", - "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0" - } - }, "jsonlint": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", @@ -6326,12 +5460,6 @@ "nomnom": ">= 1.5.x" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, "JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", @@ -6427,12 +5555,6 @@ "to-regex": "^3.0.2" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -6531,29 +5653,6 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, - "n3": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", - "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", - "dev": true, - "requires": { - "queue-microtask": "^1.1.2", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -6583,15 +5682,6 @@ "semver": "^5.7.0" } }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, "nomnom": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", @@ -6845,24 +5935,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "promise-polyfill": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", - "dev": true - }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, "rdf-data-factory": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", @@ -6871,102 +5949,29 @@ "@rdfjs/types": "*" } }, - "rdf-isomorphic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", - "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "hash.js": "^1.1.7", - "rdf-string": "^1.6.0", - "rdf-terms": "^1.7.0" - } - }, - "rdf-js": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", - "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", - "dev": true, - "requires": { - "@rdfjs/types": "*" - } - }, - "rdf-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", - "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "rdf-data-factory": "^1.1.0" - } - }, - "rdf-object": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", - "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "jsonld-context-parser": "^2.0.2", - "rdf-data-factory": "^1.1.0", - "rdf-string": "^1.6.0", - "streamify-array": "^1.0.1" - } - }, - "rdf-quad": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", - "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", - "dev": true, - "requires": { - "rdf-data-factory": "^1.0.1", - "rdf-literal": "^1.2.0", - "rdf-string": "^1.5.0" - } - }, - "rdf-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", - "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "rdf-data-factory": "^1.1.0" - } - }, - "rdf-terms": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", - "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "rdf-data-factory": "^1.1.0", - "rdf-string": "^1.6.0" - } - }, "rdf-test-suite": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", - "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", - "dev": true, + "version": "file:../rdf-test-suite.js", "requires": { "@rdfjs/types": "*", + "@types/jest": "^28.0.0", "@types/json-stable-stringify": "^1.0.32", "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", "arrayify-stream": "^2.0.0", + "coveralls": "^3.0.0", "cross-fetch": "^3.0.6", "is-stream": "^2.0.0", + "jest": "^28.0.0", + "jest-rdf": "^1.7.0", "json-stable-stringify": "^1.0.1", "jsonld-streaming-parser": "^3.0.0", "log-symbols": "^4.0.0", + "manual-git-changelog": "^1.0.1", "minimist": "^1.2.0", "n3": "^1.11.1", + "pre-commit": "^1.2.2", "rdf-data-factory": "^1.1.0", "rdf-isomorphic": "^1.3.0", "rdf-literal": "^1.3.0", @@ -6977,87 +5982,16 @@ "rdfxml-streaming-parser": "^2.0.0", "readable-web-to-node-stream": "^3.0.2", "relative-to-absolute-iri": "^1.0.6", + "rimraf": "^3.0.0", "sparqljson-parse": "^2.0.1", "sparqlxml-parse": "^2.0.1", "stream-to-string": "^1.1.0", - "streamify-string": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "rdfxml-streaming-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", - "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0", - "relative-to-absolute-iri": "^1.0.0", - "saxes": "^6.0.0", - "validate-iri": "^1.0.0" + "streamify-array": "^1.0.1", + "streamify-string": "^1.0.1", + "ts-jest": "^28.0.0", + "tslint": "^6.0.0", + "tslint-eslint-rules": "^5.3.1", + "typescript": "^4.0.0" } }, "react-is": { @@ -7066,37 +6000,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", - "dev": true, - "requires": { - "abort-controller": "^3.0.0" - } - }, - "readable-web-to-node-stream": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", - "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", - "dev": true, - "requires": { - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "readdirp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", @@ -7127,12 +6030,6 @@ "functions-have-names": "^1.2.2" } }, - "relative-to-absolute-iri": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", - "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", - "dev": true - }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", @@ -7169,12 +6066,6 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -7184,15 +6075,6 @@ "ret": "~0.1.10" } }, - "saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -7450,34 +6332,6 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, - "sparqljson-parse": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", - "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0" - } - }, - "sparqlxml-parse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", - "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", - "dev": true, - "requires": { - "@rdfjs/types": "*", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.0.0", - "saxes": "^6.0.0" - } - }, "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", @@ -7604,27 +6458,6 @@ } } }, - "stream-to-string": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", - "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", - "dev": true, - "requires": { - "promise-polyfill": "^1.1.6" - } - }, - "streamify-array": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", - "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", - "dev": true - }, - "streamify-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", - "dev": true - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -7754,12 +6587,6 @@ "repeat-string": "^1.6.1" } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -7862,28 +6689,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "validate-iri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", - "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", - "dev": true - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -7960,12 +6765,6 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", diff --git a/package.json b/package.json index 877152b4..aad11a1c 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "prepublishOnly": "npm run build", "spec-base-query": "rdf-test-suite spec/parser.js http://w3c.github.io/rdf-tests/sparql11/data-sparql11/manifest-all.ttl -s http://www.w3.org/TR/sparql11-query/ -c .rdf-test-suite-cache/", "spec-base-update": "rdf-test-suite spec/parser.js http://w3c.github.io/rdf-tests/sparql11/data-sparql11/manifest-all.ttl -s http://www.w3.org/TR/sparql11-update/ -c .rdf-test-suite-cache/", - "spec-star": "rdf-test-suite spec/parser.js https://w3c.github.io/rdf-star/tests/sparql/syntax/manifest.jsonld -s https://w3c.github.io/rdf-star/cg-spec/editors_draft.html -c .rdf-test-suite-cache/", + "spec-star": "rdf-test-suite spec/parser.js https://w3c.github.io/rdf-star/tests/sparql/syntax/manifest.jsonld -i '{ \"sparqlStar\": true }' -c .rdf-test-suite-cache/", "spec-earl-query": "npm run spec-base-query --silent -- -o earl -p spec/earl-meta.json > spec/earl-query.ttl", "spec-earl-update": "npm run spec-base-update --silent -- -o earl -p spec/earl-meta.json > spec/earl-update.ttl", "spec-earl-star": "npm run spec-star --silent -- -o earl -p spec/earl-meta.json > spec/earl-star.ttl", @@ -47,7 +47,7 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.19.2" + "rdf-test-suite": "file:../rdf-test-suite.js" }, "browser": { "_process": false, diff --git a/queries/sparqlstar-invalid/sparql-start-quoted-blanknode-bind.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-blanknode-bind.sparql similarity index 100% rename from queries/sparqlstar-invalid/sparql-start-quoted-blanknode-bind.sparql rename to queries/sparqlstar-invalid/sparql-star-quoted-blanknode-bind.sparql diff --git a/queries/sparqlstar-invalid/sparql-star-quoted-path-bind.sparql b/queries/sparqlstar-invalid/sparql-star-quoted-path-bind.sparql new file mode 100644 index 00000000..139bda23 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-quoted-path-bind.sparql @@ -0,0 +1,6 @@ +PREFIX : + +SELECT * { + ?s ?p ?o . + BIND(<< ?s :p/:q ?o >> AS ?t ) +} From 32da931a53f6584bb05b898ff822182abf407521 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Tue, 15 Nov 2022 23:55:55 +1100 Subject: [PATCH 24/39] chore: allow annotated lists in tests --- .../sparql-star-annotated-list-object.sparql | 0 .../sparql-star-annotated-list-subject.sparql | 0 .../sparql-star-annotated-list-object.json | 97 +++++++++++++++++++ .../sparql-star-annotated-list-subject.json | 97 +++++++++++++++++++ 4 files changed, 194 insertions(+) rename queries/{sparqlstar-invalid => sparqlstar-annotated}/sparql-star-annotated-list-object.sparql (100%) rename queries/{sparqlstar-invalid => sparqlstar-annotated}/sparql-star-annotated-list-subject.sparql (100%) create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-object.json create mode 100644 test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-subject.json diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-list-object.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-list-object.sparql similarity index 100% rename from queries/sparqlstar-invalid/sparql-star-annotated-list-object.sparql rename to queries/sparqlstar-annotated/sparql-star-annotated-list-object.sparql diff --git a/queries/sparqlstar-invalid/sparql-star-annotated-list-subject.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-list-subject.sparql similarity index 100% rename from queries/sparqlstar-invalid/sparql-star-annotated-list-subject.sparql rename to queries/sparqlstar-annotated/sparql-star-annotated-list-subject.sparql diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-object.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-object.json new file mode 100644 index 00000000..61c45204 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-object.json @@ -0,0 +1,97 @@ +{ + "prefixes": { + "": "http://example.com/ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + }, + { + "object": { + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + }, + "language": "", + "termType": "Literal", + "value": "123" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "subject": { + "object": { + "termType": "BlankNode", + "value": "g_0" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "subject": { + "termType": "Variable", + "value": "s" + }, + "termType": "Quad" + } + }, + { + "object": { + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + }, + "language": "", + "termType": "Literal", + "value": "abc" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" + }, + "subject": { + "termType": "BlankNode", + "value": "g_0" + } + }, + { + "object": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" + }, + "subject": { + "termType": "BlankNode", + "value": "g_0" + } + } + ], + "type": "bgp" + } + ] +} diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-subject.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-subject.json new file mode 100644 index 00000000..436ebd96 --- /dev/null +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-list-subject.json @@ -0,0 +1,97 @@ +{ + "prefixes": { + "": "http://example.com/ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "termType": "Wildcard", + "value": "*" + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "subject": { + "termType": "BlankNode", + "value": "g_0" + } + }, + { + "object": { + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#integer" + }, + "language": "", + "termType": "Literal", + "value": "123" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#q" + }, + "subject": { + "object": { + "termType": "NamedNode", + "value": "http://example.com/ns#o" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://example.com/ns#p" + }, + "subject": { + "termType": "BlankNode", + "value": "g_0" + }, + "termType": "Quad" + } + }, + { + "object": { + "datatype": { + "termType": "NamedNode", + "value": "http://www.w3.org/2001/XMLSchema#string" + }, + "language": "", + "termType": "Literal", + "value": "abc" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#first" + }, + "subject": { + "termType": "BlankNode", + "value": "g_0" + } + }, + { + "object": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" + }, + "predicate": { + "termType": "NamedNode", + "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#rest" + }, + "subject": { + "termType": "BlankNode", + "value": "g_0" + } + } + ], + "type": "bgp" + } + ] +} From bfcf8b712494111720bded55aa800bb53d562047 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 17 Nov 2022 22:13:42 +1100 Subject: [PATCH 25/39] fix: fix list in quoted triple bug --- lib/sparql.jison | 28 +- package-lock.json | 1359 +++++++++++++++-- .../sparqlstar-annotated/sparql-star-1.sparql | 9 + .../sparql-star-annotated-1.sparql | 3 - .../sparql-star-list-1.sparql} | 0 .../sparql-star-list-2.sparql | 9 + test/SparqlParser-test.js | 4 +- .../sparqlstar/sparql-star-1.json | 101 -- 8 files changed, 1288 insertions(+), 225 deletions(-) create mode 100644 queries/sparqlstar-annotated/sparql-star-1.sparql rename queries/{sparqlstar/sparql-star-1.sparql => sparqlstar-invalid/sparql-star-list-1.sparql} (100%) create mode 100644 queries/sparqlstar-invalid/sparql-star-list-2.sparql delete mode 100644 test/parsedQueries/sparqlstar/sparql-star-1.json diff --git a/lib/sparql.jison b/lib/sparql.jison index c141f198..74eec2da 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -1731,7 +1731,10 @@ QuotedTriple // [176] qtSubjectOrObject - : VarOrTerm + : Var + | iri + | BlankNode + | Literal | QuotedTP ; @@ -1771,33 +1774,10 @@ ExprQuotedTP // [182] // TODO: See if this should be overriding something else in the grammar ExprVarOrTerm - // : VarTriple : VarOrIri | ExprQuotedTP | Literal ; -// // : Literal -// : VarOrIri -// ; -// | VarOrIri -// // TODO: See if this recursive reference is the cause of the compilation error. -// | ExprQuotedTP -// ; - -// TODO: Remove these two to handle sparqlstar properly -VarTriple - // TODO: Remove this - it is not valid SPARQLstar - // : '<<' 'GRAPH' VarOrIri '{' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) - : '<<' (VarTriple | VarOrTerm) Verb (VarTriple | VarOrTerm) '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) - ; - - - -ConstTriple - // TODO: Remove this - it is not valid sparql star - // : '<<' 'GRAPH' VarOrIri '{' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '}' '>>' -> ensureSparqlStar(Parser.factory.quad($5, $6, $7, $3)) - : '<<' (ConstTriple | GraphTerm) Verb (ConstTriple | GraphTerm) '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) - ; // Utilities IriOrA diff --git a/package-lock.json b/package-lock.json index dab2afde..66202052 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,58 +25,6 @@ "node": ">=8.0" } }, - "../rdf-test-suite.js": { - "version": "1.19.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@rdfjs/types": "*", - "@types/json-stable-stringify": "^1.0.32", - "@types/log-symbols": "^3.0.0", - "@types/minimist": "^1.2.0", - "@types/n3": "^1.10.3", - "@types/sax": "^1.0.1", - "arrayify-stream": "^2.0.0", - "cross-fetch": "^3.0.6", - "is-stream": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "jsonld-streaming-parser": "^3.0.0", - "log-symbols": "^4.0.0", - "minimist": "^1.2.0", - "n3": "^1.11.1", - "rdf-data-factory": "^1.1.0", - "rdf-isomorphic": "^1.3.0", - "rdf-literal": "^1.3.0", - "rdf-object": "^1.11.1", - "rdf-quad": "^1.5.0", - "rdf-string": "^1.6.0", - "rdf-terms": "^1.7.0", - "rdfxml-streaming-parser": "^2.0.0", - "readable-web-to-node-stream": "^3.0.2", - "relative-to-absolute-iri": "^1.0.6", - "sparqljson-parse": "^2.0.1", - "sparqlxml-parse": "^2.0.1", - "stream-to-string": "^1.1.0", - "streamify-string": "^1.0.1" - }, - "bin": { - "rdf-test-suite": "bin/Runner.js" - }, - "devDependencies": { - "@types/jest": "^28.0.0", - "coveralls": "^3.0.0", - "jest": "^28.0.0", - "jest-rdf": "^1.7.0", - "manual-git-changelog": "^1.0.1", - "pre-commit": "^1.2.2", - "rimraf": "^3.0.0", - "streamify-array": "^1.0.1", - "ts-jest": "^28.0.0", - "tslint": "^6.0.0", - "tslint-eslint-rules": "^5.3.1", - "typescript": "^4.0.0" - } - }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -176,6 +124,15 @@ "@types/node": "*" } }, + "node_modules/@types/http-link-header": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -201,11 +158,62 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/json-stable-stringify": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", + "dev": true + }, + "node_modules/@types/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", + "deprecated": "This is a stub types definition. log-symbols provides its own type definitions, so you do not need this installed.", + "dev": true, + "dependencies": { + "log-symbols": "*" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/n3": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", + "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "rdf-js": "^4.0.2" + } + }, "node_modules/@types/node": { "version": "18.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, + "node_modules/@types/readable-stream": { + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", @@ -227,6 +235,18 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -344,6 +364,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrayify-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==", + "dev": true + }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -401,6 +427,26 @@ "node": ">=0.10.0" } }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -468,6 +514,30 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -525,6 +595,12 @@ "node": ">=6" } }, + "node_modules/canonicalize": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", + "dev": true + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -837,12 +913,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -858,6 +928,15 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "dependencies": { + "node-fetch": "2.6.7" + } + }, "node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -1107,6 +1186,24 @@ "node": ">=0.10.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1658,6 +1755,16 @@ "node": ">=0.10.0" } }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1667,6 +1774,35 @@ "he": "bin/he" } }, + "node_modules/http-link-header": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.0.tgz", + "integrity": "sha512-pj6N1yxOz/ANO8HHsWGg/OoIL1kmRYvQnXQ7PIRpgp+15AnEsRH8fmIJE6D1OdWG2Bov+BJHVla1fFXxg1JbbA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1964,6 +2100,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -1994,6 +2142,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -2173,6 +2333,62 @@ "node": ">=4" } }, + "node_modules/json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "dev": true, + "dependencies": { + "jsonify": "^0.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonld-context-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.2.tgz", + "integrity": "sha512-3VWIg/4NCMTXP6NsI6O93spFTd4qIOucKEmD8I+Exhxk9ZUVrnkLp2G4f0toR5jVleZkiiB9YGPS+yT1wwMqnQ==", + "dev": true, + "dependencies": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^18.0.0", + "canonicalize": "^1.0.1", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + }, + "bin": { + "jsonld-context-parse": "bin/jsonld-context-parse.js" + } + }, + "node_modules/jsonld-streaming-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.1.tgz", + "integrity": "sha512-zSJlEgrKypQDk/85R+xkudeCZo6vmnvJuCPvcjk2BzHPLzv1yqiwoKQDyFzfgfgCHM0p7YCJBZl0liT9RMUZJw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.1.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, "node_modules/jsonlint": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", @@ -2189,6 +2405,15 @@ "node": ">= 0.6" } }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, "node_modules/JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", @@ -2308,6 +2533,12 @@ "node": ">=0.10.0" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -2428,6 +2659,19 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/n3": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.3.tgz", + "integrity": "sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==", + "dev": true, + "dependencies": { + "queue-microtask": "^1.1.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">=12.0" + } + }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -2460,6 +2704,26 @@ "semver": "^5.7.0" } }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/nomnom": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", @@ -2790,18 +3054,53 @@ "node": ">= 6" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "node_modules/promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", + "dev": true + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/rdf-data-factory": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", @@ -2810,9 +3109,222 @@ "@rdfjs/types": "*" } }, + "node_modules/rdf-isomorphic": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "node_modules/rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*" + } + }, + "node_modules/rdf-literal": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.1.tgz", + "integrity": "sha512-+o/PGOfJchyay9Rjrvi/oveRJACnt2WFO3LhEvtPlsRD1tFmwVUCMU+s33FtQprMo+z1ohFrv/yfEQ6Eym4KgQ==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-object": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.2.tgz", + "integrity": "sha512-DVLDCbxPOkhd/k43j9wcLU7CXe/gdldBBomMV3RyZ1G9E2zPa2FFNFijzMGgRGNY1OEyGmhBxw2eiJjUC7GVNw==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "node_modules/rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "dev": true, + "dependencies": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "node_modules/rdf-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", + "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "node_modules/rdf-terms": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.1.tgz", + "integrity": "sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" + } + }, "node_modules/rdf-test-suite": { - "resolved": "../rdf-test-suite.js", - "link": true + "version": "1.19.2", + "resolved": "file:../rdf-test-suite.js", + "dev": true, + "license": "MIT", + "dependencies": { + "@rdfjs/types": "*", + "@types/json-stable-stringify": "^1.0.32", + "@types/log-symbols": "^3.0.0", + "@types/minimist": "^1.2.0", + "@types/n3": "^1.10.3", + "@types/sax": "^1.0.1", + "arrayify-stream": "^2.0.0", + "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "jsonld-streaming-parser": "^3.0.0", + "log-symbols": "^4.0.0", + "minimist": "^1.2.0", + "n3": "^1.11.1", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-literal": "^1.3.0", + "rdf-object": "^1.11.1", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "rdfxml-streaming-parser": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", + "relative-to-absolute-iri": "^1.0.6", + "sparqljson-parse": "^2.0.1", + "sparqlxml-parse": "^2.0.1", + "stream-to-string": "^1.1.0", + "streamify-string": "^1.0.1" + }, + "bin": { + "rdf-test-suite": "bin/Runner.js" + } + }, + "node_modules/rdf-test-suite/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/rdf-test-suite/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/rdf-test-suite/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/rdf-test-suite/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/rdf-test-suite/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rdf-test-suite/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rdf-test-suite/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rdfxml-streaming-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.1.tgz", + "integrity": "sha512-1r7aXfSRCLkBYXGcko/GpSZdHxXKvYaeUi2ulEbB7cLvACD7DNoAA/uW6dsETEhgmsEipJZI7NLqBl2whOse8Q==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "relative-to-absolute-iri": "^1.0.0", + "saxes": "^6.0.0", + "validate-iri": "^1.0.0" + } }, "node_modules/react-is": { "version": "16.13.1", @@ -2820,6 +3332,51 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "node_modules/readable-stream": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", @@ -2862,6 +3419,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/relative-to-absolute-iri": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==", + "dev": true + }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", @@ -2911,6 +3474,12 @@ "node": ">=0.12" } }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -2920,6 +3489,18 @@ "ret": "~0.1.10" } }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3239,6 +3820,34 @@ "deprecated": "See https://github.com/lydell/source-map-url#deprecated", "dev": true }, + "node_modules/sparqljson-parse": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.2.tgz", + "integrity": "sha512-RqPeyy+RYQMeqgEsKPTY+ME5ZNXcgXJzg1v0o+tROiTntS9CwUW8mAY3wsx6seSvW3LVyNDEtsqOxnAokoGXOA==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, + "node_modules/sparqlxml-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.2.tgz", + "integrity": "sha512-Iqso0WSTCSuMUYoX2pOEJxteCq9U+7AkOqwlFcvFG1S1aM87xWrp28njQOIiyIrL7Y8CkVXBZG1ec+DhZYUNXA==", + "dev": true, + "dependencies": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "saxes": "^6.0.0" + } + }, "node_modules/spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", @@ -3391,6 +4000,27 @@ "node": ">=0.10.0" } }, + "node_modules/stream-to-string": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", + "dev": true, + "dependencies": { + "promise-polyfill": "^1.1.6" + } + }, + "node_modules/streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true + }, + "node_modules/streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", + "dev": true + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -3400,12 +4030,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -3547,6 +4171,12 @@ "node": ">=0.10.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -3671,6 +4301,28 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/validate-iri": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -3760,6 +4412,12 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -3920,6 +4578,15 @@ "@types/node": "*" } }, + "@types/http-link-header": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/istanbul-lib-coverage": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", @@ -3945,11 +4612,61 @@ "@types/istanbul-lib-report": "*" } }, + "@types/json-stable-stringify": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", + "dev": true + }, + "@types/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", + "dev": true, + "requires": { + "log-symbols": "*" + } + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/n3": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", + "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", + "dev": true, + "requires": { + "@types/node": "*", + "rdf-js": "^4.0.2" + } + }, "@types/node": { "version": "18.7.13", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, + "@types/readable-stream": { + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", + "dev": true, + "requires": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "@types/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", @@ -3971,6 +4688,15 @@ "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -4055,6 +4781,12 @@ "is-string": "^1.0.7" } }, + "arrayify-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==", + "dev": true + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -4099,6 +4831,12 @@ } } }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -4156,6 +4894,16 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4201,6 +4949,12 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "canonicalize": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", + "dev": true + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4460,12 +5214,6 @@ "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true } } }, @@ -4481,6 +5229,15 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "requires": { + "node-fetch": "2.6.7" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -4667,6 +5424,18 @@ "integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg==", "dev": true }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -5087,12 +5856,34 @@ } } }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "http-link-header": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.0.tgz", + "integrity": "sha512-pj6N1yxOz/ANO8HHsWGg/OoIL1kmRYvQnXQ7PIRpgp+15AnEsRH8fmIJE6D1OdWG2Bov+BJHVla1fFXxg1JbbA==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5297,6 +6088,12 @@ "call-bind": "^1.0.2" } }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, "is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -5315,6 +6112,12 @@ "has-symbols": "^1.0.2" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -5450,6 +6253,53 @@ } } }, + "json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "dev": true, + "requires": { + "jsonify": "^0.0.1" + } + }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, + "jsonld-context-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.2.tgz", + "integrity": "sha512-3VWIg/4NCMTXP6NsI6O93spFTd4qIOucKEmD8I+Exhxk9ZUVrnkLp2G4f0toR5jVleZkiiB9YGPS+yT1wwMqnQ==", + "dev": true, + "requires": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^18.0.0", + "canonicalize": "^1.0.1", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + } + }, + "jsonld-streaming-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.1.tgz", + "integrity": "sha512-zSJlEgrKypQDk/85R+xkudeCZo6vmnvJuCPvcjk2BzHPLzv1yqiwoKQDyFzfgfgCHM0p7YCJBZl0liT9RMUZJw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.1.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, "jsonlint": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", @@ -5460,6 +6310,12 @@ "nomnom": ">= 1.5.x" } }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, "JSONSelect": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", @@ -5555,6 +6411,12 @@ "to-regex": "^3.0.2" } }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -5653,6 +6515,16 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "n3": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.3.tgz", + "integrity": "sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==", + "dev": true, + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^4.0.0" + } + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -5682,6 +6554,15 @@ "semver": "^5.7.0" } }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, "nomnom": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", @@ -5929,18 +6810,36 @@ "react-is": "^16.8.4" } }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "rdf-data-factory": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", @@ -5949,29 +6848,100 @@ "@rdfjs/types": "*" } }, + "rdf-isomorphic": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", + "dev": true, + "requires": { + "@rdfjs/types": "*" + } + }, + "rdf-literal": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.1.tgz", + "integrity": "sha512-+o/PGOfJchyay9Rjrvi/oveRJACnt2WFO3LhEvtPlsRD1tFmwVUCMU+s33FtQprMo+z1ohFrv/yfEQ6Eym4KgQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-object": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.2.tgz", + "integrity": "sha512-DVLDCbxPOkhd/k43j9wcLU7CXe/gdldBBomMV3RyZ1G9E2zPa2FFNFijzMGgRGNY1OEyGmhBxw2eiJjUC7GVNw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "dev": true, + "requires": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "rdf-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", + "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-terms": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.1.tgz", + "integrity": "sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" + } + }, "rdf-test-suite": { - "version": "file:../rdf-test-suite.js", + "version": "1.19.2", + "dev": true, "requires": { "@rdfjs/types": "*", - "@types/jest": "^28.0.0", "@types/json-stable-stringify": "^1.0.32", "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", "arrayify-stream": "^2.0.0", - "coveralls": "^3.0.0", "cross-fetch": "^3.0.6", "is-stream": "^2.0.0", - "jest": "^28.0.0", - "jest-rdf": "^1.7.0", "json-stable-stringify": "^1.0.1", "jsonld-streaming-parser": "^3.0.0", "log-symbols": "^4.0.0", - "manual-git-changelog": "^1.0.1", "minimist": "^1.2.0", "n3": "^1.11.1", - "pre-commit": "^1.2.2", "rdf-data-factory": "^1.1.0", "rdf-isomorphic": "^1.3.0", "rdf-literal": "^1.3.0", @@ -5982,16 +6952,87 @@ "rdfxml-streaming-parser": "^2.0.0", "readable-web-to-node-stream": "^3.0.2", "relative-to-absolute-iri": "^1.0.6", - "rimraf": "^3.0.0", "sparqljson-parse": "^2.0.1", "sparqlxml-parse": "^2.0.1", "stream-to-string": "^1.1.0", - "streamify-array": "^1.0.1", - "streamify-string": "^1.0.1", - "ts-jest": "^28.0.0", - "tslint": "^6.0.0", - "tslint-eslint-rules": "^5.3.1", - "typescript": "^4.0.0" + "streamify-string": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "rdfxml-streaming-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.1.tgz", + "integrity": "sha512-1r7aXfSRCLkBYXGcko/GpSZdHxXKvYaeUi2ulEbB7cLvACD7DNoAA/uW6dsETEhgmsEipJZI7NLqBl2whOse8Q==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "relative-to-absolute-iri": "^1.0.0", + "saxes": "^6.0.0", + "validate-iri": "^1.0.0" } }, "react-is": { @@ -6000,6 +7041,40 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "readable-stream": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "requires": { + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "readdirp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", @@ -6030,6 +7105,12 @@ "functions-have-names": "^1.2.2" } }, + "relative-to-absolute-iri": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==", + "dev": true + }, "repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", @@ -6066,6 +7147,12 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -6075,6 +7162,15 @@ "ret": "~0.1.10" } }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -6332,6 +7428,34 @@ "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, + "sparqljson-parse": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.2.tgz", + "integrity": "sha512-RqPeyy+RYQMeqgEsKPTY+ME5ZNXcgXJzg1v0o+tROiTntS9CwUW8mAY3wsx6seSvW3LVyNDEtsqOxnAokoGXOA==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + } + }, + "sparqlxml-parse": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.2.tgz", + "integrity": "sha512-Iqso0WSTCSuMUYoX2pOEJxteCq9U+7AkOqwlFcvFG1S1aM87xWrp28njQOIiyIrL7Y8CkVXBZG1ec+DhZYUNXA==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "saxes": "^6.0.0" + } + }, "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", @@ -6458,6 +7582,27 @@ } } }, + "stream-to-string": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", + "dev": true, + "requires": { + "promise-polyfill": "^1.1.6" + } + }, + "streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true + }, + "streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", + "dev": true + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -6465,14 +7610,6 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } } }, "string-width": { @@ -6587,6 +7724,12 @@ "repeat-string": "^1.6.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -6689,6 +7832,28 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "validate-iri": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -6765,6 +7930,12 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", diff --git a/queries/sparqlstar-annotated/sparql-star-1.sparql b/queries/sparqlstar-annotated/sparql-star-1.sparql new file mode 100644 index 00000000..f2c229dc --- /dev/null +++ b/queries/sparqlstar-annotated/sparql-star-1.sparql @@ -0,0 +1,9 @@ +PREFIX ex: +PREFIX rdf: + +SELECT * WHERE { + <> ex:author ex:Bob . + << ex:Moscow a ex:City >> ex:author ?person . + # The list in a quoted triple is erroneous + << _:b ex:x ( 1 2 3 ) >> ex:broken true . +} diff --git a/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql index df989b04..67648c27 100644 --- a/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql +++ b/queries/sparqlstar-annotated/sparql-star-annotated-1.sparql @@ -2,10 +2,7 @@ PREFIX ex: PREFIX rdf: SELECT * WHERE { - # TODO: Open question - what should the graph term be in a nested rdf-star triple. ?s ?p ?o {| ex:author ex:Bob |} . ex:Moscow a ex:City {| ex:author ?person |} . - # TODO: See if an error should be thrown here due to having a list - # in a reification _:b ex:x () {| ex:broken true |} . } diff --git a/queries/sparqlstar/sparql-star-1.sparql b/queries/sparqlstar-invalid/sparql-star-list-1.sparql similarity index 100% rename from queries/sparqlstar/sparql-star-1.sparql rename to queries/sparqlstar-invalid/sparql-star-list-1.sparql diff --git a/queries/sparqlstar-invalid/sparql-star-list-2.sparql b/queries/sparqlstar-invalid/sparql-star-list-2.sparql new file mode 100644 index 00000000..8ff44240 --- /dev/null +++ b/queries/sparqlstar-invalid/sparql-star-list-2.sparql @@ -0,0 +1,9 @@ +PREFIX ex: +PREFIX rdf: + +SELECT * WHERE { + <> ex:author ex:Bob . + << ex:Moscow a ex:City >> ex:author ?person . + # TODO: See if this should be throwing an error + << _:b ex:x ( 1 2 3 ) >> ex:broken true . +} diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index 71ab41fc..ab6e3962 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -40,13 +40,11 @@ describe('A SPARQL parser', function () { testQueries('sparql', { sparqlStar: true }); testQueries('sparqlstar', { sparqlStar: true }); testQueries('sparqlstar-annotated', { sparqlStar: true }); - // testQueries('sparqlstar-nested-quads', { sparqlStar: true, mustError: true, skipValidation: true }); - // TODO: See if we need skip validation here - // testQueries('sparqlstar-nested-quads', { sparqlStar: true, sparqlStarNestedQuads: true }); testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); // Select queries from the sparqlstar specification testQueries('sparqlstar-spec', { sparqlStar: true }); + testQueries('sparqlstar-nested-quads', { mustError: true, sparqlStar: true, skipValidation: true }); testQueries('sparqlstar-nested-quads', { mustError: true, sparqlStar: true }); testQueries('sparqlstar-invalid', { mustError: true, sparqlStar: true }); }); diff --git a/test/parsedQueries/sparqlstar/sparql-star-1.json b/test/parsedQueries/sparqlstar/sparql-star-1.json deleted file mode 100644 index fd29090a..00000000 --- a/test/parsedQueries/sparqlstar/sparql-star-1.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "queryType": "SELECT", - "variables": [ - { - "termType": "Wildcard", - "value": "*" - } - ], - "where": [ - { - "type": "bgp", - "triples": [ - { - "subject": { - "termType": "Quad", - "subject": { - "termType": "Variable", - "value": "s" - }, - "predicate": { - "termType": "Variable", - "value": "p" - }, - "object": { - "termType": "Variable", - "value": "o" - } - }, - "predicate": { - "termType": "NamedNode", - "value": "http://example.com/author" - }, - "object": { - "termType": "NamedNode", - "value": "http://example.com/Bob" - } - }, - { - "subject": { - "termType": "Quad", - "subject": { - "termType": "NamedNode", - "value": "http://example.com/Moscow" - }, - "predicate": { - "termType": "NamedNode", - "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" - }, - "object": { - "termType": "NamedNode", - "value": "http://example.com/City" - } - }, - "predicate": { - "termType": "NamedNode", - "value": "http://example.com/author" - }, - "object": { - "termType": "Variable", - "value": "person" - } - }, - { - "subject": { - "termType": "Quad", - "subject": { - "termType": "BlankNode", - "value": "e_b" - }, - "predicate": { - "termType": "NamedNode", - "value": "http://example.com/x" - }, - "object": { - "termType": "NamedNode", - "value": "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil" - } - }, - "predicate": { - "termType": "NamedNode", - "value": "http://example.com/broken" - }, - "object": { - "termType": "Literal", - "value": "true", - "language": "", - "datatype": { - "termType": "NamedNode", - "value": "http://www.w3.org/2001/XMLSchema#boolean" - } - } - } - ] - } - ], - "type": "query", - "prefixes": { - "ex": "http://example.com/", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" - } -} From 89d948edb6b8149dec78ca43ec7c4ad78fef1705 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 17 Nov 2022 22:56:19 +1100 Subject: [PATCH 26/39] chore: remove sparql-conformant.jison --- lib/sparql-conformant.jison | 1630 ----------------------------------- 1 file changed, 1630 deletions(-) delete mode 100755 lib/sparql-conformant.jison diff --git a/lib/sparql-conformant.jison b/lib/sparql-conformant.jison deleted file mode 100755 index 0b513a10..00000000 --- a/lib/sparql-conformant.jison +++ /dev/null @@ -1,1630 +0,0 @@ -%{ - /* - SPARQL parser in the Jison parser generator format. - */ - - var Wildcard = require('./Wildcard').Wildcard; - - // Common namespaces and entities - var RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', - RDF_TYPE = RDF + 'type', - RDF_FIRST = RDF + 'first', - RDF_REST = RDF + 'rest', - RDF_NIL = RDF + 'nil', - XSD = 'http://www.w3.org/2001/XMLSchema#', - XSD_INTEGER = XSD + 'integer', - XSD_DECIMAL = XSD + 'decimal', - XSD_DOUBLE = XSD + 'double', - XSD_BOOLEAN = XSD + 'boolean'; - - var base = '', basePath = '', baseRoot = ''; - - // Returns a lowercase version of the given string - function lowercase(string) { - return string.toLowerCase(); - } - - // Appends the item to the array and returns the array - function appendTo(array, item) { - return array.push(item), array; - } - - // Appends the items to the array and returns the array - function appendAllTo(array, items) { - return array.push.apply(array, items), array; - } - - // Extends a base object with properties of other objects - function extend(base) { - if (!base) base = {}; - for (var i = 1, l = arguments.length, arg; i < l && (arg = arguments[i] || {}); i++) - for (var name in arg) - base[name] = arg[name]; - return base; - } - - // Creates an array that contains all items of the given arrays - function unionAll() { - var union = []; - for (var i = 0, l = arguments.length; i < l; i++) - union = union.concat.apply(union, arguments[i]); - return union; - } - - // Resolves an IRI against a base path - function resolveIRI(iri) { - // Strip off possible angular brackets - if (iri[0] === '<') - iri = iri.substring(1, iri.length - 1); - // Return absolute IRIs unmodified - if (/^[a-z]+:/i.test(iri)) - return iri; - if (!Parser.base) - throw new Error('Cannot resolve relative IRI ' + iri + ' because no base IRI was set.'); - if (base !== Parser.base) { - base = Parser.base; - basePath = base.replace(/[^\/:]*$/, ''); - baseRoot = base.match(/^(?:[a-z]+:\/*)?[^\/]*/)[0]; - } - switch (iri[0]) { - // An empty relative IRI indicates the base IRI - case undefined: - return base; - // Resolve relative fragment IRIs against the base IRI - case '#': - return base + iri; - // Resolve relative query string IRIs by replacing the query string - case '?': - return base.replace(/(?:\?.*)?$/, iri); - // Resolve root relative IRIs at the root of the base IRI - case '/': - return baseRoot + iri; - // Resolve all other IRIs at the base IRI's path - default: - return basePath + iri; - } - } - - // If the item is a variable, ensures it starts with a question mark - function toVar(variable) { - if (variable) { - var first = variable[0]; - if (first === '?' || first === '$') return Parser.factory.variable(variable.substr(1)); - } - return variable; - } - - // Creates an operation with the given name and arguments - function operation(operatorName, args) { - return { type: 'operation', operator: operatorName, args: args || [] }; - } - - // Creates an expression with the given type and attributes - function expression(expr, attr) { - var expression = { expression: expr === '*'? new Wildcard() : expr }; - if (attr) - for (var a in attr) - expression[a] = attr[a]; - return expression; - } - - // Creates a path with the given type and items - function path(type, items) { - return { type: 'path', pathType: type, items: items }; - } - - // Transforms a list of operations types and arguments into a tree of operations - function createOperationTree(initialExpression, operationList) { - for (var i = 0, l = operationList.length, item; i < l && (item = operationList[i]); i++) - initialExpression = operation(item[0], [initialExpression, item[1]]); - return initialExpression; - } - - // Group datasets by default and named - function groupDatasets(fromClauses, groupName) { - var defaults = [], named = [], l = fromClauses.length, fromClause, group = {}; - if (!l) - return null; - for (var i = 0; i < l && (fromClause = fromClauses[i]); i++) - (fromClause.named ? named : defaults).push(fromClause.iri); - group[groupName || 'from'] = { default: defaults, named: named }; - return group; - } - - // Converts the string to a number - function toInt(string) { - return parseInt(string, 10); - } - - // Transforms a possibly single group into its patterns - function degroupSingle(group) { - return group.type === 'group' && group.patterns.length === 1 ? group.patterns[0] : group; - } - - // Creates a literal with the given value and type - function createTypedLiteral(value, type) { - if (type && type.termType !== 'NamedNode'){ - type = Parser.factory.namedNode(type); - } - return Parser.factory.literal(value, type); - } - - // Creates a literal with the given value and language - function createLangLiteral(value, lang) { - return Parser.factory.literal(value, lang); - } - - // Creates a triple with the given subject, predicate, and object - function triple(subject, predicate, object) { - var triple = {}; - if (subject != null) triple.subject = subject; - if (predicate != null) triple.predicate = predicate; - if (object != null) triple.object = object; - return triple; - } - - // Creates a new blank node - function blank(name) { - if (typeof name === 'string') { // Only use name if a name is given - if (name.startsWith('e_')) return Parser.factory.blankNode(name); - return Parser.factory.blankNode('e_' + name); - } - return Parser.factory.blankNode('g_' + blankId++); - }; - var blankId = 0; - Parser._resetBlanks = function () { blankId = 0; } - - // Regular expression and replacement strings to escape strings - var escapeSequence = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{8})|\\(.)/g, - escapeReplacements = { '\\': '\\', "'": "'", '"': '"', - 't': '\t', 'b': '\b', 'n': '\n', 'r': '\r', 'f': '\f' }, - partialSurrogatesWithoutEndpoint = /[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/, - fromCharCode = String.fromCharCode; - - // Translates escape codes in the string into their textual equivalent - function unescapeString(string, trimLength) { - string = string.substring(trimLength, string.length - trimLength); - try { - string = string.replace(escapeSequence, function (sequence, unicode4, unicode8, escapedChar) { - var charCode; - if (unicode4) { - charCode = parseInt(unicode4, 16); - if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance - return fromCharCode(charCode); - } - else if (unicode8) { - charCode = parseInt(unicode8, 16); - if (isNaN(charCode)) throw new Error(); // can never happen (regex), but helps performance - if (charCode < 0xFFFF) return fromCharCode(charCode); - return fromCharCode(0xD800 + ((charCode -= 0x10000) >> 10), 0xDC00 + (charCode & 0x3FF)); - } - else { - var replacement = escapeReplacements[escapedChar]; - if (!replacement) throw new Error(); - return replacement; - } - }); - } - catch (error) { return ''; } - - // Test for invalid unicode surrogate pairs - if (partialSurrogatesWithoutEndpoint.exec(string)) { - throw new Error('Invalid unicode codepoint of surrogate pair without corresponding codepoint in ' + string); - } - - return string; - } - - // Creates a list, collecting its (possibly blank) items and triples associated with those items - function createList(objects) { - var list = blank(), head = list, listItems = [], listTriples, triples = []; - objects.forEach(function (o) { listItems.push(o.entity); appendAllTo(triples, o.triples); }); - - // Build an RDF list out of the items - for (var i = 0, j = 0, l = listItems.length, listTriples = Array(l * 2); i < l;) - listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_FIRST), listItems[i]), - listTriples[j++] = triple(head, Parser.factory.namedNode(RDF_REST), head = ++i < l ? blank() : Parser.factory.namedNode(RDF_NIL)); - - // Return the list's identifier, its triples, and the triples associated with its items - return { entity: list, triples: appendAllTo(listTriples, triples) }; - } - - // Creates a blank node identifier, collecting triples with that blank node as subject - function createAnonymousObject(propertyList) { - var entity = blank(); - return { - entity: entity, - triples: propertyList.map(function (t) { return extend(triple(entity), t); }) - }; - } - - // Collects all (possibly blank) objects, and triples that have them as subject - function objectListToTriples(predicate, objectList, otherTriples) { - var objects = [], triples = []; - objectList.forEach(function (l) { - objects.push(triple(null, predicate, l.entity)); - appendAllTo(triples, l.triples); - }); - return unionAll(objects, otherTriples || [], triples); - } - - // Simplifies groups by merging adjacent BGPs - function mergeAdjacentBGPs(groups) { - var merged = [], currentBgp; - for (var i = 0, group; group = groups[i]; i++) { - switch (group.type) { - // Add a BGP's triples to the current BGP - case 'bgp': - if (group.triples.length) { - if (!currentBgp) - appendTo(merged, currentBgp = group); - else - appendAllTo(currentBgp.triples, group.triples); - } - break; - // All other groups break up a BGP - default: - // Only add the group if its pattern is non-empty - if (!group.patterns || group.patterns.length > 0) { - appendTo(merged, group); - currentBgp = null; - } - } - } - return merged; - } - - // Return the id of an expression - function getExpressionId(expression) { - return expression.variable ? expression.variable.value : expression.value || expression.expression.value; - } - - // Get all "aggregate"'s from an expression - function getAggregatesOfExpression(expression) { - if (!expression) { - return []; - } - if (expression.type === 'aggregate') { - return [expression]; - } else if (expression.type === "operation") { - const aggregates = []; - for (const arg of expression.args) { - aggregates.push(...getAggregatesOfExpression(arg)); - } - return aggregates; - } - return []; - } - - // Get all variables used in an expression - function getVariablesFromExpression(expression) { - const variables = new Set(); - const visitExpression = function (expr) { - if (!expr) { return; } - if (expr.termType === "Variable") { - variables.add(expr); - } else if (expr.type === "operation") { - expr.args.forEach(visitExpression); - } - }; - visitExpression(expression); - return variables; - } - - // Helper function to flatten arrays - function flatten(input, depth = 1, stack = []) { - for (const item of input) { - if (depth > 0 && item instanceof Array) { - flatten(item, depth - 1, stack); - } else { - stack.push(item); - } - } - return stack; - } - - function isVariable(term) { - return term.termType === 'Variable'; - } - - function getBoundVarsFromGroupGraphPattern(pattern) { - if (pattern.triples) { - const boundVars = []; - for (const triple of pattern.triples) { - if (isVariable(triple.subject)) boundVars.push(triple.subject.value); - if (isVariable(triple.predicate)) boundVars.push(triple.predicate.value); - if (isVariable(triple.object)) boundVars.push(triple.object.value); - } - return boundVars; - } else if (pattern.patterns) { - const boundVars = []; - for (const pat of pattern.patterns) { - boundVars.push(...getBoundVarsFromGroupGraphPattern(pat)); - } - return boundVars; - } - return []; - } - - // Helper function to find duplicates in array - function getDuplicatesInArray(array) { - const sortedArray = array.slice().sort(); - const duplicates = []; - for (let i = 0; i < sortedArray.length - 1; i++) { - if (sortedArray[i + 1] == sortedArray[i]) { - duplicates.push(sortedArray[i]); - } - } - return duplicates; - } - - function ensureSparqlStar(value) { - if (!Parser.sparqlStar) { - throw new Error('SPARQL* support is not enabled'); - } - return value; - } - - function ensureNoVariables(operations) { - for (const operation of operations) { - if (operation.type === 'graph' && operation.name.termType === 'Variable') { - throw new Error('Detected illegal variable in GRAPH'); - } - if (operation.type === 'bgp' || operation.type === 'graph') { - for (const triple of operation.triples) { - if (triple.subject.termType === 'Variable' || - triple.predicate.termType === 'Variable' || - triple.object.termType === 'Variable') { - throw new Error('Detected illegal variable in BGP'); - } - } - } - } - return operations; - } - - function ensureNoBnodes(operations) { - for (const operation of operations) { - if (operation.type === 'bgp') { - for (const triple of operation.triples) { - if (triple.subject.termType === 'BlankNode' || - triple.predicate.termType === 'BlankNode' || - triple.object.termType === 'BlankNode') { - throw new Error('Detected illegal blank node in BGP'); - } - } - } - } - return operations; - } -%} - -%lex - -// [139] -IRIREF "<"(?:[^<>\"\{\}\|\^`\\\u0000-\u0020])*">" -// [140] -PNAME_NS {PN_PREFIX}?":" -// [141] -PNAME_LN {PNAME_NS}{PN_LOCAL} -// [142] -BLANK_NODE_LABEL "_:"(?:{PN_CHARS_U}|[0-9])(?:(?:{PN_CHARS}|".")*{PN_CHARS})? -// [108] (and [143]-[144]) -VAR [\?\$]{VARNAME} -// [145] -LANGTAG "@"[a-zA-Z]+(?:"-"[a-zA-Z0-9]+)* -// [146] -INTEGER [0-9]+ -// [147] -DECIMAL [0-9]*"."[0-9]+ -// [148] -DOUBLE [0-9]+"."[0-9]*{EXPONENT}|"."([0-9])+{EXPONENT}|([0-9])+{EXPONENT} -// [149] -INTEGER_POSITIVE "+"{INTEGER} -// [150] -DECIMAL_POSITIVE "+"{DECIMAL} -// [151] -DOUBLE_POSITIVE "+"{DOUBLE} -// [152] -INTEGER_NEGATIVE "-"{INTEGER} -// [153] -DECIMAL_NEGATIVE "-"{DECIMAL} -// [154] -DOUBLE_NEGATIVE "-"{DOUBLE} -// [155] -EXPONENT [eE][+-]?[0-9]+ -// [156] -STRING_LITERAL1 "'"(?:(?:[^\u0027\u005C\u000A\u000D])|{ECHAR})*"'" -// [157] -STRING_LITERAL2 "\""(?:(?:[^\u0022\u005C\u000A\u000D])|{ECHAR})*'"' -// [158] -STRING_LITERAL_LONG1 "'''"(?:(?:"'"|"''")?(?:[^'\\]|{ECHAR}))*"'''" -// [159] -STRING_LITERAL_LONG2 "\"\"\""(?:(?:"\""|'""')?(?:[^\"\\]|{ECHAR}))*'"""' -// [160] -ECHAR "\\"[tbnrf\\\"']|"\\u"{HEX}{HEX}{HEX}{HEX}|"\\U"{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX}{HEX} -// [161] -NIL "("{WS}*")" -// [162] -WS \u0020|\u0009|\u000D|\u000A -// [163] -ANON "["{WS}*"]" -// [164] -PN_CHARS_BASE [A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF] -// [165] -PN_CHARS_U (?:{PN_CHARS_BASE}|"_") -// [166] -VARNAME (?:{PN_CHARS_U}|[0-9])(?:{PN_CHARS_U}|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040])* -// [167] -PN_CHARS {PN_CHARS_U}|"-"|[0-9]|\u00B7|[\u0300-\u036F\u203F-\u2040] -// [168] -PN_PREFIX {PN_CHARS_BASE}(?:(?:{PN_CHARS}|".")*{PN_CHARS})? -// [169] -PN_LOCAL (?:{PN_CHARS_U}|":"|[0-9]|{PLX})(?:(?:{PN_CHARS}|"."|":"|{PLX})*(?:{PN_CHARS}|":"|{PLX}))? -// [170] -PLX {PERCENT}|{PN_LOCAL_ESC} -// [171] -PERCENT "%"{HEX}{HEX} -// [172] -HEX [0-9A-Fa-f] -// [173] -PN_LOCAL_ESC "\\"("_"|"~"|"."|"-"|"!"|"$"|"&"|"'"|"("|")"|"*"|"+"|","|";"|"="|"/"|"?"|"#"|"@"|"%") -// TODO: Work out where this fits into the production grammar -COMMENT "#"[^\n\r]* -SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ - -%options flex case-insensitive - -%% - -\s+|{COMMENT} /* ignore */ -"BASE" return 'BASE' -"PREFIX" return 'PREFIX' -"SELECT" return 'SELECT' -"DISTINCT" return 'DISTINCT' -"REDUCED" return 'REDUCED' -"(" return '(' -"AS" return 'AS' -")" return ')' -"*" return '*' -"CONSTRUCT" return 'CONSTRUCT' -"WHERE" return 'WHERE' -"{" return '{' -"}" return '}' -"DESCRIBE" return 'DESCRIBE' -"ASK" return 'ASK' -"FROM" return 'FROM' -"NAMED" return 'NAMED' -"GROUP" return 'GROUP' -"BY" return 'BY' -"HAVING" return 'HAVING' -"ORDER" return 'ORDER' -"ASC" return 'ASC' -"DESC" return 'DESC' -"LIMIT" return 'LIMIT' -"OFFSET" return 'OFFSET' -"VALUES" return 'VALUES' -";" return ';' -"LOAD" return 'LOAD' -"SILENT" return 'SILENT' -"INTO" return 'INTO' -"CLEAR" return 'CLEAR' -"DROP" return 'DROP' -"CREATE" return 'CREATE' -"ADD" return 'ADD' -"TO" return 'TO' -"MOVE" return 'MOVE' -"COPY" return 'COPY' -"INSERT"{SPACES_COMMENTS}"DATA" return 'INSERTDATA' -"DELETE"{SPACES_COMMENTS}"DATA" return 'DELETEDATA' -"DELETE"{SPACES_COMMENTS}"WHERE" return 'DELETEWHERE' -"WITH" return 'WITH' -"DELETE" return 'DELETE' -"INSERT" return 'INSERT' -"USING" return 'USING' -"DEFAULT" return 'DEFAULT' -"GRAPH" return 'GRAPH' -"ALL" return 'ALL' -"." return '.' -"OPTIONAL" return 'OPTIONAL' -"SERVICE" return 'SERVICE' -"BIND" return 'BIND' -"UNDEF" return 'UNDEF' -"MINUS" return 'MINUS' -"UNION" return 'UNION' -"FILTER" return 'FILTER' -"<<" return '<<' -">>" return '>>' -"{|" return '{|' -"|}" return '|}' -"," return ',' -"a" return 'a' -"|" return '|' -"/" return '/' -"^" return '^' -"?" return '?' -"+" return '+' -"!" return '!' -"[" return '[' -"]" return ']' -"||" return '||' -"&&" return '&&' -"=" return '=' -"!=" return '!=' -"<" return '<' -">" return '>' -"<=" return '<=' -">=" return '>=' -"IN" return 'IN' -"NOT" return 'NOT' -"-" return '-' -"BOUND" return 'BOUND' -"BNODE" return 'BNODE' -("RAND"|"NOW"|"UUID"|"STRUUID") return 'FUNC_ARITY0' -("LANG"|"DATATYPE"|"IRI"|"URI"|"ABS"|"CEIL"|"FLOOR"|"ROUND"|"STRLEN"|"STR"|"UCASE"|"LCASE"|"ENCODE_FOR_URI"|"YEAR"|"MONTH"|"DAY"|"HOURS"|"MINUTES"|"SECONDS"|"TIMEZONE"|"TZ"|"MD5"|"SHA1"|"SHA256"|"SHA384"|"SHA512"|"isIRI"|"isURI"|"isBLANK"|"isLITERAL"|"isNUMERIC"|"SUBJECT"|"PREDICATE"|"OBJECT"|"isTRIPLE") return 'FUNC_ARITY1' -("LANGMATCHES"|"CONTAINS"|"STRSTARTS"|"STRENDS"|"STRBEFORE"|"STRAFTER"|"STRLANG"|"STRDT"|"sameTerm") return 'FUNC_ARITY2' -"CONCAT" return 'CONCAT' -"COALESCE" return 'COALESCE' -("IF"|"TRIPLE") return 'FUNC_ARITY3' -"REGEX" return 'REGEX' -"SUBSTR" return 'SUBSTR' -"REPLACE" return 'REPLACE' -"EXISTS" return 'EXISTS' -"COUNT" return 'COUNT' -"SUM"|"MIN"|"MAX"|"AVG"|"SAMPLE" return 'FUNC_AGGREGATE' -"GROUP_CONCAT" return 'GROUP_CONCAT' -"SEPARATOR" return 'SEPARATOR' -"^^" return '^^' -"true"|"false" return 'BOOLEAN' -{IRIREF} return 'IRIREF' -{PNAME_NS} return 'PNAME_NS' -{PNAME_LN} return 'PNAME_LN' -{BLANK_NODE_LABEL} return 'BLANK_NODE_LABEL' -{VAR} return 'VAR' -{LANGTAG} return 'LANGTAG' -{INTEGER} return 'INTEGER' -{DECIMAL} return 'DECIMAL' -{DOUBLE} return 'DOUBLE' -{INTEGER_POSITIVE} return 'INTEGER_POSITIVE' -{DECIMAL_POSITIVE} return 'DECIMAL_POSITIVE' -{DOUBLE_POSITIVE} return 'DOUBLE_POSITIVE' -{INTEGER_NEGATIVE} return 'INTEGER_NEGATIVE' -{DECIMAL_NEGATIVE} return 'DECIMAL_NEGATIVE' -{DOUBLE_NEGATIVE} return 'DOUBLE_NEGATIVE' -{EXPONENT} return 'EXPONENT' -{STRING_LITERAL1} return 'STRING_LITERAL1' -{STRING_LITERAL2} return 'STRING_LITERAL2' -{STRING_LITERAL_LONG1} return 'STRING_LITERAL_LONG1' -{STRING_LITERAL_LONG2} return 'STRING_LITERAL_LONG2' -{NIL} return 'NIL' -{ANON} return 'ANON' -<> return 'EOF' -. return 'INVALID' - -/lex - -%ebnf - -%start QueryOrUpdate - -%% - -// TODO: Full - -// [1] -QueryUnit - : Query - ; - -// [2] -// TODO: Work out why ValuesClause was optional -Query - : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause -> extend($1, $2, { type: 'query' }) - ; - -// [3] -UpdateUnit - : Update - ; - -// [4] -Prologue - : ( BaseDecl | PrefixDecl )* - ; - -// [5] -BaseDecl - : 'BASE' IRIREF - { - Parser.base = resolveIRI($2) - } - ; - -// [6] -PrefixDecl - : 'PREFIX' PNAME_NS IRIREF - { - if (!Parser.prefixes) Parser.prefixes = {}; - $2 = $2.substr(0, $2.length - 1); - $3 = resolveIRI($3); - Parser.prefixes[$2] = $3; - } - ; - -// [7] Didn't check use of SolutionModifierNoGroup seems off as this introduces a havinClause where not expected. -SelectQuery - : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> extend($1, groupDatasets($2), $3, $4) - | SelectClauseVars DatasetClause* WhereClause SolutionModifier - { - // Check for projection of ungrouped variable - if (!Parser.skipValidation) { - const counts = flatten($1.variables.map(vars => getAggregatesOfExpression(vars.expression))) - .some(agg => agg.aggregation === "count" && !(agg.expression instanceof Wildcard)); - if (counts || $4.group) { - for (const selectVar of $1.variables) { - if (selectVar.termType === "Variable") { - if (!$4.group || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(selectVar))) { - throw Error("Projection of ungrouped variable (?" + getExpressionId(selectVar) + ")"); - } - } else if (getAggregatesOfExpression(selectVar.expression).length === 0) { - const usedVars = getVariablesFromExpression(selectVar.expression); - for (const usedVar of usedVars) { - if (!$4.group || !$4.group.map || !$4.group.map(groupVar => getExpressionId(groupVar)).includes(getExpressionId(usedVar))) { - throw Error("Use of ungrouped variable in projection of operation (?" + getExpressionId(usedVar) + ")"); - } - } - } - } - } - } - // Check if id of each AS-selected column is not yet bound by subquery - const subqueries = $3.where.filter(w => w.type === "query"); - if (subqueries.length > 0) { - const selectedVarIds = $1.variables.filter(v => v.variable && v.variable.value).map(v => v.variable.value); - const subqueryIds = flatten(subqueries.map(sub => sub.variables)).map(v => v.value || v.variable.value); - for (const selectedVarId of selectedVarIds) { - if (subqueryIds.indexOf(selectedVarId) >= 0) { - throw Error("Target id of 'AS' (?" + selectedVarId + ") already used in subquery"); - } - } - } - $$ = extend($1, groupDatasets($2), $3, $4) - } - ; -SelectClauseWildcard - : SelectClauseBase '*' -> extend($1, {variables: [new Wildcard()]}) - ; -SelectClauseVars - : SelectClauseBase SelectClauseItem+ - { - // Check if id of each selected column is different - const selectedVarIds = $2.map(v => v.value || v.variable.value); - const duplicates = getDuplicatesInArray(selectedVarIds); - if (duplicates.length > 0) { - throw Error("Two or more of the resulting columns have the same name (?" + duplicates[0] + ")"); - } - - $$ = extend($1, { variables: $2 }) - } - ; -SelectClauseBase - : 'SELECT' ( 'DISTINCT' | 'REDUCED' )? -> extend({ queryType: 'SELECT'}, $2 && ($1 = lowercase($2), $2 = {}, $2[$1] = true, $2)) - ; -SelectClauseItem - : Var - | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) - | '(' VarTriple 'AS' VAR ')' -> ensureSparqlStar(expression($2, { variable: toVar($4) })) - ; -// [8] Didn't check - optional clause seems disjoint with grammar -SubSelect - : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) - | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) - ; -// [10] Didn't check -ConstructQuery - : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) - | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) - ; -// [11] -DescribeQuery - : 'DESCRIBE' ( VarOrIri+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2 }, groupDatasets($3), $4, $5) - ; -// [12] -// TODO: See why this has solution modifier rather than ValuesClause. -AskQuery - : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) - ; - -// TODO: See where the from should be here -// [13] -DatasetClause - : 'FROM' (DefaultGraphClause | NamedGraphClause) -> $2 - ; -// [14] -DefaultGraphClause - : SourceSelector -> { iri: $1, named: false } - ; -// [15] -NamedGraphClause - : 'NAMED' SourceSelector -> { iri: $2, named: true } - ; -// [16] -SourceSelector - : iri - ; -// [17] -WhereClause - : 'WHERE'? GroupGraphPattern -> { where: $2.patterns } - ; -// [18] -SolutionModifier - : GroupClause? SolutionModifierNoGroup -> extend($1, $2) - ; -// TODO: See why this is necessary rather than just existing in [18] -SolutionModifierNoGroup - : HavingClause? OrderClause? LimitOffsetClauses? -> extend($1, $2, $3) - ; -// [19] -GroupClause - : 'GROUP' 'BY' GroupCondition+ -> { group: $3 } - ; -// [20] -GroupCondition - : BuiltInCall -> expression($1) - | FunctionCall -> expression($1) - | '(' Expression ')' -> expression($2) - | '(' Expression 'AS' VAR ')' -> expression($2, { variable: toVar($4) }) - | VAR -> expression(toVar($1)) - ; -// [21] -HavingClause - : 'HAVING' HavingCondition+ -> { having: $2 } - ; -// [22] -HavingCondition - : Constraint - ; -// [23] -OrderClause - : 'ORDER' 'BY' OrderCondition+ -> { order: $3 } - ; -// [24] -OrderCondition - : 'ASC' BrackettedExpression -> expression($2) - | 'DESC' BrackettedExpression -> expression($2, { descending: true }) - | Constraint -> expression($1) - | VAR -> expression(toVar($1)) - ; -// [25] -LimitOffsetClauses - : LimitClause -> { limit: $1 } - | OffsetClause -> { offset: $2 } - | LimitClause OffsetClause -> { limit: $1, offset: $2 } - | OffsetClause LimitClause -> { limit: $2, offset: $1 } - ; -// [26] -LimitClause - : 'LIMIT' INTEGER -> toInt($2) - ; -// [27] -OffsetClause - : 'OFFSET' INTEGER -> toInt($2) - ; -// [28] -// TODO: See why we have InlineData rather than data block here -// TODO: See why it is not all optional -// TODO: Double check this -ValuesClause - : ('VALUES' InlineData)? -> $1 && { type: 'values', values: $2 } - ; - -InlineData - : VAR '{' DataBlockValue* '}' - { - $$ = $3.map(function(v) { var o = {}; o[$1] = v; return o; }) - } - | - NIL '{' NIL* '}' - { - $$ = $3.map(function() { return {}; }) - } - | '(' VAR+ ')' '{' DataBlockValueList* '}' - { - var length = $2.length; - $2 = $2.map(toVar); - $$ = $5.map(function (values) { - if (values.length !== length) - throw Error('Inconsistent VALUES length'); - var valuesObject = {}; - for(var i = 0; i ensureSparqlStar($1) - | 'UNDEF' -> undefined - ; -DataBlockValueList - : '(' DataBlockValue+ ')' -> $2 - ; - -// [29] -// TODO: Establish why this is totally different to the published grammar -Update - : (Update1 ';' Prologue)* Update1 (';' Prologue)? -> { type: 'update', updates: appendTo($1, $2) } - ; - -// [30] -// TODO: Properly factor out [31]-[37] -Update1 - : Load - | ClearOrDrop - // | Clear - // | Drop - | AddOrMoveOrCopy - // | Add - // | Move - // | Copy - | Create - | InsertData - | DeleteData - | DeleteWhere - | Modify - ; - -// [31] -// TODO: See if into graph clause is needed -Load - : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) - ; - -IntoGraphClause - : 'INTO' GraphRef -> $2 - ; - -// [32]-[33] -ClearOrDrop - : ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } - ; - -// [34] -Create - : 'CREATE' 'SILENT'? GraphRef -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $3 } } - ; - -// [35]-[37] -AddOrMoveOrCopy - : ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } - ; - -// [38] -InsertData - : 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } - ; - -// [39] -DeleteData - : 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } - ; - -// [40] -DeleteWhere - : 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } - ; - -// [41] -Modify - : WithClause? InsertDeleteClause UsingClause* 'WHERE' GroupGraphPattern -> { updateType: 'insertdelete', ...$1, ...$2, ...groupDatasets($4, 'using'), where: $6.patterns } - ; - -InsertDeleteClause - : DeleteClause InsertClause? -> { delete: $1, insert: $2 || [] } - | InsertClause -> { delete: [], insert: $1 } - ; - -// [42] -DeleteClause - : 'DELETE' QuadPattern -> ensureNoBnodes($2) - ; - -// [43] -InsertClause - : 'INSERT' QuadPattern -> $2 - ; - -// [44] -UsingClause - : 'USING' 'NAMED'? iri -> { iri: $3, named: !!$2 } - ; - -// [46] -GraphRef - : 'GRAPH' iri -> $2 - ; - -// [47] -GraphRefAll - : GraphRef -> { type: 'graph', name: $1 } - | ( 'DEFAULT' | 'NAMED' | 'ALL' ) -> { [lowercase($1)]: true } - // | ( 'DEFAULT' | 'NAMED' | 'ALL' ) { $$ = {}; $$[lowercase($1)] = true; } - ; - -// [48] -QuadPattern - : QuadBraces - ; - -// [49] -QuadData - : QuadBraces - ; - -QuadBraces - : '{' Quads '}' -> $2 - ; - -// [50] -Quads - : TriplesTemplate? QuadsNotTriples* -> $1 ? unionAll($2, [$1]) : unionAll($2) - // TODO: Actually use this grammar (which *is* different) - // it seems like the problem comes down to TriplesTemplate not being correct - // : TriplesTemplate? ( QuadsNotTriples "."? TriplesTemplate? ) * - ; - - - -// [51] -QuadsNotTriples -// TODO Fix this - it is actually the definition for quad - : 'GRAPH' VarOrIri '{' TriplesTemplate? '}' '.'? TriplesTemplate? - { - var graph = extend($4 || { triples: [] }, { type: 'graph', name: $2 }); - $$ = $7 ? [graph, $7] : [graph]; - } - ; - -// [52] -// TODO: See why this is not identical to the grammar -TriplesTemplate - : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } - ; - -// [53] -GroupGraphPattern - : '{' SubSelect '}' -> { type: 'group', patterns: [ $2 ] } - | '{' GroupGraphPatternSub '}' - { - // For every binding - for (const binding of $2.filter(el => el.type === "bind")) { - const index = $2.indexOf(binding); - const boundVars = new Set(); - //Collect all bounded variables before the binding - for (const el of $2.slice(0, index)) { - if (el.type === "group" || el.type === "bgp") { - getBoundVarsFromGroupGraphPattern(el).forEach(boundVar => boundVars.add(boundVar)); - } - } - // If binding with a non-free variable, throw error - if (boundVars.has(binding.variable.value)) { - throw Error("Variable used to bind is already bound (?" + binding.variable.value + ")"); - } - } - $$ = { type: 'group', patterns: $2 } - } - ; - -// [54] -GroupGraphPatternSub - : TriplesBlock? GroupGraphPatternSubTail* -> $1 ? unionAll([$1], $2) : unionAll($2) - ; - -GroupGraphPatternSubTail - : GraphPatternNotTriples '.'? TriplesBlock? -> $3 ? [$1, $3] : $1 - ; - -// [55] -// TODO: See why this is not identical to the grammar -TriplesBlock - : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } - ; - -// [56] -GraphPatternNotTriples - : GroupOrUnionGraphPattern - | OptionalGraphPattern - | MinusGraphPattern - | GraphGraphPattern - | ServiceGraphPattern - | Filter - | Bind - | InlineData - ; - -// [57] -OptionalGraphPattern - : 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) - ; - -// [58] -GraphGraphPattern - : 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) - ; - -// [59] -ServiceGraphPattern - : 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) - ; - -// [60] -Bind - : 'BIND' '(' Expression 'AS' VAR ')' -> { type: 'bind', variable: toVar($5), expression: $3 } - ; - -// [61] -// TODO: See why this was named valuesClause rather than DataBlock -InlineData - : 'VALUES' DataBlock -> { type: 'values', values: $2 } - ; - -// [62] -DataBlock - : InlineDataOneVar - | InlineDataFull - ; - -// [63] -InlineDataOneVar - : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) - ; - -// [64] -InlineDataFull - : NIL '{' NIL* '}' -> $3.map(() => ({})) - | '(' VAR+ ')' '{' DataBlockValueList* '}' - { - var length = $2.length; - $2 = $2.map(toVar); - $$ = $5.map(function (values) { - if (values.length !== length) - throw Error('Inconsistent VALUES length'); - var valuesObject = {}; - for(var i = 0; i ensureSparqlStar($1) - | 'UNDEF' -> undefined - ; - -// [66] -MinusGraphPattern - : 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) - ; - -// [67] -GroupOrUnionGraphPattern - : ( GroupGraphPattern 'UNION' )* GroupGraphPattern -> $1.length ? { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) } : $2 - ; - -// [68] -Filter - : 'FILTER' Constraint -> { type: 'filter', expression: $2 } - ; - -// [69] -Constraint - : BrackettedExpression - | BuiltInCall - | FunctionCall - ; - -// [70] -FunctionCall - : iri ArgList -> { ...$2, function: $1 } - ; - -// [71] -ArgList - : NIL -> { type: 'functionCall', args: [] } - | '(' 'DISTINCT'? ( Expression ',' )* Expression ')' -> { type: 'functionCall', args: appendTo($4, $5), distinct: !!$3 } - ; - -// [72] -ExpressionList - : NIL -> [] - | '(' ( Expression ',' )* Expression ')' -> appendTo($2, $3) - ; - -// [73] -ConstructTemplate - : '{' ConstructTriples? '}' -> $2 - ; - -// [74] -// TODO: See if there is a reason for using this -// representation rather than the grammar representation -ConstructTriples - : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> unionAll($1, [$2]) - ; - -// [75] -TriplesSameSubject - : VarOrTermOrQuotedTP PropertyListNotEmpty -> $2.map(t => extend(triple($1), t)) - | TriplesNode PropertyList -> appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ - ; - -// [76] -PropertyList - : PropertyListNotEmpty? - ; - -// [77] -PropertyListNotEmpty - : VerbObjectList ( SemiOptionalVerbObjectList )* -> unionAll([$1], $2) - ; - -SemiOptionalVerbObjectList - : ';' VerbObjectList? -> unionAll($2) - ; -VerbObjectList - : Verb ObjectList -> objectListToTriples($1, $2) - ; - -// [78] -Verb - : VarOrIri - | 'a' -> Parser.factory.namedNode(RDF_TYPE) - ; - -// [79] -ObjectList - : (Object ',')* Object -> appendTo($1, $2) - ; - -// [80] -Object - // TODO: Work out what to *actually* do with the AnnotationPattern - : GraphNode AnnotationPattern? -> $1 - ; - -// [81] -TriplesSameSubjectPath - : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> $2.map(t => extend(triple($1), t)) - // TODO: See why this is optional since it is not in the grammar - | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples) /* the subject is a blank node, possibly with more triples */ - ; - -// [82] - -// TODO: -// [83] -// PropertyListPathNotEmpty -// : ( Path | VAR ) ( GraphNodePath ',' )* GraphNodePath PropertyListPathNotEmptyTail* -> objectListToTriples(toVar($1), appendTo($2, $3), $4) -// ; - -// [85] -VerbSimple - : Var - ; - -// [86] -ObjectListPath - : (ObjectPath ',')* ObjectPath -> appendTo($1, $2) - ; - -// [87] -ObjectPath - // TODO: Work out what to map this do - : GraphNodePath AnnotationPatternPath? -> $1 - ; - -// [88] -Path - : PathAlternative - ; - -// [89] -PathAlternative - : ( PathSequence '|' )* PathSequence -> $1.length ? path('|',appendTo($1, $2)) : $2 - ; - -// [90] -PathSequence - : ( PathEltOrInverse '/' )* PathEltOrInverse -> $1.length ? path('/', appendTo($1, $2)) : $2 - ; - -// [91] -PathElt - : PathPrimary PathMod? -> $2 ? path($2, [$1]) : $1 - ; - -// [92] -PathEltOrInverse - : '^'? PathElt -> $1 ? path($1, [$2]) : $2; - ; - -// [93] -PathMod - : '?' - | '*' - | '+' - ; - -// [94] -PathPrimary - : IriOrA - | '!' PathNegatedPropertySet -> path($1, [$2]) - | '(' Path ')' -> $2 - ; - -// [95] -PathNegatedPropertySet - : PathOneInPropertySet - // TODO: See why nil is here (its not in the grammar) - | NIL -> [] - | '(' ( PathOneInPropertySet '|' )* PathOneInPropertySet? ')' -> path('|', appendTo($2, $3)) - ; - -// [96] -PathOneInPropertySet - : IriOrA - | '^' IriOrA -> path($1, [$2]) - ; - -// [97] -Integer - : INTEGER - ; - -// [98] -TriplesNode - : Collection - | BlankNodePropertyList - ; - -// [99] -BlankNodePropertyList - : '[' PropertyListNotEmpty ']' -> createAnonymousObject($2) - ; - -// [100] -// TODO: Finish refactoring this -TriplesNodePath - : '(' GraphNodePath+ ')' -> createList($2) - | '[' PropertyListPathNotEmpty ']' -> createAnonymousObject($2) - ; - -// [102] -Collection - : '(' GraphNode+ ')' -> createList($2) - ; - -// [103] -CollectionPath - : '(' GraphNodePath+ ')' -> createList($2) - ; - -// [104] -GraphNode - : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ - | TriplesNode - ; - -// [105] -GraphNodePath - : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ - | TriplesNodePath - ; - -// [106] -VarOrTerm - : Var - // Was previously term - | GraphTerm - ; - -// [107] -// TODO: See if we need a toVar here -VarOrIri - : Var - | iri - ; - -// [108] -Var - : VAR -> toVar($1) - ; - -// [109] -GraphTerm - : iri - | Literal - | BlankNode - // TODO: See if custom handling of NIL is needed here - | NIL - ; - -// [110] -Expression - : ConditionalOrExpression - ; - -// [111] -ConditionalOrExpression - : ConditionalAndExpression ConditionalOrExpressionTail* -> createOperationTree($1, $2) - ; - -ConditionalOrExpressionTail - : '||' ConditionalAndExpression -> ['||', $2] - ; - -// [112] -ConditionalAndExpression - : ValueLogical ConditionalAndExpressionTail* -> createOperationTree($1, $2) - ; - -ConditionalAndExpressionTail - : '&&' ValueLogical -> ['&&', $2] - ; - -// [113] -ValueLogical - : RelationalExpression - ; - -// [114] -RelationalExpression - : NumericExpression - // TODO: Fix missing pipe on sparql-star grammar page - | NumericExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) - | NumericExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) - ; - -// [115] -NumericExpression - : AdditiveExpression - ; - -// [116] -// TODO: Properly check these -AdditiveExpression - : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) - ; -AdditiveExpressionTail - : ( '+' | '-' ) MultiplicativeExpression -> [$1, $2] - | NumericLiteralPositive MultiplicativeExpressionTail* -> ['+', createOperationTree($1, $2)] - | NumericLiteralNegative MultiplicativeExpressionTail* - { - var negatedLiteral = createTypedLiteral($1.value.replace('-', ''), $1.datatype); - $$ = ['-', createOperationTree(negatedLiteral, $2)]; - } - ; - -// [117] -// TODO: properly check -MultiplicativeExpression - : UnaryExpression MultiplicativeExpressionTail* -> createOperationTree($1, $2) - ; -MultiplicativeExpressionTail - : ( '*' | '/' ) UnaryExpression -> [$1, $2] - ; - -// [118] -// TODO: Properly check -UnaryExpression - : '+' PrimaryExpression -> operation('UPLUS', [$2]) - | '!' PrimaryExpression -> operation($1, [$2]) - | '-' PrimaryExpression -> operation('UMINUS', [$2]) - | PrimaryExpression -> $1 - ; - -// [119] -PrimaryExpression - : BrackettedExpression - | BuiltInCall - // TODO: See why this is not iriOrFunctionCall - | iri - | FunctionCall - | Literal - | Var - | ExprQuotedTP - ; - -// [120] -BrackettedExpression - : '(' Expression ')' -> $2 - ; - -// [121] -// TODO: Double check this -BuiltInCall - : Aggregate - | FUNC_ARITY0 NIL -> operation(lowercase($1)) - | FUNC_ARITY1 '(' Expression ')' -> operation(lowercase($1), [$3]) - | FUNC_ARITY2 '(' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5]) - | FUNC_ARITY3 '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) - // [122], [123], [124] - // TODO: Fix this - it is technically incorrect as 'SUBSTR' | 'REGEX' | 'REPLACE' are only allowed 2-3 args - // as opposed to an aribtrary number of args which this allows - | ( 'CONCAT' | 'COALESCE' | 'SUBSTR' | 'REGEX' | 'REPLACE' ) ExpressionList -> operation(lowercase($1), $2) - | 'BOUND' '(' VAR ')' -> operation('bound', [toVar($3)]) - | 'BNODE' NIL -> operation($1, []) - | 'BNODE' '(' Expression ')' -> operation($1, [$3]) - // [125], [126] - | 'NOT'? 'EXISTS' GroupGraphPattern -> operation($1 ? 'notexists' :'exists', [degroupSingle($3)]) - ; - -// [127] -// TODO: Double check this -Aggregate - : 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) - | FUNC_AGGREGATE '(' 'DISTINCT'? Expression ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) - | 'GROUP_CONCAT' '(' 'DISTINCT'? Expression GroupConcatSeparator? ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3, separator: $5 || ' ' }) - ; - -GroupConcatSeparator - : ';' 'SEPARATOR' '=' String -> $4 - ; - -// [128] -iriOrFunction - // TODO: Work out what to do with this. - // : iri ArgList? - : iri - | FunctionCall - ; - -// TODO: Fix things above here - -// Summary of [129], [130] & [134] -Literal - : RDFLiteral - | NumericLiteral - | BooleanLiteral - ; - -// [129] -RDFLiteral - : String -> createTypedLiteral($1) - | String LANGTAG -> createLangLiteral($1, lowercase($2.substr(1))) - | String '^^' iri -> createTypedLiteral($1, $3) - ; - -// [130] -NumericLiteral - : NumericLiteralUnsigned - | NumericLiteralPositive - | NumericLiteralNegative - ; - -// [131] -NumericLiteralUnsigned - : INTEGER -> createTypedLiteral($1, XSD_INTEGER) - | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) - | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) - ; - -// [132] -NumericLiteralPositive - : INTEGER_POSITIVE -> createTypedLiteral($1.substr(1), XSD_INTEGER) - | DECIMAL_POSITIVE -> createTypedLiteral($1.substr(1), XSD_DECIMAL) - | DOUBLE_POSITIVE -> createTypedLiteral($1.substr(1).toLowerCase(), XSD_DOUBLE) - ; - -// [133] -NumericLiteralNegative - : INTEGER_NEGATIVE -> createTypedLiteral($1, XSD_INTEGER) - | DECIMAL_NEGATIVE -> createTypedLiteral($1, XSD_DECIMAL) - | DOUBLE_NEGATIVE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) - ; - -// [134] -BooleanLiteral - : BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) - ; - -// [135] -String - : STRING_LITERAL1 -> unescapeString($1, 1) - | STRING_LITERAL2 -> unescapeString($1, 1) - | STRING_LITERAL_LONG1 -> unescapeString($1, 3) - | STRING_LITERAL_LONG2 -> unescapeString($1, 3) - ; - -// [136] -iri - : IRIREF -> Parser.factory.namedNode(resolveIRI($1)) - | PrefixedName - ; - -// [137] -PrefixedName - : PNAME_LN - { - var namePos = $1.indexOf(':'), - prefix = $1.substr(0, namePos), - expansion = Parser.prefixes[prefix]; - if (!expansion) throw new Error('Unknown prefix: ' + prefix); - var uriString = resolveIRI(expansion + $1.substr(namePos + 1)); - $$ = Parser.factory.namedNode(uriString); - } - | PNAME_NS - { - $1 = $1.substr(0, $1.length - 1); - if (!($1 in Parser.prefixes)) throw new Error('Unknown prefix: ' + $1); - var uriString = resolveIRI(Parser.prefixes[$1]); - $$ = Parser.factory.namedNode(uriString); - } - ; - -// [138] -BlankNode - : BLANK_NODE_LABEL -> blank($1.replace(/^(_:)/,'')); - | ANON -> blank() - ; - -// Note [139] - [173] are grammar terms that are written above // - -// SHOULD BE GOOD AFTER THIS POINT but need to double check - These are all the sparqlStar specific additions - -// [174] -QuotedTP - : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) - ; - -// [175] -QuotedTriple - : '<<' DataValueTerm IriOrA DataValueTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) - ; - -// [176] -qtSubjectOrObject - : VarOrTerm - | QuotedTP - ; -// [177] -DataValueTerm - : iri - | Literal - | QuotedTP - ; -// [178] -VarOrTermOrQuotedTP - : Var - | GraphTerm - | QuotedTP - ; -// [179] -AnnotationPattern - : '{|' PropertyListNotEmpty '|}' -> ensureSparqlStar($2) - ; -// [180] -AnnotationPatternPath - : '{|' PropertyListPathNotEmpty '|}' -> ensureSparqlStar($2) - ; -// [181] -// TODO: Work out how nested graphs should be handled -ExprQuotedTP - : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(Parser.factory.quad($2, $3, $4)) - ; -// [182] -// TODO: See if this should be overriding something else in the grammar -ExprVarOrTerm - : iri - | Literal - | Var - | ExprQuotedTP - ; From 7571700baea47064e1f45f91292ff33a6c381647 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 17 Nov 2022 23:04:06 +1100 Subject: [PATCH 27/39] chore: fix broken annotation test --- lib/sparql.jison | 66 +------------------ .../sparql-star-annotated-object-list.sparql | 2 +- .../sparql-star-annotated-object-list.json | 4 -- 3 files changed, 3 insertions(+), 69 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 74eec2da..40f9c870 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -543,7 +543,6 @@ PERCENT "%"{HEX}{HEX} HEX [0-9A-Fa-f] // [173] PN_LOCAL_ESC "\\"("_"|"~"|"."|"-"|"!"|"$"|"&"|"'"|"("|")"|"*"|"+"|","|";"|"="|"/"|"?"|"#"|"@"|"%") -// TODO: Work out where this fits into the production grammar COMMENT "#"[^\n\r]* SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ @@ -731,15 +730,12 @@ QueryOrUpdate } ; -// TODO: Properly factor out queryUnit - // [1] QueryUnit : Query ; // [2] -// TODO: Work out why ValuesClause was optional Query : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> { ...$1, ...$2, type: 'query' } ; @@ -835,18 +831,15 @@ SelectClauseBase SelectClauseItem : Var | '(' Expression 'AS' Var ')' -> expression($2, { variable: $4 }) - // TODO: Remove this - // | '(' VarTriple 'AS' Var ')' -> ensureSparqlStar(expression($2, { variable: $4 })) ; -// [8] Didn't check - optional clause seems disjoint with grammar +// [8] SubSelect : SelectClauseWildcard WhereClause SolutionModifierNoGroup ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) ; -// TODO: See what 9 is -// [10] Didn't check +// [10] ConstructQuery : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) @@ -858,7 +851,6 @@ DescribeQuery ; // [12] -// TODO: See why this has solution modifier rather than ValuesClause. AskQuery : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) ; @@ -893,7 +885,6 @@ SolutionModifier : GroupClause? SolutionModifierNoGroup -> extend($1, $2) ; -// TODO: See why this is necessary rather than just existing in [18] SolutionModifierNoGroup : HavingClause? OrderClause? LimitOffsetClauses? -> extend($1, $2, $3) ; @@ -954,9 +945,6 @@ OffsetClause ; // [28] -// TODO: See why we have InlineData rather than data block here -// TODO: See why it is not all optional -// TODO: Double check this ValuesClause : 'VALUES' InlineData -> { type: 'values', values: $2 } ; @@ -984,7 +972,6 @@ DataBlockValueList ; // [29] -// TODO: Establish why this is totally different to the published grammar Update : (Update1 ';' Prologue)* Update1 (';' Prologue)? -> { type: 'update', updates: appendTo($1, $2) } ; @@ -1003,7 +990,6 @@ Update1 // [31] -// TODO: See if into graph clause is needed Load : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) ; @@ -1113,14 +1099,10 @@ QuadData // [50] Quads : TriplesTemplate? QuadsNotTriples* -> $1 ? unionAll($2, [$1]) : unionAll($2) - // TODO: Actually use this grammar (which *is* different) - // it seems like the problem comes down to TriplesTemplate not being correct - // : TriplesTemplate? ( QuadsNotTriples "."? TriplesTemplate? ) * ; // [51] QuadsNotTriples -// TODO Fix this - it is actually the definition for quad : 'GRAPH' VarOrIri '{' TriplesTemplate? '}' '.'? TriplesTemplate? { var graph = extend($4 || { triples: [] }, { type: 'graph', name: $2 }); @@ -1129,7 +1111,6 @@ QuadsNotTriples ; // [52] -// TODO: See why this is not identical to the grammar TriplesTemplate : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } ; @@ -1168,23 +1149,11 @@ GroupGraphPatternSubTail ; // [55] -// TODO: See why this is not identical to the grammar TriplesBlock : (TriplesSameSubjectPath '.')* TriplesSameSubjectPath '.'? -> { type: 'bgp', triples: unionAll($1, [$2]) } ; // [56] -// TODO: Use this -// GraphPatternNotTriples -// : GroupOrUnionGraphPattern -// | OptionalGraphPattern -// | MinusGraphPattern -// | GraphGraphPattern -// | ServiceGraphPattern -// | Filter -// | Bind -// | InlineData -// ; GraphPatternNotTriples : GroupOrUnionGraphPattern @@ -1194,18 +1163,14 @@ GraphPatternNotTriples | ServiceGraphPattern | Filter | Bind - // TODO: See what covers this (it *might* be subsumed by Bind with the renewed definition of experession) - // | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) | ValuesClause ; - // [57] OptionalGraphPattern : 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) ; - // [58] GraphGraphPattern : 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) @@ -1219,12 +1184,9 @@ ServiceGraphPattern // [60] Bind : 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } - // | 'BIND' '(' VarTriple 'AS' Var ')' -> ensureSparqlStar({ type: 'bind', variable: $5, expression: $3 }) ; // [61] -// TODO: Handle conflict with the other inlineData -// TODO: See why this was named valuesClause rather than DataBlock InlineData : 'VALUES' DataBlock -> { type: 'values', values: $2 } ; @@ -1313,8 +1275,6 @@ ConstructTemplate ; // [74] -// TODO: See if there is a reason for using this -// representation rather than the grammar representation ConstructTriples : (TriplesSameSubject '.')* TriplesSameSubject '.'? -> unionAll($1, [$2]) ; @@ -1360,10 +1320,7 @@ Object // [81] TriplesSameSubjectPath - // : (VarOrTerm | VarTriple) PropertyListPathNotEmpty -> $2.map(function (t) { return extend(triple($1), t); }) - // TODO!: Use this grammar instead : VarOrTermOrQuotedTP PropertyListPathNotEmpty -> applyAnnotations($2.map(t => extend(triple($1), t))) - // TODO: See why this is optional since it is not in the grammar | TriplesNodePath PropertyListPathNotEmpty? -> !$2 ? $1.triples : applyAnnotations(appendAllTo($2.map(t => extend(triple($1.entity), t)), $1.triples)) /* the subject is a blank node, possibly with more triples */ ; @@ -1374,9 +1331,7 @@ PropertyListPathNotEmpty : ( VerbPath | VerbSimple ) ObjectListPath PropertyListPathNotEmptyTail* -> objectListToTriples($1, $2, $3) ; -// TODO: Double check all of this PropertyListPathNotEmptyTail - // TODO: Double check this in particular : ';' -> [] | ';' ( VerbPath | VerbSimple ) ObjectListPath -> objectListToTriples(toVar($2), $3) ; @@ -1398,7 +1353,6 @@ ObjectListPath // [87] ObjectPath - // TODO: Work out what to map this do : GraphNodePath AnnotationPatternPath? -> $2 ? { object: $1, annotation: $2 } : $1; ; @@ -1444,7 +1398,6 @@ PathPrimary // [95] PathNegatedPropertySet : PathOneInPropertySet - // TODO: See why nil is here (its not in the grammar) | NIL -> [] | '(' ( PathOneInPropertySet '|' )* PathOneInPropertySet? ')' -> path('|', appendTo($2, $3)) ; @@ -1499,7 +1452,6 @@ GraphTerm : iri | Literal | BlankNode - // TODO: See if custom handling of NIL is needed here | NIL -> Parser.factory.namedNode(RDF_NIL) ; @@ -1544,7 +1496,6 @@ NumericExpression ; // [116] -// TODO: Properly check these AdditiveExpression : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) ; @@ -1559,7 +1510,6 @@ AdditiveExpressionTail ; // [117] -// TODO: properly check MultiplicativeExpression : UnaryExpression MultiplicativeExpressionTail* -> createOperationTree($1, $2) ; @@ -1568,7 +1518,6 @@ MultiplicativeExpressionTail ; // [118] -// TODO: Properly check UnaryExpression : '+' PrimaryExpression -> operation('UPLUS', [$2]) | '!' PrimaryExpression -> operation($1, [$2]) @@ -1580,7 +1529,6 @@ UnaryExpression PrimaryExpression : BrackettedExpression | BuiltInCall - // TODO: See why this is not iriOrFunctionCall | iri | FunctionCall | Literal @@ -1594,7 +1542,6 @@ BrackettedExpression ; // [121] -// TODO: Double check this BuiltInCall : Aggregate | FUNC_ARITY0 NIL -> operation(lowercase($1)) @@ -1604,8 +1551,6 @@ BuiltInCall | FUNC_ARITY3 '(' Expression ',' Expression ',' Expression ')' -> operation(lowercase($1), [$3, $5, $7]) | FUNC_ARITY3_SPARQL_STAR '(' Expression ',' Expression ',' Expression ')' -> ensureSparqlStar(operation(lowercase($1), [$3, $5, $7])) // [122], [123], [124] - // TODO: Fix this - it is technically incorrect as 'SUBSTR' | 'REGEX' | 'REPLACE' are only allowed 2-3 args - // as opposed to an aribtrary number of args which this allows | ( 'CONCAT' | 'COALESCE' | 'SUBSTR' | 'REGEX' | 'REPLACE' ) ExpressionList -> operation(lowercase($1), $2) | 'BOUND' '(' VAR ')' -> operation('bound', [toVar($3)]) | 'BNODE' NIL -> operation($1, []) @@ -1615,7 +1560,6 @@ BuiltInCall ; // [127] -// TODO: Double check this Aggregate : 'COUNT' '(' 'DISTINCT'? ( '*' | Expression ) ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) | FUNC_AGGREGATE '(' 'DISTINCT'? Expression ')' -> expression($4, { type: 'aggregate', aggregation: lowercase($1), distinct: !!$3 }) @@ -1717,8 +1661,6 @@ BlankNode // Note [139] - [173] are grammar terms that are written above // -// TODO: Make everthing here ensure sparqlStar - // [174] QuotedTP : '<<' qtSubjectOrObject Verb qtSubjectOrObject '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) @@ -1765,14 +1707,11 @@ AnnotationPatternPath // [181] -// TODO: Work out how nested graphs should be handled ExprQuotedTP : '<<' ExprVarOrTerm Verb ExprVarOrTerm '>>' -> ensureSparqlStar(nestedTriple($2, $3, $4)) ; -// TODO: Re-enable // [182] -// TODO: See if this should be overriding something else in the grammar ExprVarOrTerm : VarOrIri | ExprQuotedTP @@ -1784,4 +1723,3 @@ IriOrA : iri -> $1 | 'a' -> Parser.factory.namedNode(RDF_TYPE) ; - diff --git a/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql b/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql index e0837d87..7a5e0a15 100644 --- a/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql +++ b/queries/sparqlstar-annotated/sparql-star-annotated-object-list.sparql @@ -1,5 +1,5 @@ SELECT * WHERE { ?s1 ?p1 ?o1 {| ?p12 ?o12 |}, ?o2 {| ?p22 ?o22 |}, - ?o3 {| ?p32 ?o32 |}, + ?o3 {| ?p32 ?o32 |}. } diff --git a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json index a9460336..00fc67b1 100644 --- a/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json +++ b/test/parsedQueries/sparqlstar-annotated/sparql-star-annotated-object-list.json @@ -39,10 +39,6 @@ "object": { "termType": "Variable", "value": "o1" - }, - "graph": { - "termType": "DefaultGraph", - "value": "" } }, "predicate": { From 615ce445cb45be32f557eb36731a5f82a6ca790c Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 17 Nov 2022 23:06:24 +1100 Subject: [PATCH 28/39] chore: revert to using npm version of rdf-test-suite --- package-lock.json | 33 +++++++-------------------------- package.json | 2 +- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 66202052..2c2d0614 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "file:../rdf-test-suite.js" + "rdf-test-suite": "^1.19.3" }, "engines": { "node": ">=8.0" @@ -164,16 +164,6 @@ "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", "dev": true }, - "node_modules/@types/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", - "deprecated": "This is a stub types definition. log-symbols provides its own type definitions, so you do not need this installed.", - "dev": true, - "dependencies": { - "log-symbols": "*" - } - }, "node_modules/@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -3186,14 +3176,13 @@ } }, "node_modules/rdf-test-suite": { - "version": "1.19.2", - "resolved": "file:../rdf-test-suite.js", + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.3.tgz", + "integrity": "sha512-Tyq25j0oKQHGpx6QF9WMbPFctOkPb3GVDfvRmFEJzuOegiya9mGh2fn79gfYErQQ92wDOaP+0wB+fLVsEl4zLQ==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", - "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", @@ -4618,15 +4607,6 @@ "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", "dev": true }, - "@types/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", - "dev": true, - "requires": { - "log-symbols": "*" - } - }, "@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -6925,12 +6905,13 @@ } }, "rdf-test-suite": { - "version": "1.19.2", + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.3.tgz", + "integrity": "sha512-Tyq25j0oKQHGpx6QF9WMbPFctOkPb3GVDfvRmFEJzuOegiya9mGh2fn79gfYErQQ92wDOaP+0wB+fLVsEl4zLQ==", "dev": true, "requires": { "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", - "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", diff --git a/package.json b/package.json index aad11a1c..75965b90 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "file:../rdf-test-suite.js" + "rdf-test-suite": "^1.19.3" }, "browser": { "_process": false, From a950631a6cebd70c30207847b32c8174bf53ba31 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 17 Nov 2022 23:30:49 +1100 Subject: [PATCH 29/39] chore: remove unecessary comments --- lib/sparql.jison | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 40f9c870..f9c900bf 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -260,13 +260,9 @@ objectList.forEach(function (l) { let annotation = null; if (l.annotation) { - // objects.push(triple(l.subject, l.predicate, l.object)) - // throw new Error(`${JSON.stringify(l, null, 2)}${JSON.stringify(objects, null, 2)}`) - // triples.push(triple(l.subject, l.predicate, l.object)) annotation = l.annotation l = l.object; } - // throw new Error(`annotation is ${JSON.stringify(l.annotation, null, 2)}`); objects.push(triple(null, predicate, l.entity, annotation)); appendAllTo(triples, l.triples); }); From 11bffb1ed4a49bfa362f58c8dece17542432c249 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Fri, 18 Nov 2022 00:18:33 +1100 Subject: [PATCH 30/39] chore: add newline character to all files missing one --- queries/sparql-skip-validation/implicit-grouping-1.sparql | 2 +- queries/sparql-skip-validation/implicit-grouping-2.sparql | 2 +- queries/sparql/ask-in-anonymous-node.sparql | 2 +- queries/sparql/inverse-paths-anonymous-node.sparql | 2 +- queries/sparql/inverse-paths-in-anonymous-node-2.sparql | 2 +- queries/sparql/inverse-paths-in-anonymous-node.sparql | 2 +- queries/sparql/sequence-paths-in-anonymous-node.sparql | 2 +- queries/sparql/sparql-19-a.sparql | 2 +- queries/sparqlstar-spec/sparql-star-annotation-02.sparql | 2 +- queries/sparqlstar-spec/sparql-star-annotation-03.sparql | 2 +- queries/sparqlstar-spec/sparql-star-annotation-04.sparql | 2 +- queries/sparqlstar-spec/sparql-star-annotation-05.sparql | 2 +- queries/sparqlstar-spec/sparql-star-syntax-compound.sparql | 2 +- test/parsedQueries/sparql/all.json | 2 +- test/parsedQueries/sparql/artists-ghent.json | 2 +- test/parsedQueries/sparql/artists-york.json | 2 +- test/parsedQueries/sparql/ask-in-anonymous-node.json | 2 +- test/parsedQueries/sparql/blanks.json | 2 +- test/parsedQueries/sparql/bsbm1.json | 2 +- test/parsedQueries/sparql/bsbm10.json | 2 +- test/parsedQueries/sparql/bsbm3.json | 2 +- test/parsedQueries/sparql/bsbm4.json | 2 +- test/parsedQueries/sparql/bsbm5.json | 2 +- test/parsedQueries/sparql/bsbm8.json | 2 +- test/parsedQueries/sparql/bsbm9.json | 2 +- test/parsedQueries/sparql/clear-drop.json | 2 +- test/parsedQueries/sparql/compact-bgp.json | 2 +- test/parsedQueries/sparql/construct-extra-semicolon.json | 2 +- test/parsedQueries/sparql/construct-multi-extra-semicolons.json | 2 +- test/parsedQueries/sparql/construct-without-template.json | 2 +- test/parsedQueries/sparql/construct.json | 2 +- test/parsedQueries/sparql/empty-values.json | 2 +- test/parsedQueries/sparql/group-concat.json | 2 +- test/parsedQueries/sparql/group-variable.json | 2 +- test/parsedQueries/sparql/in.json | 2 +- test/parsedQueries/sparql/inverse-paths-anonymous-node.json | 2 +- test/parsedQueries/sparql/lists.json | 2 +- test/parsedQueries/sparql/load-into.json | 2 +- test/parsedQueries/sparql/load.json | 2 +- test/parsedQueries/sparql/multiline.json | 2 +- test/parsedQueries/sparql/negate-and.json | 2 +- test/parsedQueries/sparql/nested-path.json | 2 +- test/parsedQueries/sparql/optional-subquery.json | 2 +- test/parsedQueries/sparql/or.json | 2 +- test/parsedQueries/sparql/order-operator.json | 2 +- test/parsedQueries/sparql/sequence-paths-in-anonymous-node.json | 2 +- test/parsedQueries/sparql/sparql-10-1a.json | 2 +- test/parsedQueries/sparql/sparql-10-1b.json | 2 +- test/parsedQueries/sparql/sparql-10-2-2a.json | 2 +- test/parsedQueries/sparql/sparql-10-2-2b.json | 2 +- test/parsedQueries/sparql/sparql-10-2-2c.json | 2 +- test/parsedQueries/sparql/sparql-11-1.json | 2 +- test/parsedQueries/sparql/sparql-11-2.json | 2 +- test/parsedQueries/sparql/sparql-11-3.json | 2 +- test/parsedQueries/sparql/sparql-11-4.json | 2 +- test/parsedQueries/sparql/sparql-11-5.json | 2 +- test/parsedQueries/sparql/sparql-12.json | 2 +- test/parsedQueries/sparql/sparql-13-2-1.json | 2 +- test/parsedQueries/sparql/sparql-13-2-2.json | 2 +- test/parsedQueries/sparql/sparql-13-2-3.json | 2 +- test/parsedQueries/sparql/sparql-13-3-1.json | 2 +- test/parsedQueries/sparql/sparql-13-3-2.json | 2 +- test/parsedQueries/sparql/sparql-13-3-3.json | 2 +- test/parsedQueries/sparql/sparql-13-3-4.json | 2 +- test/parsedQueries/sparql/sparql-15-1a.json | 2 +- test/parsedQueries/sparql/sparql-15-1b.json | 2 +- test/parsedQueries/sparql/sparql-15-1c.json | 2 +- test/parsedQueries/sparql/sparql-15-2.json | 2 +- test/parsedQueries/sparql/sparql-15-3-1.json | 2 +- test/parsedQueries/sparql/sparql-15-3-2.json | 2 +- test/parsedQueries/sparql/sparql-15-3.json | 2 +- test/parsedQueries/sparql/sparql-15-4.json | 2 +- test/parsedQueries/sparql/sparql-15-5.json | 2 +- test/parsedQueries/sparql/sparql-16-1-1.json | 2 +- test/parsedQueries/sparql/sparql-16-1-2b.json | 2 +- test/parsedQueries/sparql/sparql-16-2-1.json | 2 +- test/parsedQueries/sparql/sparql-16-2-3.json | 2 +- test/parsedQueries/sparql/sparql-16-2-4.json | 2 +- test/parsedQueries/sparql/sparql-16-2.json | 2 +- test/parsedQueries/sparql/sparql-16-3.json | 2 +- test/parsedQueries/sparql/sparql-16-4-1.json | 2 +- test/parsedQueries/sparql/sparql-16-4-2a.json | 2 +- test/parsedQueries/sparql/sparql-16-4-2b.json | 2 +- test/parsedQueries/sparql/sparql-16-4-2c.json | 2 +- test/parsedQueries/sparql/sparql-16-4-3.json | 2 +- test/parsedQueries/sparql/sparql-17-4-1-1a.json | 2 +- test/parsedQueries/sparql/sparql-17-4-1-1b.json | 2 +- test/parsedQueries/sparql/sparql-17-4-1-7a.json | 2 +- test/parsedQueries/sparql/sparql-17-4-1-7b.json | 2 +- test/parsedQueries/sparql/sparql-17-4-1-8a.json | 2 +- test/parsedQueries/sparql/sparql-17-4-1-8b.json | 2 +- test/parsedQueries/sparql/sparql-17-4-2-1.json | 2 +- test/parsedQueries/sparql/sparql-17-4-2-2.json | 2 +- test/parsedQueries/sparql/sparql-17-4-2-3.json | 2 +- test/parsedQueries/sparql/sparql-17-4-2-5.json | 2 +- test/parsedQueries/sparql/sparql-17-4-2-6.json | 2 +- test/parsedQueries/sparql/sparql-17-4-2-7.json | 2 +- test/parsedQueries/sparql/sparql-17-4-3-13a.json | 2 +- test/parsedQueries/sparql/sparql-17-4-3-13b.json | 2 +- test/parsedQueries/sparql/sparql-17-4-3-14.json | 2 +- test/parsedQueries/sparql/sparql-17-6a.json | 2 +- test/parsedQueries/sparql/sparql-17-6b.json | 2 +- test/parsedQueries/sparql/sparql-17.json | 2 +- test/parsedQueries/sparql/sparql-4-2a.json | 2 +- test/parsedQueries/sparql/sparql-4-2b.json | 2 +- test/parsedQueries/sparql/sparql-4-2c.json | 2 +- test/parsedQueries/sparql/sparql-5-2-2a.json | 2 +- test/parsedQueries/sparql/sparql-5-2-2b.json | 2 +- test/parsedQueries/sparql/sparql-5-2-2c.json | 2 +- test/parsedQueries/sparql/sparql-5-2-3a.json | 2 +- test/parsedQueries/sparql/sparql-5-2-3b.json | 2 +- test/parsedQueries/sparql/sparql-5-2-3c.json | 2 +- test/parsedQueries/sparql/sparql-5-2a.json | 2 +- test/parsedQueries/sparql/sparql-5-2b.json | 2 +- test/parsedQueries/sparql/sparql-6-1.json | 2 +- test/parsedQueries/sparql/sparql-6-2.json | 2 +- test/parsedQueries/sparql/sparql-6-3.json | 2 +- test/parsedQueries/sparql/sparql-7a.json | 2 +- test/parsedQueries/sparql/sparql-7b.json | 2 +- test/parsedQueries/sparql/sparql-7c.json | 2 +- test/parsedQueries/sparql/sparql-8-1-1.json | 2 +- test/parsedQueries/sparql/sparql-8-1-2.json | 2 +- test/parsedQueries/sparql/sparql-8-2.json | 2 +- test/parsedQueries/sparql/sparql-8-3-1a.json | 2 +- test/parsedQueries/sparql/sparql-8-3-1b.json | 2 +- test/parsedQueries/sparql/sparql-8-3-2a.json | 2 +- test/parsedQueries/sparql/sparql-8-3-2b.json | 2 +- test/parsedQueries/sparql/sparql-8-3-3a.json | 2 +- test/parsedQueries/sparql/sparql-8-3-3b.json | 2 +- test/parsedQueries/sparql/sparql-9-2a.json | 2 +- test/parsedQueries/sparql/sparql-9-2b.json | 2 +- test/parsedQueries/sparql/sparql-9-2c.json | 2 +- test/parsedQueries/sparql/sparql-9-2d.json | 2 +- test/parsedQueries/sparql/sparql-9-2e.json | 2 +- test/parsedQueries/sparql/sparql-9-2f.json | 2 +- test/parsedQueries/sparql/sparql-9-2g.json | 2 +- test/parsedQueries/sparql/sparql-9-2h.json | 2 +- test/parsedQueries/sparql/sparql-9-2i.json | 2 +- test/parsedQueries/sparql/sparql-9-2j.json | 2 +- test/parsedQueries/sparql/sparql-9-2k.json | 2 +- test/parsedQueries/sparql/sparql-9-2l.json | 2 +- test/parsedQueries/sparql/sparql-9-2m.json | 2 +- test/parsedQueries/sparql/sparql-9-2n.json | 2 +- test/parsedQueries/sparql/sparql-9-2o.json | 2 +- test/parsedQueries/sparql/sparql-9-2p.json | 2 +- test/parsedQueries/sparql/sparql-9-2q.json | 2 +- test/parsedQueries/sparql/sparql-9-2r.json | 2 +- test/parsedQueries/sparql/sparql-9-3a.json | 2 +- test/parsedQueries/sparql/sparql-9-3b.json | 2 +- test/parsedQueries/sparql/sparql-9-3c.json | 2 +- test/parsedQueries/sparql/sparql-9-4a.json | 2 +- test/parsedQueries/sparql/sparql-9-4b.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-1.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-2.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-3.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-4a.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-4b.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-4c.json | 2 +- test/parsedQueries/sparql/sparql-fed-2-4d.json | 2 +- test/parsedQueries/sparql/sparql-fed-4.json | 2 +- test/parsedQueries/sparql/sparql-modifiers-order.json | 2 +- test/parsedQueries/sparql/sparql-update-1-1-1.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-1a.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-1b.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-2a.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-2b.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-1a.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-1b.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-2a.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-2b.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-2c.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-3a.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3-3b.json | 2 +- test/parsedQueries/sparql/sparql-update-3-1-3.json | 2 +- test/parsedQueries/sparql/sparql-update-3-2-3.json | 2 +- test/parsedQueries/sparql/sparql-update-3-2-4.json | 2 +- test/parsedQueries/sparql/sparql-update-3-2-5.json | 2 +- test/parsedQueries/sparql/sparql-update-multiple-prefixes.json | 2 +- test/parsedQueries/sparql/sparql-update-only-prefix.json | 2 +- test/parsedQueries/sparql/sparql-update-trailing-prologue.json | 2 +- test/parsedQueries/sparql/sparql-update-trailing-semicolon.json | 2 +- test/parsedQueries/sparql/sparql-values-clause.json | 2 +- test/parsedQueries/sparql/strlen.json | 2 +- test/parsedQueries/sparql/sub-values.json | 2 +- test/parsedQueries/sparql/sum-count.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-01.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-02.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-03.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-04.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-05.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-06.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-07.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-08.json | 2 +- .../sparqlstar-spec/sparql-star-annotation-09.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-01.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-02.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-03.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-04.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-05.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-06.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-basic-07.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-bnode-01.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-bnode-02.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-bnode-03.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-compound.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-expr-01.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-expr-02.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-expr-03.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-expr-04.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-expr-05.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-expr-06.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-inside-01.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-inside-02.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-nested-01.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-nested-02.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-1.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-2.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-3.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-4.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-5.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-6.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-7.json | 2 +- .../sparqlstar-spec/sparql-star-syntax-update-8.json | 2 +- 223 files changed, 223 insertions(+), 223 deletions(-) diff --git a/queries/sparql-skip-validation/implicit-grouping-1.sparql b/queries/sparql-skip-validation/implicit-grouping-1.sparql index 33363d83..3b8edc14 100644 --- a/queries/sparql-skip-validation/implicit-grouping-1.sparql +++ b/queries/sparql-skip-validation/implicit-grouping-1.sparql @@ -3,4 +3,4 @@ select (count(?y) as ?count) { ?x ?y ?z -} \ No newline at end of file +} diff --git a/queries/sparql-skip-validation/implicit-grouping-2.sparql b/queries/sparql-skip-validation/implicit-grouping-2.sparql index 9dee345d..356d303a 100644 --- a/queries/sparql-skip-validation/implicit-grouping-2.sparql +++ b/queries/sparql-skip-validation/implicit-grouping-2.sparql @@ -1,4 +1,4 @@ select ?x (count(?y) as ?count) { ?x ?y ?z -} \ No newline at end of file +} diff --git a/queries/sparql/ask-in-anonymous-node.sparql b/queries/sparql/ask-in-anonymous-node.sparql index 0db677d1..893eafc0 100644 --- a/queries/sparql/ask-in-anonymous-node.sparql +++ b/queries/sparql/ask-in-anonymous-node.sparql @@ -1,2 +1,2 @@ BASE -ask { [<>?o]. } \ No newline at end of file +ask { [<>?o]. } diff --git a/queries/sparql/inverse-paths-anonymous-node.sparql b/queries/sparql/inverse-paths-anonymous-node.sparql index 825ad555..53e385d8 100644 --- a/queries/sparql/inverse-paths-anonymous-node.sparql +++ b/queries/sparql/inverse-paths-anonymous-node.sparql @@ -8,4 +8,4 @@ WHERE { rdfs:label "Brad Pitt"@en ; ^dbpedia-owl:starring ?otherMovie ] . -} \ No newline at end of file +} diff --git a/queries/sparql/inverse-paths-in-anonymous-node-2.sparql b/queries/sparql/inverse-paths-in-anonymous-node-2.sparql index a2cbd0f4..95aeb865 100644 --- a/queries/sparql/inverse-paths-in-anonymous-node-2.sparql +++ b/queries/sparql/inverse-paths-in-anonymous-node-2.sparql @@ -8,4 +8,4 @@ WHERE { rdfs:label "Brad Pitt"@en ; ^dbpedia-owl:starring ?otherMovie ] . -} \ No newline at end of file +} diff --git a/queries/sparql/inverse-paths-in-anonymous-node.sparql b/queries/sparql/inverse-paths-in-anonymous-node.sparql index 825ad555..53e385d8 100644 --- a/queries/sparql/inverse-paths-in-anonymous-node.sparql +++ b/queries/sparql/inverse-paths-in-anonymous-node.sparql @@ -8,4 +8,4 @@ WHERE { rdfs:label "Brad Pitt"@en ; ^dbpedia-owl:starring ?otherMovie ] . -} \ No newline at end of file +} diff --git a/queries/sparql/sequence-paths-in-anonymous-node.sparql b/queries/sparql/sequence-paths-in-anonymous-node.sparql index 9cff6a6c..76c6ff9f 100644 --- a/queries/sparql/sequence-paths-in-anonymous-node.sparql +++ b/queries/sparql/sequence-paths-in-anonymous-node.sparql @@ -4,4 +4,4 @@ select * { :a [ :a/:a :a ] . -} \ No newline at end of file +} diff --git a/queries/sparql/sparql-19-a.sparql b/queries/sparql/sparql-19-a.sparql index bc1dedf6..56674395 100644 --- a/queries/sparql/sparql-19-a.sparql +++ b/queries/sparql/sparql-19-a.sparql @@ -1,3 +1,3 @@ select ?p (count(*) as ?n) { [ ?p [] ]. -} \ No newline at end of file +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-02.sparql b/queries/sparqlstar-spec/sparql-star-annotation-02.sparql index 1b477184..e06599fd 100644 --- a/queries/sparqlstar-spec/sparql-star-annotation-02.sparql +++ b/queries/sparqlstar-spec/sparql-star-annotation-02.sparql @@ -9,4 +9,4 @@ SELECT * { :date "2020-12-31"^^xsd:date ] |} -} \ No newline at end of file +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-03.sparql b/queries/sparqlstar-spec/sparql-star-annotation-03.sparql index eabd3f1d..b1b7a91d 100644 --- a/queries/sparqlstar-spec/sparql-star-annotation-03.sparql +++ b/queries/sparqlstar-spec/sparql-star-annotation-03.sparql @@ -3,4 +3,4 @@ PREFIX xsd: SELECT * { :s :p <<:a :b :c>> {| ?q ?z |} -} \ No newline at end of file +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-04.sparql b/queries/sparqlstar-spec/sparql-star-annotation-04.sparql index 77d93299..7d39ec1e 100644 --- a/queries/sparqlstar-spec/sparql-star-annotation-04.sparql +++ b/queries/sparqlstar-spec/sparql-star-annotation-04.sparql @@ -3,4 +3,4 @@ PREFIX xsd: SELECT * { :s :p <<:a :b :c>> {| ?q <<:s1 :p1 ?z>> |} -} \ No newline at end of file +} diff --git a/queries/sparqlstar-spec/sparql-star-annotation-05.sparql b/queries/sparqlstar-spec/sparql-star-annotation-05.sparql index 481dd649..638804da 100644 --- a/queries/sparqlstar-spec/sparql-star-annotation-05.sparql +++ b/queries/sparqlstar-spec/sparql-star-annotation-05.sparql @@ -3,4 +3,4 @@ PREFIX xsd: SELECT * { <> ?p ?o {| :r ?Z |} . -} \ No newline at end of file +} diff --git a/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql b/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql index 9f0233ac..ee448d4e 100644 --- a/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql +++ b/queries/sparqlstar-spec/sparql-star-syntax-compound.sparql @@ -7,4 +7,4 @@ SELECT * { << <<:x ?R :z >> :p <<:a :b [] >> >> :q << <<[] ?R :z >> :p <<:a :b [] >> >> . -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/all.json b/test/parsedQueries/sparql/all.json index f8eda069..1c5ae4ac 100644 --- a/test/parsedQueries/sparql/all.json +++ b/test/parsedQueries/sparql/all.json @@ -28,4 +28,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/artists-ghent.json b/test/parsedQueries/sparql/artists-ghent.json index 309201ba..d316bfd1 100644 --- a/test/parsedQueries/sparql/artists-ghent.json +++ b/test/parsedQueries/sparql/artists-ghent.json @@ -165,4 +165,4 @@ "dbpedia": "http://dbpedia.org/resource/", "dbpedia-owl": "http://dbpedia.org/ontology/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/artists-york.json b/test/parsedQueries/sparql/artists-york.json index a3b2f242..c5673464 100644 --- a/test/parsedQueries/sparql/artists-york.json +++ b/test/parsedQueries/sparql/artists-york.json @@ -68,4 +68,4 @@ "prefixes": { "dbpedia-owl": "http://dbpedia.org/ontology/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/ask-in-anonymous-node.json b/test/parsedQueries/sparql/ask-in-anonymous-node.json index 33ca72a8..48d63e85 100644 --- a/test/parsedQueries/sparql/ask-in-anonymous-node.json +++ b/test/parsedQueries/sparql/ask-in-anonymous-node.json @@ -24,4 +24,4 @@ "type": "query", "base": "ex:", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/blanks.json b/test/parsedQueries/sparql/blanks.json index d9ad8f49..4cd24554 100644 --- a/test/parsedQueries/sparql/blanks.json +++ b/test/parsedQueries/sparql/blanks.json @@ -376,4 +376,4 @@ "type": "query", "base": "ex:", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm1.json b/test/parsedQueries/sparql/bsbm1.json index 3fd5f1b8..0a07128f 100644 --- a/test/parsedQueries/sparql/bsbm1.json +++ b/test/parsedQueries/sparql/bsbm1.json @@ -126,4 +126,4 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm10.json b/test/parsedQueries/sparql/bsbm10.json index 855e121f..f4ea4215 100644 --- a/test/parsedQueries/sparql/bsbm10.json +++ b/test/parsedQueries/sparql/bsbm10.json @@ -196,4 +196,4 @@ "xsd": "http://www.w3.org/2001/XMLSchema#", "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm3.json b/test/parsedQueries/sparql/bsbm3.json index 1068fc10..f2f7716a 100644 --- a/test/parsedQueries/sparql/bsbm3.json +++ b/test/parsedQueries/sparql/bsbm3.json @@ -104,4 +104,4 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm4.json b/test/parsedQueries/sparql/bsbm4.json index 2fb2052c..c05f4b08 100644 --- a/test/parsedQueries/sparql/bsbm4.json +++ b/test/parsedQueries/sparql/bsbm4.json @@ -271,4 +271,4 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm5.json b/test/parsedQueries/sparql/bsbm5.json index 03fcded1..a8cb70ae 100644 --- a/test/parsedQueries/sparql/bsbm5.json +++ b/test/parsedQueries/sparql/bsbm5.json @@ -292,4 +292,4 @@ "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "bsbm": "http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm8.json b/test/parsedQueries/sparql/bsbm8.json index 43f2a531..4eb0c4af 100644 --- a/test/parsedQueries/sparql/bsbm8.json +++ b/test/parsedQueries/sparql/bsbm8.json @@ -275,4 +275,4 @@ "rev": "http://purl.org/stuff/rev#", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/bsbm9.json b/test/parsedQueries/sparql/bsbm9.json index ef86d3d5..07e46bd0 100644 --- a/test/parsedQueries/sparql/bsbm9.json +++ b/test/parsedQueries/sparql/bsbm9.json @@ -31,4 +31,4 @@ "prefixes": { "rev": "http://purl.org/stuff/rev#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/clear-drop.json b/test/parsedQueries/sparql/clear-drop.json index 0c1e5ded..5b4202cc 100644 --- a/test/parsedQueries/sparql/clear-drop.json +++ b/test/parsedQueries/sparql/clear-drop.json @@ -111,4 +111,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/compact-bgp.json b/test/parsedQueries/sparql/compact-bgp.json index 258710e2..9f0423de 100644 --- a/test/parsedQueries/sparql/compact-bgp.json +++ b/test/parsedQueries/sparql/compact-bgp.json @@ -183,4 +183,4 @@ "type": "query", "base": "ex:", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/construct-extra-semicolon.json b/test/parsedQueries/sparql/construct-extra-semicolon.json index d0f18aa1..c5deed9e 100644 --- a/test/parsedQueries/sparql/construct-extra-semicolon.json +++ b/test/parsedQueries/sparql/construct-extra-semicolon.json @@ -72,4 +72,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/construct-multi-extra-semicolons.json b/test/parsedQueries/sparql/construct-multi-extra-semicolons.json index d0f18aa1..c5deed9e 100644 --- a/test/parsedQueries/sparql/construct-multi-extra-semicolons.json +++ b/test/parsedQueries/sparql/construct-multi-extra-semicolons.json @@ -72,4 +72,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/construct-without-template.json b/test/parsedQueries/sparql/construct-without-template.json index 3fef421b..656e60f6 100644 --- a/test/parsedQueries/sparql/construct-without-template.json +++ b/test/parsedQueries/sparql/construct-without-template.json @@ -39,4 +39,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/construct.json b/test/parsedQueries/sparql/construct.json index 3fef421b..656e60f6 100644 --- a/test/parsedQueries/sparql/construct.json +++ b/test/parsedQueries/sparql/construct.json @@ -39,4 +39,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/empty-values.json b/test/parsedQueries/sparql/empty-values.json index 72888714..14ee3c01 100644 --- a/test/parsedQueries/sparql/empty-values.json +++ b/test/parsedQueries/sparql/empty-values.json @@ -31,4 +31,4 @@ {} ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/group-concat.json b/test/parsedQueries/sparql/group-concat.json index 7191b8c7..c8df12be 100644 --- a/test/parsedQueries/sparql/group-concat.json +++ b/test/parsedQueries/sparql/group-concat.json @@ -69,4 +69,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/group-variable.json b/test/parsedQueries/sparql/group-variable.json index 5e453926..5b1cd546 100644 --- a/test/parsedQueries/sparql/group-variable.json +++ b/test/parsedQueries/sparql/group-variable.json @@ -90,4 +90,4 @@ "prefixes": { "": "http://www.example.org/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/in.json b/test/parsedQueries/sparql/in.json index 8810d5d7..4316a283 100644 --- a/test/parsedQueries/sparql/in.json +++ b/test/parsedQueries/sparql/in.json @@ -112,4 +112,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/inverse-paths-anonymous-node.json b/test/parsedQueries/sparql/inverse-paths-anonymous-node.json index cdb70e1d..0ccacc1a 100644 --- a/test/parsedQueries/sparql/inverse-paths-anonymous-node.json +++ b/test/parsedQueries/sparql/inverse-paths-anonymous-node.json @@ -85,4 +85,4 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } } - \ No newline at end of file + diff --git a/test/parsedQueries/sparql/lists.json b/test/parsedQueries/sparql/lists.json index df832068..c4170851 100644 --- a/test/parsedQueries/sparql/lists.json +++ b/test/parsedQueries/sparql/lists.json @@ -838,4 +838,4 @@ "type": "query", "base": "ex:", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/load-into.json b/test/parsedQueries/sparql/load-into.json index 4a711353..c5dd45b3 100644 --- a/test/parsedQueries/sparql/load-into.json +++ b/test/parsedQueries/sparql/load-into.json @@ -15,4 +15,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/load.json b/test/parsedQueries/sparql/load.json index d65494ff..28e587c1 100644 --- a/test/parsedQueries/sparql/load.json +++ b/test/parsedQueries/sparql/load.json @@ -11,4 +11,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/multiline.json b/test/parsedQueries/sparql/multiline.json index 49e2c374..cbbfdbb0 100644 --- a/test/parsedQueries/sparql/multiline.json +++ b/test/parsedQueries/sparql/multiline.json @@ -34,4 +34,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/negate-and.json b/test/parsedQueries/sparql/negate-and.json index 77bdb4a3..a2012030 100644 --- a/test/parsedQueries/sparql/negate-and.json +++ b/test/parsedQueries/sparql/negate-and.json @@ -95,4 +95,4 @@ "prefixes": { "owl": "http://www.w3.org/2002/07/owl#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/nested-path.json b/test/parsedQueries/sparql/nested-path.json index e1922b25..4cc7fd17 100644 --- a/test/parsedQueries/sparql/nested-path.json +++ b/test/parsedQueries/sparql/nested-path.json @@ -51,4 +51,4 @@ "prefixes": { "": "http://example.org/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/optional-subquery.json b/test/parsedQueries/sparql/optional-subquery.json index b1dc2c7a..f18dedf7 100644 --- a/test/parsedQueries/sparql/optional-subquery.json +++ b/test/parsedQueries/sparql/optional-subquery.json @@ -48,4 +48,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/or.json b/test/parsedQueries/sparql/or.json index 0e590159..3ece7e92 100644 --- a/test/parsedQueries/sparql/or.json +++ b/test/parsedQueries/sparql/or.json @@ -319,4 +319,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/order-operator.json b/test/parsedQueries/sparql/order-operator.json index bbaaa212..aa6b184e 100644 --- a/test/parsedQueries/sparql/order-operator.json +++ b/test/parsedQueries/sparql/order-operator.json @@ -53,4 +53,4 @@ "prefixes": { "": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sequence-paths-in-anonymous-node.json b/test/parsedQueries/sparql/sequence-paths-in-anonymous-node.json index 6adbd9fa..423b295b 100644 --- a/test/parsedQueries/sparql/sequence-paths-in-anonymous-node.json +++ b/test/parsedQueries/sparql/sequence-paths-in-anonymous-node.json @@ -69,4 +69,4 @@ "": "https://ex.com/" } } - \ No newline at end of file + diff --git a/test/parsedQueries/sparql/sparql-10-1a.json b/test/parsedQueries/sparql/sparql-10-1a.json index a22de990..a86a066a 100644 --- a/test/parsedQueries/sparql/sparql-10-1a.json +++ b/test/parsedQueries/sparql/sparql-10-1a.json @@ -127,4 +127,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-10-1b.json b/test/parsedQueries/sparql/sparql-10-1b.json index aa6be45b..b0a6d497 100644 --- a/test/parsedQueries/sparql/sparql-10-1b.json +++ b/test/parsedQueries/sparql/sparql-10-1b.json @@ -137,4 +137,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-10-2-2a.json b/test/parsedQueries/sparql/sparql-10-2-2a.json index 0177d2d5..0cf25a9a 100644 --- a/test/parsedQueries/sparql/sparql-10-2-2a.json +++ b/test/parsedQueries/sparql/sparql-10-2-2a.json @@ -72,4 +72,4 @@ "": "http://example.org/book/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-10-2-2b.json b/test/parsedQueries/sparql/sparql-10-2-2b.json index 7be3ca80..1fc8588c 100644 --- a/test/parsedQueries/sparql/sparql-10-2-2b.json +++ b/test/parsedQueries/sparql/sparql-10-2-2b.json @@ -77,4 +77,4 @@ "": "http://example.org/book/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-10-2-2c.json b/test/parsedQueries/sparql/sparql-10-2-2c.json index e229c626..841678b0 100644 --- a/test/parsedQueries/sparql/sparql-10-2-2c.json +++ b/test/parsedQueries/sparql/sparql-10-2-2c.json @@ -74,4 +74,4 @@ "": "http://example.org/book/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-11-1.json b/test/parsedQueries/sparql/sparql-11-1.json index a7e86d65..6b6261a2 100644 --- a/test/parsedQueries/sparql/sparql-11-1.json +++ b/test/parsedQueries/sparql/sparql-11-1.json @@ -104,4 +104,4 @@ "prefixes": { "": "http://books.example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-11-2.json b/test/parsedQueries/sparql/sparql-11-2.json index 60dc917e..36221655 100644 --- a/test/parsedQueries/sparql/sparql-11-2.json +++ b/test/parsedQueries/sparql/sparql-11-2.json @@ -64,4 +64,4 @@ "prefixes": { "": "http://data.example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-11-3.json b/test/parsedQueries/sparql/sparql-11-3.json index 4be6a45c..54e54b4a 100644 --- a/test/parsedQueries/sparql/sparql-11-3.json +++ b/test/parsedQueries/sparql/sparql-11-3.json @@ -76,4 +76,4 @@ "prefixes": { "": "http://data.example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-11-4.json b/test/parsedQueries/sparql/sparql-11-4.json index 0611277b..afc46452 100644 --- a/test/parsedQueries/sparql/sparql-11-4.json +++ b/test/parsedQueries/sparql/sparql-11-4.json @@ -95,4 +95,4 @@ "prefixes": { "": "http://example.com/data/#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-11-5.json b/test/parsedQueries/sparql/sparql-11-5.json index d582ff82..6322fa9c 100644 --- a/test/parsedQueries/sparql/sparql-11-5.json +++ b/test/parsedQueries/sparql/sparql-11-5.json @@ -99,4 +99,4 @@ "prefixes": { "": "http://example.com/data/#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-12.json b/test/parsedQueries/sparql/sparql-12.json index 85dc1f3b..eb3af742 100644 --- a/test/parsedQueries/sparql/sparql-12.json +++ b/test/parsedQueries/sparql/sparql-12.json @@ -94,4 +94,4 @@ "prefixes": { "": "http://people.example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-2-1.json b/test/parsedQueries/sparql/sparql-13-2-1.json index 2182989d..c0502c5c 100644 --- a/test/parsedQueries/sparql/sparql-13-2-1.json +++ b/test/parsedQueries/sparql/sparql-13-2-1.json @@ -40,4 +40,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-2-2.json b/test/parsedQueries/sparql/sparql-13-2-2.json index 076d84df..80f37c8f 100644 --- a/test/parsedQueries/sparql/sparql-13-2-2.json +++ b/test/parsedQueries/sparql/sparql-13-2-2.json @@ -44,4 +44,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-2-3.json b/test/parsedQueries/sparql/sparql-13-2-3.json index 13436f15..4c1bb48a 100644 --- a/test/parsedQueries/sparql/sparql-13-2-3.json +++ b/test/parsedQueries/sparql/sparql-13-2-3.json @@ -86,4 +86,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-3-1.json b/test/parsedQueries/sparql/sparql-13-3-1.json index 2169f61d..acb3d519 100644 --- a/test/parsedQueries/sparql/sparql-13-3-1.json +++ b/test/parsedQueries/sparql/sparql-13-3-1.json @@ -71,4 +71,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-3-2.json b/test/parsedQueries/sparql/sparql-13-3-2.json index c6db3c73..905266eb 100644 --- a/test/parsedQueries/sparql/sparql-13-3-2.json +++ b/test/parsedQueries/sparql/sparql-13-3-2.json @@ -68,4 +68,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "data": "http://example.org/foaf/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-3-3.json b/test/parsedQueries/sparql/sparql-13-3-3.json index 1695651c..ad57ef6e 100644 --- a/test/parsedQueries/sparql/sparql-13-3-3.json +++ b/test/parsedQueries/sparql/sparql-13-3-3.json @@ -161,4 +161,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-13-3-4.json b/test/parsedQueries/sparql/sparql-13-3-4.json index e69b90f7..d0f0ebe2 100644 --- a/test/parsedQueries/sparql/sparql-13-3-4.json +++ b/test/parsedQueries/sparql/sparql-13-3-4.json @@ -96,4 +96,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-1a.json b/test/parsedQueries/sparql/sparql-15-1a.json index 6a5b13d8..773e2b74 100644 --- a/test/parsedQueries/sparql/sparql-15-1a.json +++ b/test/parsedQueries/sparql/sparql-15-1a.json @@ -39,4 +39,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-1b.json b/test/parsedQueries/sparql/sparql-15-1b.json index 6d14a528..0b3addcc 100644 --- a/test/parsedQueries/sparql/sparql-15-1b.json +++ b/test/parsedQueries/sparql/sparql-15-1b.json @@ -55,4 +55,4 @@ "": "http://example.org/ns#", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-1c.json b/test/parsedQueries/sparql/sparql-15-1c.json index bbf0ad3f..30c16eba 100644 --- a/test/parsedQueries/sparql/sparql-15-1c.json +++ b/test/parsedQueries/sparql/sparql-15-1c.json @@ -61,4 +61,4 @@ "": "http://example.org/ns#", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-2.json b/test/parsedQueries/sparql/sparql-15-2.json index 278e6246..502d6626 100644 --- a/test/parsedQueries/sparql/sparql-15-2.json +++ b/test/parsedQueries/sparql/sparql-15-2.json @@ -31,4 +31,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-3-1.json b/test/parsedQueries/sparql/sparql-15-3-1.json index 579055da..cce864ff 100644 --- a/test/parsedQueries/sparql/sparql-15-3-1.json +++ b/test/parsedQueries/sparql/sparql-15-3-1.json @@ -32,4 +32,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-3-2.json b/test/parsedQueries/sparql/sparql-15-3-2.json index f89f7e66..3427077f 100644 --- a/test/parsedQueries/sparql/sparql-15-3-2.json +++ b/test/parsedQueries/sparql/sparql-15-3-2.json @@ -32,4 +32,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-3.json b/test/parsedQueries/sparql/sparql-15-3.json index 278e6246..502d6626 100644 --- a/test/parsedQueries/sparql/sparql-15-3.json +++ b/test/parsedQueries/sparql/sparql-15-3.json @@ -31,4 +31,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-4.json b/test/parsedQueries/sparql/sparql-15-4.json index 8fb1a768..3cdfa376 100644 --- a/test/parsedQueries/sparql/sparql-15-4.json +++ b/test/parsedQueries/sparql/sparql-15-4.json @@ -41,4 +41,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-15-5.json b/test/parsedQueries/sparql/sparql-15-5.json index aa088af2..89660215 100644 --- a/test/parsedQueries/sparql/sparql-15-5.json +++ b/test/parsedQueries/sparql/sparql-15-5.json @@ -32,4 +32,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-1-1.json b/test/parsedQueries/sparql/sparql-16-1-1.json index c29114d9..f7709757 100644 --- a/test/parsedQueries/sparql/sparql-16-1-1.json +++ b/test/parsedQueries/sparql/sparql-16-1-1.json @@ -91,4 +91,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-1-2b.json b/test/parsedQueries/sparql/sparql-16-1-2b.json index ca722389..9fe0f4c6 100644 --- a/test/parsedQueries/sparql/sparql-16-1-2b.json +++ b/test/parsedQueries/sparql/sparql-16-1-2b.json @@ -105,4 +105,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-2-1.json b/test/parsedQueries/sparql/sparql-16-2-1.json index 39bef203..1672855f 100644 --- a/test/parsedQueries/sparql/sparql-16-2-1.json +++ b/test/parsedQueries/sparql/sparql-16-2-1.json @@ -137,4 +137,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "vcard": "http://www.w3.org/2001/vcard-rdf/3.0#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-2-3.json b/test/parsedQueries/sparql/sparql-16-2-3.json index f5b5fe17..56c023e0 100644 --- a/test/parsedQueries/sparql/sparql-16-2-3.json +++ b/test/parsedQueries/sparql/sparql-16-2-3.json @@ -66,4 +66,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "site": "http://example.org/stats#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-2-4.json b/test/parsedQueries/sparql/sparql-16-2-4.json index 6132bbdd..d63306e9 100644 --- a/test/parsedQueries/sparql/sparql-16-2-4.json +++ b/test/parsedQueries/sparql/sparql-16-2-4.json @@ -41,4 +41,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-2.json b/test/parsedQueries/sparql/sparql-16-2.json index e4f88d87..765f552c 100644 --- a/test/parsedQueries/sparql/sparql-16-2.json +++ b/test/parsedQueries/sparql/sparql-16-2.json @@ -42,4 +42,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "vcard": "http://www.w3.org/2001/vcard-rdf/3.0#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-3.json b/test/parsedQueries/sparql/sparql-16-3.json index 4c4103bb..326fad6e 100644 --- a/test/parsedQueries/sparql/sparql-16-3.json +++ b/test/parsedQueries/sparql/sparql-16-3.json @@ -44,4 +44,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-4-1.json b/test/parsedQueries/sparql/sparql-16-4-1.json index 6489d068..2eb878c9 100644 --- a/test/parsedQueries/sparql/sparql-16-4-1.json +++ b/test/parsedQueries/sparql/sparql-16-4-1.json @@ -8,4 +8,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-4-2a.json b/test/parsedQueries/sparql/sparql-16-4-2a.json index 38f13fca..c3c5d316 100644 --- a/test/parsedQueries/sparql/sparql-16-4-2a.json +++ b/test/parsedQueries/sparql/sparql-16-4-2a.json @@ -31,4 +31,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-4-2b.json b/test/parsedQueries/sparql/sparql-16-4-2b.json index 2894ba6d..fe1a7b23 100644 --- a/test/parsedQueries/sparql/sparql-16-4-2b.json +++ b/test/parsedQueries/sparql/sparql-16-4-2b.json @@ -36,4 +36,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-4-2c.json b/test/parsedQueries/sparql/sparql-16-4-2c.json index 98e1e44d..940ee429 100644 --- a/test/parsedQueries/sparql/sparql-16-4-2c.json +++ b/test/parsedQueries/sparql/sparql-16-4-2c.json @@ -39,4 +39,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-16-4-3.json b/test/parsedQueries/sparql/sparql-16-4-3.json index 203d5c1b..e3206b01 100644 --- a/test/parsedQueries/sparql/sparql-16-4-3.json +++ b/test/parsedQueries/sparql/sparql-16-4-3.json @@ -36,4 +36,4 @@ "prefixes": { "ent": "http://org.example.com/employees#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-1-1a.json b/test/parsedQueries/sparql/sparql-17-4-1-1a.json index 1f6c05a8..a5f4546b 100644 --- a/test/parsedQueries/sparql/sparql-17-4-1-1a.json +++ b/test/parsedQueries/sparql/sparql-17-4-1-1a.json @@ -70,4 +70,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-1-1b.json b/test/parsedQueries/sparql/sparql-17-4-1-1b.json index 085b51f6..fc5bf1ba 100644 --- a/test/parsedQueries/sparql/sparql-17-4-1-1b.json +++ b/test/parsedQueries/sparql/sparql-17-4-1-1b.json @@ -75,4 +75,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-1-7a.json b/test/parsedQueries/sparql/sparql-17-4-1-7a.json index 9eb72c86..3957404a 100644 --- a/test/parsedQueries/sparql/sparql-17-4-1-7a.json +++ b/test/parsedQueries/sparql/sparql-17-4-1-7a.json @@ -114,4 +114,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-1-7b.json b/test/parsedQueries/sparql/sparql-17-4-1-7b.json index 30434840..5dc15f8a 100644 --- a/test/parsedQueries/sparql/sparql-17-4-1-7b.json +++ b/test/parsedQueries/sparql/sparql-17-4-1-7b.json @@ -79,4 +79,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-1-8a.json b/test/parsedQueries/sparql/sparql-17-4-1-8a.json index daf6f776..4e48beb8 100644 --- a/test/parsedQueries/sparql/sparql-17-4-1-8a.json +++ b/test/parsedQueries/sparql/sparql-17-4-1-8a.json @@ -120,4 +120,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-1-8b.json b/test/parsedQueries/sparql/sparql-17-4-1-8b.json index 6e6ba492..fc525e55 100644 --- a/test/parsedQueries/sparql/sparql-17-4-1-8b.json +++ b/test/parsedQueries/sparql/sparql-17-4-1-8b.json @@ -149,4 +149,4 @@ "": "http://example.org/WMterms#", "t": "http://example.org/types#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-2-1.json b/test/parsedQueries/sparql/sparql-17-4-2-1.json index 69bff87a..1dc50c19 100644 --- a/test/parsedQueries/sparql/sparql-17-4-2-1.json +++ b/test/parsedQueries/sparql/sparql-17-4-2-1.json @@ -62,4 +62,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-2-2.json b/test/parsedQueries/sparql/sparql-17-4-2-2.json index df791a1c..d699c6ca 100644 --- a/test/parsedQueries/sparql/sparql-17-4-2-2.json +++ b/test/parsedQueries/sparql/sparql-17-4-2-2.json @@ -102,4 +102,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-2-3.json b/test/parsedQueries/sparql/sparql-17-4-2-3.json index 2cef94f5..85b35299 100644 --- a/test/parsedQueries/sparql/sparql-17-4-2-3.json +++ b/test/parsedQueries/sparql/sparql-17-4-2-3.json @@ -62,4 +62,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-2-5.json b/test/parsedQueries/sparql/sparql-17-4-2-5.json index bd10caaa..d8907c26 100644 --- a/test/parsedQueries/sparql/sparql-17-4-2-5.json +++ b/test/parsedQueries/sparql/sparql-17-4-2-5.json @@ -77,4 +77,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-2-6.json b/test/parsedQueries/sparql/sparql-17-4-2-6.json index 37c4615a..8b1fe5d5 100644 --- a/test/parsedQueries/sparql/sparql-17-4-2-6.json +++ b/test/parsedQueries/sparql/sparql-17-4-2-6.json @@ -77,4 +77,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-2-7.json b/test/parsedQueries/sparql/sparql-17-4-2-7.json index cae05925..767dc209 100644 --- a/test/parsedQueries/sparql/sparql-17-4-2-7.json +++ b/test/parsedQueries/sparql/sparql-17-4-2-7.json @@ -74,4 +74,4 @@ "xsd": "http://www.w3.org/2001/XMLSchema#", "eg": "http://biometrics.example/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-3-13a.json b/test/parsedQueries/sparql/sparql-17-4-3-13a.json index 42596bad..61148d36 100644 --- a/test/parsedQueries/sparql/sparql-17-4-3-13a.json +++ b/test/parsedQueries/sparql/sparql-17-4-3-13a.json @@ -78,4 +78,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-3-13b.json b/test/parsedQueries/sparql/sparql-17-4-3-13b.json index 271512a8..c6af7d23 100644 --- a/test/parsedQueries/sparql/sparql-17-4-3-13b.json +++ b/test/parsedQueries/sparql/sparql-17-4-3-13b.json @@ -59,4 +59,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-4-3-14.json b/test/parsedQueries/sparql/sparql-17-4-3-14.json index 626434e1..9bfb4ac2 100644 --- a/test/parsedQueries/sparql/sparql-17-4-3-14.json +++ b/test/parsedQueries/sparql/sparql-17-4-3-14.json @@ -62,4 +62,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-6a.json b/test/parsedQueries/sparql/sparql-17-6a.json index db6703c9..16acc9e3 100644 --- a/test/parsedQueries/sparql/sparql-17-6a.json +++ b/test/parsedQueries/sparql/sparql-17-6a.json @@ -67,4 +67,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "func": "http://example.org/functions#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17-6b.json b/test/parsedQueries/sparql/sparql-17-6b.json index 5464ce5a..645d1b1e 100644 --- a/test/parsedQueries/sparql/sparql-17-6b.json +++ b/test/parsedQueries/sparql/sparql-17-6b.json @@ -150,4 +150,4 @@ "prefixes": { "aGeo": "http://example.org/geo#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-17.json b/test/parsedQueries/sparql/sparql-17.json index 43f956bc..d058572b 100644 --- a/test/parsedQueries/sparql/sparql-17.json +++ b/test/parsedQueries/sparql/sparql-17.json @@ -69,4 +69,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-4-2a.json b/test/parsedQueries/sparql/sparql-4-2a.json index d097aaa2..cfe81c14 100644 --- a/test/parsedQueries/sparql/sparql-4-2a.json +++ b/test/parsedQueries/sparql/sparql-4-2a.json @@ -31,4 +31,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-4-2b.json b/test/parsedQueries/sparql/sparql-4-2b.json index c57cefde..3808d6ce 100644 --- a/test/parsedQueries/sparql/sparql-4-2b.json +++ b/test/parsedQueries/sparql/sparql-4-2b.json @@ -32,4 +32,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "": "http://example.org/book/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-4-2c.json b/test/parsedQueries/sparql/sparql-4-2c.json index 977bddea..f53abb42 100644 --- a/test/parsedQueries/sparql/sparql-4-2c.json +++ b/test/parsedQueries/sparql/sparql-4-2c.json @@ -32,4 +32,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2-2a.json b/test/parsedQueries/sparql/sparql-5-2-2a.json index e2c8b9d8..61075e69 100644 --- a/test/parsedQueries/sparql/sparql-5-2-2a.json +++ b/test/parsedQueries/sparql/sparql-5-2-2a.json @@ -71,4 +71,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2-2b.json b/test/parsedQueries/sparql/sparql-5-2-2b.json index 591c88f0..cc3e5d06 100644 --- a/test/parsedQueries/sparql/sparql-5-2-2b.json +++ b/test/parsedQueries/sparql/sparql-5-2-2b.json @@ -71,4 +71,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2-2c.json b/test/parsedQueries/sparql/sparql-5-2-2c.json index 53a2aa65..62a71309 100644 --- a/test/parsedQueries/sparql/sparql-5-2-2c.json +++ b/test/parsedQueries/sparql/sparql-5-2-2c.json @@ -76,4 +76,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2-3a.json b/test/parsedQueries/sparql/sparql-5-2-3a.json index 2e699ec2..e0afc45e 100644 --- a/test/parsedQueries/sparql/sparql-5-2-3a.json +++ b/test/parsedQueries/sparql/sparql-5-2-3a.json @@ -49,4 +49,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2-3b.json b/test/parsedQueries/sparql/sparql-5-2-3b.json index 53a2aa65..62a71309 100644 --- a/test/parsedQueries/sparql/sparql-5-2-3b.json +++ b/test/parsedQueries/sparql/sparql-5-2-3b.json @@ -76,4 +76,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2-3c.json b/test/parsedQueries/sparql/sparql-5-2-3c.json index c5eb20e2..0ab1af63 100644 --- a/test/parsedQueries/sparql/sparql-5-2-3c.json +++ b/test/parsedQueries/sparql/sparql-5-2-3c.json @@ -58,4 +58,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2a.json b/test/parsedQueries/sparql/sparql-5-2a.json index 2e699ec2..e0afc45e 100644 --- a/test/parsedQueries/sparql/sparql-5-2a.json +++ b/test/parsedQueries/sparql/sparql-5-2a.json @@ -49,4 +49,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-5-2b.json b/test/parsedQueries/sparql/sparql-5-2b.json index 295a246e..2a3d9e78 100644 --- a/test/parsedQueries/sparql/sparql-5-2b.json +++ b/test/parsedQueries/sparql/sparql-5-2b.json @@ -64,4 +64,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-6-1.json b/test/parsedQueries/sparql/sparql-6-1.json index 28a6e623..153421cf 100644 --- a/test/parsedQueries/sparql/sparql-6-1.json +++ b/test/parsedQueries/sparql/sparql-6-1.json @@ -59,4 +59,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-6-2.json b/test/parsedQueries/sparql/sparql-6-2.json index 826d4a4a..2f77afa1 100644 --- a/test/parsedQueries/sparql/sparql-6-2.json +++ b/test/parsedQueries/sparql/sparql-6-2.json @@ -82,4 +82,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-6-3.json b/test/parsedQueries/sparql/sparql-6-3.json index b7918f5c..cad0c917 100644 --- a/test/parsedQueries/sparql/sparql-6-3.json +++ b/test/parsedQueries/sparql/sparql-6-3.json @@ -87,4 +87,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-7a.json b/test/parsedQueries/sparql/sparql-7a.json index 08051eab..1ccb45bd 100644 --- a/test/parsedQueries/sparql/sparql-7a.json +++ b/test/parsedQueries/sparql/sparql-7a.json @@ -56,4 +56,4 @@ "dc10": "http://purl.org/dc/elements/1.0/", "dc11": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-7b.json b/test/parsedQueries/sparql/sparql-7b.json index d98a76a2..cdae9bbe 100644 --- a/test/parsedQueries/sparql/sparql-7b.json +++ b/test/parsedQueries/sparql/sparql-7b.json @@ -60,4 +60,4 @@ "dc10": "http://purl.org/dc/elements/1.0/", "dc11": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-7c.json b/test/parsedQueries/sparql/sparql-7c.json index 1e371b37..e23b76c0 100644 --- a/test/parsedQueries/sparql/sparql-7c.json +++ b/test/parsedQueries/sparql/sparql-7c.json @@ -88,4 +88,4 @@ "dc10": "http://purl.org/dc/elements/1.0/", "dc11": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-1-1.json b/test/parsedQueries/sparql/sparql-8-1-1.json index 31729593..7d8c6f98 100644 --- a/test/parsedQueries/sparql/sparql-8-1-1.json +++ b/test/parsedQueries/sparql/sparql-8-1-1.json @@ -60,4 +60,4 @@ "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-1-2.json b/test/parsedQueries/sparql/sparql-8-1-2.json index f52378ff..7808ab89 100644 --- a/test/parsedQueries/sparql/sparql-8-1-2.json +++ b/test/parsedQueries/sparql/sparql-8-1-2.json @@ -60,4 +60,4 @@ "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-2.json b/test/parsedQueries/sparql/sparql-8-2.json index f26f83fe..7f594524 100644 --- a/test/parsedQueries/sparql/sparql-8-2.json +++ b/test/parsedQueries/sparql/sparql-8-2.json @@ -62,4 +62,4 @@ "": "http://example/", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-3-1a.json b/test/parsedQueries/sparql/sparql-8-3-1a.json index 4eb236f2..af7bd200 100644 --- a/test/parsedQueries/sparql/sparql-8-3-1a.json +++ b/test/parsedQueries/sparql/sparql-8-3-1a.json @@ -56,4 +56,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-3-1b.json b/test/parsedQueries/sparql/sparql-8-3-1b.json index 927a8ed7..56cb1ab1 100644 --- a/test/parsedQueries/sparql/sparql-8-3-1b.json +++ b/test/parsedQueries/sparql/sparql-8-3-1b.json @@ -52,4 +52,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-3-2a.json b/test/parsedQueries/sparql/sparql-8-3-2a.json index a06a36fb..7c740181 100644 --- a/test/parsedQueries/sparql/sparql-8-3-2a.json +++ b/test/parsedQueries/sparql/sparql-8-3-2a.json @@ -58,4 +58,4 @@ "prefixes": { "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-3-2b.json b/test/parsedQueries/sparql/sparql-8-3-2b.json index e57e9c57..2f4c3a3d 100644 --- a/test/parsedQueries/sparql/sparql-8-3-2b.json +++ b/test/parsedQueries/sparql/sparql-8-3-2b.json @@ -54,4 +54,4 @@ "prefixes": { "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-3-3a.json b/test/parsedQueries/sparql/sparql-8-3-3a.json index 74a0c0c0..fa37da8d 100644 --- a/test/parsedQueries/sparql/sparql-8-3-3a.json +++ b/test/parsedQueries/sparql/sparql-8-3-3a.json @@ -80,4 +80,4 @@ "prefixes": { "": "http://example.com/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-8-3-3b.json b/test/parsedQueries/sparql/sparql-8-3-3b.json index c7aab301..482642f6 100644 --- a/test/parsedQueries/sparql/sparql-8-3-3b.json +++ b/test/parsedQueries/sparql/sparql-8-3-3b.json @@ -71,4 +71,4 @@ "prefixes": { "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2a.json b/test/parsedQueries/sparql/sparql-9-2a.json index 84e5a61d..f78b55be 100644 --- a/test/parsedQueries/sparql/sparql-9-2a.json +++ b/test/parsedQueries/sparql/sparql-9-2a.json @@ -42,4 +42,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2b.json b/test/parsedQueries/sparql/sparql-9-2b.json index 84e5a61d..f78b55be 100644 --- a/test/parsedQueries/sparql/sparql-9-2b.json +++ b/test/parsedQueries/sparql/sparql-9-2b.json @@ -42,4 +42,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2c.json b/test/parsedQueries/sparql/sparql-9-2c.json index 6b12309f..8e5f3b7b 100644 --- a/test/parsedQueries/sparql/sparql-9-2c.json +++ b/test/parsedQueries/sparql/sparql-9-2c.json @@ -54,4 +54,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2d.json b/test/parsedQueries/sparql/sparql-9-2d.json index 9a39a6f7..733d0842 100644 --- a/test/parsedQueries/sparql/sparql-9-2d.json +++ b/test/parsedQueries/sparql/sparql-9-2d.json @@ -58,4 +58,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2e.json b/test/parsedQueries/sparql/sparql-9-2e.json index 00349140..38a97c5e 100644 --- a/test/parsedQueries/sparql/sparql-9-2e.json +++ b/test/parsedQueries/sparql/sparql-9-2e.json @@ -77,4 +77,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2f.json b/test/parsedQueries/sparql/sparql-9-2f.json index 0cc5749f..954308a6 100644 --- a/test/parsedQueries/sparql/sparql-9-2f.json +++ b/test/parsedQueries/sparql/sparql-9-2f.json @@ -77,4 +77,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2g.json b/test/parsedQueries/sparql/sparql-9-2g.json index 7b461b9a..c7f07b23 100644 --- a/test/parsedQueries/sparql/sparql-9-2g.json +++ b/test/parsedQueries/sparql/sparql-9-2g.json @@ -90,4 +90,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2h.json b/test/parsedQueries/sparql/sparql-9-2h.json index c90a6c99..b79ed36f 100644 --- a/test/parsedQueries/sparql/sparql-9-2h.json +++ b/test/parsedQueries/sparql/sparql-9-2h.json @@ -30,4 +30,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2i.json b/test/parsedQueries/sparql/sparql-9-2i.json index b96efbdf..7af90ace 100644 --- a/test/parsedQueries/sparql/sparql-9-2i.json +++ b/test/parsedQueries/sparql/sparql-9-2i.json @@ -36,4 +36,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2j.json b/test/parsedQueries/sparql/sparql-9-2j.json index 9642892e..570097fd 100644 --- a/test/parsedQueries/sparql/sparql-9-2j.json +++ b/test/parsedQueries/sparql/sparql-9-2j.json @@ -63,4 +63,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2k.json b/test/parsedQueries/sparql/sparql-9-2k.json index c49cd8b2..d8759696 100644 --- a/test/parsedQueries/sparql/sparql-9-2k.json +++ b/test/parsedQueries/sparql/sparql-9-2k.json @@ -61,4 +61,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2l.json b/test/parsedQueries/sparql/sparql-9-2l.json index df915a51..6329ad34 100644 --- a/test/parsedQueries/sparql/sparql-9-2l.json +++ b/test/parsedQueries/sparql/sparql-9-2l.json @@ -60,4 +60,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2m.json b/test/parsedQueries/sparql/sparql-9-2m.json index dd77a1f5..ea3a849b 100644 --- a/test/parsedQueries/sparql/sparql-9-2m.json +++ b/test/parsedQueries/sparql/sparql-9-2m.json @@ -47,4 +47,4 @@ "prefixes": { "ex": "http://example.org/#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2n.json b/test/parsedQueries/sparql/sparql-9-2n.json index 7da3f343..5dd32d6b 100644 --- a/test/parsedQueries/sparql/sparql-9-2n.json +++ b/test/parsedQueries/sparql/sparql-9-2n.json @@ -47,4 +47,4 @@ "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2o.json b/test/parsedQueries/sparql/sparql-9-2o.json index c6b7d8a6..693ce84c 100644 --- a/test/parsedQueries/sparql/sparql-9-2o.json +++ b/test/parsedQueries/sparql/sparql-9-2o.json @@ -47,4 +47,4 @@ "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2p.json b/test/parsedQueries/sparql/sparql-9-2p.json index 25b16475..b3df0a1f 100644 --- a/test/parsedQueries/sparql/sparql-9-2p.json +++ b/test/parsedQueries/sparql/sparql-9-2p.json @@ -51,4 +51,4 @@ "": "http://example/", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2q.json b/test/parsedQueries/sparql/sparql-9-2q.json index 5e50701b..628e34cd 100644 --- a/test/parsedQueries/sparql/sparql-9-2q.json +++ b/test/parsedQueries/sparql/sparql-9-2q.json @@ -52,4 +52,4 @@ "prefixes": { "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-2r.json b/test/parsedQueries/sparql/sparql-9-2r.json index 3fbbcd0a..e2ca0e20 100644 --- a/test/parsedQueries/sparql/sparql-9-2r.json +++ b/test/parsedQueries/sparql/sparql-9-2r.json @@ -47,4 +47,4 @@ "": "http://example/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-3a.json b/test/parsedQueries/sparql/sparql-9-3a.json index bb75595c..5cc41f2d 100644 --- a/test/parsedQueries/sparql/sparql-9-3a.json +++ b/test/parsedQueries/sparql/sparql-9-3a.json @@ -40,4 +40,4 @@ "prefixes": { "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-3b.json b/test/parsedQueries/sparql/sparql-9-3b.json index bf4983c7..49ec549a 100644 --- a/test/parsedQueries/sparql/sparql-9-3b.json +++ b/test/parsedQueries/sparql/sparql-9-3b.json @@ -44,4 +44,4 @@ "prefixes": { "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-3c.json b/test/parsedQueries/sparql/sparql-9-3c.json index f736ab2b..ddaed93d 100644 --- a/test/parsedQueries/sparql/sparql-9-3c.json +++ b/test/parsedQueries/sparql/sparql-9-3c.json @@ -52,4 +52,4 @@ "prefixes": { "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-4a.json b/test/parsedQueries/sparql/sparql-9-4a.json index c2915099..20b6a596 100644 --- a/test/parsedQueries/sparql/sparql-9-4a.json +++ b/test/parsedQueries/sparql/sparql-9-4a.json @@ -52,4 +52,4 @@ "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-9-4b.json b/test/parsedQueries/sparql/sparql-9-4b.json index be195e40..c15ed213 100644 --- a/test/parsedQueries/sparql/sparql-9-4b.json +++ b/test/parsedQueries/sparql/sparql-9-4b.json @@ -38,4 +38,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "": "http://example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-1.json b/test/parsedQueries/sparql/sparql-fed-2-1.json index 6e40ba8b..be761ac8 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-1.json +++ b/test/parsedQueries/sparql/sparql-fed-2-1.json @@ -69,4 +69,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-2.json b/test/parsedQueries/sparql/sparql-fed-2-2.json index 0e1343a3..71d39426 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-2.json +++ b/test/parsedQueries/sparql/sparql-fed-2-2.json @@ -102,4 +102,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-3.json b/test/parsedQueries/sparql/sparql-fed-2-3.json index 4052dfcb..8c2b1765 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-3.json +++ b/test/parsedQueries/sparql/sparql-fed-2-3.json @@ -41,4 +41,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-4a.json b/test/parsedQueries/sparql/sparql-fed-2-4a.json index fff85311..d44bba56 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-4a.json +++ b/test/parsedQueries/sparql/sparql-fed-2-4a.json @@ -60,4 +60,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-4b.json b/test/parsedQueries/sparql/sparql-fed-2-4b.json index 5087de6c..687daf8b 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-4b.json +++ b/test/parsedQueries/sparql/sparql-fed-2-4b.json @@ -32,4 +32,4 @@ "": "http://example.org/", "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-4c.json b/test/parsedQueries/sparql/sparql-fed-2-4c.json index 665d711c..bdedbb54 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-4c.json +++ b/test/parsedQueries/sparql/sparql-fed-2-4c.json @@ -45,4 +45,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "": "http://example.org/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-2-4d.json b/test/parsedQueries/sparql/sparql-fed-2-4d.json index c8eb8dd5..552885fc 100644 --- a/test/parsedQueries/sparql/sparql-fed-2-4d.json +++ b/test/parsedQueries/sparql/sparql-fed-2-4d.json @@ -64,4 +64,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-fed-4.json b/test/parsedQueries/sparql/sparql-fed-4.json index c996b5fb..6aed4575 100644 --- a/test/parsedQueries/sparql/sparql-fed-4.json +++ b/test/parsedQueries/sparql/sparql-fed-4.json @@ -102,4 +102,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "doap": "http://usefulinc.com/ns/doap#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-modifiers-order.json b/test/parsedQueries/sparql/sparql-modifiers-order.json index 05d290d3..6f04e7e0 100644 --- a/test/parsedQueries/sparql/sparql-modifiers-order.json +++ b/test/parsedQueries/sparql/sparql-modifiers-order.json @@ -112,4 +112,4 @@ "prefixes": { "": "http://books.example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-1-1-1.json b/test/parsedQueries/sparql/sparql-update-1-1-1.json index d3fc9e19..2c61b7cc 100644 --- a/test/parsedQueries/sparql/sparql-update-1-1-1.json +++ b/test/parsedQueries/sparql/sparql-update-1-1-1.json @@ -36,4 +36,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-1a.json b/test/parsedQueries/sparql/sparql-update-3-1-1a.json index 3b9c4221..1ce3569f 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-1a.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-1a.json @@ -53,4 +53,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-1b.json b/test/parsedQueries/sparql/sparql-update-3-1-1b.json index 4b4d9443..04559d98 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-1b.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-1b.json @@ -39,4 +39,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "ns": "http://example.org/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-2a.json b/test/parsedQueries/sparql/sparql-update-3-1-2a.json index 0ca3cd9e..8186221f 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-2a.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-2a.json @@ -53,4 +53,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-2b.json b/test/parsedQueries/sparql/sparql-update-3-1-2b.json index e357f778..68b9b12f 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-2b.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-2b.json @@ -71,4 +71,4 @@ "prefixes": { "dc": "http://purl.org/dc/elements/1.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-1a.json b/test/parsedQueries/sparql/sparql-update-3-1-3-1a.json index 64ae0066..9b24f688 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-1a.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-1a.json @@ -93,4 +93,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-1b.json b/test/parsedQueries/sparql/sparql-update-3-1-3-1b.json index 6eb15092..bbb6d89a 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-1b.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-1b.json @@ -74,4 +74,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-2a.json b/test/parsedQueries/sparql/sparql-update-3-1-3-2a.json index e0def9e0..37b9cddf 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-2a.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-2a.json @@ -106,4 +106,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-2b.json b/test/parsedQueries/sparql/sparql-update-3-1-3-2b.json index 33dafcf9..d31ea167 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-2b.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-2b.json @@ -103,4 +103,4 @@ "foaf": "http://xmlns.com/foaf/0.1/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-2c.json b/test/parsedQueries/sparql/sparql-update-3-1-3-2c.json index 5ae11332..ea25d70f 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-2c.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-2c.json @@ -212,4 +212,4 @@ "dcmitype": "http://purl.org/dc/dcmitype/", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-3a.json b/test/parsedQueries/sparql/sparql-update-3-1-3-3a.json index e972eeb4..2a8e1c76 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-3a.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-3a.json @@ -48,4 +48,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3-3b.json b/test/parsedQueries/sparql/sparql-update-3-1-3-3b.json index b53d51a8..c8e9d690 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3-3b.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3-3b.json @@ -75,4 +75,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-1-3.json b/test/parsedQueries/sparql/sparql-update-3-1-3.json index 479ad5d8..e30f5ad1 100644 --- a/test/parsedQueries/sparql/sparql-update-3-1-3.json +++ b/test/parsedQueries/sparql/sparql-update-3-1-3.json @@ -90,4 +90,4 @@ "prefixes": { "foaf": "http://xmlns.com/foaf/0.1/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-2-3.json b/test/parsedQueries/sparql/sparql-update-3-2-3.json index 8866acaf..0935480b 100644 --- a/test/parsedQueries/sparql/sparql-update-3-2-3.json +++ b/test/parsedQueries/sparql/sparql-update-3-2-3.json @@ -18,4 +18,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-2-4.json b/test/parsedQueries/sparql/sparql-update-3-2-4.json index b24fee01..b991dc8b 100644 --- a/test/parsedQueries/sparql/sparql-update-3-2-4.json +++ b/test/parsedQueries/sparql/sparql-update-3-2-4.json @@ -18,4 +18,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-3-2-5.json b/test/parsedQueries/sparql/sparql-update-3-2-5.json index ab368d37..46b01f14 100644 --- a/test/parsedQueries/sparql/sparql-update-3-2-5.json +++ b/test/parsedQueries/sparql/sparql-update-3-2-5.json @@ -18,4 +18,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-multiple-prefixes.json b/test/parsedQueries/sparql/sparql-update-multiple-prefixes.json index 9f1b5001..1840f67a 100644 --- a/test/parsedQueries/sparql/sparql-update-multiple-prefixes.json +++ b/test/parsedQueries/sparql/sparql-update-multiple-prefixes.json @@ -64,4 +64,4 @@ "dc": "http://purl.org/dc/elements/1.1/", "rdfs": "http://www.w3.org/2000/01/rdf-schema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-only-prefix.json b/test/parsedQueries/sparql/sparql-update-only-prefix.json index 9b0cc2b7..716c78b1 100644 --- a/test/parsedQueries/sparql/sparql-update-only-prefix.json +++ b/test/parsedQueries/sparql/sparql-update-only-prefix.json @@ -2,4 +2,4 @@ "prefixes": { "a": "urn:a" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-trailing-prologue.json b/test/parsedQueries/sparql/sparql-update-trailing-prologue.json index d7114340..f0ebf827 100644 --- a/test/parsedQueries/sparql/sparql-update-trailing-prologue.json +++ b/test/parsedQueries/sparql/sparql-update-trailing-prologue.json @@ -34,4 +34,4 @@ "prefixes": { "a": "urn:a" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-update-trailing-semicolon.json b/test/parsedQueries/sparql/sparql-update-trailing-semicolon.json index cdd98a93..f240cada 100644 --- a/test/parsedQueries/sparql/sparql-update-trailing-semicolon.json +++ b/test/parsedQueries/sparql/sparql-update-trailing-semicolon.json @@ -32,4 +32,4 @@ } ], "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sparql-values-clause.json b/test/parsedQueries/sparql/sparql-values-clause.json index ec1d527e..6c8e0bf4 100644 --- a/test/parsedQueries/sparql/sparql-values-clause.json +++ b/test/parsedQueries/sparql/sparql-values-clause.json @@ -120,4 +120,4 @@ "prefixes": { "": "http://books.example/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/strlen.json b/test/parsedQueries/sparql/strlen.json index 60d72bd0..01853eec 100644 --- a/test/parsedQueries/sparql/strlen.json +++ b/test/parsedQueries/sparql/strlen.json @@ -45,4 +45,4 @@ ], "type": "query", "prefixes": {} -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sub-values.json b/test/parsedQueries/sparql/sub-values.json index 3e345775..1dff21f8 100644 --- a/test/parsedQueries/sparql/sub-values.json +++ b/test/parsedQueries/sparql/sub-values.json @@ -59,4 +59,4 @@ "prefixes": { "": "http://example.org/" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparql/sum-count.json b/test/parsedQueries/sparql/sum-count.json index adf10311..5e51cdb2 100644 --- a/test/parsedQueries/sparql/sum-count.json +++ b/test/parsedQueries/sparql/sum-count.json @@ -79,4 +79,4 @@ "prefixes": { "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json index 0ae93fd8..370cb5f4 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-01.json @@ -56,4 +56,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json index 4fb34c0a..d1425b0a 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-02.json @@ -148,4 +148,4 @@ "": "http://example.com/ns#", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json index 6dea54b8..979f3016 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-03.json @@ -79,4 +79,4 @@ "": "http://example.com/ns#", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json index d196c400..035e73ef 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-04.json @@ -90,4 +90,4 @@ "": "http://example.com/ns#", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json index 263aa61f..40f1c0e5 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-05.json @@ -79,4 +79,4 @@ "": "http://example.com/ns#", "xsd": "http://www.w3.org/2001/XMLSchema#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json index 43a131d4..3ab1202e 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-06.json @@ -71,4 +71,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json index 94f871a0..e9501577 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-07.json @@ -85,4 +85,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json index d784b518..2bdcff3e 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-08.json @@ -75,4 +75,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json index 00019b34..52fad8bf 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-annotation-09.json @@ -91,4 +91,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json index ce06ae13..53f34e91 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-01.json @@ -42,4 +42,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json index 49612368..ec51afdd 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-02.json @@ -47,4 +47,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json index a94a976f..4e4c0dc7 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-03.json @@ -42,4 +42,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json index 7c11592a..fa7d9ea5 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-04.json @@ -42,4 +42,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json index 4f44b0ac..638d986e 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-05.json @@ -119,4 +119,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json index 0922135b..9ec51799 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-06.json @@ -32,4 +32,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json index ee3cd1bb..b9e35354 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-basic-07.json @@ -113,4 +113,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json index 95227162..8680e527 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-01.json @@ -47,4 +47,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json index de321c0c..2106a2c9 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-02.json @@ -47,4 +47,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json index e5c0a59e..5012ff5f 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-bnode-03.json @@ -42,4 +42,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json index 67d38b6a..2b1663f5 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-compound.json @@ -133,4 +133,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json index a65ead2b..d8973eee 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-01.json @@ -53,4 +53,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json index 7de877a4..1d99f5a7 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-02.json @@ -64,4 +64,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json index f01f4950..3055dec1 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-03.json @@ -56,4 +56,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json index bea4afcf..45e84993 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-04.json @@ -62,4 +62,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json index 7e26f5c0..7c4b57b1 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-05.json @@ -113,4 +113,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json index 6f411dd2..678b7008 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-expr-06.json @@ -72,4 +72,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json index fd28e01a..c334527f 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-01.json @@ -56,4 +56,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json index 53957d54..e6ab26de 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-inside-02.json @@ -114,4 +114,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json index 6ad97b6f..5d577bbb 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-01.json @@ -83,4 +83,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json index 76811c1d..0a6bce4b 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-nested-02.json @@ -78,4 +78,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json index dd5cca93..95d4b0b6 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-1.json @@ -40,4 +40,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json index e4a5cd83..7e37b175 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-2.json @@ -54,4 +54,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json index 35d8e63c..a4df2ce4 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-3.json @@ -145,4 +145,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json index 3cb7a68d..748ed8f5 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-4.json @@ -167,4 +167,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json index 945ea091..5fd69fe7 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-5.json @@ -145,4 +145,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json index 25af5058..2a742e5e 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-6.json @@ -91,4 +91,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json index b0428e2b..0bb9df7e 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-7.json @@ -117,4 +117,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} diff --git a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json index 0c6ff9d4..9c067aed 100644 --- a/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json +++ b/test/parsedQueries/sparqlstar-spec/sparql-star-syntax-update-8.json @@ -113,4 +113,4 @@ "prefixes": { "": "http://example.com/ns#" } -} \ No newline at end of file +} From cf98455484fa2414332dc931841ec46e14b4c7a2 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Fri, 18 Nov 2022 00:22:56 +1100 Subject: [PATCH 31/39] chore: revert to package-lock from main --- package-lock.json | 5628 +++++++++++++++++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 4407 insertions(+), 1223 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41e3a1fd..851efc19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "sparqljs", "version": "3.6.1", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { @@ -19,48 +19,43 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.19.3" + "rdf-test-suite": "^1.19.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8.0" } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" + "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true }, "node_modules/@babel/highlight": { - "version": "7.18.6", + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@jest/console": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", "dev": true, - "license": "MIT", "dependencies": { "@jest/source-map": "^24.9.0", "chalk": "^2.0.1", @@ -72,8 +67,9 @@ }, "node_modules/@jest/source-map": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0", "graceful-fs": "^4.1.15", @@ -85,8 +81,9 @@ }, "node_modules/@jest/test-result": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/console": "^24.9.0", "@jest/types": "^24.9.0", @@ -98,8 +95,9 @@ }, "node_modules/@jest/types": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", @@ -111,55 +109,73 @@ }, "node_modules/@rdfjs/types": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/http-link-header": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*", "@types/istanbul-lib-report": "*" } }, "node_modules/@types/json-stable-stringify": { - "version": "1.0.34", + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", + "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "dev": true + }, + "node_modules/@types/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", + "deprecated": "This is a stub types definition. log-symbols provides its own type definitions, so you do not need this installed.", "dev": true, - "license": "MIT" + "dependencies": { + "log-symbols": "*" + } }, "node_modules/@types/minimist": { - "version": "1.2.2", - "dev": true, - "license": "MIT" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "dev": true }, "node_modules/@types/n3": { "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", + "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "rdf-js": "^4.0.2" @@ -167,47 +183,54 @@ }, "node_modules/@types/node": { "version": "18.7.13", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, "node_modules/@types/readable-stream": { - "version": "2.3.15", + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", + "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", - "safe-buffer": "~5.1.1" + "safe-buffer": "*" } }, "node_modules/@types/sax": { - "version": "1.2.4", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/stack-utils": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true }, "node_modules/@types/yargs": { - "version": "13.0.12", + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true }, "node_modules/abort-controller": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dev": true, - "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -217,8 +240,9 @@ }, "node_modules/amdefine": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true, - "license": "BSD-3-Clause OR MIT", "optional": true, "engines": { "node": ">=0.4.2" @@ -226,24 +250,27 @@ }, "node_modules/ansi-colors": { "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -252,9 +279,10 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -265,79 +293,69 @@ }, "node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/arr-diff": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-flatten": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/arr-union": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/array-unique": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/arrayify-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", + "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", + "dev": true }, "node_modules/assign-symbols": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/atob": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "license": "(MIT OR Apache-2.0)", "bin": { "atob": "bin/atob.js" }, @@ -346,14 +364,16 @@ } }, "node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "node_modules/base": { "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, - "license": "MIT", "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -369,8 +389,9 @@ }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -378,8 +399,48 @@ "node": ">=0.10.0" } }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, "funding": [ { @@ -394,21 +455,22 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -416,8 +478,9 @@ }, "node_modules/braces": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "license": "MIT", "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -436,8 +499,9 @@ }, "node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -445,21 +509,16 @@ "node": ">=0.10.0" } }, - "node_modules/braces/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/browser-stdout": { "version": "1.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true }, "node_modules/buffer": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -475,21 +534,22 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/cache-base": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, - "license": "MIT", "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -506,12 +566,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "get-intrinsic": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -519,29 +580,33 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/canonicalize": { "version": "1.0.8", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", + "dev": true }, "node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -553,8 +618,9 @@ }, "node_modules/chokidar": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", "dev": true, - "license": "MIT", "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", @@ -573,8 +639,9 @@ }, "node_modules/chokidar/node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -584,8 +651,9 @@ }, "node_modules/chokidar/node_modules/fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -595,16 +663,18 @@ }, "node_modules/chokidar/node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/chokidar/node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -614,6 +684,8 @@ }, "node_modules/cjson": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz", + "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=", "dev": true, "dependencies": { "jsonlint": "1.6.0" @@ -624,8 +696,9 @@ }, "node_modules/class-utils": { "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, - "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -638,8 +711,9 @@ }, "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -647,80 +721,11 @@ "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cliui": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", @@ -729,8 +734,9 @@ }, "node_modules/cliui/node_modules/string-width": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -742,8 +748,9 @@ }, "node_modules/cliui/node_modules/strip-ansi": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -753,8 +760,9 @@ }, "node_modules/collection-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, - "license": "MIT", "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -765,19 +773,23 @@ }, "node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/colors": { "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", "dev": true, "engines": { "node": ">=0.1.90" @@ -785,21 +797,24 @@ }, "node_modules/component-emitter": { "version": "1.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -807,45 +822,35 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "node_modules/copy-descriptor": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "node_modules/cross-fetch": { "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", "dev": true, - "license": "MIT", "dependencies": { "node-fetch": "2.6.7" } }, "node_modules/cross-spawn": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, - "license": "MIT", "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -854,47 +859,48 @@ }, "node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decode-uri-component": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/define-properties": { - "version": "1.1.4", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "object-keys": "^1.0.12" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -903,60 +909,91 @@ "node": ">=0.10.0" } }, - "node_modules/diff": { - "version": "3.5.0", + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "license": "BSD-3-Clause", + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=0.10.0" } }, - "node_modules/diff-sequences": { - "version": "24.9.0", + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/ebnf-parser": { "version": "0.1.10", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", + "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", + "dev": true }, "node_modules/emoji-regex": { "version": "7.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true }, "node_modules/es-abstract": { - "version": "1.20.1", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -966,13 +1003,14 @@ } }, "node_modules/es-abstract/node_modules/object.assign": { - "version": "4.1.4", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", "object-keys": "^1.1.1" }, "engines": { @@ -982,15 +1020,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -1005,14 +1039,17 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/escodegen": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", "dev": true, "dependencies": { "esprima": "~1.1.1", @@ -1032,6 +1069,8 @@ }, "node_modules/escodegen/node_modules/source-map": { "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "optional": true, "dependencies": { @@ -1043,6 +1082,8 @@ }, "node_modules/esprima": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", "dev": true, "bin": { "esparse": "bin/esparse.js", @@ -1054,6 +1095,8 @@ }, "node_modules/estraverse": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", "dev": true, "engines": { "node": ">=0.4.0" @@ -1061,6 +1104,8 @@ }, "node_modules/esutils": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", "dev": true, "engines": { "node": ">=0.10.0" @@ -1068,24 +1113,18 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/events": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/expand-brackets": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -1101,8 +1140,9 @@ }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -1112,8 +1152,9 @@ }, "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -1121,88 +1162,11 @@ "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/expect": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^24.9.0", "ansi-styles": "^3.2.0", @@ -1217,8 +1181,9 @@ }, "node_modules/extend-shallow": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, - "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -1227,10 +1192,23 @@ "node": ">=0.10.0" } }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/extglob": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, - "license": "MIT", "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -1247,8 +1225,9 @@ }, "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -1258,8 +1237,9 @@ }, "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -1267,18 +1247,49 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "license": "MIT", + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, "engines": { "node": ">=0.10.0" } }, "node_modules/fill-range": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -1291,8 +1302,9 @@ }, "node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -1300,18 +1312,11 @@ "node": ">=0.10.0" } }, - "node_modules/fill-range/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/find-up": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -1321,8 +1326,9 @@ }, "node_modules/flat": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "is-buffer": "~2.0.3" }, @@ -1330,18 +1336,29 @@ "flat": "cli.js" } }, + "node_modules/flat/node_modules/is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/for-in": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/fragment-cache": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, - "license": "MIT", "dependencies": { "map-cache": "^0.2.2" }, @@ -1351,70 +1368,49 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, - "node_modules/function.prototype.name": { - "version": "1.1.5", + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.1.2", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" + "has-symbols": "^1.0.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1422,16 +1418,18 @@ }, "node_modules/get-value": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/glob": { "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1446,8 +1444,9 @@ }, "node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1456,22 +1455,25 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "dev": true, - "license": "ISC" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true }, "node_modules/growl": { "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4.x" } }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1479,37 +1481,20 @@ "node": ">= 0.4.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-symbols": { - "version": "1.0.3", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1517,37 +1502,25 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { + "node_modules/has-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, - "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" } }, "node_modules/has-values": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -1556,15 +1529,11 @@ "node": ">=0.10.0" } }, - "node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -1574,8 +1543,9 @@ }, "node_modules/hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -1583,22 +1553,26 @@ }, "node_modules/he": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, - "license": "MIT", "bin": { "he": "bin/he" } }, "node_modules/http-link-header": { - "version": "1.1.0", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { @@ -1613,13 +1587,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1627,48 +1601,39 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/is-accessor-descriptor": { - "version": "1.0.0", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-bigint": { - "version": "1.0.4", + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, "node_modules/is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -1676,47 +1641,17 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-buffer": { - "version": "2.0.5", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" - } + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "node_modules/is-callable": { - "version": "1.2.4", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1725,23 +1660,34 @@ } }, "node_modules/is-data-descriptor": { - "version": "1.0.0", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "is-buffer": "^1.1.5" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -1750,49 +1696,60 @@ } }, "node_modules/is-descriptor": { - "version": "1.0.2", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extendable": { - "version": "1.0.1", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/is-glob": { - "version": "4.0.3", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1801,20 +1758,19 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.2", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -1822,29 +1778,11 @@ "node": ">=0.10.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, "node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -1854,8 +1792,9 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -1864,12 +1803,12 @@ } }, "node_modules/is-regex": { - "version": "1.1.4", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "has-symbols": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -1878,21 +1817,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -1900,26 +1829,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-symbol": { - "version": "1.0.4", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, - "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -1928,58 +1844,41 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-diff": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^2.0.1", "diff-sequences": "^24.9.0", @@ -1992,16 +1891,18 @@ }, "node_modules/jest-get-type": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/jest-matcher-utils": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^2.0.1", "jest-diff": "^24.9.0", @@ -2014,8 +1915,9 @@ }, "node_modules/jest-message-util": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "@jest/test-result": "^24.9.0", @@ -2032,16 +1934,18 @@ }, "node_modules/jest-regex-util": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/jison": { "version": "0.4.18", + "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz", + "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==", "dev": true, - "license": "MIT", "dependencies": { "cjson": "0.3.0", "ebnf-parser": "0.1.10", @@ -2061,6 +1965,8 @@ }, "node_modules/jison-lex": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz", + "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=", "dev": true, "dependencies": { "lex-parser": "0.1.x", @@ -2075,13 +1981,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2092,8 +2000,9 @@ }, "node_modules/js-yaml/node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -2103,28 +2012,28 @@ } }, "node_modules/json-stable-stringify": { - "version": "1.0.2", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, - "license": "MIT", "dependencies": { - "jsonify": "^0.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "jsonify": "~0.0.0" } }, "node_modules/jsonify": { - "version": "0.0.1", + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true, - "license": "Public Domain", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, "node_modules/jsonld-context-parser": { - "version": "2.2.2", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", + "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/http-link-header": "^1.0.1", "@types/node": "^18.0.0", @@ -2138,9 +2047,10 @@ } }, "node_modules/jsonld-streaming-parser": { - "version": "3.0.1", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", + "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", @@ -2154,8 +2064,22 @@ "readable-stream": "^4.0.0" } }, + "node_modules/jsonld-streaming-parser/node_modules/readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/jsonlint": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", + "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=", "dev": true, "dependencies": { "JSV": ">= 4.0.x", @@ -2170,14 +2094,17 @@ }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" - ], - "license": "MIT" + ] }, "node_modules/JSONSelect": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", + "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", "dev": true, "engines": { "node": ">=0.4.7" @@ -2185,25 +2112,33 @@ }, "node_modules/JSV": { "version": "4.0.2", - "dev": true + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true, + "engines": { + "node": "*" + } }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/lex-parser": { "version": "0.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", + "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", + "dev": true }, "node_modules/locate-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -2214,13 +2149,15 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/log-symbols": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^2.4.2" }, @@ -2230,8 +2167,9 @@ }, "node_modules/lru-cache": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -2239,16 +2177,18 @@ }, "node_modules/map-cache": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/map-visit": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, - "license": "MIT", "dependencies": { "object-visit": "^1.0.0" }, @@ -2258,8 +2198,9 @@ }, "node_modules/micromatch": { "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -2281,13 +2222,15 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true }, "node_modules/minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2297,13 +2240,15 @@ }, "node_modules/minimist": { "version": "1.2.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true }, "node_modules/mixin-deep": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, - "license": "MIT", "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -2312,10 +2257,23 @@ "node": ">=0.10.0" } }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mkdirp": { "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.5" }, @@ -2325,8 +2283,9 @@ }, "node_modules/mocha": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", @@ -2367,21 +2326,25 @@ }, "node_modules/mocha/node_modules/debug": { "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/mocha/node_modules/ms": { "version": "2.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true }, "node_modules/mocha/node_modules/supports-color": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -2391,25 +2354,42 @@ }, "node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/n3": { - "version": "1.16.3", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", + "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", "dev": true, - "license": "MIT", "dependencies": { "queue-microtask": "^1.1.2", - "readable-stream": "^4.0.0" + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/n3/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=12.0" + "node": ">= 6" } }, "node_modules/nanomatch": { "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, - "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -2429,8 +2409,9 @@ }, "node_modules/node-environment-flags": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" @@ -2438,8 +2419,9 @@ }, "node_modules/node-fetch": { "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -2457,24 +2439,32 @@ }, "node_modules/nomnom": { "version": "1.5.2", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", + "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", + "deprecated": "Package no longer supported. Contact support@npmjs.com for more info.", "dev": true, "dependencies": { "colors": "0.5.x", "underscore": "1.1.x" + }, + "engines": { + "node": "*" } }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/object-copy": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, - "license": "MIT", "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -2486,8 +2476,9 @@ }, "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -2495,58 +2486,11 @@ "node": ">=0.10.0" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -2555,25 +2499,28 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object-visit": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.0" }, @@ -2583,8 +2530,9 @@ }, "node_modules/object.assign": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, - "license": "MIT", "dependencies": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -2596,14 +2544,13 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.4", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dev": true, - "license": "MIT", "dependencies": { - "array.prototype.reduce": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" }, "engines": { "node": ">= 0.8" @@ -2614,8 +2561,9 @@ }, "node_modules/object.pick": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -2625,14 +2573,17 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/os-shim": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true, "engines": { "node": ">= 0.4.0" @@ -2640,8 +2591,9 @@ }, "node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2654,8 +2606,9 @@ }, "node_modules/p-locate": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -2665,40 +2618,45 @@ }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pascalcase": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/picomatch": { - "version": "2.3.1", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -2708,17 +2666,19 @@ }, "node_modules/posix-character-classes": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pre-commit": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", + "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "cross-spawn": "^5.0.1", "spawn-sync": "^1.0.15", @@ -2727,8 +2687,9 @@ }, "node_modules/pre-commit/node_modules/which": { "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2738,8 +2699,9 @@ }, "node_modules/pretty-format": { "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", "dev": true, - "license": "MIT", "dependencies": { "@jest/types": "^24.9.0", "ansi-regex": "^4.0.0", @@ -2750,31 +2712,28 @@ "node": ">= 6" } }, - "node_modules/process": { - "version": "0.11.10", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/promise-polyfill": { "version": "1.1.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "dev": true }, "node_modules/pseudomap": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -2789,20 +2748,21 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/rdf-data-factory": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", + "integrity": "sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==", "dependencies": { "@rdfjs/types": "*" } }, "node_modules/rdf-isomorphic": { - "version": "1.3.1", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "hash.js": "^1.1.7", @@ -2812,25 +2772,28 @@ }, "node_modules/rdf-js": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*" } }, "node_modules/rdf-literal": { - "version": "1.3.1", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", + "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" } }, "node_modules/rdf-object": { - "version": "1.13.2", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", + "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", @@ -2841,8 +2804,9 @@ }, "node_modules/rdf-quad": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", "dev": true, - "license": "MIT", "dependencies": { "rdf-data-factory": "^1.0.1", "rdf-literal": "^1.2.0", @@ -2851,17 +2815,19 @@ }, "node_modules/rdf-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", + "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0" } }, "node_modules/rdf-terms": { - "version": "1.9.1", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", + "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "rdf-data-factory": "^1.1.0", @@ -2869,12 +2835,14 @@ } }, "node_modules/rdf-test-suite": { - "version": "1.19.3", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", + "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", + "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", @@ -2907,8 +2875,9 @@ }, "node_modules/rdf-test-suite/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2920,9 +2889,10 @@ } }, "node_modules/rdf-test-suite/node_modules/chalk": { - "version": "4.1.2", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2936,8 +2906,9 @@ }, "node_modules/rdf-test-suite/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2947,36 +2918,36 @@ }, "node_modules/rdf-test-suite/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/rdf-test-suite/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/rdf-test-suite/node_modules/log-symbols": { - "version": "4.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" + "chalk": "^4.0.0" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/rdf-test-suite/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2985,9 +2956,10 @@ } }, "node_modules/rdfxml-streaming-parser": { - "version": "2.2.1", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", + "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "@types/readable-stream": "^2.3.13", @@ -2999,29 +2971,44 @@ "validate-iri": "^1.0.0" } }, + "node_modules/rdfxml-streaming-parser/node_modules/readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/react-is": { "version": "16.13.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true }, "node_modules/readable-stream": { - "version": "4.2.0", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "node_modules/readable-web-to-node-stream": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "^3.6.0" }, @@ -3035,8 +3022,9 @@ }, "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3048,8 +3036,9 @@ }, "node_modules/readdirp": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", "dev": true, - "license": "MIT", "dependencies": { "picomatch": "^2.0.4" }, @@ -3059,8 +3048,9 @@ }, "node_modules/regex-not": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -3069,86 +3059,81 @@ "node": ">=0.10.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/relative-to-absolute-iri": { - "version": "1.0.7", - "dev": true, - "license": "MIT" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", + "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", + "dev": true }, "node_modules/repeat-element": { - "version": "1.1.4", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/repeat-string": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "node_modules/resolve-url": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true }, "node_modules/ret": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12" } }, "node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/safe-regex": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, - "license": "MIT", "dependencies": { "ret": "~0.1.10" } }, "node_modules/saxes": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, @@ -3158,21 +3143,24 @@ }, "node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/set-blocking": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "node_modules/set-value": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -3185,8 +3173,9 @@ }, "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -3194,18 +3183,11 @@ "node": ">=0.10.0" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -3215,37 +3197,27 @@ }, "node_modules/shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/slash": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/snapdragon": { "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, - "license": "MIT", "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -3262,8 +3234,9 @@ }, "node_modules/snapdragon-node": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, - "license": "MIT", "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -3275,8 +3248,9 @@ }, "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -3284,70 +3258,61 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.2.0" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, - "license": "MIT", "dependencies": { - "is-descriptor": "^0.1.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, - "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" + "kind-of": "^3.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -3355,82 +3320,54 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/snapdragon/node_modules/source-map": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-resolve": { "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -3440,14 +3377,17 @@ } }, "node_modules/source-map-url": { - "version": "0.4.1", - "dev": true, - "license": "MIT" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true }, "node_modules/sparqljson-parse": { - "version": "2.1.2", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", + "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "@types/readable-stream": "^2.3.13", @@ -3457,10 +3397,23 @@ "readable-stream": "^4.0.0" } }, + "node_modules/sparqljson-parse/node_modules/readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/sparqlxml-parse": { - "version": "2.0.2", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", + "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", "dev": true, - "license": "MIT", "dependencies": { "@rdfjs/types": "*", "@types/readable-stream": "^2.3.13", @@ -3470,11 +3423,24 @@ "saxes": "^6.0.0" } }, + "node_modules/sparqlxml-parse/node_modules/readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/spawn-sync": { "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "concat-stream": "^1.4.7", "os-shim": "^0.1.2" @@ -3482,8 +3448,9 @@ }, "node_modules/split-string": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, - "license": "MIT", "dependencies": { "extend-shallow": "^3.0.0" }, @@ -3493,32 +3460,24 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "node_modules/stack-utils": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/static-extend": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, - "license": "MIT", "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -3529,8 +3488,9 @@ }, "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, - "license": "MIT", "dependencies": { "is-descriptor": "^0.1.0" }, @@ -3538,135 +3498,158 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", + "node_modules/stream-to-string": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "promise-polyfill": "^1.1.6" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true }, - "node_modules/static-extend/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" + "node_modules/streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "dev": true }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", + "node_modules/string.prototype.trimend": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", "dev": true, - "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", + "node_modules/string.prototype.trimend/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", "dev": true, - "license": "MIT", + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stream-to-string": { - "version": "1.2.0", + "node_modules/string.prototype.trimend/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { - "promise-polyfill": "^1.1.6" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/streamify-array": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/streamify-string": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string-width": { - "version": "2.1.1", + "node_modules/string.prototype.trimstart/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", "dev": true, - "license": "MIT", "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", + "node_modules/string.prototype.trimstart/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3674,8 +3657,9 @@ }, "node_modules/strip-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^3.0.0" }, @@ -3685,24 +3669,27 @@ }, "node_modules/strip-ansi/node_modules/ansi-regex": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-json-comments": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -3712,8 +3699,9 @@ }, "node_modules/to-object-path": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -3721,15 +3709,11 @@ "node": ">=0.10.0" } }, - "node_modules/to-object-path/node_modules/is-buffer": { - "version": "1.1.6", - "dev": true, - "license": "MIT" - }, "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, - "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -3739,8 +3723,9 @@ }, "node_modules/to-regex": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, - "license": "MIT", "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -3753,8 +3738,9 @@ }, "node_modules/to-regex-range": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -3765,36 +3751,30 @@ }, "node_modules/tr46": { "version": "0.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/typedarray": { "version": "0.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/underscore": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", + "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "node_modules/underscore": { - "version": "1.1.7", - "dev": true - }, "node_modules/union-value": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, - "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -3805,18 +3785,11 @@ "node": ">=0.10.0" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/unset-value": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, - "license": "MIT", "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -3827,8 +3800,9 @@ }, "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, - "license": "MIT", "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -3840,8 +3814,9 @@ }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, - "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -3851,44 +3826,52 @@ }, "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/urix": { "version": "0.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true }, "node_modules/use": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "node_modules/validate-iri": { - "version": "1.0.1", - "dev": true, - "license": "MIT" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", + "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", + "dev": true }, "node_modules/webidl-conversions": { "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -3896,8 +3879,9 @@ }, "node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3905,38 +3889,26 @@ "which": "bin/which" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-module": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "node_modules/wide-align": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2" } }, "node_modules/wrap-ansi": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", @@ -3948,8 +3920,9 @@ }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -3961,8 +3934,9 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -3972,28 +3946,33 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/xmlchars": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true }, "node_modules/y18n": { "version": "4.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "node_modules/yallist": { "version": "2.1.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "node_modules/yargs": { "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^5.0.0", "find-up": "^3.0.0", @@ -4009,8 +3988,9 @@ }, "node_modules/yargs-parser": { "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -4018,8 +3998,9 @@ }, "node_modules/yargs-unparser": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", "dev": true, - "license": "MIT", "dependencies": { "flat": "^4.1.0", "lodash": "^4.17.15", @@ -4031,8 +4012,9 @@ }, "node_modules/yargs/node_modules/string-width": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -4044,8 +4026,9 @@ }, "node_modules/yargs/node_modules/strip-ansi": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" }, @@ -4053,5 +4036,3206 @@ "node": ">=6" } } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@rdfjs/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.0.tgz", + "integrity": "sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==", + "requires": { + "@types/node": "*" + } + }, + "@types/http-link-header": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-stable-stringify": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", + "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "dev": true + }, + "@types/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", + "dev": true, + "requires": { + "log-symbols": "*" + } + }, + "@types/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "dev": true + }, + "@types/n3": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.4.tgz", + "integrity": "sha512-FfRTwcbXcScVHuAjIASveRWL6Fi6fPALl1Ge8tMESYLqU7R42LJvtdBpUi+f9YK0oQPqIN+zFFgMDFJfLMx0bg==", + "dev": true, + "requires": { + "@types/node": "*", + "rdf-js": "^4.0.2" + } + }, + "@types/node": { + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" + }, + "@types/readable-stream": { + "version": "2.3.14", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", + "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", + "dev": true, + "requires": { + "@types/node": "*", + "safe-buffer": "*" + } + }, + "@types/sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", + "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", + "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrayify-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", + "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "canonicalize": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "cjson": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz", + "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=", + "dev": true, + "requires": { + "jsonlint": "1.6.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz", + "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "requires": { + "node-fetch": "2.6.7" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "ebnf-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz", + "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "dependencies": { + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", + "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", + "dev": true, + "requires": { + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.33" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "esprima": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", + "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", + "dev": true + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "dev": true + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "dev": true + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "dev": true + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "http-link-header": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", + "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "jison": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz", + "integrity": "sha512-FKkCiJvozgC7VTHhMJ00a0/IApSxhlGsFIshLW6trWJ8ONX2TQJBBz6DlcO1Gffy4w9LT+uL+PA+CVnUSJMF7w==", + "dev": true, + "requires": { + "cjson": "0.3.0", + "ebnf-parser": "0.1.10", + "escodegen": "1.3.x", + "esprima": "1.1.x", + "jison-lex": "0.3.x", + "JSONSelect": "0.4.0", + "lex-parser": "~0.1.3", + "nomnom": "1.5.2" + } + }, + "jison-lex": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz", + "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=", + "dev": true, + "requires": { + "lex-parser": "0.1.x", + "nomnom": "1.5.2" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } + } + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonld-context-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", + "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", + "dev": true, + "requires": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^18.0.0", + "canonicalize": "^1.0.1", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + } + }, + "jsonld-streaming-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", + "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.1.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0" + } + } + } + }, + "jsonlint": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz", + "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=", + "dev": true, + "requires": { + "JSV": ">= 4.0.x", + "nomnom": ">= 1.5.x" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "JSONSelect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz", + "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=", + "dev": true + }, + "JSV": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", + "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "lex-parser": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz", + "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "n3": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", + "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", + "dev": true, + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nomnom": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz", + "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=", + "dev": true, + "requires": { + "colors": "0.5.x", + "underscore": "1.1.x" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "pre-commit": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", + "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "spawn-sync": "^1.0.15", + "which": "1.2.x" + }, + "dependencies": { + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-polyfill": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", + "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "rdf-data-factory": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", + "integrity": "sha512-0HoLx7lbBlNd2YTmNKin0txgiYmAV56eVU823at8cG2+iD0Ia5kcRNDpzZy6I/HCtFTymHvTfdhHTzm3ak3Jpw==", + "requires": { + "@rdfjs/types": "*" + } + }, + "rdf-isomorphic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", + "dev": true, + "requires": { + "@rdfjs/types": "*" + } + }, + "rdf-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", + "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-object": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", + "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "dev": true, + "requires": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, + "rdf-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.1.tgz", + "integrity": "sha512-EDNVQs9jDgm4hkY8TZLhQI3rYUduecMRxLu3szldAdS2CHEo8aFqlHcZDFgBcaJN2XJWoRJU8YQT85wmb8gPEA==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-terms": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", + "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0" + } + }, + "rdf-test-suite": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", + "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/json-stable-stringify": "^1.0.32", + "@types/log-symbols": "^3.0.0", + "@types/minimist": "^1.2.0", + "@types/n3": "^1.10.3", + "@types/sax": "^1.0.1", + "arrayify-stream": "^2.0.0", + "cross-fetch": "^3.0.6", + "is-stream": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "jsonld-streaming-parser": "^3.0.0", + "log-symbols": "^4.0.0", + "minimist": "^1.2.0", + "n3": "^1.11.1", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-literal": "^1.3.0", + "rdf-object": "^1.11.1", + "rdf-quad": "^1.5.0", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0", + "rdfxml-streaming-parser": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", + "relative-to-absolute-iri": "^1.0.6", + "sparqljson-parse": "^2.0.1", + "sparqlxml-parse": "^2.0.1", + "stream-to-string": "^1.1.0", + "streamify-string": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "dev": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "rdfxml-streaming-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", + "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "relative-to-absolute-iri": "^1.0.0", + "saxes": "^6.0.0", + "validate-iri": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0" + } + } + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "requires": { + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "relative-to-absolute-iri": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", + "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "sparqljson-parse": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", + "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0" + } + } + } + }, + "sparqlxml-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", + "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/readable-stream": "^2.3.13", + "buffer": "^6.0.3", + "rdf-data-factory": "^1.1.0", + "readable-stream": "^4.0.0", + "saxes": "^6.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "dev": true, + "requires": { + "abort-controller": "^3.0.0" + } + } + } + }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "dev": true, + "requires": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-to-string": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", + "dev": true, + "requires": { + "promise-polyfill": "^1.1.6" + } + }, + "streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true + }, + "streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } + } + }, + "string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "underscore": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz", + "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "validate-iri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", + "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", + "dev": true + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + } + } } } diff --git a/package.json b/package.json index a38fd7f0..c64fc94d 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.19.3" + "rdf-test-suite": "^1.19.2" }, "browser": { "_process": false, From 0196d86aead921bd15a5ae9df7ed367ac0369869 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 21 Nov 2022 21:34:44 +1100 Subject: [PATCH 32/39] chore: bump rdf-test-suite version --- package-lock.json | 503 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 283 insertions(+), 222 deletions(-) diff --git a/package-lock.json b/package-lock.json index 851efc19..d3f8316f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,10 +19,10 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.19.2" + "rdf-test-suite": "^1.20.0" }, "engines": { - "node": ">=8.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@babel/code-frame": { @@ -150,25 +150,15 @@ } }, "node_modules/@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", "dev": true }, - "node_modules/@types/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", - "deprecated": "This is a stub types definition. log-symbols provides its own type definitions, so you do not need this installed.", - "dev": true, - "dependencies": { - "log-symbols": "*" - } - }, "node_modules/@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "node_modules/@types/n3": { @@ -187,19 +177,19 @@ "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, "node_modules/@types/readable-stream": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", - "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", "dev": true, "dependencies": { "@types/node": "*", - "safe-buffer": "*" + "safe-buffer": "~5.1.1" } }, "node_modules/@types/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", "dev": true, "dependencies": { "@types/node": "*" @@ -337,9 +327,9 @@ } }, "node_modules/arrayify-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", - "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==", "dev": true }, "node_modules/assign-symbols": { @@ -1120,6 +1110,15 @@ "node": ">=6" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1561,9 +1560,9 @@ } }, "node_modules/http-link-header": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", - "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.0.tgz", + "integrity": "sha512-pj6N1yxOz/ANO8HHsWGg/OoIL1kmRYvQnXQ7PIRpgp+15AnEsRH8fmIJE6D1OdWG2Bov+BJHVla1fFXxg1JbbA==", "dev": true, "engines": { "node": ">=6.0.0" @@ -1844,6 +1843,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -2012,27 +2023,30 @@ } }, "node_modules/json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "dev": true, "dependencies": { - "jsonify": "~0.0.0" + "jsonify": "^0.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true, - "engines": { - "node": "*" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/jsonld-context-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", - "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.2.tgz", + "integrity": "sha512-3VWIg/4NCMTXP6NsI6O93spFTd4qIOucKEmD8I+Exhxk9ZUVrnkLp2G4f0toR5jVleZkiiB9YGPS+yT1wwMqnQ==", "dev": true, "dependencies": { "@types/http-link-header": "^1.0.1", @@ -2047,9 +2061,9 @@ } }, "node_modules/jsonld-streaming-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", - "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.1.tgz", + "integrity": "sha512-zSJlEgrKypQDk/85R+xkudeCZo6vmnvJuCPvcjk2BzHPLzv1yqiwoKQDyFzfgfgCHM0p7YCJBZl0liT9RMUZJw==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -2065,12 +2079,15 @@ } }, "node_modules/jsonld-streaming-parser/node_modules/readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2359,30 +2376,31 @@ "dev": true }, "node_modules/n3": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", - "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.3.tgz", + "integrity": "sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==", "dev": true, "dependencies": { "queue-microtask": "^1.1.2", - "readable-stream": "^3.6.0" + "readable-stream": "^4.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=12.0" } }, "node_modules/n3/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/nanomatch": { @@ -2712,6 +2730,15 @@ "node": ">= 6" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -2721,7 +2748,7 @@ "node_modules/promise-polyfill": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", "dev": true }, "node_modules/pseudomap": { @@ -2759,9 +2786,9 @@ } }, "node_modules/rdf-isomorphic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", - "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -2780,9 +2807,9 @@ } }, "node_modules/rdf-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", - "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.1.tgz", + "integrity": "sha512-+o/PGOfJchyay9Rjrvi/oveRJACnt2WFO3LhEvtPlsRD1tFmwVUCMU+s33FtQprMo+z1ohFrv/yfEQ6Eym4KgQ==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -2790,9 +2817,9 @@ } }, "node_modules/rdf-object": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", - "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.2.tgz", + "integrity": "sha512-DVLDCbxPOkhd/k43j9wcLU7CXe/gdldBBomMV3RyZ1G9E2zPa2FFNFijzMGgRGNY1OEyGmhBxw2eiJjUC7GVNw==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -2824,9 +2851,9 @@ } }, "node_modules/rdf-terms": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", - "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.1.tgz", + "integrity": "sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -2835,14 +2862,13 @@ } }, "node_modules/rdf-test-suite": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", - "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.20.0.tgz", + "integrity": "sha512-5p26dxVT3Hxr0nV3fEmGHm/NYHr7i8R4zp1hijCNHVrwV22LhAGtYWqYUtRUe00HO0J0kUr+Hpxh3X/OejCLxA==", "dev": true, "dependencies": { "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", - "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", @@ -2889,9 +2915,9 @@ } }, "node_modules/rdf-test-suite/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -2932,15 +2958,19 @@ } }, "node_modules/rdf-test-suite/node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/rdf-test-suite/node_modules/supports-color": { @@ -2956,9 +2986,9 @@ } }, "node_modules/rdfxml-streaming-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", - "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.1.tgz", + "integrity": "sha512-1r7aXfSRCLkBYXGcko/GpSZdHxXKvYaeUi2ulEbB7cLvACD7DNoAA/uW6dsETEhgmsEipJZI7NLqBl2whOse8Q==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -2972,12 +3002,15 @@ } }, "node_modules/rdfxml-streaming-parser/node_modules/readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3060,9 +3093,9 @@ } }, "node_modules/relative-to-absolute-iri": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", - "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==", "dev": true }, "node_modules/repeat-element": { @@ -3384,9 +3417,9 @@ "dev": true }, "node_modules/sparqljson-parse": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", - "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.2.tgz", + "integrity": "sha512-RqPeyy+RYQMeqgEsKPTY+ME5ZNXcgXJzg1v0o+tROiTntS9CwUW8mAY3wsx6seSvW3LVyNDEtsqOxnAokoGXOA==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -3398,21 +3431,24 @@ } }, "node_modules/sparqljson-parse/node_modules/readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/sparqlxml-parse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", - "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.2.tgz", + "integrity": "sha512-Iqso0WSTCSuMUYoX2pOEJxteCq9U+7AkOqwlFcvFG1S1aM87xWrp28njQOIiyIrL7Y8CkVXBZG1ec+DhZYUNXA==", "dev": true, "dependencies": { "@rdfjs/types": "*", @@ -3424,12 +3460,15 @@ } }, "node_modules/sparqlxml-parse/node_modules/readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "dependencies": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3516,7 +3555,7 @@ "node_modules/streamify-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", "dev": true }, "node_modules/string_decoder": { @@ -3856,9 +3895,9 @@ "dev": true }, "node_modules/validate-iri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", - "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==", "dev": true }, "node_modules/webidl-conversions": { @@ -4151,24 +4190,15 @@ } }, "@types/json-stable-stringify": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz", - "integrity": "sha512-q9Q6+eUEGwQkv4Sbst3J4PNgDOvpuVuKj79Hl/qnmBMEIPzB5QoFRUtjcgcg2xNUZyYUGXBk5wYIBKHt0A+Mxw==", + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz", + "integrity": "sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==", "dev": true }, - "@types/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-uW/AGf/41aZ1c1dhZ3s063Ii2OqT8EQooZu3t4VCRyR3dqyA2Bg46BcKyZpnWTY7wzm6cayq4jzylnruu4KqSA==", - "dev": true, - "requires": { - "log-symbols": "*" - } - }, "@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/n3": { @@ -4187,19 +4217,19 @@ "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==" }, "@types/readable-stream": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz", - "integrity": "sha512-8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", + "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", "dev": true, "requires": { "@types/node": "*", - "safe-buffer": "*" + "safe-buffer": "~5.1.1" } }, "@types/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-dqYdvN7Sbw8QT/0Ci5rhjE4/iCMJEM0Y9rHpCu+gGXD9Lwbz28t6HI2yegsB6BoV1sShRMU6lAmAcgRjmFy7LA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", "dev": true, "requires": { "@types/node": "*" @@ -4307,9 +4337,9 @@ "dev": true }, "arrayify-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.0.tgz", - "integrity": "sha512-Z2NRtxpWQIz3NRA2bEZOziIungBH+fpsFFEolc5u8uVRheYitvsDNvejlfyh/hjZ9VyS9Ba62oY0zc5oa6Wu7g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrayify-stream/-/arrayify-stream-2.0.1.tgz", + "integrity": "sha512-z8fB6PtmnewQpFB53piS2d1KlUi3BPMICH2h7leCOUXpQcwvZ4GbHHSpdKoUrgLMR6b4Qan/uDe1St3Ao3yIHg==", "dev": true }, "assign-symbols": { @@ -4910,6 +4940,12 @@ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "dev": true }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -5256,9 +5292,9 @@ "dev": true }, "http-link-header": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.5.tgz", - "integrity": "sha512-msKrMbv/xHzhdOD4sstbEr+NbGqpv8ZtZliiCeByGENJo1jK1GZ/81zHF9HpWtEH5ihovPpdqHXniwZapJCKEA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.0.tgz", + "integrity": "sha512-pj6N1yxOz/ANO8HHsWGg/OoIL1kmRYvQnXQ7PIRpgp+15AnEsRH8fmIJE6D1OdWG2Bov+BJHVla1fFXxg1JbbA==", "dev": true }, "ieee754": { @@ -5455,6 +5491,12 @@ "has-symbols": "^1.0.1" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -5582,24 +5624,24 @@ } }, "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", "dev": true, "requires": { - "jsonify": "~0.0.0" + "jsonify": "^0.0.1" } }, "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true }, "jsonld-context-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.0.tgz", - "integrity": "sha512-h4ykp8iUOV4Xm6MgS1zVrytyw/dNVgOeofMCcD/5mHPng3i49qAsaomLT0BOXqYas7lwITVT5c6NZIRVMdXfVQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.2.2.tgz", + "integrity": "sha512-3VWIg/4NCMTXP6NsI6O93spFTd4qIOucKEmD8I+Exhxk9ZUVrnkLp2G4f0toR5jVleZkiiB9YGPS+yT1wwMqnQ==", "dev": true, "requires": { "@types/http-link-header": "^1.0.1", @@ -5611,9 +5653,9 @@ } }, "jsonld-streaming-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.0.tgz", - "integrity": "sha512-n+IW+gTIw2UeXWXdN0ZlPY4DvKANUCrV0HOagXOsDUCvkO/SiDcYOZn2hrDkBGKm7yD5sefvvG3d/FxbeepbuA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-3.0.1.tgz", + "integrity": "sha512-zSJlEgrKypQDk/85R+xkudeCZo6vmnvJuCPvcjk2BzHPLzv1yqiwoKQDyFzfgfgCHM0p7YCJBZl0liT9RMUZJw==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -5629,12 +5671,15 @@ }, "dependencies": { "readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "requires": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" } } } @@ -5866,24 +5911,25 @@ "dev": true }, "n3": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.2.tgz", - "integrity": "sha512-5vYa2HuNEJ+a26FEs4FGgfFLgaPOODaZpJlc7FS0eUjDumc4uK0cvx216PjKXBkLzmAsSqGgQPwqztcLLvwDsw==", + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.16.3.tgz", + "integrity": "sha512-9caLSZuMW1kdlPxEN4ka6E4E8a5QKoZ2emxpW+zHMofI+Bo92nJhN//wNub15S5T9I4c6saEqdGEu+YXJqMZVA==", "dev": true, "requires": { "queue-microtask": "^1.1.2", - "readable-stream": "^3.6.0" + "readable-stream": "^4.0.0" }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" } } } @@ -6128,6 +6174,12 @@ "react-is": "^16.8.4" } }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -6137,7 +6189,7 @@ "promise-polyfill": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-1.1.6.tgz", - "integrity": "sha1-zQTv9G9clcOn0EVZHXm14+AfEtc=", + "integrity": "sha512-7rrONfyLkDEc7OJ5QBkqa4KI4EBhCd340xRuIUPGCfu13znS+vx+VDdrT9ODAJHlXm7w4lbxN3DRjyv58EuzDg==", "dev": true }, "pseudomap": { @@ -6161,9 +6213,9 @@ } }, "rdf-isomorphic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", - "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.1.tgz", + "integrity": "sha512-6uIhsXTVp2AtO6f41PdnRV5xZsa0zVZQDTBdn0br+DZuFf5M/YD+T6m8hKDUnALI6nFL/IujTMLgEs20MlNidQ==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6182,9 +6234,9 @@ } }, "rdf-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", - "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.1.tgz", + "integrity": "sha512-+o/PGOfJchyay9Rjrvi/oveRJACnt2WFO3LhEvtPlsRD1tFmwVUCMU+s33FtQprMo+z1ohFrv/yfEQ6Eym4KgQ==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6192,9 +6244,9 @@ } }, "rdf-object": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.1.tgz", - "integrity": "sha512-Sgq+GbsqdPsMYh+d4OZ4C9brXlzqa9MvfVHG4pkuT9p7o+AX39nqjTWE/8HVaXjjOZBIDe8T54WWTMWphu3BpA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.13.2.tgz", + "integrity": "sha512-DVLDCbxPOkhd/k43j9wcLU7CXe/gdldBBomMV3RyZ1G9E2zPa2FFNFijzMGgRGNY1OEyGmhBxw2eiJjUC7GVNw==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6226,9 +6278,9 @@ } }, "rdf-terms": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.0.tgz", - "integrity": "sha512-FGMPOIpr6vEN8gWd/dVuPpcE/7k+u4Ufqi8FvM5lczjhduT1MN9Shmrw50fWCpHFVE4n0T3lV0qti1PCaHxAfg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.9.1.tgz", + "integrity": "sha512-GrE8CbQSvuVEFRCywMu6VOgV1AFE6X+nFYcAhEc5pwYKI13bUvz4voiVufQiy3V8rzQKu21Sgl+dS2qcJavy7w==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6237,14 +6289,13 @@ } }, "rdf-test-suite": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.19.2.tgz", - "integrity": "sha512-Qvbf05SfcNcvwFzroBVSVf51zS6R74GaQmX43UwXKNxVWMoDyZlgXWLfznDtTJW2HfahnFkTsyosxrliN1zZ1Q==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/rdf-test-suite/-/rdf-test-suite-1.20.0.tgz", + "integrity": "sha512-5p26dxVT3Hxr0nV3fEmGHm/NYHr7i8R4zp1hijCNHVrwV22LhAGtYWqYUtRUe00HO0J0kUr+Hpxh3X/OejCLxA==", "dev": true, "requires": { "@rdfjs/types": "*", "@types/json-stable-stringify": "^1.0.32", - "@types/log-symbols": "^3.0.0", "@types/minimist": "^1.2.0", "@types/n3": "^1.10.3", "@types/sax": "^1.0.1", @@ -6282,9 +6333,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -6313,12 +6364,13 @@ "dev": true }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "supports-color": { @@ -6333,9 +6385,9 @@ } }, "rdfxml-streaming-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.0.tgz", - "integrity": "sha512-mgc3MXjP9+SRhkKlzl3nINkf/G/lD62u68fNwVwr8zX/LnbBR/kqD4nzmk41h/fVETlL3LVwj6LcUad2UG60Rg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.1.tgz", + "integrity": "sha512-1r7aXfSRCLkBYXGcko/GpSZdHxXKvYaeUi2ulEbB7cLvACD7DNoAA/uW6dsETEhgmsEipJZI7NLqBl2whOse8Q==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6349,12 +6401,15 @@ }, "dependencies": { "readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "requires": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" } } } @@ -6422,9 +6477,9 @@ } }, "relative-to-absolute-iri": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.6.tgz", - "integrity": "sha512-Xw5/Zx6iWSCMJUXwXVOjySjH8Xli4hVFL9QQFvkl1qEmFBG94J+QUI9emnoctOCD3285f1jNV+QWV9eDYwIdfQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", + "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==", "dev": true }, "repeat-element": { @@ -6682,9 +6737,9 @@ "dev": true }, "sparqljson-parse": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.0.tgz", - "integrity": "sha512-JKyoDNDR9xrJwR6x6N41UWfER6kfeirE9BRBHdSFSfQF3eF3pxpuUTcJ6QGwHQ4wC/JsQdG/4OGmzkuk1B+8gg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sparqljson-parse/-/sparqljson-parse-2.1.2.tgz", + "integrity": "sha512-RqPeyy+RYQMeqgEsKPTY+ME5ZNXcgXJzg1v0o+tROiTntS9CwUW8mAY3wsx6seSvW3LVyNDEtsqOxnAokoGXOA==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6696,20 +6751,23 @@ }, "dependencies": { "readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "requires": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" } } } }, "sparqlxml-parse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.1.tgz", - "integrity": "sha512-7HZMm0l9a+NQW6mEHzur+KEXA2/gpLYsyiq9yMLKa7Us8yfUJG/+fbHmuBoN7yE0t41SfCXtq4EU/nDjFSGudw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sparqlxml-parse/-/sparqlxml-parse-2.0.2.tgz", + "integrity": "sha512-Iqso0WSTCSuMUYoX2pOEJxteCq9U+7AkOqwlFcvFG1S1aM87xWrp28njQOIiyIrL7Y8CkVXBZG1ec+DhZYUNXA==", "dev": true, "requires": { "@rdfjs/types": "*", @@ -6721,12 +6779,15 @@ }, "dependencies": { "readable-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", - "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", + "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", "dev": true, "requires": { - "abort-controller": "^3.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10" } } } @@ -6801,7 +6862,7 @@ "streamify-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha1-niIN4z4cR13TDgIG9bGBXMbJUls=", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", "dev": true }, "string_decoder": { @@ -7074,9 +7135,9 @@ "dev": true }, "validate-iri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.0.tgz", - "integrity": "sha512-4htbVgPOAS8RihVeyp/Pq5bnpKKhA2FcpsYTTION9rejFSZuIUX80SzO/+WMtSR3OVV1NFJx3J6DjrAZw83eCA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", + "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==", "dev": true }, "webidl-conversions": { diff --git a/package.json b/package.json index c64fc94d..a0523020 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "jison": "0.4.18", "mocha": "^7.2.0", "pre-commit": "^1.2.2", - "rdf-test-suite": "^1.19.2" + "rdf-test-suite": "^1.20.0" }, "browser": { "_process": false, From 54628e8ed29d5b53ece4433d0c6e60575788c971 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 21 Nov 2022 21:41:09 +1100 Subject: [PATCH 33/39] chore: force audit fix --- package-lock.json | 2330 ++++++++++++++++----------------------------- package.json | 2 +- 2 files changed, 818 insertions(+), 1514 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3f8316f..53e2e6f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "devDependencies": { "expect": "^24.9.0", "jison": "0.4.18", - "mocha": "^7.2.0", + "mocha": "^10.1.0", "pre-commit": "^1.2.2", "rdf-test-suite": "^1.20.0" }, @@ -239,9 +239,9 @@ } }, "node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, "engines": { "node": ">=6" @@ -269,9 +269,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -282,13 +282,10 @@ } }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/arr-diff": { "version": "4.0.0", @@ -354,9 +351,9 @@ } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/base": { @@ -448,22 +445,21 @@ ] }, "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -555,19 +551,6 @@ "node": ">=0.10.0" } }, - "node_modules/call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -578,12 +561,15 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/canonicalize": { @@ -607,24 +593,30 @@ } }, "node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.1" + "fsevents": "~2.3.2" } }, "node_modules/chokidar/node_modules/braces": { @@ -712,40 +704,14 @@ } }, "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/collection-visit": { @@ -794,7 +760,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "node_modules/concat-stream": { @@ -857,12 +823,15 @@ } }, "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/decode-uri-component": { @@ -874,18 +843,6 @@ "node": ">=0.10" } }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -938,9 +895,9 @@ } }, "node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, "engines": { "node": ">=0.3.1" @@ -962,69 +919,18 @@ "dev": true }, "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-abstract/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, "node_modules/escape-string-regexp": { @@ -1312,38 +1218,30 @@ } }, "node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, "bin": { "flat": "cli.js" } }, - "node_modules/flat/node_modules/is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -1368,14 +1266,13 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, @@ -1386,12 +1283,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1401,20 +1292,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -1425,9 +1302,9 @@ } }, "node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -1439,6 +1316,9 @@ }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { @@ -1453,33 +1333,34 @@ "node": ">= 6" } }, - "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "engines": { - "node": ">=4.x" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.4.0" + "node": "*" } }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -1489,18 +1370,6 @@ "node": ">=4" } }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -1591,7 +1460,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { "once": "^1.3.0", @@ -1646,18 +1515,6 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -1682,18 +1539,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -1729,25 +1574,25 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "dependencies": { "is-extglob": "^2.1.1" @@ -1756,15 +1601,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -1789,6 +1625,15 @@ "node": ">=0.10.0" } }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -1801,21 +1646,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -1828,21 +1658,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -1997,31 +1812,17 @@ "dev": true }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, - "node_modules/js-yaml/node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/json-stable-stringify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", @@ -2152,48 +1953,118 @@ "dev": true }, "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "chalk": "^2.4.2" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/map-cache": { - "version": "0.2.2", + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true, @@ -2244,15 +2115,15 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/minimist": { @@ -2286,55 +2157,40 @@ "node": ">=0.10.0" } }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", "dev": true, "dependencies": { - "ansi-colors": "3.2.3", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "bin": { "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.0.0" }, "funding": { "type": "opencollective", @@ -2342,31 +2198,68 @@ } }, "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/ms": { @@ -2403,6 +2296,18 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -2425,16 +2330,6 @@ "node": ">=0.10.0" } }, - "node_modules/node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -2516,24 +2411,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -2546,37 +2423,6 @@ "node": ">=0.10.0" } }, - "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -2592,7 +2438,7 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { "wrappy": "1" @@ -2608,39 +2454,33 @@ } }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pascalcase": { @@ -2653,27 +2493,27 @@ } }, "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -2777,6 +2617,15 @@ } ] }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/rdf-data-factory": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", @@ -2899,92 +2748,6 @@ "rdf-test-suite": "bin/Runner.js" } }, - "node_modules/rdf-test-suite/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/rdf-test-suite/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/rdf-test-suite/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/rdf-test-suite/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/rdf-test-suite/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/rdf-test-suite/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rdf-test-suite/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/rdfxml-streaming-parser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.2.1.tgz", @@ -3068,15 +2831,15 @@ } }, "node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" }, "engines": { - "node": ">= 8" + "node": ">=8.10.0" } }, "node_modules/regex-not": { @@ -3119,18 +2882,12 @@ "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -3174,21 +2931,15 @@ "node": ">=v12.22.7" } }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -3497,12 +3248,6 @@ "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, "node_modules/stack-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", @@ -3538,190 +3283,80 @@ } }, "node_modules/stream-to-string": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", - "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", - "dev": true, - "dependencies": { - "promise-polyfill": "^1.1.6" - } - }, - "node_modules/streamify-array": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", - "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", - "dev": true - }, - "node_modules/streamify-string": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", - "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend/node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-to-string/-/stream-to-string-1.2.0.tgz", + "integrity": "sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "promise-polyfill": "^1.1.6" } }, - "node_modules/string.prototype.trimstart/node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "node_modules/streamify-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-array/-/streamify-array-1.0.1.tgz", + "integrity": "sha512-ZnswaBcC6B1bhPLSQOlC6CdaDUSzU0wr2lvvHpbHNms8V7+DLd8uEAzDAWpsjxbFkijBHhuObFO/qqu52DZUMA==", + "dev": true + }, + "node_modules/streamify-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/streamify-string/-/streamify-string-1.0.1.tgz", + "integrity": "sha512-RXvBglotrvSIuQQ7oC55pdV40wZ/17gTb68ipMC4LA0SqMN4Sqfsf31Dpei7qXpYqZQ8ueVnPglUvtep3tlhqw==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "~5.1.0" } }, - "node_modules/string.prototype.trimstart/node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/supports-color": { @@ -3928,65 +3563,66 @@ "which": "bin/which" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", "dev": true }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, "node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "node_modules/xmlchars": { @@ -3996,10 +3632,13 @@ "dev": true }, "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "2.1.2", @@ -4008,71 +3647,57 @@ "dev": true }, "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "engines": { + "node": ">=10" } }, "node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" + "node": ">=10" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } } }, @@ -4273,9 +3898,9 @@ "optional": true }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { @@ -4294,9 +3919,9 @@ } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -4304,13 +3929,10 @@ } }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "arr-diff": { "version": "4.0.0", @@ -4355,9 +3977,9 @@ "dev": true }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -4422,19 +4044,18 @@ "dev": true }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "braces": { @@ -4505,16 +4126,6 @@ "unset-value": "^1.0.0" } }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -4522,9 +4133,9 @@ "dev": true }, "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "canonicalize": { @@ -4545,19 +4156,19 @@ } }, "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "readdirp": "~3.6.0" }, "dependencies": { "braces": { @@ -4628,36 +4239,14 @@ } }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "collection-visit": { @@ -4700,7 +4289,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "concat-stream": { @@ -4757,9 +4346,9 @@ } }, "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true }, "decode-uri-component": { @@ -4768,15 +4357,6 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -4819,9 +4399,9 @@ } }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true }, "diff-sequences": { @@ -4837,54 +4417,16 @@ "dev": true }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "dependencies": { - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, "escape-string-regexp": { "version": "1.0.5", @@ -5105,30 +4647,20 @@ } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", - "dev": true - } - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true }, "for-in": { "version": "1.0.2", @@ -5148,39 +4680,22 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -5188,9 +4703,9 @@ "dev": true }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -5199,6 +4714,27 @@ "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "glob-parent": { @@ -5216,33 +4752,12 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -5306,7 +4821,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -5354,12 +4869,6 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5380,12 +4889,6 @@ } } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -5414,30 +4917,24 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", - "dev": true - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -5458,6 +4955,12 @@ } } }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -5467,30 +4970,12 @@ "isobject": "^3.0.1" } }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -5606,21 +5091,12 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } + "argparse": "^2.0.1" } }, "json-stable-stringify": { @@ -5725,28 +5201,73 @@ "dev": true }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^2.4.2" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "lru-cache": { @@ -5802,12 +5323,12 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" } }, "minimist": { @@ -5837,69 +5358,77 @@ } } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } @@ -5934,6 +5463,12 @@ } } }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -5953,16 +5488,6 @@ "to-regex": "^3.0.1" } }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -6019,18 +5544,6 @@ } } }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", @@ -6040,28 +5553,6 @@ "isobject": "^3.0.0" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -6074,7 +5565,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" @@ -6087,29 +5578,23 @@ "dev": true }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", @@ -6117,21 +5602,21 @@ "dev": true }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "posix-character-classes": { @@ -6204,6 +5689,15 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "rdf-data-factory": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.1.tgz", @@ -6321,67 +5815,6 @@ "sparqlxml-parse": "^2.0.1", "stream-to-string": "^1.1.0", "streamify-string": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "rdfxml-streaming-parser": { @@ -6458,12 +5891,12 @@ } }, "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" } }, "regex-not": { @@ -6497,13 +5930,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "resolve-url": { @@ -6542,17 +5969,14 @@ "xmlchars": "^2.2.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "set-value": { "version": "2.0.1", @@ -6811,12 +6235,6 @@ "extend-shallow": "^3.0.0" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, "stack-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", @@ -6875,124 +6293,37 @@ } }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } - } - }, - "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.1" }, "dependencies": { "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true } } }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { @@ -7165,58 +6496,53 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", "dev": true }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "color-convert": "^2.0.1" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "color-name": "~1.1.4" } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "xmlchars": { @@ -7226,9 +6552,9 @@ "dev": true }, "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { @@ -7238,65 +6564,43 @@ "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true }, "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index a0523020..0c3ddd15 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "devDependencies": { "expect": "^24.9.0", "jison": "0.4.18", - "mocha": "^7.2.0", + "mocha": "^10.1.0", "pre-commit": "^1.2.2", "rdf-test-suite": "^1.20.0" }, From 1281a0af650a92aa84d0e9e0062c7191a4eebdf9 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Fri, 25 Nov 2022 16:28:59 +1100 Subject: [PATCH 34/39] chore: add operator tests for sparql-star --- .github/workflows/ci.yml | 1 + .../sparql-star-istriple.sparql | 7 +++ .../sparql-star-object.sparql | 7 +++ .../sparql-star-predicate.sparql | 7 +++ .../sparql-star-subject.sparql | 7 +++ .../sparql-star-triple.sparql | 6 ++ test/SparqlParser-test.js | 1 + .../sparql-star-istriple.json | 56 +++++++++++++++++ .../sparql-star-object.json | 60 +++++++++++++++++++ .../sparql-star-predicate.json | 60 +++++++++++++++++++ .../sparql-star-subject.json | 60 +++++++++++++++++++ .../sparql-star-triple.json | 55 +++++++++++++++++ 12 files changed, 327 insertions(+) create mode 100644 queries/sparqlstar-operators/sparql-star-istriple.sparql create mode 100644 queries/sparqlstar-operators/sparql-star-object.sparql create mode 100644 queries/sparqlstar-operators/sparql-star-predicate.sparql create mode 100644 queries/sparqlstar-operators/sparql-star-subject.sparql create mode 100644 queries/sparqlstar-operators/sparql-star-triple.sparql create mode 100644 test/parsedQueries/sparqlstar-operators/sparql-star-istriple.json create mode 100644 test/parsedQueries/sparqlstar-operators/sparql-star-object.json create mode 100644 test/parsedQueries/sparqlstar-operators/sparql-star-predicate.json create mode 100644 test/parsedQueries/sparqlstar-operators/sparql-star-subject.json create mode 100644 test/parsedQueries/sparqlstar-operators/sparql-star-triple.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b2caae7..5f4e427a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,3 +28,4 @@ jobs: - run: npm run build - run: npm test - run: npm run spec +, \ No newline at end of file diff --git a/queries/sparqlstar-operators/sparql-star-istriple.sparql b/queries/sparqlstar-operators/sparql-star-istriple.sparql new file mode 100644 index 00000000..6638fb1a --- /dev/null +++ b/queries/sparqlstar-operators/sparql-star-istriple.sparql @@ -0,0 +1,7 @@ +PREFIX ex: +PREFIX rdf: + +SELECT ?s ?p ?o WHERE { + ?s ?p ?o . + FILTER(isTriple(?s)) +} diff --git a/queries/sparqlstar-operators/sparql-star-object.sparql b/queries/sparqlstar-operators/sparql-star-object.sparql new file mode 100644 index 00000000..d808f5e7 --- /dev/null +++ b/queries/sparqlstar-operators/sparql-star-object.sparql @@ -0,0 +1,7 @@ +PREFIX ex: +PREFIX rdf: + +SELECT (object(?s) as ?o1) WHERE { + ?s ?p ?o . + FILTER(isTriple(?s)) +} diff --git a/queries/sparqlstar-operators/sparql-star-predicate.sparql b/queries/sparqlstar-operators/sparql-star-predicate.sparql new file mode 100644 index 00000000..dfd61daa --- /dev/null +++ b/queries/sparqlstar-operators/sparql-star-predicate.sparql @@ -0,0 +1,7 @@ +PREFIX ex: +PREFIX rdf: + +SELECT (predicate(?s) as ?p1) WHERE { + ?s ?p ?o . + FILTER(isTriple(?s)) +} diff --git a/queries/sparqlstar-operators/sparql-star-subject.sparql b/queries/sparqlstar-operators/sparql-star-subject.sparql new file mode 100644 index 00000000..6d14d5b4 --- /dev/null +++ b/queries/sparqlstar-operators/sparql-star-subject.sparql @@ -0,0 +1,7 @@ +PREFIX ex: +PREFIX rdf: + +SELECT (subject(?s) as ?s1) WHERE { + ?s ?p ?o . + FILTER(isTriple(?s)) +} diff --git a/queries/sparqlstar-operators/sparql-star-triple.sparql b/queries/sparqlstar-operators/sparql-star-triple.sparql new file mode 100644 index 00000000..88e2300c --- /dev/null +++ b/queries/sparqlstar-operators/sparql-star-triple.sparql @@ -0,0 +1,6 @@ +PREFIX ex: +PREFIX rdf: + +SELECT (triple(?s, ?p, ?o) as ?t) WHERE { + ?s ?p ?o . +} diff --git a/test/SparqlParser-test.js b/test/SparqlParser-test.js index ab6e3962..1e5a62c7 100644 --- a/test/SparqlParser-test.js +++ b/test/SparqlParser-test.js @@ -43,6 +43,7 @@ describe('A SPARQL parser', function () { testQueries('sparql-skip-validation', { sparqlStar: true, mustError: true }); // Select queries from the sparqlstar specification testQueries('sparqlstar-spec', { sparqlStar: true }); + testQueries('sparqlstar-operators', { sparqlStar: true }); testQueries('sparqlstar-nested-quads', { mustError: true, sparqlStar: true, skipValidation: true }); testQueries('sparqlstar-nested-quads', { mustError: true, sparqlStar: true }); diff --git a/test/parsedQueries/sparqlstar-operators/sparql-star-istriple.json b/test/parsedQueries/sparqlstar-operators/sparql-star-istriple.json new file mode 100644 index 00000000..0b4319a6 --- /dev/null +++ b/test/parsedQueries/sparqlstar-operators/sparql-star-istriple.json @@ -0,0 +1,56 @@ +{ + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "termType": "Variable", + "value": "s" + }, + { + "termType": "Variable", + "value": "p" + }, + { + "termType": "Variable", + "value": "o" + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + } + ], + "type": "bgp" + }, + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "istriple", + "type": "operation" + }, + "type": "filter" + } + ] +} diff --git a/test/parsedQueries/sparqlstar-operators/sparql-star-object.json b/test/parsedQueries/sparqlstar-operators/sparql-star-object.json new file mode 100644 index 00000000..366ad909 --- /dev/null +++ b/test/parsedQueries/sparqlstar-operators/sparql-star-object.json @@ -0,0 +1,60 @@ +{ + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "object", + "type": "operation" + }, + "variable": { + "termType": "Variable", + "value": "o1" + } + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + } + ], + "type": "bgp" + }, + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "istriple", + "type": "operation" + }, + "type": "filter" + } + ] +} diff --git a/test/parsedQueries/sparqlstar-operators/sparql-star-predicate.json b/test/parsedQueries/sparqlstar-operators/sparql-star-predicate.json new file mode 100644 index 00000000..c8233825 --- /dev/null +++ b/test/parsedQueries/sparqlstar-operators/sparql-star-predicate.json @@ -0,0 +1,60 @@ +{ + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "predicate", + "type": "operation" + }, + "variable": { + "termType": "Variable", + "value": "p1" + } + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + } + ], + "type": "bgp" + }, + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "istriple", + "type": "operation" + }, + "type": "filter" + } + ] +} diff --git a/test/parsedQueries/sparqlstar-operators/sparql-star-subject.json b/test/parsedQueries/sparqlstar-operators/sparql-star-subject.json new file mode 100644 index 00000000..d8833218 --- /dev/null +++ b/test/parsedQueries/sparqlstar-operators/sparql-star-subject.json @@ -0,0 +1,60 @@ +{ + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "subject", + "type": "operation" + }, + "variable": { + "termType": "Variable", + "value": "s1" + } + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + } + ], + "type": "bgp" + }, + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + } + ], + "operator": "istriple", + "type": "operation" + }, + "type": "filter" + } + ] +} diff --git a/test/parsedQueries/sparqlstar-operators/sparql-star-triple.json b/test/parsedQueries/sparqlstar-operators/sparql-star-triple.json new file mode 100644 index 00000000..3111888b --- /dev/null +++ b/test/parsedQueries/sparqlstar-operators/sparql-star-triple.json @@ -0,0 +1,55 @@ +{ + "prefixes": { + "ex": "http://example.com/", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + }, + "queryType": "SELECT", + "type": "query", + "variables": [ + { + "expression": { + "args": [ + { + "termType": "Variable", + "value": "s" + }, + { + "termType": "Variable", + "value": "p" + }, + { + "termType": "Variable", + "value": "o" + } + ], + "operator": "triple", + "type": "operation" + }, + "variable": { + "termType": "Variable", + "value": "t" + } + } + ], + "where": [ + { + "triples": [ + { + "object": { + "termType": "Variable", + "value": "o" + }, + "predicate": { + "termType": "Variable", + "value": "p" + }, + "subject": { + "termType": "Variable", + "value": "s" + } + } + ], + "type": "bgp" + } + ] +} From 1161ebfc5141d55d6ca8b0ff0afa00ab9f1a0727 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 28 Nov 2022 22:58:17 +1100 Subject: [PATCH 35/39] chore: remove added comma from CI.yml --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f4e427a..8b2caae7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,4 +28,3 @@ jobs: - run: npm run build - run: npm test - run: npm run spec -, \ No newline at end of file From 5a4014c0ff3c00edc8b9f80af070d75d3124d47c Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Wed, 4 Jan 2023 17:45:43 +1100 Subject: [PATCH 36/39] chore: re-inline some expressions --- lib/sparql.jison | 313 +++++++++++------------------------------------ 1 file changed, 73 insertions(+), 240 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index cb2d7253..9965d608 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -681,7 +681,7 @@ SPACES_COMMENTS (\s+|{COMMENT}\n\r?)+ %% QueryOrUpdate - : Prologue ( QueryUnit | Update? | Path ) EOF + : Prologue ( Query /* [1] QueryUnit */ | Update? | Path ) EOF { // Set parser options $2 = $2 || {}; @@ -734,19 +734,9 @@ QueryOrUpdate } ; -// [1] -QueryUnit - : Query - ; - // [2] Query - : ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery ) ValuesClause? -> { ...$1, ...$2, type: 'query' } - ; - -// [3] -UpdateUnit - : Update + : Qry ValuesClause? -> { ...$1, ...$2, type: 'query' } ; // [4] @@ -773,8 +763,8 @@ PrefixDecl } ; -// [7] Didn't check use of SolutionModifierNoGroup seems off as this introduces a havinClause where not expected. -SelectQuery +Qry + // [7] SelectQuery: Didn't check use of SolutionModifierNoGroup seems off as this introduces a havinClause where not expected. : SelectClauseWildcard DatasetClause* WhereClause SolutionModifierNoGroup -> { ...$1, ...groupDatasets($2), ...$3, ...$4 } | SelectClauseVars DatasetClause* WhereClause SolutionModifier { @@ -812,7 +802,15 @@ SelectQuery } $$ = extend($1, groupDatasets($2), $3, $4) } + // [10] ConstructQuery + | 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) + | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) + // [11] DescribeQuery + | 'DESCRIBE' ( VarOrIri+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2 }, groupDatasets($3), $4, $5) + // [12] AskQuery + | 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) ; + SelectClauseWildcard : SelectClauseBase '*' -> extend($1, {variables: [new Wildcard()]}) ; @@ -843,40 +841,10 @@ SubSelect | SelectClauseVars WhereClause SolutionModifier ValuesClause? -> extend($1, $2, $3, $4, { type: 'query' }) ; -// [10] -ConstructQuery - : 'CONSTRUCT' ConstructTemplate DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $2 }, groupDatasets($3), $4, $5) - | 'CONSTRUCT' DatasetClause* 'WHERE' '{' TriplesTemplate? '}' SolutionModifier -> extend({ queryType: 'CONSTRUCT', template: $5 = ($5 ? $5.triples : []) }, groupDatasets($2), { where: [ { type: 'bgp', triples: appendAllTo([], $5) } ] }, $7) - ; - -// [11] -DescribeQuery - : 'DESCRIBE' ( VarOrIri+ | '*' ) DatasetClause* WhereClause? SolutionModifier -> extend({ queryType: 'DESCRIBE', variables: $2 === '*' ? [new Wildcard()] : $2 }, groupDatasets($3), $4, $5) - ; - -// [12] -AskQuery - : 'ASK' DatasetClause* WhereClause SolutionModifier -> extend({ queryType: 'ASK' }, groupDatasets($2), $3, $4) - ; - // [13] DatasetClause - : 'FROM' (DefaultGraphClause | NamedGraphClause) -> $2 - ; - -// [14] -DefaultGraphClause - : SourceSelector -> { iri: $1, named: false } - ; - -// [15] -NamedGraphClause - : 'NAMED' SourceSelector -> { iri: $2, named: true } - ; - -// [16] -SourceSelector - : iri + // [14] & [15] + : 'FROM' 'NAMED'? iri -> { iri: $3, named: !!$2 } ; // [17] @@ -909,12 +877,7 @@ GroupCondition // [21] HavingClause - : 'HAVING' HavingCondition+ -> { having: $2 } - ; - -// [22] -HavingCondition - : Constraint + : 'HAVING' (Constraint /* [22] HavingCondition */)+ -> { having: $2 } ; // [23] @@ -932,20 +895,12 @@ OrderCondition // [25] LimitOffsetClauses - : LimitClause -> { limit: $1 } - | OffsetClause -> { offset: $2 } - | LimitClause OffsetClause -> { limit: $1, offset: $2 } - | OffsetClause LimitClause -> { limit: $2, offset: $1 } - ; - -// [26] -LimitClause - : 'LIMIT' INTEGER -> toInt($2) - ; - -// [27] -OffsetClause - : 'OFFSET' INTEGER -> toInt($2) + // [26] LimitClause + : 'LIMIT' INTEGER -> { limit: toInt($2) } + // [27] OffsetClause + | 'OFFSET' INTEGER -> { offset: toInt($2) } + | 'LIMIT' INTEGER 'OFFSET' INTEGER -> { limit: toInt($2), offset: toInt($4) } + | 'OFFSET' INTEGER 'LIMIT' INTEGER -> { limit: toInt($4), offset: toInt($2) } ; // [28] @@ -982,72 +937,34 @@ Update // [30] Update1 - : Load - | ClearOrDrop - | AddOrMoveOrCopy - | Create - | InsertData - | DeleteData - | DeleteWhere - | Modify - ; - - -// [31] -Load + // [31] Load : 'LOAD' 'SILENT'? iri IntoGraphClause? -> extend({ type: 'load', silent: !!$2, source: $3 }, $4 && { destination: $4 }) + // [32]-[33] ClearOrDrop + | ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } + // [35]-[37] AddOrMoveOrCopy + | ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } + // [34] Create + | 'CREATE' 'SILENT'? 'GRAPH' iri -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $4 } } + // [38] InsertData + | 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } + // [39] DeleteData + | 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } + // [40] DeleteWhere + | 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } + // [41] Modify + | WithClause? InsertDeleteClause UsingClause* 'WHERE' GroupGraphPattern -> { updateType: 'insertdelete', ...$1, ...$2, ...groupDatasets($3, 'using'), where: $5.patterns } ; IntoGraphClause : 'INTO' GraphRef -> $2 ; -// [32]-[33] -ClearOrDrop - : ( 'CLEAR' | 'DROP' ) 'SILENT'? GraphRefAll -> { type: lowercase($1), silent: !!$2, graph: $3 } - ; - - -// [34] -Create - : 'CREATE' 'SILENT'? GraphRef -> { type: 'create', silent: !!$2, graph: { type: 'graph', name: $3 } } - ; - -// [35]-[37] -AddOrMoveOrCopy - : ( 'ADD' | 'MOVE' | 'COPY' ) 'SILENT'? GraphOrDefault 'TO' GraphOrDefault -> { type: lowercase($1), silent: !!$2, source: $3, destination: $5 } - ; - -// [38] -InsertData - : 'INSERTDATA' QuadPattern -> { updateType: 'insert', insert: ensureNoVariables($2) } - ; - -// [39] -DeleteData - : 'DELETEDATA' QuadPattern -> { updateType: 'delete', delete: ensureNoBnodes(ensureNoVariables($2)) } - ; - -// [40] -DeleteWhere - : 'DELETEWHERE' QuadPattern -> { updateType: 'deletewhere', delete: ensureNoBnodes($2) } - ; - -// [41] -Modify - : WithClause? InsertDeleteClause UsingClause* 'WHERE' GroupGraphPattern -> { updateType: 'insertdelete', ...$1, ...$2, ...groupDatasets($3, 'using'), where: $5.patterns } - ; - InsertDeleteClause - : DeleteClause InsertClause? -> { delete: $1, insert: $2 || [] } + // [42] DeleteClause + : 'DELETE' QuadPattern InsertClause? -> { delete: ensureNoBnodes($2), insert: $3 || [] } | InsertClause -> { delete: [], insert: $1 } ; -// [42] -DeleteClause - : 'DELETE' QuadPattern -> ensureNoBnodes($2) - ; - // [43] InsertClause : 'INSERT' QuadPattern -> $2 @@ -1079,27 +996,11 @@ GraphRefAll | ( 'DEFAULT' | 'NAMED' | 'ALL' ) -> { [lowercase($1)]: true } ; -// [48] -QuadPattern - : QuadBraces - ; - -// [49] -QuadData - : QuadBraces - ; - - // [48] QuadPattern : '{' Quads '}' -> $2 ; -// [49] -QuadData - : '{' Quads '}' -> $2 - ; - // [50] Quads : TriplesTemplate? QuadsNotTriples* -> $1 ? unionAll($2, [$1]) : unionAll($2) @@ -1158,38 +1059,23 @@ TriplesBlock ; // [56] - GraphPatternNotTriples : GroupOrUnionGraphPattern - | OptionalGraphPattern - | MinusGraphPattern - | GraphGraphPattern - | ServiceGraphPattern - | Filter - | Bind + // [57] OptionalGraphPattern + | 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) + // [66] MinusGraphPattern + | 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) + // [58] GraphGraphPattern + | 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) + // [59] ServiceGraphPattern + | 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) + // [68] Filter + | 'FILTER' Constraint -> { type: 'filter', expression: $2 } + // [60] Bind + | 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } | ValuesClause ; -// [57] -OptionalGraphPattern - : 'OPTIONAL' GroupGraphPattern -> extend($2, { type: 'optional' }) - ; - -// [58] -GraphGraphPattern - : 'GRAPH' VarOrIri GroupGraphPattern -> extend($3, { type: 'graph', name: $2 }) - ; - -// [59] -ServiceGraphPattern - : 'SERVICE' 'SILENT'? VarOrIri GroupGraphPattern -> extend($4, { type: 'service', name: $3, silent: !!$2 }) - ; - -// [60] -Bind - : 'BIND' '(' Expression 'AS' Var ')' -> { type: 'bind', variable: $5, expression: $3 } - ; - // [61] InlineData : 'VALUES' DataBlock -> { type: 'values', values: $2 } @@ -1206,7 +1092,6 @@ InlineDataOneVar : VAR '{' DataBlockValue* '}' -> $3.map(v => ({ [$1]: v })) ; - // [64] InlineDataFull : NIL '{' NIL* '}' -> $3.map(() => ({})) @@ -1234,21 +1119,11 @@ DataBlockValue | 'UNDEF' -> undefined ; -// [66] -MinusGraphPattern - : 'MINUS' GroupGraphPattern -> extend($2, { type: 'minus' }) - ; - // [67] GroupOrUnionGraphPattern : ( GroupGraphPattern 'UNION' )* GroupGraphPattern -> $1.length ? { type: 'union', patterns: unionAll($1.map(degroupSingle), [degroupSingle($2)]) } : $2 ; -// [68] -Filter - : 'FILTER' Constraint -> { type: 'filter', expression: $2 } - ; - // [69] Constraint : BrackettedExpression @@ -1332,23 +1207,16 @@ TriplesSameSubjectPath // [83] PropertyListPathNotEmpty - : ( VerbPath | VerbSimple ) ObjectListPath PropertyListPathNotEmptyTail* -> objectListToTriples($1, $2, $3) + : O PropertyListPathNotEmptyTail* -> objectListToTriples(...$1, $2) ; PropertyListPathNotEmptyTail : ';' -> [] - | ';' ( VerbPath | VerbSimple ) ObjectListPath -> objectListToTriples(toVar($2), $3) + | ';' O -> objectListToTriples(...$2) ; -// [84] -VerbPath - : Path - ; - -// [85] -VerbSimple - : Var - ; +O : ( Path /* [84] VerbPath */ | Var /* [85] VerbSimple */ ) ObjectListPath -> [$1, $2] + ; // [86] ObjectListPath @@ -1360,13 +1228,8 @@ ObjectPath : GraphNodePath AnnotationPatternPath? -> $2 ? { object: $1, annotation: $2 } : $1; ; -// [88] +// [88] Path [89] PathAlternative Path - : PathAlternative - ; - -// [89] -PathAlternative : ( PathSequence '|' )* PathSequence -> $1.length ? path('|',appendTo($1, $2)) : $2 ; @@ -1377,7 +1240,7 @@ PathSequence // [91] PathElt - : PathPrimary PathMod? -> $2 ? path($2, [$1]) : $1 + : PathPrimary ('?'|'*'|'+' /* [93] PathMod */)? -> $2 ? path($2, [$1]) : $1 ; // [92] @@ -1385,13 +1248,6 @@ PathEltOrInverse : '^'? PathElt -> $1 ? path($1, [$2]) : $2; ; -// [93] -PathMod - : '?' - | '*' - | '+' - ; - // [94] PathPrimary : IriOrA @@ -1423,16 +1279,20 @@ TriplesNodePath // [104] GraphNode - : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNode */ + : G /* for consistency with TriplesNode */ | TriplesNode ; // [105] GraphNodePath - : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } /* for consistency with TriplesNodePath */ + : G /* for consistency with TriplesNodePath */ | TriplesNodePath ; +G + : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } + ; + // [106] VarOrTerm : Var @@ -1456,7 +1316,7 @@ GraphTerm : iri | Literal | BlankNode - | NIL -> Parser.factory.namedNode(RDF_NIL) + | NIL -> Parser.factory.namedNode(RDF_NIL) ; // [110] @@ -1475,32 +1335,22 @@ ConditionalOrExpressionTail // [112] ConditionalAndExpression - : ValueLogical ConditionalAndExpressionTail* -> createOperationTree($1, $2) + : RelationalExpression /* [113] ValueLogical */ ConditionalAndExpressionTail* -> createOperationTree($1, $2) ; ConditionalAndExpressionTail - : '&&' ValueLogical -> ['&&', $2] - ; - -// [113] -ValueLogical - : RelationalExpression + : '&&' RelationalExpression /* [113] ValueLogical */ -> ['&&', $2] ; // [114] RelationalExpression : NumericExpression - | NumericExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) AdditiveExpression -> operation($2, [$1, $3]) + | NumericExpression ( '=' | '!=' | '<' | '>' | '<=' | '>=' ) NumericExpression /* [116] AdditiveExpression */ -> operation($2, [$1, $3]) | NumericExpression 'NOT'? 'IN' ExpressionList -> operation($2 ? 'notin' : 'in', [$1, $4]) ; // [115] NumericExpression - : AdditiveExpression - ; - -// [116] -AdditiveExpression : MultiplicativeExpression AdditiveExpressionTail* -> createOperationTree($1, $2) ; AdditiveExpressionTail @@ -1576,30 +1426,18 @@ GroupConcatSeparator // Summary of [129], [130] & [134] Literal - : RDFLiteral - | NumericLiteral - | BooleanLiteral - ; - -// [129] -RDFLiteral + // [129] RDFLiteral : String -> createTypedLiteral($1) | String LANGTAG -> createLangLiteral($1, lowercase($2.substr(1))) | String '^^' iri -> createTypedLiteral($1, $3) - ; - -// [130] -NumericLiteral - : NumericLiteralUnsigned - | NumericLiteralPositive - | NumericLiteralNegative - ; - -// [131] -NumericLiteralUnsigned - : INTEGER -> createTypedLiteral($1, XSD_INTEGER) + // [131] NumericLiteralUnsigned + | INTEGER -> createTypedLiteral($1, XSD_INTEGER) | DECIMAL -> createTypedLiteral($1, XSD_DECIMAL) | DOUBLE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) + | NumericLiteralPositive + | NumericLiteralNegative + // [134] BooleanLiteral + | BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) ; // [132] @@ -1616,11 +1454,6 @@ NumericLiteralNegative | DOUBLE_NEGATIVE -> createTypedLiteral(lowercase($1), XSD_DOUBLE) ; -// [134] -BooleanLiteral - : BOOLEAN -> createTypedLiteral($1.toLowerCase(), XSD_BOOLEAN) - ; - // [135] String : STRING_LITERAL1 -> unescapeString($1, 1) From d508492d8f1b236ebf6c93483710d5a20393dca0 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Wed, 4 Jan 2023 17:54:40 +1100 Subject: [PATCH 37/39] chore: fix naming --- lib/sparql.jison | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index 9965d608..b7f12522 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -1279,17 +1279,17 @@ TriplesNodePath // [104] GraphNode - : G /* for consistency with TriplesNode */ + : VarOrTermOrQuotedTPExpr /* for consistency with TriplesNode */ | TriplesNode ; // [105] GraphNodePath - : G /* for consistency with TriplesNodePath */ + : VarOrTermOrQuotedTPExpr /* for consistency with TriplesNodePath */ | TriplesNodePath ; -G +VarOrTermOrQuotedTPExpr : VarOrTermOrQuotedTP -> { entity: $1, triples: [] } ; From a8f4b464cd202f6b22445f7767ee17acace57b74 Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 5 Jan 2023 11:53:01 +1100 Subject: [PATCH 38/39] chore: fix space alignment --- lib/sparql.jison | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index b7f12522..b106077f 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -172,9 +172,9 @@ // Creates a triple with the given subject, predicate, and object function triple(subject, predicate, object, annotations) { var triple = {}; - if (subject != null) triple.subject = subject; - if (predicate != null) triple.predicate = predicate; - if (object != null) triple.object = object; + if (subject != null) triple.subject = subject; + if (predicate != null) triple.predicate = predicate; + if (object != null) triple.object = object; if (annotations != null) triple.annotations = annotations; return triple; } From 96c5d7d41b34fe3deeb8a3c11744d9b87b6d92bd Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Thu, 5 Jan 2023 11:54:12 +1100 Subject: [PATCH 39/39] chore: fix space alignment --- lib/sparql.jison | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/sparql.jison b/lib/sparql.jison index b106077f..c2c1c5e7 100644 --- a/lib/sparql.jison +++ b/lib/sparql.jison @@ -172,9 +172,9 @@ // Creates a triple with the given subject, predicate, and object function triple(subject, predicate, object, annotations) { var triple = {}; - if (subject != null) triple.subject = subject; - if (predicate != null) triple.predicate = predicate; - if (object != null) triple.object = object; + if (subject != null) triple.subject = subject; + if (predicate != null) triple.predicate = predicate; + if (object != null) triple.object = object; if (annotations != null) triple.annotations = annotations; return triple; }