grwjs

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2019 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package grwjs includes functions for the JavaScript build of GRW.

Index

Constants

This section is empty.

Variables

View Source
var Exports = map[string]interface{}{
	"algorithms": grw.Algorithms,
	"schemes":    grw.Schemes,
	"read": func(uri string, alg string, options map[string]interface{}, callback func(...interface{}) *js.Object) {
		go func() {
			scheme, _ := splitter.SplitUri(uri)
			switch scheme {
			case grw.SchemeS3:
				s3Client, err := newS3Client(options)
				if err != nil {
					callback(nil, errors.Wrapf(err, "error creating s3 client").Error())
					return
				}
				reader, _, err := grw.ReadFromResource(uri, alg, 4096, s3Client)
				if err != nil {
					callback(nil, errors.Wrapf(err, "error opening reader for uri %q with compression algorithm %q", uri, alg).Error())
					return
				}
				callback(js.MakeWrapper(&Reader{Reader: reader}), nil)
			case grw.SchemeFile, grw.SchemeHTTP, grw.SchemeHTTPS, "":
				reader, _, err := grw.ReadFromResource(uri, alg, 4096, nil)
				if err != nil {
					callback(nil, errors.Wrapf(err, "error opening reader for uri %q with compression algorithm %q", uri, alg).Error())
					return
				}
				callback(js.MakeWrapper(&Reader{Reader: reader}), nil)
			default:
				callback(nil, fmt.Sprintf("error opening reader for uri %q: scheme %q is not supported", uri, scheme))
			}
		}()
	},
}

Functions

This section is empty.

Types

type Reader

type Reader struct {
	Reader grw.ByteReadCloser
}

func (*Reader) Close

func (r *Reader) Close() map[string]interface{}

func (*Reader) Read

func (r *Reader) Read(p []byte) map[string]interface{}

func (*Reader) ReadAll

func (r *Reader) ReadAll() map[string]interface{}

func (*Reader) ReadAllAndClose

func (r *Reader) ReadAllAndClose() map[string]interface{}

func (*Reader) ReadAt

func (r *Reader) ReadAt(p []byte, off int64) map[string]interface{}

func (*Reader) ReadByte

func (r *Reader) ReadByte() map[string]interface{}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL