UNPKG

lexica-dialog-core

Version:
24 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const immutable_1 = require("immutable"); const intentDefaultFeatureMiddleware = async (context, next) => { const { sessionService, commands } = context; if (!lodash_1.isNil(sessionService)) { const memoriesFeatures = sessionService.getMemoriesFeatures(); commands.toArray().forEach(command => { const { features, intent } = command; if (!lodash_1.isNil(intent) && !lodash_1.isNil(intent.defaultFeatures)) { const defaultFeatures = intent.defaultFeatures; let processedFeatures = lodash_1.defaultTo(features, immutable_1.Map()); processedFeatures = Object.keys(intent.defaultFeatures) .filter(key => !processedFeatures.has(key)) .reduce((feature, key) => feature.set(key, defaultFeatures[key]), processedFeatures); command.features = processedFeatures; } }); } await next(); }; exports.default = intentDefaultFeatureMiddleware; //# sourceMappingURL=IntentDefaultFeatureMiddleware.js.map