@nativescript/core 8.5.0-dom.0 → 8.5.0-dom.2

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 (85) hide show
  1. package/accessibility/accessibility-service.android.js +2 -1
  2. package/accessibility/accessibility-service.android.js.map +1 -1
  3. package/accessibility/index.android.js +8 -11
  4. package/accessibility/index.android.js.map +1 -1
  5. package/application-settings/index.android.js +14 -3
  6. package/application-settings/index.android.js.map +1 -1
  7. package/connectivity/index.android.js +1 -1
  8. package/connectivity/index.android.js.map +1 -1
  9. package/data/dom-events/dom-event.d.ts +30 -26
  10. package/data/dom-events/dom-event.js +170 -159
  11. package/data/dom-events/dom-event.js.map +1 -1
  12. package/data/observable/index.d.ts +1 -1
  13. package/data/observable/index.js +6 -16
  14. package/data/observable/index.js.map +1 -1
  15. package/file-system/file-system-access.android.js +3 -6
  16. package/file-system/file-system-access.android.js.map +1 -1
  17. package/file-system/index.js +1 -1
  18. package/file-system/index.js.map +1 -1
  19. package/fps-meter/fps-native.android.js +1 -1
  20. package/fps-meter/fps-native.android.js.map +1 -1
  21. package/index.d.ts +4 -1
  22. package/index.js +4 -1
  23. package/index.js.map +1 -1
  24. package/package.json +1 -1
  25. package/platform/index.android.js +1 -1
  26. package/platform/index.android.js.map +1 -1
  27. package/platforms/ios/native-api-usage.json +2 -1
  28. package/profiling/jamie.d.ts +9 -0
  29. package/profiling/jamie.js +32 -0
  30. package/profiling/jamie.js.map +1 -0
  31. package/ui/action-bar/index.android.js +1 -1
  32. package/ui/action-bar/index.android.js.map +1 -1
  33. package/ui/animation/index.android.js +2 -1
  34. package/ui/animation/index.android.js.map +1 -1
  35. package/ui/button/index.android.js +1 -1
  36. package/ui/button/index.android.js.map +1 -1
  37. package/ui/core/view/index.android.js +5 -4
  38. package/ui/core/view/index.android.js.map +1 -1
  39. package/ui/core/view/view-helper/index.ios.js +3 -0
  40. package/ui/core/view/view-helper/index.ios.js.map +1 -1
  41. package/ui/editable-text-base/index.android.js +2 -1
  42. package/ui/editable-text-base/index.android.js.map +1 -1
  43. package/ui/gestures/index.android.js +16 -64
  44. package/ui/gestures/index.android.js.map +1 -1
  45. package/ui/gestures/index.ios.js +10 -50
  46. package/ui/gestures/index.ios.js.map +1 -1
  47. package/ui/html-view/index.android.js +1 -1
  48. package/ui/html-view/index.android.js.map +1 -1
  49. package/ui/list-view/index.ios.d.ts +0 -1
  50. package/ui/list-view/index.ios.js +0 -4
  51. package/ui/list-view/index.ios.js.map +1 -1
  52. package/ui/page/index.android.js +1 -1
  53. package/ui/page/index.android.js.map +1 -1
  54. package/ui/page/index.ios.js +3 -0
  55. package/ui/page/index.ios.js.map +1 -1
  56. package/ui/segmented-bar/index.android.js +2 -1
  57. package/ui/segmented-bar/index.android.js.map +1 -1
  58. package/ui/styling/font.android.js +1 -1
  59. package/ui/styling/font.android.js.map +1 -1
  60. package/ui/text-base/index.android.js +2 -1
  61. package/ui/text-base/index.android.js.map +1 -1
  62. package/ui/time-picker/index.android.js +1 -1
  63. package/ui/time-picker/index.android.js.map +1 -1
  64. package/utils/common.d.ts +6 -0
  65. package/utils/common.js +12 -0
  66. package/utils/common.js.map +1 -1
  67. package/utils/constants.android.d.ts +1 -0
  68. package/utils/constants.android.js +2 -0
  69. package/utils/constants.android.js.map +1 -0
  70. package/utils/constants.d.ts +1 -0
  71. package/utils/constants.ios.d.ts +1 -0
  72. package/utils/constants.ios.js +2 -0
  73. package/utils/constants.ios.js.map +1 -0
  74. package/utils/debug.js +3 -3
  75. package/utils/debug.js.map +1 -1
  76. package/utils/index.android.d.ts +0 -1
  77. package/utils/index.android.js +3 -3
  78. package/utils/index.android.js.map +1 -1
  79. package/utils/index.d.ts +7 -2
  80. package/utils/index.ios.d.ts +0 -1
  81. package/utils/index.ios.js +0 -1
  82. package/utils/index.ios.js.map +1 -1
  83. package/utils/native-helper.ios.d.ts +1 -1
  84. package/utils/native-helper.ios.js +4 -6
  85. package/utils/native-helper.ios.js.map +1 -1
