@webex/internal-plugin-conversation 2.59.0 → 2.59.1-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,7 @@ _Object$defineProperty(exports, "__esModule", {
12
12
  });
13
13
  exports.sortActivitiesByPublishedDate = exports.sanitizeActivity = exports.isRootActivity = exports.isReplyActivity = exports.isNewer = exports.isEditActivity = exports.isDeleteActivity = exports.isCreateActivity = exports.getPublishedDate = exports.getParentId = exports.getIsActivityOrphaned = exports.getActivityType = exports.determineActivityType = exports.createRootActivity = exports.createReplyEditActivity = exports.createReplyActivity = exports.createEditActivity = exports.OLDER = exports.NEWER = exports.MID = exports.INITIAL = exports.ACTIVITY_TYPES = void 0;
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
- var _sortBy2 = _interopRequireDefault(require("lodash/sortBy"));
15
+ var _lodash = require("lodash");
16
16
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
18
18
  var OLDER = 'older';
@@ -85,7 +85,7 @@ var isNewer = function isNewer(activity1, activity2) {
85
85
  };
86
86
  exports.isNewer = isNewer;
87
87
  var sortActivitiesByPublishedDate = function sortActivitiesByPublishedDate(activities) {
88
- return (0, _sortBy2.default)(activities, function (activity) {
88
+ return (0, _lodash.sortBy)(activities, function (activity) {
89
89
  return getPublishedDate(activity);
90
90
  });
91
91
  };
@@ -1 +1 @@
1
- {"version":3,"names":["OLDER","exports","NEWER","MID","INITIAL","ACTIVITY_TYPES","REPLY","EDIT","REACTION","REACTION_SELF","ROOT","CREATE","TOMBSTONE","DELETE","REPLY_EDIT","REACTION_SUMMARY","REACTION_SELF_SUMMARY","ADD","getActivityType","activity","_activity$parent","_activity$parent2","parent","type","verb","getPublishedDate","arguments","length","undefined","Date","published","getTime","isNewer","activity1","activity2","sortActivitiesByPublishedDate","activities","_sortBy2","default","getParentId","_activity$parent3","id","isRootActivity","act","isReplyActivity","isEditActivity","isCreateActivity","isDeleteActivity","sanitizeActivity","final","_objectSpread","reaction","reactionSelf","replies","getIsActivityOrphaned","getIsReplyEditActivity","parentId","parentActivity","determineActivityType","initialType","isReplyEditActivity","createRootActivity","createReplyActivity","replyAct","replyParent","createEditActivity","editActivity","editActParentObj","parentAct","joinedEditAct","editParent","object","createReplyEditActivity","parentReplyAct","joinedReplyEditActivity"],"sources":["activities.js"],"sourcesContent":["import {sortBy} from 'lodash';\n\nexport const OLDER = 'older';\nexport const NEWER = 'newer';\nexport const MID = 'mid';\nexport const INITIAL = 'initial';\n\nexport const ACTIVITY_TYPES = {\n REPLY: 'REPLY',\n EDIT: 'EDIT',\n REACTION: 'REACTION',\n REACTION_SELF: 'REACTION_SELF',\n ROOT: 'ROOT',\n CREATE: 'CREATE',\n TOMBSTONE: 'TOMBSTONE',\n DELETE: 'DELETE',\n REPLY_EDIT: 'REPLY_EDIT',\n};\n\nconst REPLY = 'reply';\nconst EDIT = 'edit';\nconst REACTION_SUMMARY = 'reactionSummary';\nconst REACTION_SELF_SUMMARY = 'reactionSelfSummary';\nconst CREATE = 'create';\nconst TOMBSTONE = 'tombstone';\nconst DELETE = 'delete';\nconst ADD = 'add';\n\nexport const getActivityType = (activity) => {\n if (activity.parent?.type === REPLY) {\n return ACTIVITY_TYPES.REPLY;\n }\n if (activity.parent?.type === EDIT) {\n return ACTIVITY_TYPES.EDIT;\n }\n if (activity.verb === ADD || activity.type === REACTION_SUMMARY) {\n return ACTIVITY_TYPES.REACTION;\n }\n if (activity.type === REACTION_SELF_SUMMARY) {\n return ACTIVITY_TYPES.REACTION_SELF;\n }\n if (activity.verb === CREATE) {\n return ACTIVITY_TYPES.CREATE;\n }\n if (activity.verb === TOMBSTONE) {\n return ACTIVITY_TYPES.TOMBSTONE;\n }\n if (activity.verb === DELETE) {\n return ACTIVITY_TYPES.DELETE;\n }\n\n return ACTIVITY_TYPES.ROOT;\n};\n\nexport const getPublishedDate = (activity = {}) => new Date(activity.published).getTime();\n\n/**\n * @param {Object} activity1\n * @param {Object} activity2\n * @returns {boolean} true if first activity is newer than second\n */\nexport const isNewer = (activity1, activity2) =>\n getPublishedDate(activity1) > getPublishedDate(activity2);\n\nexport const sortActivitiesByPublishedDate = (activities) =>\n sortBy(activities, (activity) => getPublishedDate(activity));\n\nexport const getParentId = (activity) => activity?.parent?.id;\n\nexport const isRootActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.ROOT;\nexport const isReplyActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.REPLY;\nexport const isEditActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.EDIT;\nexport const isCreateActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.CREATE;\nexport const isDeleteActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.DELETE;\n\nexport const sanitizeActivity = (activity) => {\n const final = {...activity};\n\n final.reaction = activity.reaction || {};\n final.reactionSelf = activity.reactionSelf || {};\n\n // replies will be spread in order beneath parent, no need to include on final objects\n delete final.replies;\n\n return final;\n};\n\nexport const getIsActivityOrphaned = (activity, activities) =>\n activity.parent && activity.parent.id && !activities[activity.parent.id];\n\nconst getIsReplyEditActivity = (activity, activities) => {\n const parentId = activity.parent.id;\n const parentActivity = activities[parentId];\n\n return parentActivity && isReplyActivity(parentActivity);\n};\n\nexport const determineActivityType = (activity, activities) => {\n const initialType = getActivityType(activity);\n\n // edits to a reply, while they are replies themselves, appear in every way as edits\n // the only way to dermine their status as an edited reply is to find the original reply\n if (initialType === ACTIVITY_TYPES.EDIT) {\n const isReplyEditActivity = getIsReplyEditActivity(activity, activities);\n\n return isReplyEditActivity ? ACTIVITY_TYPES.REPLY_EDIT : initialType;\n }\n\n return initialType;\n};\n\nexport const createRootActivity = (activity) => activity;\n\nexport const createReplyActivity = (activity) => {\n const replyAct = {\n ...activity,\n replyParent: activity.parent,\n };\n\n return replyAct;\n};\n\nexport const createEditActivity = (editActivity, activities) => {\n const editActParentObj = editActivity.parent;\n const parentId = editActParentObj.id;\n const parentAct = activities[parentId];\n\n const joinedEditAct = {\n ...parentAct,\n id: editActivity.id,\n parent: editActParentObj,\n editParent: editActParentObj,\n object: editActivity.object,\n published: editActivity.published,\n };\n\n return joinedEditAct;\n};\n\n// takes an edit activity whose parent is a reply activity\nexport const createReplyEditActivity = (editActivity, activities) => {\n const editActParentObj = editActivity.parent;\n const parentId = editActParentObj.id;\n const parentReplyAct = activities[parentId];\n\n const joinedReplyEditActivity = {\n ...parentReplyAct,\n id: editActivity.id,\n parent: editActParentObj,\n editParent: editActParentObj,\n replyParent: parentReplyAct.parent,\n object: editActivity.object,\n published: editActivity.published,\n };\n\n return joinedReplyEditActivity;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","Object","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","OLDER","exports","NEWER","MID","INITIAL","ACTIVITY_TYPES","REPLY","EDIT","REACTION","REACTION_SELF","ROOT","CREATE","TOMBSTONE","DELETE","REPLY_EDIT","REACTION_SUMMARY","REACTION_SELF_SUMMARY","ADD","getActivityType","activity","_activity$parent","_activity$parent2","parent","type","verb","getPublishedDate","undefined","Date","published","getTime","isNewer","activity1","activity2","sortActivitiesByPublishedDate","activities","sortBy","getParentId","_activity$parent3","id","isRootActivity","act","isReplyActivity","isEditActivity","isCreateActivity","isDeleteActivity","sanitizeActivity","final","reaction","reactionSelf","replies","getIsActivityOrphaned","getIsReplyEditActivity","parentId","parentActivity","determineActivityType","initialType","isReplyEditActivity","createRootActivity","createReplyActivity","replyAct","replyParent","createEditActivity","editActivity","editActParentObj","parentAct","joinedEditAct","editParent","createReplyEditActivity","parentReplyAct","joinedReplyEditActivity"],"sources":["activities.js"],"sourcesContent":["import {sortBy} from 'lodash';\n\nexport const OLDER = 'older';\nexport const NEWER = 'newer';\nexport const MID = 'mid';\nexport const INITIAL = 'initial';\n\nexport const ACTIVITY_TYPES = {\n REPLY: 'REPLY',\n EDIT: 'EDIT',\n REACTION: 'REACTION',\n REACTION_SELF: 'REACTION_SELF',\n ROOT: 'ROOT',\n CREATE: 'CREATE',\n TOMBSTONE: 'TOMBSTONE',\n DELETE: 'DELETE',\n REPLY_EDIT: 'REPLY_EDIT',\n};\n\nconst REPLY = 'reply';\nconst EDIT = 'edit';\nconst REACTION_SUMMARY = 'reactionSummary';\nconst REACTION_SELF_SUMMARY = 'reactionSelfSummary';\nconst CREATE = 'create';\nconst TOMBSTONE = 'tombstone';\nconst DELETE = 'delete';\nconst ADD = 'add';\n\nexport const getActivityType = (activity) => {\n if (activity.parent?.type === REPLY) {\n return ACTIVITY_TYPES.REPLY;\n }\n if (activity.parent?.type === EDIT) {\n return ACTIVITY_TYPES.EDIT;\n }\n if (activity.verb === ADD || activity.type === REACTION_SUMMARY) {\n return ACTIVITY_TYPES.REACTION;\n }\n if (activity.type === REACTION_SELF_SUMMARY) {\n return ACTIVITY_TYPES.REACTION_SELF;\n }\n if (activity.verb === CREATE) {\n return ACTIVITY_TYPES.CREATE;\n }\n if (activity.verb === TOMBSTONE) {\n return ACTIVITY_TYPES.TOMBSTONE;\n }\n if (activity.verb === DELETE) {\n return ACTIVITY_TYPES.DELETE;\n }\n\n return ACTIVITY_TYPES.ROOT;\n};\n\nexport const getPublishedDate = (activity = {}) => new Date(activity.published).getTime();\n\n/**\n * @param {Object} activity1\n * @param {Object} activity2\n * @returns {boolean} true if first activity is newer than second\n */\nexport const isNewer = (activity1, activity2) =>\n getPublishedDate(activity1) > getPublishedDate(activity2);\n\nexport const sortActivitiesByPublishedDate = (activities) =>\n sortBy(activities, (activity) => getPublishedDate(activity));\n\nexport const getParentId = (activity) => activity?.parent?.id;\n\nexport const isRootActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.ROOT;\nexport const isReplyActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.REPLY;\nexport const isEditActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.EDIT;\nexport const isCreateActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.CREATE;\nexport const isDeleteActivity = (act) => getActivityType(act) === ACTIVITY_TYPES.DELETE;\n\nexport const sanitizeActivity = (activity) => {\n const final = {...activity};\n\n final.reaction = activity.reaction || {};\n final.reactionSelf = activity.reactionSelf || {};\n\n // replies will be spread in order beneath parent, no need to include on final objects\n delete final.replies;\n\n return final;\n};\n\nexport const getIsActivityOrphaned = (activity, activities) =>\n activity.parent && activity.parent.id && !activities[activity.parent.id];\n\nconst getIsReplyEditActivity = (activity, activities) => {\n const parentId = activity.parent.id;\n const parentActivity = activities[parentId];\n\n return parentActivity && isReplyActivity(parentActivity);\n};\n\nexport const determineActivityType = (activity, activities) => {\n const initialType = getActivityType(activity);\n\n // edits to a reply, while they are replies themselves, appear in every way as edits\n // the only way to dermine their status as an edited reply is to find the original reply\n if (initialType === ACTIVITY_TYPES.EDIT) {\n const isReplyEditActivity = getIsReplyEditActivity(activity, activities);\n\n return isReplyEditActivity ? ACTIVITY_TYPES.REPLY_EDIT : initialType;\n }\n\n return initialType;\n};\n\nexport const createRootActivity = (activity) => activity;\n\nexport const createReplyActivity = (activity) => {\n const replyAct = {\n ...activity,\n replyParent: activity.parent,\n };\n\n return replyAct;\n};\n\nexport const createEditActivity = (editActivity, activities) => {\n const editActParentObj = editActivity.parent;\n const parentId = editActParentObj.id;\n const parentAct = activities[parentId];\n\n const joinedEditAct = {\n ...parentAct,\n id: editActivity.id,\n parent: editActParentObj,\n editParent: editActParentObj,\n object: editActivity.object,\n published: editActivity.published,\n };\n\n return joinedEditAct;\n};\n\n// takes an edit activity whose parent is a reply activity\nexport const createReplyEditActivity = (editActivity, activities) => {\n const editActParentObj = editActivity.parent;\n const parentId = editActParentObj.id;\n const parentReplyAct = activities[parentId];\n\n const joinedReplyEditActivity = {\n ...parentReplyAct,\n id: editActivity.id,\n parent: editActParentObj,\n editParent: editActParentObj,\n replyParent: parentReplyAct.parent,\n object: editActivity.object,\n published: editActivity.published,\n };\n\n return joinedReplyEditActivity;\n};\n"],"mappings":"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"}
@@ -6,11 +6,11 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.setValue = exports.rootActivityManager = exports.noMoreActivitiesManager = exports.minBatchSize = exports.getValue = exports.getQuery = exports.getLoopCounterFailsafe = exports.getActivityObjectsFromMap = exports.fetchLoopCountMax = exports.defaultMinDisplayableActivities = exports.bookendManager = exports.batchSizeIncrementCount = exports.activityManager = void 0;
9
- var _from = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/from"));
10
- var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
11
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
12
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
13
- var _last2 = _interopRequireDefault(require("lodash/last"));
11
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/from"));
12
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
13
+ var _lodash = require("lodash");
14
14
  var _activities = require("./activities");
15
15
  var defaultMinDisplayableActivities = 20;
16
16
  exports.defaultMinDisplayableActivities = defaultMinDisplayableActivities;
@@ -150,7 +150,7 @@ var bookendManager = function bookendManager() {
150
150
  };
151
151
  var setBookends = function setBookends(activities) {
152
152
  var oldestActsFirst = (0, _activities.sortActivitiesByPublishedDate)(activities);
153
- var newestInBatch = (0, _last2.default)(oldestActsFirst);
153
+ var newestInBatch = (0, _lodash.last)(oldestActsFirst);
154
154
  var oldestInBatch = oldestActsFirst[0];
155
155
  setOldestAct(oldestInBatch);
156
156
  setNewestAct(newestInBatch);
@@ -1 +1 @@
1
- {"version":3,"names":["_activities","require","defaultMinDisplayableActivities","exports","minBatchSize","fetchLoopCountMax","batchSizeIncrementCount","setValue","destination","key","value","set","getValue","source","get","getActivityObjectsFromMap","hashMap","_from","default","map","_ref","_ref2","_slicedToArray2","activity","activityManager","replyActivityHash","_map","editActivityHash","reactionActivityHash","reactionSelfActivityHash","handleNewReply","replyAct","replyParentId","getParentId","existingReplyHash","id","replyHash","handleNewEdit","editAct","isTombstone","verb","ACTIVITY_TYPES","TOMBSTONE","editParentId","existingEdit","isNewer","reactionHelper","reactionAct","hash","reactionParentId","existingReaction","handleNewReaction","handleNewReactionSelf","reactionSelfAct","getActivityHandlerByKey","_ACTIVITY_TYPES$REACT","_defineProperty2","REACTION","REACTION_SELF","EDIT","REPLY","getActivityByTypeAndParentId","type","_ACTIVITY_TYPES$EDIT$","bookendManager","oldestAct","newestAct","getOldestAct","getNewestAct","setOldestAct","act","setNewestAct","setBookends","activities","oldestActsFirst","sortActivitiesByPublishedDate","newestInBatch","_last2","oldestInBatch","noMoreActivitiesManager","noMoreActs","noOlderActs","noNewerActs","getNoMoreActs","checkAndSetNoOlderActs","getActivityType","CREATE","checkAndSetNoNewerActs","length","checkAndSetNoMoreActs","queryType","visibleActs","currentBatchSize","NEWER","OLDER","INITIAL","MID","rootActivityManager","rootActivityHash","addNewRoot","rootAct","getRootActivityHash","getLoopCounterFailsafe","fetchLoopCount","Error","getQuery","queryOptions","newestPublishedDate","oldestPublishedDate","batchSize","_queryOptions$activit","activityToSearch","sinceDate","lastActivityFirst","searchType","midDate","parent","published","limit","maxDate"],"sources":["activity-thread-ordering.js"],"sourcesContent":["import {last} from 'lodash';\n\nimport {\n ACTIVITY_TYPES,\n getParentId,\n isNewer,\n getActivityType,\n sortActivitiesByPublishedDate,\n NEWER,\n OLDER,\n INITIAL,\n MID,\n} from './activities';\n\nexport const defaultMinDisplayableActivities = 20;\nexport const minBatchSize = 10;\nexport const fetchLoopCountMax = 100;\nexport const batchSizeIncrementCount = 10;\n\n// use accessors for ease of refactoring underlying implementation\n/**\n * @param {Map} destination destination map object for data. Currently a Map, but could be refactored to use any type.\n * @param {string} key\n * @param {any} value\n * @returns {Map}\n */\nexport const setValue = (destination, key, value) => destination.set(key, value);\n/**\n * @param {Map} source source map object to access. Currently expects a Map, but could be refactored to use any type\n * @param {string} key\n * @returns {Map}\n */\nexport const getValue = (source, key) => source.get(key);\n\nexport const getActivityObjectsFromMap = (hashMap) =>\n Array.from(hashMap).map(([, activity]) => activity);\n/**\n * creates maps for various activity types and defines handlers for working with stored activities\n * utilizes revealing module pattern to close over state and only expose certain necessary functions for altering state\n * @function\n * @returns {object}\n * getActivityHandlerByKey(activityType) - accepts a key to map to a defined activity handler\n * getActivityByTypeAndParentId(activityType, parentId) accepts a key and a parent ID to return an activity of that type whose parent is the parentId\n */\nexport const activityManager = () => {\n const replyActivityHash = new Map();\n const editActivityHash = new Map();\n const reactionActivityHash = new Map();\n const reactionSelfActivityHash = new Map();\n\n const handleNewReply = (replyAct) => {\n const replyParentId = getParentId(replyAct);\n const existingReplyHash = getValue(replyActivityHash, replyParentId);\n\n if (existingReplyHash) {\n setValue(existingReplyHash, replyAct.id, replyAct);\n } else {\n const replyHash = new Map();\n\n setValue(replyHash, replyAct.id, replyAct);\n setValue(replyActivityHash, replyParentId, replyHash);\n }\n };\n\n const handleNewEdit = (editAct) => {\n const isTombstone = editAct.verb === ACTIVITY_TYPES.TOMBSTONE;\n\n // we can ignore tombstone edits in favor of the newer one\n if (isTombstone) {\n return;\n }\n\n const editParentId = getParentId(editAct);\n const existingEdit = getValue(editActivityHash, editParentId);\n\n // edited activity must be newer than what we already have\n if (!existingEdit || isNewer(editAct, existingEdit)) {\n setValue(editActivityHash, editParentId, editAct);\n }\n };\n\n // logic is identical between reactions and reaction selfs, so handler simply passes the activity and the correct hash\n const reactionHelper = (reactionAct, hash) => {\n const reactionParentId = getParentId(reactionAct);\n const existingReaction = getValue(hash, reactionParentId);\n\n // reaction activity must be newer than what we already have\n if (!existingReaction || isNewer(reactionAct, existingReaction)) {\n setValue(hash, reactionParentId, reactionAct);\n }\n };\n\n const handleNewReaction = (reactionAct) => {\n reactionHelper(reactionAct, reactionActivityHash);\n };\n\n const handleNewReactionSelf = (reactionSelfAct) => {\n reactionHelper(reactionSelfAct, reactionSelfActivityHash);\n };\n\n const getActivityHandlerByKey = (key) =>\n ({\n [ACTIVITY_TYPES.REACTION]: handleNewReaction,\n [ACTIVITY_TYPES.REACTION_SELF]: handleNewReactionSelf,\n [ACTIVITY_TYPES.EDIT]: handleNewEdit,\n [ACTIVITY_TYPES.REPLY]: handleNewReply,\n }[key]);\n\n const getActivityByTypeAndParentId = (type, id) =>\n ({\n [ACTIVITY_TYPES.EDIT]: getValue(editActivityHash, id),\n [ACTIVITY_TYPES.REPLY]: getValue(replyActivityHash, id),\n [ACTIVITY_TYPES.REACTION]: getValue(reactionActivityHash, id),\n [ACTIVITY_TYPES.REACTION_SELF]: getValue(reactionSelfActivityHash, id),\n }[type]);\n\n return {\n getActivityHandlerByKey,\n getActivityByTypeAndParentId,\n };\n};\n\n/**\n * encapsulates state and logic for managing oldest and newest activities\n * @returns {object} setters and getters for activity state management\n */\nexport const bookendManager = () => {\n // keep track of generator state, like what our current oldest & newest activities are\n let oldestAct;\n let newestAct;\n\n const getOldestAct = () => oldestAct;\n const getNewestAct = () => newestAct;\n\n const setOldestAct = (act) => {\n if (!oldestAct) {\n oldestAct = act;\n } else if (isNewer(oldestAct, act)) {\n oldestAct = act;\n }\n };\n\n const setNewestAct = (act) => {\n if (!newestAct) {\n newestAct = act;\n } else if (isNewer(act, newestAct)) {\n newestAct = act;\n }\n };\n\n const setBookends = (activities) => {\n const oldestActsFirst = sortActivitiesByPublishedDate(activities);\n\n const newestInBatch = last(oldestActsFirst);\n const oldestInBatch = oldestActsFirst[0];\n\n setOldestAct(oldestInBatch);\n setNewestAct(newestInBatch);\n };\n\n return {\n setBookends,\n getNewestAct,\n getOldestAct,\n };\n};\n\n/**\n * encapsulates state and logic for when there are no more fetchable activities from convo\n * @returns {object} setters and getters for no more activities logic\n */\nexport const noMoreActivitiesManager = () => {\n // used to determine if we should continue to fetch older activities\n // must be set per iteration, as querying newer activities is still valid when all end of convo has been reached\n let noMoreActs = false;\n let noOlderActs = false;\n let noNewerActs = false;\n\n const getNoMoreActs = () => noMoreActs;\n\n const checkAndSetNoOlderActs = (act) => {\n if (!noOlderActs && getActivityType(act) === ACTIVITY_TYPES.CREATE) {\n noOlderActs = true;\n }\n };\n\n const checkAndSetNoNewerActs = (activities) => {\n if (!activities || !activities.length) {\n noNewerActs = true;\n }\n };\n\n const checkAndSetNoMoreActs = (queryType, visibleActs, currentBatchSize) => {\n if (\n (queryType === NEWER && noNewerActs) ||\n ((queryType === OLDER || queryType === INITIAL) && noOlderActs) ||\n (queryType === MID && visibleActs < currentBatchSize && noOlderActs)\n ) {\n noMoreActs = true;\n }\n };\n\n return {\n getNoMoreActs,\n checkAndSetNoMoreActs,\n checkAndSetNoNewerActs,\n checkAndSetNoOlderActs,\n };\n};\n\n/**\n * encapsulates state and logic for managing root activities\n * @returns {object} setters and getters for activity state management\n */\nexport const rootActivityManager = () => {\n const rootActivityHash = new Map();\n\n const addNewRoot = (rootAct) => {\n setValue(rootActivityHash, rootAct.id, rootAct);\n };\n\n const getRootActivityHash = () => rootActivityHash;\n\n return {\n addNewRoot,\n getRootActivityHash,\n };\n};\n\nexport const getLoopCounterFailsafe = () => {\n let fetchLoopCount = 0;\n\n return () => {\n fetchLoopCount += 1;\n if (fetchLoopCount > fetchLoopCountMax) {\n throw new Error('max fetches reached');\n }\n };\n};\n\n/**\n * creates activity query object\n * @param {string} type type of query to create\n * @param {object} queryOptions options to define query\n * @param {string} [queryOptions.newestPublishedDate] the date of the newest fetched activity\n * @param {string} [queryOptions.oldestPublishedDate] the date of the oldest fetched activity\n * @param {number} [queryOptions.batchSize] the number of activities to query\n * @param {object} [queryOptions.activityToSearch] a server activity to use to build middate query\n * @returns {object}\n */\nexport const getQuery = (type, queryOptions) => {\n const {newestPublishedDate, oldestPublishedDate, batchSize, activityToSearch = {}} = queryOptions;\n\n switch (type) {\n case NEWER: {\n const sinceDate = newestPublishedDate + 1;\n const lastActivityFirst = false;\n\n return {sinceDate, lastActivityFirst};\n }\n case MID: {\n const searchType = getActivityType(activityToSearch);\n let midDate;\n\n if (searchType === ACTIVITY_TYPES.REPLY || searchType === ACTIVITY_TYPES.EDIT) {\n midDate = activityToSearch.parent.published;\n } else {\n midDate = activityToSearch.published;\n }\n\n return {midDate, limit: batchSize};\n }\n case OLDER: {\n const maxDate = oldestPublishedDate - 1;\n\n return {maxDate};\n }\n case INITIAL:\n default: {\n return {};\n }\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_lodash","require","_activities","defaultMinDisplayableActivities","exports","minBatchSize","fetchLoopCountMax","batchSizeIncrementCount","setValue","destination","key","value","set","getValue","source","get","getActivityObjectsFromMap","hashMap","_from","default","map","_ref","_ref2","_slicedToArray2","activity","activityManager","replyActivityHash","_map","editActivityHash","reactionActivityHash","reactionSelfActivityHash","handleNewReply","replyAct","replyParentId","getParentId","existingReplyHash","id","replyHash","handleNewEdit","editAct","isTombstone","verb","ACTIVITY_TYPES","TOMBSTONE","editParentId","existingEdit","isNewer","reactionHelper","reactionAct","hash","reactionParentId","existingReaction","handleNewReaction","handleNewReactionSelf","reactionSelfAct","getActivityHandlerByKey","_ACTIVITY_TYPES$REACT","_defineProperty2","REACTION","REACTION_SELF","EDIT","REPLY","getActivityByTypeAndParentId","type","_ACTIVITY_TYPES$EDIT$","bookendManager","oldestAct","newestAct","getOldestAct","getNewestAct","setOldestAct","act","setNewestAct","setBookends","activities","oldestActsFirst","sortActivitiesByPublishedDate","newestInBatch","last","oldestInBatch","noMoreActivitiesManager","noMoreActs","noOlderActs","noNewerActs","getNoMoreActs","checkAndSetNoOlderActs","getActivityType","CREATE","checkAndSetNoNewerActs","length","checkAndSetNoMoreActs","queryType","visibleActs","currentBatchSize","NEWER","OLDER","INITIAL","MID","rootActivityManager","rootActivityHash","addNewRoot","rootAct","getRootActivityHash","getLoopCounterFailsafe","fetchLoopCount","Error","getQuery","queryOptions","newestPublishedDate","oldestPublishedDate","batchSize","_queryOptions$activit","activityToSearch","sinceDate","lastActivityFirst","searchType","midDate","parent","published","limit","maxDate"],"sources":["activity-thread-ordering.js"],"sourcesContent":["import {last} from 'lodash';\n\nimport {\n ACTIVITY_TYPES,\n getParentId,\n isNewer,\n getActivityType,\n sortActivitiesByPublishedDate,\n NEWER,\n OLDER,\n INITIAL,\n MID,\n} from './activities';\n\nexport const defaultMinDisplayableActivities = 20;\nexport const minBatchSize = 10;\nexport const fetchLoopCountMax = 100;\nexport const batchSizeIncrementCount = 10;\n\n// use accessors for ease of refactoring underlying implementation\n/**\n * @param {Map} destination destination map object for data. Currently a Map, but could be refactored to use any type.\n * @param {string} key\n * @param {any} value\n * @returns {Map}\n */\nexport const setValue = (destination, key, value) => destination.set(key, value);\n/**\n * @param {Map} source source map object to access. Currently expects a Map, but could be refactored to use any type\n * @param {string} key\n * @returns {Map}\n */\nexport const getValue = (source, key) => source.get(key);\n\nexport const getActivityObjectsFromMap = (hashMap) =>\n Array.from(hashMap).map(([, activity]) => activity);\n/**\n * creates maps for various activity types and defines handlers for working with stored activities\n * utilizes revealing module pattern to close over state and only expose certain necessary functions for altering state\n * @function\n * @returns {object}\n * getActivityHandlerByKey(activityType) - accepts a key to map to a defined activity handler\n * getActivityByTypeAndParentId(activityType, parentId) accepts a key and a parent ID to return an activity of that type whose parent is the parentId\n */\nexport const activityManager = () => {\n const replyActivityHash = new Map();\n const editActivityHash = new Map();\n const reactionActivityHash = new Map();\n const reactionSelfActivityHash = new Map();\n\n const handleNewReply = (replyAct) => {\n const replyParentId = getParentId(replyAct);\n const existingReplyHash = getValue(replyActivityHash, replyParentId);\n\n if (existingReplyHash) {\n setValue(existingReplyHash, replyAct.id, replyAct);\n } else {\n const replyHash = new Map();\n\n setValue(replyHash, replyAct.id, replyAct);\n setValue(replyActivityHash, replyParentId, replyHash);\n }\n };\n\n const handleNewEdit = (editAct) => {\n const isTombstone = editAct.verb === ACTIVITY_TYPES.TOMBSTONE;\n\n // we can ignore tombstone edits in favor of the newer one\n if (isTombstone) {\n return;\n }\n\n const editParentId = getParentId(editAct);\n const existingEdit = getValue(editActivityHash, editParentId);\n\n // edited activity must be newer than what we already have\n if (!existingEdit || isNewer(editAct, existingEdit)) {\n setValue(editActivityHash, editParentId, editAct);\n }\n };\n\n // logic is identical between reactions and reaction selfs, so handler simply passes the activity and the correct hash\n const reactionHelper = (reactionAct, hash) => {\n const reactionParentId = getParentId(reactionAct);\n const existingReaction = getValue(hash, reactionParentId);\n\n // reaction activity must be newer than what we already have\n if (!existingReaction || isNewer(reactionAct, existingReaction)) {\n setValue(hash, reactionParentId, reactionAct);\n }\n };\n\n const handleNewReaction = (reactionAct) => {\n reactionHelper(reactionAct, reactionActivityHash);\n };\n\n const handleNewReactionSelf = (reactionSelfAct) => {\n reactionHelper(reactionSelfAct, reactionSelfActivityHash);\n };\n\n const getActivityHandlerByKey = (key) =>\n ({\n [ACTIVITY_TYPES.REACTION]: handleNewReaction,\n [ACTIVITY_TYPES.REACTION_SELF]: handleNewReactionSelf,\n [ACTIVITY_TYPES.EDIT]: handleNewEdit,\n [ACTIVITY_TYPES.REPLY]: handleNewReply,\n }[key]);\n\n const getActivityByTypeAndParentId = (type, id) =>\n ({\n [ACTIVITY_TYPES.EDIT]: getValue(editActivityHash, id),\n [ACTIVITY_TYPES.REPLY]: getValue(replyActivityHash, id),\n [ACTIVITY_TYPES.REACTION]: getValue(reactionActivityHash, id),\n [ACTIVITY_TYPES.REACTION_SELF]: getValue(reactionSelfActivityHash, id),\n }[type]);\n\n return {\n getActivityHandlerByKey,\n getActivityByTypeAndParentId,\n };\n};\n\n/**\n * encapsulates state and logic for managing oldest and newest activities\n * @returns {object} setters and getters for activity state management\n */\nexport const bookendManager = () => {\n // keep track of generator state, like what our current oldest & newest activities are\n let oldestAct;\n let newestAct;\n\n const getOldestAct = () => oldestAct;\n const getNewestAct = () => newestAct;\n\n const setOldestAct = (act) => {\n if (!oldestAct) {\n oldestAct = act;\n } else if (isNewer(oldestAct, act)) {\n oldestAct = act;\n }\n };\n\n const setNewestAct = (act) => {\n if (!newestAct) {\n newestAct = act;\n } else if (isNewer(act, newestAct)) {\n newestAct = act;\n }\n };\n\n const setBookends = (activities) => {\n const oldestActsFirst = sortActivitiesByPublishedDate(activities);\n\n const newestInBatch = last(oldestActsFirst);\n const oldestInBatch = oldestActsFirst[0];\n\n setOldestAct(oldestInBatch);\n setNewestAct(newestInBatch);\n };\n\n return {\n setBookends,\n getNewestAct,\n getOldestAct,\n };\n};\n\n/**\n * encapsulates state and logic for when there are no more fetchable activities from convo\n * @returns {object} setters and getters for no more activities logic\n */\nexport const noMoreActivitiesManager = () => {\n // used to determine if we should continue to fetch older activities\n // must be set per iteration, as querying newer activities is still valid when all end of convo has been reached\n let noMoreActs = false;\n let noOlderActs = false;\n let noNewerActs = false;\n\n const getNoMoreActs = () => noMoreActs;\n\n const checkAndSetNoOlderActs = (act) => {\n if (!noOlderActs && getActivityType(act) === ACTIVITY_TYPES.CREATE) {\n noOlderActs = true;\n }\n };\n\n const checkAndSetNoNewerActs = (activities) => {\n if (!activities || !activities.length) {\n noNewerActs = true;\n }\n };\n\n const checkAndSetNoMoreActs = (queryType, visibleActs, currentBatchSize) => {\n if (\n (queryType === NEWER && noNewerActs) ||\n ((queryType === OLDER || queryType === INITIAL) && noOlderActs) ||\n (queryType === MID && visibleActs < currentBatchSize && noOlderActs)\n ) {\n noMoreActs = true;\n }\n };\n\n return {\n getNoMoreActs,\n checkAndSetNoMoreActs,\n checkAndSetNoNewerActs,\n checkAndSetNoOlderActs,\n };\n};\n\n/**\n * encapsulates state and logic for managing root activities\n * @returns {object} setters and getters for activity state management\n */\nexport const rootActivityManager = () => {\n const rootActivityHash = new Map();\n\n const addNewRoot = (rootAct) => {\n setValue(rootActivityHash, rootAct.id, rootAct);\n };\n\n const getRootActivityHash = () => rootActivityHash;\n\n return {\n addNewRoot,\n getRootActivityHash,\n };\n};\n\nexport const getLoopCounterFailsafe = () => {\n let fetchLoopCount = 0;\n\n return () => {\n fetchLoopCount += 1;\n if (fetchLoopCount > fetchLoopCountMax) {\n throw new Error('max fetches reached');\n }\n };\n};\n\n/**\n * creates activity query object\n * @param {string} type type of query to create\n * @param {object} queryOptions options to define query\n * @param {string} [queryOptions.newestPublishedDate] the date of the newest fetched activity\n * @param {string} [queryOptions.oldestPublishedDate] the date of the oldest fetched activity\n * @param {number} [queryOptions.batchSize] the number of activities to query\n * @param {object} [queryOptions.activityToSearch] a server activity to use to build middate query\n * @returns {object}\n */\nexport const getQuery = (type, queryOptions) => {\n const {newestPublishedDate, oldestPublishedDate, batchSize, activityToSearch = {}} = queryOptions;\n\n switch (type) {\n case NEWER: {\n const sinceDate = newestPublishedDate + 1;\n const lastActivityFirst = false;\n\n return {sinceDate, lastActivityFirst};\n }\n case MID: {\n const searchType = getActivityType(activityToSearch);\n let midDate;\n\n if (searchType === ACTIVITY_TYPES.REPLY || searchType === ACTIVITY_TYPES.EDIT) {\n midDate = activityToSearch.parent.published;\n } else {\n midDate = activityToSearch.published;\n }\n\n return {midDate, limit: batchSize};\n }\n case OLDER: {\n const maxDate = oldestPublishedDate - 1;\n\n return {maxDate};\n }\n case INITIAL:\n default: {\n return {};\n }\n }\n};\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ _Object$defineProperty(exports, "__esModule", {
16
16
  });
17
17
  exports.default = void 0;
18
18
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
19
- var _map2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
19
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
20
20
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
21
21
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
22
22
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
@@ -27,24 +27,13 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/
27
27
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
28
28
  var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/awaitAsyncGenerator"));
29
29
  var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapAsyncGenerator"));
30
- var _uniq2 = _interopRequireDefault(require("lodash/uniq"));
31
- var _pick2 = _interopRequireDefault(require("lodash/pick"));
32
- var _omit2 = _interopRequireDefault(require("lodash/omit"));
33
- var _merge2 = _interopRequireDefault(require("lodash/merge"));
34
- var _map3 = _interopRequireDefault(require("lodash/map"));
35
- var _last2 = _interopRequireDefault(require("lodash/last"));
36
- var _isString2 = _interopRequireDefault(require("lodash/isString"));
37
- var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
38
- var _isArray2 = _interopRequireDefault(require("lodash/isArray"));
39
- var _defaults2 = _interopRequireDefault(require("lodash/defaults"));
40
- var _cloneDeepWith2 = _interopRequireDefault(require("lodash/cloneDeepWith"));
41
- var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
42
30
  var _querystring = _interopRequireDefault(require("querystring"));
43
31
  var _events = require("events");
44
32
  var _hmacSha = _interopRequireDefault(require("crypto-js/hmac-sha256"));
45
33
  var _encHex = _interopRequireDefault(require("crypto-js/enc-hex"));
46
34
  var _common = require("@webex/common");
47
35
  var _webexCore = require("@webex/webex-core");
36
+ var _lodash = require("lodash");
48
37
  var _helperImage = require("@webex/helper-image");
49
38
  var _uuid = _interopRequireDefault(require("uuid"));
50
39
  var _convoError = require("./convo-error");
@@ -57,7 +46,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
57
46
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
58
47
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
59
48
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
60
- var idToUrl = new _map2.default();
49
+ var idToUrl = new _map.default();
61
50
  var getConvoLimit = function getConvoLimit() {
62
51
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
63
52
  var limit;
@@ -99,7 +88,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
99
88
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
100
89
  url: url
101
90
  });
102
- if (!(0, _isObject2.default)(object)) {
91
+ if (!(0, _lodash.isObject)(object)) {
103
92
  return _promise.default.reject(new Error('`object` must be an object'));
104
93
  }
105
94
  return this.prepare(activity, {
@@ -185,7 +174,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
185
174
  });
186
175
  })).then(function (participants) {
187
176
  participants.unshift(_this4.webex.internal.device.userId);
188
- participants = (0, _uniq2.default)(participants);
177
+ participants = (0, _lodash.uniq)(participants);
189
178
  var validParticipants = participants.filter(function (participant) {
190
179
  return participant;
191
180
  });
@@ -268,12 +257,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
268
257
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
269
258
  url: url
270
259
  });
