gitsheets 1.0.5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/formats.d.ts +30 -0
- package/dist/cli/formats.d.ts.map +1 -0
- package/dist/cli/formats.js +145 -0
- package/dist/cli/formats.js.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +660 -41
- package/dist/cli/index.js.map +1 -1
- package/dist/format/index.d.ts +49 -0
- package/dist/format/index.d.ts.map +1 -0
- package/dist/format/index.js +60 -0
- package/dist/format/index.js.map +1 -0
- package/dist/format/markdown.d.ts +3 -0
- package/dist/format/markdown.d.ts.map +1 -0
- package/dist/format/markdown.js +131 -0
- package/dist/format/markdown.js.map +1 -0
- package/dist/format/toml.d.ts +3 -0
- package/dist/format/toml.d.ts.map +1 -0
- package/dist/format/toml.js +16 -0
- package/dist/format/toml.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/path-template/index.d.ts +21 -1
- package/dist/path-template/index.d.ts.map +1 -1
- package/dist/path-template/index.js +67 -5
- package/dist/path-template/index.js.map +1 -1
- package/dist/repository.d.ts +9 -0
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +13 -4
- package/dist/repository.js.map +1 -1
- package/dist/sheet.d.ts +130 -1
- package/dist/sheet.d.ts.map +1 -1
- package/dist/sheet.js +475 -34
- package/dist/sheet.js.map +1 -1
- package/dist/transaction.d.ts +7 -3
- package/dist/transaction.d.ts.map +1 -1
- package/dist/transaction.js +6 -3
- package/dist/transaction.js.map +1 -1
- package/package.json +5 -1
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,wDAAwD;AACxD,8EAA8E;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACL,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAoC5C,kCAAkC;AAClC,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,GAAG,YAAY,eAAe;QAAE,OAAO,EAAE,CAAC;IAC9C,IAAI,GAAG,YAAY,WAAW;QAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,GAAG,YAAY,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,GAAG,YAAY,aAAa;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAI,GAAG,YAAY,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAC/C,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,EAAE,CAAC;IACzC,IAAI,GAAG,YAAY,cAAc;QAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,YAAY,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC3B,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjG,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO;IACT,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QACzC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACD,4EAA4E;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,4FAA4F;IAC5F,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC3E,OAAO,GAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC,CAAC;IAC7C,CAAC;IACD,iBAAiB;IACjB,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAoC;IAEpC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,IAAgB,EAAE,cAAsB;IAO3D,MAAM,IAAI,GAMN,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;IAChD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,CAAC,GAAG;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;IACrC,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mBAAmB;AAEnB,KAAK,UAAU,SAAS,CAAC,IAAgB;IACvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,KAAK,CAAC,CAAC,+CAA+C;IAC3D,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7E,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAiB,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAe;IACrC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAI,IAAI,CAAC,MAAiC,IAAI,EAAE,CAAC;IAC7D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;YACrB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAG,MAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,CAAC,CAAC,MAAM,CAAC;QACX,8CAA8C;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM;IAC/D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAc;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC/C,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAChF,+EAA+E;IAC/E,sDAAsD;IACtD,IAAI,KAA6B,CAAC;IAClC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAI,MAAkC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAClF,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC;YACf,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,KAAK,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAmB;IAC7C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;IAC5D,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gBAAgB;AAEhB,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;SACvB,UAAU,CAAC,WAAW,CAAC;SACvB,KAAK,CAAC,+BAA+B,CAAC;SACtC,MAAM,EAAE;SACR,aAAa,CAAC,CAAC,EAAE,mBAAmB,CAAC;SACrC,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,oEAAoE;QAC9E,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;KAChC,CAAC;SACD,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,gDAAgD,EAAE,CAAC;SAC9F,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,0CAA0C,EAAE,CAAC;SACvF,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,4BAA4B,EAAE,CAAC;SAC/E,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC;SACrF,MAAM,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC;SACzE,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;SAC3E,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,gDAAgD;QAC1D,MAAM,EAAE,CAAC,GAAsB,EAA0B,EAAE;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,EAAE,KAAK,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;gBAC3E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;SACD,GAAG,CAAC,WAAW,CAAC;SAChB,OAAO,CACN,wBAAwB,EACxB,sCAAsC,EACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC3D,UAAU,CAAC,OAAO,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,4CAA4C;KACvD,CAAC,EACN,SAAS,CACV;SACA,OAAO,CACN,eAAe,EACf,wCAAwC,EACxC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,6CAA6C;QACvD,MAAM,EAAE,CAAC,GAAsB,EAA0B,EAAE;YACzD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,EAAE,KAAK,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACjD,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EACxC,QAAQ,CACT;SACA,OAAO,CACN,qBAAqB,EACrB,2CAA2C,EAC3C,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;SACE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAC3D,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAC/D,OAAO,CACR;SACA,OAAO,CACN,mBAAmB,EACnB,oEAAoE,EACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACpE,YAAY,CACb;SACA,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,IAAI,GAAG,EAAE,CAAC;YACR,WAAW,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;SACD,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,OAAO,EAAE,CAAC;IAEb,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { RecordLike } from '../path-template/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Per-format config sourced from `[gitsheet.format]` in the sheet config.
|
|
4
|
+
* Concrete formats receive this verbatim and ignore the parts they don't use.
|
|
5
|
+
*/
|
|
6
|
+
export interface FormatConfig {
|
|
7
|
+
/** Discriminator: 'toml' (default) | 'markdown' | 'mdx'. */
|
|
8
|
+
readonly type: string;
|
|
9
|
+
/** Field name holding the body text (markdown formats only). */
|
|
10
|
+
readonly body?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Markdownlint configuration object, or `false` to disable normalization.
|
|
13
|
+
* Markdown formats only.
|
|
14
|
+
*/
|
|
15
|
+
readonly markdownlint?: Readonly<Record<string, unknown>> | false;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Implementation surface every format provides. Symmetrical:
|
|
19
|
+
* - `serialize` produces the on-disk bytes for a record
|
|
20
|
+
* - `parse` decodes the on-disk bytes back into a record
|
|
21
|
+
* - `parseHeaderOnly` is an optimization for bulk reads where only the
|
|
22
|
+
* "header" portion (TOML for `toml`, frontmatter for `markdown`) is needed
|
|
23
|
+
*/
|
|
24
|
+
export interface Format {
|
|
25
|
+
/** File extension this format writes records as, including the leading dot. */
|
|
26
|
+
readonly extension: string;
|
|
27
|
+
/** Serialize a record to its on-disk text form. May normalize content. */
|
|
28
|
+
serialize(record: RecordLike, config: FormatConfig): Promise<string> | string;
|
|
29
|
+
/** Parse on-disk bytes into a full record. */
|
|
30
|
+
parse(text: string, config: FormatConfig): RecordLike;
|
|
31
|
+
/**
|
|
32
|
+
* Parse only the structured-fields portion of the record, skipping any
|
|
33
|
+
* heavy "body" content. For `toml`, identical to `parse`. For `markdown`,
|
|
34
|
+
* stops after the frontmatter closing delimiter. Used by lazy-body reads.
|
|
35
|
+
*/
|
|
36
|
+
parseHeaderOnly(text: string, config: FormatConfig): RecordLike;
|
|
37
|
+
}
|
|
38
|
+
export declare function registerFormat(name: string, format: Format): void;
|
|
39
|
+
export declare function getFormat(type: string): Format;
|
|
40
|
+
export declare function hasFormat(type: string): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Resolve a `FormatConfig` from the raw `[gitsheet.format]` block. Validates
|
|
43
|
+
* the discriminator and any format-specific required fields.
|
|
44
|
+
*
|
|
45
|
+
* Returns `null` (with the implicit default 'toml' format) when the caller
|
|
46
|
+
* didn't supply a format block at all.
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveFormatConfig(raw: unknown): FormatConfig;
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;CACnE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,0EAA0E;IAC1E,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAE9E,8CAA8C;IAC9C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;IAEtD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;CACjE;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAsB9D"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Format dispatch — pluggable serialize / parse interface for sheet records.
|
|
2
|
+
//
|
|
3
|
+
// A sheet's `[gitsheet.format]` config (default: `type = 'toml'`) selects how
|
|
4
|
+
// records are encoded on disk. The TOML format is the default and matches the
|
|
5
|
+
// v1.0/v1.1 behavior; the markdown format encodes records as `.md` files with
|
|
6
|
+
// TOML frontmatter and a designated body field. See specs/behaviors/content-types.md.
|
|
7
|
+
// --- Registry ---
|
|
8
|
+
const REGISTRY = new Map();
|
|
9
|
+
export function registerFormat(name, format) {
|
|
10
|
+
REGISTRY.set(name, format);
|
|
11
|
+
}
|
|
12
|
+
export function getFormat(type) {
|
|
13
|
+
const f = REGISTRY.get(type);
|
|
14
|
+
if (!f) {
|
|
15
|
+
throw new Error(`unknown sheet format ${JSON.stringify(type)} — registered: ${[...REGISTRY.keys()].join(', ')}`);
|
|
16
|
+
}
|
|
17
|
+
return f;
|
|
18
|
+
}
|
|
19
|
+
export function hasFormat(type) {
|
|
20
|
+
return REGISTRY.has(type);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a `FormatConfig` from the raw `[gitsheet.format]` block. Validates
|
|
24
|
+
* the discriminator and any format-specific required fields.
|
|
25
|
+
*
|
|
26
|
+
* Returns `null` (with the implicit default 'toml' format) when the caller
|
|
27
|
+
* didn't supply a format block at all.
|
|
28
|
+
*/
|
|
29
|
+
export function resolveFormatConfig(raw) {
|
|
30
|
+
if (raw === undefined || raw === null) {
|
|
31
|
+
return { type: 'toml' };
|
|
32
|
+
}
|
|
33
|
+
if (typeof raw !== 'object' || Array.isArray(raw)) {
|
|
34
|
+
throw new TypeError(`[gitsheet.format] must be a table, got ${typeof raw}`);
|
|
35
|
+
}
|
|
36
|
+
const obj = raw;
|
|
37
|
+
const typeRaw = obj['type'];
|
|
38
|
+
const type = typeof typeRaw === 'string' ? typeRaw : 'toml';
|
|
39
|
+
const out = { type };
|
|
40
|
+
if (typeof obj['body'] === 'string')
|
|
41
|
+
out.body = obj['body'];
|
|
42
|
+
if (obj['markdownlint'] === false) {
|
|
43
|
+
out.markdownlint = false;
|
|
44
|
+
}
|
|
45
|
+
else if (obj['markdownlint'] !== undefined &&
|
|
46
|
+
typeof obj['markdownlint'] === 'object' &&
|
|
47
|
+
!Array.isArray(obj['markdownlint'])) {
|
|
48
|
+
out.markdownlint = obj['markdownlint'];
|
|
49
|
+
}
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
// --- Register the built-in formats on import ---
|
|
53
|
+
import { tomlFormat } from './toml.js';
|
|
54
|
+
import { markdownFormat } from './markdown.js';
|
|
55
|
+
registerFormat('toml', tomlFormat);
|
|
56
|
+
registerFormat('markdown', markdownFormat);
|
|
57
|
+
// `mdx` is the markdown format with a different file extension. Same parse +
|
|
58
|
+
// serialize pipeline; the extension is overridden per registry entry.
|
|
59
|
+
registerFormat('mdx', { ...markdownFormat, extension: '.mdx' });
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,sFAAsF;AA6CtF,mBAAmB;AAEnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE3C,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc;IACzD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,0CAA0C,OAAO,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,GAAG,GAA8F,EAAE,IAAI,EAAE,CAAC;IAChH,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;QAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;QAClC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;SAAM,IACL,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS;QACjC,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EACnC,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAsC,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kDAAkD;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACnC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC3C,6EAA6E;AAC7E,sEAAsE;AACtE,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/format/markdown.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,YAAY,CAAC;AA2CvD,eAAO,MAAM,cAAc,EAAE,MA4C5B,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Markdown format — records are stored as `.md` files with TOML frontmatter
|
|
2
|
+
// delimited by `+++` (Hugo-style). One designated field of the record holds
|
|
3
|
+
// the markdown body; on serialize, the body is optionally normalized via
|
|
4
|
+
// markdownlint --fix.
|
|
5
|
+
//
|
|
6
|
+
// **Trailing newline convention.** The on-disk file always ends with exactly
|
|
7
|
+
// one `\n` (per the spec). The body that round-trips through serialize/parse
|
|
8
|
+
// therefore *does not* carry a trailing newline — a `body` value of `'hi\n'`
|
|
9
|
+
// is normalized to `'hi'` on the way out. This matches how every UNIX text
|
|
10
|
+
// editor handles files: the final newline belongs to the file, not the
|
|
11
|
+
// content.
|
|
12
|
+
//
|
|
13
|
+
// See specs/behaviors/content-types.md.
|
|
14
|
+
import { lint } from 'markdownlint/promise';
|
|
15
|
+
import { applyFixes } from 'markdownlint';
|
|
16
|
+
import { parseToml, stringifyRecord } from '../toml.js';
|
|
17
|
+
const DELIMITER = '+++';
|
|
18
|
+
const DELIMITER_LINE_RE = /^\+\+\+\s*$/m;
|
|
19
|
+
/**
|
|
20
|
+
* Default markdownlint rules layered on top of any consumer config. MD013
|
|
21
|
+
* (line-length) and MD041 (first-line H1) are off because content bodies
|
|
22
|
+
* commonly have long lines and don't always lead with a heading.
|
|
23
|
+
*/
|
|
24
|
+
const DEFAULT_MARKDOWNLINT_CONFIG = {
|
|
25
|
+
default: true,
|
|
26
|
+
MD013: false,
|
|
27
|
+
MD041: false,
|
|
28
|
+
};
|
|
29
|
+
function bodyFieldName(config) {
|
|
30
|
+
if (!config.body) {
|
|
31
|
+
throw new Error(`markdown format requires [gitsheet.format].body to be set to the field name holding the body text`);
|
|
32
|
+
}
|
|
33
|
+
return config.body;
|
|
34
|
+
}
|
|
35
|
+
async function normalizeBody(body, config) {
|
|
36
|
+
if (config.markdownlint === false)
|
|
37
|
+
return body;
|
|
38
|
+
const userConfig = config.markdownlint ?? {};
|
|
39
|
+
const merged = { ...DEFAULT_MARKDOWNLINT_CONFIG, ...userConfig };
|
|
40
|
+
const result = await lint({
|
|
41
|
+
strings: { record: body },
|
|
42
|
+
// markdownlint's `Configuration` type is a structural shape — cast through
|
|
43
|
+
// a record type rather than enumerating every rule.
|
|
44
|
+
config: merged,
|
|
45
|
+
});
|
|
46
|
+
const issues = result['record'] ?? [];
|
|
47
|
+
if (issues.length === 0)
|
|
48
|
+
return body;
|
|
49
|
+
return applyFixes(body, issues);
|
|
50
|
+
}
|
|
51
|
+
export const markdownFormat = {
|
|
52
|
+
extension: '.md',
|
|
53
|
+
async serialize(record, config) {
|
|
54
|
+
const bodyField = bodyFieldName(config);
|
|
55
|
+
const bodyRaw = record[bodyField];
|
|
56
|
+
if (bodyRaw !== undefined && typeof bodyRaw !== 'string') {
|
|
57
|
+
throw new TypeError(`markdown format: record.${bodyField} must be a string, got ${typeof bodyRaw}`);
|
|
58
|
+
}
|
|
59
|
+
const body = bodyRaw ?? '';
|
|
60
|
+
// Split: frontmatter = everything except the body field.
|
|
61
|
+
const frontmatter = {};
|
|
62
|
+
for (const [k, v] of Object.entries(record)) {
|
|
63
|
+
if (k === bodyField)
|
|
64
|
+
continue;
|
|
65
|
+
frontmatter[k] = v;
|
|
66
|
+
}
|
|
67
|
+
const fmText = stringifyRecord(frontmatter);
|
|
68
|
+
const bodyText = await normalizeBody(body, config);
|
|
69
|
+
// Layout: `+++\n<frontmatter>+++\n\n<body>\n`. stringifyRecord ends with
|
|
70
|
+
// a newline already, so frontmatter slots in cleanly between delimiters.
|
|
71
|
+
// The opening `+++` line gives editors a clear hint that frontmatter is
|
|
72
|
+
// present (matches Hugo / Astro / Eleventy conventions).
|
|
73
|
+
const trailingNewline = bodyText.endsWith('\n') ? '' : '\n';
|
|
74
|
+
return `${DELIMITER}\n${fmText}${DELIMITER}\n\n${bodyText}${trailingNewline}`;
|
|
75
|
+
},
|
|
76
|
+
parse(text, config) {
|
|
77
|
+
const bodyField = bodyFieldName(config);
|
|
78
|
+
const { frontmatter, body } = splitOnDelimiters(text);
|
|
79
|
+
const record = parseToml(frontmatter);
|
|
80
|
+
record[bodyField] = body;
|
|
81
|
+
return record;
|
|
82
|
+
},
|
|
83
|
+
parseHeaderOnly(text, config) {
|
|
84
|
+
bodyFieldName(config); // validate config has body
|
|
85
|
+
const { frontmatter } = splitOnDelimiters(text);
|
|
86
|
+
return parseToml(frontmatter);
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Split a markdown record's bytes into its frontmatter TOML and the body
|
|
91
|
+
* text. The first matched `+++` line is the opener; the next `+++` line is
|
|
92
|
+
* the closer. Anything before the opener (e.g., a UTF-8 BOM) is tolerated;
|
|
93
|
+
* any subsequent `+++` line in the body is preserved verbatim.
|
|
94
|
+
*
|
|
95
|
+
* If the input lacks frontmatter delimiters entirely, returns an empty
|
|
96
|
+
* frontmatter and the whole text as the body — that's a degenerate but
|
|
97
|
+
* valid input (consumer gets `record.<bodyField> = text`, no fields set).
|
|
98
|
+
*/
|
|
99
|
+
function splitOnDelimiters(text) {
|
|
100
|
+
// Strip a UTF-8 BOM if present (some editors add one when saving as UTF-8).
|
|
101
|
+
const stripped = text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
|
|
102
|
+
const openerMatch = DELIMITER_LINE_RE.exec(stripped);
|
|
103
|
+
if (!openerMatch) {
|
|
104
|
+
return { frontmatter: '', body: stripped };
|
|
105
|
+
}
|
|
106
|
+
const afterOpener = stripped.slice(openerMatch.index + openerMatch[0].length);
|
|
107
|
+
// Drop the newline directly after the opener delimiter.
|
|
108
|
+
const afterOpenerTrimmed = afterOpener.startsWith('\n')
|
|
109
|
+
? afterOpener.slice(1)
|
|
110
|
+
: afterOpener;
|
|
111
|
+
const closerMatch = DELIMITER_LINE_RE.exec(afterOpenerTrimmed);
|
|
112
|
+
if (!closerMatch) {
|
|
113
|
+
// Opener but no closer — malformed file. Treat everything after the
|
|
114
|
+
// opener as body (matches what Hugo / Astro do for half-frontmatter).
|
|
115
|
+
return { frontmatter: '', body: afterOpenerTrimmed };
|
|
116
|
+
}
|
|
117
|
+
const frontmatter = afterOpenerTrimmed.slice(0, closerMatch.index);
|
|
118
|
+
// Drop the newline directly after the closer; trim leading blank line(s)
|
|
119
|
+
// before the body content begins.
|
|
120
|
+
let body = afterOpenerTrimmed.slice(closerMatch.index + closerMatch[0].length);
|
|
121
|
+
if (body.startsWith('\n'))
|
|
122
|
+
body = body.slice(1);
|
|
123
|
+
if (body.startsWith('\n'))
|
|
124
|
+
body = body.slice(1);
|
|
125
|
+
// Drop a single trailing newline so a body that ends in `\n` round-trips
|
|
126
|
+
// cleanly through the serializer (which always adds one).
|
|
127
|
+
if (body.endsWith('\n'))
|
|
128
|
+
body = body.slice(0, -1);
|
|
129
|
+
return { frontmatter, body };
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/format/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toml.d.ts","sourceRoot":"","sources":["../../src/format/toml.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,MAcxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// TOML format — the default. Records are stored as canonical TOML in a `.toml`
|
|
2
|
+
// file. Identity transform on header-only reads (TOML has no body concept).
|
|
3
|
+
import { parseToml, stringifyRecord } from '../toml.js';
|
|
4
|
+
export const tomlFormat = {
|
|
5
|
+
extension: '.toml',
|
|
6
|
+
serialize(record, _config) {
|
|
7
|
+
return stringifyRecord(record);
|
|
8
|
+
},
|
|
9
|
+
parse(text, _config) {
|
|
10
|
+
return parseToml(text);
|
|
11
|
+
},
|
|
12
|
+
parseHeaderOnly(text, _config) {
|
|
13
|
+
return parseToml(text);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=toml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toml.js","sourceRoot":"","sources":["../../src/format/toml.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAE5E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIxD,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,SAAS,EAAE,OAAO;IAElB,SAAS,CAAC,MAAkB,EAAE,OAAqB;QACjD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAqB;QACvC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,OAAqB;QACjD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,12 +2,13 @@ export * from './errors.js';
|
|
|
2
2
|
export { Repository, openRepo } from './repository.js';
|
|
3
3
|
export type { OpenRepoOptions, OpenSheetOptions, OpenSheetsOptions, } from './repository.js';
|
|
4
4
|
export { Sheet, RECORD_PATH_KEY, RECORD_SHEET_KEY } from './sheet.js';
|
|
5
|
-
export type { SheetConfig, SheetFieldConfig, SortRule, UpsertResult, SheetConstructorOptions, IndexKeyFn, DefineIndexOptions, QueryFilter, QueryOptions, } from './sheet.js';
|
|
5
|
+
export type { SheetConfig, SheetFieldConfig, SortRule, UpsertResult, UpsertOptions, SheetConstructorOptions, IndexKeyFn, DefineIndexOptions, QueryFilter, QueryOptions, DiffStatus, DiffOptions, DiffChange, AttachmentBlobHandle, AttachmentEntry, } from './sheet.js';
|
|
6
|
+
export type { Format, FormatConfig } from './format/index.js';
|
|
6
7
|
export { mergePatch } from './patch.js';
|
|
7
8
|
export { openStore } from './store.js';
|
|
8
9
|
export type { OpenStoreOptions, Store, StoreTx, StoreTransactFn, ValidatorMap, InferRecord, } from './store.js';
|
|
9
10
|
export { PushDaemon } from './push-daemon.js';
|
|
10
|
-
export type { PushDaemonOptions, PushDaemonStatus, BackoffConfig, } from './push-daemon.js';
|
|
11
|
+
export type { PushDaemonOptions, PushDaemonStatus, PushFailureReason, BackoffConfig, } from './push-daemon.js';
|
|
11
12
|
export { Transaction } from './transaction.js';
|
|
12
13
|
export type { Author, TransactionOptions, TransactionResult, TransactionHandler, } from './transaction.js';
|
|
13
14
|
export { Template } from './path-template/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,wCAAwC;AAExC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOvD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,wCAAwC;AAExC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOvD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqBtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -20,6 +20,18 @@ export declare class Template {
|
|
|
20
20
|
readonly source: string;
|
|
21
21
|
private constructor();
|
|
22
22
|
get componentCount(): number;
|
|
23
|
+
/**
|
|
24
|
+
* Names of record fields that contribute to rendering this template.
|
|
25
|
+
* Used by consumers that need to identify a record by its template-rendered
|
|
26
|
+
* path (e.g., `Sheet.patch` query auto-derivation in the CLI).
|
|
27
|
+
*
|
|
28
|
+
* For `field`-style components, the name is the field directly. For
|
|
29
|
+
* expression components, a best-effort identifier scan returns any bare
|
|
30
|
+
* identifiers in the expression source — excluding JS-language keywords
|
|
31
|
+
* and globals. False positives (e.g., for `(slug || legacy_id)`) are fine
|
|
32
|
+
* because the caller still passes only known input fields downstream.
|
|
33
|
+
*/
|
|
34
|
+
getFieldNames(): readonly string[];
|
|
23
35
|
/**
|
|
24
36
|
* Render the template against a full record.
|
|
25
37
|
*
|
|
@@ -36,7 +48,15 @@ export declare class Template {
|
|
|
36
48
|
* against the partial query, the walk expands across all subtrees at that
|
|
37
49
|
* level. The caller still applies the full equality filter on the yielded
|
|
38
50
|
* record contents.
|
|
51
|
+
*
|
|
52
|
+
* `opts.extension` selects which file extension marks a record blob (the
|
|
53
|
+
* leaf of the path). Defaults to `.toml`; markdown sheets pass `.md` (and
|
|
54
|
+
* `.mdx` for mdx). The extension is stripped from the yielded `path`.
|
|
39
55
|
*/
|
|
40
|
-
queryTree(tree: PathTemplateTree | undefined, query: RecordLike,
|
|
56
|
+
queryTree(tree: PathTemplateTree | undefined, query: RecordLike, opts?: {
|
|
57
|
+
pathPrefix?: string;
|
|
58
|
+
depth?: number;
|
|
59
|
+
extension?: string;
|
|
60
|
+
}): AsyncGenerator<PathTemplateQueryResult>;
|
|
41
61
|
}
|
|
42
62
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/path-template/index.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACjF,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAC5E,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/path-template/index.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACjF,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAC5E,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAkRD,qBAAa,QAAQ;;IACnB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ;IAQnD,4DAA4D;IAC5D,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGxB,OAAO;IAKP,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;;;;;;;;;OAUG;IACH,aAAa,IAAI,SAAS,MAAM,EAAE;IAgBlC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAiBlC;;;;;;;;;;;;OAYG;IACI,SAAS,CACd,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACrE,cAAc,CAAC,uBAAuB,CAAC;CA4E3C"}
|
|
@@ -167,6 +167,29 @@ function isTree(x) {
|
|
|
167
167
|
function joinPath(prefix, name) {
|
|
168
168
|
return prefix ? `${prefix}/${name}` : name;
|
|
169
169
|
}
|
|
170
|
+
// --- Identifier extraction (for Template.getFieldNames on ExpressionParts) ---
|
|
171
|
+
// Bare identifiers anywhere in the expression source. Members (`x.y`) match
|
|
172
|
+
// only `x` because the `\b` boundary follows a non-word char.
|
|
173
|
+
const IDENTIFIER_RE = /(?<![.\w$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g;
|
|
174
|
+
const JS_RESERVED = new Set([
|
|
175
|
+
'break', 'case', 'catch', 'class', 'const', 'continue', 'debugger', 'default',
|
|
176
|
+
'delete', 'do', 'else', 'enum', 'export', 'extends', 'false', 'finally', 'for',
|
|
177
|
+
'function', 'if', 'import', 'in', 'instanceof', 'new', 'null', 'return',
|
|
178
|
+
'super', 'switch', 'this', 'throw', 'true', 'try', 'typeof', 'undefined',
|
|
179
|
+
'var', 'void', 'while', 'with', 'yield', 'let', 'static', 'async', 'await',
|
|
180
|
+
'of', 'Array', 'Boolean', 'Date', 'Number', 'Object', 'String', 'Math',
|
|
181
|
+
'JSON', 'RegExp', 'Symbol', 'Promise', 'Map', 'Set', 'NaN', 'Infinity',
|
|
182
|
+
'globalThis',
|
|
183
|
+
]);
|
|
184
|
+
function extractIdentifiers(source) {
|
|
185
|
+
const out = [];
|
|
186
|
+
for (const match of source.matchAll(IDENTIFIER_RE)) {
|
|
187
|
+
const id = match[1];
|
|
188
|
+
if (!JS_RESERVED.has(id))
|
|
189
|
+
out.push(id);
|
|
190
|
+
}
|
|
191
|
+
return out;
|
|
192
|
+
}
|
|
170
193
|
// --- Template class ---
|
|
171
194
|
const TEMPLATE_CACHE = new Map();
|
|
172
195
|
export class Template {
|
|
@@ -191,6 +214,33 @@ export class Template {
|
|
|
191
214
|
get componentCount() {
|
|
192
215
|
return this.#components.length;
|
|
193
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Names of record fields that contribute to rendering this template.
|
|
219
|
+
* Used by consumers that need to identify a record by its template-rendered
|
|
220
|
+
* path (e.g., `Sheet.patch` query auto-derivation in the CLI).
|
|
221
|
+
*
|
|
222
|
+
* For `field`-style components, the name is the field directly. For
|
|
223
|
+
* expression components, a best-effort identifier scan returns any bare
|
|
224
|
+
* identifiers in the expression source — excluding JS-language keywords
|
|
225
|
+
* and globals. False positives (e.g., for `(slug || legacy_id)`) are fine
|
|
226
|
+
* because the caller still passes only known input fields downstream.
|
|
227
|
+
*/
|
|
228
|
+
getFieldNames() {
|
|
229
|
+
const seen = new Set();
|
|
230
|
+
for (const c of this.#components) {
|
|
231
|
+
for (const p of c.parts) {
|
|
232
|
+
if (p.kind === 'field') {
|
|
233
|
+
seen.add(p.name);
|
|
234
|
+
}
|
|
235
|
+
else if (p.kind === 'expression') {
|
|
236
|
+
for (const id of extractIdentifiers(p.source)) {
|
|
237
|
+
seen.add(id);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return [...seen];
|
|
243
|
+
}
|
|
194
244
|
/**
|
|
195
245
|
* Render the template against a full record.
|
|
196
246
|
*
|
|
@@ -219,10 +269,18 @@ export class Template {
|
|
|
219
269
|
* against the partial query, the walk expands across all subtrees at that
|
|
220
270
|
* level. The caller still applies the full equality filter on the yielded
|
|
221
271
|
* record contents.
|
|
272
|
+
*
|
|
273
|
+
* `opts.extension` selects which file extension marks a record blob (the
|
|
274
|
+
* leaf of the path). Defaults to `.toml`; markdown sheets pass `.md` (and
|
|
275
|
+
* `.mdx` for mdx). The extension is stripped from the yielded `path`.
|
|
222
276
|
*/
|
|
223
|
-
async *queryTree(tree, query,
|
|
277
|
+
async *queryTree(tree, query, opts = {}) {
|
|
224
278
|
if (!tree)
|
|
225
279
|
return;
|
|
280
|
+
const pathPrefix = opts.pathPrefix ?? '';
|
|
281
|
+
const depth = opts.depth ?? 0;
|
|
282
|
+
const extension = opts.extension ?? '.toml';
|
|
283
|
+
const extLen = extension.length;
|
|
226
284
|
const numComponents = this.#components.length;
|
|
227
285
|
let currentTree = tree;
|
|
228
286
|
let currentPrefix = pathPrefix;
|
|
@@ -232,7 +290,7 @@ export class Template {
|
|
|
232
290
|
const rendered = renderComponent(c, query);
|
|
233
291
|
if (isLast) {
|
|
234
292
|
if (rendered !== undefined) {
|
|
235
|
-
const child = await currentTree.getChild(`${rendered}
|
|
293
|
+
const child = await currentTree.getChild(`${rendered}${extension}`);
|
|
236
294
|
if (child && isBlob(child)) {
|
|
237
295
|
yield { path: joinPath(currentPrefix, rendered), blob: child };
|
|
238
296
|
}
|
|
@@ -251,14 +309,14 @@ export class Template {
|
|
|
251
309
|
allKeys.push(k);
|
|
252
310
|
const sortedKeys = allKeys.sort();
|
|
253
311
|
for (const childPath of sortedKeys) {
|
|
254
|
-
if (!childPath.endsWith(
|
|
312
|
+
if (!childPath.endsWith(extension))
|
|
255
313
|
continue;
|
|
256
314
|
if (attachmentPrefix && childPath.startsWith(attachmentPrefix))
|
|
257
315
|
continue;
|
|
258
316
|
const child = children[childPath];
|
|
259
317
|
if (!child || !isBlob(child))
|
|
260
318
|
continue;
|
|
261
|
-
const childName = childPath.slice(0, -
|
|
319
|
+
const childName = childPath.slice(0, -extLen);
|
|
262
320
|
attachmentPrefix = `${childName}/`;
|
|
263
321
|
yield { path: joinPath(currentPrefix, childName), blob: child };
|
|
264
322
|
}
|
|
@@ -279,7 +337,11 @@ export class Template {
|
|
|
279
337
|
const child = children[name];
|
|
280
338
|
if (!child || !isTree(child))
|
|
281
339
|
continue;
|
|
282
|
-
yield* this.queryTree(child, query,
|
|
340
|
+
yield* this.queryTree(child, query, {
|
|
341
|
+
pathPrefix: joinPath(currentPrefix, name),
|
|
342
|
+
depth: i + 1,
|
|
343
|
+
extension,
|
|
344
|
+
});
|
|
283
345
|
}
|
|
284
346
|
return;
|
|
285
347
|
}
|