diff --git a/go/csv.go b/go/csv.go index 05686ba..c6a0daa 100644 --- a/go/csv.go +++ b/go/csv.go @@ -427,7 +427,11 @@ func Csv(j *jsonic.Jsonic, options map[string]any) error { if err != nil { return err } - if err := j.Grammar(gs); err != nil { + if err := j.Grammar(gs, &jsonic.GrammarSetting{ + Rule: &jsonic.GrammarSettingRule{ + Alt: &jsonic.GrammarSettingAlt{G: "csv"}, + }, + }); err != nil { return fmt.Errorf("failed to apply csv grammar: %w", err) } diff --git a/go/go.mod b/go/go.mod index 55ab5a2..f732323 100644 --- a/go/go.mod +++ b/go/go.mod @@ -2,4 +2,4 @@ module github.com/jsonicjs/csv/go go 1.24.7 -require github.com/jsonicjs/jsonic/go v0.1.18 +require github.com/jsonicjs/jsonic/go v0.1.19-0.20260418194431-54100be22847 diff --git a/go/go.sum b/go/go.sum index 7142a59..b960e5a 100644 --- a/go/go.sum +++ b/go/go.sum @@ -1,2 +1,4 @@ github.com/jsonicjs/jsonic/go v0.1.18 h1:OW15hjFisrw2n7HE6zDuQAikW8A5NUW8OyP4SCG2oFg= github.com/jsonicjs/jsonic/go v0.1.18/go.mod h1:ObNKlCG7esWoi4AHCpdgkILvPINV8bpvkbCd4llGGUg= +github.com/jsonicjs/jsonic/go v0.1.19-0.20260418194431-54100be22847 h1:+utFlbRO7upKu+DLO9tjUzWHacbxwsyiuFcCkylV3IA= +github.com/jsonicjs/jsonic/go v0.1.19-0.20260418194431-54100be22847/go.mod h1:ObNKlCG7esWoi4AHCpdgkILvPINV8bpvkbCd4llGGUg= diff --git a/package.json b/package.json index 129bded..1db989e 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "devDependencies": { "@types/node": "^25.6.0", "csv-spectrum": "^2.0.0", + "jsonic": "github:jsonicjs/jsonic#main", "typescript": "^5.9.3" }, "peerDependencies": { diff --git a/src/csv.ts b/src/csv.ts index c4eaf01..e117378 100644 --- a/src/csv.ts +++ b/src/csv.ts @@ -365,7 +365,7 @@ fields per row are expected.`, // Parse embedded grammar definition using a separate standard Jsonic instance. const grammarDef = Jsonic.make()(grammarText) grammarDef.ref = refs - jsonic.grammar(grammarDef) + jsonic.grammar(grammarDef, { rule: { alt: { g: 'csv' } } }) // Rules list, elem, val are modified in code rather than the grammar file,