From aa05960a673e7fe3eb8c3af1eefa00265dd0dde2 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Sat, 8 Oct 2022 22:33:41 +0000 Subject: [PATCH] Add toString to nat.Entry --- .../nat-archive-tool/src/nat/Archive.kiss | 8 +------ projects/nat-archive-tool/src/nat/Entry.hx | 21 ++++++++++++++----- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/projects/nat-archive-tool/src/nat/Archive.kiss b/projects/nat-archive-tool/src/nat/Archive.kiss index d97ce48a..69d1ed99 100644 --- a/projects/nat-archive-tool/src/nat/Archive.kiss +++ b/projects/nat-archive-tool/src/nat/Archive.kiss @@ -47,7 +47,7 @@ (prop &mut :Entry->Dynamic defaultInitializer null) (method :Entry createEntry [:Entry->Dynamic initializer] // initializer returns Dynamic so ->:Void isn't required - (let [e (_newEntry)] + (let [e (new Entry)] (when defaultInitializer (defaultInitializer e)) (initializer e) @@ -73,11 +73,5 @@ (method fullString [:Entry e] (haxe.Json.stringify e null "\t")) -(function :Entry _newEntry [] - (object - id (Uuid.v4) - components (new Map) - files [])) - (method filePath [file] (joinPath archiveDir "files" file)) \ No newline at end of file diff --git a/projects/nat-archive-tool/src/nat/Entry.hx b/projects/nat-archive-tool/src/nat/Entry.hx index 04b9a125..920ea58e 100644 --- a/projects/nat-archive-tool/src/nat/Entry.hx +++ b/projects/nat-archive-tool/src/nat/Entry.hx @@ -1,7 +1,18 @@ package nat; -typedef Entry = { - id:String, - components:Map, - files:Array -}; +import uuid.Uuid; + +@:jsonParse(function (json) return new nat.Entry(json.id, json.components, json.files)) +class Entry { + public var id:String; + public var components:Map = []; + public var files:Array = []; + function toString() { + return if (components.exists("Name")) components["Name"] else 'entry $id'; + } + public function new(?id:String, ?components:Map, ?files:Array) { + this.id = if (id != null) id else Uuid.v4(); + if (components != null) this.components = components; + if (files != null) this.files = files; + } +}