UNPKG

@nidomiro/relation-tuple-parser

Version:

[![npm version](https://badge.fury.io/js/@nidomiro%2Frelation-tuple-parser.svg)](https://www.npmjs.com/package/@nidomiro/relation-tuple-parser)

16 lines (15 loc) 860 B
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;