src/util.js
async function actionWith(descriptor, args = []) {
  try {
    descriptor.payload =
      typeof descriptor.payload === 'function'
        ? await descriptor.payload(...args)
        : descriptor.payload;
  } catch (e) {
    descriptor.payload = new InternalError(e.message);
    descriptor.error = true;
  }

  try {
    descriptor.meta =
      typeof descriptor.meta === 'function'
        ? await descriptor.meta(...args)
        : descriptor.meta;
  } catch (e) {
    delete descriptor.meta;
    descriptor.payload = new InternalError(e.message);
    descriptor.error = true;
  }

  return descriptor;
}
async function actionWith(descriptor, args = []) {
  try {
    descriptor.payload =
      typeof descriptor.payload === 'function'
        ? await descriptor.payload(...args)
        : descriptor.payload;
  } catch (e) {
    descriptor.payload = new InternalError(e.message);
    descriptor.error = true;
  }

  try {
    descriptor.meta =
      typeof descriptor.meta === 'function'
        ? await descriptor.meta(...args)
        : descriptor.meta;
  } catch (e) {
    delete descriptor.meta;
    descriptor.payload = new InternalError(e.message);
    descriptor.error = true;
  }

  return descriptor;
}
async function actionWith ( descriptor , args = [ ] ) { try { descriptor . payload = typeof descriptor . payload === 'function' ? await descriptor . payload ( ... args ) : descriptor . payload ; } catch ( e ) { descriptor . payload = new InternalError ( e . message ) ; descriptor . error = true ; } try { descriptor . meta = typeof descriptor . meta === 'function' ? await descriptor . meta ( ... args ) : descriptor . meta ; } catch ( e ) { delete descriptor . meta ; descriptor . payload = new InternalError ( e . message ) ; descriptor . error = true ; } return descriptor ; }
Evaluate a type descriptor to an FSA

@function actionWith
@access private
@param {object} descriptor - A type descriptor
@param {array} args - The array of arguments for `payload` and `meta` function properties
@returns {object}
Evaluate a type descriptor to an FSA