@icarusmx/creta 1.0.16 → 1.0.18

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/bin/creta.js CHANGED
@@ -842,12 +842,14 @@ async function startEnunciadosSelectorInteractive() {
842
842
  try {
843
843
  const lesson1 = new Lesson1SystemDecomposition()
844
844
  await lesson1.start()
845
+ await returnToMainMenu()
845
846
  } catch (error) {
846
847
  console.error("\n❌ Error al ejecutar la lección:", error.message)
847
848
  console.log("\n🚀 Próximamente:")
848
849
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
849
850
  console.log("- Ejercicios prácticos que ilustren el concepto")
850
851
  console.log("- Proyectos específicos para internalizar la idea")
852
+ await returnToMainMenu()
851
853
  }
852
854
  } else if (enunciadoSeleccionado.id === 1) {
853
855
  console.log(`${enunciadoSeleccionado.texto}`)
@@ -856,12 +858,14 @@ async function startEnunciadosSelectorInteractive() {
856
858
  try {
857
859
  const lesson1 = new Lesson1SystemDecomposition()
858
860
  await lesson1.start()
861
+ await returnToMainMenu()
859
862
  } catch (error) {
860
863
  console.error("\n❌ Error al ejecutar la lección:", error.message)
861
864
  console.log("\n🚀 Próximamente:")
862
865
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
863
866
  console.log("- Ejercicios prácticos que ilustren el concepto")
864
867
  console.log("- Proyectos específicos para internalizar la idea")
868
+ await returnToMainMenu()
865
869
  }
866
870
  } else if (enunciadoSeleccionado.id === 2) {
867
871
  console.log(`${enunciadoSeleccionado.texto}`)
@@ -870,12 +874,14 @@ async function startEnunciadosSelectorInteractive() {
870
874
  try {
871
875
  const lesson2 = new Lesson2ObjectRequests()
872
876
  await lesson2.start()
877
+ await returnToMainMenu()
873
878
  } catch (error) {
874
879
  console.error("\n❌ Error al ejecutar la lección:", error.message)
875
880
  console.log("\n🚀 Próximamente:")
876
881
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
877
882
  console.log("- Ejercicios prácticos que ilustren el concepto")
878
883
  console.log("- Proyectos específicos para internalizar la idea")
884
+ await returnToMainMenu()
879
885
  }
880
886
  } else if (enunciadoSeleccionado.id === 3) {
881
887
  console.log(`${enunciadoSeleccionado.texto}`)
@@ -884,12 +890,14 @@ async function startEnunciadosSelectorInteractive() {
884
890
  try {
885
891
  const lesson3 = new Lesson3OnlyWay()
886
892
  await lesson3.start()
893
+ await returnToMainMenu()
887
894
  } catch (error) {
888
895
  console.error("\n❌ Error al ejecutar la lección:", error.message)
889
896
  console.log("\n🚀 Próximamente:")
890
897
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
891
898
  console.log("- Ejercicios prácticos que ilustren el concepto")
892
899
  console.log("- Proyectos específicos para internalizar la idea")
900
+ await returnToMainMenu()
893
901
  }
894
902
  } else if (enunciadoSeleccionado.id === 4) {
895
903
  console.log(`${enunciadoSeleccionado.texto}`)
@@ -898,12 +906,14 @@ async function startEnunciadosSelectorInteractive() {
898
906
  try {
899
907
  const lesson4 = new Lesson4OperationSignatures()
900
908
  await lesson4.start()
909
+ await returnToMainMenu()
901
910
  } catch (error) {
902
911
  console.error("\n❌ Error al ejecutar la lección:", error.message)
903
912
  console.log("\n🚀 Próximamente:")
904
913
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
905
914
  console.log("- Ejercicios prácticos que ilustren el concepto")
906
915
  console.log("- Proyectos específicos para internalizar la idea")
916
+ await returnToMainMenu()
907
917
  }
908
918
  } else if (enunciadoSeleccionado.id === 5) {
909
919
  console.log(`${enunciadoSeleccionado.texto}`)
@@ -912,12 +922,14 @@ async function startEnunciadosSelectorInteractive() {
912
922
  try {
913
923
  const lesson5 = new Lesson5InterfaceSet()
914
924
  await lesson5.start()
925
+ await returnToMainMenu()
915
926
  } catch (error) {
916
927
  console.error("\n❌ Error al ejecutar la lección:", error.message)
917
928
  console.log("\n🚀 Próximamente:")
918
929
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
919
930
  console.log("- Ejercicios prácticos que ilustren el concepto")
920
931
  console.log("- Proyectos específicos para internalizar la idea")
932
+ await returnToMainMenu()
921
933
  }
922
934
  } else if (enunciadoSeleccionado.id === 6) {
923
935
  console.log(`${enunciadoSeleccionado.texto}`)
@@ -926,12 +938,14 @@ async function startEnunciadosSelectorInteractive() {
926
938
  try {
927
939
  const lesson6 = new Lesson6InterfaceDesign()
928
940
  await lesson6.start()
941
+ await returnToMainMenu()
929
942
  } catch (error) {
930
943
  console.error("\n❌ Error al ejecutar la lección:", error.message)
931
944
  console.log("\n🚀 Próximamente:")
932
945
  console.log("- Sesiones de estudio dirigidas basadas en este enunciado")
933
946
  console.log("- Ejercicios prácticos que ilustren el concepto")
934
947
  console.log("- Proyectos específicos para internalizar la idea")
948
+ await returnToMainMenu()
935
949
  }
936
950
  } else {
937
951
  console.log("\n🚀 Próximamente:")
@@ -1246,6 +1260,34 @@ async function startProyectosSelectorInteractive() {
1246
1260
  })
1247
1261
  }
1248
1262
 
1263
+ async function returnToMainMenu() {
1264
+ const rl = createInterface({
1265
+ input: process.stdin,
1266
+ output: process.stdout
1267
+ })
1268
+
1269
+ const askQuestion = (question) => {
1270
+ return new Promise((resolve) => {
1271
+ rl.question(question, resolve)
1272
+ })
1273
+ }
1274
+
1275
+ console.log("\n🏠 ¿Qué te gustaría hacer ahora?")
1276
+ console.log("1. Volver al menú principal")
1277
+ console.log("2. Salir")
1278
+
1279
+ const respuesta = await askQuestion("\nElige una opción (1-2): ")
1280
+
1281
+ if (respuesta === '1') {
1282
+ rl.close()
1283
+ console.clear()
1284
+ await startMainMenu()
1285
+ } else {
1286
+ console.log("\n¡Hasta la vista! 👋")
1287
+ rl.close()
1288
+ }
1289
+ }
1290
+
1249
1291
  async function startProyectosSelectorFallback() {
1250
1292
  const rl = createInterface({
1251
1293
  input: process.stdin,
@@ -43,7 +43,7 @@ export class Lesson1SystemDecomposition {
43
43
  console.log("El sistema es un conjunto de cosas que relacionadas")
44
44
  console.log("entre sí ordenadamente contribuyen a un determinado propósito")
45
45
 
46
- await this.waitForEnter("\nPresiona Enter para comenzar la descomposición en objetos de una biblioteca digital...")
46
+ await this.waitForEnter("\nPresiona Enter para ver un ejemplo de sistema...")
47
47
  }
48
48
 
49
49
  async step2_ApplyDefinitions() {
@@ -94,7 +94,9 @@ export class Lesson1SystemDecomposition {
94
94
  console.clear()
95
95
  console.log("Descomposición en objetos:")
96
96
 
97
- console.log("\nclass Book {")
97
+ console.log("\n📄 Clase Book:")
98
+ console.log("━".repeat(50))
99
+ console.log("class Book {")
98
100
  console.log(" constructor(title, author, isbn) {")
99
101
  console.log(" this.title = title")
100
102
  console.log(" this.author = author")
@@ -114,10 +116,13 @@ export class Lesson1SystemDecomposition {
114
116
  console.log(" this.isLoaned = false")
115
117
  console.log(" }")
116
118
  console.log("}")
119
+ console.log("━".repeat(50))
117
120
 
118
121
  await this.waitForEnter("\nPresiona Enter para ver User...")
119
122
 
120
- console.log("\nclass User {")
123
+ console.log("\n📄 Clase User:")
124
+ console.log("━".repeat(50))
125
+ console.log("class User {")
121
126
  console.log(" constructor(name, email, maxLoans = 3) {")
122
127
  console.log(" this.name = name")
123
128
  console.log(" this.email = email")
@@ -138,10 +143,13 @@ export class Lesson1SystemDecomposition {
138
143
  console.log(" if (index > -1) this.currentLoans.splice(index, 1)")
139
144
  console.log(" }")
140
145
  console.log("}")
146
+ console.log("━".repeat(50))
141
147
 
142
148
  await this.waitForEnter("\nPresiona Enter para ver Loan...")
143
149
 
144
- console.log("\nclass Loan {")
150
+ console.log("\n📄 Clase Loan:")
151
+ console.log("━".repeat(50))
152
+ console.log("class Loan {")
145
153
  console.log(" constructor(user, book, durationDays = 14) {")
146
154
  console.log(" this.user = user")
147
155
  console.log(" this.book = book")
@@ -257,12 +265,13 @@ export class Lesson1SystemDecomposition {
257
265
  console.log("La descomposición en objetos es difícil porque requiere identificar")
258
266
  console.log("las responsabilidades naturales que se deducen del sistema.")
259
267
 
260
- await this.waitForEnter("\n✨ ¡Lección 1 completada! Presiona Enter para salir...")
268
+ await this.waitForEnter("\n✨ ¡Lección 1 completada! Presiona Enter para continuar...")
261
269
  }
262
270
 
263
271
  async waitForEnter(message) {
264
272
  return new Promise((resolve) => {
265
273
  this.rl.question(message, () => {
274
+ console.log("\n\n") // Add extra spacing after each interaction
266
275
  resolve()
267
276
  })
268
277
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icarusmx/creta",
3
- "version": "1.0.16",
3
+ "version": "1.0.18",
4
4
  "description": "Salgamos de este laberinto.",
5
5
  "type": "module",
6
6
  "bin": {