@comunica/utils-jest 4.0.2 → 4.1.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.
package/lib/index.d.ts CHANGED
@@ -3,8 +3,8 @@ declare global {
3
3
  namespace jest {
4
4
  interface Matchers<R> {
5
5
  toEqualBindings: (actual: RDF.Bindings) => R;
6
- toEqualBindingsArray: (actual: RDF.Bindings[]) => R;
7
- toEqualBindingsStream: (actual: RDF.Bindings[]) => Promise<R>;
6
+ toEqualBindingsArray: (actual: RDF.Bindings[], ignoreOrder?: boolean) => R;
7
+ toEqualBindingsStream: (actual: RDF.Bindings[], ignoreOrder?: boolean) => Promise<R>;
8
8
  toPassTest: (actual: any) => R;
9
9
  toPassTestVoid: () => R;
10
10
  toFailTest: (actual: string) => R;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AACA,yCAAkC;AAgB3B,UAAW,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC","sourcesContent":["import type * as RDF from '@rdfjs/types';\nimport matchers from './matchers';\n\ndeclare global {\n // eslint-disable-next-line ts/no-namespace\n namespace jest {\n interface Matchers<R> {\n toEqualBindings: (actual: RDF.Bindings) => R;\n toEqualBindingsArray: (actual: RDF.Bindings[]) => R;\n toEqualBindingsStream: (actual: RDF.Bindings[]) => Promise<R>;\n toPassTest: (actual: any) => R;\n toPassTestVoid: () => R;\n toFailTest: (actual: string) => R;\n }\n }\n}\n\n(<any> globalThis).expect.extend(matchers);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AACA,yCAAkC;AAgB3B,UAAW,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC","sourcesContent":["import type * as RDF from '@rdfjs/types';\nimport matchers from './matchers';\n\ndeclare global {\n // eslint-disable-next-line ts/no-namespace\n namespace jest {\n interface Matchers<R> {\n toEqualBindings: (actual: RDF.Bindings) => R;\n toEqualBindingsArray: (actual: RDF.Bindings[], ignoreOrder?: boolean) => R;\n toEqualBindingsStream: (actual: RDF.Bindings[], ignoreOrder?: boolean) => Promise<R>;\n toPassTest: (actual: any) => R;\n toPassTestVoid: () => R;\n toFailTest: (actual: string) => R;\n }\n }\n}\n\n(<any> globalThis).expect.extend(matchers);\n"]}
@@ -1,6 +1,6 @@
1
1
  import type * as RDF from '@rdfjs/types';
2
2
  declare const _default: {
3
- toEqualBindingsArray(received: RDF.Bindings[], actual: RDF.Bindings[]): {
3
+ toEqualBindingsArray(received: RDF.Bindings[], actual: RDF.Bindings[], ignoreOrder?: boolean): {
4
4
  message: () => string;
5
5
  pass: boolean;
6
6
  };
@@ -6,13 +6,21 @@ function bindingsArrayToString(bindings) {
6
6
  return `[ ${bindings.map(term => (0, utils_bindings_factory_1.bindingsToString)(term)).join(', ')} ]`;
7
7
  }
8
8
  exports.default = {
9
- toEqualBindingsArray(received, actual) {
9
+ toEqualBindingsArray(received, actual, ignoreOrder = false) {
10
10
  if (received.length !== actual.length) {
11
11
  return {
12
12
  message: () => `expected ${bindingsArrayToString(received)} to equal ${bindingsArrayToString(actual)}`,
13
13
  pass: false,
14
14
  };
15
15
  }
16
+ // Sort both streams if order should be ignored
17
+ if (ignoreOrder) {
18
+ const comparatorVariables = (left, right) => left.value.localeCompare(right.value);
19
+ const comparatorBindings = (left, right) => (0, utils_bindings_factory_1.bindingsToCompactString)(left, [...left.keys()].sort(comparatorVariables))
20
+ .localeCompare((0, utils_bindings_factory_1.bindingsToCompactString)(right, [...right.keys()].sort(comparatorVariables)));
21
+ received.sort(comparatorBindings);
22
+ actual.sort(comparatorBindings);
23
+ }
16
24
  for (const [i, element] of received.entries()) {
17
25
  const sub = toEqualBindings_1.default.toEqualBindings(element, actual[i]);
18
26
  if (!sub.pass) {
@@ -1 +1 @@
1
- {"version":3,"file":"toEqualBindingsArray.js","sourceRoot":"","sources":["toEqualBindingsArray.ts"],"names":[],"mappings":";;AAAA,6EAAoE;AAEpE,uDAAgD;AAEhD,SAAS,qBAAqB,CAAC,QAAwB;IACrD,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,yCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,kBAAe;IACb,oBAAoB,CAAC,QAAwB,EAAE,MAAsB;QACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,qBAAqB,CAAC,QAAQ,CAAC,aAAa,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBACtG,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAE,CAAC,EAAE,OAAO,CAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,yBAAe,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,qBAAqB,CAAC,QAAQ,CAAC,aAAa,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB;oBAChI,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,qBAAqB,CAAC,QAAQ,CAAC,iBAAiB,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC1G,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import { bindingsToString } from '@comunica/utils-bindings-factory';\nimport type * as RDF from '@rdfjs/types';\nimport toEqualBindings from './toEqualBindings';\n\nfunction bindingsArrayToString(bindings: RDF.Bindings[]): string {\n return `[ ${bindings.map(term => bindingsToString(term)).join(', ')} ]`;\n}\n\nexport default {\n toEqualBindingsArray(received: RDF.Bindings[], actual: RDF.Bindings[]) {\n if (received.length !== actual.length) {\n return {\n message: () => `expected ${bindingsArrayToString(received)} to equal ${bindingsArrayToString(actual)}`,\n pass: false,\n };\n }\n\n for (const [ i, element ] of received.entries()) {\n const sub = toEqualBindings.toEqualBindings(element, actual[i]);\n if (!sub.pass) {\n return {\n message: () => `expected ${bindingsArrayToString(received)} to equal ${bindingsArrayToString(actual)}\\nIndex ${i} is different.`,\n pass: false,\n };\n }\n }\n\n return {\n message: () => `expected ${bindingsArrayToString(received)} not to equal ${bindingsArrayToString(actual)}`,\n pass: true,\n };\n },\n};\n"]}
1
+ {"version":3,"file":"toEqualBindingsArray.js","sourceRoot":"","sources":["toEqualBindingsArray.ts"],"names":[],"mappings":";;AAAA,6EAA6F;AAE7F,uDAAgD;AAEhD,SAAS,qBAAqB,CAAC,QAAwB;IACrD,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,yCAAgB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,kBAAe;IACb,oBAAoB,CAAC,QAAwB,EAAE,MAAsB,EAAE,WAAW,GAAG,KAAK;QACxF,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,qBAAqB,CAAC,QAAQ,CAAC,aAAa,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBACtG,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,KAAmB,EAAU,EAAE,CAC9E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,kBAAkB,GAAG,CAAC,IAAkB,EAAE,KAAmB,EAAU,EAAE,CAC7E,IAAA,gDAAuB,EAAC,IAAI,EAAE,CAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBACxE,aAAa,CAAC,IAAA,gDAAuB,EAAC,KAAK,EAAE,CAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAClG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,MAAM,CAAE,CAAC,EAAE,OAAO,CAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,yBAAe,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,qBAAqB,CAAC,QAAQ,CAAC,aAAa,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB;oBAChI,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,qBAAqB,CAAC,QAAQ,CAAC,iBAAiB,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC1G,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import { bindingsToCompactString, bindingsToString } from '@comunica/utils-bindings-factory';\nimport type * as RDF from '@rdfjs/types';\nimport toEqualBindings from './toEqualBindings';\n\nfunction bindingsArrayToString(bindings: RDF.Bindings[]): string {\n return `[ ${bindings.map(term => bindingsToString(term)).join(', ')} ]`;\n}\n\nexport default {\n toEqualBindingsArray(received: RDF.Bindings[], actual: RDF.Bindings[], ignoreOrder = false) {\n if (received.length !== actual.length) {\n return {\n message: () => `expected ${bindingsArrayToString(received)} to equal ${bindingsArrayToString(actual)}`,\n pass: false,\n };\n }\n\n // Sort both streams if order should be ignored\n if (ignoreOrder) {\n const comparatorVariables = (left: RDF.Variable, right: RDF.Variable): number =>\n left.value.localeCompare(right.value);\n const comparatorBindings = (left: RDF.Bindings, right: RDF.Bindings): number =>\n bindingsToCompactString(left, [ ...left.keys() ].sort(comparatorVariables))\n .localeCompare(bindingsToCompactString(right, [ ...right.keys() ].sort(comparatorVariables)));\n received.sort(comparatorBindings);\n actual.sort(comparatorBindings);\n }\n\n for (const [ i, element ] of received.entries()) {\n const sub = toEqualBindings.toEqualBindings(element, actual[i]);\n if (!sub.pass) {\n return {\n message: () => `expected ${bindingsArrayToString(received)} to equal ${bindingsArrayToString(actual)}\\nIndex ${i} is different.`,\n pass: false,\n };\n }\n }\n\n return {\n message: () => `expected ${bindingsArrayToString(received)} not to equal ${bindingsArrayToString(actual)}`,\n pass: true,\n };\n },\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { BindingsStream } from '@comunica/types';
2
2
  import type * as RDF from '@rdfjs/types';
3
3
  declare const _default: {
4
- toEqualBindingsStream(received: BindingsStream, actual: RDF.Bindings[]): Promise<{
4
+ toEqualBindingsStream(received: BindingsStream, actual: RDF.Bindings[], ignoreOrder?: boolean): Promise<{
5
5
  message: () => string;
6
6
  pass: boolean;
7
7
  }>;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const arrayify_stream_1 = require("arrayify-stream");
4
4
  const toEqualBindingsArray_1 = require("./toEqualBindingsArray");
5
5
  exports.default = {
6
- async toEqualBindingsStream(received, actual) {
7
- return toEqualBindingsArray_1.default.toEqualBindingsArray(await (0, arrayify_stream_1.default)(received), actual);
6
+ async toEqualBindingsStream(received, actual, ignoreOrder = false) {
7
+ return toEqualBindingsArray_1.default.toEqualBindingsArray(await (0, arrayify_stream_1.default)(received), actual, ignoreOrder);
8
8
  },
9
9
  };
10
10
  //# sourceMappingURL=toEqualBindingsStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toEqualBindingsStream.js","sourceRoot":"","sources":["toEqualBindingsStream.ts"],"names":[],"mappings":";;AAEA,qDAA6C;AAC7C,iEAA0D;AAE1D,kBAAe;IACb,KAAK,CAAC,qBAAqB,CAAC,QAAwB,EAAE,MAAsB;QAC1E,OAAO,8BAAoB,CAAC,oBAAoB,CAAC,MAAM,IAAA,yBAAc,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;CACF,CAAC","sourcesContent":["import type { BindingsStream } from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport arrayifyStream from 'arrayify-stream';\nimport toEqualBindingsArray from './toEqualBindingsArray';\n\nexport default {\n async toEqualBindingsStream(received: BindingsStream, actual: RDF.Bindings[]) {\n return toEqualBindingsArray.toEqualBindingsArray(await arrayifyStream(received), actual);\n },\n};\n"]}
1
+ {"version":3,"file":"toEqualBindingsStream.js","sourceRoot":"","sources":["toEqualBindingsStream.ts"],"names":[],"mappings":";;AAEA,qDAA6C;AAC7C,iEAA0D;AAE1D,kBAAe;IACb,KAAK,CAAC,qBAAqB,CAAC,QAAwB,EAAE,MAAsB,EAAE,WAAW,GAAG,KAAK;QAC/F,OAAO,8BAAoB,CAAC,oBAAoB,CAAC,MAAM,IAAA,yBAAc,EAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACxG,CAAC;CACF,CAAC","sourcesContent":["import type { BindingsStream } from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport arrayifyStream from 'arrayify-stream';\nimport toEqualBindingsArray from './toEqualBindingsArray';\n\nexport default {\n async toEqualBindingsStream(received: BindingsStream, actual: RDF.Bindings[], ignoreOrder = false) {\n return toEqualBindingsArray.toEqualBindingsArray(await arrayifyStream(received), actual, ignoreOrder);\n },\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/utils-jest",
3
- "version": "4.0.2",
3
+ "version": "4.1.0",
4
4
  "description": "Jest utilities for Comunica",
5
5
  "license": "MIT",
6
6
  "funding": {
@@ -41,14 +41,14 @@
41
41
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\""
42
42
  },
43
43
  "dependencies": {
44
- "@comunica/core": "^4.0.2",
45
- "@comunica/types": "^4.0.2",
46
- "@comunica/utils-bindings-factory": "^4.0.2",
44
+ "@comunica/core": "^4.1.0",
45
+ "@comunica/types": "^4.1.0",
46
+ "@comunica/utils-bindings-factory": "^4.1.0",
47
47
  "@jest/expect-utils": "^29.7.0",
48
48
  "@rdfjs/types": "*",
49
49
  "@types/object-inspect": "^1.13.0",
50
50
  "arrayify-stream": "^2.0.1",
51
51
  "object-inspect": "^1.13.2"
52
52
  },
53
- "gitHead": "b60deab76821557f8d027208ab743d3c66fc60ea"
53
+ "gitHead": "711446473d18f5fd47aa1a67e6c23582234221ec"
54
54
  }
@@ -1,28 +0,0 @@
1
- import { InternalEvaluator } from '@comunica/actor-expression-evaluator-factory-default/lib/InternalEvaluator';
2
- import type { ActorExpressionEvaluatorFactory, IActorExpressionEvaluatorFactoryArgs, MediatorExpressionEvaluatorFactory } from '@comunica/bus-expression-evaluator-factory';
3
- import type { MediatorFunctionFactory } from '@comunica/bus-function-factory';
4
- import type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';
5
- import type { MediatorQueryOperation } from '@comunica/bus-query-operation';
6
- import type { IActionContext, ISuperTypeProvider } from '@comunica/types';
7
- import { BindingsFactory } from '@comunica/utils-bindings-factory';
8
- import type * as RDF from '@rdfjs/types';
9
- import { DataFactory } from 'rdf-data-factory';
10
- import { Algebra } from 'sparqlalgebrajs';
11
- export declare const DF: DataFactory<RDF.Quad>;
12
- export declare const BF: BindingsFactory;
13
- export declare function makeAggregate(aggregator: string, distinct?: boolean, separator?: string, wildcard?: boolean): Algebra.AggregateExpression;
14
- export declare function int(value: string): RDF.Term;
15
- export declare function float(value: string): RDF.Term;
16
- export declare function decimal(value: string): RDF.Term;
17
- export declare function date(value: string): RDF.Term;
18
- export declare function string(value: string): RDF.Term;
19
- export declare function double(value: string): RDF.Term;
20
- export declare function nonLiteral(): RDF.Term;
21
- export declare function getMockEEActionContext(actionContext?: IActionContext): IActionContext;
22
- export declare function getMockInternalEvaluator(factory?: ActorExpressionEvaluatorFactory, context?: IActionContext): InternalEvaluator;
23
- export declare function getMockEEFactory({ mediatorQueryOperation, mediatorFunctionFactory, mediatorMergeBindingsContext, }?: Partial<IActorExpressionEvaluatorFactoryArgs>): ActorExpressionEvaluatorFactory;
24
- export declare function getMockMediatorQueryOperation(): MediatorQueryOperation;
25
- export declare function getMockMediatorMergeBindingsContext(): MediatorMergeBindingsContext;
26
- export declare function getMockMediatorExpressionEvaluatorFactory(args?: Partial<IActorExpressionEvaluatorFactoryArgs>): MediatorExpressionEvaluatorFactory;
27
- export declare function getMockMediatorFunctionFactory(): MediatorFunctionFactory;
28
- export declare function getMockSuperTypeProvider(): ISuperTypeProvider;
@@ -1,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMockSuperTypeProvider = exports.getMockMediatorFunctionFactory = exports.getMockMediatorExpressionEvaluatorFactory = exports.getMockMediatorMergeBindingsContext = exports.getMockMediatorQueryOperation = exports.getMockEEFactory = exports.getMockInternalEvaluator = exports.getMockEEActionContext = exports.nonLiteral = exports.double = exports.string = exports.date = exports.decimal = exports.float = exports.int = exports.makeAggregate = exports.BF = exports.DF = void 0;
4
- const lib_1 = require("@comunica/actor-expression-evaluator-factory-default/lib");
5
- const InternalEvaluator_1 = require("@comunica/actor-expression-evaluator-factory-default/lib/InternalEvaluator");
6
- const context_entries_1 = require("@comunica/context-entries");
7
- const core_1 = require("@comunica/core");
8
- const Eval = require("@comunica/expression-evaluator");
9
- const utils_bindings_factory_1 = require("@comunica/utils-bindings-factory");
10
- const lru_cache_1 = require("lru-cache");
11
- const rdf_data_factory_1 = require("rdf-data-factory");
12
- const sparqlalgebrajs_1 = require("sparqlalgebrajs");
13
- const sparqljs_1 = require("sparqljs");
14
- exports.DF = new rdf_data_factory_1.DataFactory();
15
- exports.BF = new utils_bindings_factory_1.BindingsFactory(exports.DF);
16
- function makeAggregate(aggregator, distinct = false, separator, wildcard = false) {
17
- const inner = wildcard ?
18
- {
19
- type: sparqlalgebrajs_1.Algebra.types.EXPRESSION,
20
- expressionType: sparqlalgebrajs_1.Algebra.expressionTypes.WILDCARD,
21
- wildcard: new sparqljs_1.Wildcard(),
22
- } :
23
- {
24
- type: sparqlalgebrajs_1.Algebra.types.EXPRESSION,
25
- expressionType: sparqlalgebrajs_1.Algebra.expressionTypes.TERM,
26
- term: exports.DF.variable('x'),
27
- };
28
- return {
29
- type: sparqlalgebrajs_1.Algebra.types.EXPRESSION,
30
- expressionType: sparqlalgebrajs_1.Algebra.expressionTypes.AGGREGATE,
31
- aggregator: aggregator,
32
- distinct,
33
- separator,
34
- expression: inner,
35
- };
36
- }
37
- exports.makeAggregate = makeAggregate;
38
- function int(value) {
39
- return exports.DF.literal(value, exports.DF.namedNode('http://www.w3.org/2001/XMLSchema#integer'));
40
- }
41
- exports.int = int;
42
- function float(value) {
43
- return exports.DF.literal(value, exports.DF.namedNode('http://www.w3.org/2001/XMLSchema#float'));
44
- }
45
- exports.float = float;
46
- function decimal(value) {
47
- return exports.DF.literal(value, exports.DF.namedNode('http://www.w3.org/2001/XMLSchema#decimal'));
48
- }
49
- exports.decimal = decimal;
50
- function date(value) {
51
- return exports.DF.literal(value, exports.DF.namedNode('http://www.w3.org/2001/XMLSchema#date'));
52
- }
53
- exports.date = date;
54
- function string(value) {
55
- return exports.DF.literal(value, exports.DF.namedNode('http://www.w3.org/2001/XMLSchema#string'));
56
- }
57
- exports.string = string;
58
- function double(value) {
59
- return exports.DF.literal(value, exports.DF.namedNode('http://www.w3.org/2001/XMLSchema#double'));
60
- }
61
- exports.double = double;
62
- function nonLiteral() {
63
- return exports.DF.namedNode('http://example.org/');
64
- }
65
- exports.nonLiteral = nonLiteral;
66
- function getMockEEActionContext(actionContext) {
67
- return new core_1.ActionContext({
68
- [context_entries_1.KeysInitQuery.queryTimestamp.name]: new Date(Date.now()),
69
- [context_entries_1.KeysInitQuery.functionArgumentsCache.name]: {},
70
- [context_entries_1.KeysExpressionEvaluator.superTypeProvider.name]: getMockSuperTypeProvider(),
71
- [context_entries_1.KeysInitQuery.dataFactory.name]: exports.DF,
72
- }).merge(actionContext ?? new core_1.ActionContext());
73
- }
74
- exports.getMockEEActionContext = getMockEEActionContext;
75
- function getMockInternalEvaluator(factory, context) {
76
- return new InternalEvaluator_1.InternalEvaluator(Eval.prepareEvaluatorActionContext(getMockEEActionContext(context)), getMockMediatorFunctionFactory(), {}, {});
77
- }
78
- exports.getMockInternalEvaluator = getMockInternalEvaluator;
79
- function getMockEEFactory({ mediatorQueryOperation, mediatorFunctionFactory, mediatorMergeBindingsContext, } = {}) {
80
- return new lib_1.ActorExpressionEvaluatorFactoryDefault({
81
- bus: new core_1.Bus({ name: 'testBusMock' }),
82
- name: 'mockEEFactory',
83
- mediatorQueryOperation: mediatorQueryOperation ?? getMockMediatorQueryOperation(),
84
- mediatorFunctionFactory: mediatorFunctionFactory ?? getMockMediatorFunctionFactory(),
85
- mediatorMergeBindingsContext: mediatorMergeBindingsContext ?? getMockMediatorMergeBindingsContext(),
86
- });
87
- }
88
- exports.getMockEEFactory = getMockEEFactory;
89
- function getMockMediatorQueryOperation() {
90
- return {
91
- async mediate(_) {
92
- throw new Error('mediatorQueryOperation mock not implemented');
93
- },
94
- };
95
- }
96
- exports.getMockMediatorQueryOperation = getMockMediatorQueryOperation;
97
- function getMockMediatorMergeBindingsContext() {
98
- return {
99
- async mediate(_) {
100
- return exports.BF;
101
- },
102
- };
103
- }
104
- exports.getMockMediatorMergeBindingsContext = getMockMediatorMergeBindingsContext;
105
- function getMockMediatorExpressionEvaluatorFactory(args = {}) {
106
- return {
107
- async mediate(arg) {
108
- // eslint-disable-next-line unicorn/no-useless-undefined
109
- return getMockEEFactory(args).run(arg, undefined);
110
- },
111
- };
112
- }
113
- exports.getMockMediatorExpressionEvaluatorFactory = getMockMediatorExpressionEvaluatorFactory;
114
- function getMockMediatorFunctionFactory() {
115
- return {
116
- async mediate(_) {
117
- throw new Error('mediatorFunctionFactory mock not implemented');
118
- },
119
- };
120
- }
121
- exports.getMockMediatorFunctionFactory = getMockMediatorFunctionFactory;
122
- function getMockSuperTypeProvider() {
123
- return {
124
- cache: new lru_cache_1.LRUCache({ max: 1_000 }),
125
- discoverer: _ => 'term',
126
- };
127
- }
128
- exports.getMockSuperTypeProvider = getMockSuperTypeProvider;
129
- //# sourceMappingURL=expressions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["expressions.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActorExpressionEvaluatorFactoryDefault,\n} from '@comunica/actor-expression-evaluator-factory-default/lib';\nimport { InternalEvaluator } from '@comunica/actor-expression-evaluator-factory-default/lib/InternalEvaluator';\nimport type {\n ActorExpressionEvaluatorFactory,\n IActorExpressionEvaluatorFactoryArgs,\n MediatorExpressionEvaluatorFactory,\n} from '@comunica/bus-expression-evaluator-factory';\nimport type { MediatorFunctionFactory } from '@comunica/bus-function-factory';\nimport type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';\nimport type { MediatorQueryOperation } from '@comunica/bus-query-operation';\nimport { KeysExpressionEvaluator, KeysInitQuery } from '@comunica/context-entries';\nimport { ActionContext, Bus } from '@comunica/core';\nimport * as Eval from '@comunica/expression-evaluator';\nimport type { GeneralSuperTypeDict, IActionContext, ISuperTypeProvider } from '@comunica/types';\nimport { BindingsFactory } from '@comunica/utils-bindings-factory';\nimport type * as RDF from '@rdfjs/types';\nimport { LRUCache } from 'lru-cache';\nimport { DataFactory } from 'rdf-data-factory';\nimport { Algebra } from 'sparqlalgebrajs';\nimport { Wildcard } from 'sparqljs';\n\nexport const DF = new DataFactory();\n\nexport const BF = new BindingsFactory(DF);\n\nexport function makeAggregate(aggregator: string, distinct = false, separator?: string, wildcard = false):\nAlgebra.AggregateExpression {\n const inner: Algebra.Expression = wildcard ?\n {\n type: Algebra.types.EXPRESSION,\n expressionType: Algebra.expressionTypes.WILDCARD,\n wildcard: new Wildcard(),\n } :\n {\n type: Algebra.types.EXPRESSION,\n expressionType: Algebra.expressionTypes.TERM,\n term: DF.variable('x'),\n };\n return {\n type: Algebra.types.EXPRESSION,\n expressionType: Algebra.expressionTypes.AGGREGATE,\n aggregator: <any>aggregator,\n distinct,\n separator,\n expression: inner,\n };\n}\n\nexport function int(value: string): RDF.Term {\n return DF.literal(value, DF.namedNode('http://www.w3.org/2001/XMLSchema#integer'));\n}\n\nexport function float(value: string): RDF.Term {\n return DF.literal(value, DF.namedNode('http://www.w3.org/2001/XMLSchema#float'));\n}\n\nexport function decimal(value: string): RDF.Term {\n return DF.literal(value, DF.namedNode('http://www.w3.org/2001/XMLSchema#decimal'));\n}\n\nexport function date(value: string): RDF.Term {\n return DF.literal(value, DF.namedNode('http://www.w3.org/2001/XMLSchema#date'));\n}\n\nexport function string(value: string): RDF.Term {\n return DF.literal(value, DF.namedNode('http://www.w3.org/2001/XMLSchema#string'));\n}\n\nexport function double(value: string): RDF.Term {\n return DF.literal(value, DF.namedNode('http://www.w3.org/2001/XMLSchema#double'));\n}\n\nexport function nonLiteral(): RDF.Term {\n return DF.namedNode('http://example.org/');\n}\n\nexport function getMockEEActionContext(actionContext?: IActionContext): IActionContext {\n return new ActionContext({\n [KeysInitQuery.queryTimestamp.name]: new Date(Date.now()),\n [KeysInitQuery.functionArgumentsCache.name]: {},\n [KeysExpressionEvaluator.superTypeProvider.name]: getMockSuperTypeProvider(),\n [KeysInitQuery.dataFactory.name]: DF,\n }).merge(actionContext ?? new ActionContext());\n}\n\nexport function getMockInternalEvaluator(factory?: ActorExpressionEvaluatorFactory, context?: IActionContext):\nInternalEvaluator {\n return new InternalEvaluator(\n Eval.prepareEvaluatorActionContext(getMockEEActionContext(context)),\n getMockMediatorFunctionFactory(),\n <any> {},\n <any> {},\n );\n}\n\nexport function getMockEEFactory({\n mediatorQueryOperation,\n mediatorFunctionFactory,\n mediatorMergeBindingsContext,\n}: Partial<IActorExpressionEvaluatorFactoryArgs> = {}): ActorExpressionEvaluatorFactory {\n return new ActorExpressionEvaluatorFactoryDefault({\n bus: new Bus({ name: 'testBusMock' }),\n name: 'mockEEFactory',\n mediatorQueryOperation: mediatorQueryOperation ?? getMockMediatorQueryOperation(),\n mediatorFunctionFactory: mediatorFunctionFactory ?? getMockMediatorFunctionFactory(),\n mediatorMergeBindingsContext: mediatorMergeBindingsContext ?? getMockMediatorMergeBindingsContext(),\n });\n}\n\nexport function getMockMediatorQueryOperation(): MediatorQueryOperation {\n return <any>{\n async mediate(_: any) {\n throw new Error('mediatorQueryOperation mock not implemented');\n },\n };\n}\n\nexport function getMockMediatorMergeBindingsContext(): MediatorMergeBindingsContext {\n return <any>{\n async mediate(_: any) {\n return BF;\n },\n };\n}\n\nexport function getMockMediatorExpressionEvaluatorFactory(\n args: Partial<IActorExpressionEvaluatorFactoryArgs> = {},\n): MediatorExpressionEvaluatorFactory {\n return <any>{\n async mediate(arg: any) {\n // eslint-disable-next-line unicorn/no-useless-undefined\n return getMockEEFactory(args).run(arg, undefined);\n },\n };\n}\n\nexport function getMockMediatorFunctionFactory(): MediatorFunctionFactory {\n return <any>{\n async mediate(_: any) {\n throw new Error('mediatorFunctionFactory mock not implemented');\n },\n };\n}\n\nexport function getMockSuperTypeProvider(): ISuperTypeProvider {\n return {\n cache: new LRUCache<string, GeneralSuperTypeDict>({ max: 1_000 }),\n discoverer: _ => 'term',\n };\n}\n"]}