@fnndsc/brasa 0.54.2 → 0.55.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.
Files changed (40) hide show
  1. package/dist/buildinfo.json +1 -1
  2. package/dist/builtins/help.js +7 -0
  3. package/dist/builtins/help.js.map +1 -1
  4. package/dist/builtins/helpSections.js +60 -2
  5. package/dist/builtins/helpSections.js.map +1 -1
  6. package/dist/builtins/operandRuns.d.ts +22 -0
  7. package/dist/builtins/operandRuns.js +67 -0
  8. package/dist/builtins/operandRuns.js.map +1 -0
  9. package/dist/builtins/operands.d.ts +14 -3
  10. package/dist/builtins/operands.js +31 -12
  11. package/dist/builtins/operands.js.map +1 -1
  12. package/dist/builtins/pluginExecute.d.ts +2 -1
  13. package/dist/builtins/pluginExecute.js +92 -5
  14. package/dist/builtins/pluginExecute.js.map +1 -1
  15. package/dist/builtins/res/pipeline.args.d.ts +7 -1
  16. package/dist/builtins/res/pipeline.args.js +12 -2
  17. package/dist/builtins/res/pipeline.args.js.map +1 -1
  18. package/dist/builtins/res/pipeline.js +60 -4
  19. package/dist/builtins/res/pipeline.js.map +1 -1
  20. package/dist/builtins/res/play.js +8 -6
  21. package/dist/builtins/res/play.js.map +1 -1
  22. package/dist/builtins/runEcho.d.ts +31 -0
  23. package/dist/builtins/runEcho.js +54 -0
  24. package/dist/builtins/runEcho.js.map +1 -0
  25. package/dist/chris/chrisCommands.js +4 -1
  26. package/dist/chris/chrisCommands.js.map +1 -1
  27. package/dist/chris/commandFallback.d.ts +11 -0
  28. package/dist/chris/commandFallback.js +110 -12
  29. package/dist/chris/commandFallback.js.map +1 -1
  30. package/dist/chris/help.js +11 -0
  31. package/dist/chris/help.js.map +1 -1
  32. package/dist/core/engine.js +15 -7
  33. package/dist/core/engine.js.map +1 -1
  34. package/dist/lib/semicolonParser.d.ts +29 -4
  35. package/dist/lib/semicolonParser.js +44 -19
  36. package/dist/lib/semicolonParser.js.map +1 -1
  37. package/dist/lib/wildcard.js +57 -50
  38. package/dist/lib/wildcard.js.map +1 -1
  39. package/dist/notes.json +1 -1
  40. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAoB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EACL,WAAW,EACX,cAAc,EACd,0BAA0B,GAE3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACxO,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAsD,MAAM,cAAc,CAAC;AACzH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA6L9D;;;GAGG;AACH,IAAI,WAAW,GAAY,KAAK,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,WAAW,GAAG,KAAK,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,mBAAmB,CAChC,WAAmB,EACnB,SAAiB,EACjB,aAAsB;IAEtB,MAAM,YAAY,GAAW,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,kBAAkB,CAAC,eAAe,EAAE,wCAAwC,CAAC,CAAC;QAC9E,sEAAsE;QACtE,mEAAmE;QACnE,0BAA0B,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAW,MAAM,WAAW,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzG,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACnD,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,aAAa,CAC1B,QAAuB,EACvB,SAAiB,EACjB,aAAsB;IAEtB,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,IAAI,SAAS,GAAY,IAAI,CAAC;IAC9B,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC;YAAE,SAAS;QACtF,IAAI,CAAC;YACH,MAAM,GAAG,GAAsB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3D,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAyB,EAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;YAC3F,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAChE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAW,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACtD,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,UAAuB,EAAE;IACxE,yEAAyE;IACzE,iCAAiC;IACjC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAW,OAAO,CAAC,MAAM,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,OAAO,MAAM,cAAc,CAAC,MAAM,EAAE,GAA+B,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,sEAAsE;IACtE,IAAI,0BAA0B,EAAE;QAAE,OAAO,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,+BAA+B;IAC/B,qEAAqE;IACrE,8DAA8D;IAC9D,OAAO,MAAM,uBAAuB,CAClC,GAA+B,EAAE,CAAC,aAAa,CAAC,GAA+B,EAAE,CAC/E,UAAU,CAAC,SAAS,CAAC,GAA+B,EAAE,CAAC,YAAY,CAAC,GAA+B,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAChJ,OAAO,CAAC,EAAE,CACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,WAAoB,KAAK;IACrE,MAAM,WAAW,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,mBAAmB;IACnB,MAAM,IAAI,GAAqB,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5G,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,MAAM,wCAAwC,CAAC,IAAI,CAAC,CAAC;QAClI,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,CAAC,QAAQ;QAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAE1C,0BAA0B;IAC1B,MAAM,aAAa,GAAY,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAW,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,+EAA+E;IAC/E,MAAM,UAAU,GAAkB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAClF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,OAAO,GAAoB,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,0BAA0B,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5C,OAAO,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,GAAkB,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,UAAU,GAAsB,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,MAAM,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,OAAe,EAA8B,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7I,CAAC;IAED,MAAM,YAAY,GAAa,WAAW,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAoB,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;YACnE,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,GAAG,GAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3E,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAwB,cAAc,CAAC,WAAW,CAAC,CAAC;IACtE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAoB,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7B,wBAAwB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAA2B,MAAM,yBAAyB,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChH,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAAW;IACrC,OAAO,2BAA2B,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAW;IACpC,OAAO,yBAAyB,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAA2C,EAAE,EAAE;QACjE,cAAc,CAAC,UAAU,EAAE,CAAC,GAAiB,EAAE,MAA0B,EAAE,EAAE;YAC3E,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB;IAClC,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAkB,iBAAiB,EAAE,CAAC;IACzD,aAAa,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,aAAa,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,aAAa,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzE,6GAA6G;IAC7G,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,aAAa,CAAC,iBAAiB,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe;IACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAiB;IACnD,IAAI,OAAO,KAAK,SAAS;QAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACpD,sDAAsD;IACtD,uBAAuB,EAAE,CAAC;IAC1B,sEAAsE;IACtE,MAAM,IAAI,GAA6B,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAChG,cAAc,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,oBAAoB,EAAE,EAAE,EAAE,IAAI,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,qBAAqB,EAAE,CAAC;IAC9B,oFAAoF;IACpF,iBAAiB,EAAE,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;IACjE,OAAO;QACL,YAAY;QACZ,WAAW;QACX,UAAU;QACV,eAAe,EAAE,2BAA2B;QAC5C,UAAU,EAAE,aAAa;QACzB,eAAe;QACf,aAAa;QACb,SAAS;QACT,WAAW;QACX,UAAU;QACV,WAAW,EAAE,CAAC,MAAc,EAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QACjE,UAAU,EAAE,GAAkB,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;QACrD,aAAa,EAAE,CAAC,MAAc,EAAQ,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC;QACpE,qEAAqE;QACrE,6CAA6C;QAC7C,SAAS,EAAE,CAAC,OAAe,EAAE,KAAa,EAAE,EAAW,EAAqB,EAAE,CAC5E,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;eACjD,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;QAC3D,aAAa,EAAE,CAAC,KAAa,EAAQ,EAAE;YACrC,oBAAoB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9C,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,cAAc;QACd,YAAY,EAAE,CAAC,IAAgB,EAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,eAAe,EAAE,CAAC,OAAgB,EAAQ,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtE,WAAW,EAAE,GAAW,EAAE,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,KAAa;IAC9D,MAAM,KAAK,GAAqB,oBAAoB,EAAE,EAAE,KAAK,CAAC;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,6BAA6B,CAAC,CAAC;IAChG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,MAAM,KAAK,GAAqB,oBAAoB,EAAE,EAAE,KAAK,CAAC;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAC/F,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAqB,oBAAoB,EAAE,EAAE,KAAK,CAAC;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAC/F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,KAAK,GAAW,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,32 @@
