diff --git a/js/Tiddler.js b/js/Tiddler.js index 24efb55a7..0c1ad5786 100755 --- a/js/Tiddler.js +++ b/js/Tiddler.js @@ -8,29 +8,82 @@ and 'created' fields are dates. All other fields are strings. The Tiddler object exposes the following API -new Tiddler(fields) - create a Tiddler given a hashmap of field values -new Tiddler(tiddler,fields) - create a Tiddler from an existing tiddler with a hashmap of modified field values +new Tiddler(src) - create a Tiddler given a hashmap of field values or a tiddler to clone +new Tiddler(src1,src2) - create a Tiddler with the union of the fields from the + sources, with the rightmost taking priority Tiddler.fields - hashmap of tiddler fields +The hashmap(s) can specify the "modified" and "created" fields as strings in YYYYMMDDHHMMSSMMM +format or as JavaScript date objects. The "tags" field can be given as a JavaScript array of strings or +as a TiddlyWiki quoted string (eg, "one [[two three]]"). + */ "use strict"; var Tiddler = function(/* tiddler,fields */) { - var tiddler, fields, c = 0, t; - if(arguments[c] instanceof Tiddler) { - tiddler = arguments[c++]; - } - fields = arguments[c++]; this.fields = {}; - if(tiddler instanceof Tiddler) { - for(t in tiddler.fields) { - this.fields[t] = tiddler.fields[t]; // Should copy arrays by value + for(var c=0; c