@adobe/exc-app 1.0.14 → 1.0.17
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/RuntimeConfiguration.d.ts +4 -0
- package/appapi.d.ts +2 -1
- package/appapi.js +1 -0
- package/appapi.js.map +1 -1
- package/coverage/lcov-report/block-navigation.js +79 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sorter.js +170 -0
- package/featureflags.d.ts +46 -0
- package/featureflags.js +52 -0
- package/featureflags.js.map +1 -0
- package/metrics.d.ts +3 -1
- package/metrics.js.map +1 -1
- package/modules.d.ts +30 -0
- package/modules.js +18 -0
- package/modules.js.map +1 -0
- package/network/DataContract.d.ts +35 -0
- package/network/DataContract.js +3 -0
- package/network/DataContract.js.map +1 -0
- package/network.d.ts +4 -6
- package/package.json +1 -1
- package/sidenav.d.ts +19 -17
- package/sidenav.js.map +1 -1
- package/src/Global.d.ts +4 -0
- package/src/Global.js.map +1 -1
- package/src/Runtime.d.ts +3 -0
- package/tests/MockRuntime.d.ts +2 -0
- package/tests/MockRuntime.js +4 -0
- package/tests/MockRuntime.js.map +1 -1
- package/tests/featureflags.test.d.ts +1 -0
- package/tests/featureflags.test.js +53 -0
- package/tests/featureflags.test.js.map +1 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -213,6 +213,10 @@ export interface RuntimeConfiguration {
|
|
|
213
213
|
* Map of Adobe Io region specific endpoints.
|
|
214
214
|
*/
|
|
215
215
|
ioRegionSpecificMap?: Record<string, string>;
|
|
216
|
+
/**
|
|
217
|
+
* Last recorded recent timestamp
|
|
218
|
+
*/
|
|
219
|
+
lastRecentTs: number;
|
|
216
220
|
/**
|
|
217
221
|
* User Locale
|
|
218
222
|
*/
|
package/appapi.d.ts
CHANGED
|
@@ -87,7 +87,8 @@ export declare enum AppIds {
|
|
|
87
87
|
SYSTEM_STATUS = "systemStatus",
|
|
88
88
|
TARGET = "target",
|
|
89
89
|
TRIGGERS = "triggers",
|
|
90
|
-
WORKFRONT = "workfront"
|
|
90
|
+
WORKFRONT = "workfront",
|
|
91
|
+
WORKFRONT_FUSION = "fusion"
|
|
91
92
|
}
|
|
92
93
|
declare type AppId = typeof AppIds[keyof typeof AppIds];
|
|
93
94
|
export interface AppApi {
|
package/appapi.js
CHANGED
package/appapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appapi.js","sourceRoot":"","sources":["appapi.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,yCAAqC;AAiCrC,0DAA0D;AAC1D,IAAY,
|
|
1
|
+
{"version":3,"file":"appapi.js","sourceRoot":"","sources":["appapi.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,yCAAqC;AAiCrC,0DAA0D;AAC1D,IAAY,MAmDX;AAnDD,WAAY,MAAM;IAChB,yBAAe,CAAA;IACf,wCAA8B,CAAA;IAC9B,oDAA0C,CAAA;IAC1C,iDAAuC,CAAA;IACvC,uCAA6B,CAAA;IAC7B,iCAAuB,CAAA;IACvB,yCAA+B,CAAA;IAC/B,2BAAiB,CAAA;IACjB,oCAA0B,CAAA;IAC1B,8CAAoC,CAAA;IACpC,0BAAgB,CAAA;IAChB,yCAA+B,CAAA;IAC/B,0CAAgC,CAAA;IAChC,gEAAsD,CAAA;IACtD,0DAAgD,CAAA;IAChD,kDAAwC,CAAA;IACxC,kDAAwC,CAAA;IACxC,sCAA4B,CAAA;IAC5B,+BAAqB,CAAA;IACrB,sCAA4B,CAAA;IAC5B,oDAA0C,CAAA;IAC1C,kDAAwC,CAAA;IACxC,0DAAgD,CAAA;IAChD,4DAAkD,CAAA;IAClD,4DAAkD,CAAA;IAClD,gDAAsC,CAAA;IACtC,sDAA4C,CAAA;IAC5C,+BAAqB,CAAA;IACrB,wCAA8B,CAAA;IAC9B,4CAAkC,CAAA;IAClC,wCAA8B,CAAA;IAC9B,kCAAwB,CAAA;IACxB,sCAA4B,CAAA;IAC5B,6BAAmB,CAAA;IACnB,0CAAgC,CAAA;IAChC,qCAA2B,CAAA;IAC3B,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,uCAA6B,CAAA;IAC7B,mCAAyB,CAAA;IACzB,iCAAuB,CAAA;IACvB,kCAAwB,CAAA;IACxB,6CAAmC,CAAA;IACnC,qCAA2B,CAAA;IAC3B,wDAA8C,CAAA;IAC9C,wCAA8B,CAAA;IAC9B,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,iCAAuB,CAAA;IACvB,qCAA2B,CAAA;AAC7B,CAAC,EAnDW,MAAM,GAAN,cAAM,KAAN,cAAM,QAmDjB;AAWD,MAAM,MAAM,GAAW;IACrB,GAAG,EAAE,MAAM,CAAC,EAAE;QACZ,OAAO,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var jumpToCode = (function init() {
|
|
3
|
+
// Classes of code we would like to highlight in the file view
|
|
4
|
+
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
|
|
5
|
+
|
|
6
|
+
// Elements to highlight in the file listing view
|
|
7
|
+
var fileListingElements = ['td.pct.low'];
|
|
8
|
+
|
|
9
|
+
// We don't want to select elements that are direct descendants of another match
|
|
10
|
+
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
|
+
|
|
12
|
+
// Selecter that finds elements on the page to which we can jump
|
|
13
|
+
var selector =
|
|
14
|
+
fileListingElements.join(', ') +
|
|
15
|
+
', ' +
|
|
16
|
+
notSelector +
|
|
17
|
+
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
|
|
18
|
+
|
|
19
|
+
// The NodeList of matching elements
|
|
20
|
+
var missingCoverageElements = document.querySelectorAll(selector);
|
|
21
|
+
|
|
22
|
+
var currentIndex;
|
|
23
|
+
|
|
24
|
+
function toggleClass(index) {
|
|
25
|
+
missingCoverageElements
|
|
26
|
+
.item(currentIndex)
|
|
27
|
+
.classList.remove('highlighted');
|
|
28
|
+
missingCoverageElements.item(index).classList.add('highlighted');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function makeCurrent(index) {
|
|
32
|
+
toggleClass(index);
|
|
33
|
+
currentIndex = index;
|
|
34
|
+
missingCoverageElements.item(index).scrollIntoView({
|
|
35
|
+
behavior: 'smooth',
|
|
36
|
+
block: 'center',
|
|
37
|
+
inline: 'center'
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function goToPrevious() {
|
|
42
|
+
var nextIndex = 0;
|
|
43
|
+
if (typeof currentIndex !== 'number' || currentIndex === 0) {
|
|
44
|
+
nextIndex = missingCoverageElements.length - 1;
|
|
45
|
+
} else if (missingCoverageElements.length > 1) {
|
|
46
|
+
nextIndex = currentIndex - 1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
makeCurrent(nextIndex);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function goToNext() {
|
|
53
|
+
var nextIndex = 0;
|
|
54
|
+
|
|
55
|
+
if (
|
|
56
|
+
typeof currentIndex === 'number' &&
|
|
57
|
+
currentIndex < missingCoverageElements.length - 1
|
|
58
|
+
) {
|
|
59
|
+
nextIndex = currentIndex + 1;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
makeCurrent(nextIndex);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return function jump(event) {
|
|
66
|
+
switch (event.which) {
|
|
67
|
+
case 78: // n
|
|
68
|
+
case 74: // j
|
|
69
|
+
goToNext();
|
|
70
|
+
break;
|
|
71
|
+
case 66: // b
|
|
72
|
+
case 75: // k
|
|
73
|
+
case 80: // p
|
|
74
|
+
goToPrevious();
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
})();
|
|
79
|
+
window.addEventListener('keydown', jumpToCode);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.ignoreCase){ac=true}else{if(/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){S=true;ac=false;break}}}var Y={b:8,t:9,n:10,v:11,f:12,r:13};function ab(ah){var ag=ah.charCodeAt(0);if(ag!==92){return ag}var af=ah.charAt(1);ag=Y[af];if(ag){return ag}else{if("0"<=af&&af<="7"){return parseInt(ah.substring(1),8)}else{if(af==="u"||af==="x"){return parseInt(ah.substring(2),16)}else{return ah.charCodeAt(1)}}}}function T(af){if(af<32){return(af<16?"\\x0":"\\x")+af.toString(16)}var ag=String.fromCharCode(af);if(ag==="\\"||ag==="-"||ag==="["||ag==="]"){ag="\\"+ag}return ag}function X(am){var aq=am.substring(1,am.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g"));var ak=[];var af=[];var ao=aq[0]==="^";for(var ar=ao?1:0,aj=aq.length;ar<aj;++ar){var ah=aq[ar];if(/\\[bdsw]/i.test(ah)){ak.push(ah)}else{var ag=ab(ah);var al;if(ar+2<aj&&"-"===aq[ar+1]){al=ab(aq[ar+2]);ar+=2}else{al=ag}af.push([ag,al]);if(!(al<65||ag>122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;ar<af.length;++ar){var at=af[ar];if(at[0]<=ap[1]+1){ap[1]=Math.max(ap[1],at[1])}else{ai.push(ap=at)}}var an=["["];if(ao){an.push("^")}an.push.apply(an,ak);for(var ar=0;ar<ai.length;++ar){var at=ai[ar];an.push(T(at[0]));if(at[1]>at[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){an[af]=-1}}}}for(var ak=1;ak<an.length;++ak){if(-1===an[ak]){an[ak]=++ad}}for(var ak=0,am=0;ak<ah;++ak){var ag=aj[ak];if(ag==="("){++am;if(an[am]===undefined){aj[ak]="(?:"}}else{if("\\"===ag.charAt(0)){var af=+ag.substring(1);if(af&&af<=am){aj[ak]="\\"+an[am]}}}}for(var ak=0,am=0;ak<ah;++ak){if("^"===aj[ak]&&"^"!==aj[ak+1]){aj[ak]=""}}if(al.ignoreCase&&S){for(var ak=0;ak<ah;++ak){var ag=aj[ak];var ai=ag.charAt(0);if(ag.length>=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V<U;++V){var ae=Z[V];if(ae.global||ae.multiline){throw new Error(""+ae)}aa.push("(?:"+W(ae)+")")}return new RegExp(aa.join("|"),ac?"gi":"g")}function a(V){var U=/(?:^|\s)nocode(?:\s|$)/;var X=[];var T=0;var Z=[];var W=0;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=document.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Y=S&&"pre"===S.substring(0,3);function aa(ab){switch(ab.nodeType){case 1:if(U.test(ab.className)){return}for(var ae=ab.firstChild;ae;ae=ae.nextSibling){aa(ae)}var ad=ab.nodeName;if("BR"===ad||"LI"===ad){X[W]="\n";Z[W<<1]=T++;Z[(W++<<1)|1]=ab}break;case 3:case 4:var ac=ab.nodeValue;if(ac.length){if(!Y){ac=ac.replace(/[ \t\r\n]+/g," ")}else{ac=ac.replace(/\r\n?/g,"\n")}X[W]=ac;Z[W<<1]=T;T+=ac.length;Z[(W++<<1)|1]=ab}break}}aa(V);return{sourceCode:X.join("").replace(/\n$/,""),spans:Z}}function B(S,U,W,T){if(!U){return}var V={sourceCode:U,basePos:S};W(V);T.push.apply(T,V.decorations)}var v=/\S/;function o(S){var V=undefined;for(var U=S.firstChild;U;U=U.nextSibling){var T=U.nodeType;V=(T===1)?(V?S:U):(T===3)?(v.test(U.nodeValue)?S:V):V}return V===S?undefined:V}function g(U,T){var S={};var V;(function(){var ad=U.concat(T);var ah=[];var ag={};for(var ab=0,Z=ad.length;ab<Z;++ab){var Y=ad[ab];var ac=Y[3];if(ac){for(var ae=ac.length;--ae>=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae<aq;++ae){var ag=an[ae];var ap=aj[ag];var ai=void 0;var am;if(typeof ap==="string"){am=false}else{var aa=S[ag.charAt(0)];if(aa){ai=ag.match(aa[1]);ap=aa[0]}else{for(var ao=0;ao<X;++ao){aa=T[ao];ai=ag.match(aa[1]);if(ai){ap=aa[0];break}}if(!ai){ap=F}}am=ap.length>=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y<W.length;++Y){ae(W[Y])}if(ag===(ag|0)){W[0].setAttribute("value",ag)}var aa=ac.createElement("OL");aa.className="linenums";var X=Math.max(0,((ag-1))|0)||0;for(var Y=0,T=W.length;Y<T;++Y){af=W[Y];af.className="L"+((Y+X)%10);if(!af.firstChild){af.appendChild(ac.createTextNode("\xA0"))}aa.appendChild(af)}V.appendChild(aa)}function D(ac){var aj=/\bMSIE\b/.test(navigator.userAgent);var am=/\n/g;var al=ac.sourceCode;var an=al.length;var V=0;var aa=ac.spans;var T=aa.length;var ah=0;var X=ac.decorations;var Y=X.length;var Z=0;X[Y]=an;var ar,aq;for(aq=ar=0;aq<Y;){if(X[aq]!==X[aq+2]){X[ar++]=X[aq++];X[ar++]=X[aq++]}else{aq+=2}}Y=ar;for(aq=ar=0;aq<Y;){var at=X[aq];var ab=X[aq+1];var W=aq+2;while(W+2<=Y&&X[W+1]===ab){W+=2}X[ar++]=at;X[ar++]=ab;aq=W}Y=X.length=ar;var ae=null;while(ah<T){var af=aa[ah];var S=aa[ah+2]||an;var ag=X[Z];var ap=X[Z+2]||an;var W=Math.min(S,ap);var ak=aa[ah+1];var U;if(ak.nodeType!==1&&(U=al.substring(V,W))){if(aj){U=U.replace(am,"\r")}ak.nodeValue=U;var ai=ak.ownerDocument;var ao=ai.createElement("SPAN");ao.className=X[Z+1];var ad=ak.parentNode;ad.replaceChild(ao,ak);ao.appendChild(ak);if(V<S){aa[ah+1]=ak=ai.createTextNode(al.substring(W,S));ad.insertBefore(ak,ao.nextSibling)}}V=W;if(V>=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*</.test(S)?"default-markup":"default-code"}return t[T]}c(K,["default-code"]);c(g([],[[F,/^[^<?]+/],[E,/^<!\w[^>]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa<ac.length;++aa){for(var Z=0,V=ac[aa].length;Z<V;++Z){T.push(ac[aa][Z])}}ac=null;var W=Date;if(!W.now){W={now:function(){return +(new Date)}}}var X=0;var S;var ab=/\blang(?:uage)?-([\w.]+)(?!\S)/;var ae=/\bprettyprint\b/;function U(){var ag=(window.PR_SHOULD_USE_CONTINUATION?W.now()+250:Infinity);for(;X<T.length&&W.now()<ag;X++){var aj=T[X];var ai=aj.className;if(ai.indexOf("prettyprint")>=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X<T.length){setTimeout(U,250)}else{if(ad){ad()}}}U()}window.prettyPrintOne=y;window.prettyPrint=b;window.PR={createSimpleLexer:g,registerLangHandler:c,sourceDecorator:i,PR_ATTRIB_NAME:P,PR_ATTRIB_VALUE:n,PR_COMMENT:j,PR_DECLARATION:E,PR_KEYWORD:z,PR_LITERAL:G,PR_NOCODE:N,PR_PLAIN:F,PR_PUNCTUATION:L,PR_SOURCE:J,PR_STRING:C,PR_TAG:m,PR_TYPE:O}})();PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_DECLARATION,/^<!\w[^>]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:<!--|-->)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]);
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var addSorting = (function() {
|
|
3
|
+
'use strict';
|
|
4
|
+
var cols,
|
|
5
|
+
currentSort = {
|
|
6
|
+
index: 0,
|
|
7
|
+
desc: false
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// returns the summary table element
|
|
11
|
+
function getTable() {
|
|
12
|
+
return document.querySelector('.coverage-summary');
|
|
13
|
+
}
|
|
14
|
+
// returns the thead element of the summary table
|
|
15
|
+
function getTableHeader() {
|
|
16
|
+
return getTable().querySelector('thead tr');
|
|
17
|
+
}
|
|
18
|
+
// returns the tbody element of the summary table
|
|
19
|
+
function getTableBody() {
|
|
20
|
+
return getTable().querySelector('tbody');
|
|
21
|
+
}
|
|
22
|
+
// returns the th element for nth column
|
|
23
|
+
function getNthColumn(n) {
|
|
24
|
+
return getTableHeader().querySelectorAll('th')[n];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// loads all columns
|
|
28
|
+
function loadColumns() {
|
|
29
|
+
var colNodes = getTableHeader().querySelectorAll('th'),
|
|
30
|
+
colNode,
|
|
31
|
+
cols = [],
|
|
32
|
+
col,
|
|
33
|
+
i;
|
|
34
|
+
|
|
35
|
+
for (i = 0; i < colNodes.length; i += 1) {
|
|
36
|
+
colNode = colNodes[i];
|
|
37
|
+
col = {
|
|
38
|
+
key: colNode.getAttribute('data-col'),
|
|
39
|
+
sortable: !colNode.getAttribute('data-nosort'),
|
|
40
|
+
type: colNode.getAttribute('data-type') || 'string'
|
|
41
|
+
};
|
|
42
|
+
cols.push(col);
|
|
43
|
+
if (col.sortable) {
|
|
44
|
+
col.defaultDescSort = col.type === 'number';
|
|
45
|
+
colNode.innerHTML =
|
|
46
|
+
colNode.innerHTML + '<span class="sorter"></span>';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return cols;
|
|
50
|
+
}
|
|
51
|
+
// attaches a data attribute to every tr element with an object
|
|
52
|
+
// of data values keyed by column name
|
|
53
|
+
function loadRowData(tableRow) {
|
|
54
|
+
var tableCols = tableRow.querySelectorAll('td'),
|
|
55
|
+
colNode,
|
|
56
|
+
col,
|
|
57
|
+
data = {},
|
|
58
|
+
i,
|
|
59
|
+
val;
|
|
60
|
+
for (i = 0; i < tableCols.length; i += 1) {
|
|
61
|
+
colNode = tableCols[i];
|
|
62
|
+
col = cols[i];
|
|
63
|
+
val = colNode.getAttribute('data-value');
|
|
64
|
+
if (col.type === 'number') {
|
|
65
|
+
val = Number(val);
|
|
66
|
+
}
|
|
67
|
+
data[col.key] = val;
|
|
68
|
+
}
|
|
69
|
+
return data;
|
|
70
|
+
}
|
|
71
|
+
// loads all row data
|
|
72
|
+
function loadData() {
|
|
73
|
+
var rows = getTableBody().querySelectorAll('tr'),
|
|
74
|
+
i;
|
|
75
|
+
|
|
76
|
+
for (i = 0; i < rows.length; i += 1) {
|
|
77
|
+
rows[i].data = loadRowData(rows[i]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// sorts the table using the data for the ith column
|
|
81
|
+
function sortByIndex(index, desc) {
|
|
82
|
+
var key = cols[index].key,
|
|
83
|
+
sorter = function(a, b) {
|
|
84
|
+
a = a.data[key];
|
|
85
|
+
b = b.data[key];
|
|
86
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
87
|
+
},
|
|
88
|
+
finalSorter = sorter,
|
|
89
|
+
tableBody = document.querySelector('.coverage-summary tbody'),
|
|
90
|
+
rowNodes = tableBody.querySelectorAll('tr'),
|
|
91
|
+
rows = [],
|
|
92
|
+
i;
|
|
93
|
+
|
|
94
|
+
if (desc) {
|
|
95
|
+
finalSorter = function(a, b) {
|
|
96
|
+
return -1 * sorter(a, b);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
for (i = 0; i < rowNodes.length; i += 1) {
|
|
101
|
+
rows.push(rowNodes[i]);
|
|
102
|
+
tableBody.removeChild(rowNodes[i]);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
rows.sort(finalSorter);
|
|
106
|
+
|
|
107
|
+
for (i = 0; i < rows.length; i += 1) {
|
|
108
|
+
tableBody.appendChild(rows[i]);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// removes sort indicators for current column being sorted
|
|
112
|
+
function removeSortIndicators() {
|
|
113
|
+
var col = getNthColumn(currentSort.index),
|
|
114
|
+
cls = col.className;
|
|
115
|
+
|
|
116
|
+
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
|
|
117
|
+
col.className = cls;
|
|
118
|
+
}
|
|
119
|
+
// adds sort indicators for current column being sorted
|
|
120
|
+
function addSortIndicators() {
|
|
121
|
+
getNthColumn(currentSort.index).className += currentSort.desc
|
|
122
|
+
? ' sorted-desc'
|
|
123
|
+
: ' sorted';
|
|
124
|
+
}
|
|
125
|
+
// adds event listeners for all sorter widgets
|
|
126
|
+
function enableUI() {
|
|
127
|
+
var i,
|
|
128
|
+
el,
|
|
129
|
+
ithSorter = function ithSorter(i) {
|
|
130
|
+
var col = cols[i];
|
|
131
|
+
|
|
132
|
+
return function() {
|
|
133
|
+
var desc = col.defaultDescSort;
|
|
134
|
+
|
|
135
|
+
if (currentSort.index === i) {
|
|
136
|
+
desc = !currentSort.desc;
|
|
137
|
+
}
|
|
138
|
+
sortByIndex(i, desc);
|
|
139
|
+
removeSortIndicators();
|
|
140
|
+
currentSort.index = i;
|
|
141
|
+
currentSort.desc = desc;
|
|
142
|
+
addSortIndicators();
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
for (i = 0; i < cols.length; i += 1) {
|
|
146
|
+
if (cols[i].sortable) {
|
|
147
|
+
// add the click event handler on the th so users
|
|
148
|
+
// dont have to click on those tiny arrows
|
|
149
|
+
el = getNthColumn(i).querySelector('.sorter').parentElement;
|
|
150
|
+
if (el.addEventListener) {
|
|
151
|
+
el.addEventListener('click', ithSorter(i));
|
|
152
|
+
} else {
|
|
153
|
+
el.attachEvent('onclick', ithSorter(i));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// adds sorting functionality to the UI
|
|
159
|
+
return function() {
|
|
160
|
+
if (!getTable()) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
cols = loadColumns();
|
|
164
|
+
loadData();
|
|
165
|
+
addSortIndicators();
|
|
166
|
+
enableUI();
|
|
167
|
+
};
|
|
168
|
+
})();
|
|
169
|
+
|
|
170
|
+
window.addEventListener('load', addSorting);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*************************************************************************
|
|
2
|
+
* Copyright 2022 Adobe
|
|
3
|
+
* All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* NOTICE: Adobe permits you to use, modify, and distribute this file in
|
|
6
|
+
* accordance with the terms of the Adobe license agreement accompanying
|
|
7
|
+
* it. If you have received this file from a source other than Adobe,
|
|
8
|
+
* then your use, modification, or distribution of it requires the prior
|
|
9
|
+
* written permission of Adobe.
|
|
10
|
+
**************************************************************************/
|
|
11
|
+
/**
|
|
12
|
+
* A feature flag object.
|
|
13
|
+
*/
|
|
14
|
+
export interface FlattenedFeatureFlag {
|
|
15
|
+
[name: string]: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The response from the featureflags service.
|
|
19
|
+
*/
|
|
20
|
+
export interface FeatureFlagsResponse {
|
|
21
|
+
[projectId: string]: FlattenedFeatureFlag;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The input parameters for the feature flags API.
|
|
25
|
+
* This should be a list of LaunchDarkly project ids to get.
|
|
26
|
+
* You'll find a list of allowed projectIds in the
|
|
27
|
+
* documentation site:
|
|
28
|
+
* https://git.corp.adobe.com/pages/exc/unified-shell-docs/docs/intro
|
|
29
|
+
*/
|
|
30
|
+
export declare type ProjectIds = string[];
|
|
31
|
+
/**
|
|
32
|
+
* APIs to get featureFlags.
|
|
33
|
+
*/
|
|
34
|
+
export interface FeatureFlagsApi {
|
|
35
|
+
/**
|
|
36
|
+
* Gets feature flags by array of projectIds or ['*']
|
|
37
|
+
* You'll find a list of allowed projectIds in the
|
|
38
|
+
* documentation site:
|
|
39
|
+
* https://git.corp.adobe.com/pages/exc/unified-shell-docs/docs/intro
|
|
40
|
+
* @param params ProjectIds used to identify feature flags to retrieve.
|
|
41
|
+
* @returns A promise for the feature flags.
|
|
42
|
+
*/
|
|
43
|
+
get(params?: ProjectIds): Promise<FeatureFlagsResponse>;
|
|
44
|
+
}
|
|
45
|
+
declare const featureFlags: FeatureFlagsApi;
|
|
46
|
+
export default featureFlags;
|
package/featureflags.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*************************************************************************
|
|
3
|
+
* Copyright 2022 Adobe
|
|
4
|
+
* All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* NOTICE: Adobe permits you to use, modify, and distribute this file in
|
|
7
|
+
* accordance with the terms of the Adobe license agreement accompanying
|
|
8
|
+
* it. If you have received this file from a source other than Adobe,
|
|
9
|
+
* then your use, modification, or distribution of it requires the prior
|
|
10
|
+
* written permission of Adobe.
|
|
11
|
+
**************************************************************************/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
/**
|
|
14
|
+
* The Feature Flags API provides feature flag data from LaunchDarkly.
|
|
15
|
+
*
|
|
16
|
+
* To consume this API, add the following import to your code.
|
|
17
|
+
*
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import featureFlags from '@adobe/exc-app/featureflags';
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* The default export is an object of type [FeatureFlagsApi](../interfaces/_featureflags_.featureflags.md)
|
|
23
|
+
*
|
|
24
|
+
* API reference: [scroll down](#index)
|
|
25
|
+
*
|
|
26
|
+
* ### Sample code
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* import featureFlags from '@adobe/exc-app/featureflags';
|
|
30
|
+
*
|
|
31
|
+
* const featureFlags = await featureFlags.get(['cjm', 'experience-platform']);
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* All feature flags can be requested using the key '*'
|
|
35
|
+
* ```typescript
|
|
36
|
+
* import featureFlags from '@adobe/exc-app/featureflags';
|
|
37
|
+
*
|
|
38
|
+
* const featureFlags = await featureFlags.get(['*']);
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* API for fetching app data.
|
|
42
|
+
* @packageDocumentation
|
|
43
|
+
* @module featureflags
|
|
44
|
+
*/
|
|
45
|
+
const Global_1 = require("./src/Global");
|
|
46
|
+
const featureFlags = {
|
|
47
|
+
get: (params) => {
|
|
48
|
+
return (0, Global_1.getImpl)('featureFlags')().get(params);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.default = featureFlags;
|
|
52
|
+
//# sourceMappingURL=featureflags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureflags.js","sourceRoot":"","sources":["featureflags.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,yCAAqC;AAwCrC,MAAM,YAAY,GAAoB;IACpC,GAAG,EAAE,CAAC,MAAkB,EAAE,EAAE;QAC1B,OAAO,IAAA,gBAAO,EAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
package/metrics.d.ts
CHANGED
|
@@ -19,8 +19,10 @@ export interface MetricsApi {
|
|
|
19
19
|
/**
|
|
20
20
|
* Creates a metrics instance for the specified component to log entries and events.
|
|
21
21
|
* @param name The name of the component.
|
|
22
|
+
* @param {any} args Optional arguments that will be written into the
|
|
23
|
+
* metricsState context bag on the recorded metrics.
|
|
22
24
|
*/
|
|
23
|
-
create(name: string): Readonly<Metrics>;
|
|
25
|
+
create(name: string, ...args: any): Readonly<Metrics>;
|
|
24
26
|
}
|
|
25
27
|
declare const api: MetricsApi;
|
|
26
28
|
export default api;
|
package/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["metrics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,yCAAqC;AACrC,6CAAwC;
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["metrics.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,yCAAqC;AACrC,6CAAwC;AA4BtC,uFA5BM,eAAM,OA4BN;AA3BR,2CAAsC;AA4BpC,sFA5BM,aAAK,OA4BN;AAXP,MAAM,GAAG,GAAG,IAAA,gBAAO,EAAC,SAAS,EAAE;IAC7B,CAAC,QAAQ,EAAE,IAAI,CAAC;CACjB,CAAe,CAAC;AAEjB,kBAAe,GAAG,CAAC"}
|
package/modules.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single module metadata.
|
|
3
|
+
*/
|
|
4
|
+
export interface ModuleMetadata {
|
|
5
|
+
/**
|
|
6
|
+
* The current live version of this module.
|
|
7
|
+
*/
|
|
8
|
+
liveVersion: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Module metadata list
|
|
12
|
+
*/
|
|
13
|
+
export interface ModulesList {
|
|
14
|
+
/**
|
|
15
|
+
* Module metadata or undefined if the module requested does not exist.
|
|
16
|
+
*/
|
|
17
|
+
[name: string]: ModuleMetadata | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* APIs for exposing SPAs/Modules metadata.
|
|
21
|
+
*/
|
|
22
|
+
export interface ModulesApi {
|
|
23
|
+
/**
|
|
24
|
+
* API to fetch metadata for a single, multiple or all modules.
|
|
25
|
+
* @param module - Module(s) to request metadata for. If not provided, all modules metadata will be returned.
|
|
26
|
+
*/
|
|
27
|
+
get(module?: string | string[]): Promise<ModulesList>;
|
|
28
|
+
}
|
|
29
|
+
declare const modules: ModulesApi;
|
|
30
|
+
export default modules;
|
package/modules.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/*************************************************************************
|
|
4
|
+
* Copyright 2022 Adobe
|
|
5
|
+
* All Rights Reserved.
|
|
6
|
+
*
|
|
7
|
+
* NOTICE: Adobe permits you to use, modify, and distribute this file in
|
|
8
|
+
* accordance with the terms of the Adobe license agreement accompanying
|
|
9
|
+
* it. If you have received this file from a source other than Adobe,
|
|
10
|
+
* then your use, modification, or distribution of it requires the prior
|
|
11
|
+
* written permission of Adobe.
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
const Global_1 = require("./src/Global");
|
|
14
|
+
const modules = {
|
|
15
|
+
get: (module = '*') => (0, Global_1.getImpl)('modules')().get(module)
|
|
16
|
+
};
|
|
17
|
+
exports.default = modules;
|
|
18
|
+
//# sourceMappingURL=modules.js.map
|
package/modules.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["modules.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;4EAS4E;AAC5E,yCAAqC;AAiCrC,MAAM,OAAO,GAAe;IAC1B,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;CACxD,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*************************************************************************
|
|
2
|
+
* Copyright 2022 Adobe
|
|
3
|
+
* All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* NOTICE: Adobe permits you to use, modify, and distribute this file in
|
|
6
|
+
* accordance with the terms of the Adobe license agreement accompanying
|
|
7
|
+
* it. If you have received this file from a source other than Adobe,
|
|
8
|
+
* then your use, modification, or distribution of it requires the prior
|
|
9
|
+
* written permission of Adobe.
|
|
10
|
+
**************************************************************************/
|
|
11
|
+
import { CacheExpiry, CacheScope } from '../cache';
|
|
12
|
+
import { FetchScope } from '../network';
|
|
13
|
+
export interface FetchCondition {
|
|
14
|
+
serviceCodes?: string | string[];
|
|
15
|
+
}
|
|
16
|
+
export interface QueryContract<V> {
|
|
17
|
+
fetchScope: FetchScope;
|
|
18
|
+
ignoreErrorsOnPaths?: string[];
|
|
19
|
+
query: string;
|
|
20
|
+
root?: string;
|
|
21
|
+
variables: V;
|
|
22
|
+
}
|
|
23
|
+
interface DataContract<T, V = undefined> {
|
|
24
|
+
defaultValue: T;
|
|
25
|
+
expiry: CacheExpiry;
|
|
26
|
+
fetchWhen?: FetchCondition;
|
|
27
|
+
gql?: QueryContract<V>;
|
|
28
|
+
isSensitive: boolean;
|
|
29
|
+
key: string;
|
|
30
|
+
revalidate: boolean;
|
|
31
|
+
revalidateAfterSec?: number;
|
|
32
|
+
scope: CacheScope;
|
|
33
|
+
shared: boolean;
|
|
34
|
+
}
|
|
35
|
+
export default DataContract;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataContract.js","sourceRoot":"","sources":["DataContract.ts"],"names":[],"mappings":""}
|
package/network.d.ts
CHANGED
|
@@ -125,16 +125,14 @@ export interface Configuration {
|
|
|
125
125
|
* appId from solution route config
|
|
126
126
|
*/
|
|
127
127
|
appId: string;
|
|
128
|
-
/**
|
|
129
|
-
* Get Authentication token
|
|
130
|
-
*/
|
|
131
|
-
getTokenInfo: () => Promise<{
|
|
132
|
-
token: string;
|
|
133
|
-
}>;
|
|
134
128
|
/**
|
|
135
129
|
* IMS Client ID
|
|
136
130
|
*/
|
|
137
131
|
imsClientId: string;
|
|
132
|
+
/**
|
|
133
|
+
* IMS Token
|
|
134
|
+
*/
|
|
135
|
+
imsToken: string;
|
|
138
136
|
/**
|
|
139
137
|
* metricsAppId from solution route config
|
|
140
138
|
*/
|
package/package.json
CHANGED
package/sidenav.d.ts
CHANGED
|
@@ -38,13 +38,14 @@
|
|
|
38
38
|
* {
|
|
39
39
|
* heading: 'DOCUMENTS',
|
|
40
40
|
* items: [
|
|
41
|
-
* {
|
|
41
|
+
* {id: '2', name: 'Item 2'}
|
|
42
42
|
* ]
|
|
43
43
|
* }
|
|
44
44
|
* ],
|
|
45
45
|
* settings: {
|
|
46
|
+
* id: 'mySideNav',
|
|
46
47
|
* typeToSelect: true,
|
|
47
|
-
* variant: '
|
|
48
|
+
* variant: 'default'
|
|
48
49
|
* }
|
|
49
50
|
* };
|
|
50
51
|
*
|
|
@@ -84,19 +85,21 @@
|
|
|
84
85
|
* @module sidenav
|
|
85
86
|
*/
|
|
86
87
|
import EventEmitter from './src/EventEmitter';
|
|
87
|
-
export interface
|
|
88
|
+
export interface NavHeading {
|
|
88
89
|
/**
|
|
89
|
-
*
|
|
90
|
+
* Display name of the nav category heading.
|
|
90
91
|
*/
|
|
91
|
-
|
|
92
|
+
heading: string[];
|
|
92
93
|
/**
|
|
93
|
-
*
|
|
94
|
+
* A list of NavItems that go under the nav category heading.
|
|
94
95
|
*/
|
|
95
|
-
|
|
96
|
+
items: NavItem[];
|
|
97
|
+
}
|
|
98
|
+
export interface NavItem {
|
|
96
99
|
/**
|
|
97
|
-
* Whether or
|
|
100
|
+
* Whether the path is absolute or relative to the base path.
|
|
98
101
|
*/
|
|
99
|
-
|
|
102
|
+
absolutePath?: boolean;
|
|
100
103
|
/**
|
|
101
104
|
* Whether or not to disable the nav item.
|
|
102
105
|
*/
|
|
@@ -112,7 +115,7 @@ export interface NavItem {
|
|
|
112
115
|
/**
|
|
113
116
|
* Where to open external URL e.g., '_self' or '_blank' for same tab or new tab.
|
|
114
117
|
*/
|
|
115
|
-
target
|
|
118
|
+
target?: string;
|
|
116
119
|
/**
|
|
117
120
|
* A string url the user is taken to when this item is clicked.
|
|
118
121
|
*/
|
|
@@ -136,7 +139,7 @@ export interface NavConfig {
|
|
|
136
139
|
/**
|
|
137
140
|
* List of nav item objects.
|
|
138
141
|
*/
|
|
139
|
-
menu: NavItem[];
|
|
142
|
+
menu: (NavItem | NavHeading)[];
|
|
140
143
|
/**
|
|
141
144
|
* Extra Sidenav nav options and configurations.
|
|
142
145
|
*/
|
|
@@ -172,27 +175,26 @@ export interface SidenavApi extends EventEmitter<SidenavInfoEvent> {
|
|
|
172
175
|
* {
|
|
173
176
|
* heading: 'DOCUMENTS',
|
|
174
177
|
* items: [
|
|
175
|
-
* {
|
|
178
|
+
* {id: '2', name: 'Item 2'}
|
|
176
179
|
* ]
|
|
177
180
|
* }
|
|
178
181
|
* ],
|
|
179
182
|
* settings: {
|
|
183
|
+
* id: 'mySideNav',
|
|
180
184
|
* typeToSelect: true,
|
|
181
|
-
* variant: '
|
|
185
|
+
* variant: 'default'
|
|
182
186
|
* }
|
|
183
187
|
* };
|
|
184
188
|
* ```
|
|
185
189
|
*
|
|
186
190
|
* Options:
|
|
187
|
-
* * menu: List of nav items and headers and their
|
|
191
|
+
* * menu: List of nav items and headers and their nav items and headings to add to the Sidenav nav. There are two types:
|
|
188
192
|
* * Heading Nav Item
|
|
189
193
|
* * heading: The heading name. This string needs to be translated using the locale shell provides.
|
|
190
194
|
* * items: The list of nav items that belong under the heading. Each nav items should have the below properties
|
|
191
195
|
* * Regular Nav Item
|
|
192
196
|
* * id: Unique id and value of the nav item.
|
|
193
197
|
* * name: The nav item's label and display name. This string needs to be translated using the locale shell provides.
|
|
194
|
-
* * children: (optional) List of children nav item objects nested under the current nav item.
|
|
195
|
-
* * defaultExpanded: (optional) Whether or not this item's children are expanded and shown by default.
|
|
196
198
|
* * disabled: (optional) Whether or not this item is disabled.
|
|
197
199
|
* * target: (optional) Where to open external URL e.g., '_self' or '_blank' for same tab or new tab.
|
|
198
200
|
* * url: A string url the user is taken to when this item is clicked.
|
|
@@ -200,7 +202,7 @@ export interface SidenavApi extends EventEmitter<SidenavInfoEvent> {
|
|
|
200
202
|
* * settings: Optional object of additional settings for the Sidenav nav.
|
|
201
203
|
* * id: Unique id and value of the sidenav nav.
|
|
202
204
|
* * typeToSelect: Whether to enable typing to select an item.
|
|
203
|
-
* * variant: Can be one of two values: default or multiLevel.
|
|
205
|
+
* * variant: Can be one of two values: default or multiLevel. Currently, we only support default.
|
|
204
206
|
*/
|
|
205
207
|
config?: NavConfig;
|
|
206
208
|
/**
|
package/sidenav.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidenav.js","sourceRoot":"","sources":["sidenav.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;
|
|
1
|
+
{"version":3,"file":"sidenav.js","sourceRoot":"","sources":["sidenav.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;AAgF5E,yCAAqC;AA8JrC,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAClB,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IACD,GAAG,EAAE,MAAM,CAAC,EAAE;QACZ,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACD,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACrB,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IACD,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACpB,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACY,CAAC;AAEhB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;IACvC,GAAG,EAAE,GAA0B,EAAE;QAC/B,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC;IACD,GAAG,EAAE,CAAC,KAA4B,EAAE,EAAE;QACpC,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;IACtC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE;IAC1C,GAAG,EAAE,GAAwB,EAAE;QAC7B,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;IACxC,CAAC;IACD,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE;QACtB,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE;IACxC,GAAG,EAAE,GAAwB,EAAE;QAC7B,OAAO,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC;IACtC,CAAC;IACD,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE;QACtB,IAAA,gBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;IACvC,CAAC;CACF,CAAC,CAAC;AAEH,kBAAe,OAAO,CAAC"}
|
package/src/Global.d.ts
CHANGED
|
@@ -16,9 +16,11 @@ import { AppApi } from '../appapi';
|
|
|
16
16
|
import { CacheApi } from '../cache';
|
|
17
17
|
import { CapabilityApi } from '../capabilityapi';
|
|
18
18
|
import { ComponentApi } from '../component';
|
|
19
|
+
import { FeatureFlagsApi } from '../featureflags';
|
|
19
20
|
import { HelpCenterApi } from '../helpcenter';
|
|
20
21
|
import { InternalApi } from '../internal';
|
|
21
22
|
import { MetricsApi } from '../metrics';
|
|
23
|
+
import { ModulesApi } from '../modules';
|
|
22
24
|
import { NetworkApi } from '../network';
|
|
23
25
|
import { Nps } from '../nps';
|
|
24
26
|
import { OrgSwitcherApi } from '../orgswitcher';
|
|
@@ -40,9 +42,11 @@ export interface Modules {
|
|
|
40
42
|
readonly capabilityApi: () => CapabilityApi;
|
|
41
43
|
readonly component: () => ComponentApi;
|
|
42
44
|
readonly default: (options?: any) => Runtime;
|
|
45
|
+
readonly featureFlags: () => FeatureFlagsApi;
|
|
43
46
|
readonly helpCenter: HelpCenterApi;
|
|
44
47
|
readonly internal: InternalApi;
|
|
45
48
|
readonly metrics: MetricsApi;
|
|
49
|
+
readonly modules: () => ModulesApi;
|
|
46
50
|
readonly network: NetworkApi;
|
|
47
51
|
readonly nps: Nps;
|
|
48
52
|
readonly orgSwitcher: OrgSwitcherApi;
|
package/src/Global.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Global.js","sourceRoot":"","sources":["Global.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;
|
|
1
|
+
{"version":3,"file":"Global.js","sourceRoot":"","sources":["Global.ts"],"names":[],"mappings":";AAAA;;;;;;;;;4EAS4E;;;AAkE5E;;;;;GAKG;AACH,SAAgB,OAAO,CAA0B,UAAa;IAC5D,MAAM,GAAG,GAAI,MAAiB,CAAC,oBAAoB,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KACvD;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AACzB,CAAC;AAND,0BAMC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAA0B,OAAU,EAAE,UAA0C;IACrG,MAAM,GAAG,GAAG,EAAgB,CAAC;IAC7B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACd,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;gBACrC,OAAQ,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC,CAAQ,CAAC;SACX;aAAM;YACL,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE;gBACtC,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvC,CAAC;gBACD,GAAG,EAAE,KAAK,CAAC,EAAE;oBACX,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;gBACxC,CAAC;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AApBD,0BAoBC;AAED,kBAAgB,MAAiB,CAAC"}
|
package/src/Runtime.d.ts
CHANGED
|
@@ -13,8 +13,11 @@
|
|
|
13
13
|
* @module "index"
|
|
14
14
|
*/
|
|
15
15
|
import EventEmitter from './EventEmitter';
|
|
16
|
+
import type { RuntimeConfiguration } from '../RuntimeConfiguration';
|
|
16
17
|
/**
|
|
17
18
|
* Defines the runtime object providing all unified-shell APIs for solution authors.
|
|
18
19
|
*/
|
|
19
20
|
export default interface Runtime extends EventEmitter {
|
|
21
|
+
configured: boolean;
|
|
22
|
+
lastConfigurationPayload: RuntimeConfiguration | null;
|
|
20
23
|
}
|
package/tests/MockRuntime.d.ts
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
**************************************************************************/
|
|
11
11
|
import { Runtime } from '..';
|
|
12
12
|
export default class MockRuntime implements Runtime {
|
|
13
|
+
configured: boolean;
|
|
14
|
+
lastConfigurationPayload: null;
|
|
13
15
|
on(type: string, handler: (event?: any) => void): void;
|
|
14
16
|
off(type: string, handler: (event?: any) => void): void;
|
|
15
17
|
emit(type: string, evt?: any): void;
|
package/tests/MockRuntime.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class MockRuntime {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.configured = false;
|
|
6
|
+
this.lastConfigurationPayload = null;
|
|
7
|
+
}
|
|
4
8
|
on(type, handler) {
|
|
5
9
|
console.log(type, handler); // eslint-disable-line no-console
|
|
6
10
|
throw new Error('Method not implemented.');
|
package/tests/MockRuntime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockRuntime.js","sourceRoot":"","sources":["MockRuntime.ts"],"names":[],"mappings":";;AAYA,MAAqB,WAAW;
|
|
1
|
+
{"version":3,"file":"MockRuntime.js","sourceRoot":"","sources":["MockRuntime.ts"],"names":[],"mappings":";;AAYA,MAAqB,WAAW;IAAhC;QACE,eAAU,GAAG,KAAK,CAAC;QACnB,6BAAwB,GAAG,IAAI,CAAC;IAgBlC,CAAC;IAdC,EAAE,CAAC,IAAY,EAAE,OAA8B;QAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,iCAAiC;QAC7D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,OAA8B;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,iCAAiC;QAC7D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAS;QAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,iCAAiC;QACzD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF;AAlBD,8BAkBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
/*************************************************************************
|
|
16
|
+
* Copyright 2022 Adobe
|
|
17
|
+
* All Rights Reserved.
|
|
18
|
+
*
|
|
19
|
+
* NOTICE: Adobe permits you to use, modify, and distribute this file in
|
|
20
|
+
* accordance with the terms of the Adobe license agreement accompanying
|
|
21
|
+
* it. If you have received this file from a source other than Adobe,
|
|
22
|
+
* then your use, modification, or distribution of it requires the prior
|
|
23
|
+
* written permission of Adobe.
|
|
24
|
+
**************************************************************************/
|
|
25
|
+
const featureflags_1 = __importDefault(require("../featureflags"));
|
|
26
|
+
const Global_1 = __importDefault(require("../src/Global"));
|
|
27
|
+
describe('featureflags.ts', () => {
|
|
28
|
+
let getSpy;
|
|
29
|
+
beforeAll(() => {
|
|
30
|
+
const featureflagsMock = { get: jest.fn() };
|
|
31
|
+
Global_1.default['exc-module-runtime'] = { featureFlags: () => featureflagsMock };
|
|
32
|
+
getSpy = jest.spyOn(featureflagsMock, 'get');
|
|
33
|
+
});
|
|
34
|
+
afterEach(() => jest.clearAllMocks());
|
|
35
|
+
it('calls runtime feature flags service', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
getSpy.mockImplementationOnce(() => Promise.resolve({
|
|
37
|
+
cjm: {
|
|
38
|
+
flagA: 'true',
|
|
39
|
+
flagB: 'false'
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
const flags = yield featureflags_1.default.get(['cjm']);
|
|
43
|
+
expect(getSpy).toBeCalledTimes(1);
|
|
44
|
+
expect(getSpy).toBeCalledWith(['cjm']);
|
|
45
|
+
expect(flags).toEqual({
|
|
46
|
+
cjm: {
|
|
47
|
+
flagA: 'true',
|
|
48
|
+
flagB: 'false'
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}));
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=featureflags.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureflags.test.js","sourceRoot":"","sources":["featureflags.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;4EAS4E;AAC5E,mEAIyB;AACzB,2DAA8C;AAE9C,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,MAAW,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,gBAAgB,GAAG,EAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAoB,CAAC;QAC5D,gBAAM,CAAC,oBAAoB,CAAa,GAAG,EAAC,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAY,CAAC;QAC9F,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEtC,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;QACnD,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAuB;YACxE,GAAG,EAAE;gBACH,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,OAAO;aACf;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,MAAM,sBAAe,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB,GAAG,EAAE;gBACH,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,OAAO;aACf;SACF,CAAC,CAAC;IACL,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/version.d.ts
CHANGED
|
@@ -8,5 +8,5 @@
|
|
|
8
8
|
* then your use, modification, or distribution of it requires the prior
|
|
9
9
|
* written permission of Adobe.
|
|
10
10
|
**************************************************************************/
|
|
11
|
-
declare const EXC_APP_VERSION = "1.0.
|
|
11
|
+
declare const EXC_APP_VERSION = "1.0.17";
|
|
12
12
|
export default EXC_APP_VERSION;
|
package/version.js
CHANGED
|
@@ -10,6 +10,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
* then your use, modification, or distribution of it requires the prior
|
|
11
11
|
* written permission of Adobe.
|
|
12
12
|
**************************************************************************/
|
|
13
|
-
const EXC_APP_VERSION = '1.0.
|
|
13
|
+
const EXC_APP_VERSION = '1.0.17';
|
|
14
14
|
exports.default = EXC_APP_VERSION;
|
|
15
15
|
//# sourceMappingURL=version.js.map
|