remove manual main definitions

This commit is contained in:
2021-07-25 21:10:15 -06:00
parent b00e3d3c2e
commit 872b4861f8
7 changed files with 73 additions and 82 deletions

View File

@@ -1,2 +1 @@
(function :Void main []
(print "Hello world!"))
(print "Hello world!")

View File

@@ -1,6 +1,6 @@
(load "UtilMacros.kiss")
(function :Void main []
(year 2018
(year 2018
(Solutions2018.run))
(year 2020
(Solutions2020.run)))
(year 2020
(Solutions2020.run))

View File

@@ -1,2 +1 @@
(function :Void main []
(print "Hello world!"))
(print "Hello world!")

View File

@@ -1,5 +1,4 @@
(function :Void main []
(let [[jsonFile workingDir]
(let [[jsonFile workingDir]
(Sys.args)
json
(Json.parse
@@ -13,4 +12,4 @@
(versionParts.join ".")]
(print "Bumping version of $jsonFile from $oldVersion -> $newVersion")
(set json.version newVersion)
(File.saveContent (joinPath workingDir jsonFile) (Json.stringify json "\t")))))
(File.saveContent (joinPath workingDir jsonFile) (Json.stringify json "\t"))))

View File

@@ -1,7 +1,7 @@
// External programs can load Lib.kiss with (loadFrom "nat-archive-tool" "src/nat/Lib.kiss")
(load "Lib.kiss")
(function :Void main []
(let [[archiveDir] (Sys.args)
(let [[archiveDir] (Sys.args)
controller
(new ArchiveController
(new Archive archiveDir)
@@ -12,7 +12,7 @@
(.trim (.toString (.readLine (Sys.stdin))))]
(if (controller.commands.exists command)
(controller.runCommand (dictGet controller.commands command))
(Sys.println "$command is not a valid command"))))))
(Sys.println "$command is not a valid command")))))
(defNew [])

View File

@@ -1,18 +1,13 @@
// TODO external programs need to be able to find and (load) this path to get the macros:
// ^ That should be solved by allowing an optional first argument to load that is a symbol
// of a library name that can be used to resolve the source dir in the user's Haxelib maybe?
// External programs can load Lib.kiss with (loadFrom "nat-archive-tool" "src/nat/Lib.kiss")
(load "../nat/Lib.kiss")
(function :Void main []
(assert (BoolExpInterp.eval "true" []))
(assert !(BoolExpInterp.eval "false" []))
(assert !(BoolExpInterp.eval "flag" []))
(assert (BoolExpInterp.eval "flag" ["flag"]))
(assert !(BoolExpInterp.eval "(and flag false)" ["flag"]))
(assert (BoolExpInterp.eval "(or flag otherFlag)" ["otherFlag"]))
//trace(error);
(let [archive
(assert (BoolExpInterp.eval "true" []))
(assert !(BoolExpInterp.eval "false" []))
(assert !(BoolExpInterp.eval "flag" []))
(assert (BoolExpInterp.eval "flag" ["flag"]))
(assert !(BoolExpInterp.eval "(and flag false)" ["flag"]))
(assert (BoolExpInterp.eval "(or flag otherFlag)" ["otherFlag"]))
(let [archive
(new Archive "src/test/example-archive")
song1
(dictGet archive.entries "song1")
@@ -32,4 +27,4 @@
[author Author
name Name]
(assert (= author "Rafael Krux"))
(assert (= name "Adventure")))))
(assert (= name "Adventure"))))

View File

@@ -13,8 +13,7 @@
// TODO add sequentialPerPDF argument (which, when used, .shift()s pages from the beginning of PDFs)
// TODO add chunkSize argument (default 1, which specifies how many pages in order to pull from a random PDF. value of -1 means take the whole PDF, and remove it from the list)
// TODO make output page limit optional
(function :Void main []
(let [[sourceDir numPages] (Sys.args)]
(let [[sourceDir numPages] (Sys.args)]
(loadAll (for file (Fs.readdirSync sourceDir) (+ sourceDir "/" file))
(lambda [:Array<PDFDocument> inputPdfs]
(awaitLet [saladPdf (PDFDocument.create)
@@ -25,4 +24,4 @@
(saladPdf.copyPages pdf [page]))))]
(doFor page pages (saladPdf.addPage (first page)))
(awaitLet [bytesOut (saladPdf.save)]
(Fs.writeFileSync "out.pdf" bytesOut)))))))
(Fs.writeFileSync "out.pdf" bytesOut))))))