@webex/internal-plugin-conversation 3.0.0-beta.8 → 3.0.0-bnr.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.
- package/README.md +1 -3
- package/dist/activities.js +8 -69
- package/dist/activities.js.map +1 -1
- package/dist/activity-thread-ordering.js +19 -79
- package/dist/activity-thread-ordering.js.map +1 -1
- package/dist/config.js +1 -7
- package/dist/config.js.map +1 -1
- package/dist/constants.js +4 -5
- package/dist/constants.js.map +1 -1
- package/dist/conversation.js +790 -1199
- package/dist/conversation.js.map +1 -1
- package/dist/convo-error.js +0 -23
- package/dist/convo-error.js.map +1 -1
- package/dist/decryption-transforms.js +35 -98
- package/dist/decryption-transforms.js.map +1 -1
- package/dist/encryption-transforms.js +11 -48
- package/dist/encryption-transforms.js.map +1 -1
- package/dist/index.js +7 -50
- package/dist/index.js.map +1 -1
- package/dist/internal-plugin-conversation.d.ts +21 -0
- package/dist/share-activity.js +40 -106
- package/dist/share-activity.js.map +1 -1
- package/dist/to-array.js +9 -11
- package/dist/to-array.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/dist/types/activities.d.ts +32 -0
- package/dist/types/activity-thread-ordering.d.ts +18 -0
- package/dist/types/config.d.ts +19 -0
- package/dist/types/constants.d.ts +5 -0
- package/dist/types/conversation.d.ts +2 -0
- package/dist/types/convo-error.d.ts +10 -0
- package/dist/types/decryption-transforms.d.ts +1 -0
- package/dist/types/encryption-transforms.d.ts +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/share-activity.d.ts +7 -0
- package/dist/types/to-array.d.ts +9 -0
- package/package.json +15 -15
- package/src/activities.js +10 -7
- package/src/activity-thread-ordering.js +27 -30
- package/src/activity-threading.md +68 -49
- package/src/config.js +5 -5
- package/src/conversation.js +621 -589
- package/src/decryption-transforms.js +103 -62
- package/src/encryption-transforms.js +103 -83
- package/src/index.js +82 -66
- package/src/share-activity.js +64 -55
- package/src/to-array.js +2 -2
- package/test/integration/spec/create.js +184 -118
- package/test/integration/spec/encryption.js +250 -186
- package/test/integration/spec/get.js +761 -513
- package/test/integration/spec/mercury.js +37 -27
- package/test/integration/spec/share.js +292 -229
- package/test/integration/spec/verbs.js +628 -441
- package/test/unit/spec/conversation.js +265 -163
- package/test/unit/spec/decrypt-transforms.js +112 -131
- package/test/unit/spec/encryption-transforms.js +24 -18
- package/test/unit/spec/share-activity.js +37 -40
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultMinDisplayableActivities","minBatchSize","fetchLoopCountMax","batchSizeIncrementCount","setValue","destination","key","value","set","getValue","source","get","getActivityObjectsFromMap","hashMap","map","activity","activityManager","replyActivityHash","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","REACTION","REACTION_SELF","EDIT","REPLY","getActivityByTypeAndParentId","type","bookendManager","oldestAct","newestAct","getOldestAct","getNewestAct","setOldestAct","act","setNewestAct","setBookends","activities","oldestActsFirst","sortActivitiesByPublishedDate","newestInBatch","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","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) => 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 }\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 [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 [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 }\n else if (isNewer(oldestAct, act)) {\n oldestAct = act;\n }\n };\n\n const setNewestAct = (act) => {\n if (!newestAct) {\n newestAct = act;\n }\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 {\n newestPublishedDate, oldestPublishedDate, batchSize, activityToSearch = {}\n } = 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 }\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":";;;;;;;;;;;;;;;;;;;;;;AAEA;;AAYO,IAAMA,+BAA+B,GAAG,EAAxC;;AACA,IAAMC,YAAY,GAAG,EAArB;;AACA,IAAMC,iBAAiB,GAAG,GAA1B;;AACA,IAAMC,uBAAuB,GAAG,EAAhC,C,CAEP;;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,WAAD,EAAcC,GAAd,EAAmBC,KAAnB;EAAA,OAA6BF,WAAW,CAACG,GAAZ,CAAgBF,GAAhB,EAAqBC,KAArB,CAA7B;AAAA,CAAjB;AACP;AACA;AACA;AACA;AACA;;;;;AACO,IAAME,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAASJ,GAAT;EAAA,OAAiBI,MAAM,CAACC,GAAP,CAAWL,GAAX,CAAjB;AAAA,CAAjB;;;;AAEA,IAAMM,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,OAAD;EAAA,OAAa,mBAAWA,OAAX,EAAoBC,GAApB,CAAwB;IAAA;IAAA,IAAIC,QAAJ;;IAAA,OAAkBA,QAAlB;EAAA,CAAxB,CAAb;AAAA,CAAlC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;EACnC,IAAMC,iBAAiB,GAAG,kBAA1B;EACA,IAAMC,gBAAgB,GAAG,kBAAzB;EACA,IAAMC,oBAAoB,GAAG,kBAA7B;EACA,IAAMC,wBAAwB,GAAG,kBAAjC;;EAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,QAAD,EAAc;IACnC,IAAMC,aAAa,GAAG,IAAAC,uBAAA,EAAYF,QAAZ,CAAtB;IACA,IAAMG,iBAAiB,GAAGhB,QAAQ,CAACQ,iBAAD,EAAoBM,aAApB,CAAlC;;IAEA,IAAIE,iBAAJ,EAAuB;MACrBrB,QAAQ,CAACqB,iBAAD,EAAoBH,QAAQ,CAACI,EAA7B,EAAiCJ,QAAjC,CAAR;IACD,CAFD,MAGK;MACH,IAAMK,SAAS,GAAG,kBAAlB;MAEAvB,QAAQ,CAACuB,SAAD,EAAYL,QAAQ,CAACI,EAArB,EAAyBJ,QAAzB,CAAR;MACAlB,QAAQ,CAACa,iBAAD,EAAoBM,aAApB,EAAmCI,SAAnC,CAAR;IACD;EACF,CAbD;;EAeA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,OAAD,EAAa;IACjC,IAAMC,WAAW,GAAGD,OAAO,CAACE,IAAR,KAAiBC,0BAAA,CAAeC,SAApD,CADiC,CAGjC;;IACA,IAAIH,WAAJ,EAAiB;MACf;IACD;;IAED,IAAMI,YAAY,GAAG,IAAAV,uBAAA,EAAYK,OAAZ,CAArB;IACA,IAAMM,YAAY,GAAG1B,QAAQ,CAACS,gBAAD,EAAmBgB,YAAnB,CAA7B,CATiC,CAWjC;;IACA,IAAI,CAACC,YAAD,IAAiB,IAAAC,mBAAA,EAAQP,OAAR,EAAiBM,YAAjB,CAArB,EAAqD;MACnD/B,QAAQ,CAACc,gBAAD,EAAmBgB,YAAnB,EAAiCL,OAAjC,CAAR;IACD;EACF,CAfD,CArBmC,CAsCnC;;;EACA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACC,WAAD,EAAcC,IAAd,EAAuB;IAC5C,IAAMC,gBAAgB,GAAG,IAAAhB,uBAAA,EAAYc,WAAZ,CAAzB;IACA,IAAMG,gBAAgB,GAAGhC,QAAQ,CAAC8B,IAAD,EAAOC,gBAAP,CAAjC,CAF4C,CAI5C;;IACA,IAAI,CAACC,gBAAD,IAAqB,IAAAL,mBAAA,EAAQE,WAAR,EAAqBG,gBAArB,CAAzB,EAAiE;MAC/DrC,QAAQ,CAACmC,IAAD,EAAOC,gBAAP,EAAyBF,WAAzB,CAAR;IACD;EACF,CARD;;EAUA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB,CAACJ,WAAD,EAAiB;IACzCD,cAAc,CAACC,WAAD,EAAcnB,oBAAd,CAAd;EACD,CAFD;;EAIA,IAAMwB,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,eAAD,EAAqB;IACjDP,cAAc,CAACO,eAAD,EAAkBxB,wBAAlB,CAAd;EACD,CAFD;;EAIA,IAAMyB,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACvC,GAAD;IAAA;;IAAA,OAAU,kFACvC0B,0BAAA,CAAec,QADwB,EACbJ,iBADa,wDAEvCV,0BAAA,CAAee,aAFwB,EAERJ,qBAFQ,wDAGvCX,0BAAA,CAAegB,IAHwB,EAGjBpB,aAHiB,wDAIvCI,0BAAA,CAAeiB,KAJwB,EAIhB5B,cAJgB,0BAKxCf,GALwC,CAAV;EAAA,CAAhC;;EAOA,IAAM4C,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACC,IAAD,EAAOzB,EAAP;IAAA;;IAAA,OAAe,kFACjDM,0BAAA,CAAegB,IADkC,EAC3BvC,QAAQ,CAACS,gBAAD,EAAmBQ,EAAnB,CADmB,wDAEjDM,0BAAA,CAAeiB,KAFkC,EAE1BxC,QAAQ,CAACQ,iBAAD,EAAoBS,EAApB,CAFkB,wDAGjDM,0BAAA,CAAec,QAHkC,EAGvBrC,QAAQ,CAACU,oBAAD,EAAuBO,EAAvB,CAHe,wDAIjDM,0BAAA,CAAee,aAJkC,EAIlBtC,QAAQ,CAACW,wBAAD,EAA2BM,EAA3B,CAJU,0BAKlDyB,IALkD,CAAf;EAAA,CAArC;;EAOA,OAAO;IACLN,uBAAuB,EAAvBA,uBADK;IAELK,4BAA4B,EAA5BA;EAFK,CAAP;AAID,CA3EM;AA6EP;AACA;AACA;AACA;;;;;AACO,IAAME,cAAc,GAAG,SAAjBA,cAAiB,GAAM;EAClC;EACA,IAAIC,SAAJ;EACA,IAAIC,SAAJ;;EAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe;IAAA,OAAMF,SAAN;EAAA,CAArB;;EACA,IAAMG,YAAY,GAAG,SAAfA,YAAe;IAAA,OAAMF,SAAN;EAAA,CAArB;;EAEA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAS;IAC5B,IAAI,CAACL,SAAL,EAAgB;MACdA,SAAS,GAAGK,GAAZ;IACD,CAFD,MAGK,IAAI,IAAAtB,mBAAA,EAAQiB,SAAR,EAAmBK,GAAnB,CAAJ,EAA6B;MAChCL,SAAS,GAAGK,GAAZ;IACD;EACF,CAPD;;EASA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACD,GAAD,EAAS;IAC5B,IAAI,CAACJ,SAAL,EAAgB;MACdA,SAAS,GAAGI,GAAZ;IACD,CAFD,MAGK,IAAI,IAAAtB,mBAAA,EAAQsB,GAAR,EAAaJ,SAAb,CAAJ,EAA6B;MAChCA,SAAS,GAAGI,GAAZ;IACD;EACF,CAPD;;EASA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAACC,UAAD,EAAgB;IAClC,IAAMC,eAAe,GAAG,IAAAC,yCAAA,EAA8BF,UAA9B,CAAxB;IAEA,IAAMG,aAAa,GAAG,oBAAKF,eAAL,CAAtB;IACA,IAAMG,aAAa,GAAGH,eAAe,CAAC,CAAD,CAArC;IAEAL,YAAY,CAACQ,aAAD,CAAZ;IACAN,YAAY,CAACK,aAAD,CAAZ;EACD,CARD;;EAUA,OAAO;IACLJ,WAAW,EAAXA,WADK;IAELJ,YAAY,EAAZA,YAFK;IAGLD,YAAY,EAAZA;EAHK,CAAP;AAKD,CAzCM;AA2CP;AACA;AACA;AACA;;;;;AACO,IAAMW,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAM;EAC3C;EACA;EACA,IAAIC,UAAU,GAAG,KAAjB;EACA,IAAIC,WAAW,GAAG,KAAlB;EACA,IAAIC,WAAW,GAAG,KAAlB;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB;IAAA,OAAMH,UAAN;EAAA,CAAtB;;EAEA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACb,GAAD,EAAS;IACtC,IAAI,CAACU,WAAD,IAAgB,IAAAI,2BAAA,EAAgBd,GAAhB,MAAyB1B,0BAAA,CAAeyC,MAA5D,EAAoE;MAClEL,WAAW,GAAG,IAAd;IACD;EACF,CAJD;;EAMA,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACb,UAAD,EAAgB;IAC7C,IAAI,CAACA,UAAD,IAAe,CAACA,UAAU,CAACc,MAA/B,EAAuC;MACrCN,WAAW,GAAG,IAAd;IACD;EACF,CAJD;;EAMA,IAAMO,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,SAAD,EAAYC,WAAZ,EAAyBC,gBAAzB,EAA8C;IAC1E,IACGF,SAAS,KAAKG,iBAAd,IAAuBX,WAAxB,IACC,CAACQ,SAAS,KAAKI,iBAAd,IAAuBJ,SAAS,KAAKK,mBAAtC,KAAkDd,WADnD,IAECS,SAAS,KAAKM,eAAd,IAAqBL,WAAW,GAAGC,gBAAnC,IAAuDX,WAH1D,EAIE;MACAD,UAAU,GAAG,IAAb;IACD;EACF,CARD;;EAUA,OAAO;IACLG,aAAa,EAAbA,aADK;IAELM,qBAAqB,EAArBA,qBAFK;IAGLF,sBAAsB,EAAtBA,sBAHK;IAILH,sBAAsB,EAAtBA;EAJK,CAAP;AAMD,CArCM;AAuCP;AACA;AACA;AACA;;;;;AACO,IAAMa,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;EACvC,IAAMC,gBAAgB,GAAG,kBAAzB;;EAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAa;IAC9BnF,QAAQ,CAACiF,gBAAD,EAAmBE,OAAO,CAAC7D,EAA3B,EAA+B6D,OAA/B,CAAR;EACD,CAFD;;EAIA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;IAAA,OAAMH,gBAAN;EAAA,CAA5B;;EAEA,OAAO;IACLC,UAAU,EAAVA,UADK;IAELE,mBAAmB,EAAnBA;EAFK,CAAP;AAID,CAbM;;;;AAeA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;EAC1C,IAAIC,cAAc,GAAG,CAArB;EAEA,OAAO,YAAM;IACXA,cAAc,IAAI,CAAlB;;IACA,IAAIA,cAAc,GAAGxF,iBAArB,EAAwC;MACtC,MAAM,IAAIyF,KAAJ,CAAU,qBAAV,CAAN;IACD;EACF,CALD;AAMD,CATM;AAWP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACzC,IAAD,EAAO0C,YAAP,EAAwB;EAC9C,IACEC,mBADF,GAEID,YAFJ,CACEC,mBADF;EAAA,IACuBC,mBADvB,GAEIF,YAFJ,CACuBE,mBADvB;EAAA,IAC4CC,SAD5C,GAEIH,YAFJ,CAC4CG,SAD5C;EAAA,4BAEIH,YAFJ,CACuDI,gBADvD;EAAA,IACuDA,gBADvD,sCAC0E,EAD1E;;EAIA,QAAQ9C,IAAR;IACE,KAAK6B,iBAAL;MAAY;QACV,IAAMkB,SAAS,GAAGJ,mBAAmB,GAAG,CAAxC;QACA,IAAMK,iBAAiB,GAAG,KAA1B;QAEA,OAAO;UAACD,SAAS,EAATA,SAAD;UAAYC,iBAAiB,EAAjBA;QAAZ,CAAP;MACD;;IACD,KAAKhB,eAAL;MAAU;QACR,IAAMiB,UAAU,GAAG,IAAA5B,2BAAA,EAAgByB,gBAAhB,CAAnB;QACA,IAAII,OAAJ;;QAEA,IAAID,UAAU,KAAKpE,0BAAA,CAAeiB,KAA9B,IAAuCmD,UAAU,KAAKpE,0BAAA,CAAegB,IAAzE,EAA+E;UAC7EqD,OAAO,GAAGJ,gBAAgB,CAACK,MAAjB,CAAwBC,SAAlC;QACD,CAFD,MAGK;UACHF,OAAO,GAAGJ,gBAAgB,CAACM,SAA3B;QACD;;QAED,OAAO;UAACF,OAAO,EAAPA,OAAD;UAAUG,KAAK,EAAER;QAAjB,CAAP;MACD;;IACD,KAAKf,iBAAL;MAAY;QACV,IAAMwB,OAAO,GAAGV,mBAAmB,GAAG,CAAtC;QAEA,OAAO;UAACU,OAAO,EAAPA;QAAD,CAAP;MACD;;IACD,KAAKvB,mBAAL;IACA;MAAS;QACP,OAAO,EAAP;MACD;EA5BH;AA8BD,CAnCM"}
|
|
1
|
+
{"version":3,"names":["defaultMinDisplayableActivities","minBatchSize","fetchLoopCountMax","batchSizeIncrementCount","setValue","destination","key","value","set","getValue","source","get","getActivityObjectsFromMap","hashMap","map","activity","activityManager","replyActivityHash","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","REACTION","REACTION_SELF","EDIT","REPLY","getActivityByTypeAndParentId","type","bookendManager","oldestAct","newestAct","getOldestAct","getNewestAct","setOldestAct","act","setNewestAct","setBookends","activities","oldestActsFirst","sortActivitiesByPublishedDate","newestInBatch","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","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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"}
|
package/dist/config.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
|
|
9
7
|
exports.default = void 0;
|
|
10
|
-
|
|
11
8
|
/*!
|
|
12
9
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
13
10
|
*/
|
|
@@ -25,21 +22,18 @@ var _default = {
|
|
|
25
22
|
outboundProcessFunc: function outboundProcessFunc() {},
|
|
26
23
|
allowedInboundStyles: [],
|
|
27
24
|
allowedOutboundStyles: [],
|
|
28
|
-
|
|
29
25
|
/**
|
|
30
26
|
* Max height for thumbnails generated when sharing an image
|
|
31
27
|
* @type {number}
|
|
32
28
|
*/
|
|
33
29
|
thumbnailMaxHeight: 960,
|
|
34
|
-
|
|
35
30
|
/**
|
|
36
31
|
* Max width for thumbnails generated when sharing an image
|
|
37
32
|
* @type {number}
|
|
38
33
|
*/
|
|
39
34
|
thumbnailMaxWidth: 640,
|
|
40
|
-
|
|
41
35
|
/**
|
|
42
|
-
|
|
36
|
+
* Primarily for testing. When true, decrypting an activity will create a
|
|
43
37
|
* sister property with the original encrypted string
|
|
44
38
|
* @type {Boolean}
|
|
45
39
|
*/
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["conversation","allowedInboundTags","allowedOutboundTags","inboundProcessFunc","outboundProcessFunc","allowedInboundStyles","allowedOutboundStyles","thumbnailMaxHeight","thumbnailMaxWidth","keepEncryptedProperties","decryptionFailureMessage"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n conversation: {\n allowedInboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url']
|
|
1
|
+
{"version":3,"names":["conversation","allowedInboundTags","allowedOutboundTags","inboundProcessFunc","outboundProcessFunc","allowedInboundStyles","allowedOutboundStyles","thumbnailMaxHeight","thumbnailMaxWidth","keepEncryptedProperties","decryptionFailureMessage"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n conversation: {\n allowedInboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n allowedOutboundTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n // eslint-disable-next-line no-empty-function\n inboundProcessFunc: () => {},\n // eslint-disable-next-line no-empty-function\n outboundProcessFunc: () => {},\n allowedInboundStyles: [],\n allowedOutboundStyles: [],\n /**\n * Max height for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxHeight: 960,\n /**\n * Max width for thumbnails generated when sharing an image\n * @type {number}\n */\n thumbnailMaxWidth: 640,\n /**\n * Primarily for testing. When true, decrypting an activity will create a\n * sister property with the original encrypted string\n * @type {Boolean}\n */\n keepEncryptedProperties: false,\n decryptionFailureMessage: 'This message cannot be decrypted',\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,eAIe;EACbA,YAAY,EAAE;IACZC,kBAAkB,EAAE;MAClB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACDC,mBAAmB,EAAE;MACnB,eAAe,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB;IAC3E,CAAC;IACD;IACAC,kBAAkB,EAAE,8BAAM,CAAC,CAAC;IAC5B;IACAC,mBAAmB,EAAE,+BAAM,CAAC,CAAC;IAC7BC,oBAAoB,EAAE,EAAE;IACxBC,qBAAqB,EAAE,EAAE;IACzB;AACJ;AACA;AACA;IACIC,kBAAkB,EAAE,GAAG;IACvB;AACJ;AACA;AACA;IACIC,iBAAiB,EAAE,GAAG;IACtB;AACJ;AACA;AACA;AACA;IACIC,uBAAuB,EAAE,KAAK;IAC9BC,wBAAwB,EAAE;EAC5B;AACF,CAAC;AAAA"}
|
package/dist/constants.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
-
|
|
5
4
|
_Object$defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
|
|
9
7
|
exports.KEY_ROTATION_REQUIRED = exports.KEY_ALREADY_ROTATED = exports.ENCRYPTION_KEY_URL_MISMATCH = exports.DEFAULT_CLUSTER_SERVICE = exports.DEFAULT_CLUSTER = void 0;
|
|
10
8
|
var KEY_ROTATION_REQUIRED = 1400087;
|
|
11
9
|
exports.KEY_ROTATION_REQUIRED = KEY_ROTATION_REQUIRED;
|
|
12
10
|
var KEY_ALREADY_ROTATED = 1409004;
|
|
13
11
|
exports.KEY_ALREADY_ROTATED = KEY_ALREADY_ROTATED;
|
|
14
|
-
var ENCRYPTION_KEY_URL_MISMATCH = 1400049;
|
|
12
|
+
var ENCRYPTION_KEY_URL_MISMATCH = 1400049;
|
|
15
13
|
|
|
14
|
+
// The default cluster when one is not provided (usually as 'US' from hydra)
|
|
16
15
|
exports.ENCRYPTION_KEY_URL_MISMATCH = ENCRYPTION_KEY_URL_MISMATCH;
|
|
17
|
-
var DEFAULT_CLUSTER = 'urn:TEAM:us-east-2_a';
|
|
18
|
-
|
|
16
|
+
var DEFAULT_CLUSTER = 'urn:TEAM:us-east-2_a';
|
|
17
|
+
// The default service name for convo (currently identityLookup due to some weird CSB issue)
|
|
19
18
|
exports.DEFAULT_CLUSTER = DEFAULT_CLUSTER;
|
|
20
19
|
var DEFAULT_CLUSTER_SERVICE = 'identityLookup';
|
|
21
20
|
exports.DEFAULT_CLUSTER_SERVICE = DEFAULT_CLUSTER_SERVICE;
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KEY_ROTATION_REQUIRED","KEY_ALREADY_ROTATED","ENCRYPTION_KEY_URL_MISMATCH","DEFAULT_CLUSTER","DEFAULT_CLUSTER_SERVICE"],"sources":["constants.js"],"sourcesContent":["export const KEY_ROTATION_REQUIRED = 1400087;\nexport const KEY_ALREADY_ROTATED = 1409004;\nexport const ENCRYPTION_KEY_URL_MISMATCH = 1400049;\n\n// The default cluster when one is not provided (usually as 'US' from hydra)\nexport const DEFAULT_CLUSTER = 'urn:TEAM:us-east-2_a';\n// The default service name for convo (currently identityLookup due to some weird CSB issue)\nexport const DEFAULT_CLUSTER_SERVICE = 'identityLookup';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["KEY_ROTATION_REQUIRED","KEY_ALREADY_ROTATED","ENCRYPTION_KEY_URL_MISMATCH","DEFAULT_CLUSTER","DEFAULT_CLUSTER_SERVICE"],"sources":["constants.js"],"sourcesContent":["export const KEY_ROTATION_REQUIRED = 1400087;\nexport const KEY_ALREADY_ROTATED = 1409004;\nexport const ENCRYPTION_KEY_URL_MISMATCH = 1400049;\n\n// The default cluster when one is not provided (usually as 'US' from hydra)\nexport const DEFAULT_CLUSTER = 'urn:TEAM:us-east-2_a';\n// The default service name for convo (currently identityLookup due to some weird CSB issue)\nexport const DEFAULT_CLUSTER_SERVICE = 'identityLookup';\n"],"mappings":";;;;;;;AAAO,IAAMA,qBAAqB,GAAG,OAAO;AAAC;AACtC,IAAMC,mBAAmB,GAAG,OAAO;AAAC;AACpC,IAAMC,2BAA2B,GAAG,OAAO;;AAElD;AAAA;AACO,IAAMC,eAAe,GAAG,sBAAsB;AACrD;AAAA;AACO,IAAMC,uBAAuB,GAAG,gBAAgB;AAAC"}
|