aboutsummaryrefslogtreecommitdiffstats
path: root/cli.ts
diff options
context:
space:
mode:
authorLibravatarLarge Libravatar memdmp <memdmpestrogenzone>2025-07-06 06:25:16 +0200
committerLibravatarLarge Libravatar memdmp <memdmpestrogenzone>2025-07-06 06:25:16 +0200
commitd96467f63367c73f5f750e1c72de7ba1f05ef3ff (patch)
treefb9da935f0e6c23b730b79b1a1fc0551b4bcbd79 /cli.ts
downloaduic-parse-d96467f63367c73f5f750e1c72de7ba1f05ef3ff.tar.gz
uic-parse-d96467f63367c73f5f750e1c72de7ba1f05ef3ff.tar.bz2
uic-parse-d96467f63367c73f5f750e1c72de7ba1f05ef3ff.tar.lz
uic-parse-d96467f63367c73f5f750e1c72de7ba1f05ef3ff.zip

feat: initial commit

Diffstat (limited to 'cli.ts')
-rw-r--r--cli.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/cli.ts b/cli.ts
new file mode 100644
index 0000000..eec63d3
--- /dev/null
+++ b/cli.ts
@@ -0,0 +1,20 @@
+import { parseArgs } from "jsr:@std/cli/parse-args";
+import UICVehicle from './lib.ts'
+
+const flags = parseArgs(Deno.args, {
+ boolean: ["validate", "json", "text"],
+ default: {
+ validate: true,
+ json: false,
+ text: false
+ }
+});
+
+const uic = new UICVehicle(flags._[0] ?? prompt('\x1b[0;1;32minput: \x1b[0mProvide a UIC wagon number:'), {
+ allowMissmatchedReportingMarkCountry: !flags.validate,
+ allowUnknownReportingMarkCountry: !flags.validate,
+ allowUICCountryUnknown: !flags.validate,
+ fetchOperatorFromReportingMark: true,
+ validateCheckDigit: flags.validate
+})
+console.log(flags.json ? JSON.stringify(uic, null, 2) : flags.text ? uic.toString() : uic);