--- /tmp/jsjac-1.3.4+dfsg-3ptiygljg/debian/libjs-jac_1.3.4+dfsg-3_all.deb +++ libjs-jac_1.3.4+dfsg-3_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2021-01-04 23:02:43.000000 debian-binary │ --rw-r--r-- 0 0 0 2688 2021-01-04 23:02:43.000000 control.tar.xz │ --rw-r--r-- 0 0 0 82400 2021-01-04 23:02:43.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 2692 2021-01-04 23:02:43.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 81340 2021-01-04 23:02:43.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./control │ │ │ @@ -1,13 +1,13 @@ │ │ │ Package: libjs-jac │ │ │ Source: jsjac │ │ │ Version: 1.3.4+dfsg-3 │ │ │ Architecture: all │ │ │ Maintainer: Debian XMPP Maintainers │ │ │ -Installed-Size: 1004 │ │ │ +Installed-Size: 1007 │ │ │ Recommends: javascript-common │ │ │ Suggests: ejabberd │ │ │ Section: javascript │ │ │ Priority: optional │ │ │ Homepage: https://github.com/sstrigler/JSJaC │ │ │ Description: JavaScript Jabber Client Library │ │ │ JSJaC is a jabber client library written in JavaScript to ease implementation │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -76,11 +76,11 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 6305 2021-01-04 23:02:43.000000 ./usr/share/doc/libjs-jac/doc/overview-tree.html │ │ │ -rw-r--r-- 0 root (0) root (0) 660 2021-01-04 23:02:43.000000 ./usr/share/doc/libjs-jac/doc/overview-xmlextras.js.html │ │ │ -rw-r--r-- 0 root (0) root (0) 1583 2021-01-04 23:02:43.000000 ./usr/share/doc/libjs-jac/doc/stylesheet.css │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2011-03-14 00:20:43.000000 ./usr/share/doc/libjs-jac/examples/ │ │ │ -rw-r--r-- 0 root (0) root (0) 9874 2011-03-14 00:20:43.000000 ./usr/share/doc/libjs-jac/examples/simpleclient.html │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/ │ │ │ --rw-r--r-- 0 root (0) root (0) 21722 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.min.js │ │ │ --rw-r--r-- 0 root (0) root (0) 164096 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.uncompressed.js │ │ │ +-rw-r--r-- 0 root (0) root (0) 16353 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.min.js │ │ │ +-rw-r--r-- 0 root (0) root (0) 173999 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.uncompressed.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.js -> jsjac.uncompressed.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.packed.js -> jsjac.min.js │ │ ├── ./usr/share/doc/libjs-jac/doc/Date.html │ │ │ @@ -362,10 +362,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/Document.html │ │ │ @@ -200,10 +200,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/GLOBALS.html │ │ │ @@ -1609,10 +1609,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCConnection.html │ │ │ @@ -79,15 +79,15 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │
│ │ │ Direct Known Subclasses: │ │ │
│ │ │ - JSJaCHttpBindingConnection, JSJaCHttpPollingConnection │ │ │ + JSJaCHttpPollingConnection, JSJaCHttpBindingConnection │ │ │
│ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │
│ │ │ @@ -1054,10 +1054,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCConsoleLogger.html │ │ │ @@ -448,10 +448,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCCookie.html │ │ │ @@ -911,10 +911,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCCookieException.html │ │ │ @@ -308,10 +308,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCHttpBindingConnection.html │ │ │ @@ -416,10 +416,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCHttpPollingConnection.html │ │ │ @@ -350,10 +350,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCIQ.html │ │ │ @@ -542,10 +542,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCJID.html │ │ │ @@ -747,10 +747,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCJIDInvalidException.html │ │ │ @@ -309,10 +309,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCJSON.html │ │ │ @@ -330,10 +330,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCKeys.html │ │ │ @@ -444,10 +444,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCMessage.html │ │ │ @@ -579,10 +579,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCPacket.html │ │ │ @@ -79,15 +79,15 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │
│ │ │ Direct Known Subclasses: │ │ │
│ │ │ - JSJaCMessage, JSJaCIQ, JSJaCPresence │ │ │ + JSJaCIQ, JSJaCMessage, JSJaCPresence │ │ │
│ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │
│ │ │ @@ -1332,10 +1332,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/JSJaCPresence.html │ │ │ @@ -639,10 +639,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/Node.html │ │ │ @@ -200,10 +200,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/Number.html │ │ │ @@ -309,10 +309,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/STANZA_ERROR.html │ │ │ @@ -314,10 +314,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/String.html │ │ │ @@ -265,10 +265,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/XMLDocument.html │ │ │ @@ -200,10 +200,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/help-doc.html │ │ │ @@ -151,10 +151,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/index-all.html │ │ │ @@ -1379,10 +1379,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaC.js.html │ │ │ @@ -200,10 +200,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCBuilder.js.html │ │ │ @@ -277,10 +277,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConfig.js.html │ │ │ @@ -172,10 +172,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConnection.js.html │ │ │ @@ -1454,10 +1454,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConsoleLogger.js.html │ │ │ @@ -239,10 +239,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConstants.js.html │ │ │ @@ -259,10 +259,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCCookie.js.html │ │ │ @@ -392,10 +392,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCError.js.html │ │ │ @@ -161,10 +161,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCHttpBindingConnection.js.html │ │ │ @@ -695,10 +695,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCHttpPollingConnection.js.html │ │ │ @@ -498,10 +498,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCJID.js.html │ │ │ @@ -76,16 +76,16 @@ │ │ │ │ │ │ │ │ │

