code: function disableEventSourceMapping(functionName, streamName, avoidCache, context) {
    const desc = `event source mapping between function (${functionName}) & stream (${streamName})`;
  
    return (avoidCache ? getEventSourceMapping : getEventSourceMappingViaCache)(functionName, streamName, context).then(
      mapping => {
        if (mapping) {
          return lambdaUtils.disableEventSourceMapping(context.lambda, functionName, mapping.UUID, context)
            .then(() => true, () => false);
        }
        context.error(`Failed to disable ${desc}, since mapping does not exit`);
        return false;
      },
      err => {
        context.error(`Failed to disable ${desc}, since failed to get mapping`, err);
        return false;
      }
    );
  }
docs: Attempts to disable the event source mapping between the named Lambda function and the named Kinesis/DynamoDB stream.
  @param {string} functionName - the invoked name of the Lambda function (including alias if applicable)
  @param {string} streamName - the name of the Kinesis or DynamoDB stream
  @param {boolean|undefined} [avoidCache] - whether to avoid using the event source mapping cache or not
  @param {LambdaAware|StreamConsumerContext} context - the context to use
  @returns {Promise.<boolean>} whether the event source mapping was disabled or not