@tarojs/shared 3.5.0-alpha.8 → 3.5.0-beta.1
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/dist/event-emitter.d.ts +27 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +285 -53
- package/dist/index.js.map +1 -1
- package/dist/runtime-hooks.d.ts +119 -0
- package/dist/shared.esm.js +268 -39
- package/dist/shared.esm.js.map +1 -1
- package/dist/template.d.ts +5 -3
- package/dist/template.js +249 -2
- package/dist/template.js.map +1 -1
- package/dist/utils.d.ts +1 -2
- package/package.json +2 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare type Callback1<T1> = (arg1: T1) => any;
|
|
2
|
+
declare type Callback2<T1, T2> = (arg1: T1, arg2: T2) => any;
|
|
3
|
+
declare type Callback3<T1, T2, T3> = (arg1: T1, arg2: T2, arg3: T3) => any;
|
|
4
|
+
declare type Callback4<T1, T2, T3, T4> = (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => any;
|
|
5
|
+
declare type Callback5<T1, T2, T3, T4, T5> = (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => any;
|
|
6
|
+
declare type Callback6Rest<T1, T2, T3, T4, T5, T6> = (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, ...rest: any[]) => any;
|
|
7
|
+
export declare class Events {
|
|
8
|
+
protected callbacks?: Record<string, unknown>;
|
|
9
|
+
static eventSplitter: RegExp;
|
|
10
|
+
constructor(opts?: any);
|
|
11
|
+
on<T>(event: string, callback: Callback1<T>, context?: any): this;
|
|
12
|
+
on<T1, T2>(event: string, callback: Callback2<T1, T2>, context?: any): this;
|
|
13
|
+
on<T1, T2, T3>(event: string, callback: Callback3<T1, T2, T3>, context?: any): this;
|
|
14
|
+
on<T1, T2, T3, T4>(event: string, callback: Callback4<T1, T2, T3, T4>, comtext: any): this;
|
|
15
|
+
on<T1, T2, T3, T4, T5>(event: string, callback: Callback5<T1, T2, T3, T4, T5>, context?: any): this;
|
|
16
|
+
on<T1, T2, T3, T4, T5, T6>(event: string, callback: Callback6Rest<T1, T2, T3, T4, T5, T6>, context?: any): this;
|
|
17
|
+
once(events: any, callback: any, context: any): this;
|
|
18
|
+
off(events: any, callback?: any, context?: any): this;
|
|
19
|
+
trigger(event: string): any;
|
|
20
|
+
trigger<T1>(event: string, arg: T1): any;
|
|
21
|
+
trigger<T1, T2>(event: string, arg1: T1, arg2: T2): any;
|
|
22
|
+
trigger<T1, T2, T3>(event: string, arg1: T1, arg2: T2, arg3: T3): any;
|
|
23
|
+
trigger<T1, T2, T3, T4>(event: string, arg1: T1, arg2: T2, arg3: T3, arg4: T4): any;
|
|
24
|
+
trigger<T1, T2, T3, T4, T5>(event: string, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5): any;
|
|
25
|
+
trigger<T1, T2, T3, T4, T5, T6>(event: string, arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, ...rest: any[]): any;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
export * from './components';
|
|
2
|
+
export * from './event-emitter';
|
|
1
3
|
export * from './is';
|
|
4
|
+
export * from './native-apis';
|
|
5
|
+
export * from './runtime-hooks';
|
|
2
6
|
export { Shortcuts } from './shortcuts';
|
|
3
|
-
export * from './components';
|
|
4
7
|
export * from './utils';
|
|
5
|
-
export * from './native-apis';
|
package/dist/index.js
CHANGED
|
@@ -2,46 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function isString(o) {
|
|
6
|
-
return typeof o === 'string';
|
|
7
|
-
}
|
|
8
|
-
function isUndefined(o) {
|
|
9
|
-
return typeof o === 'undefined';
|
|
10
|
-
}
|
|
11
|
-
function isNull(o) {
|
|
12
|
-
return o === null;
|
|
13
|
-
}
|
|
14
|
-
function isObject(o) {
|
|
15
|
-
return o !== null && typeof o === 'object';
|
|
16
|
-
}
|
|
17
|
-
function isBoolean(o) {
|
|
18
|
-
return o === true || o === false;
|
|
19
|
-
}
|
|
20
|
-
function isFunction(o) {
|
|
21
|
-
return typeof o === 'function';
|
|
22
|
-
}
|
|
23
|
-
function isNumber(o) {
|
|
24
|
-
return typeof o === 'number';
|
|
25
|
-
}
|
|
26
|
-
function isBooleanStringLiteral(o) {
|
|
27
|
-
return o === 'true' || o === 'false';
|
|
28
|
-
}
|
|
29
|
-
const isArray = Array.isArray;
|
|
30
|
-
|
|
31
|
-
// 字符串简写
|
|
32
|
-
exports.Shortcuts = void 0;
|
|
33
|
-
(function (Shortcuts) {
|
|
34
|
-
Shortcuts["Container"] = "container";
|
|
35
|
-
Shortcuts["Childnodes"] = "cn";
|
|
36
|
-
Shortcuts["Text"] = "v";
|
|
37
|
-
Shortcuts["NodeType"] = "nt";
|
|
38
|
-
Shortcuts["NodeName"] = "nn";
|
|
39
|
-
// Attrtibutes
|
|
40
|
-
Shortcuts["Style"] = "st";
|
|
41
|
-
Shortcuts["Class"] = "cl";
|
|
42
|
-
Shortcuts["Src"] = "src";
|
|
43
|
-
})(exports.Shortcuts || (exports.Shortcuts = {}));
|
|
44
|
-
|
|
45
5
|
const DEFAULT_EMPTY_ARRAY = '[]';
|
|
46
6
|
const NO_DEFAULT_VALUE = '';
|
|
47
7
|
const DEFAULT_TRUE = 'true';
|
|
@@ -378,10 +338,268 @@ const nestElements = new Map([
|
|
|
378
338
|
['swiper-item', 4]
|
|
379
339
|
]);
|
|
380
340
|
|
|
341
|
+
class Events {
|
|
342
|
+
constructor(opts) {
|
|
343
|
+
var _a;
|
|
344
|
+
this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};
|
|
345
|
+
}
|
|
346
|
+
on(eventName, callback, context) {
|
|
347
|
+
let event, node, tail, list;
|
|
348
|
+
if (!callback) {
|
|
349
|
+
return this;
|
|
350
|
+
}
|
|
351
|
+
eventName = eventName.split(Events.eventSplitter);
|
|
352
|
+
this.callbacks || (this.callbacks = {});
|
|
353
|
+
const calls = this.callbacks;
|
|
354
|
+
while ((event = eventName.shift())) {
|
|
355
|
+
list = calls[event];
|
|
356
|
+
node = list ? list.tail : {};
|
|
357
|
+
node.next = tail = {};
|
|
358
|
+
node.context = context;
|
|
359
|
+
node.callback = callback;
|
|
360
|
+
calls[event] = {
|
|
361
|
+
tail,
|
|
362
|
+
next: list ? list.next : node
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
return this;
|
|
366
|
+
}
|
|
367
|
+
once(events, callback, context) {
|
|
368
|
+
const wrapper = (...args) => {
|
|
369
|
+
callback.apply(this, args);
|
|
370
|
+
this.off(events, wrapper, context);
|
|
371
|
+
};
|
|
372
|
+
this.on(events, wrapper, context);
|
|
373
|
+
return this;
|
|
374
|
+
}
|
|
375
|
+
off(events, callback, context) {
|
|
376
|
+
let event, calls, node, tail, cb, ctx;
|
|
377
|
+
if (!(calls = this.callbacks)) {
|
|
378
|
+
return this;
|
|
379
|
+
}
|
|
380
|
+
if (!(events || callback || context)) {
|
|
381
|
+
delete this.callbacks;
|
|
382
|
+
return this;
|
|
383
|
+
}
|
|
384
|
+
events = events ? events.split(Events.eventSplitter) : Object.keys(calls);
|
|
385
|
+
while ((event = events.shift())) {
|
|
386
|
+
node = calls[event];
|
|
387
|
+
delete calls[event];
|
|
388
|
+
if (!node || !(callback || context)) {
|
|
389
|
+
continue;
|
|
390
|
+
}
|
|
391
|
+
tail = node.tail;
|
|
392
|
+
while ((node = node.next) !== tail) {
|
|
393
|
+
cb = node.callback;
|
|
394
|
+
ctx = node.context;
|
|
395
|
+
if ((callback && cb !== callback) || (context && ctx !== context)) {
|
|
396
|
+
this.on(event, cb, ctx);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
return this;
|
|
401
|
+
}
|
|
402
|
+
trigger(events) {
|
|
403
|
+
let event, node, calls, tail;
|
|
404
|
+
if (!(calls = this.callbacks)) {
|
|
405
|
+
return this;
|
|
406
|
+
}
|
|
407
|
+
events = events.split(Events.eventSplitter);
|
|
408
|
+
const rest = [].slice.call(arguments, 1);
|
|
409
|
+
while ((event = events.shift())) {
|
|
410
|
+
if ((node = calls[event])) {
|
|
411
|
+
tail = node.tail;
|
|
412
|
+
while ((node = node.next) !== tail) {
|
|
413
|
+
node.callback.apply(node.context || this, rest);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
return this;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
Events.eventSplitter = /\s+/;
|
|
421
|
+
|
|
422
|
+
function isString(o) {
|
|
423
|
+
return typeof o === 'string';
|
|
424
|
+
}
|
|
425
|
+
function isUndefined(o) {
|
|
426
|
+
return typeof o === 'undefined';
|
|
427
|
+
}
|
|
428
|
+
function isNull(o) {
|
|
429
|
+
return o === null;
|
|
430
|
+
}
|
|
431
|
+
function isObject(o) {
|
|
432
|
+
return o !== null && typeof o === 'object';
|
|
433
|
+
}
|
|
434
|
+
function isBoolean(o) {
|
|
435
|
+
return o === true || o === false;
|
|
436
|
+
}
|
|
437
|
+
function isFunction(o) {
|
|
438
|
+
return typeof o === 'function';
|
|
439
|
+
}
|
|
440
|
+
function isNumber(o) {
|
|
441
|
+
return typeof o === 'number';
|
|
442
|
+
}
|
|
443
|
+
function isBooleanStringLiteral(o) {
|
|
444
|
+
return o === 'true' || o === 'false';
|
|
445
|
+
}
|
|
446
|
+
const isArray = Array.isArray;
|
|
447
|
+
|
|
448
|
+
exports.HOOK_TYPE = void 0;
|
|
449
|
+
(function (HOOK_TYPE) {
|
|
450
|
+
HOOK_TYPE[HOOK_TYPE["SINGLE"] = 0] = "SINGLE";
|
|
451
|
+
HOOK_TYPE[HOOK_TYPE["MULTI"] = 1] = "MULTI";
|
|
452
|
+
HOOK_TYPE[HOOK_TYPE["WATERFALL"] = 2] = "WATERFALL";
|
|
453
|
+
})(exports.HOOK_TYPE || (exports.HOOK_TYPE = {}));
|
|
454
|
+
const defaultMiniLifecycle = {
|
|
455
|
+
app: [
|
|
456
|
+
'onLaunch',
|
|
457
|
+
'onShow',
|
|
458
|
+
'onHide'
|
|
459
|
+
],
|
|
460
|
+
page: [
|
|
461
|
+
'onLoad',
|
|
462
|
+
'onUnload',
|
|
463
|
+
'onReady',
|
|
464
|
+
'onShow',
|
|
465
|
+
'onHide',
|
|
466
|
+
[
|
|
467
|
+
'onPullDownRefresh',
|
|
468
|
+
'onReachBottom',
|
|
469
|
+
'onPageScroll',
|
|
470
|
+
'onResize',
|
|
471
|
+
'onTabItemTap',
|
|
472
|
+
'onTitleClick',
|
|
473
|
+
'onOptionMenuClick',
|
|
474
|
+
'onPopMenuClick',
|
|
475
|
+
'onPullIntercept',
|
|
476
|
+
'onAddToFavorites'
|
|
477
|
+
]
|
|
478
|
+
]
|
|
479
|
+
};
|
|
480
|
+
function TaroHook(type, initial) {
|
|
481
|
+
return {
|
|
482
|
+
type,
|
|
483
|
+
initial: initial || null
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
class TaroHooks extends Events {
|
|
487
|
+
constructor(hooks, opts) {
|
|
488
|
+
super(opts);
|
|
489
|
+
this.hooks = hooks;
|
|
490
|
+
for (const hookName in hooks) {
|
|
491
|
+
const { initial } = hooks[hookName];
|
|
492
|
+
if (isFunction(initial)) {
|
|
493
|
+
this.on(hookName, initial);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
tapOneOrMany(hookName, callback) {
|
|
498
|
+
const list = isFunction(callback) ? [callback] : callback;
|
|
499
|
+
list.forEach(cb => this.on(hookName, cb));
|
|
500
|
+
}
|
|
501
|
+
tap(hookName, callback) {
|
|
502
|
+
const hooks = this.hooks;
|
|
503
|
+
const { type, initial } = hooks[hookName];
|
|
504
|
+
if (type === exports.HOOK_TYPE.SINGLE) {
|
|
505
|
+
this.off(hookName);
|
|
506
|
+
this.on(hookName, isFunction(callback) ? callback : callback[callback.length - 1]);
|
|
507
|
+
}
|
|
508
|
+
else {
|
|
509
|
+
initial && this.off(hookName, initial);
|
|
510
|
+
this.tapOneOrMany(hookName, callback);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
call(hookName, ...rest) {
|
|
514
|
+
var _a;
|
|
515
|
+
const hook = this.hooks[hookName];
|
|
516
|
+
if (!hook)
|
|
517
|
+
return;
|
|
518
|
+
const { type } = hook;
|
|
519
|
+
const calls = this.callbacks;
|
|
520
|
+
if (!calls)
|
|
521
|
+
return;
|
|
522
|
+
const list = calls[hookName];
|
|
523
|
+
if (list) {
|
|
524
|
+
const tail = list.tail;
|
|
525
|
+
let node = list.next;
|
|
526
|
+
let args = rest;
|
|
527
|
+
let res;
|
|
528
|
+
while (node !== tail) {
|
|
529
|
+
res = (_a = node.callback) === null || _a === void 0 ? void 0 : _a.apply(node.context || this, args);
|
|
530
|
+
if (type === exports.HOOK_TYPE.WATERFALL) {
|
|
531
|
+
const params = [res];
|
|
532
|
+
args = params;
|
|
533
|
+
}
|
|
534
|
+
node = node.next;
|
|
535
|
+
}
|
|
536
|
+
return res;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
isExist(hookName) {
|
|
540
|
+
var _a;
|
|
541
|
+
return Boolean((_a = this.callbacks) === null || _a === void 0 ? void 0 : _a[hookName]);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
const hooks = new TaroHooks({
|
|
545
|
+
getMiniLifecycle: TaroHook(exports.HOOK_TYPE.SINGLE, defaultConfig => defaultConfig),
|
|
546
|
+
getMiniLifecycleImpl: TaroHook(exports.HOOK_TYPE.SINGLE, function () {
|
|
547
|
+
return this.call('getMiniLifecycle', defaultMiniLifecycle);
|
|
548
|
+
}),
|
|
549
|
+
getLifecycle: TaroHook(exports.HOOK_TYPE.SINGLE, (instance, lifecycle) => instance[lifecycle]),
|
|
550
|
+
getPathIndex: TaroHook(exports.HOOK_TYPE.SINGLE, indexOfNode => `[${indexOfNode}]`),
|
|
551
|
+
getEventCenter: TaroHook(exports.HOOK_TYPE.SINGLE, Events => new Events()),
|
|
552
|
+
isBubbleEvents: TaroHook(exports.HOOK_TYPE.SINGLE, eventName => {
|
|
553
|
+
/**
|
|
554
|
+
* 支持冒泡的事件, 除 支付宝小程序外,其余的可冒泡事件都和微信保持一致
|
|
555
|
+
* 详见 见 https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html
|
|
556
|
+
*/
|
|
557
|
+
const BUBBLE_EVENTS = new Set([
|
|
558
|
+
'touchstart',
|
|
559
|
+
'touchmove',
|
|
560
|
+
'touchcancel',
|
|
561
|
+
'touchend',
|
|
562
|
+
'touchforcechange',
|
|
563
|
+
'tap',
|
|
564
|
+
'longpress',
|
|
565
|
+
'longtap',
|
|
566
|
+
'transitionend',
|
|
567
|
+
'animationstart',
|
|
568
|
+
'animationiteration',
|
|
569
|
+
'animationend'
|
|
570
|
+
]);
|
|
571
|
+
return BUBBLE_EVENTS.has(eventName);
|
|
572
|
+
}),
|
|
573
|
+
getSpecialNodes: TaroHook(exports.HOOK_TYPE.SINGLE, () => ['view', 'text', 'image']),
|
|
574
|
+
onRemoveAttribute: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
575
|
+
batchedEventUpdates: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
576
|
+
mergePageInstance: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
577
|
+
modifyPageObject: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
578
|
+
createPullDownComponent: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
579
|
+
getDOMNode: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
580
|
+
modifyHydrateData: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
581
|
+
modifySetAttrPayload: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
582
|
+
modifyRmAttrPayload: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
583
|
+
onAddEvent: TaroHook(exports.HOOK_TYPE.SINGLE),
|
|
584
|
+
modifyMpEvent: TaroHook(exports.HOOK_TYPE.MULTI),
|
|
585
|
+
modifyMpEventImpl: TaroHook(exports.HOOK_TYPE.SINGLE, function (e) {
|
|
586
|
+
try {
|
|
587
|
+
// 有些小程序的事件对象的某些属性只读
|
|
588
|
+
this.call('modifyMpEvent', e);
|
|
589
|
+
}
|
|
590
|
+
catch (error) {
|
|
591
|
+
console.warn('[Taro modifyMpEvent hook Error]: ', error);
|
|
592
|
+
}
|
|
593
|
+
}),
|
|
594
|
+
modifyTaroEvent: TaroHook(exports.HOOK_TYPE.MULTI),
|
|
595
|
+
modifyDispatchEvent: TaroHook(exports.HOOK_TYPE.MULTI),
|
|
596
|
+
initNativeApi: TaroHook(exports.HOOK_TYPE.MULTI),
|
|
597
|
+
patchElement: TaroHook(exports.HOOK_TYPE.MULTI)
|
|
598
|
+
});
|
|
599
|
+
|
|
381
600
|
const EMPTY_OBJ = {};
|
|
382
601
|
const EMPTY_ARR = [];
|
|
383
602
|
const noop = (..._) => { };
|
|
384
|
-
const defaultReconciler = Object.create(null);
|
|
385
603
|
/**
|
|
386
604
|
* box creates a boxed value.
|
|
387
605
|
*
|
|
@@ -505,15 +723,11 @@ function mergeInternalComponents(components) {
|
|
|
505
723
|
}
|
|
506
724
|
});
|
|
507
725
|
}
|
|
508
|
-
function mergeReconciler(hostConfig) {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
? value
|
|
514
|
-
: (isArray(raw)
|
|
515
|
-
? raw.concat(value)
|
|
516
|
-
: [raw, value]);
|
|
726
|
+
function mergeReconciler(hostConfig, hooksForTest) {
|
|
727
|
+
const obj = hooksForTest || hooks;
|
|
728
|
+
const keys = Object.keys(hostConfig);
|
|
729
|
+
keys.forEach(key => {
|
|
730
|
+
obj.tap(key, hostConfig[key]);
|
|
517
731
|
});
|
|
518
732
|
}
|
|
519
733
|
function unsupport(api) {
|
|
@@ -796,8 +1010,9 @@ function processApis(taro, global, config = {}) {
|
|
|
796
1010
|
}
|
|
797
1011
|
});
|
|
798
1012
|
// 给 promise 对象挂载属性
|
|
799
|
-
if (
|
|
800
|
-
|
|
1013
|
+
if (['request', 'uploadFile', 'downloadFile'].includes(key)) {
|
|
1014
|
+
const taskMethods = ['abort', 'onHeadersReceived', 'offHeadersReceived', 'onProgressUpdate', 'offProgressUpdate', 'onChunkReceived', 'offChunkReceived'];
|
|
1015
|
+
task && taskMethods.forEach(method => {
|
|
801
1016
|
if (method in task) {
|
|
802
1017
|
p[method] = task[method].bind(task);
|
|
803
1018
|
}
|
|
@@ -871,8 +1086,25 @@ function equipCommonApis(taro, global, apis = {}) {
|
|
|
871
1086
|
taro.miniGlobal = taro.options.miniGlobal = global;
|
|
872
1087
|
}
|
|
873
1088
|
|
|
1089
|
+
// 字符串简写
|
|
1090
|
+
exports.Shortcuts = void 0;
|
|
1091
|
+
(function (Shortcuts) {
|
|
1092
|
+
Shortcuts["Container"] = "container";
|
|
1093
|
+
Shortcuts["Childnodes"] = "cn";
|
|
1094
|
+
Shortcuts["Text"] = "v";
|
|
1095
|
+
Shortcuts["NodeType"] = "nt";
|
|
1096
|
+
Shortcuts["NodeName"] = "nn";
|
|
1097
|
+
// Attrtibutes
|
|
1098
|
+
Shortcuts["Style"] = "st";
|
|
1099
|
+
Shortcuts["Class"] = "cl";
|
|
1100
|
+
Shortcuts["Src"] = "src";
|
|
1101
|
+
})(exports.Shortcuts || (exports.Shortcuts = {}));
|
|
1102
|
+
|
|
874
1103
|
exports.EMPTY_ARR = EMPTY_ARR;
|
|
875
1104
|
exports.EMPTY_OBJ = EMPTY_OBJ;
|
|
1105
|
+
exports.Events = Events;
|
|
1106
|
+
exports.TaroHook = TaroHook;
|
|
1107
|
+
exports.TaroHooks = TaroHooks;
|
|
876
1108
|
exports.animation = animation;
|
|
877
1109
|
exports.box = box;
|
|
878
1110
|
exports.cacheDataGet = cacheDataGet;
|
|
@@ -880,11 +1112,11 @@ exports.cacheDataHas = cacheDataHas;
|
|
|
880
1112
|
exports.cacheDataSet = cacheDataSet;
|
|
881
1113
|
exports.capitalize = capitalize;
|
|
882
1114
|
exports.controlledComponent = controlledComponent;
|
|
883
|
-
exports.defaultReconciler = defaultReconciler;
|
|
884
1115
|
exports.ensure = ensure;
|
|
885
1116
|
exports.focusComponents = focusComponents;
|
|
886
1117
|
exports.getUniqueKey = getUniqueKey;
|
|
887
1118
|
exports.hasOwn = hasOwn;
|
|
1119
|
+
exports.hooks = hooks;
|
|
888
1120
|
exports.indent = indent;
|
|
889
1121
|
exports.internalComponents = internalComponents;
|
|
890
1122
|
exports.isArray = isArray;
|