Mercurial > eldonilo > lightstring
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; + } +};