@nidomiro/relation-tuple-parser
Version:
[](https://www.npmjs.com/package/@nidomiro/relation-tuple-parser)
16 lines (15 loc) • 860 B
TypeScript
import { RelationTuple } from '../relation-tuple';
import { ReplacementValues } from './replacement-values';
export declare type ReplaceableString<T extends ReplacementValues, R extends string | undefined = string> = (replacements: T) => R;
export interface SubjectSetWithReplacements<T extends ReplacementValues> {
namespace: ReplaceableString<T>;
object: ReplaceableString<T>;
relation: ReplaceableString<T, string | undefined>;
}
export interface RelationTupleWithReplacements<T extends ReplacementValues> {
namespace: ReplaceableString<T>;
object: ReplaceableString<T>;
relation: ReplaceableString<T>;
subjectIdOrSet: ReplaceableString<T> | SubjectSetWithReplacements<T>;
}
export declare const applyReplacements: <T extends ReplacementValues>(relationTuple: RelationTupleWithReplacements<T>, replacements: T) => RelationTuple;