nl_tokens: Adds Knockout s additional array mutation functions to the array
pl_tokens: function addKnockoutArrayMutators ( ko , array , subscribable , signal ) { var fnNames = [ 'remove' , 'removeAll' , 'destroy' , 'destroyAll' , 'replace' ] ; fnNames . forEach ( function ( fnName ) { // Make it a non-enumerable property for consistency with standard Array // functions Object . defineProperty ( array , fnName , { enumerable : false , value : function ( ) { var result ; // These additional array mutators are built using the underlying // push/pop/etc. mutators, which are wrapped to trigger notifications. // But we don't want to trigger multiple notifications, so pause the // push/pop/etc. wrappers and delivery only one notification at the end // of the process. signal . pause = true ; try { // Creates a temporary observableArray that can perform the operation. var fn = ko . observableArray . fn [ fnName ] ; <mask> = fn . apply ( ko . observableArray ( array ) , arguments ) ; } finally { signal . pause = false ; } subscribable . notifySubscribers ( array ) ; return result ; } } ) ; } ) ; }