From dbfbefb01bda9659614d69f597db6bf9aa74ef6f Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 18 Apr 2026 22:22:02 +0000 Subject: [PATCH 1/2] deps: install jsonic from github main; tag grammar alts with 'csv' Use jsonic from jsonicjs/jsonic#main to pick up the new grammar(gs, setting) signature, and pass rule.alt.g='csv' so every alt from the embedded CSV grammar is tagged. https://claude.ai/code/session_016bybofWANz4FrWyur18uad --- package.json | 1 + src/csv.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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, From 93680b413092542901fa322ca4c186261d190938 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 19 Apr 2026 12:50:47 +0000 Subject: [PATCH 2/2] go: update jsonic to main; tag grammar alts with 'csv' Bump github.com/jsonicjs/jsonic/go to the latest main commit and pass GrammarSetting{Rule.Alt.G: "csv"} to j.Grammar so every alt from the embedded CSV grammar is tagged. https://claude.ai/code/session_016bybofWANz4FrWyur18uad --- go/csv.go | 6 +++++- go/go.mod | 2 +- go/go.sum | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) 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=