callchain / callchain / linked /

# -*- coding: utf-8 -*-
'''callchain contrib keys'''

from callchain.key.base import KConfig
from callchain.key.queue import KResult, KThings
from callchain.key.mixin import KCall, KChain, KBranch

class KLinked(KBranch, KConfig, KCall, KChain):

    '''linked chain mixin'''

    def close():  # @NoSelf
        '''close out linked chain and switch to root chain'''

class KLinkedThings(KLinked, KThings):

    '''linked chain with things key'''

class KLinkedResult(KLinked, KResult):

    '''linked chain with results key'''