graphql-to-sparql
Version:
Converts GraphQL queries to SPARQL queries
33 lines • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeValueHandlerString = void 0;
const NodeValueHandlerAdapter_1 = require("./NodeValueHandlerAdapter");
/**
* Converts GraphQL strings to RDF string terms, which can have a custom language or datatype.
*/
class NodeValueHandlerString extends NodeValueHandlerAdapter_1.NodeValueHandlerAdapter {
constructor(util, settings) {
super('StringValue', util, settings);
}
handle(valueNode, fieldName, convertContext) {
// eslint-disable-next-line ts/no-unsafe-assignment, ts/no-explicit-any
const contextEntry = convertContext.context.getContextRaw()[fieldName];
let language;
let datatype;
if (contextEntry && typeof contextEntry !== 'string') {
// eslint-disable-next-line ts/no-unsafe-member-access
if (contextEntry['@language']) {
// eslint-disable-next-line ts/no-unsafe-assignment, ts/no-unsafe-member-access
language = contextEntry['@language'];
// eslint-disable-next-line ts/no-unsafe-member-access
}
else if (contextEntry['@type']) {
// eslint-disable-next-line ts/no-unsafe-argument, ts/no-unsafe-member-access
datatype = this.util.dataFactory.namedNode(contextEntry['@type']);
}
}
return { terms: [this.util.dataFactory.literal((valueNode).value, language !== null && language !== void 0 ? language : datatype)] };
}
}
exports.NodeValueHandlerString = NodeValueHandlerString;
//# sourceMappingURL=NodeValueHandlerString.js.map