@finos/fdc3
Advanced tools
Comparing version 2.0.2 to 2.0.3
@@ -11,2 +11,3 @@ # Changelog | ||
* Added a `MalformedContext` error to the `OpenError`, `ChannelError` and `ResolveError` enumerations, to be used when `broadcast`, `open`, `findIntents`, `raiseIntents` and other related functions are passed an invalid context Object. ([#972](https://github.com/finos/FDC3/pull/972)) | ||
* Added error examples to the /v2 App Directory API routes ([#973](https://github.com/finos/FDC3/pull/973)) | ||
@@ -18,8 +19,20 @@ | ||
* Corrected API functions and object types to always use `string` instead of `String` ([#924](https://github.com/finos/FDC3/pull/924)) | ||
* Corrected the appD `interop.appChannels` metadata to use an `id` field to identify channels, rather than `name` ([#981](https://github.com/finos/FDC3/pull/981)) | ||
### Deprecated | ||
* Deprecated the `name` field in AppD records, to match deprecation of API signatures and metadata objects using `name` (see ([#722](https://github.com/finos/FDC3/pull/722)) | ||
)) in 2.0 ([#928])(https://github.com/finos/FDC3/pull/928)) | ||
* Deprecated `IntentMetadata.displayName` and the appD record's `interop.intents.listensFor[].displayName` field in favour of using intent names for display (which are required to be recognizable) as it can be set differently for each application in the appD ([#926](https://github.com/finos/FDC3/pull/926)) | ||
### Fixed | ||
* Further clarified the difference between the behavior of User channels and other channel types on joinUserChannel/addContextListener. ([#971](https://github.com/finos/FDC3/pull/971)) | ||
## [npm v2.0.3] - 2023-05-31 | ||
### Changed | ||
* Applied missing `readonly` tags to `ImplementationMetadata.optionalFeatures` sub-properties. ([#1008](https://github.com/finos/FDC3/pull/1008)) | ||
## [npm v2.0.2] - 2023-05-24 | ||
@@ -26,0 +39,0 @@ |
@@ -46,2 +46,4 @@ /** | ||
* If you are working with complex context types composed of other simpler types (as recommended by the FDC3 Context Data specification) then you should broadcast each individual type (starting with the simpler types, followed by the complex type) that you want other apps to be able to respond to. Doing so allows applications to filter the context types they receive by adding listeners for specific context types. | ||
* | ||
* If an application attempts to broadcast an invalid context argument the Promise returned by this function should reject with the `ChannelError.MalformedContext` error. | ||
*/ | ||
@@ -48,0 +50,0 @@ broadcast(context: Context): Promise<void>; |
@@ -55,3 +55,3 @@ /** | ||
* | ||
* If the resolution fails, the promise MUST be rejected with an `Error` Object with a `message` chosen from the `ResolveError` enumeration. This includes the case where no apps are found that resolve the intent, when the `ResolveError.NoAppsFound` message should be used. | ||
* If the resolution fails, the promise MUST be rejected with an `Error` Object with a `message` chosen from the `ResolveError` enumeration. This includes the case where no apps are found that resolve the intent, when the `ResolveError.NoAppsFound` message should be used, and when an invalid context object is passed as an argument, when the `ResolveError.MalformedContext` message should be used. | ||
* | ||
@@ -72,3 +72,3 @@ * Result types may be a type name, the string "channel" (which indicates that the app | ||
* // { | ||
* // intent: { name: "StartChat", displayName: "Chat" }, | ||
* // intent: { name: "StartChat" }, | ||
* // apps: [ | ||
@@ -89,3 +89,3 @@ * // { appId: "Skype" }, | ||
* // { | ||
* // intent: { name: "StartChat", displayName: "Chat" }, | ||
* // intent: { name: "StartChat" }, | ||
* // apps: [ | ||
@@ -106,3 +106,3 @@ * // { appId: "Skype" }, | ||
* // { | ||
* // intent: { name: "StartChat", displayName: "Chat" }, | ||
* // intent: { name: "StartChat" }, | ||
* // apps: [{ appId: "Symphony" }] | ||
@@ -115,3 +115,3 @@ * // } | ||
* // { | ||
* // intent: { name: "ViewContact", displayName: "View Contact Details" }, | ||
* // intent: { name: "ViewContact" }, | ||
* // apps: { appId: "MyCRM", resultType: "fdc3.ContactList"}] | ||
@@ -124,3 +124,3 @@ * // } | ||
* // { | ||
* // intent: { name: "QuoteStream", displayName: "Quotes stream" }, | ||
* // intent: { name: "QuoteStream" }, | ||
* // apps: [{ appId: "MyOMS", resultType: "channel<fdc3.Quote>"}] | ||
@@ -137,3 +137,3 @@ * // } | ||
* | ||
* If the resolution fails, the promise MUST be rejected with an `Error` Object with a `message` chosen from the `ResolveError` enumeration. This includes the case where no intents with associated apps are found, when the `ResolveError.NoAppsFound` message should be used. | ||
* If the resolution fails, the promise MUST be rejected with an `Error` Object with a `message` chosen from the `ResolveError` enumeration. This includes the case where no intents with associated apps are found, when the `ResolveError.NoAppsFound` message should be used, and when an invalid context object is passed as an argument, when the `ResolveError.MalformedContext` message should be used. | ||
* | ||
@@ -153,7 +153,7 @@ * The optional `resultType` argument may be a type name, the string "channel" (which indicates that the app | ||
* // { | ||
* // intent: { name: "StartCall", displayName: "Call" }, | ||
* // intent: { name: "StartCall" }, | ||
* // apps: [{ name: "Skype" }] | ||
* // }, | ||
* // { | ||
* // intent: { name: "StartChat", displayName: "Chat" }, | ||
* // intent: { name: "StartChat" }, | ||
* // apps: [ | ||
@@ -172,3 +172,3 @@ * // { appId: "Skype" }, | ||
* // [{ | ||
* // intent: { name: "ViewContact", displayName: "View Contacts" }, | ||
* // intent: { name: "ViewContact" }, | ||
* // apps: [{ appId: "MyCRM", resultType: "fdc3.ContactList"}] | ||
@@ -215,2 +215,4 @@ * // }]; | ||
* | ||
* If an application attempts to broadcast an invalid context argument the Promise returned by this function should reject with the `ChannelError.MalformedContext` error. | ||
* | ||
* ```javascript | ||
@@ -233,3 +235,3 @@ * const instrument = { | ||
* | ||
* If a target app for the intent cannot be found with the criteria provided or the user either closes the resolver UI or otherwise cancels resolution, the promise MUST be rejected with an `Error` object with a `message` chosen from the `ResolveError` enumeration. If a specific target `app` parameter was set, but either the app or app instance is not available, the promise MUST be rejected with an `Error` object with either the `ResolveError.TargetAppUnavailable` or `ResolveError.TargetInstanceUnavailable` string as its `message`. | ||
* If a target app for the intent cannot be found with the criteria provided or the user either closes the resolver UI or otherwise cancels resolution, the promise MUST be rejected with an `Error` object with a `message` chosen from the `ResolveError` enumeration. If a specific target `app` parameter was set, but either the app or app instance is not available, the promise MUST be rejected with an `Error` object with either the `ResolveError.TargetAppUnavailable` or `ResolveError.TargetInstanceUnavailable` string as its `message`. If an invalid context object is passed as an argument the promise MUST be rejected with an `Error` object with the `ResolveError.MalformedContext` string as its `message`. | ||
* | ||
@@ -240,3 +242,3 @@ * If you wish to raise an Intent without a context, use the `fdc3.nothing` context type. This type exists so that apps can explicitly declare support for raising an intent without context. | ||
* | ||
* Issuing apps may optionally wait on the promise that is returned by the `getResult()` member of the `IntentResolution`. This promise will resolve when the _receiving app's_ intent handler function returns and resolves a promise. The Desktop Agent resolves the issuing app's promise with the Context object or Channel that is provided as resolution within the receiving app. The Desktop Agent MUST reject the issuing app's promise, with a string from the `ResultError` enumeration, if: (1) the intent handling function's returned promise rejects, (2) the intent handling function doesn't return a promise, or (3) the returned promise resolves to an invalid type. | ||
* Issuing apps may optionally wait on the promise that is returned by the `getResult()` member of the `IntentResolution`. This promise will resolve when the _receiving app's_ intent handler function returns and resolves a promise. The Desktop Agent resolves the issuing app's promise with the Context object, Channel object or void that is provided as resolution within the receiving app. The Desktop Agent MUST reject the issuing app's promise, with a string from the `ResultError` enumeration, if: (1) the intent handling function's returned promise rejects, (2) the intent handling function doesn't return a valid response (a promise or void), or (3) the returned promise resolves to an invalid type. | ||
* | ||
@@ -284,3 +286,3 @@ * ```javascript | ||
* | ||
* If a target intent and app cannot be found with the criteria provided or the user either closes the resolver UI or otherwise cancels resolution, the promise MUST be rejected with an `Error` object with a `message` chosen from the `ResolveError` enumeration. If a specific target `app` parameter was set, but either the app or app instance is not available, the promise MUST be rejected with an `Error` object with either the `ResolveError.TargetAppUnavailable` or `ResolveError.TargetInstanceUnavailable` string as its `message`. | ||
* If a target intent and app cannot be found with the criteria provided or the user either closes the resolver UI or otherwise cancels resolution, the promise MUST be rejected with an `Error` object with a `message` chosen from the `ResolveError` enumeration. If a specific target `app` parameter was set, but either the app or app instance is not available, the promise MUST be rejected with an `Error` object with either the `ResolveError.TargetAppUnavailable` or `ResolveError.TargetInstanceUnavailable` string as its `message`. If an invalid context object is passed as an argument the promise MUST be rejected with an `Error` object with the `ResolveError.MalformedContext` string as its `message`. | ||
* | ||
@@ -297,7 +299,7 @@ * ```javascript | ||
/** | ||
* Adds a listener for incoming Intents from the Agent. The handler function may return void or a promise that should resolve to an `IntentResult`, which is either a `Context` object, representing any data that should be returned, or a `Channel` over which data responses will be sent. The IntentResult will be returned to app that raised the intent via the `IntentResolution` and retrieved from it using the `getResult()` function. | ||
* Adds a listener for incoming intents from the Desktop Agent. The handler function may return void or a promise that resolves to an `IntentResult`, which is either a `Context` object, representing any data that should be returned to the app that raised the intent, a `Channel` Object, a `PrivateChannel` over which data responses will be sent, or `void`. The `IntentResult` will be returned to the app that raised the intent via the `IntentResolution` and retrieved from it using the `getResult()` function. | ||
* | ||
* The Desktop Agent MUST reject the promise returned by the `getResult()` function of `IntentResolution` if: (1) the intent handling function's returned promise rejects, (2) the intent handling function doesn't return a promise, or (3) the returned promise resolves to an invalid type. | ||
* | ||
* The `PrivateChannel` type is provided to support synchronisation of data transmitted over returned channels, by allowing both parties to listen for events denoting subscription and unsubscription from the returned channel. `PrivateChannels` are only retrievable via raising an intent. | ||
* The `PrivateChannel` type is provided to support synchronization of data transmitted over returned channels, by allowing both parties to listen for events denoting subscription and unsubscription from the returned channel. `PrivateChannels` are only retrievable via raising an intent. | ||
* | ||
@@ -304,0 +306,0 @@ * Optional metadata about the raised intent, including the app that originated the message, SHOULD be provided by the desktop agent implementation. |
@@ -14,3 +14,5 @@ /** | ||
/** Returned if the FDC3 desktop agent implementation is not currently able to handle the request.*/ | ||
ResolverUnavailable = "ResolverUnavailable" | ||
ResolverUnavailable = "ResolverUnavailable", | ||
/** Returned if a call to the `open` function is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
MalformedContext = "MalformedContext" | ||
} | ||
@@ -32,6 +34,8 @@ /** Constants representing the errors that can be encountered when calling the `findIntent`, `findIntentsByContext`, `raiseIntent` or `raiseIntentForContext` methods on the DesktopAgent (`fdc3`). */ | ||
/** Returned if the intent and context could not be delivered to the selected application or instance, for example because it has not added an intent handler within a timeout.*/ | ||
IntentDeliveryFailed = "IntentDeliveryFailed" | ||
IntentDeliveryFailed = "IntentDeliveryFailed", | ||
/** Returned if a call to one of the `raiseIntent` functions is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
MalformedContext = "MalformedContext" | ||
} | ||
export declare enum ResultError { | ||
/** Returned if the intent handler exited without returning a Promise or that Promise was not resolved with a Context or Channel object. */ | ||
/** Returned if the intent handler exited without returning a valid result (a promise resolving to a Context, Channel object or void). */ | ||
NoResultReturned = "NoResultReturned", | ||
@@ -47,3 +51,5 @@ /** Returned if the Intent handler function processing the raised intent throws an error or rejects the Promise it returned. */ | ||
/** SHOULD be returned when a channel cannot be created or retrieved via the `getOrCreateChannel` method of the DesktopAgent (`fdc3`).*/ | ||
CreationFailed = "CreationFailed" | ||
CreationFailed = "CreationFailed", | ||
/** Returned if a call to the `broadcast` functions is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
MalformedContext = "MalformedContext" | ||
} |
@@ -22,9 +22,9 @@ /** | ||
readonly optionalFeatures: { | ||
/** Used to indicate whether the exposure of 'origninating app metadata' for | ||
/** Used to indicate whether the exposure of 'originating app metadata' for | ||
* context and intent messages is supported by the Desktop Agent.*/ | ||
OriginatingAppMetadata: boolean; | ||
readonly OriginatingAppMetadata: boolean; | ||
/** Used to indicate whether the optional `fdc3.joinUserChannel`, | ||
* `fdc3.getCurrentChannel` and `fdc3.leaveCurrentChannel` are implemented by | ||
* the Desktop Agent.*/ | ||
UserChannelMembershipAPIs: boolean; | ||
readonly UserChannelMembershipAPIs: boolean; | ||
}; | ||
@@ -31,0 +31,0 @@ /** The calling application instance's own metadata, according to the Desktop Agent (MUST include at least the `appId` and `instanceId`). */ |
@@ -11,4 +11,7 @@ /** | ||
readonly name: string; | ||
/** A friendly display name for the intent that should be used to render UI elements */ | ||
/** Display name for the intent. | ||
* @deprecated Use the intent name for display as display name may vary for | ||
* each application as it is defined in the app's AppD record. | ||
*/ | ||
readonly displayName: string; | ||
} |
@@ -50,16 +50,17 @@ /** | ||
/** | ||
* Retrieves a promise that will resolve to either `Context` data returned | ||
* by the application that resolves the raised intent or a `Channel` | ||
* established and returned by the app resolving the intent. | ||
* Retrieves a promise that will resolve to `Context` data returned | ||
* by the application that resolves the raised intent, a `Channel` | ||
* established and returned by the app resolving the intent or void. | ||
* | ||
* A `Channel` returned will often be of the `PrivateChannel` type. The | ||
* A `Channel` returned MAY be of the `PrivateChannel` type. The | ||
* client can then `addContextListener()` on that channel to, for example, | ||
* receive a stream of data. | ||
* | ||
* The promise MUST reject with a string from the `ResultError` enumeration | ||
* if an error is thrown by the intent handler, it rejects the returned | ||
* promise, it does not return a promise or the promise resolves to an | ||
* object of an invalid type. | ||
* If an error occurs (i.e. an error is thrown by the handler function, | ||
* the promise it returns is rejected, or the promise resolved to an invalid | ||
* type) then the Desktop Agent MUST reject the promise returned by the | ||
* `getResult()` function of the `IntentResolution` with a string from | ||
* the `ResultError` enumeration. | ||
*/ | ||
getResult(): Promise<IntentResult>; | ||
} |
@@ -19,6 +19,6 @@ /** | ||
*/ | ||
export declare type IntentResult = Context | Channel; | ||
export declare type IntentResult = Context | Channel | void; | ||
/** | ||
* Describes a callback that handles a context event and may return a | ||
* promise of a Context or Channel object to be returned to the | ||
* promise of a Context, Channel object or void to be returned to the | ||
* application that raised the intent. | ||
@@ -25,0 +25,0 @@ * Used when attaching listeners for raised intents. |
@@ -18,2 +18,4 @@ 'use strict'; | ||
OpenError["ResolverUnavailable"] = "ResolverUnavailable"; | ||
/** Returned if a call to the `open` function is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
OpenError["MalformedContext"] = "MalformedContext"; | ||
})(exports.OpenError || (exports.OpenError = {})); | ||
@@ -35,5 +37,7 @@ (function (ResolveError) { | ||
ResolveError["IntentDeliveryFailed"] = "IntentDeliveryFailed"; | ||
/** Returned if a call to one of the `raiseIntent` functions is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
ResolveError["MalformedContext"] = "MalformedContext"; | ||
})(exports.ResolveError || (exports.ResolveError = {})); | ||
(function (ResultError) { | ||
/** Returned if the intent handler exited without returning a Promise or that Promise was not resolved with a Context or Channel object. */ | ||
/** Returned if the intent handler exited without returning a valid result (a promise resolving to a Context, Channel object or void). */ | ||
ResultError["NoResultReturned"] = "NoResultReturned"; | ||
@@ -50,2 +54,4 @@ /** Returned if the Intent handler function processing the raised intent throws an error or rejects the Promise it returned. */ | ||
ChannelError["CreationFailed"] = "CreationFailed"; | ||
/** Returned if a call to the `broadcast` functions is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
ChannelError["MalformedContext"] = "MalformedContext"; | ||
})(exports.ChannelError || (exports.ChannelError = {})); | ||
@@ -52,0 +58,0 @@ |
@@ -1,2 +0,2 @@ | ||
"use strict";var t,n,e,o;function r(){r=function(){return t};var t={},n=Object.prototype,e=n.hasOwnProperty,o=Object.defineProperty||function(t,n,e){t[n]=e.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(t,n,e){return Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[n]}try{c({},"")}catch(t){c=function(t,n,e){return t[n]=e}}function p(t,n,e,r){var i=Object.create((n&&n.prototype instanceof f?n:f).prototype),s=new N(r||[]);return o(i,"_invoke",{value:C(t,e,s)}),i}function y(t,n,e){try{return{type:"normal",arg:t.call(n,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=p;var d={};function f(){}function l(){}function j(){}var v={};c(v,s,(function(){return this}));var m=Object.getPrototypeOf,h=m&&m(m(E([])));h&&h!==n&&e.call(h,s)&&(v=h);var g=j.prototype=f.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(n){c(t,n,(function(t){return this._invoke(n,t)}))}))}function I(t,n){var r;o(this,"_invoke",{value:function(o,i){function s(){return new n((function(r,s){!function o(r,i,s,a){var u=y(t[r],t,i);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"==typeof p&&e.call(p,"__await")?n.resolve(p.__await).then((function(t){o("next",t,s,a)}),(function(t){o("throw",t,s,a)})):n.resolve(p).then((function(t){c.value=t,s(c)}),(function(t){return o("throw",t,s,a)}))}a(u.arg)}(o,i,r,s)}))}return r=r?r.then(s,s):s()}})}function C(t,n,e){var o="suspendedStart";return function(r,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===r)throw i;return{value:void 0,done:!0}}for(e.method=r,e.arg=i;;){var s=e.delegate;if(s){var a=O(s,e);if(a){if(a===d)continue;return a}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===o)throw o="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);o="executing";var u=y(t,n,e);if("normal"===u.type){if(o=e.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:e.done}}"throw"===u.type&&(o="completed",e.method="throw",e.arg=u.arg)}}}function O(t,n){var e=n.method,o=t.iterator[e];if(void 0===o)return n.delegate=null,"throw"===e&&t.iterator.return&&(n.method="return",n.arg=void 0,O(t,n),"throw"===n.method)||"return"!==e&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+e+"' method")),d;var r=y(o,t.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,d;var i=r.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,d):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,d)}function S(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function x(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function E(t){if(t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,r=function n(){for(;++o<t.length;)if(e.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=void 0,n.done=!0,n};return r.next=r}}return{next:L}}function L(){return{value:void 0,done:!0}}return l.prototype=j,o(g,"constructor",{value:j,configurable:!0}),o(j,"constructor",{value:l,configurable:!0}),l.displayName=c(j,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var n="function"==typeof t&&t.constructor;return!!n&&(n===l||"GeneratorFunction"===(n.displayName||n.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,j):(t.__proto__=j,c(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},w(I.prototype),c(I.prototype,a,(function(){return this})),t.AsyncIterator=I,t.async=function(n,e,o,r,i){void 0===i&&(i=Promise);var s=new I(p(n,e,o,r),i);return t.isGeneratorFunction(e)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},w(g),c(g,u,"Generator"),c(g,s,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var n=Object(t),e=[];for(var o in n)e.push(o);return e.reverse(),function t(){for(;e.length;){var o=e.pop();if(o in n)return t.value=o,t.done=!1,t}return t.done=!0,t}},t.values=E,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&e.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(e,o){return s.type="throw",s.arg=t,n.next=e,o&&(n.method="next",n.arg=void 0),!!o}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var a=e.call(i,"catchLoc"),u=e.call(i,"finallyLoc");if(a&&u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,n){for(var o=this.tryEntries.length-1;o>=0;--o){var r=this.tryEntries[o];if(r.tryLoc<=this.prev&&e.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=n&&n<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=t,s.arg=n,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(s)},complete:function(t,n){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&n&&(this.next=n),d},finish:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var e=this.tryEntries[n];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),x(e),d}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var e=this.tryEntries[n];if(e.tryLoc===t){var o=e.completion;if("throw"===o.type){var r=o.arg;x(e)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,e){return this.delegate={iterator:E(t),resultName:n,nextLoc:e},"next"===this.method&&(this.arg=void 0),d}},t}function i(t,n,e,o,r,i,s){try{var a=t[i](s),u=a.value}catch(t){return void e(t)}a.done?n(u):Promise.resolve(u).then(o,r)}function s(t){return function(){var n=this,e=arguments;return new Promise((function(o,r){var s=t.apply(n,e);function a(t){i(s,o,r,a,u,"next",t)}function u(t){i(s,o,r,a,u,"throw",t)}a(void 0)}))}}Object.defineProperty(exports,"__esModule",{value:!0}),(t=exports.OpenError||(exports.OpenError={})).AppNotFound="AppNotFound",t.ErrorOnLaunch="ErrorOnLaunch",t.AppTimeout="AppTimeout",t.ResolverUnavailable="ResolverUnavailable",(n=exports.ResolveError||(exports.ResolveError={})).NoAppsFound="NoAppsFound",n.ResolverUnavailable="ResolverUnavailable",n.UserCancelled="UserCancelledResolution",n.ResolverTimeout="ResolverTimeout",n.TargetAppUnavailable="TargetAppUnavailable",n.TargetInstanceUnavailable="TargetInstanceUnavailable",n.IntentDeliveryFailed="IntentDeliveryFailed",(e=exports.ResultError||(exports.ResultError={})).NoResultReturned="NoResultReturned",e.IntentHandlerRejected="IntentHandlerRejected",(o=exports.ChannelError||(exports.ChannelError={})).NoChannelFound="NoChannelFound",o.AccessDenied="AccessDenied",o.CreationFailed="CreationFailed";var a=new Error("FDC3 DesktopAgent not available at `window.fdc3`."),u=new Error("Timed out waiting for `fdc3Ready` event."),c=new Error("`fdc3Ready` event fired, but `window.fdc3` not set to DesktopAgent.");function p(t){return window.fdc3?t():Promise.reject(a)}var y=function(){var t=s(r().mark((function t(n){return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n=5e3),t.abrupt("return",new Promise((function(t,e){if(window.fdc3)t();else{var o=setTimeout((function(){return window.fdc3?t():e(u)}),n);window.addEventListener("fdc3Ready",(function(){clearTimeout(o),window.fdc3?t():e(c)}),{once:!0})}})));case 2:case"end":return t.stop()}}),t)})));return function(n){return t.apply(this,arguments)}}();function d(t){return!!t&&"string"==typeof t}function f(){return p((function(){return window.fdc3.getUserChannels?window.fdc3.getUserChannels():window.fdc3.getSystemChannels()}))}function l(t){return p((function(){return window.fdc3.joinUserChannel?window.fdc3.joinUserChannel(t):window.fdc3.joinChannel(t)}))}var j,v,m=function(t,n){try{for(var e=t.split(".").map(Number),o=n.split(".").map(Number),r=0;r<Math.max(e.length,o.length);r++){if(r===e.length||e[r]<o[r])return-1;if(r===o.length||e[r]>o[r])return 1}return 0}catch(t){return console.error("Failed to compare version strings",t),null}};(j=exports.ContextTypes||(exports.ContextTypes={})).Chart="fdc3.chart",j.ChatInitSettings="fdc3.chat.initSettings",j.Contact="fdc3.contact",j.ContactList="fdc3.contactList",j.Country="fdc3.country",j.Currency="fdc3.currency",j.Email="fdc3.email",j.Instrument="fdc3.instrument",j.InstrumentList="fdc3.instrumentList",j.Organization="fdc3.organization",j.Portfolio="fdc3.portfolio",j.Position="fdc3.position",j.Nothing="fdc3.nothing",j.TimeRange="fdc3.timerange",j.Valuation="fdc3.valuation",(v=exports.Style||(exports.Style={})).Bar="bar",v.Candle="candle",v.Custom="custom",v.Heatmap="heatmap",v.Histogram="histogram",v.Line="line",v.Mountain="mountain",v.Pie="pie",v.Scatter="scatter",v.StackedBar="stacked-bar";var h=function(){function t(){}return t.toChart=function(t){return O(JSON.parse(t),D("Chart"))},t.chartToJson=function(t){return JSON.stringify(S(t,D("Chart")),null,2)},t.toChatInitSettings=function(t){return O(JSON.parse(t),D("ChatInitSettings"))},t.chatInitSettingsToJson=function(t){return JSON.stringify(S(t,D("ChatInitSettings")),null,2)},t.toContact=function(t){return O(JSON.parse(t),D("Contact"))},t.contactToJson=function(t){return JSON.stringify(S(t,D("Contact")),null,2)},t.toContactList=function(t){return O(JSON.parse(t),D("ContactList"))},t.contactListToJson=function(t){return JSON.stringify(S(t,D("ContactList")),null,2)},t.toContext=function(t){return O(JSON.parse(t),D("Context"))},t.contextToJson=function(t){return JSON.stringify(S(t,D("Context")),null,2)},t.toCountry=function(t){return O(JSON.parse(t),D("Country"))},t.countryToJson=function(t){return JSON.stringify(S(t,D("Country")),null,2)},t.toCurrency=function(t){return O(JSON.parse(t),D("Currency"))},t.currencyToJson=function(t){return JSON.stringify(S(t,D("Currency")),null,2)},t.toEmail=function(t){return O(JSON.parse(t),D("Email"))},t.emailToJson=function(t){return JSON.stringify(S(t,D("Email")),null,2)},t.toInstrument=function(t){return O(JSON.parse(t),D("Instrument"))},t.instrumentToJson=function(t){return JSON.stringify(S(t,D("Instrument")),null,2)},t.toInstrumentList=function(t){return O(JSON.parse(t),D("InstrumentList"))},t.instrumentListToJson=function(t){return JSON.stringify(S(t,D("InstrumentList")),null,2)},t.toNothing=function(t){return O(JSON.parse(t),D("Nothing"))},t.nothingToJson=function(t){return JSON.stringify(S(t,D("Nothing")),null,2)},t.toOrganization=function(t){return O(JSON.parse(t),D("Organization"))},t.organizationToJson=function(t){return JSON.stringify(S(t,D("Organization")),null,2)},t.toPortfolio=function(t){return O(JSON.parse(t),D("Portfolio"))},t.portfolioToJson=function(t){return JSON.stringify(S(t,D("Portfolio")),null,2)},t.toPosition=function(t){return O(JSON.parse(t),D("Position"))},t.positionToJson=function(t){return JSON.stringify(S(t,D("Position")),null,2)},t.toTimeRange=function(t){return O(JSON.parse(t),D("TimeRange"))},t.timeRangeToJson=function(t){return JSON.stringify(S(t,D("TimeRange")),null,2)},t.toValuation=function(t){return O(JSON.parse(t),D("Valuation"))},t.valuationToJson=function(t){return JSON.stringify(S(t,D("Valuation")),null,2)},t}();function g(t,n,e,o){void 0===o&&(o="");var r=function t(n){return Array.isArray(n)?2===n.length&&void 0===n[0]?"an optional "+t(n[1]):"one of ["+n.map((function(n){return t(n)})).join(", ")+"]":"object"==typeof n&&void 0!==n.literal?n.literal:typeof n}(t);throw Error("Invalid value"+(e?' for key "'+e+'"':"")+(o?" on "+o:"")+". Expected "+r+" but got "+JSON.stringify(n))}function w(t){if(void 0===t.jsonToJS){var n={};t.props.forEach((function(t){return n[t.json]={key:t.js,typ:t.typ}})),t.jsonToJS=n}return t.jsonToJS}function I(t){if(void 0===t.jsToJSON){var n={};t.props.forEach((function(t){return n[t.js]={key:t.json,typ:t.typ}})),t.jsToJSON=n}return t.jsToJSON}function C(t,n,e,o,r){if(void 0===o&&(o=""),void 0===r&&(r=""),"any"===n)return t;if(null===n)return null===t?t:g(n,t,o,r);if(!1===n)return g(n,t,o,r);for(var i=void 0;"object"==typeof n&&void 0!==n.ref;)i=n.ref,n=P[n.ref];return Array.isArray(n)?function(t,n){return-1!==t.indexOf(n)?n:g(t.map((function(t){return x(t)})),n,o,r)}(n,t):"object"==typeof n?n.hasOwnProperty("unionMembers")?function(t,n){for(var i=t.length,s=0;s<i;s++){var a=t[s];try{return C(n,a,e)}catch(t){}}return g(t,n,o,r)}(n.unionMembers,t):n.hasOwnProperty("arrayItems")?function(t,n){return Array.isArray(n)?n.map((function(n){return C(n,t,e)})):g(x("array"),n,o,r)}(n.arrayItems,t):n.hasOwnProperty("props")?function(t,n,s){if(null===s||"object"!=typeof s||Array.isArray(s))return g(x(i||"object"),s,o,r);var a={};return Object.getOwnPropertyNames(t).forEach((function(n){var o=t[n],r=Object.prototype.hasOwnProperty.call(s,n)?s[n]:void 0;a[o.key]=C(r,o.typ,e,n,i)})),Object.getOwnPropertyNames(s).forEach((function(o){Object.prototype.hasOwnProperty.call(t,o)||(a[o]=C(s[o],n,e,o,i))})),a}(e(n),n.additional,t):g(n,t,o,r):n===Date&&"number"!=typeof t?function(t){if(null===t)return null;var n=new Date(t);return isNaN(n.valueOf())?g(x("Date"),t,o,r):n}(t):function(t,n){return typeof t==typeof n?n:g(t,n,o,r)}(n,t)}function O(t,n){return C(t,n,w)}function S(t,n){return C(t,n,I)}function x(t){return{literal:t}}function N(t){return{arrayItems:t}}function E(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];return{unionMembers:n}}function L(t,n){return{props:t,additional:n}}function b(t){return{props:[],additional:t}}function D(t){return{ref:t}}var T,P={Chart:L([{json:"instruments",js:"instruments",typ:N(D("InstrumentElement"))},{json:"otherConfig",js:"otherConfig",typ:E(void 0,b("any"))},{json:"range",js:"range",typ:E(void 0,D("TimeRangeObject"))},{json:"style",js:"style",typ:E(void 0,D("Style"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),InstrumentElement:L([{json:"id",js:"id",typ:D("PurpleID")},{json:"market",js:"market",typ:E(void 0,D("PurpleMarket"))},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),PurpleID:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")},{json:"FIGI",js:"FIGI",typ:E(void 0,"")},{json:"ISIN",js:"ISIN",typ:E(void 0,"")},{json:"PERMID",js:"PERMID",typ:E(void 0,"")},{json:"RIC",js:"RIC",typ:E(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:E(void 0,"")},{json:"ticker",js:"ticker",typ:E(void 0,"")}],"any"),PurpleMarket:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"COUNTRY_ISOALPHA2",js:"COUNTRY_ISOALPHA2",typ:E(void 0,"")},{json:"MIC",js:"MIC",typ:E(void 0,"")},{json:"name",js:"name",typ:E(void 0,"")}],"any"),TimeRangeObject:L([{json:"endTime",js:"endTime",typ:E(void 0,Date)},{json:"startTime",js:"startTime",typ:E(void 0,Date)},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),ChatInitSettings:L([{json:"chatName",js:"chatName",typ:E(void 0,"")},{json:"initMessage",js:"initMessage",typ:E(void 0,"")},{json:"members",js:"members",typ:E(void 0,D("ContactListObject"))},{json:"options",js:"options",typ:E(void 0,"any")},{json:"type",js:"type",typ:"any"}],"any"),ContactListObject:L([{json:"contacts",js:"contacts",typ:N(D("ContactElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),ContactElement:L([{json:"id",js:"id",typ:D("FluffyID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),FluffyID:L([{json:"email",js:"email",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")}],"any"),Contact:L([{json:"id",js:"id",typ:D("TentacledID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),TentacledID:L([{json:"email",js:"email",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")}],"any"),ContactList:L([{json:"contacts",js:"contacts",typ:N(D("ContactElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Context:L([{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")},{json:"type",js:"type",typ:""}],"any"),Country:L([{json:"id",js:"id",typ:D("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),CountryID:L([{json:"COUNTRY_ISOALPHA2",js:"COUNTRY_ISOALPHA2",typ:E(void 0,"")},{json:"COUNTRY_ISOALPHA3",js:"COUNTRY_ISOALPHA3",typ:E(void 0,"")},{json:"ISOALPHA2",js:"ISOALPHA2",typ:E(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:E(void 0,"")}],"any"),Currency:L([{json:"id",js:"id",typ:D("CurrencyID")},{json:"name",js:"name",typ:E(void 0,"")},{json:"type",js:"type",typ:""}],"any"),CurrencyID:L([{json:"CURRENCY_ISOCODE",js:"CURRENCY_ISOCODE",typ:E(void 0,"")}],"any"),Email:L([{json:"recipients",js:"recipients",typ:D("RecipientsObject")},{json:"subject",js:"subject",typ:E(void 0,"")},{json:"textBody",js:"textBody",typ:E(void 0,"")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),RecipientsObject:L([{json:"id",js:"id",typ:E(void 0,D("RecipientsID"))},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")},{json:"contacts",js:"contacts",typ:E(void 0,N(D("ContactElement")))}],"any"),RecipientsID:L([{json:"email",js:"email",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")}],"any"),Instrument:L([{json:"id",js:"id",typ:D("StickyID")},{json:"market",js:"market",typ:E(void 0,D("FluffyMarket"))},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),StickyID:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")},{json:"FIGI",js:"FIGI",typ:E(void 0,"")},{json:"ISIN",js:"ISIN",typ:E(void 0,"")},{json:"PERMID",js:"PERMID",typ:E(void 0,"")},{json:"RIC",js:"RIC",typ:E(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:E(void 0,"")},{json:"ticker",js:"ticker",typ:E(void 0,"")}],"any"),FluffyMarket:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"COUNTRY_ISOALPHA2",js:"COUNTRY_ISOALPHA2",typ:E(void 0,"")},{json:"MIC",js:"MIC",typ:E(void 0,"")},{json:"name",js:"name",typ:E(void 0,"")}],"any"),InstrumentList:L([{json:"instruments",js:"instruments",typ:N(D("InstrumentElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Nothing:L([{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Organization:L([{json:"id",js:"id",typ:D("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),OrganizationID:L([{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")},{json:"LEI",js:"LEI",typ:E(void 0,"")},{json:"PERMID",js:"PERMID",typ:E(void 0,"")}],"any"),Portfolio:L([{json:"positions",js:"positions",typ:N(D("PositionElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),PositionElement:L([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:D("InstrumentElement")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Position:L([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:D("InstrumentElement")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),TimeRange:L([{json:"endTime",js:"endTime",typ:E(void 0,Date)},{json:"startTime",js:"startTime",typ:E(void 0,Date)},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Valuation:L([{json:"CURRENCY_ISOCODE",js:"CURRENCY_ISOCODE",typ:""},{json:"expiryTime",js:"expiryTime",typ:E(void 0,Date)},{json:"price",js:"price",typ:E(void 0,3.14)},{json:"type",js:"type",typ:""},{json:"valuationTime",js:"valuationTime",typ:E(void 0,Date)},{json:"value",js:"value",typ:3.14},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Style:["bar","candle","custom","heatmap","histogram","line","mountain","pie","scatter","stacked-bar"]};(T=exports.Intents||(exports.Intents={})).StartCall="StartCall",T.StartChat="StartChat",T.StartEmail="StartEmail",T.ViewAnalysis="ViewAnalysis",T.ViewChart="ViewChart",T.ViewContact="ViewContact",T.ViewHoldings="ViewHoldings",T.ViewInstrument="ViewInstrument",T.ViewInteractions="ViewInteractions",T.ViewNews="ViewNews",T.ViewOrders="ViewOrders",T.ViewProfile="ViewProfile",T.ViewQuote="ViewQuote",T.ViewResearch="ViewResearch",exports.Convert=h,exports.addContextListener=function(t,n){return p("function"!=typeof t?function(){return window.fdc3.addContextListener(t,n)}:function(){return window.fdc3.addContextListener(null,t)})},exports.addIntentListener=function(t,n){return p((function(){return window.fdc3.addIntentListener(t,n)}))},exports.broadcast=function(t){return p((function(){return window.fdc3.broadcast(t)}))},exports.compareVersionNumbers=m,exports.createPrivateChannel=function(){return p((function(){return window.fdc3.createPrivateChannel()}))},exports.fdc3Ready=y,exports.findInstances=function(t){return p((function(){return window.fdc3.findInstances(t)}))},exports.findIntent=function(t,n,e){return p((function(){return window.fdc3.findIntent(t,n,e)}))},exports.findIntentsByContext=function(t,n){return p((function(){return window.fdc3.findIntentsByContext(t,n)}))},exports.getAppMetadata=function(t){return p((function(){return window.fdc3.getAppMetadata(t)}))},exports.getCurrentChannel=function(){return p((function(){return window.fdc3.getCurrentChannel()}))},exports.getInfo=function(){return p((function(){return window.fdc3.getInfo()}))},exports.getOrCreateChannel=function(t){return p((function(){return window.fdc3.getOrCreateChannel(t)}))},exports.getSystemChannels=function(){return f()},exports.getUserChannels=f,exports.joinChannel=function(t){return l(t)},exports.joinUserChannel=l,exports.leaveCurrentChannel=function(){return p((function(){return window.fdc3.leaveCurrentChannel()}))},exports.open=function(t,n){return d(t),p((function(){return window.fdc3.open(t,n)}))},exports.raiseIntent=function(t,n,e){return d(e),p((function(){return window.fdc3.raiseIntent(t,n,e)}))},exports.raiseIntentForContext=function(t,n){return d(n),p((function(){return window.fdc3.raiseIntentForContext(t,n)}))},exports.versionIsAtLeast=function(t,n){var e=m(t.fdc3Version,n);return null===e?null:e>=0}; | ||
"use strict";var t,n,e,o;function r(){r=function(){return t};var t={},n=Object.prototype,e=n.hasOwnProperty,o=Object.defineProperty||function(t,n,e){t[n]=e.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function c(t,n,e){return Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[n]}try{c({},"")}catch(t){c=function(t,n,e){return t[n]=e}}function p(t,n,e,r){var i=Object.create((n&&n.prototype instanceof f?n:f).prototype),s=new N(r||[]);return o(i,"_invoke",{value:I(t,e,s)}),i}function y(t,n,e){try{return{type:"normal",arg:t.call(n,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=p;var d={};function f(){}function l(){}function j(){}var v={};c(v,s,(function(){return this}));var m=Object.getPrototypeOf,h=m&&m(m(E([])));h&&h!==n&&e.call(h,s)&&(v=h);var g=j.prototype=f.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(n){c(t,n,(function(t){return this._invoke(n,t)}))}))}function C(t,n){var r;o(this,"_invoke",{value:function(o,i){function s(){return new n((function(r,s){!function o(r,i,s,a){var u=y(t[r],t,i);if("throw"!==u.type){var c=u.arg,p=c.value;return p&&"object"==typeof p&&e.call(p,"__await")?n.resolve(p.__await).then((function(t){o("next",t,s,a)}),(function(t){o("throw",t,s,a)})):n.resolve(p).then((function(t){c.value=t,s(c)}),(function(t){return o("throw",t,s,a)}))}a(u.arg)}(o,i,r,s)}))}return r=r?r.then(s,s):s()}})}function I(t,n,e){var o="suspendedStart";return function(r,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===r)throw i;return{value:void 0,done:!0}}for(e.method=r,e.arg=i;;){var s=e.delegate;if(s){var a=O(s,e);if(a){if(a===d)continue;return a}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if("suspendedStart"===o)throw o="completed",e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);o="executing";var u=y(t,n,e);if("normal"===u.type){if(o=e.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:e.done}}"throw"===u.type&&(o="completed",e.method="throw",e.arg=u.arg)}}}function O(t,n){var e=n.method,o=t.iterator[e];if(void 0===o)return n.delegate=null,"throw"===e&&t.iterator.return&&(n.method="return",n.arg=void 0,O(t,n),"throw"===n.method)||"return"!==e&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+e+"' method")),d;var r=y(o,t.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,d;var i=r.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=void 0),n.delegate=null,d):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,d)}function S(t){var n={tryLoc:t[0]};1 in t&&(n.catchLoc=t[1]),2 in t&&(n.finallyLoc=t[2],n.afterLoc=t[3]),this.tryEntries.push(n)}function x(t){var n=t.completion||{};n.type="normal",delete n.arg,t.completion=n}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function E(t){if(t){var n=t[s];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,r=function n(){for(;++o<t.length;)if(e.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=void 0,n.done=!0,n};return r.next=r}}return{next:L}}function L(){return{value:void 0,done:!0}}return l.prototype=j,o(g,"constructor",{value:j,configurable:!0}),o(j,"constructor",{value:l,configurable:!0}),l.displayName=c(j,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var n="function"==typeof t&&t.constructor;return!!n&&(n===l||"GeneratorFunction"===(n.displayName||n.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,j):(t.__proto__=j,c(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},w(C.prototype),c(C.prototype,a,(function(){return this})),t.AsyncIterator=C,t.async=function(n,e,o,r,i){void 0===i&&(i=Promise);var s=new C(p(n,e,o,r),i);return t.isGeneratorFunction(e)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},w(g),c(g,u,"Generator"),c(g,s,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var n=Object(t),e=[];for(var o in n)e.push(o);return e.reverse(),function t(){for(;e.length;){var o=e.pop();if(o in n)return t.value=o,t.done=!1,t}return t.done=!0,t}},t.values=E,N.prototype={constructor:N,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&e.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(e,o){return s.type="throw",s.arg=t,n.next=e,o&&(n.method="next",n.arg=void 0),!!o}for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var a=e.call(i,"catchLoc"),u=e.call(i,"finallyLoc");if(a&&u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,n){for(var o=this.tryEntries.length-1;o>=0;--o){var r=this.tryEntries[o];if(r.tryLoc<=this.prev&&e.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=n&&n<=i.finallyLoc&&(i=null);var s=i?i.completion:{};return s.type=t,s.arg=n,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(s)},complete:function(t,n){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&n&&(this.next=n),d},finish:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var e=this.tryEntries[n];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),x(e),d}},catch:function(t){for(var n=this.tryEntries.length-1;n>=0;--n){var e=this.tryEntries[n];if(e.tryLoc===t){var o=e.completion;if("throw"===o.type){var r=o.arg;x(e)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,e){return this.delegate={iterator:E(t),resultName:n,nextLoc:e},"next"===this.method&&(this.arg=void 0),d}},t}function i(t,n,e,o,r,i,s){try{var a=t[i](s),u=a.value}catch(t){return void e(t)}a.done?n(u):Promise.resolve(u).then(o,r)}function s(t){return function(){var n=this,e=arguments;return new Promise((function(o,r){var s=t.apply(n,e);function a(t){i(s,o,r,a,u,"next",t)}function u(t){i(s,o,r,a,u,"throw",t)}a(void 0)}))}}Object.defineProperty(exports,"__esModule",{value:!0}),(t=exports.OpenError||(exports.OpenError={})).AppNotFound="AppNotFound",t.ErrorOnLaunch="ErrorOnLaunch",t.AppTimeout="AppTimeout",t.ResolverUnavailable="ResolverUnavailable",t.MalformedContext="MalformedContext",(n=exports.ResolveError||(exports.ResolveError={})).NoAppsFound="NoAppsFound",n.ResolverUnavailable="ResolverUnavailable",n.UserCancelled="UserCancelledResolution",n.ResolverTimeout="ResolverTimeout",n.TargetAppUnavailable="TargetAppUnavailable",n.TargetInstanceUnavailable="TargetInstanceUnavailable",n.IntentDeliveryFailed="IntentDeliveryFailed",n.MalformedContext="MalformedContext",(e=exports.ResultError||(exports.ResultError={})).NoResultReturned="NoResultReturned",e.IntentHandlerRejected="IntentHandlerRejected",(o=exports.ChannelError||(exports.ChannelError={})).NoChannelFound="NoChannelFound",o.AccessDenied="AccessDenied",o.CreationFailed="CreationFailed",o.MalformedContext="MalformedContext";var a=new Error("FDC3 DesktopAgent not available at `window.fdc3`."),u=new Error("Timed out waiting for `fdc3Ready` event."),c=new Error("`fdc3Ready` event fired, but `window.fdc3` not set to DesktopAgent.");function p(t){return window.fdc3?t():Promise.reject(a)}var y=function(){var t=s(r().mark((function t(n){return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return void 0===n&&(n=5e3),t.abrupt("return",new Promise((function(t,e){if(window.fdc3)t();else{var o=setTimeout((function(){return window.fdc3?t():e(u)}),n);window.addEventListener("fdc3Ready",(function(){clearTimeout(o),window.fdc3?t():e(c)}),{once:!0})}})));case 2:case"end":return t.stop()}}),t)})));return function(n){return t.apply(this,arguments)}}();function d(t){return!!t&&"string"==typeof t}function f(){return p((function(){return window.fdc3.getUserChannels?window.fdc3.getUserChannels():window.fdc3.getSystemChannels()}))}function l(t){return p((function(){return window.fdc3.joinUserChannel?window.fdc3.joinUserChannel(t):window.fdc3.joinChannel(t)}))}var j,v,m=function(t,n){try{for(var e=t.split(".").map(Number),o=n.split(".").map(Number),r=0;r<Math.max(e.length,o.length);r++){if(r===e.length||e[r]<o[r])return-1;if(r===o.length||e[r]>o[r])return 1}return 0}catch(t){return console.error("Failed to compare version strings",t),null}};(j=exports.ContextTypes||(exports.ContextTypes={})).Chart="fdc3.chart",j.ChatInitSettings="fdc3.chat.initSettings",j.Contact="fdc3.contact",j.ContactList="fdc3.contactList",j.Country="fdc3.country",j.Currency="fdc3.currency",j.Email="fdc3.email",j.Instrument="fdc3.instrument",j.InstrumentList="fdc3.instrumentList",j.Organization="fdc3.organization",j.Portfolio="fdc3.portfolio",j.Position="fdc3.position",j.Nothing="fdc3.nothing",j.TimeRange="fdc3.timerange",j.Valuation="fdc3.valuation",(v=exports.Style||(exports.Style={})).Bar="bar",v.Candle="candle",v.Custom="custom",v.Heatmap="heatmap",v.Histogram="histogram",v.Line="line",v.Mountain="mountain",v.Pie="pie",v.Scatter="scatter",v.StackedBar="stacked-bar";var h=function(){function t(){}return t.toChart=function(t){return O(JSON.parse(t),D("Chart"))},t.chartToJson=function(t){return JSON.stringify(S(t,D("Chart")),null,2)},t.toChatInitSettings=function(t){return O(JSON.parse(t),D("ChatInitSettings"))},t.chatInitSettingsToJson=function(t){return JSON.stringify(S(t,D("ChatInitSettings")),null,2)},t.toContact=function(t){return O(JSON.parse(t),D("Contact"))},t.contactToJson=function(t){return JSON.stringify(S(t,D("Contact")),null,2)},t.toContactList=function(t){return O(JSON.parse(t),D("ContactList"))},t.contactListToJson=function(t){return JSON.stringify(S(t,D("ContactList")),null,2)},t.toContext=function(t){return O(JSON.parse(t),D("Context"))},t.contextToJson=function(t){return JSON.stringify(S(t,D("Context")),null,2)},t.toCountry=function(t){return O(JSON.parse(t),D("Country"))},t.countryToJson=function(t){return JSON.stringify(S(t,D("Country")),null,2)},t.toCurrency=function(t){return O(JSON.parse(t),D("Currency"))},t.currencyToJson=function(t){return JSON.stringify(S(t,D("Currency")),null,2)},t.toEmail=function(t){return O(JSON.parse(t),D("Email"))},t.emailToJson=function(t){return JSON.stringify(S(t,D("Email")),null,2)},t.toInstrument=function(t){return O(JSON.parse(t),D("Instrument"))},t.instrumentToJson=function(t){return JSON.stringify(S(t,D("Instrument")),null,2)},t.toInstrumentList=function(t){return O(JSON.parse(t),D("InstrumentList"))},t.instrumentListToJson=function(t){return JSON.stringify(S(t,D("InstrumentList")),null,2)},t.toNothing=function(t){return O(JSON.parse(t),D("Nothing"))},t.nothingToJson=function(t){return JSON.stringify(S(t,D("Nothing")),null,2)},t.toOrganization=function(t){return O(JSON.parse(t),D("Organization"))},t.organizationToJson=function(t){return JSON.stringify(S(t,D("Organization")),null,2)},t.toPortfolio=function(t){return O(JSON.parse(t),D("Portfolio"))},t.portfolioToJson=function(t){return JSON.stringify(S(t,D("Portfolio")),null,2)},t.toPosition=function(t){return O(JSON.parse(t),D("Position"))},t.positionToJson=function(t){return JSON.stringify(S(t,D("Position")),null,2)},t.toTimeRange=function(t){return O(JSON.parse(t),D("TimeRange"))},t.timeRangeToJson=function(t){return JSON.stringify(S(t,D("TimeRange")),null,2)},t.toValuation=function(t){return O(JSON.parse(t),D("Valuation"))},t.valuationToJson=function(t){return JSON.stringify(S(t,D("Valuation")),null,2)},t}();function g(t,n,e,o){void 0===o&&(o="");var r=function t(n){return Array.isArray(n)?2===n.length&&void 0===n[0]?"an optional "+t(n[1]):"one of ["+n.map((function(n){return t(n)})).join(", ")+"]":"object"==typeof n&&void 0!==n.literal?n.literal:typeof n}(t);throw Error("Invalid value"+(e?' for key "'+e+'"':"")+(o?" on "+o:"")+". Expected "+r+" but got "+JSON.stringify(n))}function w(t){if(void 0===t.jsonToJS){var n={};t.props.forEach((function(t){return n[t.json]={key:t.js,typ:t.typ}})),t.jsonToJS=n}return t.jsonToJS}function C(t){if(void 0===t.jsToJSON){var n={};t.props.forEach((function(t){return n[t.js]={key:t.json,typ:t.typ}})),t.jsToJSON=n}return t.jsToJSON}function I(t,n,e,o,r){if(void 0===o&&(o=""),void 0===r&&(r=""),"any"===n)return t;if(null===n)return null===t?t:g(n,t,o,r);if(!1===n)return g(n,t,o,r);for(var i=void 0;"object"==typeof n&&void 0!==n.ref;)i=n.ref,n=P[n.ref];return Array.isArray(n)?function(t,n){return-1!==t.indexOf(n)?n:g(t.map((function(t){return x(t)})),n,o,r)}(n,t):"object"==typeof n?n.hasOwnProperty("unionMembers")?function(t,n){for(var i=t.length,s=0;s<i;s++){var a=t[s];try{return I(n,a,e)}catch(t){}}return g(t,n,o,r)}(n.unionMembers,t):n.hasOwnProperty("arrayItems")?function(t,n){return Array.isArray(n)?n.map((function(n){return I(n,t,e)})):g(x("array"),n,o,r)}(n.arrayItems,t):n.hasOwnProperty("props")?function(t,n,s){if(null===s||"object"!=typeof s||Array.isArray(s))return g(x(i||"object"),s,o,r);var a={};return Object.getOwnPropertyNames(t).forEach((function(n){var o=t[n],r=Object.prototype.hasOwnProperty.call(s,n)?s[n]:void 0;a[o.key]=I(r,o.typ,e,n,i)})),Object.getOwnPropertyNames(s).forEach((function(o){Object.prototype.hasOwnProperty.call(t,o)||(a[o]=I(s[o],n,e,o,i))})),a}(e(n),n.additional,t):g(n,t,o,r):n===Date&&"number"!=typeof t?function(t){if(null===t)return null;var n=new Date(t);return isNaN(n.valueOf())?g(x("Date"),t,o,r):n}(t):function(t,n){return typeof t==typeof n?n:g(t,n,o,r)}(n,t)}function O(t,n){return I(t,n,w)}function S(t,n){return I(t,n,C)}function x(t){return{literal:t}}function N(t){return{arrayItems:t}}function E(){for(var t=arguments.length,n=new Array(t),e=0;e<t;e++)n[e]=arguments[e];return{unionMembers:n}}function L(t,n){return{props:t,additional:n}}function b(t){return{props:[],additional:t}}function D(t){return{ref:t}}var T,P={Chart:L([{json:"instruments",js:"instruments",typ:N(D("InstrumentElement"))},{json:"otherConfig",js:"otherConfig",typ:E(void 0,b("any"))},{json:"range",js:"range",typ:E(void 0,D("TimeRangeObject"))},{json:"style",js:"style",typ:E(void 0,D("Style"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),InstrumentElement:L([{json:"id",js:"id",typ:D("PurpleID")},{json:"market",js:"market",typ:E(void 0,D("PurpleMarket"))},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),PurpleID:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")},{json:"FIGI",js:"FIGI",typ:E(void 0,"")},{json:"ISIN",js:"ISIN",typ:E(void 0,"")},{json:"PERMID",js:"PERMID",typ:E(void 0,"")},{json:"RIC",js:"RIC",typ:E(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:E(void 0,"")},{json:"ticker",js:"ticker",typ:E(void 0,"")}],"any"),PurpleMarket:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"COUNTRY_ISOALPHA2",js:"COUNTRY_ISOALPHA2",typ:E(void 0,"")},{json:"MIC",js:"MIC",typ:E(void 0,"")},{json:"name",js:"name",typ:E(void 0,"")}],"any"),TimeRangeObject:L([{json:"endTime",js:"endTime",typ:E(void 0,Date)},{json:"startTime",js:"startTime",typ:E(void 0,Date)},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),ChatInitSettings:L([{json:"chatName",js:"chatName",typ:E(void 0,"")},{json:"initMessage",js:"initMessage",typ:E(void 0,"")},{json:"members",js:"members",typ:E(void 0,D("ContactListObject"))},{json:"options",js:"options",typ:E(void 0,"any")},{json:"type",js:"type",typ:"any"}],"any"),ContactListObject:L([{json:"contacts",js:"contacts",typ:N(D("ContactElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),ContactElement:L([{json:"id",js:"id",typ:D("FluffyID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),FluffyID:L([{json:"email",js:"email",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")}],"any"),Contact:L([{json:"id",js:"id",typ:D("TentacledID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),TentacledID:L([{json:"email",js:"email",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")}],"any"),ContactList:L([{json:"contacts",js:"contacts",typ:N(D("ContactElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Context:L([{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")},{json:"type",js:"type",typ:""}],"any"),Country:L([{json:"id",js:"id",typ:D("CountryID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),CountryID:L([{json:"COUNTRY_ISOALPHA2",js:"COUNTRY_ISOALPHA2",typ:E(void 0,"")},{json:"COUNTRY_ISOALPHA3",js:"COUNTRY_ISOALPHA3",typ:E(void 0,"")},{json:"ISOALPHA2",js:"ISOALPHA2",typ:E(void 0,"")},{json:"ISOALPHA3",js:"ISOALPHA3",typ:E(void 0,"")}],"any"),Currency:L([{json:"id",js:"id",typ:D("CurrencyID")},{json:"name",js:"name",typ:E(void 0,"")},{json:"type",js:"type",typ:""}],"any"),CurrencyID:L([{json:"CURRENCY_ISOCODE",js:"CURRENCY_ISOCODE",typ:E(void 0,"")}],"any"),Email:L([{json:"recipients",js:"recipients",typ:D("RecipientsObject")},{json:"subject",js:"subject",typ:E(void 0,"")},{json:"textBody",js:"textBody",typ:E(void 0,"")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),RecipientsObject:L([{json:"id",js:"id",typ:E(void 0,D("RecipientsID"))},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")},{json:"contacts",js:"contacts",typ:E(void 0,N(D("ContactElement")))}],"any"),RecipientsID:L([{json:"email",js:"email",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")}],"any"),Instrument:L([{json:"id",js:"id",typ:D("StickyID")},{json:"market",js:"market",typ:E(void 0,D("FluffyMarket"))},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),StickyID:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"CUSIP",js:"CUSIP",typ:E(void 0,"")},{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")},{json:"FIGI",js:"FIGI",typ:E(void 0,"")},{json:"ISIN",js:"ISIN",typ:E(void 0,"")},{json:"PERMID",js:"PERMID",typ:E(void 0,"")},{json:"RIC",js:"RIC",typ:E(void 0,"")},{json:"SEDOL",js:"SEDOL",typ:E(void 0,"")},{json:"ticker",js:"ticker",typ:E(void 0,"")}],"any"),FluffyMarket:L([{json:"BBG",js:"BBG",typ:E(void 0,"")},{json:"COUNTRY_ISOALPHA2",js:"COUNTRY_ISOALPHA2",typ:E(void 0,"")},{json:"MIC",js:"MIC",typ:E(void 0,"")},{json:"name",js:"name",typ:E(void 0,"")}],"any"),InstrumentList:L([{json:"instruments",js:"instruments",typ:N(D("InstrumentElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Nothing:L([{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Organization:L([{json:"id",js:"id",typ:D("OrganizationID")},{json:"type",js:"type",typ:""},{json:"name",js:"name",typ:E(void 0,"")}],"any"),OrganizationID:L([{json:"FDS_ID",js:"FDS_ID",typ:E(void 0,"")},{json:"LEI",js:"LEI",typ:E(void 0,"")},{json:"PERMID",js:"PERMID",typ:E(void 0,"")}],"any"),Portfolio:L([{json:"positions",js:"positions",typ:N(D("PositionElement"))},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),PositionElement:L([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:D("InstrumentElement")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Position:L([{json:"holding",js:"holding",typ:3.14},{json:"instrument",js:"instrument",typ:D("InstrumentElement")},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),TimeRange:L([{json:"endTime",js:"endTime",typ:E(void 0,Date)},{json:"startTime",js:"startTime",typ:E(void 0,Date)},{json:"type",js:"type",typ:""},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Valuation:L([{json:"CURRENCY_ISOCODE",js:"CURRENCY_ISOCODE",typ:""},{json:"expiryTime",js:"expiryTime",typ:E(void 0,Date)},{json:"price",js:"price",typ:E(void 0,3.14)},{json:"type",js:"type",typ:""},{json:"valuationTime",js:"valuationTime",typ:E(void 0,Date)},{json:"value",js:"value",typ:3.14},{json:"id",js:"id",typ:E(void 0,b("any"))},{json:"name",js:"name",typ:E(void 0,"")}],"any"),Style:["bar","candle","custom","heatmap","histogram","line","mountain","pie","scatter","stacked-bar"]};(T=exports.Intents||(exports.Intents={})).StartCall="StartCall",T.StartChat="StartChat",T.StartEmail="StartEmail",T.ViewAnalysis="ViewAnalysis",T.ViewChart="ViewChart",T.ViewContact="ViewContact",T.ViewHoldings="ViewHoldings",T.ViewInstrument="ViewInstrument",T.ViewInteractions="ViewInteractions",T.ViewNews="ViewNews",T.ViewOrders="ViewOrders",T.ViewProfile="ViewProfile",T.ViewQuote="ViewQuote",T.ViewResearch="ViewResearch",exports.Convert=h,exports.addContextListener=function(t,n){return p("function"!=typeof t?function(){return window.fdc3.addContextListener(t,n)}:function(){return window.fdc3.addContextListener(null,t)})},exports.addIntentListener=function(t,n){return p((function(){return window.fdc3.addIntentListener(t,n)}))},exports.broadcast=function(t){return p((function(){return window.fdc3.broadcast(t)}))},exports.compareVersionNumbers=m,exports.createPrivateChannel=function(){return p((function(){return window.fdc3.createPrivateChannel()}))},exports.fdc3Ready=y,exports.findInstances=function(t){return p((function(){return window.fdc3.findInstances(t)}))},exports.findIntent=function(t,n,e){return p((function(){return window.fdc3.findIntent(t,n,e)}))},exports.findIntentsByContext=function(t,n){return p((function(){return window.fdc3.findIntentsByContext(t,n)}))},exports.getAppMetadata=function(t){return p((function(){return window.fdc3.getAppMetadata(t)}))},exports.getCurrentChannel=function(){return p((function(){return window.fdc3.getCurrentChannel()}))},exports.getInfo=function(){return p((function(){return window.fdc3.getInfo()}))},exports.getOrCreateChannel=function(t){return p((function(){return window.fdc3.getOrCreateChannel(t)}))},exports.getSystemChannels=function(){return f()},exports.getUserChannels=f,exports.joinChannel=function(t){return l(t)},exports.joinUserChannel=l,exports.leaveCurrentChannel=function(){return p((function(){return window.fdc3.leaveCurrentChannel()}))},exports.open=function(t,n){return d(t),p((function(){return window.fdc3.open(t,n)}))},exports.raiseIntent=function(t,n,e){return d(e),p((function(){return window.fdc3.raiseIntent(t,n,e)}))},exports.raiseIntentForContext=function(t,n){return d(n),p((function(){return window.fdc3.raiseIntentForContext(t,n)}))},exports.versionIsAtLeast=function(t,n){var e=m(t.fdc3Version,n);return null===e?null:e>=0}; | ||
//# sourceMappingURL=fdc3.cjs.production.min.js.map |
@@ -16,2 +16,4 @@ /** | ||
OpenError["ResolverUnavailable"] = "ResolverUnavailable"; | ||
/** Returned if a call to the `open` function is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
OpenError["MalformedContext"] = "MalformedContext"; | ||
})(OpenError || (OpenError = {})); | ||
@@ -35,6 +37,8 @@ /** Constants representing the errors that can be encountered when calling the `findIntent`, `findIntentsByContext`, `raiseIntent` or `raiseIntentForContext` methods on the DesktopAgent (`fdc3`). */ | ||
ResolveError["IntentDeliveryFailed"] = "IntentDeliveryFailed"; | ||
/** Returned if a call to one of the `raiseIntent` functions is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
ResolveError["MalformedContext"] = "MalformedContext"; | ||
})(ResolveError || (ResolveError = {})); | ||
var ResultError; | ||
(function (ResultError) { | ||
/** Returned if the intent handler exited without returning a Promise or that Promise was not resolved with a Context or Channel object. */ | ||
/** Returned if the intent handler exited without returning a valid result (a promise resolving to a Context, Channel object or void). */ | ||
ResultError["NoResultReturned"] = "NoResultReturned"; | ||
@@ -52,2 +56,4 @@ /** Returned if the Intent handler function processing the raised intent throws an error or rejects the Promise it returned. */ | ||
ChannelError["CreationFailed"] = "CreationFailed"; | ||
/** Returned if a call to the `broadcast` functions is made with an invalid context argument. Contexts should be Objects with at least a `type` field that has a `string` value.*/ | ||
ChannelError["MalformedContext"] = "MalformedContext"; | ||
})(ChannelError || (ChannelError = {})); | ||
@@ -54,0 +60,0 @@ |
{ | ||
"name": "@finos/fdc3", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"author": "Fintech Open Source Foundation (FINOS)", | ||
@@ -5,0 +5,0 @@ "homepage": "https://fdc3.finos.org", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
457153
4642