function create(async = true) {
  const action = async ?
    function(d){action.triggerAsync(d); return this} :
    function(d){action.trigger(d); return this};
  Object.setPrototypeOf(action, Action.prototype);
  Object.defineProperties(action, actionProps);
  return action;
}
/**
 * Creates an action.
 * @param {boolean} async - if true any set function will be called asynchronously by default.
 * @returns {Action}
 */
Creates an action.
@param {boolean} async - if true any set function will be called asynchronously by default.
@returns {Action}
Creates an action . @param { boolean } async - if true any set function will be called asynchronously by default . @returns { Action }
function create(async = true) {
  const action = async ?
    function(d){action.triggerAsync(d); return this} :
    function(d){action.trigger(d); return this};
  Object.setPrototypeOf(action, Action.prototype);
  Object.defineProperties(action, actionProps);
  return action;
}
function create ( async = true ) { const action = async ? function ( d ) { action . triggerAsync ( d ) ; return this } : function ( d ) { action . trigger ( d ) ; return this } ; Object . setPrototypeOf ( action , Action . prototype ) ; Object . defineProperties ( action , actionProps ) ; return action ; }
Creates an action.
Creates an action .