/** * @public * @memberof Polly */ disconnect() { for (const adapterId of this.adapters.keys()) { this.disconnectFrom(adapterId); } }
/** * Generate a snapshot * * @returns {Array<Object>} * @memberof HistogramMetric */ generateSnapshot() { return Array.from(this.values.keys()).map(key => this.generateItemSnapshot(this.values.get(key), key)); }
keysArray() { return Array.from(this._map.keys()); }
firstKey() { return this._map.keys().next().value; }
valuesArray() { const result = []; for (const key of this._map.keys()) result.push(...Array.from(this._map.get(key).values())); return result; }
it('can handle connect command', async () => { const parseLiveQueryServer = new ParseLiveQueryServer({}); const parseWebSocket = { clientId: -1, }; parseLiveQueryServer._validateKeys = jasmine .createSpy('validateKeys') .and.returnValue(true); await parseLiveQueryServer._handleConnect(parseWebSocket, { sessionToken: 'token', }); const clientKeys = parseLiveQueryServer.clients.keys(); expect(parseLiveQueryServer.clients.size).toBe(1); const firstKey = clientKeys.next().value; expect(parseWebSocket.clientId).toBe(firstKey); const client = parseLiveQueryServer.clients.get(firstKey); expect(client).not.toBeNull(); // Make sure we send connect response to the client expect(client.pushConnect).toHaveBeenCalled(); });
getMethodCallConfigFromPropMap(map = new Map(), requestedKeys) { let desiredKeys = Array.from(map.keys()); if (requestedKeys != null) { desiredKeys = desiredKeys.filter(key => requestedKeys.includes(key)); } return desiredKeys.reduce( (accumulator, key) => { const {methodCall, transformValue} = map.get(key); accumulator.methodCalls.push(methodCall); accumulator.propLabels.push(key); accumulator.valueTransformations.push(transformValue); return accumulator; }, { methodCalls: [], propLabels: [], valueTransformations: [], }, ); }
/** * do qna cross training with lu files * @param {Map<string, LUResource>} qnaFileIdToResourceMap map of qna file id and resource * @param {Map<string, LUResource>} luFileIdToResourceMap map of lu file id and resource * @param {string} interruptionIntentName interruption intent name * @param {boolean} allLuEmpty indicate if all lu files are section empty * @throws {exception} throws errors */ const qnaCrossTrain = function (qnaFileIdToResourceMap, luFileIdToResourceMap, interruptionIntentName, allLuEmpty) { try { for (const qnaObjectId of Array.from(qnaFileIdToResourceMap.keys())) { let luObjectId = qnaObjectId.toLowerCase().replace(new RegExp(helpers.FileExtTypeEnum.QnAFile + '$'), helpers.FileExtTypeEnum.LUFile) let fileName = path.basename(qnaObjectId, path.extname(qnaObjectId)) const culture = fileHelper.getCultureFromPath(qnaObjectId) fileName = culture ? fileName.substring(0, fileName.length - culture.length - 1) : fileName luObjectId = Array.from(luFileIdToResourceMap.keys()).find(x => x.toLowerCase() === luObjectId) if (luObjectId) { const { luResource, qnaResource } = qnaCrossTrainCore(luFileIdToResourceMap.get(luObjectId), qnaFileIdToResourceMap.get(qnaObjectId), fileName, interruptionIntentName, allLuEmpty) luFileIdToResourceMap.set(luObjectId, luResource) qnaFileIdToResourceMap.set(qnaObjectId, qnaResource) } else { let qnaResource = qnaAddMetaData(qnaFileIdToResourceMap.get(qnaObjectId), fileName) qnaFileIdToResourceMap.set(qnaObjectId, qnaResource) } } } catch (err) { throw (err) } }
let fileIdsFromInput = Array.from(fileIdToLuResourceMap.keys()) let lowerCasefileIdsFromInput = Array.from(fileIdToLuResourceMap.keys()).map(x => x.toLowerCase()) let triggerKeys = Object.keys(triggerRules) let lowerCaseTriggerKeys = triggerKeys.map(x => x.toLowerCase()) for (const triggerIntent of Object.keys(intentToDestLuFiles)) { if (triggerIntent !== '' && !intents.some(i => i.Name === triggerIntent)) { throw (new exception(retCode.errorCode.INVALID_INPUT, `Sorry, trigger intent '${triggerIntent}' is not found in lu file: ${fileId}`))
/** * Generate a snapshot. * * @returns {Array<Object>} * @memberof GaugeMetric */ generateSnapshot() { const snapshot = Array.from(this.values.keys()).map(key => { const item = this.values.get(key); const res = { key, value: item.value, labels: item.labels, timestamp: item.timestamp }; if (item.rate) res.rate = item.rate.rate; return res; }); return snapshot; }
/** * @public * @memberof Polly */ pause() { this[PAUSED_ADAPTERS] = [...this.adapters.keys()]; this.disconnect(); }
"({" + (() => { const names = descriptors.keys()
/** * Generate a snapshot. * * @returns {Array<Object>} * @memberof InfoMetric */ generateSnapshot() { const snapshot = Array.from(this.values.keys()).map(key => { const item = this.values.get(key); return { key, value: item.value, labels: item.labels, timestamp: item.timestamp }; }); return snapshot; }
/** * @public * @memberof Polly */ disconnect() { for (const adapterId of this.adapters.keys()) { this.disconnectFrom(adapterId); } }
/** * @public * @memberof Polly */ pause() { this[PAUSED_ADAPTERS] = [...this.adapters.keys()]; this.disconnect(); }