retold 4.0.1 → 4.0.2

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 (75) hide show
  1. package/.claude/settings.local.json +27 -1
  2. package/docs/README.md +7 -6
  3. package/docs/_sidebar.md +34 -21
  4. package/docs/_topbar.md +2 -2
  5. package/docs/architecture/module-architecture.md +234 -0
  6. package/docs/{modules.md → architecture/modules.md} +25 -22
  7. package/docs/cover.md +2 -2
  8. package/docs/css/docuserve.css +6 -6
  9. package/docs/examples/examples.md +71 -0
  10. package/docs/examples/todolist/todo-list-cli-client.md +178 -0
  11. package/docs/examples/todolist/todo-list-console-client.md +152 -0
  12. package/docs/examples/todolist/todo-list-model.md +114 -0
  13. package/docs/examples/todolist/todo-list-server.md +128 -0
  14. package/docs/examples/todolist/todo-list-web-client.md +177 -0
  15. package/docs/examples/todolist/todo-list.md +162 -0
  16. package/docs/getting-started.md +8 -7
  17. package/docs/index.html +4 -4
  18. package/docs/{meadow.md → modules/meadow.md} +4 -6
  19. package/docs/{orator.md → modules/orator.md} +1 -0
  20. package/docs/{pict.md → modules/pict.md} +30 -8
  21. package/docs/{utility.md → modules/utility.md} +0 -9
  22. package/docs/retold-catalog.json +896 -2317
  23. package/docs/retold-keyword-index.json +162327 -120227
  24. package/examples/todo-list/Dockerfile +45 -0
  25. package/examples/todo-list/README.md +394 -0
  26. package/examples/todo-list/cli-client/package-lock.json +418 -0
  27. package/examples/todo-list/cli-client/package.json +19 -0
  28. package/examples/todo-list/cli-client/source/TodoCLI-CLIProgram.js +30 -0
  29. package/examples/todo-list/cli-client/source/TodoCLI-Run.js +3 -0
  30. package/examples/todo-list/cli-client/source/commands/add/TodoCLI-Command-Add.js +74 -0
  31. package/examples/todo-list/cli-client/source/commands/complete/TodoCLI-Command-Complete.js +84 -0
  32. package/examples/todo-list/cli-client/source/commands/list/TodoCLI-Command-List.js +110 -0
  33. package/examples/todo-list/cli-client/source/commands/remove/TodoCLI-Command-Remove.js +49 -0
  34. package/examples/todo-list/cli-client/source/services/TodoCLI-Service-API.js +92 -0
  35. package/examples/todo-list/console-client/console-client.cjs +913 -0
  36. package/examples/todo-list/console-client/package-lock.json +426 -0
  37. package/examples/todo-list/console-client/package.json +19 -0
  38. package/examples/todo-list/console-client/views/PictView-TUI-Header.cjs +43 -0
  39. package/examples/todo-list/console-client/views/PictView-TUI-Layout.cjs +58 -0
  40. package/examples/todo-list/console-client/views/PictView-TUI-StatusBar.cjs +41 -0
  41. package/examples/todo-list/console-client/views/PictView-TUI-TaskList.cjs +104 -0
  42. package/examples/todo-list/docker-motd.sh +36 -0
  43. package/examples/todo-list/docker-run.sh +2 -0
  44. package/examples/todo-list/docker-shell.sh +2 -0
  45. package/examples/todo-list/model/MeadowSchema-Task.json +152 -0
  46. package/examples/todo-list/model/Task-Compiled.json +25 -0
  47. package/examples/todo-list/model/Task.mddl +15 -0
  48. package/examples/todo-list/model/data/seeded_todo_events.csv +1001 -0
  49. package/examples/todo-list/server/database-initialization-service.cjs +273 -0
  50. package/examples/todo-list/server/package-lock.json +6113 -0
  51. package/examples/todo-list/server/package.json +19 -0
  52. package/examples/todo-list/server/server.cjs +138 -0
  53. package/examples/todo-list/web-client/css/todolist-theme.css +235 -0
  54. package/examples/todo-list/web-client/generate-build-config.cjs +18 -0
  55. package/examples/todo-list/web-client/html/index.html +18 -0
  56. package/examples/todo-list/web-client/package-lock.json +12030 -0
  57. package/examples/todo-list/web-client/package.json +43 -0
  58. package/examples/todo-list/web-client/source/TodoList-Application-Config.json +12 -0
  59. package/examples/todo-list/web-client/source/TodoList-Application.cjs +383 -0
  60. package/examples/todo-list/web-client/source/providers/Provider-TaskData.cjs +243 -0
  61. package/examples/todo-list/web-client/source/providers/Router-Config.json +32 -0
  62. package/examples/todo-list/web-client/source/views/View-Layout.cjs +75 -0
  63. package/examples/todo-list/web-client/source/views/View-TaskForm.cjs +87 -0
  64. package/examples/todo-list/web-client/source/views/View-TaskList.cjs +127 -0
  65. package/examples/todo-list/web-client/source/views/calendar/View-MonthView.cjs +293 -0
  66. package/examples/todo-list/web-client/source/views/calendar/View-WeekView.cjs +149 -0
  67. package/examples/todo-list/web-client/source/views/calendar/View-YearView.cjs +226 -0
  68. package/modules/Include-Retold-Module-List.sh +2 -2
  69. package/package.json +5 -5
  70. package/docs/js/pict.min.js +0 -12
  71. package/docs/js/pict.min.js.map +0 -1
  72. package/docs/pict-docuserve.min.js +0 -58
  73. package/docs/pict-docuserve.min.js.map +0 -1
  74. /package/docs/{architecture.md → architecture/architecture.md} +0 -0
  75. /package/docs/{fable.md → modules/fable.md} +0 -0
