code: func SpecLoader(specFileOrDirs []string, createBlkTxTables bool) (*Projection, error) {
  	var projection *Projection
  	var err error
  
  	if len(specFileOrDirs) == 0 {
  		return nil, fmt.Errorf("please provide a spec file or directory")
  	}
  
  	projection, err = NewProjectionFromFolder(specFileOrDirs...)
  	if err != nil {
  		return nil, fmt.Errorf("error parsing spec: %v", err)
  	}
  
  	if createBlkTxTables {
  		// add block & tx to tables definition
  		blkTxTables := getBlockTxTablesDefinition()
  
  		for k, v := range blkTxTables {
  			projection.Tables[k] = v
  		}
  
  	}
  
  	return projection, nil
  }
docs: // SpecLoader loads spec files and parses them