@neurodevs/node-tdd 0.2.5 → 1.0.1

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 (326) hide show
  1. package/.vscode/launch.json +52 -57
  2. package/.vscode/settings.json +61 -66
  3. package/.vscode/tasks.json +98 -129
  4. package/README.md +1 -0
  5. package/build/.spruce/settings.json +3 -10
  6. package/build/__tests__/MockFetch.d.ts +18 -0
  7. package/build/__tests__/MockFetch.js +55 -0
  8. package/build/__tests__/MockFetch.js.map +1 -0
  9. package/build/__tests__/{impl → behavioral}/AbstractModuleTest.test.d.ts +2 -3
  10. package/build/__tests__/{impl → behavioral}/AbstractModuleTest.test.js +3 -12
  11. package/build/__tests__/behavioral/AbstractModuleTest.test.js.map +1 -0
  12. package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.d.ts +5 -0
  13. package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.js +34 -0
  14. package/build/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.js.map +1 -0
  15. package/build/__tests__/behavioral/utilities/Assert.test.d.ts +45 -0
  16. package/build/__tests__/behavioral/utilities/Assert.test.js +645 -0
  17. package/build/__tests__/behavioral/utilities/Assert.test.js.map +1 -0
  18. package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.d.ts +4 -0
  19. package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.js +23 -0
  20. package/build/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.js.map +1 -0
  21. package/build/__tests__/behavioral/utilities/MockFetch.test.d.ts +28 -0
  22. package/build/__tests__/behavioral/utilities/MockFetch.test.js +211 -0
  23. package/build/__tests__/behavioral/utilities/MockFetch.test.js.map +1 -0
  24. package/build/__tests__/behavioral/utilities/StackCleaner.test.d.ts +4 -0
  25. package/build/__tests__/behavioral/utilities/StackCleaner.test.js +46 -0
  26. package/build/__tests__/behavioral/utilities/StackCleaner.test.js.map +1 -0
  27. package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.d.ts +7 -0
  28. package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.js +32 -0
  29. package/build/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.js.map +1 -0
  30. package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.d.ts +4 -0
  31. package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.js +19 -0
  32. package/build/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.js.map +1 -0
  33. package/build/__tests__/behavioral/utilities/Stringify.test.d.ts +5 -0
  34. package/build/__tests__/behavioral/utilities/Stringify.test.js +127 -0
  35. package/build/__tests__/behavioral/utilities/Stringify.test.js.map +1 -0
  36. package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.d.ts +7 -0
  37. package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.js +38 -0
  38. package/build/__tests__/behavioral/utilities/TestDecoratorResolver.test.js.map +1 -0
  39. package/build/__tests__/behavioral/utilities/TestOnBasic.test.d.ts +12 -0
  40. package/build/__tests__/behavioral/utilities/TestOnBasic.test.js +68 -0
  41. package/build/__tests__/behavioral/utilities/TestOnBasic.test.js.map +1 -0
  42. package/build/__tests__/behavioral/utilities/TestOnInstance.test.d.ts +28 -0
  43. package/build/__tests__/behavioral/utilities/TestOnInstance.test.js +289 -0
  44. package/build/__tests__/behavioral/utilities/TestOnInstance.test.js.map +1 -0
  45. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.d.ts +9 -0
  46. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.js +118 -0
  47. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.js.map +1 -0
  48. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.d.ts +5 -0
  49. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.js +78 -0
  50. package/build/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.js.map +1 -0
  51. package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.d.ts +4 -0
  52. package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.js +23 -0
  53. package/build/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.js.map +1 -0
  54. package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.d.ts +4 -0
  55. package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.js +24 -0
  56. package/build/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.js.map +1 -0
  57. package/build/__tests__/behavioral/utilities/TestResolver.test.d.ts +7 -0
  58. package/build/__tests__/behavioral/utilities/TestResolver.test.js +38 -0
  59. package/build/__tests__/behavioral/utilities/TestResolver.test.js.map +1 -0
  60. package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.d.ts +4 -0
  61. package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.js +20 -0
  62. package/build/__tests__/behavioral/utilities/TestResolverOnStatic.test.js.map +1 -0
  63. package/build/__tests__/behavioral/workspace/JestJsonParser.test.d.ts +18 -0
  64. package/build/__tests__/behavioral/workspace/JestJsonParser.test.js +267 -0
  65. package/build/__tests__/behavioral/workspace/JestJsonParser.test.js.map +1 -0
  66. package/build/__tests__/behavioral/workspace/TestReporter.test.d.ts +16 -0
  67. package/build/__tests__/behavioral/workspace/TestReporter.test.js +227 -0
  68. package/build/__tests__/behavioral/workspace/TestReporter.test.js.map +1 -0
  69. package/build/__tests__/behavioral/workspace/TestRunner.test.d.ts +15 -0
  70. package/build/__tests__/behavioral/workspace/TestRunner.test.js +99 -0
  71. package/build/__tests__/behavioral/workspace/TestRunner.test.js.map +1 -0
  72. package/build/__tests__/behavioral/workspace/Widgets.test.d.ts +13 -0
  73. package/build/__tests__/behavioral/workspace/Widgets.test.js +99 -0
  74. package/build/__tests__/behavioral/workspace/Widgets.test.js.map +1 -0
  75. package/build/__tests__/mock-terminal-kit.d.ts +79 -0
  76. package/build/__tests__/mock-terminal-kit.js +103 -0
  77. package/build/__tests__/mock-terminal-kit.js.map +1 -0
  78. package/build/__tests__/support/AbstractForInstanceTest.d.ts +4 -0
  79. package/build/__tests__/support/AbstractForInstanceTest.js +9 -0
  80. package/build/__tests__/support/AbstractForInstanceTest.js.map +1 -0
  81. package/build/__tests__/support/AbstractLevelOneTest.d.ts +3 -0
  82. package/build/__tests__/support/AbstractLevelOneTest.js +4 -0
  83. package/build/__tests__/support/AbstractLevelOneTest.js.map +1 -0
  84. package/build/__tests__/support/AbstractLevelTwoTest.d.ts +7 -0
  85. package/build/__tests__/support/AbstractLevelTwoTest.js +14 -0
  86. package/build/__tests__/support/AbstractLevelTwoTest.js.map +1 -0
  87. package/build/__tests__/support/AbstractStaticTest.d.ts +7 -0
  88. package/build/__tests__/support/AbstractStaticTest.js +14 -0
  89. package/build/__tests__/support/AbstractStaticTest.js.map +1 -0
  90. package/build/__tests__/support/AbstractTestOnInstanceTest.d.ts +22 -0
  91. package/build/__tests__/support/AbstractTestOnInstanceTest.js +23 -0
  92. package/build/__tests__/support/AbstractTestOnInstanceTest.js.map +1 -0
  93. package/build/__tests__/support/AbstractTestOnInstanceWithHooks.d.ts +26 -0
  94. package/build/__tests__/support/AbstractTestOnInstanceWithHooks.js +59 -0
  95. package/build/__tests__/support/AbstractTestOnInstanceWithHooks.js.map +1 -0
  96. package/build/__tests__/support/jest.setup.d.ts +1 -0
  97. package/build/__tests__/support/jest.setup.js +4 -0
  98. package/build/__tests__/support/jest.setup.js.map +1 -0
  99. package/build/__tests__/support/onTestFileResult.d.ts +244 -0
  100. package/build/__tests__/support/onTestFileResult.js +980 -0
  101. package/build/__tests__/support/onTestFileResult.js.map +1 -0
  102. package/build/impl/AbstractModuleTest.d.ts +18 -4
  103. package/build/impl/AbstractModuleTest.js +47 -9
  104. package/build/impl/AbstractModuleTest.js.map +1 -1
  105. package/build/index.d.ts +4 -4
  106. package/build/index.js +4 -4
  107. package/build/index.js.map +1 -1
  108. package/build/utilities/AssertionError.d.ts +3 -0
  109. package/build/utilities/AssertionError.js +12 -0
  110. package/build/utilities/AssertionError.js.map +1 -0
  111. package/build/utilities/StackCleaner.d.ts +4 -0
  112. package/build/utilities/StackCleaner.js +10 -0
  113. package/build/utilities/StackCleaner.js.map +1 -0
  114. package/build/utilities/TestDecoratorResolver.d.ts +35 -0
  115. package/build/utilities/TestDecoratorResolver.js +93 -0
  116. package/build/utilities/TestDecoratorResolver.js.map +1 -0
  117. package/build/utilities/assert.d.ts +49 -0
  118. package/build/utilities/assert.js +255 -0
  119. package/build/utilities/assert.js.map +1 -0
  120. package/build/utilities/assert.utility.d.ts +28 -0
  121. package/build/utilities/assert.utility.js +185 -0
  122. package/build/utilities/assert.utility.js.map +1 -0
  123. package/build/utilities/decorators.d.ts +9 -0
  124. package/build/utilities/decorators.js +133 -0
  125. package/build/utilities/decorators.js.map +1 -0
  126. package/build/workspace/CommandService.d.ts +49 -0
  127. package/build/workspace/CommandService.js +179 -0
  128. package/build/workspace/CommandService.js.map +1 -0
  129. package/build/workspace/JestJsonParser.d.ts +15 -0
  130. package/build/workspace/JestJsonParser.js +149 -0
  131. package/build/workspace/JestJsonParser.js.map +1 -0
  132. package/build/workspace/TKButtonWidget.d.ts +13 -0
  133. package/build/workspace/TKButtonWidget.js +37 -0
  134. package/build/workspace/TKButtonWidget.js.map +1 -0
  135. package/build/workspace/TestLogItemGenerator.d.ts +15 -0
  136. package/build/workspace/TestLogItemGenerator.js +142 -0
  137. package/build/workspace/TestLogItemGenerator.js.map +1 -0
  138. package/build/workspace/TestReporter.d.ts +103 -0
  139. package/build/workspace/TestReporter.js +677 -0
  140. package/build/workspace/TestReporter.js.map +1 -0
  141. package/build/workspace/TestRunner.d.ts +24 -0
  142. package/build/workspace/TestRunner.js +95 -0
  143. package/build/workspace/TestRunner.js.map +1 -0
  144. package/build/workspace/TkBaseWidget.d.ts +37 -0
  145. package/build/workspace/TkBaseWidget.js +185 -0
  146. package/build/workspace/TkBaseWidget.js.map +1 -0
  147. package/build/workspace/TkInputWidget.d.ts +16 -0
  148. package/build/workspace/TkInputWidget.js +64 -0
  149. package/build/workspace/TkInputWidget.js.map +1 -0
  150. package/build/workspace/TkLayoutCellWidget.d.ts +18 -0
  151. package/build/workspace/TkLayoutCellWidget.js +32 -0
  152. package/build/workspace/TkLayoutCellWidget.js.map +1 -0
  153. package/build/workspace/TkLayoutWidget.d.ts +34 -0
  154. package/build/workspace/TkLayoutWidget.js +130 -0
  155. package/build/workspace/TkLayoutWidget.js.map +1 -0
  156. package/build/workspace/TkMenuBarWidget.d.ts +13 -0
  157. package/build/workspace/TkMenuBarWidget.js +71 -0
  158. package/build/workspace/TkMenuBarWidget.js.map +1 -0
  159. package/build/workspace/TkPopupWidget.d.ts +16 -0
  160. package/build/workspace/TkPopupWidget.js +36 -0
  161. package/build/workspace/TkPopupWidget.js.map +1 -0
  162. package/build/workspace/TkProgressBarWidget.d.ts +10 -0
  163. package/build/workspace/TkProgressBarWidget.js +39 -0
  164. package/build/workspace/TkProgressBarWidget.js.map +1 -0
  165. package/build/workspace/TkTextWidget.d.ts +20 -0
  166. package/build/workspace/TkTextWidget.js +115 -0
  167. package/build/workspace/TkTextWidget.js.map +1 -0
  168. package/build/workspace/TkWindowWidget.d.ts +22 -0
  169. package/build/workspace/TkWindowWidget.js +88 -0
  170. package/build/workspace/TkWindowWidget.js.map +1 -0
  171. package/build/workspace/WidgetFactory.d.ts +6 -0
  172. package/build/workspace/WidgetFactory.js +21 -0
  173. package/build/workspace/WidgetFactory.js.map +1 -0
  174. package/build/workspace/button.types.d.ts +15 -0
  175. package/build/workspace/button.types.js +6 -0
  176. package/build/workspace/button.types.js.map +1 -0
  177. package/build/workspace/duration.utility.d.ts +4 -0
  178. package/build/workspace/duration.utility.js +26 -0
  179. package/build/workspace/duration.utility.js.map +1 -0
  180. package/build/workspace/factory.types.d.ts +89 -0
  181. package/build/workspace/factory.types.js +37 -0
  182. package/build/workspace/factory.types.js.map +1 -0
  183. package/build/workspace/input.types.d.ts +18 -0
  184. package/build/workspace/input.types.js +7 -0
  185. package/build/workspace/input.types.js.map +1 -0
  186. package/build/workspace/keySelectChoices.d.ts +517 -0
  187. package/build/workspace/keySelectChoices.js +2 -0
  188. package/build/workspace/keySelectChoices.js.map +1 -0
  189. package/build/workspace/layout.types.d.ts +33 -0
  190. package/build/workspace/layout.types.js +2 -0
  191. package/build/workspace/layout.types.js.map +1 -0
  192. package/build/workspace/menuBar.types.d.ts +19 -0
  193. package/build/workspace/menuBar.types.js +6 -0
  194. package/build/workspace/menuBar.types.js.map +1 -0
  195. package/build/workspace/popup.types.d.ts +13 -0
  196. package/build/workspace/popup.types.js +6 -0
  197. package/build/workspace/popup.types.js.map +1 -0
  198. package/build/workspace/progressBar.types.d.ts +10 -0
  199. package/build/workspace/progressBar.types.js +2 -0
  200. package/build/workspace/progressBar.types.js.map +1 -0
  201. package/build/workspace/table.types.d.ts +6 -0
  202. package/build/workspace/table.types.js +2 -0
  203. package/build/workspace/table.types.js.map +1 -0
  204. package/build/workspace/termKit.utility.d.ts +12 -0
  205. package/build/workspace/termKit.utility.js +128 -0
  206. package/build/workspace/termKit.utility.js.map +1 -0
  207. package/build/workspace/test.types.d.ts +24 -0
  208. package/build/workspace/test.types.js +2 -0
  209. package/build/workspace/test.types.js.map +1 -0
  210. package/build/workspace/testRunner.cli.d.ts +1 -0
  211. package/build/workspace/testRunner.cli.js +149 -0
  212. package/build/workspace/testRunner.cli.js.map +1 -0
  213. package/build/workspace/text.types.d.ts +20 -0
  214. package/build/workspace/text.types.js +7 -0
  215. package/build/workspace/text.types.js.map +1 -0
  216. package/build/workspace/widget.utilities.d.ts +5 -0
  217. package/build/workspace/widget.utilities.js +20 -0
  218. package/build/workspace/widget.utilities.js.map +1 -0
  219. package/build/workspace/widgets.types.d.ts +66 -0
  220. package/build/workspace/widgets.types.js +2 -0
  221. package/build/workspace/widgets.types.js.map +1 -0
  222. package/build/workspace/window.types.d.ts +18 -0
  223. package/build/workspace/window.types.js +9 -0
  224. package/build/workspace/window.types.js.map +1 -0
  225. package/eslint.config.js +3 -0
  226. package/package.json +31 -37
  227. package/prettier.config.js +3 -0
  228. package/src/.spruce/settings.json +3 -10
  229. package/src/__tests__/MockFetch.ts +100 -0
  230. package/src/__tests__/behavioral/AbstractModuleTest.test.ts +15 -0
  231. package/src/__tests__/behavioral/utilities/AllHooksCalledEvenIfNotDefined.test.ts +31 -0
  232. package/src/__tests__/behavioral/utilities/Assert.test.ts +826 -0
  233. package/src/__tests__/behavioral/utilities/InstanceParentTestCanAccessParentMethods.test.ts +14 -0
  234. package/src/__tests__/behavioral/utilities/MockFetch.test.ts +240 -0
  235. package/src/__tests__/behavioral/utilities/StackCleaner.test.ts +46 -0
  236. package/src/__tests__/behavioral/utilities/StaticParentTestCanAccessParentMethods.test.ts +34 -0
  237. package/src/__tests__/behavioral/utilities/StaticTestInheritsAbstractSpruceTestProperly.test.ts +11 -0
  238. package/src/__tests__/behavioral/utilities/Stringify.test.ts +169 -0
  239. package/src/__tests__/behavioral/utilities/TestDecoratorResolver.test.ts +51 -0
  240. package/src/__tests__/behavioral/utilities/TestOnBasic.test.ts +62 -0
  241. package/src/__tests__/behavioral/utilities/TestOnInstance.test.ts +439 -0
  242. package/src/__tests__/behavioral/utilities/TestOnInstanceExtendsTest.test.ts +237 -0
  243. package/src/__tests__/behavioral/utilities/TestOnInstanceExtendsTestWithHooks.test.ts +85 -0
  244. package/src/__tests__/behavioral/utilities/TestOnInstanceWithParentBeforeAll.test.ts +14 -0
  245. package/src/__tests__/behavioral/utilities/TestOnInstanceWithTwoLevelsOfInheritence.test.ts +16 -0
  246. package/src/__tests__/behavioral/utilities/TestResolver.test.ts +48 -0
  247. package/src/__tests__/behavioral/utilities/TestResolverOnStatic.test.ts +12 -0
  248. package/src/__tests__/behavioral/workspace/JestJsonParser.test.ts +357 -0
  249. package/src/__tests__/behavioral/workspace/TestReporter.test.ts +257 -0
  250. package/src/__tests__/behavioral/workspace/TestRunner.test.ts +87 -0
  251. package/src/__tests__/behavioral/workspace/Widgets.test.ts +90 -0
  252. package/src/__tests__/mock-terminal-kit.ts +115 -0
  253. package/src/__tests__/support/AbstractForInstanceTest.ts +12 -0
  254. package/src/__tests__/support/AbstractLevelOneTest.ts +3 -0
  255. package/src/__tests__/support/AbstractLevelTwoTest.ts +16 -0
  256. package/src/__tests__/support/AbstractStaticTest.ts +16 -0
  257. package/src/__tests__/support/AbstractTestOnInstanceTest.ts +30 -0
  258. package/src/__tests__/support/AbstractTestOnInstanceWithHooks.ts +138 -0
  259. package/src/__tests__/support/jest.setup.ts +2 -0
  260. package/src/__tests__/support/onTestFileResult.ts +1008 -0
  261. package/src/impl/AbstractModuleTest.ts +59 -10
  262. package/src/index.ts +4 -4
  263. package/src/utilities/AssertionError.ts +14 -0
  264. package/src/utilities/StackCleaner.ts +14 -0
  265. package/src/utilities/TestDecoratorResolver.ts +118 -0
  266. package/src/utilities/assert.ts +583 -0
  267. package/src/utilities/assert.utility.ts +295 -0
  268. package/src/utilities/decorators.ts +167 -0
  269. package/src/workspace/CommandService.ts +256 -0
  270. package/src/workspace/JestJsonParser.ts +255 -0
  271. package/src/workspace/TKButtonWidget.ts +54 -0
  272. package/src/workspace/TestLogItemGenerator.ts +184 -0
  273. package/src/workspace/TestReporter.ts +865 -0
  274. package/src/workspace/TestRunner.ts +128 -0
  275. package/src/workspace/TkBaseWidget.ts +249 -0
  276. package/src/workspace/TkInputWidget.ts +83 -0
  277. package/src/workspace/TkLayoutCellWidget.ts +46 -0
  278. package/src/workspace/TkLayoutWidget.ts +181 -0
  279. package/src/workspace/TkMenuBarWidget.ts +95 -0
  280. package/src/workspace/TkPopupWidget.ts +47 -0
  281. package/src/workspace/TkProgressBarWidget.ts +54 -0
  282. package/src/workspace/TkTextWidget.ts +158 -0
  283. package/src/workspace/TkWindowWidget.ts +122 -0
  284. package/src/workspace/WidgetFactory.ts +33 -0
  285. package/src/workspace/button.types.ts +19 -0
  286. package/src/workspace/duration.utility.ts +34 -0
  287. package/src/workspace/factory.types.ts +101 -0
  288. package/src/workspace/input.types.ts +22 -0
  289. package/src/workspace/keySelectChoices.ts +134 -0
  290. package/src/workspace/layout.types.ts +40 -0
  291. package/src/workspace/menuBar.types.ts +24 -0
  292. package/src/workspace/popup.types.ts +17 -0
  293. package/src/workspace/progressBar.types.ts +13 -0
  294. package/src/workspace/table.types.ts +9 -0
  295. package/src/workspace/termKit.utility.ts +130 -0
  296. package/src/workspace/terminal-kit.d.ts +28 -0
  297. package/src/workspace/test.types.ts +34 -0
  298. package/src/workspace/testRunner.cli.ts +159 -0
  299. package/src/workspace/text.types.ts +26 -0
  300. package/src/workspace/widget.utilities.ts +35 -0
  301. package/src/workspace/widgets.types.ts +102 -0
  302. package/src/workspace/window.types.ts +22 -0
  303. package/tsconfig.json +23 -27
  304. package/build/__tests__/AbstractPackageTest.d.ts +0 -4
  305. package/build/__tests__/AbstractPackageTest.js +0 -7
  306. package/build/__tests__/AbstractPackageTest.js.map +0 -1
  307. package/build/__tests__/functions/assertFunction.test.d.ts +0 -5
  308. package/build/__tests__/functions/assertFunction.test.js +0 -23
  309. package/build/__tests__/functions/assertFunction.test.js.map +0 -1
  310. package/build/__tests__/functions/testFunction.test.d.ts +0 -5
  311. package/build/__tests__/functions/testFunction.test.js +0 -23
  312. package/build/__tests__/functions/testFunction.test.js.map +0 -1
  313. package/build/__tests__/impl/AbstractModuleTest.test.js.map +0 -1
  314. package/build/functions/assert.d.ts +0 -3
  315. package/build/functions/assert.js +0 -4
  316. package/build/functions/assert.js.map +0 -1
  317. package/build/functions/test.d.ts +0 -3
  318. package/build/functions/test.js +0 -4
  319. package/build/functions/test.js.map +0 -1
  320. package/eslint.config.mjs +0 -3
  321. package/src/__tests__/AbstractPackageTest.ts +0 -7
  322. package/src/__tests__/functions/assertFunction.test.ts +0 -22
  323. package/src/__tests__/functions/testFunction.test.ts +0 -22
  324. package/src/__tests__/impl/AbstractModuleTest.test.ts +0 -34
  325. package/src/functions/assert.ts +0 -4
  326. package/src/functions/test.ts +0 -4