@@ -0,0 +1,426 @@
1
+ {
2
+ "name": "retold-example-todo-console-client",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "retold-example-todo-console-client",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "blessed": "^0.1.81",
12
+ "fable": "^3.0.232",
13
+ "pict": "^1.0.343",
14
+ "pict-application": "^1.0.28",
15
+ "pict-terminalui": "^0.0.1",
16
+ "pict-view": "^1.0.64"
17
+ }
18
+ },
19
+ "node_modules/async.eachlimit": {
20
+ "version": "0.5.2",
21
+ "resolved": "https://registry.npmjs.org/async.eachlimit/-/async.eachlimit-0.5.2.tgz",
22
+ "integrity": "sha512-emWKSFjCbXnrCJfM2NBMyriJQrdem+LrchiMQtCavBQnJ80N2C7IBhUz8vXnjYYh+aAkY0zZSofNxVYJMTDMIw==",
23
+ "license": "MIT",
24
+ "dependencies": {
25
+ "async.util.eachoflimit": "0.5.2",
26
+ "async.util.withoutindex": "0.5.2"
27
+ }
28
+ },
29
+ "node_modules/async.iterator": {
30
+ "version": "0.5.2",
31
+ "resolved": "https://registry.npmjs.org/async.iterator/-/async.iterator-0.5.2.tgz",
32
+ "integrity": "sha512-Ryg+D9tPYvcHbI3HknGfd6cgQaevwv/9lBpa3KbFrNWDcpsvc4BbpQLGpvaLNCJXM0Uzty/GDKuI2XktiIe0Ng==",
33
+ "license": "MIT"
34
+ },
35
+ "node_modules/async.util.eachoflimit": {
36
+ "version": "0.5.2",
37
+ "resolved": "https://registry.npmjs.org/async.util.eachoflimit/-/async.util.eachoflimit-0.5.2.tgz",
38
+ "integrity": "sha512-oZksH0sBW0AEOJKgBCQ79io9DZruoRBLTAea/Ik36pejR7pDpByvtXeuJsoZdPwSVslsrQcsUfucbUaiXYBnAQ==",
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "async.util.keyiterator": "0.5.2",
42
+ "async.util.noop": "0.5.2",
43
+ "async.util.once": "0.5.2",
44
+ "async.util.onlyonce": "0.5.2"
45
+ }
46
+ },
47
+ "node_modules/async.util.ensureasync": {
48
+ "version": "0.5.2",
49
+ "resolved": "https://registry.npmjs.org/async.util.ensureasync/-/async.util.ensureasync-0.5.2.tgz",
50
+ "integrity": "sha512-sQufNz4JYLHO/7ZUklaTGJtiX36gCp28McNNcMZfVYPm/wqi1pKk4xRCPr2DOZDM6KfA54zjG36jQjBU2mLzXg==",
51
+ "license": "MIT",
52
+ "dependencies": {
53
+ "async.util.restparam": "0.5.2",
54
+ "async.util.setimmediate": "0.5.2"
55
+ }
56
+ },
57
+ "node_modules/async.util.isarray": {
58
+ "version": "0.5.2",
59
+ "resolved": "https://registry.npmjs.org/async.util.isarray/-/async.util.isarray-0.5.2.tgz",
60
+ "integrity": "sha512-wbUzlrwON8RUgi+v/rhF0U99Ce8Osjcn+JP/mFNg6ymvShcobAOvE6cvLajSY5dPqKCOE1xfdhefgBif11zZgw==",
61
+ "license": "MIT"
62
+ },
63
+ "node_modules/async.util.isarraylike": {
64
+ "version": "0.5.2",
65
+ "resolved": "https://registry.npmjs.org/async.util.isarraylike/-/async.util.isarraylike-0.5.2.tgz",
66
+ "integrity": "sha512-DbFpsz3ZFNkohAW8IpGTlm8gotU32zpqe3Y2XkEA/G3XNO6rmUTKPpo7XgXUruoI+AsGi8+0zWpJHe7t1sLiAg==",
67
+ "license": "MIT",
68
+ "dependencies": {
69
+ "async.util.isarray": "0.5.2"
70
+ }
71
+ },
72
+ "node_modules/async.util.keyiterator": {
73
+ "version": "0.5.2",
74
+ "resolved": "https://registry.npmjs.org/async.util.keyiterator/-/async.util.keyiterator-0.5.2.tgz",
75
+ "integrity": "sha512-cktrETawCwgu13y3KZs2uMGFnNHc+IjKPZsavtRaoCjLELkePb2co4zrr+ghPvEqLXZIJPTKqC2HFZgJTssMVw==",
76
+ "license": "MIT",
77
+ "dependencies": {
78
+ "async.util.isarraylike": "0.5.2",
79
+ "async.util.keys": "0.5.2"
80
+ }
81
+ },
82
+ "node_modules/async.util.keys": {
83
+ "version": "0.5.2",
84
+ "resolved": "https://registry.npmjs.org/async.util.keys/-/async.util.keys-0.5.2.tgz",
85
+ "integrity": "sha512-umCOCRCRYwIC2Ho3fbuhKwIIe7OhQsVoVKGoF5GoQiGJUmjP4TG0Bmmcdpm7yW/znoIGKpnjKzVQz0niH4tfqw==",
86
+ "license": "MIT"
87
+ },
88
+ "node_modules/async.util.noop": {
89
+ "version": "0.5.2",
90
+ "resolved": "https://registry.npmjs.org/async.util.noop/-/async.util.noop-0.5.2.tgz",
91
+ "integrity": "sha512-AdwShXwE0KoskgqVJAck8zcM32nIHj3AC8ZN62ZaR5srhrY235Nw18vOJZWxcOfhxdVM0hRVKM8kMx7lcl7cCQ==",
92
+ "license": "MIT"
93
+ },
94
+ "node_modules/async.util.once": {
95
+ "version": "0.5.2",
96
+ "resolved": "https://registry.npmjs.org/async.util.once/-/async.util.once-0.5.2.tgz",
97
+ "integrity": "sha512-YQ5WPzDTt2jlblUDkq2I5RV/KiAJErJ4/0cEFhYPaZzqIuF/xDzdGvnEKe7UeuoMszsVPeajzcpKgkbwdb9MUA==",
98
+ "license": "MIT"
99
+ },
100
+ "node_modules/async.util.onlyonce": {
101
+ "version": "0.5.2",
102
+ "resolved": "https://registry.npmjs.org/async.util.onlyonce/-/async.util.onlyonce-0.5.2.tgz",
103
+ "integrity": "sha512-UgQvkU9JZ+I0Cm1f56XyGXcII+J3d/5XWUuHpcevlItuA3WFSJcqZrsyAUck2FkRSD8BwYQX1zUTDp3SJMVESg==",
104
+ "license": "MIT"
105
+ },
106
+ "node_modules/async.util.restparam": {
107
+ "version": "0.5.2",
108
+ "resolved": "https://registry.npmjs.org/async.util.restparam/-/async.util.restparam-0.5.2.tgz",
109
+ "integrity": "sha512-Q9Z+zgmtMxFX5i7CnBvNOkgrL5hptztCqwarQluyNudUUk4iCmyjmsQl8MuQEjNh3gGqP5ayvDaextL1VXXgIg==",
110
+ "license": "MIT"
111
+ },
112
+ "node_modules/async.util.setimmediate": {
113
+ "version": "0.5.2",
114
+ "resolved": "https://registry.npmjs.org/async.util.setimmediate/-/async.util.setimmediate-0.5.2.tgz",
115
+ "integrity": "sha512-aCYF85ZFCQ9Xn0106GcOVx+LvFguIIzfbfRTOlQoie3G4KeSjURfA6f7CfpFAF09FNP2A1MtdjeFdvYeTGDebw==",
116
+ "license": "MIT"
117
+ },
118
+ "node_modules/async.util.withoutindex": {
119
+ "version": "0.5.2",
120
+ "resolved": "https://registry.npmjs.org/async.util.withoutindex/-/async.util.withoutindex-0.5.2.tgz",
121
+ "integrity": "sha512-CTHbQc+1kHkK6izoXIVIiYjePgmAzvXecETn/eVuzhwL9BDC3oFLNiIrr57fKwyarZyy8PedVIpQNrqgA9KzNA==",
122
+ "license": "MIT"
123
+ },
124
+ "node_modules/async.waterfall": {
125
+ "version": "0.5.2",
126
+ "resolved": "https://registry.npmjs.org/async.waterfall/-/async.waterfall-0.5.2.tgz",
127
+ "integrity": "sha512-3eC5jwgBF0/CNTAwBQYCMybqd6ResDwsdyl3+i5qf1L7fYekVR5gbMzpBca7VoZj1W0BFsHcvjW3UeJstEt2kQ==",
128
+ "license": "MIT",
129
+ "dependencies": {
130
+ "async.iterator": "0.5.2",
131
+ "async.util.ensureasync": "0.5.2",
132
+ "async.util.isarray": "0.5.2",
133
+ "async.util.noop": "0.5.2",
134
+ "async.util.once": "0.5.2",
135
+ "async.util.restparam": "0.5.2"
136
+ }
137
+ },
138
+ "node_modules/big.js": {
139
+ "version": "7.0.1",
140
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-7.0.1.tgz",
141
+ "integrity": "sha512-iFgV784tD8kq4ccF1xtNMZnXeZzVuXWWM+ERFzKQjv+A5G9HC8CY3DuV45vgzFFcW+u2tIvmF95+AzWgs6BjCg==",
142
+ "license": "MIT",
143
+ "engines": {
144
+ "node": "*"
145
+ },
146
+ "funding": {
147
+ "type": "opencollective",
148
+ "url": "https://opencollective.com/bigjs"
149
+ }
150
+ },
151
+ "node_modules/blessed": {
152
+ "version": "0.1.81",
153
+ "resolved": "https://registry.npmjs.org/blessed/-/blessed-0.1.81.tgz",
154
+ "integrity": "sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==",
155
+ "license": "MIT",
156
+ "bin": {
157
+ "blessed": "bin/tput.js"
158
+ },
159
+ "engines": {
160
+ "node": ">= 0.8.0"
161
+ }
162
+ },
163
+ "node_modules/cachetrax": {
164
+ "version": "1.0.4",
165
+ "resolved": "https://registry.npmjs.org/cachetrax/-/cachetrax-1.0.4.tgz",
166
+ "integrity": "sha512-VoqtXp+tEdcbmiR0eJcdERsaBKhmdeVjpZ2jeVadDq25iM7hvZAFu+BCKMHitWzpkgb/Dw4RAouQBGnXbADPBg==",
167
+ "license": "MIT",
168
+ "dependencies": {
169
+ "fable-serviceproviderbase": "^3.0.7"
170
+ }
171
+ },
172
+ "node_modules/cookie": {
173
+ "version": "1.1.1",
174
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
175
+ "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
176
+ "license": "MIT",
177
+ "engines": {
178
+ "node": ">=18"
179
+ },
180
+ "funding": {
181
+ "type": "opencollective",
182
+ "url": "https://opencollective.com/express"
183
+ }
184
+ },
185
+ "node_modules/data-arithmatic": {
186
+ "version": "1.0.7",
187
+ "resolved": "https://registry.npmjs.org/data-arithmatic/-/data-arithmatic-1.0.7.tgz",
188
+ "integrity": "sha512-Z1SBuORrjrlCx9AAx2Cy4yBYrsqtKEz7BzdcLWLMT/t78q3N5/4qjA+63zeMYUAvp9EsIKfQ8X0++Ls9xwaLag==",
189
+ "license": "MIT",
190
+ "dependencies": {
191
+ "fable-serviceproviderbase": "^3.0.2"
192
+ }
193
+ },
194
+ "node_modules/dayjs": {
195
+ "version": "1.11.19",
196
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
197
+ "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==",
198
+ "license": "MIT"
199
+ },
200
+ "node_modules/decompress-response": {
201
+ "version": "6.0.0",
202
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
203
+ "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
204
+ "license": "MIT",
205
+ "dependencies": {
206
+ "mimic-response": "^3.1.0"
207
+ },
208
+ "engines": {
209
+ "node": ">=10"
210
+ },
211
+ "funding": {
212
+ "url": "https://github.com/sponsors/sindresorhus"
213
+ }
214
+ },
215
+ "node_modules/fable": {
216
+ "version": "3.1.53",
217
+ "resolved": "https://registry.npmjs.org/fable/-/fable-3.1.53.tgz",
218
+ "integrity": "sha512-2b7sWs1K3Bl9V8biZ5VSy36YvojanAAKvOZM7hGMg+opLLt/Pk/lIEvucz4m16Vz+C3UDLWf7WKJqdBoEj8A1w==",
219
+ "license": "MIT",
220
+ "dependencies": {
221
+ "async.eachlimit": "^0.5.2",
222
+ "async.waterfall": "^0.5.2",
223
+ "big.js": "^7.0.1",
224
+ "cachetrax": "^1.0.4",
225
+ "cookie": "^1.0.2",
226
+ "data-arithmatic": "^1.0.7",
227
+ "dayjs": "^1.11.19",
228
+ "fable-log": "^3.0.16",
229
+ "fable-serviceproviderbase": "^3.0.16",
230
+ "fable-settings": "^3.0.12",
231
+ "fable-uuid": "^3.0.11",
232
+ "manyfest": "^1.0.43",
233
+ "simple-get": "^4.0.1"
234
+ }
235
+ },
236
+ "node_modules/fable-log": {
237
+ "version": "3.0.16",
238
+ "resolved": "https://registry.npmjs.org/fable-log/-/fable-log-3.0.16.tgz",
239
+ "integrity": "sha512-o9/eIdak/iDy8Cc+Q8NeYUf7AwqYZvr3EaeeGmVd6X7+Ao/c1y5u9x5I54WZmwcYcySukmf2BEiQvS/itoliVw==",
240
+ "license": "MIT",
241
+ "dependencies": {
242
+ "fable-serviceproviderbase": "^3.0.15"
243
+ }
244
+ },
245
+ "node_modules/fable-serviceproviderbase": {
246
+ "version": "3.0.17",
247
+ "resolved": "https://registry.npmjs.org/fable-serviceproviderbase/-/fable-serviceproviderbase-3.0.17.tgz",
248
+ "integrity": "sha512-jT2OqeFQMbGFG3NLMoyBeGpIZ3M+wze3muqrXwndzuX11G4Ou/Mojlv3z06OZQG/VWp4tFjwqqRYbSLWE7KhUw==",
249
+ "license": "MIT"
250
+ },
251
+ "node_modules/fable-settings": {
252
+ "version": "3.0.14",
253
+ "resolved": "https://registry.npmjs.org/fable-settings/-/fable-settings-3.0.14.tgz",
254
+ "integrity": "sha512-hCdu7pkqko4h68MZbrau4/TljWfgJD1kstm3uyJT46vjzx/HRNSwJlggFDHld6pBCf00+wks26VdGolDEfdWvg==",
255
+ "license": "MIT",
256
+ "dependencies": {
257
+ "fable-serviceproviderbase": "^3.0.17",
258
+ "precedent": "^1.0.15"
259
+ }
260
+ },
261
+ "node_modules/fable-uuid": {
262
+ "version": "3.0.11",
263
+ "resolved": "https://registry.npmjs.org/fable-uuid/-/fable-uuid-3.0.11.tgz",
264
+ "integrity": "sha512-ZNFmcc2HI16J6rqiLfkShzzNgeHjbInM0Ur70tAgXlQm/jWqIpU3OFAyTesrz4dVQ5+wCxjp7PQadF7YJ0hNIw==",
265
+ "license": "MIT",
266
+ "dependencies": {
267
+ "fable-serviceproviderbase": "^3.0.15"
268
+ }
269
+ },
270
+ "node_modules/manyfest": {
271
+ "version": "1.0.44",
272
+ "resolved": "https://registry.npmjs.org/manyfest/-/manyfest-1.0.44.tgz",
273
+ "integrity": "sha512-8sI1zQ5lysMW879Lb5VtksmpOy4M2vZIl2IjIzMo5lOWu1MmLZGX/MQxdBu0Klnf4fJwscainclMYs9/P3JXUQ==",
274
+ "license": "MIT",
275
+ "dependencies": {
276
+ "fable-serviceproviderbase": "^3.0.15"
277
+ }
278
+ },
279
+ "node_modules/mimic-response": {
280
+ "version": "3.1.0",
281
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
282
+ "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
283
+ "license": "MIT",
284
+ "engines": {
285
+ "node": ">=10"
286
+ },
287
+ "funding": {
288
+ "url": "https://github.com/sponsors/sindresorhus"
289
+ }
290
+ },
291
+ "node_modules/once": {
292
+ "version": "1.4.0",
293
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
294
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
295
+ "license": "ISC",
296
+ "dependencies": {
297
+ "wrappy": "1"
298
+ }
299
+ },
300
+ "node_modules/pict": {
301
+ "version": "1.0.345",
302
+ "resolved": "https://registry.npmjs.org/pict/-/pict-1.0.345.tgz",
303
+ "integrity": "sha512-Z2LJ/upbsDRgDCXlGyLrhII4WAX1rrXqTwHwuj35mcOQPyh+PYled7ePlr1Mkg3uhGLvqDKbaIn/7vWONDNrQA==",
304
+ "license": "MIT",
305
+ "dependencies": {
306
+ "cachetrax": "^1.0.4",
307
+ "fable": "^3.1.53",
308
+ "pict-application": "^1.0.30",
309
+ "pict-provider": "^1.0.7",
310
+ "pict-template": "^1.0.13",
311
+ "pict-view": "^1.0.64"
312
+ }
313
+ },
314
+ "node_modules/pict-application": {
315
+ "version": "1.0.30",
316
+ "resolved": "https://registry.npmjs.org/pict-application/-/pict-application-1.0.30.tgz",
317
+ "integrity": "sha512-KkwiI4yB16n5QiZPEOJjdqPBEJ4ymXDFI4fCZMlH24mR0VuptUS2IY5F2/PnXSsyquaC7glEBUP+0pvuMyW/tw==",
318
+ "license": "MIT",
319
+ "dependencies": {
320
+ "fable-serviceproviderbase": "^3.0.15"
321
+ }
322
+ },
323
+ "node_modules/pict-provider": {
324
+ "version": "1.0.9",
325
+ "resolved": "https://registry.npmjs.org/pict-provider/-/pict-provider-1.0.9.tgz",
326
+ "integrity": "sha512-J/RLp4eDVUL/p7p3DmVubZlwUjoSM98N5a9Y+2jPcCaUm//MBLjFrRDrSSg5KRSRyshgW0TetS4dCIbzbRRPAw==",
327
+ "license": "MIT",
328
+ "dependencies": {
329
+ "fable-serviceproviderbase": "^3.0.16"
330
+ }
331
+ },
332
+ "node_modules/pict-template": {
333
+ "version": "1.0.13",
334
+ "resolved": "https://registry.npmjs.org/pict-template/-/pict-template-1.0.13.tgz",
335
+ "integrity": "sha512-mebJJac7QGniMhmMeaJpoO9n3KnCd6VLlG93LKpt00X4SMh+XjnzWAcBKsERwpJ6qkgz25gE8DJ7h76/qNrTKQ==",
336
+ "license": "MIT",
337
+ "dependencies": {
338
+ "fable-serviceproviderbase": "^3.0.15"
339
+ }
340
+ },
341
+ "node_modules/pict-terminalui": {
342
+ "version": "0.0.1",
343
+ "resolved": "https://registry.npmjs.org/pict-terminalui/-/pict-terminalui-0.0.1.tgz",
344
+ "integrity": "sha512-85Jlbhixz7N55eCud3+C2eJGS4EsLvqARD+GPMSq2+DiGH3Rjw5nZRtNVAVNryaviSKD3FUPImk3KJahTZXkog==",
345
+ "license": "MIT",
346
+ "dependencies": {
347
+ "blessed": "^0.1.81",
348
+ "fable": "^3.0.232",
349
+ "fable-serviceproviderbase": "^3.0.16",
350
+ "pict": "^1.0.343",
351
+ "pict-application": "^1.0.28",
352
+ "pict-view": "^1.0.64"
353
+ }
354
+ },
355
+ "node_modules/pict-view": {
356
+ "version": "1.0.64",
357
+ "resolved": "https://registry.npmjs.org/pict-view/-/pict-view-1.0.64.tgz",
358
+ "integrity": "sha512-Azhw1t1SAsQ/dbd0ZYeheeTIVWwp+bPJb5kg6+KNzYGL4WDu/HwhSvBpUJVAArdfzxuuk3wnuuIrWtF6pDC2xQ==",
359
+ "license": "MIT",
360
+ "dependencies": {
361
+ "fable": "^3.1.46",
362
+ "fable-serviceproviderbase": "^3.0.15"
363
+ }
364
+ },
365
+ "node_modules/precedent": {
366
+ "version": "1.0.15",
367
+ "resolved": "https://registry.npmjs.org/precedent/-/precedent-1.0.15.tgz",
368
+ "integrity": "sha512-tidXY4JvTudvJ/Jmb8OzHFpX6qUSPwmS7K/BChA7xDb7eqmfHjH3AAO+IhCz3k7k+bh31YNdblSIEkYnCIYelw==",
369
+ "license": "MIT",
370
+ "bin": {
371
+ "precedent": "bin/Precedent"
372
+ }
373
+ },
374
+ "node_modules/simple-concat": {
375
+ "version": "1.0.1",
376
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
377
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
378
+ "funding": [
379
+ {
380
+ "type": "github",
381
+ "url": "https://github.com/sponsors/feross"
382
+ },
383
+ {
384
+ "type": "patreon",
385
+ "url": "https://www.patreon.com/feross"
386
+ },
387
+ {
388
+ "type": "consulting",
389
+ "url": "https://feross.org/support"
390
+ }
391
+ ],
392
+ "license": "MIT"
393
+ },
394
+ "node_modules/simple-get": {
395
+ "version": "4.0.1",
396
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
397
+ "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
398
+ "funding": [
399
+ {
400
+ "type": "github",
401
+ "url": "https://github.com/sponsors/feross"
402
+ },
403
+ {
404
+ "type": "patreon",
405
+ "url": "https://www.patreon.com/feross"
406
+ },
407
+ {
408
+ "type": "consulting",
409
+ "url": "https://feross.org/support"
410
+ }
411
+ ],
412
+ "license": "MIT",
413
+ "dependencies": {
414
+ "decompress-response": "^6.0.0",
415
+ "once": "^1.3.1",
416
+ "simple-concat": "^1.0.0"
417
+ }
418
+ },
419
+ "node_modules/wrappy": {
420
+ "version": "1.0.2",
421
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
422
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
423
+ "license": "ISC"
424
+ }
425
+ }
426
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "retold-example-todo-console-client",
3
+ "version": "1.0.0",
4
+ "description": "Retold Example: Todo List Console Client (blessed TUI)",
5
+ "main": "console-client.cjs",
6
+ "scripts":
7
+ {
8
+ "start": "node console-client.cjs"
9
+ },
10
+ "dependencies":
11
+ {
12
+ "blessed": "^0.1.81",
13
+ "fable": "^3.0.232",
14
+ "pict": "^1.0.343",
15
+ "pict-application": "^1.0.28",
16
+ "pict-view": "^1.0.64",
17
+ "pict-terminalui": "^0.0.1"
18
+ }
19
+ }
@@ -0,0 +1,43 @@
1
+ const libPictView = require('pict-view');
2
+
3
+ const _ViewConfiguration =
4
+ {
5
+ ViewIdentifier: 'TUI-Header',
6
+
7
+ DefaultRenderable: 'TUI-Header-Content',
8
+ DefaultDestinationAddress: '#TUI-Header',
9
+
10
+ AutoRender: false,
11
+
12
+ Templates:
13
+ [
14
+ {
15
+ Hash: 'TUI-Header-Template',
16
+ Template: [
17
+ '{center}{bold}Todo List Console Client{/bold}{/center}',
18
+ '{center}[Enter]View [E]dit [A]dd [D]elete [S]ort [/]Search [R]efresh [Q]uit{/center}'
19
+ ].join('\n')
20
+ }
21
+ ],
22
+
23
+ Renderables:
24
+ [
25
+ {
26
+ RenderableHash: 'TUI-Header-Content',
27
+ TemplateHash: 'TUI-Header-Template',
28
+ ContentDestinationAddress: '#TUI-Header',
29
+ RenderMethod: 'replace'
30
+ }
31
+ ]
32
+ };
33
+
34
+ class TUIHeaderView extends libPictView
35
+ {
36
+ constructor(pFable, pOptions, pServiceHash)
37
+ {
38
+ super(pFable, pOptions, pServiceHash);
39
+ }
40
+ }
41
+
42
+ module.exports = TUIHeaderView;
43
+ module.exports.default_configuration = _ViewConfiguration;
@@ -0,0 +1,58 @@
1
+ const libPictView = require('pict-view');
2
+
3
+ const _ViewConfiguration =
4
+ {
5
+ ViewIdentifier: 'TUI-Layout',
6
+
7
+ DefaultRenderable: 'TUI-Layout-Main',
8
+ DefaultDestinationAddress: '#TUI-Application-Container',
9
+
10
+ AutoRender: false,
11
+
12
+ Templates:
13
+ [
14
+ {
15
+ Hash: 'TUI-Layout-Template',
16
+ Template: '{~LV:Pict.PictApplication.renderLayoutWidgets()~}'
17
+ }
18
+ ],
19
+
20
+ Renderables:
21
+ [
22
+ {
23
+ RenderableHash: 'TUI-Layout-Main',
24
+ TemplateHash: 'TUI-Layout-Template',
25
+ ContentDestinationAddress: '#TUI-Application-Container',
26
+ RenderMethod: 'replace'
27
+ }
28
+ ]
29
+ };
30
+
31
+ class TUILayoutView extends libPictView
32
+ {
33
+ constructor(pFable, pOptions, pServiceHash)
34
+ {
35
+ super(pFable, pOptions, pServiceHash);
36
+ }
37
+
38
+ onAfterRender(pRenderable)
39
+ {
40
+ // After the layout renders, render the initial content views
41
+ if (this.pict.views['TUI-Header'])
42
+ {
43
+ this.pict.views['TUI-Header'].render();
44
+ }
45
+ if (this.pict.views['TUI-TaskList'])
46
+ {
47
+ this.pict.views['TUI-TaskList'].render();
48
+ }
49
+ if (this.pict.views['TUI-StatusBar'])
50
+ {
51
+ this.pict.views['TUI-StatusBar'].render();
52
+ }
53
+ return super.onAfterRender(pRenderable);
54
+ }
55
+ }
56
+
57
+ module.exports = TUILayoutView;
58
+ module.exports.default_configuration = _ViewConfiguration;
@@ -0,0 +1,41 @@
1
+ const libPictView = require('pict-view');
2
+
3
+ const _ViewConfiguration =
4
+ {
5
+ ViewIdentifier: 'TUI-StatusBar',
6
+
7
+ DefaultRenderable: 'TUI-StatusBar-Content',
8
+ DefaultDestinationAddress: '#TUI-StatusBar',
9
+ DefaultTemplateRecordAddress: 'AppData.TodoList',
10
+
11
+ AutoRender: false,
12
+
13
+ Templates:
14
+ [
15
+ {
16
+ Hash: 'TUI-StatusBar-Template',
17
+ Template: ' Tasks: {~D:Record.Tasks.length~} | {~D:Record.StatusMessage~} | Sort: {~D:Record.ListState.SortColumn~} {~D:Record.ListState.SortDirection~}'
18
+ }
19
+ ],
20
+
21
+ Renderables:
22
+ [
23
+ {
24
+ RenderableHash: 'TUI-StatusBar-Content',
25
+ TemplateHash: 'TUI-StatusBar-Template',
26
+ ContentDestinationAddress: '#TUI-StatusBar',
27
+ RenderMethod: 'replace'
28
+ }
29
+ ]
30
+ };
31
+
32
+ class TUIStatusBarView extends libPictView
33
+ {
34
+ constructor(pFable, pOptions, pServiceHash)
35
+ {
36
+ super(pFable, pOptions, pServiceHash);
37
+ }
38
+ }
39
+
40
+ module.exports = TUIStatusBarView;
41
+ module.exports.default_configuration = _ViewConfiguration;