271
- if (!(0, _isObject2.default)(reactionPayload)) {
260
+ if (!(0, _lodash.isObject)(reactionPayload)) {
272
261
  return _promise.default.reject(new Error('`object` must be an object'));
273
262
  }
274
263
  return this.prepare(reactionPayload, {
275
264
  target: this.prepareConversation(convoWithUrl),
276
- object: (0, _pick2.default)(reactionPayload, 'id', 'url', 'objectType')
265
+ object: (0, _lodash.pick)(reactionPayload, 'id', 'url', 'objectType')
277
266
  }).then(function (act) {
278
267
  return _this5.submit(act);
279
268
  });
@@ -350,13 +339,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
350
339
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
351
340
  url: url
352
341
  });
353
- if (!(0, _isObject2.default)(object)) {
342
+ if (!(0, _lodash.isObject)(object)) {
354
343
  return _promise.default.reject(new Error('`object` must be an object'));
355
344
  }
356
345
  var request = {
357
346
  verb: 'delete',
358
347
  target: this.prepareConversation(convoWithUrl),
359
- object: (0, _pick2.default)(object, 'id', 'url', 'objectType')
348
+ object: (0, _lodash.pick)(object, 'id', 'url', 'objectType')
360
349
  };
361
350
 
362
351
  // Deleting meeting container requires KMS message
@@ -456,7 +445,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
456
445
  if (!actor) {
457
446
  actor = this.webex.internal.device.userId;
458
447
  }
459
- if ((0, _isString2.default)(actor)) {
448
+ if ((0, _lodash.isString)(actor)) {
460
449
  activity.actor = {
461
450
  objectType: 'person',
462
451
  id: actor
@@ -551,7 +540,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
551
540
  activitiesLimit: 0,
552
541
  includeConvWithDeletedUserUUID: false,
553
542
  includeParticipants: false
554
- }, (0, _omit2.default)(options, 'id', 'user', 'url')),
543
+ }, (0, _lodash.omit)(options, 'id', 'user', 'url')),
555
544
  disableTransform: options.disableTransform