@@ -0,0 +1,102 @@
1
+ import { EventEmitter } from 'events'
2
+
3
+ export interface EventSignatureMap {
4
+ [eventName: string]: {
5
+ emitPayloadSchema?: any
6
+ }
7
+ }
8
+
9
+ export interface EventContract {
10
+ eventSignatures: EventSignatureMap
11
+ }
12
+
13
+ export type MercuryEventEmitter<Contract extends EventContract = any> =
14
+ EventEmitter & {
15
+ emit(
16
+ eventName: keyof Contract['eventSignatures'] & string,
17
+ payload?: any
18
+ ): any
19
+ on(
20
+ eventName: keyof Contract['eventSignatures'] & string,
21
+ listener: (payload?: any) => void | Promise<void>
22
+ ): any
23
+ }
24
+
25
+ export interface WidgetPadding {
26
+ top?: number
27
+ left?: number
28
+ bottom?: number
29
+ right?: number
30
+ }
31
+
32
+ export interface WidgetButton {
33
+ label: string
34
+ onClick?: (cb: () => void) => void
35
+ }
36
+
37
+ export interface BaseWidget<
38
+ Contract extends EventContract = any,
39
+ > extends MercuryEventEmitter<Contract> {
40
+ type: string
41
+ getId(): string | null
42
+ getFrame(): WidgetFrameCalculated
43
+ setFrame(frame: Partial<WidgetFrame>): void
44
+ getParent(): BaseWidget | null
45
+ destroy(): Promise<void>
46
+ getChildById(id?: string): BaseWidget | null
47
+ getChildren(): BaseWidget[]
48
+ addChild(child: BaseWidget): void
49
+ removeChild(child: BaseWidget): void
50
+ }
51
+
52
+ export type Color =
53
+ | 'black'
54
+ | 'red'
55
+ | 'green'
56
+ | 'yellow'
57
+ | 'blue'
58
+ | 'magenta'
59
+ | 'cyan'
60
+ | 'white'
61
+ | 'gray'
62
+ | 'brightRed'
63
+ | 'brightGreen'
64
+ | 'brightYellow'
65
+ | 'brightBlue'
66
+ | 'brightMagenta'
67
+ | 'brightCyan'
68
+ | 'brightWhite'
69
+
70
+ export interface UniversalWidgetOptions {
71
+ id?: string
72
+ width?: WidgetFrameAttribute
73
+ height?: WidgetFrameAttribute
74
+ left?: WidgetFrameAttribute
75
+ top?: WidgetFrameAttribute
76
+ parent?: BaseWidget
77
+ padding?: WidgetPadding
78
+ shouldLockWidthWithParent?: boolean
79
+ shouldLockHeightWithParent?: boolean
80
+ shouldLockRightWithParent?: boolean
81
+ shouldLockBottomWithParent?: boolean
82
+ eventContract?: EventContract
83
+ backgroundColor?: Color
84
+ foregroundColor?: Color
85
+ focusable?: boolean
86
+ }
87
+
88
+ export interface WidgetFrame {
89
+ left: WidgetFrameAttribute
90
+ top: WidgetFrameAttribute
91
+ width: WidgetFrameAttribute
92
+ height: WidgetFrameAttribute
93
+ }
94
+
95
+ export interface WidgetFrameCalculated {
96
+ left: number
97
+ top: number
98
+ width: number
99
+ height: number
100
+ }
101
+
102
+ export type WidgetFrameAttribute = number | string
@@ -0,0 +1,22 @@
1
+ import { BaseWidget } from './widgets.types.js'
2
+
3
+ // ** Window Widget ** //
4
+ export const windowEventContract = {
5
+ eventSignatures: {
6
+ key: {},
7
+ kill: {},
8
+ resize: {},
9
+ },
10
+ }
11
+
12
+ export type WindowEventContract = typeof windowEventContract
13
+
14
+ export interface WindowWidgetOptions {}
15
+
16
+ export interface WindowWidget extends BaseWidget<WindowEventContract> {
17
+ readonly type: 'window'
18
+ hideCursor: () => void
19
+ showCursor: () => void
20
+ setTitle: (title: string) => void
21
+ getFocusedWidget(): BaseWidget | null
22
+ }
package/tsconfig.json CHANGED
@@ -1,28 +1,24 @@
1
1
  {
2
- "compilerOptions": {
3
- "module": "nodenext",
4
- "moduleResolution": "nodenext",
5
- "target": "ES2022",
6
- "lib": ["ES2022"],
7
- "types": ["node"],
8
- "baseUrl": "src",
9
- "outDir": "build",
10
- "sourceMap": false,
11
- "strict": true,
12
- "noImplicitAny": true,
13
- "noImplicitReturns": true,
14
- "noUnusedLocals": true,
15
- "forceConsistentCasingInFileNames": true,
16
- "declaration": true,
17
- "skipLibCheck": true,
18
- "esModuleInterop": true,
19
- "moduleDetection": "force",
20
- "allowJs": true,
21
- "resolveJsonModule": true,
22
- "experimentalDecorators": true
23
- },
24
- "include": [
25
- "./src/*.ts",
26
- "./src/**/*.ts"
27
- ]
28
- }
2
+ "compilerOptions": {
3
+ "module": "nodenext",
4
+ "target": "esnext",
5
+ "lib": ["esnext"],
6
+ "types": ["node", "jest"],
7
+ "rootDir": "src",
8
+ "outDir": "build",
9
+ "sourceMap": false,
10
+ "strict": true,
11
+ "noImplicitAny": true,
12
+ "noImplicitReturns": true,
13
+ "noUnusedLocals": true,
14
+ "forceConsistentCasingInFileNames": true,
15
+ "declaration": true,
16
+ "skipLibCheck": true,
17
+ "esModuleInterop": true,
18
+ "moduleDetection": "force",
19
+ "allowJs": true,
20
+ "resolveJsonModule": true,
21
+ "experimentalDecorators": true
22
+ },
23
+ "include": ["./src/*.ts", "./src/**/*.ts"]
24
+ }
@@ -1,4 +0,0 @@
1
- import AbstractModuleTest from '../impl/AbstractModuleTest.js';
2
- export default abstract class AbstractPackageTest extends AbstractModuleTest {
3
- protected static beforeEach(): Promise<void>;
4
- }
@@ -1,7 +0,0 @@
1
- import AbstractModuleTest from '../impl/AbstractModuleTest.js';
2
- export default class AbstractPackageTest extends AbstractModuleTest {
3
- static async beforeEach() {
4
- await super.beforeEach();
5
- }
6
- }
7
- //# sourceMappingURL=AbstractPackageTest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractPackageTest.js","sourceRoot":"","sources":["../../src/__tests__/AbstractPackageTest.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,+BAA+B,CAAA;AAE9D,MAAM,CAAC,OAAO,OAAgB,mBAAoB,SAAQ,kBAAkB;IAC9D,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;CACJ"}
@@ -1,5 +0,0 @@
1
- import AbstractPackageTest from '../AbstractPackageTest.js';
2
- export default class AssertFunctionTest extends AbstractPackageTest {
3
- protected static beforeEach(): Promise<void>;
4
- protected static returnsAssertObjectFromSpruceTestUtils(): Promise<void>;
5
- }
@@ -1,23 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { createRequire } from 'module';
8
- const require = createRequire(import.meta.url);
9
- import assert from '../../functions/assert.js';
10
- import AbstractPackageTest from '../AbstractPackageTest.js';
11
- const { test, assert: spruceAssert } = require('@sprucelabs/test-utils');
12
- export default class AssertFunctionTest extends AbstractPackageTest {
13
- static async beforeEach() {
14
- await super.beforeEach();
15
- }
16
- static async returnsAssertObjectFromSpruceTestUtils() {
17
- spruceAssert.isEqualDeep(assert, spruceAssert, 'Did not return expected assert object!');
18
- }
19
- }
20
- __decorate([
21
- test()
22
- ], AssertFunctionTest, "returnsAssertObjectFromSpruceTestUtils", null);
23
- //# sourceMappingURL=assertFunction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertFunction.test.js","sourceRoot":"","sources":["../../../src/__tests__/functions/assertFunction.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,OAAO,MAAM,MAAM,2BAA2B,CAAA;AAC9C,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAE3D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAExE,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,mBAAmB;IACrD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sCAAsC;QACzD,YAAY,CAAC,WAAW,CACpB,MAAM,EACN,YAAY,EACZ,wCAAwC,CAC3C,CAAA;IACL,CAAC;CACJ;AAP0B;IADtB,IAAI,EAAE;sEAON"}
@@ -1,5 +0,0 @@
1
- import AbstractPackageTest from '../AbstractPackageTest.js';
2
- export default class TestFunctionTest extends AbstractPackageTest {
3
- protected static beforeEach(): Promise<void>;
4
- protected static returnsTestObjectFromSpruceTestUtils(): Promise<void>;
5
- }
@@ -1,23 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { createRequire } from 'module';
8
- const require = createRequire(import.meta.url);
9
- import test from '../../functions/test.js';
10
- import AbstractPackageTest from '../AbstractPackageTest.js';
11
- const { test: spruceTest, assert } = require('@sprucelabs/test-utils');
12
- export default class TestFunctionTest extends AbstractPackageTest {
13
- static async beforeEach() {
14
- await super.beforeEach();
15
- }
16
- static async returnsTestObjectFromSpruceTestUtils() {
17
- assert.isEqualDeep(test, spruceTest, 'Did not return expected test object!');
18
- }
19
- }
20
- __decorate([
21
- test()
22
- ], TestFunctionTest, "returnsTestObjectFromSpruceTestUtils", null);
23
- //# sourceMappingURL=testFunction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testFunction.test.js","sourceRoot":"","sources":["../../../src/__tests__/functions/testFunction.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,OAAO,IAAI,MAAM,yBAAyB,CAAA;AAC1C,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAE3D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAEtE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,mBAAmB;IACnD,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,CAAC,WAAW,CACd,IAAI,EACJ,UAAU,EACV,sCAAsC,CACzC,CAAA;IACL,CAAC;CACJ;AAP0B;IADtB,IAAI,EAAE;kEAON"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractModuleTest.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/AbstractModuleTest.test.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,OAAO,kBAAkB,MAAM,kCAAkC,CAAA;AACjE,OAAO,mBAAmB,MAAM,2BAA2B,CAAA;AAE3D,MAAM,EACF,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EACJ,MAAM,GACT,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAErC,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,mBAAmB;IAC9D,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,MAAM,CAAC,YAAY,CACf,IAAI,kBAAkB,EAAE,EACxB,kBAAkB,EAClB,oCAAoC,CACvC,CAAA;IACL,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,kCAAkC;QACrD,aAAa;QACb,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,CAAA;QAEhD,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAA;IACjE,CAAC;CACJ;AAf0B;IADtB,IAAI,EAAE;kEAON;AAGsB;IADtB,IAAI,EAAE;2EAMN"}
@@ -1,3 +0,0 @@
1
- import testUtils from '@sprucelabs/test-utils';
2
- declare const assert: testUtils.ISpruceAssert;
3
- export default assert;
@@ -1,4 +0,0 @@
1
- import testUtils from '@sprucelabs/test-utils';
2
- const { assert } = testUtils;
3
- export default assert;
4
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/functions/assert.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;AAE5B,eAAe,MAAM,CAAA"}
@@ -1,3 +0,0 @@
1
- import testUtils from '@sprucelabs/test-utils';
2
- declare const test: typeof testUtils.test;
3
- export default test;
@@ -1,4 +0,0 @@
1
- import testUtils from '@sprucelabs/test-utils';
2
- const { test } = testUtils;
3
- export default test;
4
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/functions/test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;AAE1B,eAAe,IAAI,CAAA"}
package/eslint.config.mjs DELETED
@@ -1,3 +0,0 @@
1
- import eslintConfigSpruce from 'eslint-config-spruce'
2
-
3
- export default eslintConfigSpruce
@@ -1,7 +0,0 @@
1
- import AbstractModuleTest from '../impl/AbstractModuleTest.js'
2
-
3
- export default abstract class AbstractPackageTest extends AbstractModuleTest {
4
- protected static async beforeEach() {
5
- await super.beforeEach()
6
- }
7
- }
@@ -1,22 +0,0 @@
1
- import { createRequire } from 'module'
2
- const require = createRequire(import.meta.url)
3
-
4
- import assert from '../../functions/assert.js'
5
- import AbstractPackageTest from '../AbstractPackageTest.js'
6
-
7
- const { test, assert: spruceAssert } = require('@sprucelabs/test-utils')
8
-
9
- export default class AssertFunctionTest extends AbstractPackageTest {
10
- protected static async beforeEach() {
11
- await super.beforeEach()
12
- }
13
-
14
- @test()
15
- protected static async returnsAssertObjectFromSpruceTestUtils() {
16
- spruceAssert.isEqualDeep(
17
- assert,
18
- spruceAssert,
19
- 'Did not return expected assert object!'
20
- )
21
- }
22
- }
@@ -1,22 +0,0 @@
1
- import { createRequire } from 'module'
2
- const require = createRequire(import.meta.url)
3
-
4
- import test from '../../functions/test.js'
5
- import AbstractPackageTest from '../AbstractPackageTest.js'
6
-
7
- const { test: spruceTest, assert } = require('@sprucelabs/test-utils')
8
-
9
- export default class TestFunctionTest extends AbstractPackageTest {
10
- protected static async beforeEach() {
11
- await super.beforeEach()
12
- }
13
-
14
- @test()
15
- protected static async returnsTestObjectFromSpruceTestUtils() {
16
- assert.isEqualDeep(
17
- test,
18
- spruceTest,
19
- 'Did not return expected test object!'
20
- )
21
- }
22
- }
@@ -1,34 +0,0 @@
1
- import { createRequire } from 'module'
2
- const require = createRequire(import.meta.url)
3
-
4
- import AbstractModuleTest from '../../impl/AbstractModuleTest.js'
5
- import AbstractPackageTest from '../AbstractPackageTest.js'
6
-
7
- const {
8
- default: AbstractSpruceTest,
9
- test,
10
- assert,
11
- } = require('@sprucelabs/test-utils')
12
-
13
- export default class AbstractModuleTestClassTest extends AbstractPackageTest {
14
- protected static async beforeEach() {
15
- await super.beforeEach()
16
- }
17
-
18
- @test()
19
- protected static async extendsAbstractSpruceTest() {
20
- assert.isInstanceOf(
21
- new AbstractModuleTest(),
22
- AbstractSpruceTest,
23
- 'Did not extend AbstractSpruceTest!'
24
- )
25
- }
26
-
27
- @test()
28
- protected static async hasProtectedStaticGenerateIdMethod() {
29
- // @ts-ignore
30
- const randomId = AbstractModuleTest.generateId()
31
-
32
- assert.isTruthy(randomId, 'generateId did not return an id!')
33
- }
34
- }
@@ -1,4 +0,0 @@
1
- import testUtils from '@sprucelabs/test-utils'
2
- const { assert } = testUtils
3
-
4
- export default assert
@@ -1,4 +0,0 @@
1
- import testUtils from '@sprucelabs/test-utils'
2
- const { test } = testUtils
3
-
4
- export default test