« get me outta code hell

use ESM module syntax & update tui-lib - mtui - Music Text User Interface - user-friendly command line music player
about summary refs log tree commit diff
path: root/metadata-readers.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-05-13 13:31:58 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-05-13 13:34:21 -0300
commit43f1a1dd1b44065663a797603012394c52a9baea (patch)
tree3df4c15a1249d68541a208827e20e436ca30295a /metadata-readers.js
parente8a55f10dd9749ad240b165e318db0a1d2f00a9a (diff)
use ESM module syntax & update tui-lib
Exciting update! This doesn't make any substantial changes
exactly but does update the most quickly-archaic parts of
older Node code.
Diffstat (limited to 'metadata-readers.js')
-rw-r--r--metadata-readers.js23
1 files changed, 13 insertions, 10 deletions
diff --git a/metadata-readers.js b/metadata-readers.js
index edcac72..d0f5f55 100644
--- a/metadata-readers.js
+++ b/metadata-readers.js
@@ -1,5 +1,6 @@
-const { promisifyProcess } = require('./general-util')
-const { spawn } = require('child_process')
+import {spawn} from 'node:child_process'
+
+import {promisifyProcess} from './general-util.js'
 
 // Some probers are sorta inconsistent; this function lets them try again if
 // they fail the first time.
@@ -21,8 +22,10 @@ const tryAgain = function(times, func) {
   }
 }
 
-const metadataReaders = {
-  ffprobe: tryAgain(6, async filePath => {
+const metadataReaders = {}
+
+metadataReaders.ffprobe =
+  tryAgain(6, async filePath => {
     const ffprobe = spawn('ffprobe', [
       '-print_format', 'json',
       '-show_entries', 'stream=codec_name:format',
@@ -60,11 +63,11 @@ const metadataReaders = {
       fileSize: parseInt(data.format.size),
       bitrate: parseInt(data.format.bit_rate)
     }
-  }),
+  })
 
-  getMetadataReaderFor: arg => {
-    return metadataReaders.ffprobe
-  }
-}
+export default metadataReaders
 
-module.exports = metadataReaders
+export function getMetadataReaderFor(_arg) {
+  // Only the one metadata reader implemented, so far!
+  return metadataReaders.ffprobe
+}