1
+ /** When a command of a list runs: always (`;`), after a success (`&&`), after a failure (`||`). */
2
+ export type ListCondition = 'always' | 'success' | 'failure';
3
+ /** One command of a list, and the condition its joiner puts on it. */
4
+ export interface ListCommand {
5
+ /** The command, trimmed. */
6
+ command: string;
7
+ /** `always` for the first command and after `;`; `success` after `&&`; `failure` after `||`. */
8
+ when: ListCondition;
9
+ }
1
10
  /**
2
- * Parses a command line for semicolon separators and returns individual commands.
3
- * Respects quoted strings - semicolons inside quotes are not treated as separators.
11
+ * Parses a command line into its list: commands joined by `;`, `&&` and
12
+ * `||`, as POSIX `sh` reads them. A joiner inside quotes is text. A single
13
+ * `|` is a pipe and a single `&` a background mark; neither splits here.
14
+ *
15
+ * @param line - The full command line.
16
+ * @returns The commands in order, each with the condition it runs under.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * commandList_parse("cd ~/uploads && pwd") // [{ command: 'cd ~/uploads', when: 'always' }, { command: 'pwd', when: 'success' }]
21
+ * commandList_parse("ls x || echo none; pwd") // ls x: always; echo none: failure; pwd: always
22
+ * commandList_parse("echo 'a && b'") // one command
23
+ * ```
24
+ */
25
+ export declare function commandList_parse(line: string): ListCommand[];
26
+ /**
27
+ * Parses a command line into the commands of its list, without their
28
+ * conditions: for a caller that looks at every command a line holds.
29
+ * Respects quoted strings: a joiner inside quotes is not a separator.
4
30
  *
5
31
  * @param line - The full command line.
6
32
  * @returns An array of individual commands.
@@ -9,8 +35,7 @@
9
35
  * ```typescript
10
36
  * semicolons_parse("ls; pwd") // Returns: ["ls", "pwd"]
11
37
  * semicolons_parse("echo 'a;b'; pwd") // Returns: ["echo 'a;b'", "pwd"]
12
- * semicolons_parse("cd /tmp; ls; cat file.txt") // Returns: ["cd /tmp", "ls", "cat file.txt"]
13
- * semicolons_parse("echo 'it\\'s; x'; pwd") // Returns: ["echo 'it\\'s; x'", "pwd"]
38
+ * semicolons_parse("cd /tmp && ls; cat file.txt") // Returns: ["cd /tmp", "ls", "cat file.txt"]
14
39
  * ```
15
40
  */
