Skip to content

Commit 8db94b3

Browse files
authored
Close method (#13)
close method for jsonl and sv writers
1 parent e099eb7 commit 8db94b3

File tree

96 files changed

+110
-370
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+110
-370
lines changed

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,10 @@ dist/gss.mod.min.js: ## Build minified JavaScript module
142142
gopherjs build -m -o dist/gss.mod.min.js github.com/spatialcurrent/go-simple-serializer/cmd/gss.mod.js
143143

144144
dist/gss.global.js: ## Build JavaScript library that attaches to global or window.
145-
GSS_JS_EXPORT_GLOBAL=1 gopherjs build -o dist/gss.global.js github.com/spatialcurrent/go-simple-serializer/cmd/gss.global.js
145+
gopherjs build -o dist/gss.global.js github.com/spatialcurrent/go-simple-serializer/cmd/gss.global.js
146146

147147
dist/gss.global.min.js: ## Build minified JavaScript library that attaches to global or window.
148-
GSS_JS_EXPORT_GLOBAL=1 gopherjs build -m -o dist/gss.global.min.js github.com/spatialcurrent/go-simple-serializer/cmd/gss.global.js
148+
gopherjs build -m -o dist/gss.global.min.js github.com/spatialcurrent/go-simple-serializer/cmd/gss.global.js
149149

150150
build_javascript: dist/gss.mod.js dist/gss.mod.min.js dist/gss.global.js dist/gss.global.min.js ## Build artifacts for JavaScript
151151

@@ -174,7 +174,7 @@ run_example_cpp: bin/gss.so bin/gss_example_cpp ## Run C++ example
174174
run_example_python: bin/gss.so ## Run Python example
175175
LD_LIBRARY_PATH=bin python examples/python/test.py
176176

177-
run_example_javascript: dist/gss.mod.js ## Run JavaScript module example
177+
run_example_javascript: dist/gss.mod.min.js ## Run JavaScript module example
178178
node examples/js/index.mod.js
179179

180180
## Clean

cmd/gss/main.go

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,19 @@ import (
3232
"os"
3333
"reflect"
3434
"strings"
35-
)
3635

37-
import (
3836
"github.com/pkg/errors"
39-
"github.com/spf13/cobra"
40-
"github.com/spf13/pflag"
41-
"github.com/spf13/viper"
42-
)
43-
44-
import (
4537
"github.com/spatialcurrent/go-pipe/pkg/pipe"
46-
"github.com/spatialcurrent/go-stringify/pkg/stringify"
47-
)
48-
49-
import (
5038
"github.com/spatialcurrent/go-simple-serializer/pkg/cli"
5139
"github.com/spatialcurrent/go-simple-serializer/pkg/gss"
5240
"github.com/spatialcurrent/go-simple-serializer/pkg/iterator"
5341
"github.com/spatialcurrent/go-simple-serializer/pkg/jsonl"
5442
"github.com/spatialcurrent/go-simple-serializer/pkg/serializer"
5543
"github.com/spatialcurrent/go-simple-serializer/pkg/sv"
44+
"github.com/spatialcurrent/go-stringify/pkg/stringify"
45+
"github.com/spf13/cobra"
46+
"github.com/spf13/pflag"
47+
"github.com/spf13/viper"
5648
)
5749

5850
var gitBranch string

pkg/bson/Marshal_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ package bson
1010
import (
1111
"reflect"
1212
"testing"
13-
)
1413

15-
import (
1614
"github.com/stretchr/testify/assert"
1715
)
1816

pkg/bson/Unmarshal.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,8 @@ package bson
1010
import (
1111
"fmt"
1212
// import the mgo bson library
13-
mgobson "gopkg.in/mgo.v2/bson"
14-
)
15-
16-
import (
1713
"github.com/pkg/errors"
14+
mgobson "gopkg.in/mgo.v2/bson"
1815
)
1916

2017
// Unmarshal parses a slice of bytes into an object using a few simple type inference rules.

pkg/bson/UnmarshalType.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@ import (
1212
// import the mgo bson library
1313
"reflect"
1414

15-
mgobson "gopkg.in/mgo.v2/bson"
16-
)
17-
18-
import (
1915
"github.com/pkg/errors"
16+
mgobson "gopkg.in/mgo.v2/bson"
2017
)
2118

2219
// UnmarshalType parses a slice of bytes into an object of a given type.

pkg/bson/UnmarshalType_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ package bson
1010
import (
1111
"reflect"
1212
"testing"
13-
)
1413

15-
import (
1614
"github.com/stretchr/testify/assert"
1715
)
1816

pkg/bson/Unmarshal_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ package bson
99

1010
import (
1111
"testing"
12-
)
1312

14-
import (
1513
"github.com/stretchr/testify/assert"
1614
)
1715

pkg/cli/cli.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,13 @@
77

88
// Package cli manages loading and testing configuration for serializing and deserializing objects from the command line.
99
package cli
10+
11+
import (
12+
"github.com/pkg/errors"
13+
)
14+
15+
var (
16+
ErrMissingKeyValueSeparator = errors.New("missing key-value separator")
17+
ErrMissingLineSeparator = errors.New("missing line separator")
18+
ErrMissingEscapePrefix = errors.New("missing escape prefix")
19+
)

pkg/cli/input.go

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,31 @@ package cli
1010
import (
1111
"fmt"
1212
"strings"
13-
)
1413

15-
import (
1614
"github.com/pkg/errors"
1715
"github.com/spf13/pflag"
1816
"github.com/spf13/viper"
1917
)
2018

2119
const (
22-
FlagInputURI string = "input-uri"
23-
FlagInputCompression string = "input-compression"
24-
FlagInputFormat string = "input-format"
25-
FlagInputHeader string = "input-header"
26-
FlagInputLimit string = "input-limit"
27-
FlagInputComment string = "input-comment"
28-
FlagInputLazyQuotes string = "input-lazy-quotes"
29-
FlagInputTrim string = "input-trim"
30-
FlagInputReaderBufferSize string = "input-reader-buffer-size"
31-
FlagInputSkipLines string = "input-skip-lines"
32-
FlagInputLineSeparator string = "input-line-separator"
33-
FlagInputDropCR string = "input-drop-cr"
34-
FlagInputEscapePrefix string = "input-escape-prefix"
35-
FlagInputUnescapeColon string = "input-unescape-colon"
36-
FlagInputUnescapeEqual string = "input-unescape-equal"
37-
FlagInputUnescapeSpace string = "input-unescape-space"
38-
FlagInputUnescapeNewLine string = "input-unescape-new-line"
20+
FlagInputURI string = "input-uri"
21+
FlagInputCompression string = "input-compression"
22+
FlagInputFormat string = "input-format"
23+
FlagInputHeader string = "input-header"
24+
FlagInputLimit string = "input-limit"
25+
FlagInputComment string = "input-comment"
26+
FlagInputLazyQuotes string = "input-lazy-quotes"
27+
FlagInputTrim string = "input-trim"
28+
FlagInputReaderBufferSize string = "input-reader-buffer-size"
29+
FlagInputSkipLines string = "input-skip-lines"
30+
FlagInputLineSeparator string = "input-line-separator"
31+
FlagInputKeyValueSeparator string = "input-key-value-separator"
32+
FlagInputDropCR string = "input-drop-cr"
33+
FlagInputEscapePrefix string = "input-escape-prefix"
34+
FlagInputUnescapeColon string = "input-unescape-colon"
35+
FlagInputUnescapeEqual string = "input-unescape-equal"
36+
FlagInputUnescapeSpace string = "input-unescape-space"
37+
FlagInputUnescapeNewLine string = "input-unescape-new-line"
3938

4039
DefaultSkipLines int = 0
4140
DefaultInputLimit int = -1
@@ -72,6 +71,7 @@ func InitInputFlags(flag *pflag.FlagSet, formats []string) {
7271
flag.IntP(FlagInputLimit, "l", DefaultInputLimit, "The input limit")
7372
flag.BoolP(FlagInputTrim, "t", false, "trim input lines")
7473
flag.String(FlagInputLineSeparator, "\n", "override line separator. Used with properties and JSONL formats.")
74+
flag.String(FlagInputKeyValueSeparator, "", "override key-value separator. not used.")
7575
flag.Bool(FlagInputDropCR, false, "drop carriage return characters that immediately precede new line characters")
7676
flag.String(FlagInputEscapePrefix, "", "override escape prefix. Used with properties format.")
7777
flag.Bool(FlagInputUnescapeColon, false, "Unescape colon characters in input. Used with properties format.")
@@ -92,6 +92,9 @@ func CheckInput(v *viper.Viper, formats []string) error {
9292
if ls := v.GetString(FlagInputLineSeparator); len(ls) != 1 {
9393
return ErrMissingLineSeparator
9494
}
95+
if ls := v.GetString(FlagInputKeyValueSeparator); len(ls) != 1 {
96+
return ErrMissingKeyValueSeparator
97+
}
9598
if len(v.GetString(FlagInputEscapePrefix)) == 0 {
9699
if v.GetBool(FlagInputUnescapeColon) {
97100
return errors.Wrap(ErrMissingEscapePrefix, "unescaping colon requires an escape prefix")

pkg/cli/output.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@ package cli
1010
import (
1111
"fmt"
1212
"strings"
13-
)
1413

15-
import (
1614
"github.com/pkg/errors"
1715
"github.com/spf13/pflag"
1816
"github.com/spf13/viper"
@@ -55,11 +53,6 @@ var (
5553
DefaultOutputHeader = []string{}
5654
)
5755

58-
var (
59-
ErrMissingLineSeparator = errors.New("line separator cannot be blank")
60-
ErrMissingEscapePrefix = errors.New("escape prefix is missing")
61-
)
62-
6356
type ErrMissingOutputFormat struct {
6457
Expected []string
6558
}
@@ -113,6 +106,9 @@ func CheckOutput(v *viper.Viper, formats []string) error {
113106
if ls := v.GetString(FlagOutputLineSeparator); len(ls) != 1 {
114107
return ErrMissingLineSeparator
115108
}
109+
if ls := v.GetString(FlagOutputKeyValueSeparator); len(ls) != 1 {
110+
return ErrMissingKeyValueSeparator
111+
}
116112
if len(v.GetString(FlagOutputEscapePrefix)) == 0 {
117113
if v.GetBool(FlagOutputEscapeColon) {
118114
return errors.Wrap(ErrMissingEscapePrefix, "escaping colon requires an escape prefix")

0 commit comments

Comments
 (0)