556
545
  };
557
546
 
@@ -639,7 +628,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
639
628
  return this._list({
640
629
  service: 'conversation',
641
630
  resource: options.summary ? 'conversationsSummary' : 'conversations',
642
- qs: (0, _omit2.default)(options, ['deferDecrypt', 'summary']),
631
+ qs: (0, _lodash.omit)(options, ['deferDecrypt', 'summary']),
643
632
  deferDecrypt: options.deferDecrypt,
644
633
  limit: getConvoLimit(options)
645
634
  }).then(function (results) {
@@ -704,7 +693,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
704
693
  activitiesLimit: 0,
705
694
  participantsLimit: 0,
706
695
  paginate: true
707
- }, (0, _omit2.default)(options, ['deferDecrypt', 'url']));
696
+ }, (0, _lodash.omit)(options, ['deferDecrypt', 'url']));
708
697
  reqOptions = {
709
698
  qs: queryOptions,
710
699
  deferDecrypt: options.deferDecrypt,
@@ -862,7 +851,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
862
851
  break;
863
852
  case 16:
864
853
  // reverse list if needed (see _list for precedent)
865
- if (items.length && (0, _last2.default)(items).published < items[0].published) {
854
+ if (items.length && (0, _lodash.last)(items).published < items[0].published) {
866
855
  items.reverse();
867
856
  }
868
857
  return _context3.abrupt("return", items);
@@ -950,7 +939,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
950
939
  return this._list({
951
940
  service: 'conversation',
952
941
  resource: 'mentions',
953
- qs: (0, _omit2.default)(options, 'mentions')
942
+ qs: (0, _lodash.omit)(options, 'mentions')
954
943
  });
955
944
  },
956
945
  /**
@@ -1028,7 +1017,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1028
1017
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
1029
1018
  url: this.getConvoUrl(conversation)
1030
1019
  });
1031
- if ((0, _isString2.default)(message)) {
1020
+ if ((0, _lodash.isString)(message)) {
1032
1021
  message = {
1033
1022
  displayName: message
1034
1023
  };
@@ -1044,7 +1033,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1044
1033
  });
1045
1034
  },
1046
1035
  prepareConversation: function prepareConversation(conversation) {
1047
- return (0, _defaults2.default)((0, _pick2.default)(conversation, 'id', 'url', 'objectType', 'defaultActivityEncryptionKeyUrl', 'kmsResourceObjectUrl'), {
1036
+ return (0, _lodash.defaults)((0, _lodash.pick)(conversation, 'id', 'url', 'objectType', 'defaultActivityEncryptionKeyUrl', 'kmsResourceObjectUrl'), {
1048
1037
  objectType: 'conversation'
1049
1038
  });
1050
1039
  },
@@ -1053,7 +1042,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1053
1042
  params = params || {};
1054
1043
  activity = activity || {};
1055
1044
  return _promise.default.resolve(activity.prepare ? activity.prepare(params) : activity).then(function (act) {
1056
- (0, _defaults2.default)(act, {
1045
+ (0, _lodash.defaults)(act, {
1057
1046
  verb: params.verb,
1058
1047
  kmsMessage: params.kmsMessage,
1059
1048
  objectType: 'activity',
@@ -1068,7 +1057,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1068
1057
  type: activity.activityType || activity.parent.type
1069
1058
  };
1070
1059
  }
1071
- if ((0, _isString2.default)(act.actor)) {
1060
+ if ((0, _lodash.isString)(act.actor)) {
1072
1061
  act.actor = {
1073
1062
  objectType: 'person',
1074
1063
  id: act.actor
@@ -1077,12 +1066,12 @@ var Conversation = _webexCore.WebexPlugin.extend({
1077
1066
  ['actor', 'object'].forEach(function (key) {
1078
1067
  if (params[key]) {
1079
1068
  act[key] = act[key] || {};
1080
- (0, _defaults2.default)(act[key], params[key]);
1069
+ (0, _lodash.defaults)(act[key], params[key]);
1081
1070
  }
1082
1071
  });
1083
1072
  if (params.target) {
1084
- (0, _merge2.default)(act, {
1085
- target: (0, _pick2.default)(params.target, 'id', 'url', 'objectType', 'kmsResourceObjectUrl', 'defaultActivityEncryptionKeyUrl')
1073
+ (0, _lodash.merge)(act, {
1074
+ target: (0, _lodash.pick)(params.target, 'id', 'url', 'objectType', 'kmsResourceObjectUrl', 'defaultActivityEncryptionKeyUrl')
1086
1075
  });
1087
1076
  }
1088
1077
  ['object', 'target'].forEach(function (key) {
@@ -1117,7 +1106,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1117
1106
  return _context6.abrupt("return", _this19._list({
1118
1107
  service: 'conversation',
1119
1108
  resource: 'threads',
1120
- qs: (0, _omit2.default)(options, 'showAllTypes')
1109
+ qs: (0, _lodash.omit)(options, 'showAllTypes')
1121
1110
  }));
1122
1111
  case 1:
1123
1112
  case "end":
@@ -1288,7 +1277,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1288
1277
  */
1289
1278
  share: function share(conversation, activity) {
1290
1279
  var _this21 = this;
1291
- if ((0, _isArray2.default)(activity)) {
1280
+ if ((0, _lodash.isArray)(activity)) {
1292
1281
  activity = {
1293
1282
  object: {
1294
1283
  files: activity
@@ -1340,13 +1329,13 @@ var Conversation = _webexCore.WebexPlugin.extend({
1340
1329
  var customActivityCopy = function customActivityCopy(value) {
1341
1330
  var files = params.body.object.files;
1342
1331
  if (files && value && files.items.length > 0 && value.constructor === files.items[0].scr.constructor) {
1343
- var copySrc = (0, _cloneDeep2.default)(value);
1332
+ var copySrc = (0, _lodash.cloneDeep)(value);
1344
1333
  copySrc.toJWE = value.toJWE;
1345
1334
  copySrc.toJSON = value.toJSON;
1346
1335
  return copySrc;
1347
1336
  }
1348
1337
  };
1349
- var cloneActivity = (0, _cloneDeepWith2.default)(params, customActivityCopy);
1338
+ var cloneActivity = (0, _lodash.cloneDeepWith)(params, customActivityCopy);
1350
1339
 
1351
1340
  // triggers user-activity to reset logout timer
1352
1341
  this.webex.trigger('user-activity');
@@ -1438,7 +1427,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1438
1427
  */
1439
1428
  update: function update(conversation, object, activity) {
1440
1429
  var _this24 = this;
1441
- if (!(0, _isObject2.default)(object)) {
1430
+ if (!(0, _lodash.isObject)(object)) {
1442
1431
  return _promise.default.reject(new Error('`object` must be an object'));
1443
1432
  }
1444
1433
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
@@ -1491,7 +1480,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1491
1480
  return _promise.default.resolve(key || this.webex.internal.encryption.kms.createUnboundKeys({
1492
1481
  count: 1
1493
1482
  })).then(function (keys) {
1494
- var k = (0, _isArray2.default)(keys) ? keys[0] : keys;
1483
+ var k = (0, _lodash.isArray)(keys) ? keys[0] : keys;
1495
1484
  var params = {
1496
1485
  verb: 'updateKey',
1497
1486
  target: _this26.prepareConversation(convoWithUrl),
@@ -1514,7 +1503,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1514
1503
  params.kmsMessage = {
1515
1504
  method: 'create',
1516
1505
  uri: '/resources',
1517
- userIds: (0, _map3.default)(convoWithUrl.participants.items, 'id'),
1506
+ userIds: (0, _lodash.map)(convoWithUrl.participants.items, 'id'),
1518
1507
  keyUris: [k.uri]
1519
1508
  };
1520
1509
  }
@@ -1635,7 +1624,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1635
1624
  });
1636
1625
  var resource = options.resource;
1637
1626
  return this._list({
1638
- qs: (0, _omit2.default)(options, 'resource'),
1627
+ qs: (0, _lodash.omit)(options, 'resource'),
1639
1628
  url: "".concat(url, "/").concat(resource)
1640
1629
  });
1641
1630
  },
@@ -1674,7 +1663,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
1674
1663
  url: conversationUrl,
1675
1664
  id: conversationId
1676
1665
  });
1677
- var baseOptions = _objectSpread(_objectSpread({}, (0, _omit2.default)(options, ['conversationUrl', 'conversationId'])), {}, {
1666
+ var baseOptions = _objectSpread(_objectSpread({}, (0, _lodash.omit)(options, ['conversationUrl', 'conversationId'])), {}, {
1678
1667
  url: url
1679
1668
  });
1680
1669
  var olderOptions = _objectSpread(_objectSpread({}, baseOptions), {}, {
@@ -2305,7 +2294,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2305
2294
  list = [];
2306
2295
  } else {
2307
2296
  list = res.body.items.slice(0);
2308
- if ((0, _last2.default)(list).published < list[0].published) {
2297
+ if ((0, _lodash.last)(list).published < list[0].published) {
2309
2298
  list.reverse();
2310
2299
  }
2311
2300
  }
@@ -2352,7 +2341,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2352
2341
  result = _step6.value;
2353
2342
  if (result.body && result.body.items && result.body.items.length) {
2354
2343
  items = result.body.items;
2355
- if ((0, _last2.default)(items).published < items[0].published) {
2344
+ if ((0, _lodash.last)(items).published < items[0].published) {
2356
2345
  items.reverse();
2357
2346
  }
2358
2347
  list = list.concat(items);
@@ -2385,7 +2374,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2385
2374
  */
2386
2375
  _maybeCreateOneOnOneThenPost: function _maybeCreateOneOnOneThenPost(params, options) {
2387
2376
  var _this31 = this;
2388
- return this.get((0, _defaults2.default)({
2377
+ return this.get((0, _lodash.defaults)({
2389
2378
  // the use of uniq in Conversation#create guarantees participant[1] will
2390
2379
  // always be the other user
2391
2380
  user: params.participants[1]
@@ -2425,7 +2414,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2425
2414
  kmsMessage: {
2426
2415
  method: 'create',
2427
2416
  uri: '/resources',
2428
- userIds: (0, _cloneDeep2.default)(params.participants),
2417
+ userIds: (0, _lodash.cloneDeep)(params.participants),
2429
2418
  keyUris: []
2430
2419
  }
2431
2420
  };
@@ -2483,7 +2472,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2483
2472
  });
2484
2473
  }));
2485
2474
  },
2486
- version: "2.59.0"
2475
+ version: "modern"
2487
2476
  });
2488
2477
  ['favorite', 'hide', 'lock', 'mute', 'unfavorite', 'unhide', 'unlock', 'unmute'].forEach(function (verb) {
2489
2478
  Conversation.prototype[verb] = function submitSimpleActivity(conversation, activity) {
@@ -2535,7 +2524,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2535
2524
  var verb = fnName.startsWith('set') ? 'set' : 'unset';
2536
2525
  Conversation.prototype[fnName] = function submitSpacePropertyActivity(conversation, tag, activity) {
2537
2526
  var _this36 = this;
2538
- if (!(0, _isString2.default)(tag)) {
2527
+ if (!(0, _lodash.isString)(tag)) {
2539
2528
  return _promise.default.reject(new Error('`tag` must be a string'));
2540
2529
  }
2541
2530
  var convoWithUrl = _objectSpread(_objectSpread({}, conversation), {}, {
@@ -2556,7 +2545,7 @@ var Conversation = _webexCore.WebexPlugin.extend({
2556
2545
  ['tag', 'untag'].forEach(function (verb) {
2557
2546
  Conversation.prototype[verb] = function submitObjectActivity(conversation, object, activity) {
2558
2547
  var _this37 = this;
2559
- if (!(0, _isObject2.default)(object)) {
2548
+ if (!(0, _lodash.isObject)(object)) {
2560
2549
  return _promise.default.reject(new Error('`object` must be an object'));
2561
2550
  }
2562
2551
  var c = this.prepareConversation(_objectSpread(_objectSpread({}, conversation), {}, {