« get me outta code hell

use ESM module syntax & minor cleanups - tui-lib - Pure Node.js library for making visual command-line programs (ala vim, ncdu)
about summary refs log tree commit diff
path: root/index.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-05-12 17:42:09 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-05-13 12:48:36 -0300
commit6ea74c268a12325296a1d2e7fc31b02030ddb8bc (patch)
tree5da94d93acb64e7ab650d240d6cb23c659ad02ca /index.js
parente783bcf8522fa68e6b221afd18469c3c265b1bb7 (diff)
use ESM module syntax & minor cleanups
The biggest change here is moving various element classes under
more scope-specific directories, which helps to avoid circular
dependencies and is just cleaner to navigate and expand in the
future.

Otherwise this is a largely uncritical port to ESM module syntax!
There are probably a number of changes and other cleanups that
remain much needed.

Whenever I make changes to tui-lib it's hard to believe it's
already been <INSERT COUNTING NUMBER HERE> years since the
previous time. First commits are from January 2017, and the
code originates a month earlier in KAaRMNoD!
Diffstat (limited to 'index.js')
-rw-r--r--index.js43
1 files changed, 7 insertions, 36 deletions
diff --git a/index.js b/index.js
index de4c680..fc54bfd 100644
--- a/index.js
+++ b/index.js
@@ -1,36 +1,7 @@
-module.exports = {
-  ui: {
-    Dialog: require('./ui/Dialog'),
-    DisplayElement: require('./ui/DisplayElement'),
-    HorizontalBox: require('./ui/HorizontalBox'),
-    Label: require('./ui/Label'),
-    Pane: require('./ui/Pane'),
-    Root: require('./ui/Root'),
-    Sprite: require('./ui/Sprite'),
-    WrapLabel: require('./ui/WrapLabel'),
-    form: {
-      Button: require('./ui/form/Button'),
-      CancelDialog: require('./ui/form/CancelDialog'),
-      ConfirmDialog: require('./ui/form/ConfirmDialog'),
-      FocusBox: require('./ui/form/FocusBox'),
-      FocusElement: require('./ui/form/FocusElement'),
-      Form: require('./ui/form/Form'),
-      ListScrollForm: require('./ui/form/ListScrollForm'),
-      TextInput: require('./ui/form/TextInput')
-    }
-  },
-  util: {
-    tuiApp: require('./util/tui-app'),
-    ansi: require('./util/ansi'),
-    CommandLineInterfacer: require('./util/CommandLineInterfacer'),
-    count: require('./util/count'),
-    exception: require('./util/exception'),
-    Flushable: require('./util/Flushable'),
-    smoothen: require('./util/smoothen'),
-    telchars: require('./util/telchars'),
-    TelnetInterfacer: require('./util/TelnetInterfacer'),
-    unichars: require('./util/unichars'),
-    waitForData: require('./util/waitForData'),
-    wrap: require('./util/wrap')
-  }
-}
+export * as ui from './ui/index.js'
+export * as util from './util/index.js'
+
+import * as ui from './ui/index.js'
+import * as util from './util/index.js'
+
+export default {ui, util}