| 'use strict'; | 
|   | 
| const Mixin = require('../../utils/mixin'); | 
|   | 
| class LocationInfoOpenElementStackMixin extends Mixin { | 
|     constructor(stack, opts) { | 
|         super(stack); | 
|   | 
|         this.onItemPop = opts.onItemPop; | 
|     } | 
|   | 
|     _getOverriddenMethods(mxn, orig) { | 
|         return { | 
|             pop() { | 
|                 mxn.onItemPop(this.current); | 
|                 orig.pop.call(this); | 
|             }, | 
|   | 
|             popAllUpToHtmlElement() { | 
|                 for (let i = this.stackTop; i > 0; i--) { | 
|                     mxn.onItemPop(this.items[i]); | 
|                 } | 
|   | 
|                 orig.popAllUpToHtmlElement.call(this); | 
|             }, | 
|   | 
|             remove(element) { | 
|                 mxn.onItemPop(this.current); | 
|                 orig.remove.call(this, element); | 
|             } | 
|         }; | 
|     } | 
| } | 
|   | 
| module.exports = LocationInfoOpenElementStackMixin; |