@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 +42 -0
- package/lessons/lesson1-system-decomposition.js +14 -5
- package/package.json +1 -1
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
|
|
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("\
|
|
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("\
|
|
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("\
|
|
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
|
|
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
|
})
|