@n1k1t/mock-server 0.1.34 → 0.1.36

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n1k1t/mock-server",
3
- "version": "0.1.34",
3
+ "version": "0.1.36",
4
4
  "description": "Powerful util to setup mocks over HTTP APIs",
5
5
  "main": "lib/src/index.js",
6
6
  "types": "lib/src/index.d.ts",
@@ -38,6 +38,7 @@
38
38
  "engines": {
39
39
  "node": ">=22.14.0"
40
40
  },
41
+ "homepage": "https://github.com/n1k1t/mock-server",
41
42
  "author": "n1k1t",
42
43
  "license": "ISC",
43
44
  "devDependencies": {
@@ -120,20 +120,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
120
120
  e.setAttribute("media", "screen"), e.innerHTML = t, document.head.appendChild(e);
121
121
  }
122
122
  }
123
- /*! *****************************************************************************
124
- Copyright (c) Microsoft Corporation. All rights reserved.
125
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
126
- this file except in compliance with the License. You may obtain a copy of the
127
- License at http://www.apache.org/licenses/LICENSE-2.0
128
-
129
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
130
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
131
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
132
- MERCHANTABLITY OR NON-INFRINGEMENT.
133
-
134
- See the Apache Version 2.0 License for specific language governing permissions
135
- and limitations under the License.
136
- ***************************************************************************** */('.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: "No properties";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: "[]";\n}\n.json-formatter-row .json-formatter-string,\n.json-formatter-row .json-formatter-stringifiable {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler-link {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: "►";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: "No properties";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: "[]";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string,\n.json-formatter-dark.json-formatter-row .json-formatter-stringifiable {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler-link {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: "►";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n');
123
+ ('.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: "No properties";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: "[]";\n}\n.json-formatter-row .json-formatter-string,\n.json-formatter-row .json-formatter-stringifiable {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler-link {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: "►";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: "No properties";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: "[]";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string,\n.json-formatter-dark.json-formatter-row .json-formatter-stringifiable {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler-link {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: "►";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n');
137
124
  var f = /(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/,
138
125
  l = /\d{2}:\d{2}:\d{2} GMT-\d{4}/,
139
126
  c = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,
@@ -20651,7 +20638,7 @@ class CurtainComponent extends models_1.Component {
20651
20638
  }
20652
20639
  exports.CurtainComponent = CurtainComponent;
20653
20640
 
20654
- },{"../../models":279}],250:[function(require,module,exports){
20641
+ },{"../../models":280}],250:[function(require,module,exports){
20655
20642
  "use strict";
20656
20643
  var __importDefault = (this && this.__importDefault) || function (mod) {
20657
20644
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20669,7 +20656,7 @@ class EmptyComponent extends models_1.Component {
20669
20656
  }
20670
20657
  exports.EmptyComponent = EmptyComponent;
20671
20658
 
20672
- },{"../../models":279,"./template.hbs":251,"handlebars":61}],251:[function(require,module,exports){
20659
+ },{"../../models":280,"./template.hbs":251,"handlebars":61}],251:[function(require,module,exports){
20673
20660
  module.exports = `
20674
20661
  <div class="empty">
20675
20662
  <i class="fas fa-hourglass-start"></i>
@@ -20732,7 +20719,7 @@ class ExpectationComponent extends models_1.Component {
20732
20719
  }
20733
20720
  exports.ExpectationComponent = ExpectationComponent;
20734
20721
 
20735
- },{"../../context":268,"../../models":279,"../viewer.component":266,"./template.hbs":253,"handlebars":61,"lodash/pick":228}],253:[function(require,module,exports){
20722
+ },{"../../context":268,"../../models":280,"../viewer.component":266,"./template.hbs":253,"handlebars":61,"lodash/pick":228}],253:[function(require,module,exports){
20736
20723
  module.exports = `
20737
20724
  <div class="container expectation" id="{{id}}">
20738
20725
  <div class="meta">{{> expectationMeta this}}</div>
@@ -20793,7 +20780,7 @@ class HeaderComponent extends models_1.Component {
20793
20780
  }
20794
20781
  exports.HeaderComponent = HeaderComponent;
20795
20782
 
20796
- },{"../../models":279,"./template.hbs":255,"events":27,"handlebars":61,"lodash/set":229}],255:[function(require,module,exports){
20783
+ },{"../../models":280,"./template.hbs":255,"events":27,"handlebars":61,"lodash/set":229}],255:[function(require,module,exports){
20797
20784
  module.exports = `
20798
20785
  <header>
20799
20786
  <div id="tabs">
@@ -20836,6 +20823,7 @@ class HistoryComponent extends models_1.Component {
20836
20823
  this.replace(render(this.data)).append(this.viewer);
20837
20824
  this.viewer.provide({
20838
20825
  event: this.data.snapshot.event,
20826
+ transport: this.data.snapshot.transport,
20839
20827
  ...(Object.keys(this.data.snapshot.flags).length && { flags: this.data.snapshot.flags }),
20840
20828
  ...(this.data.expectation && {
20841
20829
  expectation: {
@@ -20885,7 +20873,7 @@ class HistoryComponent extends models_1.Component {
20885
20873
  }
20886
20874
  exports.HistoryComponent = HistoryComponent;
20887
20875
 
20888
- },{"../../models":279,"../viewer.component":266,"./template.hbs":257,"handlebars":61}],257:[function(require,module,exports){
20876
+ },{"../../models":280,"../viewer.component":266,"./template.hbs":257,"handlebars":61}],257:[function(require,module,exports){
20889
20877
  module.exports = `
20890
20878
  <div class="container history" id="{{id}}">
20891
20879
  <div class="meta">
@@ -20912,9 +20900,8 @@ module.exports = `
20912
20900
  "><b>{{snapshot.outgoing.status}}</b> {{toSeconds duration}}s</span>
20913
20901
  {{/compare}}
20914
20902
 
20915
- <span class="transport">{{snapshot.transport}}</span>
20916
20903
  <span class="method" style="color: {{toColor snapshot.incoming.method}};">{{snapshot.incoming.method}}</span>
20917
- <span class="path">{{truncate snapshot.incoming.path 45}}</span>
20904
+ <span class="path">{{> truncated value=snapshot.incoming.path length=45}}</span>
20918
20905
 
20919
20906
  {{#if snapshot.seed}}<span class="seed">{{snapshot.seed}}</span>{{/if}}
20920
20907
  </div>
@@ -21020,7 +21007,7 @@ class PopupsComponent extends models_1.Component {
21020
21007
  }
21021
21008
  exports.PopupsComponent = PopupsComponent;
21022
21009
 
21023
- },{"../../models":279,"./template.hbs":261,"handlebars":61}],261:[function(require,module,exports){
21010
+ },{"../../models":280,"./template.hbs":261,"handlebars":61}],261:[function(require,module,exports){
21024
21011
  module.exports = `
21025
21012
  <div class="popup-message {{level}}">
21026
21013
  {{#compare level 'eq' 'info'}}<i class="fas fa-check"></i>{{/compare}}
@@ -21080,7 +21067,7 @@ class SearchComponent extends models_1.Component {
21080
21067
  }
21081
21068
  exports.SearchComponent = SearchComponent;
21082
21069
 
21083
- },{"../../models":279,"./template.hbs":263,"events":27,"handlebars":61,"lodash/debounce":203}],263:[function(require,module,exports){
21070
+ },{"../../models":280,"./template.hbs":263,"events":27,"handlebars":61,"lodash/debounce":203}],263:[function(require,module,exports){
21084
21071
  module.exports = `
21085
21072
  <div class="search">
21086
21073
  <i class="fas fa-search"></i>
@@ -21153,7 +21140,7 @@ class SettingsComponent extends models_1.Component {
21153
21140
  }
21154
21141
  exports.SettingsComponent = SettingsComponent;
21155
21142
 
21156
- },{"../../../../utils/common":291,"../../context":268,"../../models":279,"./template.hbs":265,"handlebars":61}],265:[function(require,module,exports){
21143
+ },{"../../../../utils/common":292,"../../context":268,"../../models":280,"./template.hbs":265,"handlebars":61}],265:[function(require,module,exports){
21157
21144
  module.exports = `
21158
21145
  <div class="settings">
21159
21146
  <div id="groups-filter" class="container">
@@ -21204,7 +21191,7 @@ class ViewerComponent extends models_1.Component {
21204
21191
  }
21205
21192
  exports.ViewerComponent = ViewerComponent;
21206
21193
 
21207
- },{"../../../../../../../packages/json-formatter":1,"../../context":268,"../../models":279,"./template.hbs":267,"handlebars":61}],267:[function(require,module,exports){
21194
+ },{"../../../../../../../packages/json-formatter":1,"../../context":268,"../../models":280,"./template.hbs":267,"handlebars":61}],267:[function(require,module,exports){
21208
21195
  module.exports = `
21209
21196
  <div class="viewer container"></div>
21210
21197
  `
@@ -21249,7 +21236,7 @@ class Context {
21249
21236
  }
21250
21237
  exports.default = new Context();
21251
21238
 
21252
- },{"../../utils/common":291,"./models":279,"socket.io-client":241}],269:[function(require,module,exports){
21239
+ },{"../../utils/common":292,"./models":280,"socket.io-client":241}],269:[function(require,module,exports){
21253
21240
  "use strict";
21254
21241
  var __importDefault = (this && this.__importDefault) || function (mod) {
21255
21242
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21279,7 +21266,7 @@ exports.toLocaleTime = (0, utils_1.buildHandlebarsHelper)(() => (timestamp) => n
21279
21266
  exports.toSeconds = (0, utils_1.buildHandlebarsHelper)(() => (ms) => (ms / 1000).toFixed(3));
21280
21267
  exports.toColor = (0, utils_1.buildHandlebarsHelper)(() => (text) => (0, utils_2.calculateColor)(text));
21281
21268
 
21282
- },{"../utils":290,"./utils":273,"lodash/truncate":236}],270:[function(require,module,exports){
21269
+ },{"../utils":291,"./utils":274,"lodash/truncate":236}],270:[function(require,module,exports){
21283
21270
  "use strict";
21284
21271
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21285
21272
  if (k2 === undefined) k2 = k;
@@ -21364,7 +21351,7 @@ module.exports = `
21364
21351
  {{else if (compare location 'eq' 'method')}}
21365
21352
  <span class="method" style="color: {{toColor value}};">{{value}}</span>
21366
21353
  {{else}}
21367
- <span class="{{location}}">{{truncate value 45}}</span>
21354
+ <span class="{{location}}">{{> truncated this length=45}}</span>
21368
21355
  {{/if}}
21369
21356
  {{/compare}}
21370
21357
  {{/each}}
@@ -21375,8 +21362,8 @@ module.exports = `
21375
21362
  <span class="arrow"><i class="fas fa-chevron-right"></i></span>
21376
21363
 
21377
21364
  <div class="segment">
21378
- {{#if baseUrl}}<span class="forward">{{truncate baseUrl 45}}</span>{{/if}}
21379
- {{#if url}}<span class="forward">{{truncate url 45}}</span>{{/if}}
21365
+ {{#if baseUrl}}<span class="forward">{{> truncated value=baseUrl length=45}}</span>{{/if}}
21366
+ {{#if url}}<span class="forward">{{> truncated value=url length=45}}</span>{{/if}}
21380
21367
 
21381
21368
  {{#if ../isCached}}<span class="cache"><i class="fas fa-database"></i></span>{{/if}}
21382
21369
  </div>
@@ -21386,10 +21373,23 @@ module.exports = `
21386
21373
  },{}],272:[function(require,module,exports){
21387
21374
  "use strict";
21388
21375
  Object.defineProperty(exports, "__esModule", { value: true });
21389
- exports.expectationMeta = void 0;
21376
+ exports.truncated = exports.expectationMeta = void 0;
21390
21377
  exports.expectationMeta = require('./expectation-meta.hbs');
21378
+ exports.truncated = require('./truncated.hbs');
21391
21379
 
21392
- },{"./expectation-meta.hbs":271}],273:[function(require,module,exports){
21380
+ },{"./expectation-meta.hbs":271,"./truncated.hbs":273}],273:[function(require,module,exports){
21381
+ module.exports = `
21382
+ {{#if (compare value.length 'gt' length)}}
21383
+ <span class="truncated">
21384
+ <span class="full">{{value}}</span>
21385
+ <span class="short">{{truncate value length}}</span>
21386
+ </span>
21387
+ {{else}}
21388
+ {{value}}
21389
+ {{/if}}
21390
+ `
21391
+
21392
+ },{}],274:[function(require,module,exports){
21393
21393
  "use strict";
21394
21394
  Object.defineProperty(exports, "__esModule", { value: true });
21395
21395
  exports.buildHandlebarsHelper = void 0;
@@ -21400,7 +21400,7 @@ const buildHandlebarsHelper = (handler) => {
21400
21400
  };
21401
21401
  exports.buildHandlebarsHelper = buildHandlebarsHelper;
21402
21402
 
21403
- },{}],274:[function(require,module,exports){
21403
+ },{}],275:[function(require,module,exports){
21404
21404
  "use strict";
21405
21405
  Object.defineProperty(exports, "__esModule", { value: true });
21406
21406
  exports.Button = void 0;
@@ -21433,7 +21433,7 @@ class Button {
21433
21433
  }
21434
21434
  exports.Button = Button;
21435
21435
 
21436
- },{}],275:[function(require,module,exports){
21436
+ },{}],276:[function(require,module,exports){
21437
21437
  "use strict";
21438
21438
  Object.defineProperty(exports, "__esModule", { value: true });
21439
21439
  exports.ClientStorage = void 0;
@@ -21458,7 +21458,7 @@ class ClientStorage {
21458
21458
  }
21459
21459
  exports.ClientStorage = ClientStorage;
21460
21460
 
21461
- },{}],276:[function(require,module,exports){
21461
+ },{}],277:[function(require,module,exports){
21462
21462
  "use strict";
21463
21463
  Object.defineProperty(exports, "__esModule", { value: true });
21464
21464
  exports.Component = void 0;
@@ -21529,7 +21529,7 @@ class Component {
21529
21529
  }
21530
21530
  exports.Component = Component;
21531
21531
 
21532
- },{}],277:[function(require,module,exports){
21532
+ },{}],278:[function(require,module,exports){
21533
21533
  "use strict";
21534
21534
  var __importDefault = (this && this.__importDefault) || function (mod) {
21535
21535
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21566,7 +21566,7 @@ class DynamicStorage {
21566
21566
  }
21567
21567
  exports.DynamicStorage = DynamicStorage;
21568
21568
 
21569
- },{"../utils":290,"./client-storage":275,"./form":278,"lodash/set":229}],278:[function(require,module,exports){
21569
+ },{"../utils":291,"./client-storage":276,"./form":279,"lodash/set":229}],279:[function(require,module,exports){
21570
21570
  "use strict";
21571
21571
  var __importDefault = (this && this.__importDefault) || function (mod) {
21572
21572
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21630,7 +21630,7 @@ class Form extends component_1.Component {
21630
21630
  }
21631
21631
  exports.Form = Form;
21632
21632
 
21633
- },{"../utils":290,"./component":276,"lodash/set":229}],279:[function(require,module,exports){
21633
+ },{"../utils":291,"./component":277,"lodash/set":229}],280:[function(require,module,exports){
21634
21634
  "use strict";
21635
21635
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21636
21636
  if (k2 === undefined) k2 = k;
@@ -21653,7 +21653,7 @@ __exportStar(require("./section"), exports);
21653
21653
  __exportStar(require("./button"), exports);
21654
21654
  __exportStar(require("./form"), exports);
21655
21655
 
21656
- },{"./button":274,"./component":276,"./dynamic-storage":277,"./form":278,"./section":280}],280:[function(require,module,exports){
21656
+ },{"./button":275,"./component":277,"./dynamic-storage":278,"./form":279,"./section":281}],281:[function(require,module,exports){
21657
21657
  "use strict";
21658
21658
  var __importDefault = (this && this.__importDefault) || function (mod) {
21659
21659
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21703,7 +21703,7 @@ class Section extends component_1.Component {
21703
21703
  }
21704
21704
  exports.Section = Section;
21705
21705
 
21706
- },{"./component":276,"./dynamic-storage":277,"events":27}],281:[function(require,module,exports){
21706
+ },{"./component":277,"./dynamic-storage":278,"events":27}],282:[function(require,module,exports){
21707
21707
  "use strict";
21708
21708
  var __importDefault = (this && this.__importDefault) || function (mod) {
21709
21709
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21717,7 +21717,7 @@ exports.default = models_1.Section
21717
21717
  .build(render({}))
21718
21718
  .assignMeta({ icon: 'fas fa-chart-line' });
21719
21719
 
21720
- },{"../../models":279,"./template.hbs":282,"handlebars":61}],282:[function(require,module,exports){
21720
+ },{"../../models":280,"./template.hbs":283,"handlebars":61}],283:[function(require,module,exports){
21721
21721
  module.exports = `
21722
21722
  <section id="analytics">
21723
21723
  <div class="storage"></div>
@@ -21728,7 +21728,7 @@ module.exports = `
21728
21728
  </section>
21729
21729
  `
21730
21730
 
21731
- },{}],283:[function(require,module,exports){
21731
+ },{}],284:[function(require,module,exports){
21732
21732
  "use strict";
21733
21733
  var __importDefault = (this && this.__importDefault) || function (mod) {
21734
21734
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21811,7 +21811,7 @@ exports.default = models_1.Section
21811
21811
  });
21812
21812
  });
21813
21813
 
21814
- },{"../../../../utils/common":291,"../../components":258,"../../context":268,"../../models":279,"./template.hbs":284,"handlebars":61}],284:[function(require,module,exports){
21814
+ },{"../../../../utils/common":292,"../../components":258,"../../context":268,"../../models":280,"./template.hbs":285,"handlebars":61}],285:[function(require,module,exports){
21815
21815
  module.exports = `
21816
21816
  <section id="expectations">
21817
21817
  <div class="storage"></div>
@@ -21819,7 +21819,7 @@ module.exports = `
21819
21819
  </section>
21820
21820
  `
21821
21821
 
21822
- },{}],285:[function(require,module,exports){
21822
+ },{}],286:[function(require,module,exports){
21823
21823
  "use strict";
21824
21824
  var __importDefault = (this && this.__importDefault) || function (mod) {
21825
21825
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21905,7 +21905,7 @@ exports.default = models_1.Section
21905
21905
  });
21906
21906
  });
21907
21907
 
21908
- },{"../../../../utils/common":291,"../../components":258,"../../context":268,"../../models":279,"./template.hbs":286,"handlebars":61}],286:[function(require,module,exports){
21908
+ },{"../../../../utils/common":292,"../../components":258,"../../context":268,"../../models":280,"./template.hbs":287,"handlebars":61}],287:[function(require,module,exports){
21909
21909
  module.exports = `
21910
21910
  <section id="history">
21911
21911
  <div class="storage"></div>
@@ -21913,7 +21913,7 @@ module.exports = `
21913
21913
  </section>
21914
21914
  `
21915
21915
 
21916
- },{}],287:[function(require,module,exports){
21916
+ },{}],288:[function(require,module,exports){
21917
21917
  "use strict";
21918
21918
  var __importDefault = (this && this.__importDefault) || function (mod) {
21919
21919
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21929,7 +21929,7 @@ Object.defineProperty(exports, "settings", { enumerable: true, get: function ()
21929
21929
  var history_section_1 = require("./history.section");
21930
21930
  Object.defineProperty(exports, "history", { enumerable: true, get: function () { return __importDefault(history_section_1).default; } });
21931
21931
 
21932
- },{"./analytics.section":281,"./expectations.section":283,"./history.section":285,"./settings.section":288}],288:[function(require,module,exports){
21932
+ },{"./analytics.section":282,"./expectations.section":284,"./history.section":286,"./settings.section":289}],289:[function(require,module,exports){
21933
21933
  "use strict";
21934
21934
  var __importDefault = (this && this.__importDefault) || function (mod) {
21935
21935
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21954,7 +21954,7 @@ exports.default = models_1.Section
21954
21954
  section.append(context_1.default.shared.settings);
21955
21955
  });
21956
21956
 
21957
- },{"../../context":268,"../../models":279,"./template.hbs":289,"handlebars":61}],289:[function(require,module,exports){
21957
+ },{"../../context":268,"../../models":280,"./template.hbs":290,"handlebars":61}],290:[function(require,module,exports){
21958
21958
  module.exports = `
21959
21959
  <section id="settings">
21960
21960
  <div class="storage"></div>
@@ -21962,7 +21962,7 @@ module.exports = `
21962
21962
  </section>
21963
21963
  `
21964
21964
 
21965
- },{}],290:[function(require,module,exports){
21965
+ },{}],291:[function(require,module,exports){
21966
21966
  "use strict";
21967
21967
  var __importDefault = (this && this.__importDefault) || function (mod) {
21968
21968
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -21983,7 +21983,7 @@ exports.buildCounter = buildCounter;
21983
21983
  const calculateColor = (text) => `hsl(${Math.floor((0, fnv1a_1.default)(text)) / 5 % 360}, 100%, 74%)`;
21984
21984
  exports.calculateColor = calculateColor;
21985
21985
 
21986
- },{"fnv1a":28,"lodash/isObject":215}],291:[function(require,module,exports){
21986
+ },{"fnv1a":28,"lodash/isObject":215}],292:[function(require,module,exports){
21987
21987
  "use strict";
21988
21988
  Object.defineProperty(exports, "__esModule", { value: true });
21989
21989
  exports.buildCounter = exports.flattenArrayed = exports.cast = exports.wait = void 0;
@@ -22014,7 +22014,7 @@ exports.flattenArrayed = flattenArrayed;
22014
22014
  const buildCounter = (initial = 0, step = 1) => (value = step) => (initial += value);
22015
22015
  exports.buildCounter = buildCounter;
22016
22016
 
22017
- },{}],292:[function(require,module,exports){
22017
+ },{}],293:[function(require,module,exports){
22018
22018
  "use strict";
22019
22019
 
22020
22020
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
@@ -22028,7 +22028,7 @@ var _context2 = _interopRequireDefault(require("./context"));
22028
22028
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22029
22029
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22030
22030
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
22031
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
22031
+ function _regeneratorRuntime() { "use strict"; _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
22032
22032
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
22033
22033
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
22034
22034
  _handlebars["default"].init();
@@ -22066,7 +22066,7 @@ document.body.append(_context2["default"].shared.popups.element);
22066
22066
  Object.values(sections).forEach(function (section) {
22067
22067
  return document.body.append(section.element);
22068
22068
  });
22069
- _context2["default"].instances.io.on('connect', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
22069
+ _context2["default"].instances.io.on('connect', _asyncToGenerator(_regeneratorRuntime().mark(function _callee() {
22070
22070
  var _yield$context$servic, data;
22071
22071
  return _regeneratorRuntime().wrap(function _callee$(_context) {
22072
22072
  while (1) {
@@ -22095,4 +22095,4 @@ _context2["default"].instances.io.on('connect', /*#__PURE__*/_asyncToGenerator(
22095
22095
  }, _callee);
22096
22096
  })));
22097
22097
 
22098
- },{"./components":258,"./context":268,"./handlebars":270,"./sections":287,"lodash/omit":227,"lodash/set":229,"lodash/unset":237}]},{},[292]);
22098
+ },{"./components":258,"./context":268,"./handlebars":270,"./sections":288,"lodash/omit":227,"lodash/set":229,"lodash/unset":237}]},{},[293]);
@@ -137,6 +137,9 @@ div.input.required:before {
137
137
  margin-left: 12px;
138
138
  }
139
139
 
140
+ div.history, div.expectation {
141
+ overflow: visible;
142
+ }
140
143
  div.history div.meta, div.expectation div.meta {
141
144
  border-radius: inherit;
142
145
  display: flex;
@@ -147,9 +150,10 @@ div.history div.meta div.segment, div.expectation div.meta div.segment {
147
150
  flex-wrap: wrap;
148
151
  margin-bottom: 5px;
149
152
  }
150
- div.history div.meta span, div.history div.meta button, div.expectation div.meta span, div.expectation div.meta button {
153
+ div.history div.meta span:not(.truncated, .short), div.history div.meta button, div.expectation div.meta span:not(.truncated, .short), div.expectation div.meta button {
151
154
  padding: 7px 15px;
152
155
  display: inline-block;
156
+ position: relative;
153
157
  background-color: rgba(255, 255, 255, 0.05);
154
158
  border-radius: 5px;
155
159
  margin-right: 5px;
@@ -181,6 +185,28 @@ div.history div.meta b:after, div.expectation div.meta b:after {
181
185
  margin-left: 10px;
182
186
  margin-right: 5px;
183
187
  }
188
+ div.history div.meta span span.truncated span.full, div.expectation div.meta span span.truncated span.full {
189
+ background-color: #383838;
190
+ transition-duration: 0.1s;
191
+ transform: translateY(10px);
192
+ visibility: hidden;
193
+ opacity: 0;
194
+ color: #fff;
195
+ position: absolute;
196
+ font-size: 12px;
197
+ bottom: 25px;
198
+ margin-bottom: 10px;
199
+ left: 0;
200
+ z-index: 1;
201
+ }
202
+ div.history div.meta span:hover span.truncated, div.expectation div.meta span:hover span.truncated {
203
+ padding-top: 10px;
204
+ }
205
+ div.history div.meta span:hover span.truncated span.full, div.expectation div.meta span:hover span.truncated span.full {
206
+ visibility: visible;
207
+ transform: none;
208
+ opacity: 1;
209
+ }
184
210
  div.history div.meta span.arrow, div.expectation div.meta span.arrow {
185
211
  background: transparent;
186
212
  color: rgba(255, 255, 255, 0.3);
@@ -295,7 +321,7 @@ div.history div.meta span.cache, div.expectation div.meta span.cache {
295
321
  div.history:hover div.meta, div.expectation:hover div.meta {
296
322
  cursor: pointer;
297
323
  }
298
- div.history:hover div.meta span.time, div.history:hover div.meta span.transport, div.history:hover div.meta span.status, div.history:hover div.meta span.name, div.expectation:hover div.meta span.time, div.expectation:hover div.meta span.transport, div.expectation:hover div.meta span.status, div.expectation:hover div.meta span.name {
324
+ div.history:hover div.meta span.time, div.history:hover div.meta span.transport, div.history:hover div.meta span.status, div.history:hover div.meta span.name, div.history:hover div.meta span.method, div.history:hover div.meta span.seed, div.expectation:hover div.meta span.time, div.expectation:hover div.meta span.transport, div.expectation:hover div.meta span.status, div.expectation:hover div.meta span.name, div.expectation:hover div.meta span.method, div.expectation:hover div.meta span.seed {
299
325
  background-color: rgba(255, 255, 255, 0.15);
300
326
  }
301
327
  div.history.expectation div.meta span.status b:after, div.expectation.expectation div.meta span.status b:after {
@@ -347,9 +373,17 @@ section#settings div.container#groups-filter button.checked {
347
373
  @keyframes rotating {
348
374
  0% {
349
375
  transform: scaleX(1);
376
+ color: #ffd37b;
377
+ }
378
+ 15% {
379
+ color: #383838;
350
380
  }
351
381
  50% {
352
382
  transform: scaleX(-1);
383
+ color: #ffd37b;
384
+ }
385
+ 65% {
386
+ color: #383838;
353
387
  }
354
388
  }
355
389
  section#analytics div.content {
@@ -1,3 +0,0 @@
1
- {
2
- "typescript.tsdk": "node_modules/typescript/lib"
3
- }
Binary file