@claspo/common 7.3.1-dev.4 → 7.4.0-nonlinear2

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.
Files changed (224) hide show
  1. package/{out/document → document}/Document.interface.d.ts +2 -0
  2. package/document/ViewNavigationGraph.d.ts +43 -0
  3. package/document/ViewNavigationGraph.js +1 -0
  4. package/package.json +2 -2
  5. package/velocity/SysVelocityRenderer.js +1 -0
  6. package/coverage/lcov-report/block-navigation.js +0 -87
  7. package/coverage/lcov-report/prettify.js +0 -2
  8. package/coverage/lcov-report/sorter.js +0 -196
  9. package/jest.config.ts +0 -204
  10. package/out/package.json +0 -50
  11. package/out/velocity/SysVelocityRenderer.js +0 -1
  12. package/src/DefaultEventEmitter.test.ts +0 -84
  13. package/src/DefaultEventEmitter.ts +0 -96
  14. package/src/HttpAbortableLoader.ts +0 -35
  15. package/src/InAppLayoutType.ts +0 -6
  16. package/src/LayoutType.ts +0 -18
  17. package/src/PrizePool.interface.ts +0 -32
  18. package/src/RenderMode.ts +0 -10
  19. package/src/UuidGenerator.ts +0 -16
  20. package/src/WidgetInitConfig.interface.ts +0 -163
  21. package/src/WidgetType.ts +0 -18
  22. package/src/action/type.ts +0 -7
  23. package/src/async/createAsyncIterator.ts +0 -33
  24. package/src/async/debounce.ts +0 -28
  25. package/src/async/timeout.ts +0 -3
  26. package/src/component-manifest/ComponentManifest.interface.ts +0 -160
  27. package/src/component-manifest/ContextMenuManifest.interface.ts +0 -52
  28. package/src/component-manifest/DisplayCondition.interface.ts +0 -65
  29. package/src/component-manifest/FloatingControlManifest.interface.ts +0 -89
  30. package/src/component-manifest/PropPathCondition.interface.ts +0 -4
  31. package/src/component-manifest/PropertyPaneManifest.interface.ts +0 -614
  32. package/src/converter/time/TimeConverter.spec.ts +0 -11
  33. package/src/converter/time/TimeUnit.spec.ts +0 -12
  34. package/src/converter/time/TimeUnit.ts +0 -34
  35. package/src/converter/time/TimerConverter.ts +0 -29
  36. package/src/document/ComponentInsertType.ts +0 -6
  37. package/src/document/Document.interface.ts +0 -625
  38. package/src/document/DocumentCssVarsReplace.test.ts +0 -2947
  39. package/src/document/DocumentCssVarsReplace.ts +0 -31
  40. package/src/document/DocumentUtils.test.ts +0 -595
  41. package/src/document/DocumentUtils.ts +0 -194
  42. package/src/document/hidden-fields.interface.ts +0 -54
  43. package/src/dom/ViewportSize.ts +0 -61
  44. package/src/dom/copyToClipboard.ts +0 -17
  45. package/src/dom/getMostNestedNode.ts +0 -9
  46. package/src/dom/insertHtmlIntoElement.ts +0 -36
  47. package/src/dom/sanitizeHTML.test.ts +0 -59
  48. package/src/dom/sanitizeHTML.ts +0 -78
  49. package/src/element/BaseElementInViewportHandler.ts +0 -41
  50. package/src/element/CssVarsOperations.ts +0 -37
  51. package/src/element/ThemeCssVars.ts +0 -28
  52. package/src/element/recursiveFindParentNodeByAttribute.test.ts +0 -63
  53. package/src/element/recursiveFindParentNodeByAttribute.ts +0 -25
  54. package/src/flat.ts +0 -16
  55. package/src/handler/HandlerTypes.ts +0 -4
  56. package/src/math/RandomDistributor.test.ts +0 -35
  57. package/src/math/RandomDistributor.ts +0 -58
  58. package/src/math/sum.ts +0 -3
  59. package/src/network/HttpClient.ts +0 -28
  60. package/src/network/HttpStatus.ts +0 -4
  61. package/src/object/isDictionary.test.ts +0 -24
  62. package/src/object/isDictionary.ts +0 -13
  63. package/src/object/omitKeys.test.ts +0 -19
  64. package/src/object/omitKeys.ts +0 -20
  65. package/src/storage/BaseCachingStorage.test.ts +0 -70
  66. package/src/storage/BaseCachingStorage.ts +0 -37
  67. package/src/storage/CachingCookieStorage.test.ts +0 -75
  68. package/src/storage/CachingCookieStorage.ts +0 -36
  69. package/src/storage/CachingLocalStorage.test.ts +0 -59
  70. package/src/storage/CachingLocalStorage.ts +0 -34
  71. package/src/storage/getCookie.test.ts +0 -53
  72. package/src/storage/getCookie.ts +0 -10
  73. package/src/storage/setCookie.test.ts +0 -97
  74. package/src/storage/setCookie.ts +0 -49
  75. package/src/theme/theme.utils.ts +0 -50
  76. package/src/url/sanitizeUrl.test.ts +0 -62
  77. package/src/url/sanitizeUrl.ts +0 -51
  78. package/src/utils/CaseTransformer.test.ts +0 -16
  79. package/src/utils/CaseTransformer.ts +0 -10
  80. package/src/utils/NullishCoalescingOperator.ts +0 -3
  81. package/src/utils/NumericDecline.ts +0 -25
  82. package/src/utils/addEventListener.ts +0 -23
  83. package/src/utils/allSettled.ts +0 -6
  84. package/src/utils/checkTimeZone.spec.ts +0 -18
  85. package/src/utils/checkTimeZone.ts +0 -6
  86. package/src/utils/deviceUtils.ts +0 -12
  87. package/src/utils/flatMap.test.ts +0 -21
  88. package/src/utils/flatMap.ts +0 -3
  89. package/src/utils/fromEntries.ts +0 -6
  90. package/src/utils/generateRandomNumber.test.ts +0 -23
  91. package/src/utils/generateRandomNumber.ts +0 -3
  92. package/src/utils/objectSort.ts +0 -41
  93. package/src/utils/orientationUtils.ts +0 -18
  94. package/src/velocity/SysVelocityContext.spec.ts +0 -88
  95. package/src/velocity/SysVelocityContext.ts +0 -129
  96. package/src/velocity/SysVelocityRenderer.spec.ts +0 -36
  97. package/src/velocity/SysVelocityRenderer.ts +0 -11
  98. package/test/__mocks/jestGlobalMocks.js +0 -1887
  99. /package/{out/DefaultEventEmitter.d.ts → DefaultEventEmitter.d.ts} +0 -0
  100. /package/{out/DefaultEventEmitter.js → DefaultEventEmitter.js} +0 -0
  101. /package/{out/HttpAbortableLoader.d.ts → HttpAbortableLoader.d.ts} +0 -0
  102. /package/{out/HttpAbortableLoader.js → HttpAbortableLoader.js} +0 -0
  103. /package/{out/InAppLayoutType.d.ts → InAppLayoutType.d.ts} +0 -0
  104. /package/{out/InAppLayoutType.js → InAppLayoutType.js} +0 -0
  105. /package/{out/LayoutType.d.ts → LayoutType.d.ts} +0 -0
  106. /package/{out/LayoutType.js → LayoutType.js} +0 -0
  107. /package/{out/PrizePool.interface.d.ts → PrizePool.interface.d.ts} +0 -0
  108. /package/{out/PrizePool.interface.js → PrizePool.interface.js} +0 -0
  109. /package/{out/RenderMode.d.ts → RenderMode.d.ts} +0 -0
  110. /package/{out/RenderMode.js → RenderMode.js} +0 -0
  111. /package/{out/UuidGenerator.d.ts → UuidGenerator.d.ts} +0 -0
  112. /package/{out/UuidGenerator.js → UuidGenerator.js} +0 -0
  113. /package/{out/WidgetInitConfig.interface.d.ts → WidgetInitConfig.interface.d.ts} +0 -0
  114. /package/{out/WidgetInitConfig.interface.js → WidgetInitConfig.interface.js} +0 -0
  115. /package/{out/WidgetType.d.ts → WidgetType.d.ts} +0 -0
  116. /package/{out/WidgetType.js → WidgetType.js} +0 -0
  117. /package/{out/action → action}/type.d.ts +0 -0
  118. /package/{out/action → action}/type.js +0 -0
  119. /package/{out/async → async}/createAsyncIterator.d.ts +0 -0
  120. /package/{out/async → async}/createAsyncIterator.js +0 -0
  121. /package/{out/async → async}/debounce.d.ts +0 -0
  122. /package/{out/async → async}/debounce.js +0 -0
  123. /package/{out/async → async}/timeout.d.ts +0 -0
  124. /package/{out/async → async}/timeout.js +0 -0
  125. /package/{out/component-manifest → component-manifest}/ComponentManifest.interface.d.ts +0 -0
  126. /package/{out/component-manifest → component-manifest}/ComponentManifest.interface.js +0 -0
  127. /package/{out/component-manifest → component-manifest}/ContextMenuManifest.interface.d.ts +0 -0
  128. /package/{out/component-manifest → component-manifest}/ContextMenuManifest.interface.js +0 -0
  129. /package/{out/component-manifest → component-manifest}/DisplayCondition.interface.d.ts +0 -0
  130. /package/{out/component-manifest → component-manifest}/DisplayCondition.interface.js +0 -0
  131. /package/{out/component-manifest → component-manifest}/FloatingControlManifest.interface.d.ts +0 -0
  132. /package/{out/component-manifest → component-manifest}/FloatingControlManifest.interface.js +0 -0
  133. /package/{out/component-manifest → component-manifest}/PropPathCondition.interface.d.ts +0 -0
  134. /package/{out/component-manifest → component-manifest}/PropPathCondition.interface.js +0 -0
  135. /package/{out/component-manifest → component-manifest}/PropertyPaneManifest.interface.d.ts +0 -0
  136. /package/{out/component-manifest → component-manifest}/PropertyPaneManifest.interface.js +0 -0
  137. /package/{out/converter → converter}/time/TimeUnit.d.ts +0 -0
  138. /package/{out/converter → converter}/time/TimeUnit.js +0 -0
  139. /package/{out/converter → converter}/time/TimerConverter.d.ts +0 -0
  140. /package/{out/converter → converter}/time/TimerConverter.js +0 -0
  141. /package/{out/document → document}/ComponentInsertType.d.ts +0 -0
  142. /package/{out/document → document}/ComponentInsertType.js +0 -0
  143. /package/{out/document → document}/Document.interface.js +0 -0
  144. /package/{out/document → document}/DocumentCssVarsReplace.d.ts +0 -0
  145. /package/{out/document → document}/DocumentCssVarsReplace.js +0 -0
  146. /package/{out/document → document}/DocumentUtils.d.ts +0 -0
  147. /package/{out/document → document}/DocumentUtils.js +0 -0
  148. /package/{out/document → document}/hidden-fields.interface.d.ts +0 -0
  149. /package/{out/document → document}/hidden-fields.interface.js +0 -0
  150. /package/{out/dom → dom}/ViewportSize.d.ts +0 -0
  151. /package/{out/dom → dom}/ViewportSize.js +0 -0
  152. /package/{out/dom → dom}/copyToClipboard.d.ts +0 -0
  153. /package/{out/dom → dom}/copyToClipboard.js +0 -0
  154. /package/{out/dom → dom}/getMostNestedNode.d.ts +0 -0
  155. /package/{out/dom → dom}/getMostNestedNode.js +0 -0
  156. /package/{out/dom → dom}/insertHtmlIntoElement.d.ts +0 -0
  157. /package/{out/dom → dom}/insertHtmlIntoElement.js +0 -0
  158. /package/{out/dom → dom}/sanitizeHTML.d.ts +0 -0
  159. /package/{out/dom → dom}/sanitizeHTML.js +0 -0
  160. /package/{out/element → element}/BaseElementInViewportHandler.d.ts +0 -0
  161. /package/{out/element → element}/BaseElementInViewportHandler.js +0 -0
  162. /package/{out/element → element}/CssVarsOperations.d.ts +0 -0
  163. /package/{out/element → element}/CssVarsOperations.js +0 -0
  164. /package/{out/element → element}/ThemeCssVars.d.ts +0 -0
  165. /package/{out/element → element}/ThemeCssVars.js +0 -0
  166. /package/{out/element → element}/recursiveFindParentNodeByAttribute.d.ts +0 -0
  167. /package/{out/element → element}/recursiveFindParentNodeByAttribute.js +0 -0
  168. /package/{out/flat.d.ts → flat.d.ts} +0 -0
  169. /package/{out/flat.js → flat.js} +0 -0
  170. /package/{out/handler → handler}/HandlerTypes.d.ts +0 -0
  171. /package/{out/handler → handler}/HandlerTypes.js +0 -0
  172. /package/{out/math → math}/RandomDistributor.d.ts +0 -0
  173. /package/{out/math → math}/RandomDistributor.js +0 -0
  174. /package/{out/math → math}/sum.d.ts +0 -0
  175. /package/{out/math → math}/sum.js +0 -0
  176. /package/{out/network → network}/HttpClient.d.ts +0 -0
  177. /package/{out/network → network}/HttpClient.js +0 -0
  178. /package/{out/network → network}/HttpStatus.d.ts +0 -0
  179. /package/{out/network → network}/HttpStatus.js +0 -0
  180. /package/{out/object → object}/isDictionary.d.ts +0 -0
  181. /package/{out/object → object}/isDictionary.js +0 -0
  182. /package/{out/object → object}/omitKeys.d.ts +0 -0
  183. /package/{out/object → object}/omitKeys.js +0 -0
  184. /package/{out/storage → storage}/BaseCachingStorage.d.ts +0 -0
  185. /package/{out/storage → storage}/BaseCachingStorage.js +0 -0
  186. /package/{out/storage → storage}/CachingCookieStorage.d.ts +0 -0
  187. /package/{out/storage → storage}/CachingCookieStorage.js +0 -0
  188. /package/{out/storage → storage}/CachingLocalStorage.d.ts +0 -0
  189. /package/{out/storage → storage}/CachingLocalStorage.js +0 -0
  190. /package/{out/storage → storage}/getCookie.d.ts +0 -0
  191. /package/{out/storage → storage}/getCookie.js +0 -0
  192. /package/{out/storage → storage}/setCookie.d.ts +0 -0
  193. /package/{out/storage → storage}/setCookie.js +0 -0
  194. /package/{out/theme → theme}/theme.utils.d.ts +0 -0
  195. /package/{out/theme → theme}/theme.utils.js +0 -0
  196. /package/{out/url → url}/sanitizeUrl.d.ts +0 -0
  197. /package/{out/url → url}/sanitizeUrl.js +0 -0
  198. /package/{out/utils → utils}/CaseTransformer.d.ts +0 -0
  199. /package/{out/utils → utils}/CaseTransformer.js +0 -0
  200. /package/{out/utils → utils}/NullishCoalescingOperator.d.ts +0 -0
  201. /package/{out/utils → utils}/NullishCoalescingOperator.js +0 -0
  202. /package/{out/utils → utils}/NumericDecline.d.ts +0 -0
  203. /package/{out/utils → utils}/NumericDecline.js +0 -0
  204. /package/{out/utils → utils}/addEventListener.d.ts +0 -0
  205. /package/{out/utils → utils}/addEventListener.js +0 -0
  206. /package/{out/utils → utils}/allSettled.d.ts +0 -0
  207. /package/{out/utils → utils}/allSettled.js +0 -0
  208. /package/{out/utils → utils}/checkTimeZone.d.ts +0 -0
  209. /package/{out/utils → utils}/checkTimeZone.js +0 -0
  210. /package/{out/utils → utils}/deviceUtils.d.ts +0 -0
  211. /package/{out/utils → utils}/deviceUtils.js +0 -0
  212. /package/{out/utils → utils}/flatMap.d.ts +0 -0
  213. /package/{out/utils → utils}/flatMap.js +0 -0
  214. /package/{out/utils → utils}/fromEntries.d.ts +0 -0
  215. /package/{out/utils → utils}/fromEntries.js +0 -0
  216. /package/{out/utils → utils}/generateRandomNumber.d.ts +0 -0
  217. /package/{out/utils → utils}/generateRandomNumber.js +0 -0
  218. /package/{out/utils → utils}/objectSort.d.ts +0 -0
  219. /package/{out/utils → utils}/objectSort.js +0 -0
  220. /package/{out/utils → utils}/orientationUtils.d.ts +0 -0
  221. /package/{out/utils → utils}/orientationUtils.js +0 -0
  222. /package/{out/velocity → velocity}/SysVelocityContext.d.ts +0 -0
  223. /package/{out/velocity → velocity}/SysVelocityContext.js +0 -0
  224. /package/{out/velocity → velocity}/SysVelocityRenderer.d.ts +0 -0
