@comunica/actor-function-factory-expression-concat 4.4.1 → 4.4.2-alpha.49.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/components/ActorFunctionFactoryExpressionConcat.jsonld +0 -0
- package/components/components.jsonld +0 -0
- package/components/context.jsonld +0 -0
- package/lib/ActorFunctionFactoryExpressionConcat.d.ts +0 -0
- package/lib/ActorFunctionFactoryExpressionConcat.js +0 -0
- package/lib/ActorFunctionFactoryExpressionConcat.js.map +0 -0
- package/lib/ExpressionFunctionConcat.d.ts +1 -0
- package/lib/ExpressionFunctionConcat.js +6 -1
- package/lib/ExpressionFunctionConcat.js.map +1 -1
- package/lib/index.d.ts +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/package.json +5 -5
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -4,6 +4,7 @@ exports.ExpressionFunctionConcat = void 0;
|
|
|
4
4
|
const bus_function_factory_1 = require("@comunica/bus-function-factory");
|
|
5
5
|
const context_entries_1 = require("@comunica/context-entries");
|
|
6
6
|
const utils_expression_evaluator_1 = require("@comunica/utils-expression-evaluator");
|
|
7
|
+
const Helpers_1 = require("@comunica/utils-expression-evaluator/lib/functions/Helpers");
|
|
7
8
|
/**
|
|
8
9
|
* https://www.w3.org/TR/sparql11-query/#func-concat
|
|
9
10
|
*/
|
|
@@ -27,13 +28,17 @@ class ExpressionFunctionConcat extends bus_function_factory_1.ExpressionFunction
|
|
|
27
28
|
const strings = lits.map(lit => lit.typedValue);
|
|
28
29
|
const joined = strings.join('');
|
|
29
30
|
const lang = ExpressionFunctionConcat.langAllEqual(lits) ? lits[0].language : undefined;
|
|
30
|
-
|
|
31
|
+
const dir = ExpressionFunctionConcat.dirAllEqual(lits) ? lits[0].direction : undefined;
|
|
32
|
+
return lang ? (dir ? (0, Helpers_1.dirLangString)(joined, lang, dir) : (0, utils_expression_evaluator_1.langString)(joined, lang)) : (0, utils_expression_evaluator_1.string)(joined);
|
|
31
33
|
},
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
36
|
static langAllEqual(lits) {
|
|
35
37
|
return lits.length > 0 && lits.every(lit => lit.language === lits[0].language);
|
|
36
38
|
}
|
|
39
|
+
static dirAllEqual(lits) {
|
|
40
|
+
return lits.length > 0 && lits.every(lit => lit.direction === lits[0].direction);
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
exports.ExpressionFunctionConcat = ExpressionFunctionConcat;
|
|
39
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressionFunctionConcat.js","sourceRoot":"","sources":["ExpressionFunctionConcat.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AACxE,+DAAmF;AAMnF,qFAM8C;
|
|
1
|
+
{"version":3,"file":"ExpressionFunctionConcat.js","sourceRoot":"","sources":["ExpressionFunctionConcat.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExpressionFunctionBase } from '@comunica/bus-function-factory';\nimport { KeysExpressionEvaluator, KeysInitQuery } from '@comunica/context-entries';\nimport type { IEvalContext, TermExpression } from '@comunica/types';\nimport type {\n Literal,\n OverloadTree,\n} from '@comunica/utils-expression-evaluator';\nimport {\n declare,\n InvalidArgumentTypes,\n langString,\n SparqlOperator,\n string,\n} from '@comunica/utils-expression-evaluator';\nimport { dirLangString } from '@comunica/utils-expression-evaluator/lib/functions/Helpers';\n\n/**\n * https://www.w3.org/TR/sparql11-query/#func-concat\n */\nexport class ExpressionFunctionConcat extends ExpressionFunctionBase {\n public constructor() {\n super({\n arity: Number.POSITIVE_INFINITY,\n operator: SparqlOperator.CONCAT,\n apply: async(context: IEvalContext): Promise<TermExpression> => {\n const { args, mapping, exprEval } = context;\n const pLits: Promise<Literal<string>>[] = args\n .map(async expr => exprEval.evaluatorExpressionEvaluation(expr, mapping))\n .map(async(pTerm) => {\n const operation = ExpressionFunctionConcat.concatTree.search(\n [ await pTerm ],\n exprEval.context.getSafe(KeysExpressionEvaluator.superTypeProvider),\n exprEval.context.getSafe(KeysInitQuery.functionArgumentsCache),\n );\n if (!operation) {\n throw new InvalidArgumentTypes(args, SparqlOperator.CONCAT);\n }\n return <Literal<string>> operation(exprEval)([ await pTerm ]);\n });\n const lits = await Promise.all(pLits);\n const strings = lits.map(lit => lit.typedValue);\n const joined = strings.join('');\n const lang = ExpressionFunctionConcat.langAllEqual(lits) ? lits[0].language : undefined;\n const dir = ExpressionFunctionConcat.dirAllEqual(lits) ? lits[0].direction : undefined;\n return lang ? (dir ? dirLangString(joined, lang, dir) : langString(joined, lang)) : string(joined);\n },\n });\n }\n\n /**\n * This OverloadTree with the constant function will handle both type promotion and subtype-substitution\n */\n private static readonly concatTree: OverloadTree = declare(SparqlOperator.CONCAT).onStringly1(() => expr => expr)\n .collect();\n\n private static langAllEqual(lits: Literal<string>[]): boolean {\n return lits.length > 0 && lits.every(lit => lit.language === lits[0].language);\n }\n\n private static dirAllEqual(lits: Literal<string>[]): boolean {\n return lits.length > 0 && lits.every(lit => lit.direction === lits[0].direction);\n }\n}\n"]}
|
package/lib/index.d.ts
CHANGED
|
File without changes
|
package/lib/index.js
CHANGED
|
File without changes
|
package/lib/index.js.map
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comunica/actor-function-factory-expression-concat",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.2-alpha.49.0",
|
|
4
4
|
"description": "A expression-concat function-factory actor",
|
|
5
5
|
"lsd:module": true,
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"build:components": "componentsjs-generator"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@comunica/bus-function-factory": "
|
|
41
|
-
"@comunica/context-entries": "
|
|
42
|
-
"@comunica/utils-expression-evaluator": "
|
|
40
|
+
"@comunica/bus-function-factory": "4.4.2-alpha.49.0",
|
|
41
|
+
"@comunica/context-entries": "4.4.2-alpha.49.0",
|
|
42
|
+
"@comunica/utils-expression-evaluator": "4.4.2-alpha.49.0"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "ef6f96cfd8faf7c37955bb7e0fe9f6fc6a994bdf"
|
|
45
45
|
}
|