UNPKG

@fnlb-project/stanza

Version:

Modern XMPP in the browser, with a JSON API

86 lines (85 loc) 3.01 kB
"use strict"; // ==================================================================== // XEP-0030: Service Discovery // -------------------------------------------------------------------- // Source: https://xmpp.org/extensions/xep-0030.html // Version: 2.5rc3 (2017-10-03) // // Additional: // -------------------------------------------------------------------- // XEP-0128: Service Discovery Extensions // -------------------------------------------------------------------- // Source: https://xmpp.org/extensions/xep-0128.html // Version: 1.0 (2004-10-20) // ==================================================================== Object.defineProperty(exports, "__esModule", { value: true }); const jxt_1 = require("../jxt"); const Namespaces_1 = require("../Namespaces"); const Protocol = [ { aliases: ['iq.disco', 'message.disco', 'features.disco'], childrenExportOrder: { identities: 1, features: 2, extensions: 3 }, element: 'query', fields: { features: (0, jxt_1.multipleChildAttribute)(null, 'feature', 'var'), node: (0, jxt_1.attribute)('node') }, namespace: Namespaces_1.NS_DISCO_INFO, path: 'disco', type: 'info', typeField: 'type' }, { aliases: [{ path: 'disco.identities', selector: 'info', multiple: true }], element: 'identity', fields: { category: (0, jxt_1.attribute)('category'), lang: (0, jxt_1.languageAttribute)(), name: (0, jxt_1.attribute)('name'), type: (0, jxt_1.attribute)('type') }, namespace: Namespaces_1.NS_DISCO_INFO }, { aliases: [{ path: 'disco.items', multiple: true, selector: 'items' }], element: 'item', fields: { jid: (0, jxt_1.JIDAttribute)('jid'), name: (0, jxt_1.attribute)('name'), node: (0, jxt_1.attribute)('node') }, namespace: Namespaces_1.NS_DISCO_ITEMS }, { aliases: [{ path: 'disco.items', multiple: true, selector: 'info' }], element: 'item', fields: { category: (0, jxt_1.JIDAttribute)('category'), lang: (0, jxt_1.languageAttribute)(), name: (0, jxt_1.attribute)('name'), type: (0, jxt_1.attribute)('type') }, namespace: Namespaces_1.NS_DISCO_INFO }, (0, jxt_1.addAlias)(Namespaces_1.NS_DATAFORM, 'x', [ // XEP-0128 { path: 'disco.extensions', multiple: true, selector: 'info' } ]), (0, jxt_1.addAlias)(Namespaces_1.NS_RSM, 'set', [{ path: 'disco.paging', selector: 'items' }]), { aliases: ['iq.disco', 'message.disco', 'features.disco'], element: 'query', fields: { node: (0, jxt_1.attribute)('node') }, namespace: Namespaces_1.NS_DISCO_ITEMS, path: 'disco', type: 'items', typeField: 'type' } ]; exports.default = Protocol;