Summary

│ │ │

│ │ │ │ │ │ This file contains all things that make life easier when │ │ │ dealing with JIDs │ │ │ -

Author: Stefan Strigler │ │ │ -
Version: $Revision$

│ │ │ +

Version: $Revision$

Author: Stefan Strigler │ │ │ +
│ │ │ │ │ │

│ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ @@ -370,10 +370,10 @@ │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCJSON.js.html │ │ │ @@ -295,10 +295,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCKeys.js.html │ │ │ @@ -229,10 +229,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCPacket.js.html │ │ │ @@ -75,16 +75,16 @@ │ │ │ │ │ │ │ │ │ │ │ │

Summary

│ │ │

│ │ │ │ │ │ Contains all Jabber/XMPP packet related classes. │ │ │ -

Author: Stefan Strigler steve@zeank.in-berlin.de │ │ │ -
Version: $Revision$

│ │ │ +

Version: $Revision$

Author: Stefan Strigler steve@zeank.in-berlin.de │ │ │ +
│ │ │ │ │ │

│ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ @@ -908,10 +908,10 @@ │ │ │
│ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-crypt.js.html │ │ │ @@ -1523,10 +1523,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-header.js.html │ │ │ @@ -155,10 +155,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-jsextras.js.html │ │ │ @@ -75,16 +75,16 @@ │ │ │ │ │ │ │ │ │ │ │ │

Summary

│ │ │

│ │ │ │ │ │ Collection of functions to make live easier │ │ │ -

Author: Stefan Strigler │ │ │ -
Version: $Revision$

│ │ │ +

Version: $Revision$

Author: Stefan Strigler │ │ │ +
│ │ │ │ │ │

│ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ @@ -239,10 +239,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary-xmlextras.js.html │ │ │ @@ -78,16 +78,16 @@ │ │ │

Summary

│ │ │

│ │ │ │ │ │ Wrapper to make working with XmlHttpRequest and the │ │ │ DOM more convenient (cross browser compliance). │ │ │ this code is taken from │ │ │ http://webfx.eae.net/dhtml/xmlextras/xmlextras.html │ │ │ -

Author: Stefan Strigler steve@zeank.in-berlin.de │ │ │ -
Version: $Revision$

│ │ │ +

Version: $Revision$

Author: Stefan Strigler steve@zeank.in-berlin.de │ │ │ +
│ │ │ │ │ │

│ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ @@ -383,10 +383,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-summary.html │ │ │ @@ -258,10 +258,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/libjs-jac/doc/overview-tree.html │ │ │ @@ -133,10 +133,10 @@ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ -
Documentation generated by JSDoc on Tue Jan 5 02:48:26 2021
│ │ │ +
Documentation generated by JSDoc on Sat Oct 9 03:05:51 2021
│ │ │ │ │ │ │ │ ├── ./usr/share/javascript/jsjac/jsjac.min.js │ │ │ ├── js-beautify {} │ │ │ │ @@ -833,202 +833,8 @@ │ │ │ │ } │ │ │ │ } │ │ │ │ return b.join(" ") │ │ │ │ }, │ │ │ │ _isStringOrNumber: function(a) { │ │ │ │ return (typeof a == "string" || typeof a == "number") │ │ │ │ } │ │ │ │ -}; │ │ │ │ -var NS_DISCO_ITEMS = "http://jabber.org/protocol/disco#items"; │ │ │ │ -var NS_DISCO_INFO = "http://jabber.org/protocol/disco#info"; │ │ │ │ -var NS_VCARD = "vcard-temp"; │ │ │ │ -var NS_AUTH = "jabber:iq:auth"; │ │ │ │ -var NS_AUTH_ERROR = "jabber:iq:auth:error"; │ │ │ │ -var NS_REGISTER = "jabber:iq:register"; │ │ │ │ -var NS_SEARCH = "jabber:iq:search"; │ │ │ │ -var NS_ROSTER = "jabber:iq:roster"; │ │ │ │ -var NS_PRIVACY = "jabber:iq:privacy"; │ │ │ │ -var NS_PRIVATE = "jabber:iq:private"; │ │ │ │ -var NS_VERSION = "jabber:iq:version"; │ │ │ │ -var NS_TIME = "jabber:iq:time"; │ │ │ │ -var NS_LAST = "jabber:iq:last"; │ │ │ │ -var NS_XDATA = "jabber:x:data"; │ │ │ │ -var NS_IQDATA = "jabber:iq:data"; │ │ │ │ -var NS_DELAY = "jabber:x:delay"; │ │ │ │ -var NS_EXPIRE = "jabber:x:expire"; │ │ │ │ -var NS_EVENT = "jabber:x:event"; │ │ │ │ -var NS_XCONFERENCE = "jabber:x:conference"; │ │ │ │ -var NS_STATS = "http://jabber.org/protocol/stats"; │ │ │ │ -var NS_MUC = "http://jabber.org/protocol/muc"; │ │ │ │ -var NS_MUC_USER = "http://jabber.org/protocol/muc#user"; │ │ │ │ -var NS_MUC_ADMIN = "http://jabber.org/protocol/muc#admin"; │ │ │ │ -var NS_MUC_OWNER = "http://jabber.org/protocol/muc#owner"; │ │ │ │ -var NS_PUBSUB = "http://jabber.org/protocol/pubsub"; │ │ │ │ -var NS_PUBSUB_EVENT = "http://jabber.org/protocol/pubsub#event"; │ │ │ │ -var NS_PUBSUB_OWNER = "http://jabber.org/protocol/pubsub#owner"; │ │ │ │ -var NS_PUBSUB_NMI = "http://jabber.org/protocol/pubsub#node-meta-info"; │ │ │ │ -var NS_COMMANDS = "http://jabber.org/protocol/commands"; │ │ │ │ -var NS_STREAM = "http://etherx.jabber.org/streams"; │ │ │ │ -var NS_STANZAS = "urn:ietf:params:xml:ns:xmpp-stanzas"; │ │ │ │ -var NS_STREAMS = "urn:ietf:params:xml:ns:xmpp-streams"; │ │ │ │ -var NS_TLS = "urn:ietf:params:xml:ns:xmpp-tls"; │ │ │ │ -var NS_SASL = "urn:ietf:params:xml:ns:xmpp-sasl"; │ │ │ │ -var NS_SESSION = "urn:ietf:params:xml:ns:xmpp-session"; │ │ │ │ -var NS_BIND = "urn:ietf:params:xml:ns:xmpp-bind"; │ │ │ │ -var NS_FEATURE_IQAUTH = "http://jabber.org/features/iq-auth"; │ │ │ │ -var NS_FEATURE_IQREGISTER = "http://jabber.org/features/iq-register"; │ │ │ │ -var NS_FEATURE_COMPRESS = "http://jabber.org/features/compress"; │ │ │ │ -var NS_COMPRESS = "http://jabber.org/protocol/compress"; │ │ │ │ - │ │ │ │ -function STANZA_ERROR(c, b, a) { │ │ │ │ - if (window == this) { │ │ │ │ - return new STANZA_ERROR(c, b, a) │ │ │ │ - } │ │ │ │ - this.code = c; │ │ │ │ - this.type = b; │ │ │ │ - this.cond = a │ │ │ │ -} │ │ │ │ -var ERR_BAD_REQUEST = STANZA_ERROR("400", "modify", "bad-request"); │ │ │ │ -var ERR_CONFLICT = STANZA_ERROR("409", "cancel", "conflict"); │ │ │ │ -var ERR_FEATURE_NOT_IMPLEMENTED = STANZA_ERROR("501", "cancel", "feature-not-implemented"); │ │ │ │ -var ERR_FORBIDDEN = STANZA_ERROR("403", "auth", "forbidden"); │ │ │ │ -var ERR_GONE = STANZA_ERROR("302", "modify", "gone"); │ │ │ │ -var ERR_INTERNAL_SERVER_ERROR = STANZA_ERROR("500", "wait", "internal-server-error"); │ │ │ │ -var ERR_ITEM_NOT_FOUND = STANZA_ERROR("404", "cancel", "item-not-found"); │ │ │ │ -var ERR_JID_MALFORMED = STANZA_ERROR("400", "modify", "jid-malformed"); │ │ │ │ -var ERR_NOT_ACCEPTABLE = STANZA_ERROR("406", "modify", "not-acceptable"); │ │ │ │ -var ERR_NOT_ALLOWED = STANZA_ERROR("405", "cancel", "not-allowed"); │ │ │ │ -var ERR_NOT_AUTHORIZED = STANZA_ERROR("401", "auth", "not-authorized"); │ │ │ │ -var ERR_PAYMENT_REQUIRED = STANZA_ERROR("402", "auth", "payment-required"); │ │ │ │ -var ERR_RECIPIENT_UNAVAILABLE = STANZA_ERROR("404", "wait", "recipient-unavailable"); │ │ │ │ -var ERR_REDIRECT = STANZA_ERROR("302", "modify", "redirect"); │ │ │ │ -var ERR_REGISTRATION_REQUIRED = STANZA_ERROR("407", "auth", "registration-required"); │ │ │ │ -var ERR_REMOTE_SERVER_NOT_FOUND = STANZA_ERROR("404", "cancel", "remote-server-not-found"); │ │ │ │ -var ERR_REMOTE_SERVER_TIMEOUT = STANZA_ERROR("504", "wait", "remote-server-timeout"); │ │ │ │ -var ERR_RESOURCE_CONSTRAINT = STANZA_ERROR("500", "wait", "resource-constraint"); │ │ │ │ -var ERR_SERVICE_UNAVAILABLE = STANZA_ERROR("503", "cancel", "service-unavailable"); │ │ │ │ -var ERR_SUBSCRIPTION_REQUIRED = STANZA_ERROR("407", "auth", "subscription-required"); │ │ │ │ -var ERR_UNEXPECTED_REQUEST = STANZA_ERROR("400", "wait", "unexpected-request"); │ │ │ │ - │ │ │ │ -function JSJaCConsoleLogger(a) { │ │ │ │ - this.level = a || 4; │ │ │ │ - this.start = function() {}; │ │ │ │ - this.log = function(c, d) { │ │ │ │ - d = d || 0; │ │ │ │ - if (d > this.level) { │ │ │ │ - return │ │ │ │ - } │ │ │ │ - if (typeof(console) == "undefined") { │ │ │ │ - return │ │ │ │ - } │ │ │ │ - try { │ │ │ │ - switch (d) { │ │ │ │ - case 0: │ │ │ │ - console.warn(c); │ │ │ │ - break; │ │ │ │ - case 1: │ │ │ │ - console.error(c); │ │ │ │ - break; │ │ │ │ - case 2: │ │ │ │ - console.info(c); │ │ │ │ - break; │ │ │ │ - case 4: │ │ │ │ - console.debug(c); │ │ │ │ - break; │ │ │ │ - default: │ │ │ │ - console.log(c); │ │ │ │ - break │ │ │ │ - } │ │ │ │ - } catch (b) { │ │ │ │ - try { │ │ │ │ - console.log(c) │ │ │ │ - } catch (b) {} │ │ │ │ - } │ │ │ │ - }; │ │ │ │ - this.setLevel = function(b) { │ │ │ │ - this.level = b; │ │ │ │ - return this │ │ │ │ - }; │ │ │ │ - this.getLevel = function() { │ │ │ │ - return this.level │ │ │ │ - } │ │ │ │ -} │ │ │ │ - │ │ │ │ -function JSJaCCookie(a, d, b, c, e) { │ │ │ │ - if (window == this) { │ │ │ │ - return new JSJaCCookie(a, d, b, c, e) │ │ │ │ - } │ │ │ │ - this.name = a; │ │ │ │ - this.value = d; │ │ │ │ - this.secs = b; │ │ │ │ - this.domain = c; │ │ │ │ - this.path = e; │ │ │ │ - this.write = function() { │ │ │ │ - if (this.secs) { │ │ │ │ - var g = new Date(); │ │ │ │ - g.setTime(g.getTime() + (this.secs * 1000)); │ │ │ │ - var f = "; expires=" + g.toGMTString() │ │ │ │ - } else { │ │ │ │ - var f = "" │ │ │ │ - } │ │ │ │ - var h = this.domain ? "; domain=" + this.domain : ""; │ │ │ │ - var i = this.path ? "; path=" + this.path : "; path=/"; │ │ │ │ - document.cookie = this.getName() + "=" + JSJaCCookie._escape(this.getValue()) + f + h + i │ │ │ │ - }; │ │ │ │ - this.erase = function() { │ │ │ │ - var f = new JSJaCCookie(this.getName(), "", -1); │ │ │ │ - f.write() │ │ │ │ - }; │ │ │ │ - this.getName = function() { │ │ │ │ - return this.name │ │ │ │ - }; │ │ │ │ - this.setName = function(f) { │ │ │ │ - this.name = f; │ │ │ │ - return this │ │ │ │ - }; │ │ │ │ - this.getValue = function() { │ │ │ │ - return this.value │ │ │ │ - }; │ │ │ │ - this.setValue = function(f) { │ │ │ │ - this.value = f; │ │ │ │ - return this │ │ │ │ - }; │ │ │ │ - this.setDomain = function(f) { │ │ │ │ - this.domain = f; │ │ │ │ - return this │ │ │ │ - }; │ │ │ │ - this.setPath = function(f) { │ │ │ │ - this.path = f; │ │ │ │ - return this │ │ │ │ - } │ │ │ │ -} │ │ │ │ -JSJaCCookie.read = function(b) { │ │ │ │ - var e = b + "="; │ │ │ │ - var a = document.cookie.split(";"); │ │ │ │ - for (var d = 0; d < a.length; d++) { │ │ │ │ - var f = a[d]; │ │ │ │ - while (f.charAt(0) == " ") { │ │ │ │ - f = f.substring(1, f.length) │ │ │ │ - } │ │ │ │ - if (f.indexOf(e) == 0) { │ │ │ │ - return new JSJaCCookie(b, JSJaCCookie._unescape(f.substring(e.length, f.length))) │ │ │ │ - } │ │ │ │ - } │ │ │ │ - throw new JSJaCCookieException("Cookie not found") │ │ │ │ -}; │ │ │ │ -JSJaCCookie.get = function(a) { │ │ │ │ - return JSJaCCookie.read(a).getValue() │ │ │ │ -}; │ │ │ │ -JSJaCCookie.remove = function(a) { │ │ │ │ - JSJaCCookie.read(a).erase() │ │ │ │ -}; │ │ │ │ -JSJaCCookie._escape = function(a) { │ │ │ │ - return a.replace(/;/g, "%3AB") │ │ │ │ -}; │ │ │ │ -JSJaCCookie._unescape = function(a) { │ │ │ │ - return a.replace(/%3AB/g, ";") │ │ │ │ -}; │ │ │ │ - │ │ │ │ -function JSJaCCookieException(a) { │ │ │ │ - this.message = a; │ │ │ │ - this.name = "CookieException" │ │ │ │ }; │ │ ├── ./usr/share/javascript/jsjac/jsjac.uncompressed.js │ │ │ ├── js-beautify {} │ │ │ │ @@ -5690,8 +5690,371 @@ │ │ │ │ function cnonce(size) { │ │ │ │ var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; │ │ │ │ var cnonce = ''; │ │ │ │ for (var i = 0; i < size; i++) { │ │ │ │ cnonce += tab.charAt(Math.round(Math.random(new Date().getTime()) * (tab.length - 1))); │ │ │ │ } │ │ │ │ return cnonce; │ │ │ │ +} │ │ │ │ +/* Copyright (c) 2005-2007 Sam Stephenson │ │ │ │ + * │ │ │ │ + * Permission is hereby granted, free of charge, to any person │ │ │ │ + * obtaining a copy of this software and associated documentation │ │ │ │ + * files (the "Software"), to deal in the Software without │ │ │ │ + * restriction, including without limitation the rights to use, copy, │ │ │ │ + * modify, merge, publish, distribute, sublicense, and/or sell copies │ │ │ │ + * of the Software, and to permit persons to whom the Software is │ │ │ │ + * furnished to do so, subject to the following conditions: │ │ │ │ + * │ │ │ │ + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, │ │ │ │ + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF │ │ │ │ + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND │ │ │ │ + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS │ │ │ │ + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN │ │ │ │ + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN │ │ │ │ + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE │ │ │ │ + * SOFTWARE. │ │ │ │ + */ │ │ │ │ + │ │ │ │ +/* │ │ │ │ + json.js │ │ │ │ + taken from prototype.js, made static │ │ │ │ +*/ │ │ │ │ +function JSJaCJSON() {} │ │ │ │ +JSJaCJSON.toString = function(obj) { │ │ │ │ + var m = { │ │ │ │ + '\b': '\\b', │ │ │ │ + '\t': '\\t', │ │ │ │ + '\n': '\\n', │ │ │ │ + '\f': '\\f', │ │ │ │ + '\r': '\\r', │ │ │ │ + '"': '\\"', │ │ │ │ + '\\': '\\\\' │ │ │ │ + }, │ │ │ │ + s = { │ │ │ │ + array: function(x) { │ │ │ │ + var a = ['['], │ │ │ │ + b, f, i, l = x.length, │ │ │ │ + v; │ │ │ │ + for (i = 0; i < l; i += 1) { │ │ │ │ + v = x[i]; │ │ │ │ + f = s[typeof v]; │ │ │ │ + if (f) { │ │ │ │ + try { │ │ │ │ + v = f(v); │ │ │ │ + if (typeof v == 'string') { │ │ │ │ + if (b) { │ │ │ │ + a[a.length] = ','; │ │ │ │ + } │ │ │ │ + a[a.length] = v; │ │ │ │ + b = true; │ │ │ │ + } │ │ │ │ + } catch (e) {} │ │ │ │ + } │ │ │ │ + } │ │ │ │ + a[a.length] = ']'; │ │ │ │ + return a.join(''); │ │ │ │ + }, │ │ │ │ + 'boolean': function(x) { │ │ │ │ + return String(x); │ │ │ │ + }, │ │ │ │ + 'null': function(x) { │ │ │ │ + return "null"; │ │ │ │ + }, │ │ │ │ + number: function(x) { │ │ │ │ + return isFinite(x) ? String(x) : 'null'; │ │ │ │ + }, │ │ │ │ + object: function(x) { │ │ │ │ + if (x) { │ │ │ │ + if (x instanceof Array) { │ │ │ │ + return s.array(x); │ │ │ │ + } │ │ │ │ + var a = ['{'], │ │ │ │ + b, f, i, v; │ │ │ │ + for (i in x) { │ │ │ │ + if (x.hasOwnProperty(i)) { │ │ │ │ + v = x[i]; │ │ │ │ + f = s[typeof v]; │ │ │ │ + if (f) { │ │ │ │ + try { │ │ │ │ + v = f(v); │ │ │ │ + if (typeof v == 'string') { │ │ │ │ + if (b) { │ │ │ │ + a[a.length] = ','; │ │ │ │ + } │ │ │ │ + a.push(s.string(i), ':', v); │ │ │ │ + b = true; │ │ │ │ + } │ │ │ │ + } catch (e) {} │ │ │ │ + } │ │ │ │ + } │ │ │ │ + } │ │ │ │ + │ │ │ │ + a[a.length] = '}'; │ │ │ │ + return a.join(''); │ │ │ │ + } │ │ │ │ + return 'null'; │ │ │ │ + }, │ │ │ │ + string: function(x) { │ │ │ │ + if (/["\\\x00-\x1f]/.test(x)) { │ │ │ │ + x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) { │ │ │ │ + var c = m[b]; │ │ │ │ + if (c) { │ │ │ │ + return c; │ │ │ │ + } │ │ │ │ + c = b.charCodeAt(); │ │ │ │ + return '\\u00' + │ │ │ │ + Math.floor(c / 16).toString(16) + │ │ │ │ + (c % 16).toString(16); │ │ │ │ + }); │ │ │ │ + } │ │ │ │ + return '"' + x + '"'; │ │ │ │ + } │ │ │ │ + }; │ │ │ │ + │ │ │ │ + switch (typeof(obj)) { │ │ │ │ + case 'object': │ │ │ │ + return s.object(obj); │ │ │ │ + case 'array': │ │ │ │ + return s.array(obj); │ │ │ │ + │ │ │ │ + } │ │ │ │ +}; │ │ │ │ + │ │ │ │ +JSJaCJSON.parse = function(str) { │ │ │ │ + try { │ │ │ │ + return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test( │ │ │ │ + str.replace(/"(\\.|[^"\\])*"/g, ''))) && │ │ │ │ + eval('(' + str + ')'); │ │ │ │ + } catch (e) { │ │ │ │ + return false; │ │ │ │ + } │ │ │ │ +}; │ │ │ │ + │ │ │ │ +/* Copyright 2006 Erik Arvidsson │ │ │ │ + * │ │ │ │ + * Licensed under the Apache License, Version 2.0 (the "License"); you │ │ │ │ + * may not use this file except in compliance with the License. You │ │ │ │ + * may obtain a copy of the License at │ │ │ │ + * │ │ │ │ + * http://www.apache.org/licenses/LICENSE-2.0 │ │ │ │ + * │ │ │ │ + * Unless required by applicable law or agreed to in writing, software │ │ │ │ + * distributed under the License is distributed on an "AS IS" BASIS, │ │ │ │ + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or │ │ │ │ + * implied. See the License for the specific language governing │ │ │ │ + * permissions and limitations under the License. │ │ │ │ + */ │ │ │ │ + │ │ │ │ +/** │ │ │ │ + * @fileoverview Wrapper to make working with XmlHttpRequest and the │ │ │ │ + * DOM more convenient (cross browser compliance). │ │ │ │ + * this code is taken from │ │ │ │ + * http://webfx.eae.net/dhtml/xmlextras/xmlextras.html │ │ │ │ + * @author Stefan Strigler steve@zeank.in-berlin.de │ │ │ │ + * @version $Revision$ │ │ │ │ + */ │ │ │ │ + │ │ │ │ +/** │ │ │ │ + * XmlHttp factory │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ +function XmlHttp() {} │ │ │ │ + │ │ │ │ +/** │ │ │ │ + * creates a cross browser compliant XmlHttpRequest object │ │ │ │ + */ │ │ │ │ +XmlHttp.create = function() { │ │ │ │ + try { │ │ │ │ + if (window.XMLHttpRequest) { │ │ │ │ + var req = new XMLHttpRequest(); │ │ │ │ + │ │ │ │ + // some versions of Moz do not support the readyState property │ │ │ │ + // and the onreadystate event so we patch it! │ │ │ │ + if (req.readyState == null) { │ │ │ │ + req.readyState = 1; │ │ │ │ + req.addEventListener("load", function() { │ │ │ │ + req.readyState = 4; │ │ │ │ + if (typeof req.onreadystatechange == "function") │ │ │ │ + req.onreadystatechange(); │ │ │ │ + }, false); │ │ │ │ + } │ │ │ │ + │ │ │ │ + return req; │ │ │ │ + } │ │ │ │ + if (window.ActiveXObject) { │ │ │ │ + return new ActiveXObject(XmlHttp.getPrefix() + ".XmlHttp"); │ │ │ │ + } │ │ │ │ + } catch (ex) {} │ │ │ │ + // fell through │ │ │ │ + throw new Error("Your browser does not support XmlHttp objects"); │ │ │ │ +}; │ │ │ │ + │ │ │ │ +/** │ │ │ │ + * used to find the Automation server name │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ +XmlHttp.getPrefix = function() { │ │ │ │ + if (XmlHttp.prefix) // I know what you did last summer │ │ │ │ + return XmlHttp.prefix; │ │ │ │ + │ │ │ │ + var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; │ │ │ │ + var o; │ │ │ │ + for (var i = 0; i < prefixes.length; i++) { │ │ │ │ + try { │ │ │ │ + // try to create the objects │ │ │ │ + o = new ActiveXObject(prefixes[i] + ".XmlHttp"); │ │ │ │ + return XmlHttp.prefix = prefixes[i]; │ │ │ │ + } catch (ex) {}; │ │ │ │ + } │ │ │ │ + │ │ │ │ + throw new Error("Could not find an installed XML parser"); │ │ │ │ +}; │ │ │ │ + │ │ │ │ + │ │ │ │ +/** │ │ │ │ + * XmlDocument factory │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ +function XmlDocument() {} │ │ │ │ + │ │ │ │ +XmlDocument.create = function(name, ns) { │ │ │ │ + name = name || 'foo'; │ │ │ │ + ns = ns || ''; │ │ │ │ + │ │ │ │ + try { │ │ │ │ + var doc; │ │ │ │ + // DOM2 │ │ │ │ + if (document.implementation && document.implementation.createDocument) { │ │ │ │ + doc = document.implementation.createDocument(ns, name, null); │ │ │ │ + // some versions of Moz do not support the readyState property │ │ │ │ + // and the onreadystate event so we patch it! │ │ │ │ + if (doc.readyState == null) { │ │ │ │ + doc.readyState = 1; │ │ │ │ + doc.addEventListener("load", function() { │ │ │ │ + doc.readyState = 4; │ │ │ │ + if (typeof doc.onreadystatechange == "function") │ │ │ │ + doc.onreadystatechange(); │ │ │ │ + }, false); │ │ │ │ + } │ │ │ │ + } else if (window.ActiveXObject) { │ │ │ │ + doc = new ActiveXObject(XmlDocument.getPrefix() + ".DomDocument"); │ │ │ │ + } │ │ │ │ + │ │ │ │ + if (!doc.documentElement || doc.documentElement.tagName != name || │ │ │ │ + (doc.documentElement.namespaceURI && │ │ │ │ + doc.documentElement.namespaceURI != ns)) { │ │ │ │ + try { │ │ │ │ + if (ns != '') │ │ │ │ + doc.appendChild(doc.createElement(name)). │ │ │ │ + setAttribute('xmlns', ns); │ │ │ │ + else │ │ │ │ + doc.appendChild(doc.createElement(name)); │ │ │ │ + } catch (dex) { │ │ │ │ + doc = document.implementation.createDocument(ns, name, null); │ │ │ │ + │ │ │ │ + if (doc.documentElement == null) │ │ │ │ + doc.appendChild(doc.createElement(name)); │ │ │ │ + │ │ │ │ + // fix buggy opera 8.5x │ │ │ │ + if (ns != '' && │ │ │ │ + doc.documentElement.getAttribute('xmlns') != ns) { │ │ │ │ + doc.documentElement.setAttribute('xmlns', ns); │ │ │ │ + } │ │ │ │ + } │ │ │ │ + } │ │ │ │ + │ │ │ │ + return doc; │ │ │ │ + } catch (ex) {} │ │ │ │ + throw new Error("Your browser does not support XmlDocument objects"); │ │ │ │ +}; │ │ │ │ + │ │ │ │ +/** │ │ │ │ + * used to find the Automation server name │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ +XmlDocument.getPrefix = function() { │ │ │ │ + if (XmlDocument.prefix) │ │ │ │ + return XmlDocument.prefix; │ │ │ │ + │ │ │ │ + var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; │ │ │ │ + var o; │ │ │ │ + for (var i = 0; i < prefixes.length; i++) { │ │ │ │ + try { │ │ │ │ + // try to create the objects │ │ │ │ + o = new ActiveXObject(prefixes[i] + ".DomDocument"); │ │ │ │ + return XmlDocument.prefix = prefixes[i]; │ │ │ │ + } catch (ex) {}; │ │ │ │ + } │ │ │ │ + │ │ │ │ + throw new Error("Could not find an installed XML parser"); │ │ │ │ +}; │ │ │ │ + │ │ │ │ + │ │ │ │ +// Create the loadXML method │ │ │ │ +if (typeof(Document) != 'undefined' && window.DOMParser) { │ │ │ │ + │ │ │ │ + /** │ │ │ │ + * XMLDocument did not extend the Document interface in some │ │ │ │ + * versions of Mozilla. │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ + Document.prototype.loadXML = function(s) { │ │ │ │ + │ │ │ │ + // parse the string to a new doc │ │ │ │ + var doc2 = (new DOMParser()).parseFromString(s, "text/xml"); │ │ │ │ + │ │ │ │ + // remove all initial children │ │ │ │ + while (this.hasChildNodes()) │ │ │ │ + this.removeChild(this.lastChild); │ │ │ │ + │ │ │ │ + // insert and import nodes │ │ │ │ + for (var i = 0; i < doc2.childNodes.length; i++) { │ │ │ │ + this.appendChild(this.importNode(doc2.childNodes[i], true)); │ │ │ │ + } │ │ │ │ + }; │ │ │ │ +} │ │ │ │ + │ │ │ │ +// Create xml getter for Mozilla │ │ │ │ +if (window.XMLSerializer && │ │ │ │ + window.Node && Node.prototype && Node.prototype.__defineGetter__) { │ │ │ │ + │ │ │ │ + /** │ │ │ │ + * xml getter │ │ │ │ + * │ │ │ │ + * This serializes the DOM tree to an XML String │ │ │ │ + * │ │ │ │ + * Usage: var sXml = oNode.xml │ │ │ │ + * @deprecated │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ + // XMLDocument did not extend the Document interface in some versions │ │ │ │ + // of Mozilla. Extend both! │ │ │ │ + XMLDocument.prototype.__defineGetter__("xml", function() { │ │ │ │ + return (new XMLSerializer()).serializeToString(this); │ │ │ │ + }); │ │ │ │ + /** │ │ │ │ + * xml getter │ │ │ │ + * │ │ │ │ + * This serializes the DOM tree to an XML String │ │ │ │ + * │ │ │ │ + * Usage: var sXml = oNode.xml │ │ │ │ + * @deprecated │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ + Document.prototype.__defineGetter__("xml", function() { │ │ │ │ + return (new XMLSerializer()).serializeToString(this); │ │ │ │ + }); │ │ │ │ + │ │ │ │ + /** │ │ │ │ + * xml getter │ │ │ │ + * │ │ │ │ + * This serializes the DOM tree to an XML String │ │ │ │ + * │ │ │ │ + * Usage: var sXml = oNode.xml │ │ │ │ + * @deprecated │ │ │ │ + * @private │ │ │ │ + */ │ │ │ │ + Node.prototype.__defineGetter__("xml", function() { │ │ │ │ + return (new XMLSerializer()).serializeToString(this); │ │ │ │ + }); │ │ │ │ }