@comunica/bus-query-operation 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActorQueryOperation.js","sourceRoot":"","sources":["ActorQueryOperation.ts"],"names":[],"mappings":"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","sourcesContent":["import { KeysInitQuery, KeysQueryOperation } from '@comunica/context-entries';\nimport type { IActorArgs, IActorTest, IAction, Mediate } from '@comunica/core';\nimport { Actor } from '@comunica/core';\nimport { BlankNodeBindingsScoped } from '@comunica/data-factory';\nimport type {\n IQueryOperationResult,\n IQueryOperationResultBindings,\n IQueryOperationResultBoolean,\n IQueryOperationResultQuads,\n IQueryOperationResultVoid,\n Bindings,\n IMetadata, IActionContext,\n} from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport type { Algebra } from 'sparqlalgebrajs';\nimport { materializeOperation } from './Bindings';\n\n/**\n * A counter that keeps track blank node generated through BNODE() SPARQL\n * expressions.\n *\n * @type {number}\n */\nlet bnodeCounter = 0;\n\n/**\n * A comunica actor for query-operation events.\n *\n * Actor types:\n * * Input: IActionQueryOperation: A SPARQL Algebra operation.\n * * Test: <none>\n * * Output: IActorQueryOperationOutput: A bindings stream.\n *\n * @see IActionQueryOperation\n * @see IQueryOperationResult\n */\nexport abstract class ActorQueryOperation extends Actor<IActionQueryOperation, IActorTest, IQueryOperationResult> {\n /**\n * @param args - @defaultNested {<default_bus> a <cbqo:components/BusQueryOperation.jsonld#BusQueryOperation>} bus\n */\n protected constructor(args: IActorQueryOperationArgs) {\n super(args);\n }\n\n /**\n * Safely cast a query operation output to a bindings output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultBindings} A bindings query operation output.\n */\n public static getSafeBindings(output: IQueryOperationResult): IQueryOperationResultBindings {\n ActorQueryOperation.validateQueryOutput(output, 'bindings');\n return <IQueryOperationResultBindings> output;\n }\n\n /**\n * Safely cast a query operation output to a quads output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultQuads} A quads query operation output.\n */\n public static getSafeQuads(output: IQueryOperationResult): IQueryOperationResultQuads {\n ActorQueryOperation.validateQueryOutput(output, 'quads');\n return <IQueryOperationResultQuads> output;\n }\n\n /**\n * Safely cast a query operation output to a boolean output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultBoolean} A boolean query operation output.\n */\n public static getSafeBoolean(output: IQueryOperationResult): IQueryOperationResultBoolean {\n ActorQueryOperation.validateQueryOutput(output, 'boolean');\n return <IQueryOperationResultBoolean> output;\n }\n\n /**\n * Safely cast a query operation output to a void output.\n * This will throw a runtime error if the output is of the incorrect type.\n * @param {IQueryOperationResult} output A query operation output.\n * @return {IQueryOperationResultVoid} A void query operation output.\n */\n public static getSafeVoid(output: IQueryOperationResult): IQueryOperationResultVoid {\n ActorQueryOperation.validateQueryOutput(output, 'void');\n return <IQueryOperationResultVoid> output;\n }\n\n /**\n * Convert a metadata callback to a lazy callback where the response value is cached.\n * @param {() => Promise<IMetadata>} metadata A metadata callback\n * @return {() => Promise<{[p: string]: any}>} The callback where the response will be cached.\n */\n public static cachifyMetadata<M extends IMetadata<T>, T extends RDF.Variable | RDF.QuadTermName>(\n metadata: () => Promise<M>,\n ): () => Promise<M> {\n let lastReturn: Promise<M>;\n // eslint-disable-next-line no-return-assign,@typescript-eslint/no-misused-promises\n return () => (lastReturn || (lastReturn = metadata()));\n }\n\n /**\n * Throw an error if the output type does not match the expected type.\n * @param {IQueryOperationResult} output A query operation output.\n * @param {string} expectedType The expected output type.\n */\n public static validateQueryOutput(output: IQueryOperationResult, expectedType: IQueryOperationResult['type']): void {\n if (output.type !== expectedType) {\n throw new Error(`Invalid query output type: Expected '${expectedType}' but got '${output.type}'`);\n }\n }\n\n protected static getBaseExpressionContext(context: IActionContext): IBaseExpressionContext {\n const now: Date | undefined = context.get(KeysInitQuery.queryTimestamp);\n const baseIRI: string | undefined = context.get(KeysInitQuery.baseIRI);\n\n // Handle two variants of providing extension functions\n if (context.has(KeysInitQuery.extensionFunctionCreator) && context.has(KeysInitQuery.extensionFunctions)) {\n throw new Error('Illegal simultaneous usage of extensionFunctionCreator and extensionFunctions in context');\n }\n let extensionFunctionCreator: ((functionNamedNode: RDF.NamedNode) =>\n ((args: RDF.Term[]) => Promise<RDF.Term>) | undefined) | undefined = context\n .get(KeysInitQuery.extensionFunctionCreator);\n // Convert dictionary-based variant to callback\n const extensionFunctions: (Record<string, (args: RDF.Term[]) => Promise<RDF.Term>>) | undefined = context\n .get(KeysInitQuery.extensionFunctions);\n if (extensionFunctions) {\n extensionFunctionCreator = functionNamedNode => extensionFunctions[functionNamedNode.value];\n }\n\n return { now, baseIRI, extensionFunctionCreator };\n }\n\n /**\n * Create an options object that can be used to construct a sparqlee synchronous evaluator.\n * @param context An action context.\n * @param mediatorQueryOperation An optional query query operation mediator.\n * If defined, the existence resolver will be defined as `exists`.\n */\n public static getExpressionContext(context: IActionContext, mediatorQueryOperation?: MediatorQueryOperation):\n ISyncExpressionContext {\n return {\n ...this.getBaseExpressionContext(context),\n bnode: (input?: string) => new BlankNodeBindingsScoped(input || `BNODE_${bnodeCounter++}`),\n };\n }\n\n /**\n * Create an options object that can be used to construct a sparqlee asynchronous evaluator.\n * @param context An action context.\n * @param mediatorQueryOperation An optional query query operation mediator.\n * If defined, the existence resolver will be defined as `exists`.\n */\n public static getAsyncExpressionContext(context: IActionContext, mediatorQueryOperation?: MediatorQueryOperation):\n IAsyncExpressionContext {\n const expressionContext: IAsyncExpressionContext = {\n ...this.getBaseExpressionContext(context),\n bnode: (input?: string) => Promise.resolve(new BlankNodeBindingsScoped(input || `BNODE_${bnodeCounter++}`)),\n };\n if (mediatorQueryOperation) {\n expressionContext.exists = ActorQueryOperation.createExistenceResolver(context, mediatorQueryOperation);\n }\n return expressionContext;\n }\n\n /**\n * Create an existence resolver for usage within an expression context.\n * @param context An action context.\n * @param mediatorQueryOperation A query operation mediator.\n */\n public static createExistenceResolver(context: IActionContext, mediatorQueryOperation: MediatorQueryOperation):\n (expr: Algebra.ExistenceExpression, bindings: Bindings) => Promise<boolean> {\n return async(expr, bindings) => {\n const operation = materializeOperation(expr.input, bindings);\n\n const outputRaw = await mediatorQueryOperation.mediate({ operation, context });\n const output = ActorQueryOperation.getSafeBindings(outputRaw);\n\n return new Promise(\n (resolve, reject) => {\n output.bindingsStream.on('end', () => {\n resolve(false);\n });\n\n output.bindingsStream.on('error', reject);\n\n output.bindingsStream.on('data', () => {\n output.bindingsStream.close();\n resolve(true);\n });\n },\n )\n .then((exists: boolean) => expr.not ? !exists : exists);\n };\n }\n\n /**\n * Throw an error if the context contains the readOnly flag.\n * @param context An action context.\n */\n public static throwOnReadOnly(context: IActionContext): void {\n if (context.get(KeysQueryOperation.readOnly)) {\n throw new Error(`Attempted a write operation in read-only mode`);\n }\n }\n}\n\nexport interface IActionQueryOperation extends IAction {\n /**\n * The query operation to handle.\n */\n operation: Algebra.Operation;\n}\n\nexport type IActorQueryOperationArgs = IActorArgs<IActionQueryOperation, IActorTest, IQueryOperationResult>;\n\nexport type MediatorQueryOperation = Mediate<IActionQueryOperation, IQueryOperationResult>;\n\nexport interface IBaseExpressionContext {\n now?: Date;\n baseIRI?: string;\n extensionFunctionCreator?: (functionNamedNode: RDF.NamedNode) =>\n ((args: RDF.Term[]) => Promise<RDF.Term>) | undefined;\n}\n\nexport interface ISyncExpressionContext extends IBaseExpressionContext {\n bnode: (input?: string | undefined) => RDF.BlankNode;\n}\n\nexport interface IAsyncExpressionContext extends IBaseExpressionContext {\n bnode: (input?: string | undefined) => Promise<RDF.BlankNode>;\n exists?: (expr: Algebra.ExistenceExpression, bindings: Bindings) => Promise<boolean>;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActorQueryOperationTyped.js","sourceRoot":"","sources":["ActorQueryOperationTyped.ts"],"names":[],"mappings":";;;AAAA,+DAA8E;AAU9E,+DAA4D;AAE5D;;GAEG;AACH,MAAsB,wBAAsD,SAAQ,yCAAmB;IAGrG,YAAsB,IAA8B,EAAE,aAAqB;QACzE,KAAK,CAAO,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA6B;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;SAC7E;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,kBAAkB,IAAI,CAAC,aAAa,wBACpE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5B;QACD,MAAM,SAAS,GAAU,MAAM,CAAC,SAAS,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,MAA6B;QAC5C,uBAAuB;QACvB,MAAM,uBAAuB,GAAyC,MAAM,CAAC,OAAO;aACjF,GAAG,CAAC,+BAAa,CAAC,uBAAuB,CAAC,CAAC;QAC9C,IAAI,uBAAuB,EAAE;YAC3B,uBAAuB,CAAC,YAAY,CAClC,MAAM,CAAC,SAAS,CAAC,IAAI,EACrB,SAAS,EACT,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAAa,CAAC,qBAAqB,CAAC,EACvD,IAAI,CAAC,IAAI,EACT,EAAE,CACH,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,+BAAa,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;SAC5F;QAED,MAAM,SAAS,GAAU,MAAM,CAAC,SAAS,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/E,MAAM,MAAM,GAA0B,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrF,IAAI,UAAU,IAAI,MAAM,EAAE;YACxB,MAAM,CAAC,QAAQ,GAAS,yCAAmB;iBACxC,eAAe,CAA8E,MAAM,CAAC,QAAQ,CAAC,CAAC;SAClH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CAMF;AApDD,4DAoDC","sourcesContent":["import { KeysInitQuery, KeysQueryOperation } from '@comunica/context-entries';\nimport type { IActorTest } from '@comunica/core';\nimport type {\n IQueryOperationResult,\n IPhysicalQueryPlanLogger,\n IActionContext, IMetadata,\n} from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport type { Algebra } from 'sparqlalgebrajs';\nimport type { IActionQueryOperation, IActorQueryOperationArgs } from './ActorQueryOperation';\nimport { ActorQueryOperation } from './ActorQueryOperation';\n\n/**\n * A base implementation for query operation actors for a specific operation type.\n */\nexport abstract class ActorQueryOperationTyped<O extends Algebra.Operation> extends ActorQueryOperation {\n public readonly operationName: string;\n\n protected constructor(args: IActorQueryOperationArgs, operationName: string) {\n super(<any> { ...args, operationName });\n if (!this.operationName) {\n throw new Error('A valid \"operationName\" argument must be provided.');\n }\n }\n\n public async test(action: IActionQueryOperation): Promise<IActorTest> {\n if (!action.operation) {\n throw new Error('Missing field \\'operation\\' in a query operation action.');\n }\n if (action.operation.type !== this.operationName) {\n throw new Error(`Actor ${this.name} only supports ${this.operationName} operations, but got ${\n action.operation.type}`);\n }\n const operation: O = <O> action.operation;\n return this.testOperation(operation, action.context);\n }\n\n public async run(action: IActionQueryOperation): Promise<IQueryOperationResult> {\n // Log to physical plan\n const physicalQueryPlanLogger: IPhysicalQueryPlanLogger | undefined = action.context\n .get(KeysInitQuery.physicalQueryPlanLogger);\n if (physicalQueryPlanLogger) {\n physicalQueryPlanLogger.logOperation(\n action.operation.type,\n undefined,\n action.operation,\n action.context.get(KeysInitQuery.physicalQueryPlanNode),\n this.name,\n {},\n );\n action.context = action.context.set(KeysInitQuery.physicalQueryPlanNode, action.operation);\n }\n\n const operation: O = <O> action.operation;\n const subContext = action.context.set(KeysQueryOperation.operation, operation);\n const output: IQueryOperationResult = await this.runOperation(operation, subContext);\n if ('metadata' in output) {\n output.metadata = <any> ActorQueryOperation\n .cachifyMetadata<IMetadata<RDF.QuadTermName | RDF.Variable>, RDF.QuadTermName | RDF.Variable>(output.metadata);\n }\n return output;\n }\n\n protected abstract testOperation(operation: O, context: IActionContext): Promise<IActorTest>;\n\n protected abstract runOperation(operation: O, context: IActionContext):\n Promise<IQueryOperationResult>;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActorQueryOperationTypedMediated.js","sourceRoot":"","sources":["ActorQueryOperationTypedMediated.ts"],"names":[],"mappings":";;;AAEA,yEAAsE;AAEtE;;GAEG;AACH,MAAsB,gCAA8D,SAAQ,mDAA2B;IAIrH,YAAmB,IAA2C,EAAE,aAAqB;QACnF,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7B,CAAC;CACF;AAPD,4EAOC","sourcesContent":["import type { Algebra } from 'sparqlalgebrajs';\nimport type { IActorQueryOperationArgs, MediatorQueryOperation } from './ActorQueryOperation';\nimport { ActorQueryOperationTyped } from './ActorQueryOperationTyped';\n\n/**\n * A base implementation for query operation actors for a specific operation type that have a query operation mediator.\n */\nexport abstract class ActorQueryOperationTypedMediated<O extends Algebra.Operation> extends ActorQueryOperationTyped<O>\n implements IActorQueryOperationTypedMediatedArgs {\n public readonly mediatorQueryOperation: MediatorQueryOperation;\n\n public constructor(args: IActorQueryOperationTypedMediatedArgs, operationName: string) {\n super(args, operationName);\n }\n}\n\nexport interface IActorQueryOperationTypedMediatedArgs extends IActorQueryOperationArgs {\n mediatorQueryOperation: MediatorQueryOperation;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bindings.js","sourceRoot":"","sources":["Bindings.ts"],"names":[],"mappings":"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","sourcesContent":["import { BindingsFactory } from '@comunica/bindings-factory';\nimport type { Bindings } from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport { termToString } from 'rdf-string';\nimport type { Algebra, Factory } from 'sparqlalgebrajs';\nimport { Util } from 'sparqlalgebrajs';\n\nconst BF = new BindingsFactory();\n\n/**\n * Materialize a term with the given binding.\n *\n * If the given term is a variable,\n * and that variable exist in the given bindings object,\n * the value of that binding is returned.\n * In all other cases, the term itself is returned.\n *\n * @param {RDF.Term} term A term.\n * @param {Bindings} bindings A bindings object.\n * @return {RDF.Term} The materialized term.\n */\nexport function materializeTerm(term: RDF.Term, bindings: Bindings): RDF.Term {\n if (term.termType === 'Variable') {\n const value = bindings.get(term);\n if (value) {\n return value;\n }\n }\n return term;\n}\n\n/**\n * Materialize the given operation (recursively) with the given bindings.\n * Essentially, all variables in the given operation will be replaced\n * by the terms bound to the variables in the given bindings.\n * @param {Operation} operation SPARQL algebra operation.\n * @param {Bindings} bindings A bindings object.\n * @param options Options for materializations.\n * @return Algebra.Operation A new operation materialized with the given bindings.\n */\nexport function materializeOperation(\n operation: Algebra.Operation,\n bindings: Bindings,\n options: {\n /**\n * If target variable bindings (such as on SELECT or BIND) should not be allowed.\n */\n strictTargetVariables?: boolean;\n /**\n * If filter expressions should be materialized\n */\n bindFilter?: boolean;\n } = {},\n): Algebra.Operation {\n options = {\n strictTargetVariables: 'strictTargetVariables' in options ? options.strictTargetVariables : false,\n bindFilter: 'bindFilter' in options ? options.bindFilter : true,\n };\n\n return Util.mapOperation(operation, {\n path(op: Algebra.Path, factory: Factory) {\n // Materialize variables in a path expression.\n // The predicate expression will be recursed.\n return {\n recurse: false,\n result: factory.createPath(\n materializeTerm(op.subject, bindings),\n op.predicate,\n materializeTerm(op.object, bindings),\n materializeTerm(op.graph, bindings),\n ),\n };\n },\n pattern(op: Algebra.Pattern, factory: Factory) {\n // Materialize variables in the quad pattern.\n return {\n recurse: false,\n result: factory.createPattern(\n materializeTerm(op.subject, bindings),\n materializeTerm(op.predicate, bindings),\n materializeTerm(op.object, bindings),\n materializeTerm(op.graph, bindings),\n ),\n };\n },\n extend(op: Algebra.Extend) {\n // Materialize an extend operation.\n // If strictTargetVariables is true, we throw if the extension target variable is attempted to be bound.\n // Otherwise, we remove the extend operation.\n if (bindings.has(op.variable)) {\n if (options.strictTargetVariables) {\n throw new Error(`Tried to bind variable ${termToString(op.variable)} in a BIND operator.`);\n } else {\n return {\n recurse: true,\n result: materializeOperation(op.input, bindings, options),\n };\n }\n }\n return {\n recurse: true,\n result: op,\n };\n },\n group(op: Algebra.Group, factory: Factory) {\n // Materialize a group operation.\n // If strictTargetVariables is true, we throw if the group target variable is attempted to be bound.\n // Otherwise, we just filter out the bound variables.\n if (options.strictTargetVariables) {\n for (const variable of op.variables) {\n if (bindings.has(variable)) {\n throw new Error(`Tried to bind variable ${termToString(variable)} in a GROUP BY operator.`);\n }\n }\n return {\n recurse: true,\n result: op,\n };\n }\n const variables = op.variables.filter(variable => !bindings.has(variable));\n return {\n recurse: true,\n result: factory.createGroup(\n op.input,\n variables,\n op.aggregates,\n ),\n };\n },\n project(op: Algebra.Project, factory: Factory) {\n // Materialize a project operation.\n // If strictTargetVariables is true, we throw if the project target variable is attempted to be bound.\n // Otherwise, we just filter out the bound variables.\n if (options.strictTargetVariables) {\n for (const variable of op.variables) {\n if (bindings.has(variable)) {\n throw new Error(`Tried to bind variable ${termToString(variable)} in a SELECT operator.`);\n }\n }\n return {\n recurse: true,\n result: op,\n };\n }\n\n const variables = op.variables.filter(variable => !bindings.has(variable));\n\n // Only include projected variables in the sub-bindings that will be passed down recursively.\n // If we don't do this, we may be binding variables that may have the same label, but are not considered equal.\n const subBindings = BF.bindings(<[RDF.Variable, RDF.Term][]> op.variables.map(variable => {\n const binding = bindings.get(variable);\n if (binding) {\n return [ variable, binding ];\n }\n // eslint-disable-next-line no-useless-return\n return;\n }).filter(entry => Boolean(entry)));\n\n return {\n recurse: false,\n result: factory.createProject(\n materializeOperation(\n op.input,\n subBindings,\n options,\n ),\n variables,\n ),\n };\n },\n values(op: Algebra.Values, factory: Factory) {\n // Materialize a values operation.\n // If strictTargetVariables is true, we throw if the values target variable is attempted to be bound.\n // Otherwise, we just filter out the bound variables and their bindings.\n if (options.strictTargetVariables) {\n for (const variable of op.variables) {\n if (bindings.has(variable)) {\n throw new Error(`Tried to bind variable ${termToString(variable)} in a VALUES operator.`);\n }\n }\n } else {\n const variables = op.variables.filter(variable => !bindings.has(variable));\n const valueBindings: Record<string, RDF.Literal | RDF.NamedNode>[] = <any> op.bindings.map(binding => {\n const newBinding = { ...binding };\n let valid = true;\n bindings.forEach((value: RDF.NamedNode, key: RDF.Variable) => {\n const keyString = termToString(key);\n if (keyString in newBinding) {\n if (!value.equals(newBinding[keyString])) {\n // If the value of the binding is not equal, remove this binding completely from the VALUES clause\n valid = false;\n }\n delete newBinding[keyString];\n }\n });\n return valid ? newBinding : undefined;\n }).filter(Boolean);\n return {\n recurse: true,\n result: factory.createValues(\n variables,\n valueBindings,\n ),\n };\n }\n return {\n recurse: false,\n result: op,\n };\n },\n expression(op: Algebra.Expression, factory: Factory) {\n if (!options.bindFilter) {\n return {\n recurse: false,\n result: op,\n };\n }\n\n if (op.expressionType === 'term') {\n // Materialize a term expression\n return {\n recurse: false,\n result: factory.createTermExpression(materializeTerm(op.term, bindings)),\n };\n }\n if (op.expressionType === 'aggregate' &&\n 'variable' in op &&\n bindings.has(<RDF.Variable> op.variable)) {\n // Materialize a bound aggregate operation.\n // If strictTargetVariables is true, we throw if the expression target variable is attempted to be bound.\n // Otherwise, we ignore this operation.\n if (options.strictTargetVariables) {\n throw new Error(`Tried to bind ${termToString(op.variable)} in a ${op.aggregator} aggregate.`);\n } else {\n return {\n recurse: true,\n result: op,\n };\n }\n }\n return {\n recurse: true,\n result: op,\n };\n },\n });\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BusQueryOperation.js","sourceRoot":"","sources":["BusQueryOperation.ts"],"names":[],"mappings":";;;AACA,yCAA4C;AAI5C;;GAEG;AACH,MAAa,iBACX,SAAQ,iBAAyF;IACjG,YAAmB,IAAc;QAC/B,KAAK,CAAC;YACJ,GAAG,IAAI;YACP,qBAAqB,EAAE,CAAE,eAAe,CAAE;YAC1C,sBAAsB,EAAE,CAAE,WAAW,EAAE,MAAM,CAAE;SAChD,CAAC,CAAC;IACL,CAAC;CACF;AATD,8CASC","sourcesContent":["import type { IActorTest, IBusArgs } from '@comunica/core';\nimport { BusIndexed } from '@comunica/core';\nimport type { IQueryOperationResult } from '@comunica/types';\nimport type { ActorQueryOperation, IActionQueryOperation } from './ActorQueryOperation';\n\n/**\n * Indexed bus for query operations.\n */\nexport class BusQueryOperation\n extends BusIndexed<ActorQueryOperation, IActionQueryOperation, IActorTest, IQueryOperationResult> {\n public constructor(args: IBusArgs) {\n super({\n ...args,\n actorIdentifierFields: [ 'operationName' ],\n actionIdentifierFields: [ 'operation', 'type' ],\n });\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClosableTransformIterator.js","sourceRoot":"","sources":["ClosableTransformIterator.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAKlD;;GAEG;AACH,MAAa,yBAAoC,SAAQ,iCAAuB;IAG9E,YAAmB,MAA2B,EAAE,OAA8D;QAC5G,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;IAES,IAAI,CAAC,OAAgB;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACF;AAZD,8DAYC","sourcesContent":["import type { AsyncIterator, TransformIteratorOptions } from 'asynciterator';\nimport { TransformIterator } from 'asynciterator';\n\ndeclare type MaybePromise<T> = T | Promise<T>;\ndeclare type SourceExpression<T> = MaybePromise<AsyncIterator<T>> | (() => MaybePromise<AsyncIterator<T>>);\n\n/**\n * A TransformIterator with a callback for when this iterator is closed in any way.\n */\nexport class ClosableTransformIterator<S, D = S> extends TransformIterator<S, D> {\n private readonly onClose: () => void;\n\n public constructor(source: SourceExpression<S>, options: TransformIteratorOptions<S> & { onClose: () => void }) {\n super(source, options);\n this.onClose = options.onClose;\n }\n\n protected _end(destroy: boolean): void {\n this.onClose();\n super._end(destroy);\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,6DAA2C;AAC3C,qEAAmD;AACnD,6CAA2B;AAC3B,sDAAoC;AACpC,8DAA4C","sourcesContent":["export * from './ActorQueryOperation';\nexport * from './ActorQueryOperationTyped';\nexport * from './ActorQueryOperationTypedMediated';\nexport * from './Bindings';\nexport * from './BusQueryOperation';\nexport * from './ClosableTransformIterator';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/bus-query-operation",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "A comunica bus for query-operation events.",
5
5
  "lsd:module": true,
6
6
  "main": "lib/index.js",
@@ -27,16 +27,17 @@
27
27
  "files": [
28
28
  "components",
29
29
  "lib/**/*.d.ts",
30
- "lib/**/*.js"
30
+ "lib/**/*.js",
31
+ "lib/**/*.js.map"
31
32
  ],
32
33
  "dependencies": {
33
- "@comunica/bindings-factory": "^2.2.0",
34
- "@comunica/context-entries": "^2.4.0",
35
- "@comunica/core": "^2.4.0",
36
- "@comunica/data-factory": "^2.0.1",
37
- "@comunica/types": "^2.4.0",
34
+ "@comunica/bindings-factory": "^2.5.0",
35
+ "@comunica/context-entries": "^2.5.0",
36
+ "@comunica/core": "^2.5.0",
37
+ "@comunica/data-factory": "^2.5.0",
38
+ "@comunica/types": "^2.5.0",
38
39
  "@rdfjs/types": "*",
39
- "asynciterator": "^3.7.0",
40
+ "asynciterator": "^3.8.0",
40
41
  "rdf-string": "^1.5.0",
41
42
  "sparqlalgebrajs": "^4.0.0"
42
43
  },
@@ -45,5 +46,5 @@
45
46
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
46
47
  "build:components": "componentsjs-generator"
47
48
  },
48
- "gitHead": "cb5a1560c9ab9ebaf3335888a1411a7e1654de1e"
49
+ "gitHead": "349d57f5d1e539200e980bdff96973c2e0b66caa"
49
50
  }
package/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright © 2017–now Ruben Taelman, Joachim Van Herwegen
4
- Comunica Association and Ghent University – imec, Belgium
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in
14
- all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
- THE SOFTWARE.