diff stanza.js @ 29:1e6d2ca2daae

Adds a Lightstring.Stanza object and use it.
author Sonny Piers <sonny.piers@gmail.com>
date Sat, 28 Jan 2012 04:34:30 +0100
parents
children c06ec02217ee
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/stanza.js
@@ -0,0 +1,38 @@
+'use strict';
+
+/**
+  Copyright (c) 2011, Sonny Piers <sonny at fastmail dot net>
+
+  Permission to use, copy, modify, and/or distribute this software for any
+  purpose with or without fee is hereby granted, provided that the above
+  copyright notice and this permission notice appear in all copies.
+
+  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+
+/**
+ * @constructor Creates a new Stanza object.
+ * @param {String|Object} [aStanza] The XML or DOM content of the stanza
+ * @memberOf Lightstring
+ */
+Lightstring.Stanza = function(aStanza) {
+  if (typeof aStanza === 'string') {
+    this.XML = aStanza;
+    this.DOM = Lightstring.XML2DOM(this.XML);
+  }
+  else if (aStanza instanceof Element) {
+    this.DOM = aStanza;
+    this.XML = Lightstring.DOM2XML(this.DOM);
+  }
+  //ToDo error ?
+  else {
+    return null;
+  }
+};