UNPKG

chain-able

Version:

interfaces that describe their intentions.

28 lines (24 loc) 1.13 kB
import {Obj, Fn} from './generic' import {Class, TransformI, ObserveI, DotPropI, ShorthandsI} from './_mediator' import {ChainedMapI} from './ChainedMap' import {Chain} from './Chain' import {ChainableI, Chainable} from './Chainable' // https://stackoverflow.com/questions/38338013/can-you-extend-a-function-in-typescript // https://typescript.codeplex.com/wikipage?title=Writing%20Definition%20%28.d.ts%29%20Files // https://stackoverflow.com/questions/14813804/typescript-function-interface export interface Composer { (target: Class, extensions?: Array<Class> | undefined): ComposedClass } export interface Composable { compose: Composer } // compose / chain export declare function compose( target: Composable, extensions?: Array<Obj> | undefined ): Composable export type Class = Chain | Obj export type ComposedClass = Chain | Chainable | Composable | Class | Fn | Obj export type ParentType = ComposedClass // export type ChainAble = Chain // ComposedClass | ChainedSetI | ChainedMapI // | any export interface Composed extends Composable, TransformI, ShorthandsI, ObserveI, DotPropI, ChainableI, ChainedMapI {}