16
41
  export declare function semicolons_parse(line: string): string[];
@@ -1,34 +1,43 @@
1
1
  /**
2
- * @file Semicolon command parser
2
+ * @file Command list parser
3
3
  *
4
- * Parses semicolon-separated commands while respecting quotes.
4
+ * Parses a line's list of commands, joined by `;`, `&&` and `||`, while respecting quotes.
5
5
  *
6
6
  * @module
7
7
  */
8
8
  import { backslash_escapesNext } from './quoting.js';
9
9
  /**
10
- * Parses a command line for semicolon separators and returns individual commands.
11
- * Respects quoted strings - semicolons inside quotes are not treated as separators.
10
+ * Parses a command line into its list: commands joined by `;`, `&&` and
11
+ * `||`, as POSIX `sh` reads them. A joiner inside quotes is text. A single
12
+ * `|` is a pipe and a single `&` a background mark; neither splits here.
12
13
  *
13
14
  * @param line - The full command line.
14
- * @returns An array of individual commands.
15
+ * @returns The commands in order, each with the condition it runs under.
15
16
  *
16
17
  * @example
17
18
  * ```typescript
18
- * semicolons_parse("ls; pwd") // Returns: ["ls", "pwd"]
19
- * semicolons_parse("echo 'a;b'; pwd") // Returns: ["echo 'a;b'", "pwd"]
20
- * semicolons_parse("cd /tmp; ls; cat file.txt") // Returns: ["cd /tmp", "ls", "cat file.txt"]
21
- * semicolons_parse("echo 'it\\'s; x'; pwd") // Returns: ["echo 'it\\'s; x'", "pwd"]
19
+ * commandList_parse("cd ~/uploads && pwd") // [{ command: 'cd ~/uploads', when: 'always' }, { command: 'pwd', when: 'success' }]
20
+ * commandList_parse("ls x || echo none; pwd") // ls x: always; echo none: failure; pwd: always
21
+ * commandList_parse("echo 'a && b'") // one command
22
22
  * ```
23
23
  */