@@ -108,6 +108,7 @@ export interface ClDocumentGoToViewActionParamsI {
108
108
  [key: string]: string;
109
109
  };
110
110
  countAsTargetAction?: boolean;
111
+ validateForm?: boolean;
111
112
  }
112
113
  export interface ClDocumentGoToNextViewActionParamsI {
113
114
  trackClick?: boolean;
@@ -121,6 +122,7 @@ export interface ClDocumentGoToPreviousViewActionParamsI {
121
122
  [key: string]: string;
122
123
  };
123
124
  countAsTargetAction?: boolean;
125
+ useNavigationHistory?: boolean;
124
126
  }
125
127
  export interface ClDocumentCloseWidgetActionParamsI {
126
128
  trackClickParams?: {
@@ -0,0 +1,43 @@
1
+ import { ClBaseComponentI, ClDocumentSharedI, ClSubmitActionParamsI } from './Document.interface';
2
+ export declare enum ViewNavEdgeKind {
3
+ GO_TO_VIEW = "GO_TO_VIEW",
4
+ GO_TO_NEXT_VIEW = "GO_TO_NEXT_VIEW",
5
+ GO_TO_PREVIOUS_VIEW = "GO_TO_PREVIOUS_VIEW",
6
+ SUBMIT = "SUBMIT",
7
+ NPS_CONDITIONAL = "NPS_CONDITIONAL"
8
+ }
9
+ export declare enum ViewTerminalKind {
10
+ TRUE_TERMINAL = "TRUE_TERMINAL",
11
+ INTERMEDIATE = "INTERMEDIATE"
12
+ }
13
+ export interface ViewNavNodeI {
14
+ index: number;
15
+ id: string;
16
+ label: string;
17
+ hasSubmitAction: boolean;
18
+ }
19
+ export interface ViewNavEdgeI {
20
+ fromIndex: number;
21
+ toIndex: number;
22
+ kind: ViewNavEdgeKind;
23
+ isForward: boolean;
24
+ label: string;
25
+ }
26
+ export interface ViewNavGraphI {
27
+ nodes: ViewNavNodeI[];
28
+ edges: ViewNavEdgeI[];
29
+ }
30
+ export declare const SUCCESS_LEGACY_LABELS: string[];
31
+ export declare const ERROR_LEGACY_LABELS: string[];
32
+ export declare const ALREADY_SUBSCRIBED_LEGACY_LABELS: string[];
33
+ export declare const SYSTEM_RESULT_STATE_LABELS: string[];
34
+ export declare function viewHasControls(viewModel: ClBaseComponentI | undefined | null): boolean;
35
+ export declare function isResultView(viewModel: ClBaseComponentI | undefined | null, resultViewIds: string[]): boolean;
36
+ export declare function getConfiguredResultViewIds(submitActionParams: ClSubmitActionParamsI | undefined | null, hasFormControls: boolean): string[];
37
+ export declare function submitAdvancesToNextStep(graph: Pick<ViewNavGraphI, 'edges'>, views: ClBaseComponentI[], viewIndex: number, resultViewIds: string[]): boolean;
38
+ export declare function buildViewNavigationGraph(views: ClBaseComponentI[], shared?: Pick<ClDocumentSharedI, 'submitActionParams'> | null): ViewNavGraphI;
39
+ export declare function classifyView(graph: ViewNavGraphI, viewIndex: number): ViewTerminalKind;
40
+ export declare function classifyViews(graph: ViewNavGraphI): ViewTerminalKind[];
41
+ export declare function isAutoCommitTerminal(graph: ViewNavGraphI, viewIndex: number): boolean;
42
+ export declare function isMultiViewFlow(graph: ViewNavGraphI): boolean;
43
+ export declare function isNonLinearFlow(graph: ViewNavGraphI): boolean;
@@ -0,0 +1 @@
1
+ import{ClDocumentActionType}from"./Document.interface";import{iterateDepthFirst}from"./DocumentUtils";export var ViewNavEdgeKind;!function(e){e.GO_TO_VIEW="GO_TO_VIEW",e.GO_TO_NEXT_VIEW="GO_TO_NEXT_VIEW",e.GO_TO_PREVIOUS_VIEW="GO_TO_PREVIOUS_VIEW",e.SUBMIT="SUBMIT",e.NPS_CONDITIONAL="NPS_CONDITIONAL"}(ViewNavEdgeKind||(ViewNavEdgeKind={}));export var ViewTerminalKind;!function(e){e.TRUE_TERMINAL="TRUE_TERMINAL",e.INTERMEDIATE="INTERMEDIATE"}(ViewTerminalKind||(ViewTerminalKind={}));const SUBMIT_ACTION_TYPES=[ClDocumentActionType.REQUEST,ClDocumentActionType.SUBSCRIBE_CONTACT],NPS_BAND_KEYS=["detractor","passive","promoter"];export const SUCCESS_LEGACY_LABELS=["DOCUMENT_VIEW_TYPE_SUCCESS","DOCUMENT_VIEW_TYPE_SUCCESSFUL_REQUEST","REQUEST_FORM_VIEW_TYPE_SUCCESS"];export const ERROR_LEGACY_LABELS=["DOCUMENT_VIEW_TYPE_ERROR"];export const ALREADY_SUBSCRIBED_LEGACY_LABELS=["DOCUMENT_VIEW_TYPE_SUBSCRIBED"];export const SYSTEM_RESULT_STATE_LABELS=[...SUCCESS_LEGACY_LABELS,...ERROR_LEGACY_LABELS,...ALREADY_SUBSCRIBED_LEGACY_LABELS];function componentModelHasSubmitAction(e){var n,i;try{return!!(null===(i=null===(n=e.props)||void 0===n?void 0:n.handlers)||void 0===i?void 0:i.find(e=>{var n;return null===(n=null==e?void 0:e.actions)||void 0===n?void 0:n.find(e=>SUBMIT_ACTION_TYPES.includes(e.type))}))}catch(e){return!1}}export function viewHasControls(e){if(!e)return!1;let n=0;return iterateDepthFirst(e,e=>{(["INPUT","MULTIPLE_INPUT","PRIZE_BASED_GAMING"].includes(e.type)||componentModelHasSubmitAction(e))&&n++}),n>0}export function isResultView(e,n){return!!e&&(SYSTEM_RESULT_STATE_LABELS.includes(e.label)||n.includes(e.id))}export function getConfiguredResultViewIds(e,n){return n?!e||e.runAction?[]:[e.successViewId,e.errorViewId,e.alreadySubscribedViewId].filter(Boolean):[]}function resolveResultViewIndex(e,n,i,o){const t=null==n?void 0:n[i];if(t){const n=e.findIndex(e=>e.id===t);if(-1!==n)return n}return e.findIndex(e=>o.includes(e.label))}export function submitAdvancesToNextStep(e,n,i,o){const t=n[i+1];if(!t||isResultView(t,o))return!1;return!e.edges.some(e=>e.toIndex===i+1&&e.fromIndex!==i&&e.isForward&&e.kind!==ViewNavEdgeKind.SUBMIT)}export function buildViewNavigationGraph(e,n){var i;const o=new Map;e.forEach((e,n)=>o.set(e.id,n));const t=null!==(i=null==n?void 0:n.submitActionParams)&&void 0!==i?i:void 0,d=e.some(e=>viewHasControls(e)),r=getConfiguredResultViewIds(t,d),s=d?t:void 0,l=[],E=[],u=(e,n,i)=>i===ViewNavEdgeKind.GO_TO_NEXT_VIEW||n>e,a=(n,i,o,t)=>{void 0===i||i<0||i>=e.length||l.push({fromIndex:n,toIndex:i,kind:o,isForward:u(n,i,o),label:t})},c=(n,i)=>{var t,d;switch(i.type){case ClDocumentActionType.GO_TO_VIEW:return(null===(t=i.params)||void 0===t?void 0:t.viewId)?o.get(i.params.viewId):"number"==typeof(null===(d=i.params)||void 0===d?void 0:d.viewIndex)?i.params.viewIndex:void 0;case ClDocumentActionType.GO_TO_NEXT_VIEW:return n+1<e.length?n+1:void 0;case ClDocumentActionType.GO_TO_PREVIOUS_VIEW:return n-1>=0?n-1:void 0;default:return}},_=e.map(()=>new Set),I=(e,n,i,o)=>{if(void 0===n||-1===n||n===e)return;const t=`${n}:${i}`;_[e].has(t)||(_[e].add(t),a(e,n,i,o))},T=[];e.forEach((e,n)=>{const i=new Set;let t;iterateDepthFirst(e,e=>{var o,d,r,s,l,E,u;const _=null===(o=e.props)||void 0===o?void 0:o.content,I=[];for(const n of null!==(r=null===(d=e.props)||void 0===d?void 0:d.handlers)&&void 0!==r?r:[])for(const e of null!==(s=n.actions)&&void 0!==s?s:[])I.push({action:e,label:null!==(l=null==_?void 0:_.text)&&void 0!==l?l:""});if(Array.isArray(null==_?void 0:_.options))for(const e of _.options)(null==e?void 0:e.action)&&I.push({action:e.action,label:null!==(u=null!==(E=null==e?void 0:e.label)&&void 0!==E?E:null==e?void 0:e.value)&&void 0!==u?u:""});for(const{action:e,label:i}of I)SUBMIT_ACTION_TYPES.includes(e.type)?t=null!=t?t:i:e.type!==ClDocumentActionType.GO_TO_VIEW&&e.type!==ClDocumentActionType.GO_TO_NEXT_VIEW&&e.type!==ClDocumentActionType.GO_TO_PREVIOUS_VIEW||a(n,c(n,e),e.type,i);NPS_BAND_KEYS.map(e=>(_||{})[e]||null).filter(e=>e).forEach(e=>i.add(e))}),i.forEach(e=>{I(n,o.get(e),ViewNavEdgeKind.NPS_CONDITIONAL,"")}),T[n]=t,E[n]=void 0!==t}),e.forEach((n,i)=>{const o=T[i];if(void 0===o)return;const t=e[i+1],E=submitAdvancesToNextStep({edges:l},e,i,r),u=o,a=()=>{I(i,resolveResultViewIndex(e,s,"errorViewId",ERROR_LEGACY_LABELS),ViewNavEdgeKind.SUBMIT,u),s&&!s.alreadySubscribedViewId?I(i,resolveResultViewIndex(e,s,"successViewId",SUCCESS_LEGACY_LABELS),ViewNavEdgeKind.SUBMIT,u):I(i,resolveResultViewIndex(e,s,"alreadySubscribedViewId",ALREADY_SUBSCRIBED_LEGACY_LABELS),ViewNavEdgeKind.SUBMIT,u)};if(E)return I(i,i+1,ViewNavEdgeKind.SUBMIT,u),void(!viewHasControls(t)&&d&&a());const _=null==s?void 0:s.runAction;_?I(i,c(i,_),_.type,u):(I(i,resolveResultViewIndex(e,s,"successViewId",SUCCESS_LEGACY_LABELS),ViewNavEdgeKind.SUBMIT,u),a())});const S=e.map((e,n)=>{var i,o;return{index:n,id:e.id,label:null!==(i=e.label)&&void 0!==i?i:e.id,hasSubmitAction:null!==(o=E[n])&&void 0!==o&&o}});return{nodes:S,edges:l}}export function classifyView(e,n){return e.edges.some(e=>e.fromIndex===n)?ViewTerminalKind.INTERMEDIATE:ViewTerminalKind.TRUE_TERMINAL}export function classifyViews(e){return e.nodes.map(n=>classifyView(e,n.index))}export function isAutoCommitTerminal(e,n){const i=e.nodes[n];return!!i&&(classifyView(e,n)===ViewTerminalKind.TRUE_TERMINAL&&!i.hasSubmitAction)}export function isMultiViewFlow(e){if(e.nodes.length<2)return!1;const n=new Set([0]),i=[0];for(;i.length;){const o=i.shift();for(const t of e.edges)t.fromIndex!==o||n.has(t.toIndex)||(n.add(t.toIndex),i.push(t.toIndex))}return n.size>1}export function isNonLinearFlow(e){return e.edges.some(e=>e.kind===ViewNavEdgeKind.GO_TO_VIEW||e.kind===ViewNavEdgeKind.NPS_CONDITIONAL||e.kind===ViewNavEdgeKind.SUBMIT&&e.toIndex<e.fromIndex)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claspo/common",
3
- "version": "7.3.1-dev.4",
3
+ "version": "7.4.0-nonlinear2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "engines": {
@@ -28,7 +28,7 @@
28
28
  "sync:docs": "node ../../scripts/sync-docs.js --package=common"
29
29
  },
30
30
  "dependencies": {
31
- "velocityjs": "2.1.6"
31
+ "velocityjs": "2.0.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/jest": "^27.5.1",
@@ -0,0 +1 @@
1
+ import Velocity from"velocityjs";import SysVelocityContext from"./SysVelocityContext";const sysCtx=(new SysVelocityContext).create();export default class SysVelocityRenderer{render(e,t){return Velocity.render(e,Object.assign(Object.assign({},sysCtx),t))}}
@@ -1,87 +0,0 @@
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
- if (
67
- document.getElementById('fileSearch') === document.activeElement &&
68
- document.activeElement != null
69
- ) {
70
- // if we're currently focused on the search input, we don't want to navigate
71
- return;
72
- }
73
-
74
- switch (event.which) {
75
- case 78: // n
76
- case 74: // j
77
- goToNext();
78
- break;
79
- case 66: // b
80
- case 75: // k
81
- case 80: // p
82
- goToPrevious();
83
- break;
84
- }
85
- };
86
- })();
87
- window.addEventListener('keydown', jumpToCode);
@@ -1,2 +0,0 @@
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"]);
@@ -1,196 +0,0 @@
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
- function onFilterInput() {
28
- const searchValue = document.getElementById('fileSearch').value;
29
- const rows = document.getElementsByTagName('tbody')[0].children;
30
- for (let i = 0; i < rows.length; i++) {
31
- const row = rows[i];
32
- if (
33
- row.textContent
34
- .toLowerCase()
35
- .includes(searchValue.toLowerCase())
36
- ) {
37
- row.style.display = '';
38
- } else {
39
- row.style.display = 'none';
40
- }
41
- }
42
- }
43
-
44
- // loads the search box
45
- function addSearchBox() {
46
- var template = document.getElementById('filterTemplate');
47
- var templateClone = template.content.cloneNode(true);
48
- templateClone.getElementById('fileSearch').oninput = onFilterInput;
49
- template.parentElement.appendChild(templateClone);
50
- }
51
-
52
- // loads all columns
53
- function loadColumns() {
54
- var colNodes = getTableHeader().querySelectorAll('th'),
55
- colNode,
56
- cols = [],
57
- col,
58
- i;
59
-
60
- for (i = 0; i < colNodes.length; i += 1) {
61
- colNode = colNodes[i];
62
- col = {
63
- key: colNode.getAttribute('data-col'),
64
- sortable: !colNode.getAttribute('data-nosort'),
65
- type: colNode.getAttribute('data-type') || 'string'
66
- };
67
- cols.push(col);
68
- if (col.sortable) {
69
- col.defaultDescSort = col.type === 'number';
70
- colNode.innerHTML =
71
- colNode.innerHTML + '<span class="sorter"></span>';
72
- }
73
- }
74
- return cols;
75
- }
76
- // attaches a data attribute to every tr element with an object
77
- // of data values keyed by column name
78
- function loadRowData(tableRow) {
79
- var tableCols = tableRow.querySelectorAll('td'),
80
- colNode,
81
- col,
82
- data = {},
83
- i,
84
- val;
85
- for (i = 0; i < tableCols.length; i += 1) {
86
- colNode = tableCols[i];
87
- col = cols[i];
88
- val = colNode.getAttribute('data-value');
89
- if (col.type === 'number') {
90
- val = Number(val);
91
- }
92
- data[col.key] = val;
93
- }
94
- return data;
95
- }
96
- // loads all row data
97
- function loadData() {
98
- var rows = getTableBody().querySelectorAll('tr'),
99
- i;
100
-
101
- for (i = 0; i < rows.length; i += 1) {
102
- rows[i].data = loadRowData(rows[i]);
103
- }
104
- }
105
- // sorts the table using the data for the ith column
106
- function sortByIndex(index, desc) {
107
- var key = cols[index].key,
108
- sorter = function(a, b) {
109
- a = a.data[key];
110
- b = b.data[key];
111
- return a < b ? -1 : a > b ? 1 : 0;
112
- },
113
- finalSorter = sorter,
114
- tableBody = document.querySelector('.coverage-summary tbody'),
115
- rowNodes = tableBody.querySelectorAll('tr'),
116
- rows = [],
117
- i;
118
-
119
- if (desc) {
120
- finalSorter = function(a, b) {
121
- return -1 * sorter(a, b);
122
- };
123
- }
124
-
125
- for (i = 0; i < rowNodes.length; i += 1) {
126
- rows.push(rowNodes[i]);
127
- tableBody.removeChild(rowNodes[i]);
128
- }
129
-
130
- rows.sort(finalSorter);
131
-
132
- for (i = 0; i < rows.length; i += 1) {
133
- tableBody.appendChild(rows[i]);
134
- }
135
- }
136
- // removes sort indicators for current column being sorted
137
- function removeSortIndicators() {
138
- var col = getNthColumn(currentSort.index),
139
- cls = col.className;
140
-
141
- cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
142
- col.className = cls;
143
- }
144
- // adds sort indicators for current column being sorted
145
- function addSortIndicators() {
146
- getNthColumn(currentSort.index).className += currentSort.desc
147
- ? ' sorted-desc'
148
- : ' sorted';
149
- }
150
- // adds event listeners for all sorter widgets
151
- function enableUI() {
152
- var i,
153
- el,
154
- ithSorter = function ithSorter(i) {
155
- var col = cols[i];
156
-
157
- return function() {
158
- var desc = col.defaultDescSort;
159
-
160
- if (currentSort.index === i) {
161
- desc = !currentSort.desc;
162
- }
163
- sortByIndex(i, desc);
164
- removeSortIndicators();
165
- currentSort.index = i;
166
- currentSort.desc = desc;
167
- addSortIndicators();
168
- };
169
- };
170
- for (i = 0; i < cols.length; i += 1) {
171
- if (cols[i].sortable) {
172
- // add the click event handler on the th so users
173
- // dont have to click on those tiny arrows
174
- el = getNthColumn(i).querySelector('.sorter').parentElement;
175
- if (el.addEventListener) {
176
- el.addEventListener('click', ithSorter(i));
177
- } else {
178
- el.attachEvent('onclick', ithSorter(i));
179
- }
180
- }
181
- }
182
- }
183
- // adds sorting functionality to the UI
184
- return function() {
185
- if (!getTable()) {
186
- return;
187
- }
188
- cols = loadColumns();
189
- loadData();
190
- addSearchBox();
191
- addSortIndicators();
192
- enableUI();
193
- };
194
- })();
195
-
196
- window.addEventListener('load', addSorting);
package/jest.config.ts DELETED
@@ -1,204 +0,0 @@
1
- /*
2
- * For a detailed explanation regarding each configuration property and type check, visit:
3
- * https://jestjs.io/docs/configuration
4
- */
5
- import type {Config} from '@jest/types';
6
-
7
- const config: Config.InitialOptions = {
8
- // All imported modules in your tests should be mocked automatically
9
- // automock: false,
10
-
11
- // Stop running tests after `n` failures
12
- // bail: 0,
13
-
14
- // The directory where Jest should store its cached dependency information
15
- // cacheDirectory: "/private/var/folders/kb/t_4f56452p52tg38w_w41vch0000gn/T/jest_dx",
16
-
17
- // Automatically clear mock calls, instances, contexts and results before every test
18
- clearMocks: true,
19
-
20
- // Indicates whether the coverage information should be collected while executing the test
21
- collectCoverage: true,
22
-
23
- // An array of glob patterns indicating a set of files for which coverage information should be collected
24
- // collectCoverageFrom: undefined,
25
-
26
- // The directory where Jest should output its coverage files
27
- coverageDirectory: "coverage",
28
-
29
- // An array of regexp pattern strings used to skip coverage collection
30
- // coveragePathIgnorePatterns: [
31
- // "/node_modules/"
32
- // ],
33
-
34
- // Indicates which provider should be used to instrument code for coverage
35
- coverageProvider: "v8",
36
-
37
- // A list of reporter names that Jest uses when writing coverage reports
38
- // coverageReporters: [
39
- // "json",
40
- // "text",
41
- // "lcov",
42
- // "clover"
43
- // ],
44
-
45
- // An object that configures minimum threshold enforcement for coverage results
46
- // coverageThreshold: undefined,
47
-
48
- // A path to a custom dependency extractor
49
- // dependencyExtractor: undefined,
50
-
51
- // Make calling deprecated APIs throw helpful error messages
52
- // errorOnDeprecated: false,
53
-
54
- // The default configuration for fake timers
55
- // fakeTimers: {
56
- // "enableGlobally": false
57
- // },
58
-
59
- // Force coverage collection from ignored files using an array of glob patterns
60
- // forceCoverageMatch: [],
61
-
62
- // A path to a module which exports an async function that is triggered once before all test suites
63
- // globalSetup: undefined,
64
-
65
- // A path to a module which exports an async function that is triggered once after all test suites
66
- // globalTeardown: undefined,
67
-
68
- // A set of global variables that need to be available in all test environments
69
- // globals: {},
70
-
71
- // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.
72
- // maxWorkers: "50%",
73
-
74
- // An array of directory names to be searched recursively up from the requiring module's location
75
- // moduleDirectories: [
76
- // "node_modules"
77
- // ],
78
-
79
- // An array of file extensions your modules use
80
- // moduleFileExtensions: [
81
- // "js",
82
- // "mjs",
83
- // "cjs",
84
- // "jsx",
85
- // "ts",
86
- // "tsx",
87
- // "json",
88
- // "node"
89
- // ],
90
-
91
- // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
92
- // moduleNameMapper: {},
93
-
94
- // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader
95
- // modulePathIgnorePatterns: [],
96
-
97
- // Activates notifications for test results
98
- // notify: false,
99
-
100
- // An enum that specifies notification mode. Requires { notify: true }
101
- // notifyMode: "failure-change",
102
-
103
- // A preset that is used as a base for Jest's configuration
104
- // preset: undefined,
105
-
106
- // Run tests from one or more projects
107
- // projects: undefined,
108
-
109
- // Use this configuration option to add custom reporters to Jest
110
- // reporters: undefined,
111
-
112
- // Automatically reset mock state before every test
113
- // resetMocks: false,
114
-
115
- // Reset the module registry before running each individual test
116
- // resetModules: false,
117
-
118
- // A path to a custom resolver
119
- // resolver: undefined,
120
-
121
- // Automatically restore mock state and implementation before every test
122
- // restoreMocks: false,
123
-
124
- // The root directory that Jest should scan for tests and modules within
125
- // rootDir: undefined,
126
-
127
- // A list of paths to directories that Jest should use to search for files in
128
- // roots: [
129
- // "<rootDir>"
130
- // ],
131
-
132
- // Allows you to use a custom runner instead of Jest's default test runner
133
- // runner: "jest-runner",
134
-
135
- // The paths to modules that run some code to configure or set up the testing environment before each test
136
- // setupFiles: [],
137
-
138
- // A list of paths to modules that run some code to configure or set up the testing framework before each test
139
- setupFilesAfterEnv: [
140
- './test/__mocks/jestGlobalMocks.js',
141
- ],
142
-
143
- // The number of seconds after which a test is considered as slow and reported as such in the results.
144
- // slowTestThreshold: 5,
145
-
146
- // A list of paths to snapshot serializer modules Jest should use for snapshot testing
147
- // snapshotSerializers: [],
148
-
149
- // The test environment that will be used for testing
150
- testEnvironment: "jsdom",
151
-
152
- // Options that will be passed to the testEnvironment
153
- // testEnvironmentOptions: {},
154
-
155
- // Adds a location field to test results
156
- // testLocationInResults: false,
157
-
158
- // The glob patterns Jest uses to detect test files
159
- // testMatch: [
160
- // "**/__tests__/**/*.[jt]s?(x)",
161
- // "**/?(*.)+(spec|test).[tj]s?(x)"
162
- // ],
163
-
164
- // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped
165
- // testPathIgnorePatterns: [
166
- // "/node_modules/"
167
- // ],
168
-
169
- // The regexp pattern or array of patterns that Jest uses to detect test files
170
- // testRegex: [],
171
-
172
- // This option allows the use of a custom results processor
173
- // testResultsProcessor: undefined,
174
-
175
- // This option allows use of a custom test runner
176
- // testRunner: "jest-circus/runner",
177
-
178
- // A map from regular expressions to paths to transformers
179
- // transform: undefined,
180
- transform: {
181
- '^.+\\.tsx?$': 'ts-jest',
182
- '^.+\\.js?$': 'ts-jest',
183
- },
184
-
185
- // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
186
- transformIgnorePatterns: ['node_modules/(?!@claspo)'],
187
- // transformIgnorePatterns: [
188
- // "/node_modules/",
189
- // "\\.pnp\\.[^\\/]+$"
190
- // ],
191
-
192
- // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them
193
- // unmockedModulePathPatterns: undefined,
194
-
195
- // Indicates whether each individual test should be reported during the run
196
- // verbose: undefined,
197
-
198
- // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode
199
- // watchPathIgnorePatterns: [],
200
-
201
- // Whether to use watchman for file crawling
202
- // watchman: true,
203
- };
204
- export default config;