@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.
- package/accessibility/accessibility-service.android.js +2 -1
- package/accessibility/accessibility-service.android.js.map +1 -1
- package/accessibility/index.android.js +8 -11
- package/accessibility/index.android.js.map +1 -1
- package/application-settings/index.android.js +14 -3
- package/application-settings/index.android.js.map +1 -1
- package/connectivity/index.android.js +1 -1
- package/connectivity/index.android.js.map +1 -1
- package/data/dom-events/dom-event.d.ts +30 -26
- package/data/dom-events/dom-event.js +170 -159
- package/data/dom-events/dom-event.js.map +1 -1
- package/data/observable/index.d.ts +1 -1
- package/data/observable/index.js +6 -16
- package/data/observable/index.js.map +1 -1
- package/file-system/file-system-access.android.js +3 -6
- package/file-system/file-system-access.android.js.map +1 -1
- package/file-system/index.js +1 -1
- package/file-system/index.js.map +1 -1
- package/fps-meter/fps-native.android.js +1 -1
- package/fps-meter/fps-native.android.js.map +1 -1
- package/index.d.ts +4 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/platform/index.android.js +1 -1
- package/platform/index.android.js.map +1 -1
- package/platforms/ios/native-api-usage.json +2 -1
- package/profiling/jamie.d.ts +9 -0
- package/profiling/jamie.js +32 -0
- package/profiling/jamie.js.map +1 -0
- package/ui/action-bar/index.android.js +1 -1
- package/ui/action-bar/index.android.js.map +1 -1
- package/ui/animation/index.android.js +2 -1
- package/ui/animation/index.android.js.map +1 -1
- package/ui/button/index.android.js +1 -1
- package/ui/button/index.android.js.map +1 -1
- package/ui/core/view/index.android.js +5 -4
- package/ui/core/view/index.android.js.map +1 -1
- package/ui/core/view/view-helper/index.ios.js +3 -0
- package/ui/core/view/view-helper/index.ios.js.map +1 -1
- package/ui/editable-text-base/index.android.js +2 -1
- package/ui/editable-text-base/index.android.js.map +1 -1
- package/ui/gestures/index.android.js +16 -64
- package/ui/gestures/index.android.js.map +1 -1
- package/ui/gestures/index.ios.js +10 -50
- package/ui/gestures/index.ios.js.map +1 -1
- package/ui/html-view/index.android.js +1 -1
- package/ui/html-view/index.android.js.map +1 -1
- package/ui/list-view/index.ios.d.ts +0 -1
- package/ui/list-view/index.ios.js +0 -4
- package/ui/list-view/index.ios.js.map +1 -1
- package/ui/page/index.android.js +1 -1
- package/ui/page/index.android.js.map +1 -1
- package/ui/page/index.ios.js +3 -0
- package/ui/page/index.ios.js.map +1 -1
- package/ui/segmented-bar/index.android.js +2 -1
- package/ui/segmented-bar/index.android.js.map +1 -1
- package/ui/styling/font.android.js +1 -1
- package/ui/styling/font.android.js.map +1 -1
- package/ui/text-base/index.android.js +2 -1
- package/ui/text-base/index.android.js.map +1 -1
- package/ui/time-picker/index.android.js +1 -1
- package/ui/time-picker/index.android.js.map +1 -1
- package/utils/common.d.ts +6 -0
- package/utils/common.js +12 -0
- package/utils/common.js.map +1 -1
- package/utils/constants.android.d.ts +1 -0
- package/utils/constants.android.js +2 -0
- package/utils/constants.android.js.map +1 -0
- package/utils/constants.d.ts +1 -0
- package/utils/constants.ios.d.ts +1 -0
- package/utils/constants.ios.js +2 -0
- package/utils/constants.ios.js.map +1 -0
- package/utils/debug.js +3 -3
- package/utils/debug.js.map +1 -1
- package/utils/index.android.d.ts +0 -1
- package/utils/index.android.js +3 -3
- package/utils/index.android.js.map +1 -1
- package/utils/index.d.ts +7 -2
- package/utils/index.ios.d.ts +0 -1
- package/utils/index.ios.js +0 -1
- package/utils/index.ios.js.map +1 -1
- package/utils/native-helper.ios.d.ts +1 -1
- package/utils/native-helper.ios.js +4 -6
- 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
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
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.
|
|
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
|
-
|
|
47
|
-
this.
|
|
48
|
-
this.
|
|
49
|
-
this.
|
|
50
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
137
|
-
// and `cancelable
|
|
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.
|
|
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
|
-
|
|
173
|
-
|
|
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 =
|
|
137
|
+
this.eventPhase = DOMEvent.CAPTURING_PHASE;
|
|
177
138
|
this.target = target;
|
|
178
|
-
this.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 ?
|
|
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
|
-
|
|
234
|
-
return this.
|
|
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 (
|
|
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 ?
|
|
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
|
-
|
|
251
|
-
return this.
|
|
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
|
-
|
|
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 =
|
|
202
|
+
this.eventPhase = DOMEvent.BUBBLING_PHASE;
|
|
263
203
|
}
|
|
264
|
-
this.handleEvent(
|
|
265
|
-
|
|
266
|
-
|
|
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
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
for
|
|
279
|
-
|
|
280
|
-
|
|
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
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
//
|
|
293
|
-
|
|
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
|
-
|
|
297
|
-
|
|
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
|
-
|
|
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 &&
|
|
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
|
-
|
|
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
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
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":"
|
|
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
|
*/
|
package/data/observable/index.js
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
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 {
|