github.com/0chain/gosdk@v1.17.11/wasmsdk/common.go (about)

     1  //go:build js && wasm
     2  // +build js,wasm
     3  
     4  package main
     5  
     6  import (
     7  	"errors"
     8  	"syscall/js"
     9  
    10  	"github.com/0chain/gosdk/wasmsdk/jsbridge"
    11  	"github.com/0chain/gosdk/zboxcore/sdk"
    12  )
    13  
    14  // PrintError is to print to stderr
    15  func PrintError(v ...interface{}) {
    16  	sdkLogger.Error(v...)
    17  }
    18  
    19  // PrintInfo is to print to stdout
    20  func PrintInfo(v ...interface{}) {
    21  	sdkLogger.Info(v...)
    22  }
    23  
    24  func getFileMeta(allocationObj *sdk.Allocation, remotePath string, commit bool) (*sdk.ConsolidatedFileMeta, bool, error) {
    25  	var fileMeta *sdk.ConsolidatedFileMeta
    26  	isFile := false
    27  	if commit {
    28  
    29  		statsMap, err := allocationObj.GetFileStats(remotePath)
    30  		if err != nil {
    31  			return nil, false, err
    32  		}
    33  
    34  		for _, v := range statsMap {
    35  			if v != nil {
    36  				isFile = true
    37  				break
    38  			}
    39  		}
    40  
    41  		fileMeta, err = allocationObj.GetFileMeta(remotePath)
    42  		if err != nil {
    43  			return nil, false, err
    44  		}
    45  	}
    46  
    47  	return fileMeta, isFile, nil
    48  }
    49  
    50  type hasher struct {
    51  	md5HashFuncName string
    52  }
    53  
    54  func newFileHasher(md5HashFuncName string) sdk.Hasher {
    55  	return &hasher{
    56  		md5HashFuncName: md5HashFuncName,
    57  	}
    58  }
    59  
    60  func (h *hasher) GetFileHash() (string, error) {
    61  	md5Callback := js.Global().Get(h.md5HashFuncName)
    62  	result, err := jsbridge.Await(md5Callback.Invoke())
    63  	if len(err) > 0 && !err[0].IsNull() {
    64  		return "", errors.New("file_hash: " + err[0].String())
    65  	}
    66  	return result[0].String(), nil
    67  }
    68  
    69  func (h *hasher) WriteToFile(_ []byte) error {
    70  	return nil
    71  }
    72  
    73  func (h *hasher) GetFixedMerkleRoot() (string, error) {
    74  	return "", nil
    75  }
    76  
    77  func (h *hasher) WriteToFixedMT(_ []byte) error {
    78  	return nil
    79  }
    80  
    81  func (h *hasher) GetValidationRoot() (string, error) {
    82  	return "", nil
    83  }
    84  
    85  func (h *hasher) WriteToValidationMT(_ []byte) error {
    86  	return nil
    87  }
    88  
    89  func (h *hasher) Finalize() error {
    90  	return nil
    91  }