24
- export function semicolons_parse(line) {
24
+ export function commandList_parse(line) {
25
25
  const commands = [];
26
26
  let currentCommand = '';
27
+ let when = 'always';
27
28
  let inSingleQuote = false;
28
29
  let inDoubleQuote = false;
29
30
  let escapeNext = false;
31
+ const command_close = (next) => {
32
+ const trimmed = currentCommand.trim();
33
+ if (trimmed)
34
+ commands.push({ command: trimmed, when });
35
+ currentCommand = '';
36
+ when = next;
37
+ };
30
38
  for (let i = 0; i < line.length; i++) {
31
39
  const char = line[i];
40
+ const quoted = inSingleQuote || inDoubleQuote;
32
41
  // A backslash escapes as POSIX quoting says (lib/quoting.ts), the rule
33
42
  // the word tokenizer and the pipe and redirect parsers read: an escaped
34
43
  // quote neither opens nor closes a quote, so `"it\"s; x"` is one command,
@@ -49,20 +58,36 @@ export function semicolons_parse(line) {
49
58
  inDoubleQuote = !inDoubleQuote;
50
59
  currentCommand += char;
51
60
  }
52
- else if (char === ';' && !inSingleQuote && !inDoubleQuote) {
53
- const trimmed = currentCommand.trim();
54
- if (trimmed)
55
- commands.push(trimmed);
56
- currentCommand = '';
61
+ else if (char === ';' && !quoted) {
62
+ command_close('always');
63
+ }
64
+ else if ((char === '&' || char === '|') && line[i + 1] === char && !quoted) {
65
+ command_close(char === '&' ? 'success' : 'failure');
66
+ i++;
57
67
  }
58
68
  else {
59
69
  currentCommand += char;
60
70
  }
61
71
  }
62
- // Add final command
63
- const trimmed = currentCommand.trim();
64
- if (trimmed)
65
- commands.push(trimmed);
72
+ command_close('always');
66
73
  return commands;
67
74
  }
75
+ /**
76
+ * Parses a command line into the commands of its list, without their
77
+ * conditions: for a caller that looks at every command a line holds.
78
+ * Respects quoted strings: a joiner inside quotes is not a separator.
79
+ *
80
+ * @param line - The full command line.
81
+ * @returns An array of individual commands.
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * semicolons_parse("ls; pwd") // Returns: ["ls", "pwd"]
86
+ * semicolons_parse("echo 'a;b'; pwd") // Returns: ["echo 'a;b'", "pwd"]
87
+ * semicolons_parse("cd /tmp && ls; cat file.txt") // Returns: ["cd /tmp", "ls", "cat file.txt"]
88
+ * ```
89
+ */
90
+ export function semicolons_parse(line) {
91
+ return commandList_parse(line).map((item) => item.command);
92
+ }
68
93
  //# sourceMappingURL=semicolonParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semicolonParser.js","sourceRoot":"","sources":["../../src/lib/semicolonParser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAW,EAAE,CAAC;IAChC,IAAI,aAAa,GAAY,KAAK,CAAC;IACnC,IAAI,aAAa,GAAY,KAAK,CAAC;IACnC,IAAI,UAAU,GAAY,KAAK,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,IAAI,IAAI,CAAC;YACvB,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,IAAI,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,cAAc,IAAI,IAAI,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAW,cAAc,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,OAAO,GAAW,cAAc,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"semicolonParser.js","sourceRoot":"","sources":["../../src/lib/semicolonParser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAarD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,cAAc,GAAW,EAAE,CAAC;IAChC,IAAI,IAAI,GAAkB,QAAQ,CAAC;IACnC,IAAI,aAAa,GAAY,KAAK,CAAC;IACnC,IAAI,aAAa,GAAY,KAAK,CAAC;IACnC,IAAI,UAAU,GAAY,KAAK,CAAC;IAChC,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAQ,EAAE;QAClD,MAAM,OAAO,GAAW,cAAc,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,cAAc,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAY,aAAa,IAAI,aAAa,CAAC;QAEvD,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,IAAI,IAAI,CAAC;YACvB,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,KAAK,IAAI,IAAI,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,cAAc,IAAI,IAAI,CAAC;YACvB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7E,aAAa,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,CAAC;YACN,cAAc,IAAI,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IACD,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAiB,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClF,CAAC"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import { minimatch } from 'minimatch';
8
+ import { Minimatch, minimatch } from 'minimatch';
9
9
  import { listingItemsFromVfs_make } from './vfs/listing.js';
10
10
  import { session } from '../session/index.js';
11
11
  import { shellWord_literal, shellWord_unquoted } from './parser.js';
@@ -23,68 +23,75 @@ export function string_checkHasWildcard(arg) {
23
23
  return /[*?[\]]/.test(arg);
24
24
  }
25
25
  /**
26
- * Expands a rendered pattern and its quote-aware minimatch pattern.
26
+ * Lists a directory for expansion, through a CFS link and the listing cache.
27
+ *
28
+ * @param logicalDir - The directory as the caller spells it.
29
+ * @returns Its items, or null when it cannot be listed.
30
+ */
31
+ async function directoryItems_list(logicalDir) {
32
+ const physicalDir = (await backendInstalled_get()?.vfs?.path_physical?.(logicalDir)) ?? logicalDir;
33
+ const listCache = listingCache_get();
34
+ const cached = listCache.cache_get(physicalDir);
35
+ if (cached)
36
+ return cached.data;
37
+ const vfsResult = await vfsDispatcher_get().list(physicalDir);
38
+ if (!vfsResult.ok)
39
+ return null;
40
+ const items = listingItemsFromVfs_make(vfsResult.value);
41
+ listCache.cache_set(physicalDir, items);
42
+ return items;
43
+ }
44
+ /**
45
+ * Expands a rendered pattern and its quote-aware minimatch pattern, one path
46
+ * component at a time, as POSIX `sh` does: a wildcard may stand in any component. The
47
+ * literal lead is listed once, then each match of each later component.
27
48
  *
28
49
  * @param value - Rendered shell-word value.
29
50
  * @param globPattern - Quote-aware minimatch pattern.
30
- * @returns A Promise resolving to Result<WildcardMatch[]>.
51
+ * @returns A Promise resolving to Result<WildcardMatch[]>, sorted by name at each level.
31
52
  * Ok([]) = no matches (not an error).
32
53
  * Err(...) = couldn't expand (API failure, permission denied, etc.).
33
54
  */
34
55
  async function wildcardMatches_expand(value, globPattern) {
35
56
  try {
36
- // Get current directory
37
57
  const cwd = await session.getCWD();
38
58
  const resolvedValue = await path_resolve(value);
39
59
  const resolvedPattern = await path_resolve(globPattern);
40
- // Handle patterns with directory components (e.g., "data/*.txt")
41
- let searchDir = cwd;
42
- let physicalSearchDir = cwd;
43
- let matchPattern = resolvedPattern;
44
- // Resolve the non-wildcard parent directory before listing. This gives
45
- // `~/...` its normal meaning and follows a CFS `.chrislink` parent while
46
- // retaining the caller's logical spelling in the expanded result.
47
- if (resolvedValue.includes('/')) {
48
- const valueParts = resolvedValue.split('/');
49
- const patternParts = resolvedPattern.split('/');
50
- const lastPart = patternParts.pop() || '*';
51
- valueParts.pop();
52
- const dirPart = valueParts.join('/');
53
- searchDir = dirPart || '/';
54
- physicalSearchDir = (await backendInstalled_get()?.vfs?.path_physical?.(searchDir)) ?? searchDir;
55
- matchPattern = lastPart;
56
- }
57
- // List files in the directory (check cache first)
58
- let items = [];
59
- const listCache = listingCache_get();
60
- const cached = listCache.cache_get(physicalSearchDir);
61
- if (cached) {
62
- items = cached.data;
63
- }
64
- else {
65
- const vfsResult = await vfsDispatcher_get().list(physicalSearchDir);
66
- if (vfsResult.ok) {
67
- items = listingItemsFromVfs_make(vfsResult.value);
68
- listCache.cache_set(physicalSearchDir, items);
69
- }
70
- else {
71
- return Err();
60
+ // A word with no directory part is one component, matched in cwd. A path
61
+ // keeps its literal lead (`~/...` resolved, a quoted `*` as itself) and
62
+ // expands from the first component that holds a wildcard.
63
+ const valueParts = resolvedValue.includes('/') ? resolvedValue.split('/') : [resolvedValue];
64
+ const patternParts = resolvedValue.includes('/') ? resolvedPattern.split('/') : [resolvedPattern];
65
+ const magicIndex = patternParts.findIndex((part) => new Minimatch(part).hasMagic());
66
+ const first = magicIndex === -1 ? patternParts.length - 1 : magicIndex;
67
+ const base = resolvedValue.includes('/') ? (valueParts.slice(0, first).join('/') || '/') : cwd;
68
+ let matches = [{ path: base, type: 'dir' }];
69
+ for (let index = first; index < patternParts.length; index++) {
70
+ const pattern = patternParts[index] || '*';
71
+ const literal = new Minimatch(pattern).hasMagic() ? null : (valueParts[index] ?? pattern);
72
+ const next = [];
73
+ for (const parent of matches) {
74
+ // Past the first level a match that is a file, or cannot be listed, has nothing under it.
75
+ if (index > first && parent.type === 'file')
76
+ continue;
77
+ const items = await directoryItems_list(parent.path);
78
+ if (items === null) {
79
+ if (index === first)
80
+ return Err();
81
+ continue;
82
+ }
83
+ const kept = items
84
+ .filter((item) => literal !== null ? item.name === literal : minimatch(item.name, pattern))
85
+ .sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
86
+ for (const item of kept)
87
+ next.push({ path: `${parent.path}/${item.name}`.replace(/\/+/g, '/'), type: item.type });
72
88
  }
89
+ matches = next;
90
+ }
91
+ // A match under cwd reads as the caller typed it: the bare name.
92
+ if (base === cwd) {
93
+ matches = matches.map((match) => ({ ...match, path: match.path.slice(cwd.replace(/\/+$/, '').length + 1) }));
73
94
  }
74
- // Filter items by pattern
75
- const matches = items
76
- .filter((item) => minimatch(item.name, matchPattern))
77
- .map((item) => {
78
- // Return a full path if we searched a different directory.
79
- const itemPath = searchDir !== cwd
80
- ? `${searchDir}/${item.name}`.replace(/\/+/g, '/')
81
- : item.name;
82
- return {
83
- path: itemPath,
84
- type: item.type,
85
- };
86
- });
87
- // Ok([]) for no matches (not an error)
88
95
  return Ok(matches);
89
96
  }
90
97
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"wildcard.js","sourceRoot":"","sources":["../../src/lib/wildcard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wildcard.js","sourceRoot":"","sources":["../../src/lib/wildcard.ts"],"names":[],"mappings":"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"}