@@ -1,3 +1,7 @@
1
+ // This file contains some of Core's hot paths, so attention has been taken to
2
+ // optimise it. Where specified, optimisations made have been informed based on
3
+ // profiles taken on an Apple M1 Max in a debug build on @nativescript/ios@8.3.3
4
+ // on an iOS Simulator.
1
5
  const timeOrigin = Date.now();
2
6
  /**
3
7
  * Purely a performance utility. We fall back to an empty array on various
@@ -5,53 +9,35 @@ const timeOrigin = Date.now();
5
9
  * avoids unnecessary allocations on a relatively hot path of the library.
6
10
  */
7
11
  const emptyArray = [];
12
+ var EventPropagationState;
13
+ (function (EventPropagationState) {
14
+ EventPropagationState[EventPropagationState["resume"] = 0] = "resume";
15
+ EventPropagationState[EventPropagationState["stop"] = 1] = "stop";
16
+ EventPropagationState[EventPropagationState["stopImmediate"] = 2] = "stopImmediate";
17
+ })(EventPropagationState || (EventPropagationState = {}));
8
18
  export class DOMEvent {
9
19
  constructor(
10
20
  /**
11
21
  * Returns the type of event, e.g. "click", "hashchange", or "submit".
12
22
  */
13
- type, options = {}) {
23
+ type, options) {
14
24
  this.type = type;
15
- this.NONE = 0;
16
- this.CAPTURING_PHASE = 1;
17
- this.AT_TARGET = 2;
18
- this.BUBBLING_PHASE = 3;
19
- /**
20
- * Returns true or false depending on how event was initialized. Its return
21
- * value does not always carry meaning, but true can indicate that part of
22
- * the operation during which event was dispatched, can be canceled by
23
- * invoking the preventDefault() method.
24
- */
25
- this.cancelable = false;
26
- /**
27
- * Returns true or false depending on how event was initialized. True if
28
- * event goes through its target's ancestors in reverse tree order, and
29
- * false otherwise.
30
- */
31
- this.bubbles = false;
32
- this._canceled = false;
33
- /** @deprecated Setting this value does nothing. */
34
- this.cancelBubble = false;
35
25
  /**
36
- * Returns true if event was dispatched by the user agent, and false
37
- * otherwise.
38
- * For now, all NativeScript events will have isTrusted: false.
26
+ * Recycling the event path array rather than allocating a new one each time
27
+ * saves about 210 nanoseconds per dispatchTo() call (and avoids memory pressure
28
+ * and GC).
39
29
  */
40
- this.isTrusted = false;
30
+ this.recycledEventPath = [];
41
31
  /**
42
32
  * Returns the event's timestamp as the number of milliseconds measured
43
33
  * relative to the time origin.
44
34
  */
45
35
  this.timeStamp = timeOrigin - Date.now();
46
- this._eventPhase = this.NONE;
47
- this._currentTarget = null;
48
- this._target = null;
49
- this.propagationState = EventPropagationState.resume;
50
- const { bubbles = false, cancelable = false, composed = false, detail = null } = options;
51
- this.bubbles = bubbles;
52
- this.cancelable = cancelable;
53
- this.composed = composed;
54
- this.detail = detail;
36
+ // Avoid destructuring the options object (might save some nanoseconds).
37
+ this.bubbles = options?.bubbles ?? false;
38
+ this.cancelable = options?.cancelable ?? false;
39
+ this.composed = options?.composed ?? false;
40
+ this.detail = options?.detail ?? null;
55
41
  }
56
42
  /** @deprecated Use defaultPrevented instead. */
57
43
  get returnValue() {
@@ -61,40 +47,6 @@ export class DOMEvent {
61
47
  get srcElement() {
62
48
  return this.target;
63
49
  }
64
- /**
65
- * Returns true if preventDefault() was invoked successfully to indicate
66
- * cancelation, and false otherwise.
67
- */
68
- get defaultPrevented() {
69
- return this._canceled;
70
- }
71
- /**
72
- * Returns the event's phase, which is one of NONE, CAPTURING_PHASE,
73
- * AT_TARGET, and BUBBLING_PHASE.
74
- */
75
- get eventPhase() {
76
- return this._eventPhase;
77
- }
78
- set eventPhase(value) {
79
- this._eventPhase = value;
80
- }
81
- /**
82
- * Returns the object whose event listener's callback is currently being
83
- * invoked.
84
- */
85
- get currentTarget() {
86
- return this._currentTarget;
87
- }
88
- set currentTarget(value) {
89
- this._currentTarget = value;
90
- }
91
- /** Returns the object to which event is dispatched (its target). */
92
- get target() {
93
- return this._target;
94
- }
95
- set target(value) {
96
- this._target = value;
97
- }
98
50
  /**
99
51
  * Returns the invocation target objects of event's path (objects on which
100
52
  * listeners will be invoked), except for any nodes in shadow trees of which
@@ -107,7 +59,7 @@ export class DOMEvent {
107
59
  }
108
60
  // Walk up the target's parents if it has parents (is a ViewBase or
109
61
  // subclass of ViewBase) or not (is an Observable).
110
- return this.target.isViewBase() ? this.getEventPath(this.target, 'bubble') : [this.target];
62
+ return [...this.getEventPath(this.target, 'bubble')];
111
63
  }
112
64
  /**
113
65
  * Returns the event path by walking up the target's parents.
@@ -120,21 +72,28 @@ export class DOMEvent {
120
72
  * [Button, StackLayout, Page] // 'bubble'
121
73
  */
122
74
  getEventPath(responder, path) {
123
- const chain = [responder];
75
+ this.recycledEventPath.splice(0, this.recycledEventPath.length, responder);
76
+ if (!responder.isViewBase()) {
77
+ return this.recycledEventPath;
78
+ }
79
+ // Determining the function up-front (rather than inside the loop) saves
80
+ // 50 nanoseconds per dispatchTo() call.
81
+ const insert = path === 'capture' ? this.recycledEventPath.unshift.bind(this.recycledEventPath) : this.recycledEventPath.push.bind(this.recycledEventPath);
124
82
  let nextResponder = responder.parent;
125
83
  while (nextResponder) {
126
- path === 'capture' ? chain.unshift(nextResponder) : chain.push(nextResponder);
84
+ insert(nextResponder);
127
85
  // TODO: decide whether to walk up from Page to Frame, and whether
128
86
  // to then walk from Frame to Application or something.
129
87
  nextResponder = nextResponder?.parent;
130
88
  }
131
- return chain;
89
+ return this.recycledEventPath;
132
90
  }
133
91
  /** @deprecated */
134
92
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
135
93
  initEvent(type, bubbles, cancelable) {
136
- // This would be trivial to implement, but it's quite nice for `bubbles`
137
- // and `cancelable` to not have backing variables.
94
+ // This would be trivial to implement, but we'd have to remove the
95
+ // readonly modifier from `bubbles` and `cancelable`, which would be a
96
+ // shame just for the sake of supporting a deprecated method.
138
97
  throw new Error('Deprecated; use Event() instead.');
139
98
  }
140
99
  /**
@@ -147,7 +106,7 @@ export class DOMEvent {
147
106
  if (!this.cancelable) {
148
107
  return;
149
108
  }
150
- this._canceled = true;
109
+ this.defaultPrevented = true;
151
110
  }
152
111
  /**
153
112
  * Invoking this method prevents event from reaching any registered event
@@ -169,31 +128,26 @@ export class DOMEvent {
169
128
  * event's cancelable attribute value is false or its preventDefault()
170
129
  * method was not invoked, and false otherwise.
171
130
  */
172
- dispatchTo({ target, data, getGlobalEventHandlersPreHandling, getGlobalEventHandlersPostHandling }) {
173
- if (this.eventPhase !== this.NONE) {
131
+ // Taking multiple params rather than a single property bag saves about 100
132
+ // nanoseconds per call.
133
+ dispatchTo(target, data, getGlobalEventHandlers) {
134
+ if (this.eventPhase !== DOMEvent.NONE) {
174
135
  throw new Error('Tried to dispatch a dispatching event');
175
136
  }
176
- this.eventPhase = this.CAPTURING_PHASE;
137
+ this.eventPhase = DOMEvent.CAPTURING_PHASE;
177
138
  this.target = target;
178
- this._canceled = false;
179
- // Internal API to facilitate testing - to be removed once we've
180
- // completed the breaking changes to migrate fully to DOMEvents.
181
- DOMEvent.unstable_currentEvent = this;
182
- /**
183
- * Resets any internal state to allow the event to be redispatched. Call
184
- * this before returning.
185
- */
186
- const reset = () => {
187
- this.currentTarget = null;
188
- this.target = null;
189
- this.eventPhase = this.NONE;
190
- this.propagationState = EventPropagationState.resume;
191
- };
139
+ this.defaultPrevented = false;
192
140
  // `Observable.removeEventListener` would likely suffice, but grabbing
193
141
  // the static method named `removeEventListener` on the target's class
194
142
  // allows us to be robust to the possiblity of the case of the target
195
143
  // overriding it (however unlikely).
196
- const removeGlobalEventListener = target.constructor.removeEventListener.bind(target.constructor);
144
+ //
145
+ // Rather than eagerly binding the context to the function right here,
146
+ // we pass the function along with its context to handleEvent() to allow
147
+ // binding only once needed - doing this for each of the
148
+ // removeEventListener callbacks saves 100 nanoseconds per dispatchTo()
149
+ // call.
150
+ const removeGlobalEventListener = target.constructor.removeEventListener;
197
151
  // Global event handlers are a NativeScript-only concept, so we'll not
198
152
  // try to add new formal event phases for them (as that could break DOM
199
153
  // libraries expecting strictly four phases).
@@ -210,107 +164,147 @@ export class DOMEvent {
210
164
  // So effectively, we don't make any changes when handling a global
211
165
  // event. This keeps behaviour as consistent with DOM Events as
212
166
  // possible.
213
- this.handleEvent({
214
- data,
215
- isGlobal: true,
216
- getListenersForType: () => getGlobalEventHandlersPreHandling?.() ?? emptyArray,
217
- removeEventListener: removeGlobalEventListener,
218
- phase: this.CAPTURING_PHASE,
219
- });
220
- const eventPath = target.isViewBase() ? this.getEventPath(target, 'capture') : [target];
167
+ this.handleEvent(data, true, () => getGlobalEventHandlers?.(data, 'First') ?? emptyArray, DOMEvent.CAPTURING_PHASE, removeGlobalEventListener, target.constructor);
168
+ const eventPath = this.getEventPath(target, 'capture');
221
169
  // Capturing phase, e.g. [Page, StackLayout, Button]
222
- for (const currentTarget of eventPath) {
170
+ // This traditional C loop runs 150 nanoseconds faster than a for...of
171
+ // loop.
172
+ for (let i = 0; i < eventPath.length; i++) {
173
+ const currentTarget = eventPath[i];
223
174
  this.currentTarget = currentTarget;
224
- this.eventPhase = this.target === this.currentTarget ? this.AT_TARGET : this.CAPTURING_PHASE;
225
- this.handleEvent({
226
- data,
227
- isGlobal: false,
228
- getListenersForType: () => currentTarget.getEventList(this.type) ?? emptyArray,
229
- removeEventListener: currentTarget.removeEventListener.bind(currentTarget),
230
- phase: this.CAPTURING_PHASE,
231
- });
175
+ this.eventPhase = this.target === this.currentTarget ? DOMEvent.AT_TARGET : DOMEvent.CAPTURING_PHASE;
176
+ this.handleEvent(data, false, () => currentTarget.getEventList(this.type) ?? emptyArray, DOMEvent.CAPTURING_PHASE, currentTarget.removeEventListener, currentTarget);
232
177
  if (this.propagationState !== EventPropagationState.resume) {
233
- reset();
234
- return this.returnValue;
178
+ this.resetForRedispatch();
179
+ return !this.defaultPrevented;
235
180
  }
236
181
  }
237
182
  // Bubbling phase, e.g. [Button, StackLayout, Page]
238
183
  // It's correct to dispatch the event to the target during both phases.
239
- for (const currentTarget of eventPath.reverse()) {
184
+ for (let i = eventPath.length - 1; i >= 0; i--) {
185
+ const currentTarget = eventPath[i];
240
186
  this.currentTarget = currentTarget;
241
- this.eventPhase = this.target === this.currentTarget ? this.AT_TARGET : this.BUBBLING_PHASE;
242
- this.handleEvent({
243
- data,
244
- isGlobal: false,
245
- getListenersForType: () => currentTarget.getEventList(this.type) ?? emptyArray,
246
- removeEventListener: currentTarget.removeEventListener.bind(currentTarget),
247
- phase: this.BUBBLING_PHASE,
248
- });
187
+ this.eventPhase = this.target === this.currentTarget ? DOMEvent.AT_TARGET : DOMEvent.BUBBLING_PHASE;
188
+ this.handleEvent(data, false, () => currentTarget.getEventList(this.type) ?? emptyArray, DOMEvent.BUBBLING_PHASE, currentTarget.removeEventListener, currentTarget);
249
189
  if (this.propagationState !== EventPropagationState.resume) {
250
- reset();
251
- return this.returnValue;
190
+ this.resetForRedispatch();
191
+ return !this.defaultPrevented;
252
192
  }
253
193
  // If the event doesn't bubble, then, having dispatched it at the
254
194
  // target (the first iteration of this loop) we don't let it
255
195
  // propagate any further.
256
196
  if (!this.bubbles) {
257
- reset();
197
+ this.resetForRedispatch();
258
198
  break;
259
199
  }
260
200
  // Restore event phase in case it changed to AT_TARGET during
261
201
  // this.handleEvent().
262
- this.eventPhase = this.BUBBLING_PHASE;
202
+ this.eventPhase = DOMEvent.BUBBLING_PHASE;
263
203
  }
264
- this.handleEvent({
265
- data,
266
- isGlobal: true,
267
- getListenersForType: () => getGlobalEventHandlersPostHandling?.() ?? emptyArray,
268
- removeEventListener: removeGlobalEventListener,
269
- phase: this.BUBBLING_PHASE,
270
- });
271
- reset();
272
- return this.returnValue;
204
+ this.handleEvent(data, true, () => getGlobalEventHandlers?.(data, '') ?? emptyArray, DOMEvent.BUBBLING_PHASE, removeGlobalEventListener, target.constructor);
205
+ this.resetForRedispatch();
206
+ return !this.defaultPrevented;
273
207
  }
274
- handleEvent({ data, isGlobal, getListenersForType, phase, removeEventListener }) {
275
- // Work on a copy of the array, as any callback could modify the
276
- // original array during the loop.
277
- const listenersForTypeCopy = getListenersForType().slice();
278
- for (let i = listenersForTypeCopy.length - 1; i >= 0; i--) {
279
- const listener = listenersForTypeCopy[i];
280
- const { callback, capture, thisArg, once, passive } = listener;
208
+ // Taking multiple params instead of a single property bag saves 250
209
+ // nanoseconds per dispatchTo() call.
210
+ handleEvent(data, isGlobal, getListeners, phase, removeEventListener, removeEventListenerContext) {
211
+ // Clone the array just before any mutations. I tried swapping this out
212
+ // for a copy-on-write array, but as it had to maintain its own array of
213
+ // listeners for any write actions, it actually ran significantly
214
+ // slower.
215
+ //
216
+ // There's no clear observable difference between array spread and slice
217
+ // here, but I think slice has reason to run faster.
218
+ const listeners = getListeners().slice();
219
+ for (let i = listeners.length - 1; i >= 0; i--) {
220
+ const listener = listeners[i];
221
+ // Assigning variables this old-fashioned way is up to 50
222
+ // nanoseconds faster per run than ESM destructuring syntax.
223
+ const capture = listener.capture;
224
+ // Handle only the events appropriate to the phase. Global events
225
+ // (a NativeScript-only concept) are allowed to be handled
226
+ // regardless of phase, for backwards-compatibility.
227
+ if (!isGlobal && ((phase === DOMEvent.CAPTURING_PHASE && !capture) || (phase === DOMEvent.BUBBLING_PHASE && capture))) {
228
+ continue;
229
+ }
281
230
  // The event listener may have been removed since we took a copy of
282
231
  // the array, so bail out if so.
283
232
  //
284
233
  // We simply use a strict equality check here because we trust that
285
234
  // the listeners provider will never allow two deeply-equal
286
235
  // listeners into the array.
287
- if (!getListenersForType().includes(listener)) {
288
- continue;
289
- }
290
- // Handle only the events appropriate to the phase. Global events
291
- // (a NativeScript-only concept) are allowed to be handled
292
- // regardless of phase, for backwards-compatibility.
293
- if (!isGlobal && ((phase === this.CAPTURING_PHASE && !capture) || (phase === this.BUBBLING_PHASE && capture))) {
236
+ //
237
+ // This check costs 150 ns per dispatchTo(). I experimented with
238
+ // optimising this by building a Set of ListenerEntries that got
239
+ // removed during this handleEvent() (by introducing a method to
240
+ // MutationSensitiveArray called afterRemoval, similar to
241
+ // beforeMutation) to allow O(1) lookup, but it went 1000 ns slower
242
+ // in practice, so it stays!
243
+ if (!getListeners().includes(listener)) {
294
244
  continue;
295
245
  }
296
- if (once) {
297
- removeEventListener(this.type, callback, thisArg, capture);
246
+ const callback = listener.callback;
247
+ const thisArg = listener.thisArg;
248
+ if (listener.once) {
249
+ // Calling with the context (rather than eagerly pre-binding it)
250
+ // saves about 100 nanoseconds per dispatchTo() call.
251
+ removeEventListener.call(removeEventListenerContext, this.type, callback, thisArg, capture);
298
252
  }
253
+ // Internal API to facilitate testing - to be removed once we've
254
+ // completed the breaking changes to migrate fully to DOMEvents.
255
+ //
256
+ // We update DOMEvent.unstable_currentEvent just before each call to
257
+ // the callback. Doing it only in dispatchTo() would seem more
258
+ // efficient, but it wouldn't technically be correct as it's
259
+ // possible for a callback itself to dispatch another event. Because
260
+ // we handle events synchronously rather than using a queue, it
261
+ // would mean that DOMEvent.unstable_currentEvent would correctly
262
+ // point at the sub-event, but subsequently fail to update to point
263
+ // at the initial event.
264
+ //
265
+ // Note that this will fail to set itself back to null if the
266
+ // callback throws an error, but that's unlikely to break anything
267
+ // in practice as it's only intended be valid when accessed
268
+ // during the callback anyway. We reset it mainly just to stop
269
+ // retaining the event.
270
+ DOMEvent.unstable_currentEvent = this;
299
271
  // Consistent with the original implementation, we only apply
300
272
  // context to the function if thisArg is truthy.
301
- const returnValue = callback.apply(thisArg || undefined, [data]);
273
+ //
274
+ // We prefer Function.call() over Function.apply() as it avoids
275
+ // having to allocate an array just to hold the args (saves 30
276
+ // nanoseconds per dispatchTo() call).
277
+ const returnValue = callback.call(thisArg || undefined, data);
278
+ DOMEvent.unstable_currentEvent = null;
302
279
  // This ensures that errors thrown inside asynchronous functions do
303
280
  // not get swallowed.
281
+ //
282
+ // This check costs only 25 nanoseconds per dispatchTo(), so is not
283
+ // a huge deal.
304
284
  if (returnValue instanceof Promise) {
305
285
  returnValue.catch(console.error);
306
286
  }
307
- if (passive && event.defaultPrevented) {
287
+ if (listener.passive && this.defaultPrevented) {
308
288
  console.warn('Unexpected call to event.preventDefault() in passive event listener.');
309
289
  }
310
290
  if (this.propagationState === EventPropagationState.stopImmediate) {
311
- return;
291
+ break;
312
292
  }
313
293
  }
294
+ // Make sure we clear the callback before we exit the function,
295
+ // otherwise we may wastefully clone the array on future mutations.
296
+ }
297
+ /**
298
+ * Resets any internal state to allow the event to be redispatched. Call
299
+ * this before returning from dispatchTo().
300
+ */
301
+ // Declaring this on the prototype rather than as an arrow function saves
302
+ // 190 nanoseconds per dispatchTo().
303
+ resetForRedispatch() {
304
+ this.currentTarget = null;
305
+ this.target = null;
306
+ this.eventPhase = DOMEvent.NONE;
307
+ this.propagationState = EventPropagationState.resume;
314
308
  }
315
309
  }
316
310
  /**
@@ -322,10 +316,27 @@ export class DOMEvent {
322
316
  * Event that corresponds to the currently-running callback.
323
317
  */
324
318
  DOMEvent.unstable_currentEvent = null;
325
- var EventPropagationState;
326
- (function (EventPropagationState) {
327
- EventPropagationState[EventPropagationState["resume"] = 0] = "resume";
328
- EventPropagationState[EventPropagationState["stop"] = 1] = "stop";
329
- EventPropagationState[EventPropagationState["stopImmediate"] = 2] = "stopImmediate";
330
- })(EventPropagationState || (EventPropagationState = {}));
319
+ // Assigning properties directly to the prototype where possible avoids
320
+ // wasted work in the constructor on each instance construction.
321
+ DOMEvent.NONE = 0;
322
+ DOMEvent.CAPTURING_PHASE = 1;
323
+ DOMEvent.AT_TARGET = 2;
324
+ DOMEvent.BUBBLING_PHASE = 3;
325
+ // Assigning initial property values directly on the prototype where
326
+ // possible avoids wasted work in the constructor on each instance
327
+ // construction. It's ugly, but saves about 100 nanoseconds per
328
+ // construction.
329
+ (() => {
330
+ Object.defineProperty(DOMEvent.prototype, 'NONE', { value: DOMEvent.NONE });
331
+ Object.defineProperty(DOMEvent.prototype, 'CAPTURING_PHASE', { value: DOMEvent.CAPTURING_PHASE });
332
+ Object.defineProperty(DOMEvent.prototype, 'AT_TARGET', { value: DOMEvent.AT_TARGET });
333
+ Object.defineProperty(DOMEvent.prototype, 'BUBBLING_PHASE', { value: DOMEvent.BUBBLING_PHASE });
334
+ Object.defineProperty(DOMEvent.prototype, 'cancelBubble', { value: false, writable: true });
335
+ Object.defineProperty(DOMEvent.prototype, 'defaultPrevented', { value: false, writable: true });
336
+ Object.defineProperty(DOMEvent.prototype, 'isTrusted', { value: false, writable: true, enumerable: true });
337
+ Object.defineProperty(DOMEvent.prototype, 'eventPhase', { value: DOMEvent.NONE, writable: true });
338
+ Object.defineProperty(DOMEvent.prototype, 'currentTarget', { value: null, writable: true });
339
+ Object.defineProperty(DOMEvent.prototype, 'target', { value: null, writable: true });
340
+ Object.defineProperty(DOMEvent.prototype, 'propagationState', { value: EventPropagationState.resume, writable: true });
341
+ })();
331
342
  //# sourceMappingURL=dom-event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom-event.js","sourceRoot":"","sources":["../../../../../packages/core/data/dom-events/dom-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom-event.js","sourceRoot":"","sources":["../../../../../packages/core/data/dom-events/dom-event.ts"],"names":[],"mappings":"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"}
@@ -173,7 +173,7 @@ export declare class Observable implements EventTarget {
173
173
  */
174
174
  notify<T extends EventData>(data: T, options?: CustomEventInit): void;
175
175
  dispatchEvent(event: DOMEvent): boolean;
176
- private _getGlobalEventHandlers;
176
+ private static _getGlobalEventHandlers;
177
177
  /**
178
178
  * Notifies all the registered listeners for the property change event.
179
179
  */
@@ -281,12 +281,7 @@ export class Observable {
281
281
  * @param options Options for the event, in line with DOM Standard.
282
282
  */
283
283
  notify(data, options) {
284
- new DOMEvent(data.eventName, options).dispatchTo({
285
- target: this,
286
- data,
287
- getGlobalEventHandlersPreHandling: () => this._getGlobalEventHandlers(data, 'First'),
288
- getGlobalEventHandlersPostHandling: () => this._getGlobalEventHandlers(data, ''),
289
- });
284
+ new DOMEvent(data.eventName, options).dispatchTo(this, data, Observable._getGlobalEventHandlers);
290
285
  }
291
286
  dispatchEvent(event) {
292
287
  const data = {
@@ -294,18 +289,13 @@ export class Observable {
294
289
  object: this,
295
290
  detail: event.detail,
296
291
  };
297
- return event.dispatchTo({
298
- target: this,
299
- data,
300
- getGlobalEventHandlersPreHandling: () => this._getGlobalEventHandlers(data, 'First'),
301
- getGlobalEventHandlersPostHandling: () => this._getGlobalEventHandlers(data, ''),
302
- });
292
+ return event.dispatchTo(this, data, Observable._getGlobalEventHandlers);
303
293
  }
304
- _getGlobalEventHandlers(data, eventType) {
294
+ static _getGlobalEventHandlers(data, eventType) {
305
295
  const eventClass = data.object?.constructor?.name;
306
- const globalEventHandlersForOwnClass = _globalEventHandlers[eventClass]?.[`${data.eventName}${eventType}`] ?? [];
307
- const globalEventHandlersForAllClasses = _globalEventHandlers['*']?.[`${data.eventName}${eventType}`] ?? [];
308
- return [...globalEventHandlersForOwnClass, ...globalEventHandlersForAllClasses];
296
+ const globalEventHandlersForOwnClass = _globalEventHandlers[eventClass]?.[`${data.eventName}${eventType}`];
297
+ const globalEventHandlersForAllClasses = _globalEventHandlers['*']?.[`${data.eventName}${eventType}`];
298
+ return globalEventHandlersForOwnClass?.length ? (globalEventHandlersForAllClasses?.length ? [...globalEventHandlersForOwnClass, ...globalEventHandlersForAllClasses] : globalEventHandlersForOwnClass) : globalEventHandlersForAllClasses?.length ? globalEventHandlersForAllClasses : undefined;
309
299
  }
310
300
  /**
311
301
  * Notifies all the registered listeners for the property change event.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/data/observable/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/data/observable/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as textModule from '../text';
2
2
  import { getNativeApplication } from '../application';
3
- import { SDK_VERSION } from '../utils';
3
+ import { getFileExtension } from '../utils';
4
+ import { SDK_VERSION } from '../utils/constants';
4
5
  let applicationContext;
5
6
  function getApplicationContext() {
6
7
  if (!applicationContext) {
@@ -431,11 +432,7 @@ export class FileSystemAccess {
431
432
  // TODO: This method is the same as in the iOS implementation.
432
433
  // Make it in a separate file / module so it can be reused from both implementations.
433
434
  getFileExtension(path) {
434
- const dotIndex = path.lastIndexOf('.');
435
- if (dotIndex && dotIndex >= 0 && dotIndex < path.length) {
436
- return path.substring(dotIndex);
437
- }
438
- return '';
435
+ return getFileExtension(path);
439
436
  }
440
437
  enumEntities(path, callback, onError) {
441
438
  try {