@codenotch/codenotch.cli 1.0.36 → 1.0.38

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 (105) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/generate/app.d.ts +2 -0
  3. package/dist/commands/generate/app.js +45 -0
  4. package/dist/commands/generate/app.js.map +1 -0
  5. package/dist/commands/generate/appmanifest.d.ts +2 -0
  6. package/dist/commands/generate/appmanifest.js +34 -0
  7. package/dist/commands/generate/appmanifest.js.map +1 -0
  8. package/dist/commands/generate/dbcontext.d.ts +2 -0
  9. package/dist/commands/generate/dbcontext.js +32 -0
  10. package/dist/commands/generate/dbcontext.js.map +1 -0
  11. package/dist/commands/generate/i18n.d.ts +2 -0
  12. package/dist/commands/generate/i18n.js +29 -0
  13. package/dist/commands/generate/i18n.js.map +1 -0
  14. package/dist/commands/generate/index.d.ts +0 -1
  15. package/dist/commands/generate/index.js +14 -33
  16. package/dist/commands/generate/index.js.map +1 -1
  17. package/dist/commands/generate/manifest.d.ts +2 -0
  18. package/dist/commands/generate/manifest.js +29 -0
  19. package/dist/commands/generate/manifest.js.map +1 -0
  20. package/dist/commands/generate/openapi.d.ts +2 -0
  21. package/dist/commands/generate/openapi.js +32 -0
  22. package/dist/commands/generate/openapi.js.map +1 -0
  23. package/dist/commands/generate/pkg.d.ts +2 -0
  24. package/dist/commands/generate/pkg.js +34 -0
  25. package/dist/commands/generate/pkg.js.map +1 -0
  26. package/dist/commands/generate/shared.d.ts +17 -0
  27. package/dist/commands/generate/shared.js +70 -0
  28. package/dist/commands/generate/shared.js.map +1 -0
  29. package/dist/commands/project/new.js +108 -96
  30. package/dist/commands/project/new.js.map +1 -1
  31. package/dist/commands/react/build.js +11 -5
  32. package/dist/commands/react/build.js.map +1 -1
  33. package/dist/commands/react/clean.d.ts +2 -0
  34. package/dist/commands/react/clean.js +46 -0
  35. package/dist/commands/react/clean.js.map +1 -0
  36. package/dist/commands/react/dev.d.ts +2 -0
  37. package/dist/commands/react/dev.js +28 -0
  38. package/dist/commands/react/dev.js.map +1 -0
  39. package/dist/commands/react/index.js +5 -1
  40. package/dist/commands/react/index.js.map +1 -1
  41. package/dist/commands/react/serve.js +33 -4
  42. package/dist/commands/react/serve.js.map +1 -1
  43. package/dist/commands/react/shared.d.ts +21 -0
  44. package/dist/commands/react/shared.js +80 -0
  45. package/dist/commands/react/shared.js.map +1 -0
  46. package/dist/commands/validation/ValidationUtils.d.ts +1 -1
  47. package/dist/commands/validation/ValidationUtils.js +3 -0
  48. package/dist/commands/validation/ValidationUtils.js.map +1 -1
  49. package/dist/commands/validation/files/I18nValidator.d.ts +29 -0
  50. package/dist/commands/validation/files/I18nValidator.js +198 -0
  51. package/dist/commands/validation/files/I18nValidator.js.map +1 -0
  52. package/dist/commands/validation/files/ProjectManifestValidator.d.ts +5 -0
  53. package/dist/commands/validation/files/ProjectManifestValidator.js +31 -0
  54. package/dist/commands/validation/files/ProjectManifestValidator.js.map +1 -0
  55. package/dist/commands/validation/files/ScriptValidator.js +1 -1
  56. package/dist/commands/validation/files/ScriptValidator.js.map +1 -1
  57. package/dist/commands/validation/validate.js +11 -6
  58. package/dist/commands/validation/validate.js.map +1 -1
  59. package/dist/utils/BuildUtils.d.ts +62 -7
  60. package/dist/utils/BuildUtils.js +310 -222
  61. package/dist/utils/BuildUtils.js.map +1 -1
  62. package/dist/utils/ConsoleUtils.d.ts +8 -0
  63. package/dist/utils/ConsoleUtils.js +25 -0
  64. package/dist/utils/ConsoleUtils.js.map +1 -1
  65. package/dist/utils/DbSchemaUtils.d.ts +49 -0
  66. package/dist/utils/DbSchemaUtils.js +246 -0
  67. package/dist/utils/DbSchemaUtils.js.map +1 -0
  68. package/dist/utils/FileUtils.d.ts +104 -15
  69. package/dist/utils/FileUtils.js +285 -100
  70. package/dist/utils/FileUtils.js.map +1 -1
  71. package/dist/utils/I18nTsUtils.d.ts +66 -0
  72. package/dist/utils/I18nTsUtils.js +221 -0
  73. package/dist/utils/I18nTsUtils.js.map +1 -0
  74. package/dist/utils/OpenApiUtils.d.ts +81 -0
  75. package/dist/utils/OpenApiUtils.js +123 -0
  76. package/dist/utils/OpenApiUtils.js.map +1 -0
  77. package/dist/utils/ProjectCompilationUtils.d.ts +0 -1
  78. package/dist/utils/ProjectCompilationUtils.js +4 -52
  79. package/dist/utils/ProjectCompilationUtils.js.map +1 -1
  80. package/dist/utils/ProjectGeneratorUtils.d.ts +35 -0
  81. package/dist/utils/ProjectGeneratorUtils.js +119 -0
  82. package/dist/utils/ProjectGeneratorUtils.js.map +1 -0
  83. package/dist/utils/ProjectTemplates.d.ts +102 -0
  84. package/dist/utils/ProjectTemplates.js +284 -0
  85. package/dist/utils/ProjectTemplates.js.map +1 -0
  86. package/dist/utils/ProjectUtils.d.ts +216 -3
  87. package/dist/utils/ProjectUtils.js +387 -22
  88. package/dist/utils/ProjectUtils.js.map +1 -1
  89. package/dist/utils/RuntimeUtils.js +14 -8
  90. package/dist/utils/RuntimeUtils.js.map +1 -1
  91. package/dist/utils/ScriptDeclarationUtils.d.ts +169 -0
  92. package/dist/utils/ScriptDeclarationUtils.js +398 -0
  93. package/dist/utils/ScriptDeclarationUtils.js.map +1 -0
  94. package/dist/utils/ServeUtils.js +10 -5
  95. package/dist/utils/ServeUtils.js.map +1 -1
  96. package/dist/utils/ShellUtils.d.ts +6 -0
  97. package/dist/utils/ShellUtils.js +13 -0
  98. package/dist/utils/ShellUtils.js.map +1 -1
  99. package/dist/utils/TemplateUtils.d.ts +62 -0
  100. package/dist/utils/TemplateUtils.js +218 -0
  101. package/dist/utils/TemplateUtils.js.map +1 -0
  102. package/dist/utils/TypeSchemaUtils.d.ts +42 -0
  103. package/dist/utils/TypeSchemaUtils.js +171 -0
  104. package/dist/utils/TypeSchemaUtils.js.map +1 -0
  105. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":";;;;;AAAA,2BAAwD;AACxD,+BAA+B;AAC/B,gEAAwC;AACxC,4DAAoC;AACpC,kDAA0B;AAC1B,4CAAoB;AACpB,wDAA2B;AAE3B,8DAAsC;AACtC,kEAA0C;AAY1C,MAA8B,UAAU;IAE7B,MAAM,CAAU,gBAAgB,GAAG,OAAO,CAAC;IAGlD,MAAM,CAAC,qBAAqB,CAAC,SAAiB;QAC1C,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,mBAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAC7D,IAAI,aAAa,GAAuB,SAAS,CAAC;QAClD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,iBAAiB,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,SAAS,iBAAiB,CAAC,CAAC;YACjF,IAAI,IAAA,eAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChC,aAAa,GAAG,SAAS,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,UAAmB;QAC/D,mFAAmF;QACnF,mEAAmE;QAEnE,IAAI,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,+FAA+F;QAC/F,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAG9D,kBAAkB;QAClB,IAAI,IAAA,eAAU,EAAC,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,aAAa,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,EAAE,IAAI,IAAA,eAAU,EAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sDAAsD,WAAW,IAAI,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,iBAAiB;QACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAI,SAAS,GAAe;YACxB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAC/C,IAAI,EAAE,aAAa;SACtB,CAAC;QACF,sBAAY,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAI/D,mBAAmB;QACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,GAAG,CAAC,CAAC;QACxD,IAAI,WAAW,GAAG,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,iBAAiB,GAAG,qBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,eAAe,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC9H,IAAI,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0CAA0C,eAAe,KAAK,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,WAAW,GAAiB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,eAAe,KAAK,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,gDAAgD,OAAO,OAAO,CAAC,CAAC;QAGnF,eAAe;QACf,sFAAsF;QACtF,iFAAiF;QACjF,IAAI,MAAM,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,SAAS,CAAC,CAAC;QACxF,IAAI,OAAO,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,OAAO,CAAC,CAAC;QACvF,IAAI,QAAQ,GAAG,qBAAW,CAAC,UAAU,CAAC,qBAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,IAAI,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,mBAAmB,GAAG,qBAAW,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAGhG,wBAAwB;QACxB,IAAI,IAAA,eAAU,EAAC,MAAM,CAAC,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,mBAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACpC,mBAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACrC,sBAAY,CAAC,KAAK,CAAC,6BAA6B,MAAM,KAAK,CAAC,CAAC;QACjE,CAAC;QAGD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,eAAe;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,sBAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAExD,aAAa;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,CAAC;QAC3D,sBAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEtD,YAAY;QACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAClE,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzD,sBAAY,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAErD,sFAAsF;QACtF,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,UAAU,CAAC,CAAC;QACjE,sBAAY,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE3D,wFAAwF;QACxF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC7D,sBAAY,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAEzD,IAAI,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,CAAC,CAAC,CAAC;YACpF,YAAE,CAAC,YAAY,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChF,EAAE,CAAC;QACP,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,CAAC;YAC1D,sBAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACrD,CAAC;QAGD,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,IAAI,aAAa,GAAG,mBAAS,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC9D,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/E,uFAAuF;YACvF,kBAAkB,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC;SAC7D,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,aAAa,2BAA2B,CAAC,CAAC,CAAC;YAC9F,OAAO;QACX,CAAC;QACD,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,kBAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,MAAM,8BAA8B,CAAC,CAAC;QAI1E,8BAA8B;QAC9B,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAE9E,uEAAuE;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACjB,sBAAY,CAAC,YAAY,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,2DAA2D,CAAC,CAAC;QACxH,CAAC;QAED,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACzE,sBAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAGpD,mBAAmB;QACnB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,IAAI,YAAY,GAAQ,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE;YACnE,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;QACH,6FAA6F;QAC7F,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACrC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;aACtE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,mBAAS,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,sBAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEvD,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,KAAK,CAAC,CAAC;QAErD,IAAI,YAAY,GAAG,mBAAmB,UAAU,GAAG,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,sBAAY,CAAC,cAAc,CAAC,iCAAiC,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/H,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAmB;QAEtC,OAAO;QACP,sIAAsI;QACtI,uBAAuB;QACvB,oEAAoE;QACpE,mEAAmE;QACnE,+EAA+E;QAE/E,IAAI,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QAED,+FAA+F;QAC/F,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAE9D,kBAAkB;QAClB,IAAI,IAAA,eAAU,EAAC,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,aAAa,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,EAAE,IAAI,IAAA,eAAU,EAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,+CAA+C,WAAW,IAAI,CAAC,CAAC;QACpF,CAAC;QAED,mBAAmB;QACnB,IAAI,WAAW,GAAG,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,iBAAiB,GAAG,qBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,eAAe,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC9H,IAAI,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,eAAe,GAAG,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,WAAW,GAAiB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,eAAe;QACf,yFAAyF;QACzF,uFAAuF;QACvF,2EAA2E;QAC3E,IAAI,MAAM,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,QAAQ,CAAC,CAAC;QACvF,IAAI,OAAO,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,OAAO,CAAC,CAAC;QACvF,IAAI,QAAQ,GAAG,qBAAW,CAAC,UAAU,CAAC,qBAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,IAAI,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,mBAAmB,GAAG,qBAAW,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEhG,eAAe;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpF,aAAa;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,CAAC;QAE3D,YAAY;QACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAC5E,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEzD,sFAAsF;QACtF,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAEjE,wFAAwF;QACxF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAE7D,IAAI,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,CAAC,CAAC,CAAC;YACpF,YAAE,CAAC,YAAY,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChF,EAAE,CAAC;QACP,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,qBAAqB;QACrB,uJAAuJ;QACvJ,IAAI,aAAa,GAAG,mBAAS,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC9D,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/E,kBAAkB,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;SACrD,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,aAAa,2BAA2B,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACrC,oFAAoF;YACpF,iEAAiE;YACjE,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,kBAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACD,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEhE,2CAA2C;YAC3C,MAAM,kBAAkB,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;YACrF,kBAAG,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAEtD,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC;QACtB,CAAC;gBACO,CAAC;YACL,0BAA0B;YAC1B,kBAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,mBAA2B,EAAE,QAAgB;QACvE,OAAO;;SAEN,QAAQ,YAAY,mBAAmB;;;;;;;;;iBAS/B,QAAQ;;;;;iBAKR,QAAQ;;CAExB,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,wBAAwB,CAAC,mBAA2B,EAAE,QAAgB;QACjF,OAAO;;SAEN,QAAQ,YAAY,mBAAmB;;;;;;;;;;;;;sDAaM,QAAQ;;CAE7D,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,QAAoB,EAAE,OAM3D;QAEG,IAAI,MAAM,GAAQ;YACd,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;YAC1C,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;SACtD,CAAC;QAEF,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QAGD,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,IAAI,OAAO,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAClE,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iGAAiG;IACjG,MAAM,CAAC,sBAAsB;QACzB,OAAO;YACH,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;YACxC,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,IAAI;YACvB,8BAA8B,EAAE,IAAI;YACpC,QAAQ,EAAE,IAAI;YACd,kCAAkC,EAAE,IAAI;YACxC,QAAQ,EAAE,QAAQ;YAClB,kBAAkB,EAAE,SAAS;YAC7B,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI,EAAE,iDAAiD;YACjE,KAAK,EAAE,WAAW,CAAE,0CAA0C;SACjE,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,UAAoB,CAAC,KAAK,CAAC;QACrD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAChD,SAAS,EAAE,OAAO;SACrB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEZ,OAAO,QAAQ,CAAC;IACpB,CAAC;IACO,MAAM,CAAC,gBAAgB,CAAC,OAAe;QAC3C,IAAI,YAAY,GAAG;;;;;;UAMjB,CAAC;QACH,IAAI,UAAU,GAAG;;;;;;;;;;sBAUH,OAAO;;UAEnB,YAAY;;GAEnB,CAAC,IAAI,EAAE,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,WAAyB,EAAE,OAAe;QACrE,IAAI,SAAS,GAAG;;;yBAGC,WAAW,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO;;iBAE5C,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,OAAO;4CACP,WAAW,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;uCACxC,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE;yCAC5B,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE;;;;;;QAMjE,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,aAAqB,EAAE,OAAe;QAC/D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAE,CAAC,YAAY,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,CAAC,EAAE,OAAO,CAAC,CAAE,CAAC,CAAC;QACrH,sBAAY,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAGrD,IAAI,OAAO,GAAQ;YACf,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,OAAO;YAClB,8EAA8E;YAC9E,oFAAoF;YACpF,qFAAqF;YACrF,sDAAsD;YACtD,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU;YACrC,SAAS,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,+EAA+E;gBAC/E,oFAAoF;gBACpF,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,cAAc;aAC5B;YACD,cAAc,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE;YAC7C,iBAAiB,EAAE,UAAU,CAAC,eAAe,IAAI,EAAE;SACtD,CAAC;QACF,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1C,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,cAAc,WAAW,uGAAuG,CAAC,CAAC;YACtJ,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,uDAAuD;YACvD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC/C,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,YAAY,CAAC,uCAAuC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;QACzD,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,YAAY,CAAC,gDAAgD,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1H,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAGD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,OAA8D;QAExG,+FAA+F;QAC/F,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,aAAa,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,EAAE,IAAI,IAAA,eAAU,EAAC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sDAAsD,WAAW,IAAI,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,CAAC;QACb,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAW,GAAG,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,eAAe,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,qBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC/I,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0CAA0C,eAAe,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,WAAW,GAAiB,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,eAAe,GAAG,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC;QACb,CAAC;QAED,oFAAoF;QACpF,IAAI,SAAS,GAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACrG,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE;YAC9D,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAC;QAEH,gGAAgG;QAChG,IAAI,MAAM,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,MAAM,CAAC,CAAC;QAErF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClE,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5F,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEzE,oFAAoF;QACpF,uFAAuF;QACvF,oFAAoF;QACpF,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBAClC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC;gBACjD,kBAAkB;gBAClB,mBAAmB;gBACnB,uBAAuB;aAC1B,CAAC,CAAC,CAAC;QACJ,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC7J,sBAAY,CAAC,KAAK,CAAC,wBAAwB,MAAM,IAAI,CAAC,CAAC;QAEvD,gGAAgG;QAChG,mBAAS,CAAC,iBAAiB,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,qBAAqB,CAAC,CAAC,CAAC;QAEvF,uEAAuE;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACjB,sBAAY,CAAC,YAAY,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,gEAAgE,CAAC,CAAC;QAC7H,CAAC;QAED,IAAI,IAAA,eAAU,EAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,oBAAU,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;YACrF,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wCAAwC,WAAW,IAAI,CAAC,CAAC,CAAC;gBAChF,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,OAAO,oBAAoB,aAAa,MAAM,CAAC,CAAC,CAAC;QAErG,yFAAyF;QACzF,yFAAyF;QACzF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,SAAS,WAAW,6CAA6C,WAAW,mBAAmB,CAAC;QACpH,OAAO,MAAM,oBAAU,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,mGAAmG;IAC3F,MAAM,CAAC,iBAAiB;QAC5B,OAAO;;;;;;;;;;;;;;;;;;CAkBd,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,mBAAmB,CAAC,aAAqB,EAAE,MAAc,EAAE,WAAmB,EAAE,YAAiB,EAAE,OAAyC,EAAE,iBAA2B;QAEpL,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEvD,OAAO;;;;;uBAKQ,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;;;;YAIhD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;2CAgBI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;kCAQrC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;mBAC3C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;;gBAGpC,OAAO,CAAC,IAAI;;gBAEZ,OAAO,CAAC,IAAI,KAAK,KAAK;;;sBAGhB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;;;GAGjD,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAkB;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAkB;QACnC,IAAI,QAAQ,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,UAAU,gBAAgB,CAAC,CAAC;QACxE,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA8B,CAAC;IACzD,CAAC;;AAjtBL,6BAktBC"}
