(target: Ayanami<S>, config: Config<S>)
| 80 | |
| 81 | export class Ikari<State> { |
| 82 | static createAndBindAt<S>(target: Ayanami<S>, config: Config<S>): Ikari<S> { |
| 83 | const createdIkari = this.getFrom(target) |
| 84 | |
| 85 | if (createdIkari) { |
| 86 | return createdIkari |
| 87 | } else { |
| 88 | const ikari = new Ikari(target, config) |
| 89 | Reflect.defineMetadata(ikariSymbol, ikari, target) |
| 90 | return ikari |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | static getFrom<S>(target: { defaultState: S }): Ikari<S> | undefined { |
| 95 | return Reflect.getMetadata(ikariSymbol, target) |
no test coverage detected