func NewClient() *Client {
	fake := Client{
		tables:            map[string]*table{},
		mu:                sync.Mutex{},
		nativeInterpreter: interpreter.NewNativeInterpreter(),
		langInterpreter:   &interpreter.Language{},
	}
	return &fake
}
NewClient initializes dynamodb client with a mock
package minidyn
import (
	"errors"
	"sync"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/request"
	"github.com/aws/aws-sdk-go/service/dynamodb"
	"github.com/aws/aws-sdk-go/service/dynamodb/dynamodbiface"
	"github.com/truora/minidyn/interpreter"
)
const primaryIndexName = ""
var (
	ErrMissingKeys = awserr.New("ValidationException", "The number of conditions on the keys is invalid", nil)
	ErrInvalidTableName = errors.New("invalid table name")
	ErrResourceNotFoundException = errors.New("requested resource not found")
	ErrConditionalRequestFailed = errors.New("the conditional request failed")
	ReturnUnprocessedItemsInBatch = false
)
type Client struct {
	dynamodbiface.DynamoDBAPI
	tables                map[string]*table
	mu                    sync.Mutex
	itemCollectionMetrics map[string][]*dynamodb.ItemCollectionMetrics
	langInterpreter       *interpreter.Language
	nativeInterpreter     *interpreter.Native
	forceFailureErr       error
}