@@ -6,6 +6,14 @@ export default abstract class ConsoleUtils {
6
6
  * When stdin is not interactive (CI, pipes, tests) the question is skipped and `defaultValue` is returned.
7
7
  */
8
8
  static confirm(question: string, defaultValue?: boolean): Promise<boolean>;
9
+ /**
10
+ * Asks to pick one entry of a list on the terminal, by its number.
11
+ * When stdin is not interactive (CI, pipes, tests) the question is skipped and `defaultIndex` is returned.
12
+ */
13
+ static select(question: string, choices: {
14
+ name: string;
15
+ description: string;
16
+ }[], defaultIndex?: number): Promise<number>;
9
17
  static proposeCommand(question: string, command: string): string;
10
18
  static proposeOpenUri(question: string, uri: string): string;
11
19
  }
@@ -36,6 +36,31 @@ class ConsoleUtils {
36
36
  rl.close();
37
37
  }
38
38
  }
39
+ /**
40
+ * Asks to pick one entry of a list on the terminal, by its number.
41
+ * When stdin is not interactive (CI, pipes, tests) the question is skipped and `defaultIndex` is returned.
42
+ */
43
+ static async select(question, choices, defaultIndex = 0) {
44
+ if (!process_1.stdin.isTTY || choices.length === 0) {
45
+ return defaultIndex;
46
+ }
47
+ console.log(question);
48
+ choices.forEach((choice, index) => {
49
+ const marker = index === defaultIndex ? chalk_1.default.green('>') : ' ';
50
+ console.log(`${marker} ${chalk_1.default.cyan(String(index + 1))}. ${choice.name.padEnd(12)} ${chalk_1.default.gray(choice.description)}`);
51
+ });
52
+ const rl = (0, readline_1.createInterface)({ input: process_1.stdin, output: process_1.stdout });
53
+ try {
54
+ const answer = await new Promise((resolve) => {
55
+ rl.question(`Your choice ${chalk_1.default.gray(`[${defaultIndex + 1}]`)} `, resolve);
56
+ });
57
+ const number = parseInt(answer.trim(), 10);
58
+ return Number.isInteger(number) && number >= 1 && number <= choices.length ? number - 1 : defaultIndex;
59
+ }
60
+ finally {
61
+ rl.close();
62
+ }
63
+ }
39
64
  static proposeCommand(question, command) {
40
65
  let data = JSON.stringify({ question, command });
41
66
  return `\u001b_Gcodenotchcli:proposeCommand:${data}\u001b\\`;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleUtils.js","sourceRoot":"","sources":["../../src/utils/ConsoleUtils.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,uCAA2C;AAC3C,qCAA2D;AAE3D,MAA8B,YAAY;IACtC,MAAM,CAAC,KAAK,CAAC,IAAY;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,IAAY;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAID;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,eAAwB,KAAK;QAChE,IAAI,CAAC,eAAK,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAL,eAAK,EAAE,MAAM,EAAN,gBAAM,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACjD,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;gBACpB,OAAO,YAAY,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;gBACO,CAAC;YACL,EAAE,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,OAAe;QACnD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;QAC/C,OAAO,uCAAuC,IAAI,UAAU,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,GAAW;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;QAC3C,OAAO,uCAAuC,IAAI,UAAU,CAAC;IACjE,CAAC;CACJ;AA3CD,+BA2CC"}
1
+ {"version":3,"file":"ConsoleUtils.js","sourceRoot":"","sources":["../../src/utils/ConsoleUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { IDiscoveredTable } from './ProjectUtils';
2
+ export interface IDbSchemaGenerationResult {
3
+ content: string;
4
+ warnings: string[];
5
+ }
6
+ /**
7
+ * Builds the two files describing the database of a project out of its 'defineEntity' declarations:
8
+ * 'db-schema.xml', read by the runtime to migrate the database, and 'db-schema.ts', the typed
9
+ * context the processes use through `ctx.tables`.
10
+ */
11
+ export default abstract class DbSchemaUtils {
12
+ /**
13
+ * Name a table is reachable under in the schema, e.g. 'User' gives 'users'
14
+ */
15
+ static toCollectionName(tableName: string): string;
16
+ /**
17
+ * 'db-schema.xml', the definition the runtime migrates the database from
18
+ *
19
+ * @param tables tables of the project, see ProjectUtils.discoverTableFiles
20
+ * @param version version of the project, taken from its manifest
21
+ */
22
+ static generateXml(tables: IDiscoveredTable[], version: string): IDbSchemaGenerationResult;
23
+ private static generateColumnXml;
24
+ /**
25
+ * 'db-schema.ts', the typed database context of the project
26
+ *
27
+ * @param tables tables of the project, see ProjectUtils.discoverTableFiles
28
+ * @param projectName name of the project, used for the interface name
29
+ * @param imports import line of each table type, keyed by table name
30
+ */
31
+ static generateTs(tables: IDiscoveredTable[], projectName: string, imports: Map<string, string>): IDbSchemaGenerationResult;
32
+ /** 'my project' and 'my-project' both give 'MyProjectDbSchema' */
33
+ private static toInterfaceName;
34
+ /** Splits an import statement back into the type it brings and the file it comes from */
35
+ private static parseImport;
36
+ private static sortByName;
37
+ private static getDescription;
38
+ private static hasModifier;
39
+ private static getModifierText;
40
+ /**
41
+ * Column of `targetTableName` declared as `p.belongsTo('<tableName>')`, which is what a
42
+ * HasOne/HasMany has to point at
43
+ */
44
+ private static findPairedBelongsTo;
45
+ private static getFirstStringArgument;
46
+ /** A column is nullable unless it is required, which '.default(...)' does not make it */
47
+ private static isNullable;
48
+ private static escape;
49
+ }
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /** Relations point at another table instead of holding a value */
4
+ const RELATION_TYPES = ['BelongsTo', 'HasOne', 'HasMany'];
5
+ /**
6
+ * Builder of `@codenotch/orm` a column is declared with, mapped to the element of the schema:
7
+ * `p.text()` becomes `<Text .../>`.
8
+ *
9
+ * Keyed by what `p` exposes, since that is what a table declaration can actually use. A builder
10
+ * that is not listed here is reported rather than guessed, so a type added to the orm surfaces
11
+ * as a warning instead of silently becoming a String column.
12
+ */
13
+ const ELEMENT_BY_BUILDER = {
14
+ string: 'String',
15
+ text: 'Text',
16
+ email: 'Email',
17
+ integer: 'Integer',
18
+ int: 'Integer',
19
+ decimal: 'Decimal',
20
+ float: 'Decimal',
21
+ number: 'Decimal',
22
+ boolean: 'Boolean',
23
+ bool: 'Boolean',
24
+ uuid: 'Guid',
25
+ guid: 'Guid',
26
+ date: 'Date',
27
+ datetime: 'DateTime',
28
+ timestamp: 'DateTime',
29
+ version: 'Version',
30
+ enum: 'Enum',
31
+ autoIncrement: 'AutoIncrement',
32
+ belongsTo: 'BelongsTo',
33
+ hasOne: 'HasOne',
34
+ hasMany: 'HasMany'
35
+ };
36
+ /** Modifiers making a column non nullable */
37
+ const REQUIRED_MODIFIERS = ['notNull', 'required', 'primary'];
38
+ /**
39
+ * Builds the two files describing the database of a project out of its 'defineEntity' declarations:
40
+ * 'db-schema.xml', read by the runtime to migrate the database, and 'db-schema.ts', the typed
41
+ * context the processes use through `ctx.tables`.
42
+ */
43
+ class DbSchemaUtils {
44
+ /**
45
+ * Name a table is reachable under in the schema, e.g. 'User' gives 'users'
46
+ */
47
+ static toCollectionName(tableName) {
48
+ const name = tableName.toLowerCase();
49
+ if (/(s|x|z|ch|sh)$/.test(name)) {
50
+ return `${name}es`;
51
+ }
52
+ if (/[^aeiou]y$/.test(name)) {
53
+ return `${name.slice(0, -1)}ies`;
54
+ }
55
+ return `${name}s`;
56
+ }
57
+ /**
58
+ * 'db-schema.xml', the definition the runtime migrates the database from
59
+ *
60
+ * @param tables tables of the project, see ProjectUtils.discoverTableFiles
61
+ * @param version version of the project, taken from its manifest
62
+ */
63
+ static generateXml(tables, version) {
64
+ const warnings = [];
65
+ const lines = [
66
+ '<?xml version="1.0"?>',
67
+ `<DatabaseSchema Version="${this.escape(version)}">`,
68
+ ' <Tables>'
69
+ ];
70
+ for (const table of this.sortByName(tables)) {
71
+ if (table.name === undefined) {
72
+ warnings.push(`A table declared at ${table.filePath}:${table.line} has no literal name, it is left out of the schema.`);
73
+ continue;
74
+ }
75
+ lines.push(` <Table Name="${this.escape(table.name)}" Description="${this.escape(this.getDescription(table.properties))}">`);
76
+ // Every table carries the three system fields, whether or not it declares its own key
77
+ const primary = table.columns.find(column => column.isPrimary);
78
+ lines.push(` <Id Name="${this.escape(primary?.name ?? 'Id')}"/>`);
79
+ lines.push(' <CreatedAt Name="CreatedAt"/>');
80
+ lines.push(' <UpdatedAt Name="UpdatedAt"/>');
81
+ for (const column of table.columns) {
82
+ if (column.isPrimary) {
83
+ continue;
84
+ }
85
+ lines.push(...this.generateColumnXml(column, table.name, tables, warnings));
86
+ }
87
+ lines.push(' </Table>');
88
+ }
89
+ lines.push(' </Tables>');
90
+ lines.push('</DatabaseSchema>');
91
+ lines.push('');
92
+ return { content: lines.join('\n'), warnings };
93
+ }
94
+ static generateColumnXml(column, tableName, tables, warnings) {
95
+ const element = column.type === undefined ? undefined : ELEMENT_BY_BUILDER[column.type];
96
+ if (element === undefined) {
97
+ warnings.push(`Column '${tableName}.${column.name}' uses the unknown type '${column.type ?? '?'}', it is left out of the schema.`);
98
+ return [];
99
+ }
100
+ const attributes = [
101
+ `Name="${this.escape(column.name)}"`,
102
+ `Description="${this.escape(this.getModifierText(column, 'description'))}"`
103
+ ];
104
+ // Relations point at another table, and a BelongsTo also names the column holding the key
105
+ if (RELATION_TYPES.includes(element)) {
106
+ const target = this.getFirstStringArgument(column);
107
+ if (target === undefined) {
108
+ warnings.push(`The relation '${tableName}.${column.name}' does not name its target table, it is left out of the schema.`);
109
+ return [];
110
+ }
111
+ attributes.push(`Table="${this.escape(target)}"`);
112
+ if (element === 'BelongsTo') {
113
+ attributes.push(`Key="${this.escape(`${column.name}Id`)}"`);
114
+ }
115
+ else {
116
+ // A Has* names the column of the target table pointing back here, not the table itself
117
+ const pairedColumn = this.getModifierText(column, 'belongsTo') || this.findPairedBelongsTo(tables, target, tableName);
118
+ if (pairedColumn === undefined) {
119
+ warnings.push(`The relation '${tableName}.${column.name}' has no matching 'belongsTo' column in '${target}', it is left out of the schema.`);
120
+ return [];
121
+ }
122
+ attributes.push(`BelongsTo="${this.escape(pairedColumn)}"`);
123
+ attributes.push(`LinkBehaviour="${this.escape(this.getModifierText(column, 'linkBehaviour') || 'Unlink')}"`);
124
+ }
125
+ }
126
+ attributes.push(`IsNullable="${this.isNullable(column)}"`);
127
+ attributes.push(`IsSecret="${this.hasModifier(column, 'secret')}"`);
128
+ attributes.push(`IsUnique="${this.hasModifier(column, 'unique')}"`);
129
+ if (this.hasModifier(column, 'index')) {
130
+ attributes.push('IsIndexed="true"');
131
+ }
132
+ // An enum carries its values as children rather than as an attribute
133
+ if (element === 'Enum') {
134
+ const values = column.typeArguments.filter(value => typeof value === 'string');
135
+ if (values.length === 0) {
136
+ warnings.push(`The enum '${tableName}.${column.name}' declares no value, it is left out of the schema.`);
137
+ return [];
138
+ }
139
+ return [
140
+ ` <Enum ${attributes.join(' ')}>`,
141
+ ...values.map(value => ` <Value>${this.escape(value)}</Value>`),
142
+ ' </Enum>'
143
+ ];
144
+ }
145
+ return [` <${element} ${attributes.join(' ')}/>`];
146
+ }
147
+ /**
148
+ * 'db-schema.ts', the typed database context of the project
149
+ *
150
+ * @param tables tables of the project, see ProjectUtils.discoverTableFiles
151
+ * @param projectName name of the project, used for the interface name
152
+ * @param imports import line of each table type, keyed by table name
153
+ */
154
+ static generateTs(tables, projectName, imports) {
155
+ const warnings = [];
156
+ // Types coming from the same file share one import statement, as a developer would write it
157
+ const typesBySpecifier = new Map();
158
+ const properties = [];
159
+ const collectionNames = new Map();
160
+ for (const table of this.sortByName(tables)) {
161
+ if (table.name === undefined) {
162
+ continue; // already reported by generateXml
163
+ }
164
+ const importLine = this.parseImport(imports.get(table.name));
165
+ if (table.typeName === undefined || importLine === undefined) {
166
+ warnings.push(`The table '${table.name}' has no exported row type ('export type I${table.name} = InferEntity<typeof ${table.variableName ?? table.name}>'), it is left out of the context.`);
167
+ continue;
168
+ }
169
+ const collectionName = this.toCollectionName(table.name);
170
+ const takenBy = collectionNames.get(collectionName);
171
+ if (takenBy !== undefined) {
172
+ warnings.push(`The tables '${takenBy}' and '${table.name}' both map to '${collectionName}', only the first one is kept.`);
173
+ continue;
174
+ }
175
+ collectionNames.set(collectionName, table.name);
176
+ typesBySpecifier.set(importLine.specifier, [...(typesBySpecifier.get(importLine.specifier) ?? []), importLine.typeName]);
177
+ properties.push(` ${collectionName}: ITable<${table.typeName}>`);
178
+ }
179
+ const importLines = [...typesBySpecifier.entries()]
180
+ .map(([specifier, typeNames]) => `import { ${typeNames.join(', ')} } from '${specifier}';`);
181
+ const content = [
182
+ `import { ITable, IDbSchema } from '@codenotch/orm'`,
183
+ ...importLines,
184
+ ``,
185
+ `export default interface ${this.toInterfaceName(projectName)} extends IDbSchema {`,
186
+ ...properties,
187
+ `}`,
188
+ ``
189
+ ].join('\n');
190
+ return { content, warnings };
191
+ }
192
+ /** 'my project' and 'my-project' both give 'MyProjectDbSchema' */
193
+ static toInterfaceName(projectName) {
194
+ const name = projectName
195
+ .split(/[^A-Za-z0-9$]+/)
196
+ .filter(word => word !== '')
197
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
198
+ .join('');
199
+ // An interface cannot start with a digit, and an empty name would produce 'DbSchema' alone
200
+ return `${/^[A-Za-z_$]/.test(name) ? name : `Project${name}`}DbSchema`;
201
+ }
202
+ /** Splits an import statement back into the type it brings and the file it comes from */
203
+ static parseImport(statement) {
204
+ const match = statement?.match(/^import \{\s*([^}\s]+)\s*\} from '([^']+)';?$/);
205
+ return match === null || match === undefined ? undefined : { typeName: match[1], specifier: match[2] };
206
+ }
207
+ static sortByName(tables) {
208
+ // Sorted so that regenerating an unchanged project produces an unchanged file
209
+ return [...tables].sort((left, right) => (left.name ?? '').localeCompare(right.name ?? ''));
210
+ }
211
+ static getDescription(properties) {
212
+ return typeof properties['description'] === 'string' ? properties['description'] : '';
213
+ }
214
+ static hasModifier(column, name) {
215
+ return column.modifiers.some(modifier => modifier.name === name);
216
+ }
217
+ static getModifierText(column, name) {
218
+ const value = column.modifiers.find(modifier => modifier.name === name)?.arguments[0];
219
+ return typeof value === 'string' ? value : '';
220
+ }
221
+ /**
222
+ * Column of `targetTableName` declared as `p.belongsTo('<tableName>')`, which is what a
223
+ * HasOne/HasMany has to point at
224
+ */
225
+ static findPairedBelongsTo(tables, targetTableName, tableName) {
226
+ const target = tables.find(table => table.name === targetTableName);
227
+ return target?.columns.find(column => column.type === 'belongsTo' && this.getFirstStringArgument(column) === tableName)?.name;
228
+ }
229
+ static getFirstStringArgument(column) {
230
+ const value = column.typeArguments[0];
231
+ return typeof value === 'string' ? value : undefined;
232
+ }
233
+ /** A column is nullable unless it is required, which '.default(...)' does not make it */
234
+ static isNullable(column) {
235
+ return !column.modifiers.some(modifier => REQUIRED_MODIFIERS.includes(modifier.name));
236
+ }
237
+ static escape(value) {
238
+ return value
239
+ .replaceAll('&', '&amp;')
240
+ .replaceAll('<', '&lt;')
241
+ .replaceAll('>', '&gt;')
242
+ .replaceAll('"', '&quot;');
243
+ }
244
+ }
245
+ exports.default = DbSchemaUtils;
246
+ //# sourceMappingURL=DbSchemaUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DbSchemaUtils.js","sourceRoot":"","sources":["../../src/utils/DbSchemaUtils.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,116 @@
1
+ /**
2
+ * Filters of {@link FileUtils.listFilesRecursively}. Every filter is optional: an option left out filters nothing.
3
+ * Names and paths are compared case insensitively on Windows only, like the file system itself.
4
+ */
5
+ export interface IGetAllFilesOptions {
6
+ /** Folder names to ignore at any depth, e.g. 'node_modules' */
7
+ ignoredFolderNames?: string[];
8
+ /** Absolute folder paths to ignore, with everything they contain (see {@link FileUtils.getIgnoredFolderPaths}) */
9
+ ignoredFolderPaths?: string[];
10
+ /** File names to ignore at any depth, e.g. 'manifest.cache.json' */
11
+ ignoredFileNames?: string[];
12
+ /** Absolute file paths to ignore */
13
+ ignoredFilePaths?: string[];
14
+ /**
15
+ * When not empty, only the files whose name ends with one of these extensions are returned.
16
+ * The dot is optional ('ts' or '.ts'), and composed extensions work ('.i18n.csv', '.manifest.json').
17
+ */
18
+ fileExtensions?: string[];
19
+ }
1
20
  export default abstract class FileUtils {
2
- static zipFolder(targetPath: string, zipFilePath: string): Promise<boolean>;
3
- static slash(): "/" | "\\";
4
- static normalize(path?: string): string;
21
+ static zipFolder(targetPath: string, zipFilePath: string): boolean;
22
+ /**
23
+ * Returns the current OS path slash
24
+ * TODO: Use 'path' intead ?
25
+ */
26
+ static slash(): "\\" | "/";
27
+ /**
28
+ * Fix path slashs depending on the current OS
29
+ * TODO: Use 'path' intead ?
30
+ */
31
+ static normalize(path?: string | null): string;
32
+ /**
33
+ * Returns true if the specified path exists.
34
+ */
5
35
  static exists(filePath: string): Promise<boolean>;
6
- static readFileAsync(filePath: string): Promise<string>;
7
- static readJsonFileAsync<T>(filePath: string): Promise<T | null>;
36
+ /**
37
+ * Reads a file and returns undefined if not exists (or other errors)
38
+ */
39
+ static readFileAsync(filePath: string): Promise<string | undefined>;
40
+ /**
41
+ * Reads a file that is allowed to be missing, without the error {@link FileUtils.readFileAsync} logs
42
+ */
43
+ static readFileIfExists(filePath: string): Promise<string | undefined>;
44
+ static readJsonFileAsync<T>(filePath: string): Promise<T | undefined>;
8
45
  static writeFileSync(filePath: string, content: string): boolean;
9
- static copyFolder(folderPath: string, copyInto: string, ignoreFolders?: string[]): Promise<void>;
10
- static moveFolder(folderPath: string, moveInto: string, ignoreFolders?: string[]): Promise<void>;
11
- static delete(path: string): void;
12
- static getAllFilesFromPath(path: string, ignoreFolders?: string[]): string[];
13
- private static getAllFiles;
14
- static getNameFromPath(path: string): string;
46
+ /**
47
+ * Copy a folder to an destination path.
48
+ */
49
+ static copyFolder(folderPath: string, copyInto: string, ignoredFolderNames?: string[]): Promise<void>;
50
+ /**
51
+ * Delete a file or a folder recursively
52
+ */
53
+ static deleteRecursively(path: string): void;
54
+ /**
55
+ * Lists every file under a path, recursively.
56
+ *
57
+ * The returned paths are absolute and use the separators of the current platform.
58
+ * Symbolic links are not followed, and a folder that cannot be read is skipped
59
+ * instead of aborting the whole walk.
60
+ *
61
+ * @param targetPath file or folder to walk. A file is returned alone, but is still filtered by the options.
62
+ * @param options filters to apply, all of them optional. An option left out filters nothing.
63
+ */
64
+ static listFilesRecursively(targetPath: string, options?: IGetAllFilesOptions): string[];
65
+ /**
66
+ * Walks a folder and appends its files to `results`
67
+ */
68
+ private static collectFiles;
69
+ /**
70
+ * Prepares the options once, so that the comparisons of the walk are simple lookups
71
+ */
72
+ private static createFileFilters;
73
+ private static isIgnoredFolder;
74
+ private static isIgnoredFile;
75
+ /**
76
+ * Windows paths are case insensitive, posix ones are not
77
+ */
78
+ private static toComparable;
79
+ /**
80
+ * Comparable form of a path: separators of the platform, no trailing separator
81
+ */
82
+ private static toComparablePath;
83
+ /**
84
+ * Return the folder or file name from a path.
85
+ */
86
+ static getNameFromPath(path: string, removeExtensions?: boolean): string;
15
87
  /**
16
88
  * Returns the extension excluding the dot. Or an empty string if the name doesn't contains dot.
17
89
  * @param path File path or name
18
90
  * @returns extension excluding the dot
19
91
  */
20
92
  static getExtensionFromPath(path: string): string;
21
- static isAbsolutePath(path: string): true | "" | RegExpMatchArray | null;
93
+ /** Folders that are never worth walking, whatever the workspace declares */
94
+ private static readonly ALWAYS_IGNORED_FOLDER_NAMES;
95
+ /**
96
+ * Absolute paths of the folders that should not be walked in a workspace: the usual suspects
97
+ * (node_modules, .git, ...), those ignored by its '.gitignore' and those excluded by its 'tsconfig.json'.
98
+ *
99
+ * Gitignore patterns are recursive, so the folders are looked up at any depth ('src/generated/' is
100
+ * reported), but an ignored folder is never entered.
101
+ *
102
+ * Meant to feed the 'ignoredFolderPaths' option of {@link FileUtils.listFilesRecursively}.
103
+ */
104
+ static getIgnoredFolderPaths(workspacePath: string): Promise<string[]>;
105
+ /**
106
+ * Walks the folders of a workspace and collects those matching the gitignore patterns.
107
+ * An ignored folder is reported but not entered, so its content costs nothing.
108
+ */
109
+ private static collectIgnoredFolders;
22
110
  /**
23
- * SI path est un dossier, checké sur le dossier contient un 'manifest.json', si fichier, regarder dans les dossiers parent
24
- * @param path
111
+ * Folders designated by the "exclude" of a tsconfig, relative to the workspace.
112
+ * 'dist', './dist', 'dist/**' and '**\/dist' all give 'dist', while entries that do not
113
+ * designate a folder ('**\/*.test.ts', '*.tmp', '**') are dropped.
25
114
  */
26
- static locateProjectRootPath(path: string): void;
115
+ private static getExcludedFolders;
27
116
  }