@atlaskit/node-data-provider 6.3.0 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/node-data-provider
2
2
 
3
+ ## 6.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`687c1b8fa7801`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/687c1b8fa7801) -
8
+ EDITOR-1566 bump adf-schema + update validator
9
+
10
+ ### Patch Changes
11
+
12
+ - Updated dependencies
13
+
14
+ ## 6.3.1
15
+
16
+ ### Patch Changes
17
+
18
+ - [`57fe2d0a5cd09`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/57fe2d0a5cd09) -
19
+ [https://product-fabric.atlassian.net/browse/ED-29399](ED-29399) - add early exit from
20
+ `prefetchNodeDataProvidersData` if timeout is 0
21
+
3
22
  ## 6.3.0
4
23
 
5
24
  ### Minor Changes
@@ -85,12 +85,26 @@ function _prefetchNodeDataProvidersData() {
85
85
  while (1) switch (_context2.prev = _context2.next) {
86
86
  case 0:
87
87
  providers = _ref.providers, doc = _ref.doc, timeout = _ref.timeout, _ref$maxNodesToVisit = _ref.maxNodesToVisit, maxNodesToVisit = _ref$maxNodesToVisit === void 0 ? Infinity : _ref$maxNodesToVisit;
88
- providersWithDefaults = providers.map(function (_ref2) {
89
- var provider = _ref2.provider,
90
- _ref2$maxNodesToPrefe = _ref2.maxNodesToPrefetch,
91
- maxNodesToPrefetch = _ref2$maxNodesToPrefe === void 0 ? Infinity : _ref2$maxNodesToPrefe,
92
- _ref2$timeout = _ref2.timeout,
93
- providerTimeout = _ref2$timeout === void 0 ? Infinity : _ref2$timeout;
88
+ if (!(timeout <= 0)) {
89
+ _context2.next = 3;
90
+ break;
91
+ }
92
+ return _context2.abrupt("return", providers.reduce(function (acc, _ref2) {
93
+ var provider = _ref2.provider;
94
+ acc[provider.name] = {
95
+ data: {},
96
+ success: false,
97
+ duration: 0
98
+ };
99
+ return acc;
100
+ }, {}));
101
+ case 3:
102
+ providersWithDefaults = providers.map(function (_ref3) {
103
+ var provider = _ref3.provider,
104
+ _ref3$maxNodesToPrefe = _ref3.maxNodesToPrefetch,
105
+ maxNodesToPrefetch = _ref3$maxNodesToPrefe === void 0 ? Infinity : _ref3$maxNodesToPrefe,
106
+ _ref3$timeout = _ref3.timeout,
107
+ providerTimeout = _ref3$timeout === void 0 ? Infinity : _ref3$timeout;
94
108
  return {
95
109
  provider: provider,
96
110
  maxNodesToPrefetch: maxNodesToPrefetch,
@@ -98,15 +112,15 @@ function _prefetchNodeDataProvidersData() {
98
112
  timeout: Math.min(providerTimeout, timeout)
99
113
  };
100
114
  });
101
- providerTimeouts = providersWithDefaults.reduce(function (acc, _ref3) {
102
- var provider = _ref3.provider,
103
- timeout = _ref3.timeout;
115
+ providerTimeouts = providersWithDefaults.reduce(function (acc, _ref4) {
116
+ var provider = _ref4.provider,
117
+ timeout = _ref4.timeout;
104
118
  acc[provider.name] = timeout;
105
119
  return acc;
106
120
  }, {});
107
- nodesWithProviders = (0, _findNodesToPrefetch.findNodesToPrefetch)(doc, providersWithDefaults, maxNodesToVisit).map(function (_ref4) {
108
- var provider = _ref4.provider,
109
- nodes = _ref4.nodes;
121
+ nodesWithProviders = (0, _findNodesToPrefetch.findNodesToPrefetch)(doc, providersWithDefaults, maxNodesToVisit).map(function (_ref5) {
122
+ var provider = _ref5.provider,
123
+ nodes = _ref5.nodes;
110
124
  return {
111
125
  provider: provider,
112
126
  nodes: nodes,
@@ -114,7 +128,7 @@ function _prefetchNodeDataProvidersData() {
114
128
  };
115
129
  });
116
130
  promises = nodesWithProviders.map( /*#__PURE__*/function () {
117
- var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref5) {
131
+ var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref6) {
118
132
  var nodes, provider, timeout, start, getDurationFromStart, timeoutPromise, data;
119
133
  return _regenerator.default.wrap(function _callee$(_context) {
120
134
  while (1) switch (_context.prev = _context.next) {
@@ -122,17 +136,29 @@ function _prefetchNodeDataProvidersData() {
122
136
  getDurationFromStart = function _getDurationFromStart() {
123
137
  return Math.min(performance.now() - start, timeout);
124
138
  };
125
- nodes = _ref5.nodes, provider = _ref5.provider, timeout = _ref5.timeout;
139
+ nodes = _ref6.nodes, provider = _ref6.provider, timeout = _ref6.timeout;
140
+ if (!(timeout <= 0)) {
141
+ _context.next = 4;
142
+ break;
143
+ }
144
+ return _context.abrupt("return", {
145
+ provider: provider,
146
+ success: false,
147
+ duration: 0,
148
+ nodes: nodes,
149
+ data: []
150
+ });
151
+ case 4:
126
152
  start = performance.now();
127
- _context.prev = 3;
153
+ _context.prev = 5;
128
154
  timeoutPromise = new Promise(function (_, reject) {
129
155
  setTimeout(function () {
130
156
  reject();
131
157
  }, timeout);
132
158
  });
133
- _context.next = 7;
159
+ _context.next = 9;
134
160
  return Promise.race([provider.fetchNodesData(nodes), timeoutPromise]);
135
- case 7:
161
+ case 9:
136
162
  data = _context.sent;
137
163
  return _context.abrupt("return", {
138
164
  provider: provider,
@@ -141,9 +167,9 @@ function _prefetchNodeDataProvidersData() {
141
167
  nodes: nodes,
142
168
  data: data
143
169
  });
144
- case 11:
145
- _context.prev = 11;
146
- _context.t0 = _context["catch"](3);
170
+ case 13:
171
+ _context.prev = 13;
172
+ _context.t0 = _context["catch"](5);
147
173
  return _context.abrupt("return", {
148
174
  provider: provider,
149
175
  success: false,
@@ -151,26 +177,26 @@ function _prefetchNodeDataProvidersData() {
151
177
  nodes: nodes,
152
178
  data: []
153
179
  });
154
- case 14:
180
+ case 16:
155
181
  case "end":
156
182
  return _context.stop();
157
183
  }
158
- }, _callee, null, [[3, 11]]);
184
+ }, _callee, null, [[5, 13]]);
159
185
  }));
160
186
  return function (_x2) {
161
- return _ref6.apply(this, arguments);
187
+ return _ref7.apply(this, arguments);
162
188
  };
163
189
  }());
164
- _context2.next = 7;
190
+ _context2.next = 9;
165
191
  return Promise.all(promises);
166
- case 7:
192
+ case 9:
167
193
  results = _context2.sent;
168
- return _context2.abrupt("return", results.reduce(function (acc, _ref7) {
169
- var provider = _ref7.provider,
170
- success = _ref7.success,
171
- duration = _ref7.duration,
172
- nodes = _ref7.nodes,
173
- data = _ref7.data;
194
+ return _context2.abrupt("return", results.reduce(function (acc, _ref8) {
195
+ var provider = _ref8.provider,
196
+ success = _ref8.success,
197
+ duration = _ref8.duration,
198
+ nodes = _ref8.nodes,
199
+ data = _ref8.data;
174
200
  var ssrData = data.reduce(function (providerSsrData, nodeData, nodeIndex) {
175
201
  var node = nodes[nodeIndex];
176
202
  var nodeDataKey = provider.nodeDataKey(node);
@@ -184,7 +210,7 @@ function _prefetchNodeDataProvidersData() {
184
210
  };
185
211
  return acc;
186
212
  }, {}));
187
- case 9:
213
+ case 11:
188
214
  case "end":
189
215
  return _context2.stop();
190
216
  }
@@ -75,6 +75,19 @@ export async function prefetchNodeDataProvidersData({
75
75
  timeout,
76
76
  maxNodesToVisit = Infinity
77
77
  }) {
78
+ if (timeout <= 0) {
79
+ // If the global timeout is 0 or negative, skip fetching entirely.
80
+ return providers.reduce((acc, {
81
+ provider
82
+ }) => {
83
+ acc[provider.name] = {
84
+ data: {},
85
+ success: false,
86
+ duration: 0
87
+ };
88
+ return acc;
89
+ }, {});
90
+ }
78
91
  const providersWithDefaults = providers.map(({
79
92
  provider,
80
93
  maxNodesToPrefetch = Infinity,
@@ -105,6 +118,15 @@ export async function prefetchNodeDataProvidersData({
105
118
  provider,
106
119
  timeout
107
120
  }) => {
121
+ if (timeout <= 0) {
122
+ return {
123
+ provider,
124
+ success: false,
125
+ duration: 0,
126
+ nodes,
127
+ data: []
128
+ };
129
+ }
108
130
  const start = performance.now();
109
131
  function getDurationFromStart() {
110
132
  return Math.min(performance.now() - start, timeout);
@@ -81,12 +81,26 @@ function _prefetchNodeDataProvidersData() {
81
81
  while (1) switch (_context2.prev = _context2.next) {
82
82
  case 0:
83
83
  providers = _ref.providers, doc = _ref.doc, timeout = _ref.timeout, _ref$maxNodesToVisit = _ref.maxNodesToVisit, maxNodesToVisit = _ref$maxNodesToVisit === void 0 ? Infinity : _ref$maxNodesToVisit;
84
- providersWithDefaults = providers.map(function (_ref2) {
85
- var provider = _ref2.provider,
86
- _ref2$maxNodesToPrefe = _ref2.maxNodesToPrefetch,
87
- maxNodesToPrefetch = _ref2$maxNodesToPrefe === void 0 ? Infinity : _ref2$maxNodesToPrefe,
88
- _ref2$timeout = _ref2.timeout,
89
- providerTimeout = _ref2$timeout === void 0 ? Infinity : _ref2$timeout;
84
+ if (!(timeout <= 0)) {
85
+ _context2.next = 3;
86
+ break;
87
+ }
88
+ return _context2.abrupt("return", providers.reduce(function (acc, _ref2) {
89
+ var provider = _ref2.provider;
90
+ acc[provider.name] = {
91
+ data: {},
92
+ success: false,
93
+ duration: 0
94
+ };
95
+ return acc;
96
+ }, {}));
97
+ case 3:
98
+ providersWithDefaults = providers.map(function (_ref3) {
99
+ var provider = _ref3.provider,
100
+ _ref3$maxNodesToPrefe = _ref3.maxNodesToPrefetch,
101
+ maxNodesToPrefetch = _ref3$maxNodesToPrefe === void 0 ? Infinity : _ref3$maxNodesToPrefe,
102
+ _ref3$timeout = _ref3.timeout,
103
+ providerTimeout = _ref3$timeout === void 0 ? Infinity : _ref3$timeout;
90
104
  return {
91
105
  provider: provider,
92
106
  maxNodesToPrefetch: maxNodesToPrefetch,
@@ -94,15 +108,15 @@ function _prefetchNodeDataProvidersData() {
94
108
  timeout: Math.min(providerTimeout, timeout)
95
109
  };
96
110
  });
97
- providerTimeouts = providersWithDefaults.reduce(function (acc, _ref3) {
98
- var provider = _ref3.provider,
99
- timeout = _ref3.timeout;
111
+ providerTimeouts = providersWithDefaults.reduce(function (acc, _ref4) {
112
+ var provider = _ref4.provider,
113
+ timeout = _ref4.timeout;
100
114
  acc[provider.name] = timeout;
101
115
  return acc;
102
116
  }, {});
103
- nodesWithProviders = findNodesToPrefetch(doc, providersWithDefaults, maxNodesToVisit).map(function (_ref4) {
104
- var provider = _ref4.provider,
105
- nodes = _ref4.nodes;
117
+ nodesWithProviders = findNodesToPrefetch(doc, providersWithDefaults, maxNodesToVisit).map(function (_ref5) {
118
+ var provider = _ref5.provider,
119
+ nodes = _ref5.nodes;
106
120
  return {
107
121
  provider: provider,
108
122
  nodes: nodes,
@@ -110,7 +124,7 @@ function _prefetchNodeDataProvidersData() {
110
124
  };
111
125
  });
112
126
  promises = nodesWithProviders.map( /*#__PURE__*/function () {
113
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref5) {
127
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref6) {
114
128
  var nodes, provider, timeout, start, getDurationFromStart, timeoutPromise, data;
115
129
  return _regeneratorRuntime.wrap(function _callee$(_context) {
116
130
  while (1) switch (_context.prev = _context.next) {
@@ -118,17 +132,29 @@ function _prefetchNodeDataProvidersData() {
118
132
  getDurationFromStart = function _getDurationFromStart() {
119
133
  return Math.min(performance.now() - start, timeout);
120
134
  };
121
- nodes = _ref5.nodes, provider = _ref5.provider, timeout = _ref5.timeout;
135
+ nodes = _ref6.nodes, provider = _ref6.provider, timeout = _ref6.timeout;
136
+ if (!(timeout <= 0)) {
137
+ _context.next = 4;
138
+ break;
139
+ }
140
+ return _context.abrupt("return", {
141
+ provider: provider,
142
+ success: false,
143
+ duration: 0,
144
+ nodes: nodes,
145
+ data: []
146
+ });
147
+ case 4:
122
148
  start = performance.now();
123
- _context.prev = 3;
149
+ _context.prev = 5;
124
150
  timeoutPromise = new Promise(function (_, reject) {
125
151
  setTimeout(function () {
126
152
  reject();
127
153
  }, timeout);
128
154
  });
129
- _context.next = 7;
155
+ _context.next = 9;
130
156
  return Promise.race([provider.fetchNodesData(nodes), timeoutPromise]);
131
- case 7:
157
+ case 9:
132
158
  data = _context.sent;
133
159
  return _context.abrupt("return", {
134
160
  provider: provider,
@@ -137,9 +163,9 @@ function _prefetchNodeDataProvidersData() {
137
163
  nodes: nodes,
138
164
  data: data
139
165
  });
140
- case 11:
141
- _context.prev = 11;
142
- _context.t0 = _context["catch"](3);
166
+ case 13:
167
+ _context.prev = 13;
168
+ _context.t0 = _context["catch"](5);
143
169
  return _context.abrupt("return", {
144
170
  provider: provider,
145
171
  success: false,
@@ -147,26 +173,26 @@ function _prefetchNodeDataProvidersData() {
147
173
  nodes: nodes,
148
174
  data: []
149
175
  });
150
- case 14:
176
+ case 16:
151
177
  case "end":
152
178
  return _context.stop();
153
179
  }
154
- }, _callee, null, [[3, 11]]);
180
+ }, _callee, null, [[5, 13]]);
155
181
  }));
156
182
  return function (_x2) {
157
- return _ref6.apply(this, arguments);
183
+ return _ref7.apply(this, arguments);
158
184
  };
159
185
  }());
160
- _context2.next = 7;
186
+ _context2.next = 9;
161
187
  return Promise.all(promises);
162
- case 7:
188
+ case 9:
163
189
  results = _context2.sent;
164
- return _context2.abrupt("return", results.reduce(function (acc, _ref7) {
165
- var provider = _ref7.provider,
166
- success = _ref7.success,
167
- duration = _ref7.duration,
168
- nodes = _ref7.nodes,
169
- data = _ref7.data;
190
+ return _context2.abrupt("return", results.reduce(function (acc, _ref8) {
191
+ var provider = _ref8.provider,
192
+ success = _ref8.success,
193
+ duration = _ref8.duration,
194
+ nodes = _ref8.nodes,
195
+ data = _ref8.data;
170
196
  var ssrData = data.reduce(function (providerSsrData, nodeData, nodeIndex) {
171
197
  var node = nodes[nodeIndex];
172
198
  var nodeDataKey = provider.nodeDataKey(node);
@@ -180,7 +206,7 @@ function _prefetchNodeDataProvidersData() {
180
206
  };
181
207
  return acc;
182
208
  }, {}));
183
- case 9:
209
+ case 11:
184
210
  case "end":
185
211
  return _context2.stop();
186
212
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/node-data-provider",
3
- "version": "6.3.0",
3
+ "version": "6.4.0",
4
4
  "description": "Node data provider for @atlaskit/editor-core plugins and @atlaskit/renderer",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -19,14 +19,14 @@
19
19
  "sideEffects": false,
20
20
  "atlaskit:src": "src/index.ts",
21
21
  "dependencies": {
22
- "@atlaskit/adf-schema": "^51.1.2",
23
- "@atlaskit/adf-utils": "^19.23.0",
24
- "@atlaskit/editor-json-transformer": "^8.29.0",
22
+ "@atlaskit/adf-schema": "^51.2.0",
23
+ "@atlaskit/adf-utils": "^19.24.0",
24
+ "@atlaskit/editor-json-transformer": "^8.30.0",
25
25
  "@atlaskit/editor-prosemirror": "7.0.0",
26
26
  "@babel/runtime": "^7.0.0"
27
27
  },
28
28
  "peerDependencies": {
29
- "@atlaskit/editor-common": "^109.5.0"
29
+ "@atlaskit/editor-common": "^109.16.0"
30
30
  },
31
31
  "techstack": {
32
32
  "@atlassian/frontend": {