@nidomiro/relation-tuple-parser-ory-keto
Version:
[](https://www.npmjs.com/package/@nidomiro/relation-tuple-parser-ory-keto)
49 lines • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRelationTuple = exports.createRelationQuery = void 0;
const relation_tuple_parser_1 = require("@nidomiro/relation-tuple-parser");
function createRelationQuery(tuple, replacements) {
if ((0, relation_tuple_parser_1.isRelationTuple)(tuple)) {
return createRelationTuple(tuple);
}
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
return createRelationTuple(tuple, replacements);
}
exports.createRelationQuery = createRelationQuery;
function createRelationTuple(tuple, opt_replacements) {
var _a, _b;
if ((0, relation_tuple_parser_1.isRelationTuple)(tuple)) {
const result = {
namespace: tuple.namespace,
object: tuple.object,
relation: tuple.relation,
};
if (typeof tuple.subjectIdOrSet === 'string') {
result.subject_id = tuple.subjectIdOrSet;
}
else {
result.subject_set = Object.assign(Object.assign({}, tuple.subjectIdOrSet), { relation: (_a = tuple.subjectIdOrSet.relation) !== null && _a !== void 0 ? _a : '' });
}
return result;
}
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const replacements = opt_replacements; // cannot be null
const result = {
namespace: tuple.namespace(replacements),
object: tuple.object(replacements),
relation: tuple.relation(replacements),
};
if (typeof tuple.subjectIdOrSet === 'function') {
result.subject_id = tuple.subjectIdOrSet(replacements);
}
else {
result.subject_set = {
namespace: tuple.subjectIdOrSet.namespace(replacements),
object: tuple.subjectIdOrSet.object(replacements),
relation: (_b = tuple.subjectIdOrSet.relation(replacements)) !== null && _b !== void 0 ? _b : '',
};
}
return result;
}
exports.createRelationTuple = createRelationTuple;
//# sourceMappingURL=keto-http.converter.js.map