GeneralHelper library
GeneralHelper.js is a JavaScript library of generally useful functions.
Applies to: Skype for Business 2015
Use the functions in the GeneralHelper library to create namespaces, to check for null or undefined objects, and to generate unique numbers.
Create a GeneralHelper object
A GeneralHelper object is created as shown in the following example.
var _generalHelper = new GeneralHelper();
The variable declared in the preceding example is used in subsequent examples in this topic.
extractDataFromDataUri(uri, options)
The extractDataFromDataUri function extracts textual data from a Data URI.
Parameter | Description |
---|---|
uri | The Data URI to be decoded. |
options | The only option currently available is options.unescape . If set, replaces each escape sequence in the URI. |
Returns: The string contained in the Data URI.
Syntax
extractDataFromDataUri(uri , options )
Example
function decodeMessage(message) {
return _generalHelper.extractDataFromDataUri(message, { unescape: true });
}
Remarks
In UCWA 2.0, Data URIs are used to transmit instant message bodies. For more information about Data URIs, see the "data" URL scheme.
extractOriginFromAbsoluteUrl(url)
The extractOriginFromAbsoluteUrl function extracts the origin from an absolute URL.
Parameter | Description |
---|---|
url | The URL from which to extract the origin. |
Returns: The origin as a string or an empty string.
Syntax
extractOriginFromAbsoluteUrl(url )
Example
_domain = _generalHelper.extractOriginFromAbsoluteUrl(xframe);
Remarks
An origin consists of SCHEME + "://" + HOST + (optional) ":" + (optional) PORT. The origin in the following URL is the portion shown in brackets. [https://example.com:8080]/some/long/path. For more information, see The Web Origin Concept, Section 3.2.1 Examples.
generateUUID()
The generateUUID function generates a Universally Unique Identifier (UUID) based on the RFC 4122 specification.
Returns: UUID that can be used as a unique object.
Syntax
generateUUID()
Example
The following example uses generateUUID to generate an operation ID. The operation ID and the target participant ( to) are input values when startOperation is called.
imData.sessionContext = ucwa.GeneralHelper.generateUUID();
imData.to = $("#outgoingContacts option:selected") [0].value;
messagingId = opRes.startOperation({
url: ucwa.Cache.findEmbeddedLinkInCache("communication", "startMessaging"),
type: "post",
data: imData
},
{
started: function(data, resources) {
handleMessagingStart(data, resources);
},
completed: function(data, resources) {
handleMessagingStart(data, resources);
}
});
isDefined(object)
The isDefined function verifies that the supplied object is defined; specifically, that it is not undefined and not null.
Parameter | Description |
---|---|
object | Object to check. |
Returns: Boolean indicating whether the object is defined.
Syntax
isDefined(object )
Example
The following sample uses the isDefined function to first determine whether _data._embedded_is defined, and if so, to determine whether _data._embedded.message_is defined. If _data._embedded_is not defined, the second expression is not evaluated.
function findRelation(data) {
if (_generalHelper.isDefined(data._embedded) &&
_generalHelper.isDefined(data._embedded.message)) {
// Do something.
}
}
isEmpty(object)
The isEmpty function determines whether the specified object is empty.
Parameter | Description |
---|---|
object | Object to check. |
Returns: Boolean indicating whether the object is empty.
Syntax
isEmpty(object )
Example
The following example shows how the isEmpty function can be used to check an expression before assigning its value to a variable.
if (data.results._embedded.contact && !_generalHelper.isEmpty(data.results._embedded.contact)) {
var contacts = data.results._embedded.contact;
.
.
.
}
namespace(namespaceString)
The namespace function generates an object placed in a namespace, based on the supplied string. This function splits the namespace string on '.' and begins iterating over the parts, creating a new object if necessary.
Parameter | Description |
---|---|
namespaceString | Namespace to generate. |
Returns: JSON object representing the namespace.
Syntax
namespace(namespaceString )
Example
_generalHelper. namespace("microsoft.rtc.ucwa.samples");