vite-plugin-taro-runtime 0.6.7

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 (168) hide show
  1. package/LICENSE +174 -0
  2. package/README.md +45 -0
  3. package/dist/bom/URL.d.ts +53 -0
  4. package/dist/bom/URL.js +222 -0
  5. package/dist/bom/URL.js.map +1 -0
  6. package/dist/bom/URLSearchParams.d.ts +3 -0
  7. package/dist/bom/URLSearchParams.js +131 -0
  8. package/dist/bom/URLSearchParams.js.map +1 -0
  9. package/dist/bom/document.d.ts +5 -0
  10. package/dist/bom/document.js +185 -0
  11. package/dist/bom/document.js.map +1 -0
  12. package/dist/bom/getComputedStyle.d.ts +8 -0
  13. package/dist/bom/getComputedStyle.js +9 -0
  14. package/dist/bom/getComputedStyle.js.map +1 -0
  15. package/dist/bom/history.d.ts +34 -0
  16. package/dist/bom/history.js +121 -0
  17. package/dist/bom/history.js.map +1 -0
  18. package/dist/bom/location.d.ts +40 -0
  19. package/dist/bom/location.js +240 -0
  20. package/dist/bom/location.js.map +1 -0
  21. package/dist/bom/navigator.d.ts +3 -0
  22. package/dist/bom/navigator.js +24 -0
  23. package/dist/bom/navigator.js.map +1 -0
  24. package/dist/bom/raf.d.ts +5 -0
  25. package/dist/bom/raf.js +33 -0
  26. package/dist/bom/raf.js.map +1 -0
  27. package/dist/bom/window.d.ts +28 -0
  28. package/dist/bom/window.js +93 -0
  29. package/dist/bom/window.js.map +1 -0
  30. package/dist/constants/index.d.ts +59 -0
  31. package/dist/constants/index.js +62 -0
  32. package/dist/constants/index.js.map +1 -0
  33. package/dist/current.d.ts +22 -0
  34. package/dist/current.js +9 -0
  35. package/dist/current.js.map +1 -0
  36. package/dist/dom/anchor-element.js +54 -0
  37. package/dist/dom/anchor-element.js.map +1 -0
  38. package/dist/dom/class-list.d.ts +19 -0
  39. package/dist/dom/class-list.js +92 -0
  40. package/dist/dom/class-list.js.map +1 -0
  41. package/dist/dom/document.d.ts +24 -0
  42. package/dist/dom/document.js +80 -0
  43. package/dist/dom/document.js.map +1 -0
  44. package/dist/dom/element.d.ts +43 -0
  45. package/dist/dom/element.js +317 -0
  46. package/dist/dom/element.js.map +1 -0
  47. package/dist/dom/event-source.d.ts +9 -0
  48. package/dist/dom/event-source.js +17 -0
  49. package/dist/dom/event-source.js.map +1 -0
  50. package/dist/dom/event-target.d.ts +11 -0
  51. package/dist/dom/event-target.js +83 -0
  52. package/dist/dom/event-target.js.map +1 -0
  53. package/dist/dom/event.d.ts +27 -0
  54. package/dist/dom/event.js +160 -0
  55. package/dist/dom/event.js.map +1 -0
  56. package/dist/dom/form.d.ts +12 -0
  57. package/dist/dom/form.js +38 -0
  58. package/dist/dom/form.js.map +1 -0
  59. package/dist/dom/node.d.ts +79 -0
  60. package/dist/dom/node.js +301 -0
  61. package/dist/dom/node.js.map +1 -0
  62. package/dist/dom/node_types.d.ts +12 -0
  63. package/dist/dom/root.d.ts +21 -0
  64. package/dist/dom/root.js +186 -0
  65. package/dist/dom/root.js.map +1 -0
  66. package/dist/dom/style.d.ts +17 -0
  67. package/dist/dom/style.js +168 -0
  68. package/dist/dom/style.js.map +1 -0
  69. package/dist/dom/style_properties.js +187 -0
  70. package/dist/dom/style_properties.js.map +1 -0
  71. package/dist/dom/svg.d.ts +6 -0
  72. package/dist/dom/svg.js +8 -0
  73. package/dist/dom/svg.js.map +1 -0
  74. package/dist/dom/text.d.ts +17 -0
  75. package/dist/dom/text.js +41 -0
  76. package/dist/dom/text.js.map +1 -0
  77. package/dist/dom/transfer.js +15 -0
  78. package/dist/dom/transfer.js.map +1 -0
  79. package/dist/dom/tree.js +38 -0
  80. package/dist/dom/tree.js.map +1 -0
  81. package/dist/dom-external/element.js +36 -0
  82. package/dist/dom-external/element.js.map +1 -0
  83. package/dist/dom-external/index.js +39 -0
  84. package/dist/dom-external/index.js.map +1 -0
  85. package/dist/dom-external/inner-html/html.d.ts +5 -0
  86. package/dist/dom-external/inner-html/html.js +35 -0
  87. package/dist/dom-external/inner-html/html.js.map +1 -0
  88. package/dist/dom-external/inner-html/parser.d.ts +20 -0
  89. package/dist/dom-external/inner-html/parser.js +216 -0
  90. package/dist/dom-external/inner-html/parser.js.map +1 -0
  91. package/dist/dom-external/inner-html/scanner.js +304 -0
  92. package/dist/dom-external/inner-html/scanner.js.map +1 -0
  93. package/dist/dom-external/inner-html/style.js +235 -0
  94. package/dist/dom-external/inner-html/style.js.map +1 -0
  95. package/dist/dom-external/inner-html/tags.js +26 -0
  96. package/dist/dom-external/inner-html/tags.js.map +1 -0
  97. package/dist/dom-external/inner-html/utils.js +12 -0
  98. package/dist/dom-external/inner-html/utils.js.map +1 -0
  99. package/dist/dom-external/mutation-observer/implements.d.ts +55 -0
  100. package/dist/dom-external/mutation-observer/implements.js +108 -0
  101. package/dist/dom-external/mutation-observer/implements.js.map +1 -0
  102. package/dist/dom-external/mutation-observer/index.d.ts +15 -0
  103. package/dist/dom-external/mutation-observer/index.js +35 -0
  104. package/dist/dom-external/mutation-observer/index.js.map +1 -0
  105. package/dist/dom-external/mutation-observer/record.d.ts +28 -0
  106. package/dist/dom-external/node.js +75 -0
  107. package/dist/dom-external/node.js.map +1 -0
  108. package/dist/dsl/common.d.ts +17 -0
  109. package/dist/dsl/common.js +376 -0
  110. package/dist/dsl/common.js.map +1 -0
  111. package/dist/dsl/instance.d.ts +97 -0
  112. package/dist/emitter/emitter.d.ts +8 -0
  113. package/dist/emitter/emitter.js +7 -0
  114. package/dist/emitter/emitter.js.map +1 -0
  115. package/dist/env.d.ts +9 -0
  116. package/dist/env.js +9 -0
  117. package/dist/env.js.map +1 -0
  118. package/dist/hydrate.d.ts +13 -0
  119. package/dist/hydrate.js +104 -0
  120. package/dist/hydrate.js.map +1 -0
  121. package/dist/index.cjs.d.ts +921 -0
  122. package/dist/index.cjs.js +5401 -0
  123. package/dist/index.cjs.js.map +1 -0
  124. package/dist/index.d.ts +43 -0
  125. package/dist/index.js +36 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/interface/animate.d.ts +83 -0
  128. package/dist/interface/element.d.ts +6 -0
  129. package/dist/interface/event-target.d.ts +13 -0
  130. package/dist/interface/event.d.ts +16 -0
  131. package/dist/interface/hydrate.d.ts +33 -0
  132. package/dist/interface/node.d.ts +10 -0
  133. package/dist/interface/options.d.ts +19 -0
  134. package/dist/interface/utils.d.ts +4 -0
  135. package/dist/next-tick.d.ts +5 -0
  136. package/dist/next-tick.js +47 -0
  137. package/dist/next-tick.js.map +1 -0
  138. package/dist/options.d.ts +5 -0
  139. package/dist/options.js +7 -0
  140. package/dist/options.js.map +1 -0
  141. package/dist/perf.d.ts +10 -0
  142. package/dist/perf.js +49 -0
  143. package/dist/perf.js.map +1 -0
  144. package/dist/polyfill/array.js +56 -0
  145. package/dist/polyfill/array.js.map +1 -0
  146. package/dist/polyfill/index.d.ts +3 -0
  147. package/dist/polyfill/index.js +34 -0
  148. package/dist/polyfill/index.js.map +1 -0
  149. package/dist/polyfill/intersection-observer.js +597 -0
  150. package/dist/polyfill/intersection-observer.js.map +1 -0
  151. package/dist/polyfill/object.js +102 -0
  152. package/dist/polyfill/object.js.map +1 -0
  153. package/dist/runtime.esm.d.ts +921 -0
  154. package/dist/runtime.esm.js +5274 -0
  155. package/dist/runtime.esm.js.map +1 -0
  156. package/dist/utils/cache.d.ts +14 -0
  157. package/dist/utils/cache.js +27 -0
  158. package/dist/utils/cache.js.map +1 -0
  159. package/dist/utils/index.d.ts +26 -0
  160. package/dist/utils/index.js +99 -0
  161. package/dist/utils/index.js.map +1 -0
  162. package/dist/utils/lodash.d.ts +4 -0
  163. package/dist/utils/lodash.js +32 -0
  164. package/dist/utils/lodash.js.map +1 -0
  165. package/dist/utils/router.d.ts +9 -0
  166. package/dist/utils/router.js +24 -0
  167. package/dist/utils/router.js.map +1 -0
  168. package/package.json +39 -0
@@ -0,0 +1,43 @@
1
+ export { default as env } from './env.js';
2
+ export { Events, hooks } from '@tarojs/shared';
3
+ export { taroDocumentProvider as document } from './bom/document.js';
4
+ export { taroGetComputedStyleProvider as getComputedStyle } from './bom/getComputedStyle.js';
5
+ export { History } from './bom/history.js';
6
+ export { Location } from './bom/location.js';
7
+ export { nav as navigator } from './bom/navigator.js';
8
+ export { caf as cancelAnimationFrame, now, raf as requestAnimationFrame } from './bom/raf.js';
9
+ export { TaroURLProvider as URL, parseUrl } from './bom/URL.js';
10
+ export { URLSearchParams } from './bom/URLSearchParams.js';
11
+ export { taroHistoryProvider as history, taroLocationProvider as location, taroWindowProvider as window } from './bom/window.js';
12
+ export { TaroElement } from './dom/element.js';
13
+ export { TaroEvent, createEvent, eventHandler, eventHandlerTTDom } from './dom/event.js';
14
+ export { FormElement } from './dom/form.js';
15
+ export { TaroNode } from './dom/node.js';
16
+ export { TaroRootElement } from './dom/root.js';
17
+ export { Style } from './dom/style.js';
18
+ export { SVGElement } from './dom/svg.js';
19
+ export { TaroText } from './dom/text.js';
20
+ export { setInnerHTML } from './dom-external/inner-html/html.js';
21
+ export { MutationObserver } from './dom-external/mutation-observer/index.js';
22
+ export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW } from './constants/index.js';
23
+ export { Current, getCurrentInstance } from './current.js';
24
+ export { eventSource } from './dom/event-source.js';
25
+ export { createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify } from './dsl/common.js';
26
+ export { EventsType, eventCenter } from './emitter/emitter.js';
27
+ export { hydrate } from './hydrate.js';
28
+ export { nextTick } from './next-tick.js';
29
+ export { options } from './options.js';
30
+ export { perf } from './perf.js';
31
+ export { convertNumber2PX, customWrapperCache, extend, getComponentsAlias, incrementId, isComment, isElement, isHasExtractProp, isParentBound, isText, shortcutAttr } from './utils/index.js';
32
+ export { AppInstance, Instance, PageInstance, PageLifeCycle, PageProps, ReactAppInstance, ReactPageComponent, ReactPageInstance } from './dsl/instance.js';
33
+ export { KeyFrame, ScrollTimelineOption } from './interface/animate.js';
34
+ export { Attributes } from './interface/element.js';
35
+ export { EventOptions, MpEvent } from './interface/event.js';
36
+ export { AddEventListenerOptions, EventHandler, EventListenerOptions } from './interface/event-target.js';
37
+ export { HydratedData, MiniData, MiniElementData, MiniTextData, MpInstance } from './interface/hydrate.js';
38
+ export { DataTree, UpdatePayload, UpdatePayloadValue } from './interface/node.js';
39
+ export { Options } from './interface/options.js';
40
+ export { PageConfig, TFunc } from './interface/utils.js';
41
+ export { handlePolyfill } from './polyfill/index.js';
42
+ export { debounce, throttle } from './utils/lodash.js';
43
+ export { addLeadingSlash, getCurrentPage, getHomePage, hasBasename, stripBasename, stripSuffix, stripTrailing } from './utils/router.js';
package/dist/index.js ADDED
@@ -0,0 +1,36 @@
1
+ import './dom-external/index.js';
2
+ export { default as env } from './env.js';
3
+ export { Events, hooks } from '@tarojs/shared';
4
+ export { taroDocumentProvider as document } from './bom/document.js';
5
+ export { taroGetComputedStyleProvider as getComputedStyle } from './bom/getComputedStyle.js';
6
+ export { History } from './bom/history.js';
7
+ export { Location } from './bom/location.js';
8
+ export { nav as navigator } from './bom/navigator.js';
9
+ export { caf as cancelAnimationFrame, now, raf as requestAnimationFrame } from './bom/raf.js';
10
+ export { TaroURLProvider as URL, parseUrl } from './bom/URL.js';
11
+ export { URLSearchParams } from './bom/URLSearchParams.js';
12
+ export { taroHistoryProvider as history, taroLocationProvider as location, taroWindowProvider as window } from './bom/window.js';
13
+ export { TaroElement } from './dom/element.js';
14
+ export { TaroEvent, createEvent, eventHandler, eventHandlerTTDom } from './dom/event.js';
15
+ export { FormElement } from './dom/form.js';
16
+ export { TaroNode } from './dom/node.js';
17
+ export { TaroRootElement } from './dom/root.js';
18
+ export { Style } from './dom/style.js';
19
+ export { SVGElement } from './dom/svg.js';
20
+ export { TaroText } from './dom/text.js';
21
+ export { setInnerHTML } from './dom-external/inner-html/html.js';
22
+ export { MutationObserver } from './dom-external/mutation-observer/index.js';
23
+ export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW } from './constants/index.js';
24
+ export { Current, getCurrentInstance } from './current.js';
25
+ export { eventSource } from './dom/event-source.js';
26
+ export { createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify } from './dsl/common.js';
27
+ export { eventCenter } from './emitter/emitter.js';
28
+ export { hydrate } from './hydrate.js';
29
+ export { nextTick } from './next-tick.js';
30
+ export { options } from './options.js';
31
+ export { perf } from './perf.js';
32
+ export { convertNumber2PX, customWrapperCache, extend, getComponentsAlias, incrementId, isComment, isElement, isHasExtractProp, isParentBound, isText, shortcutAttr } from './utils/index.js';
33
+ export { handlePolyfill } from './polyfill/index.js';
34
+ export { debounce, throttle } from './utils/lodash.js';
35
+ export { addLeadingSlash, getCurrentPage, getHomePage, hasBasename, stripBasename, stripSuffix, stripTrailing } from './utils/router.js';
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,83 @@
1
+ /** @ignore */
2
+ interface KeyFrame {
3
+ /** 关键帧的偏移,范围[0-1] */
4
+ offset?: number;
5
+ /** 动画缓动函数 */
6
+ ease?: string;
7
+ /** 基点位置,即 CSS transform-origin */
8
+ transformOrigin?: string;
9
+ /** 背景颜色,即 CSS background-color */
10
+ backgroundColor?: string;
11
+ /** 底边位置,即 CSS bottom */
12
+ bottom?: number | string;
13
+ /** 高度,即 CSS height */
14
+ height?: number | string;
15
+ /** 左边位置,即 CSS left */
16
+ left?: number | string;
17
+ /** 宽度,即 CSS width */
18
+ width?: number | string;
19
+ /** 不透明度,即 CSS opacity */
20
+ opacity?: number | string;
21
+ /** 右边位置,即 CSS right */
22
+ right?: number | string;
23
+ /** 顶边位置,即 CSS top */
24
+ top?: number | string;
25
+ /** 变换矩阵,即 CSS transform matrix */
26
+ matrix?: number[];
27
+ /** 三维变换矩阵,即 CSS transform matrix3d */
28
+ matrix3d?: number[];
29
+ /** 旋转,即 CSS transform rotate */
30
+ rotate?: number;
31
+ /** 三维旋转,即 CSS transform rotate3d */
32
+ rotate3d?: number[];
33
+ /** X 方向旋转,即 CSS transform rotateX */
34
+ rotateX?: number;
35
+ /** Y 方向旋转,即 CSS transform rotateY */
36
+ rotateY?: number;
37
+ /** Z 方向旋转,即 CSS transform rotateZ */
38
+ rotateZ?: number;
39
+ /** 缩放,即 CSS transform scale */
40
+ scale?: number[];
41
+ /** 三维缩放,即 CSS transform scale3d */
42
+ scale3d?: number[];
43
+ /** X 方向缩放,即 CSS transform scaleX */
44
+ scaleX?: number;
45
+ /** Y 方向缩放,即 CSS transform scaleY */
46
+ scaleY?: number;
47
+ /** Z 方向缩放,即 CSS transform scaleZ */
48
+ scaleZ?: number;
49
+ /** 倾斜,即 CSS transform skew */
50
+ skew?: number[];
51
+ /** X 方向倾斜,即 CSS transform skewX */
52
+ skewX?: number;
53
+ /** Y 方向倾斜,即 CSS transform skewY */
54
+ skewY?: number;
55
+ /** 位移,即 CSS transform translate */
56
+ translate?: Array<number | string>;
57
+ /** 三维位移,即 CSS transform translate3d */
58
+ translate3d?: Array<number | string>;
59
+ /** X 方向位移,即 CSS transform translateX */
60
+ translateX?: number | string;
61
+ /** Y 方向位移,即 CSS transform translateY */
62
+ translateY?: number | string;
63
+ /** Z 方向位移,即 CSS transform translateZ */
64
+ translateZ?: number | string;
65
+ composite?: 'replace' | 'add' | 'accumulate' | 'auto';
66
+ easing?: string;
67
+ [property: string]: any;
68
+ }
69
+ /** @ignore */
70
+ interface ScrollTimelineOption {
71
+ /** 指定滚动元素的选择器(只支持 scroll-view),该元素滚动时会驱动动画的进度 */
72
+ scrollSource: string;
73
+ /** 指定滚动的方向。有效值为 horizontal 或 vertical */
74
+ orientation?: string;
75
+ /** 指定开始驱动动画进度的滚动偏移量,单位 px */
76
+ startScrollOffset: number;
77
+ /** 指定停止驱动动画进度的滚动偏移量,单位 px */
78
+ endScrollOffset: number;
79
+ /** 起始和结束的滚动范围映射的时间长度,该时间可用于与关键帧动画里的时间 (duration) 相匹配,单位 ms */
80
+ timeRange: number;
81
+ }
82
+
83
+ export type { KeyFrame, ScrollTimelineOption };
@@ -0,0 +1,6 @@
1
+ interface Attributes {
2
+ name: string;
3
+ value: string;
4
+ }
5
+
6
+ export type { Attributes };
@@ -0,0 +1,13 @@
1
+ interface EventListenerOptions {
2
+ capture?: boolean;
3
+ }
4
+ interface AddEventListenerOptions extends EventListenerOptions {
5
+ once?: boolean;
6
+ passive?: boolean;
7
+ }
8
+ interface EventHandler<T = any, R = void> {
9
+ (...args: T[]): R;
10
+ _stop?: boolean;
11
+ }
12
+
13
+ export type { AddEventListenerOptions, EventHandler, EventListenerOptions };
@@ -0,0 +1,16 @@
1
+ interface EventOptions {
2
+ bubbles: boolean;
3
+ cancelable: boolean;
4
+ }
5
+ type Target = Record<string, unknown> & {
6
+ dataset: Record<string, unknown>;
7
+ id: string;
8
+ };
9
+ interface MpEvent {
10
+ type: string;
11
+ detail: Record<string, unknown>;
12
+ target: Target;
13
+ currentTarget: Target;
14
+ }
15
+
16
+ export type { EventOptions, MpEvent };
@@ -0,0 +1,33 @@
1
+ import { Shortcuts } from '@tarojs/shared';
2
+ import { PageConfig } from './utils.js';
3
+
4
+ interface MpInstance {
5
+ config: PageConfig;
6
+ setData: (data: unknown, cb: () => void) => void;
7
+ route?: string;
8
+ __route__: string;
9
+ $taroParams?: Record<string, unknown>;
10
+ $taroPath: string;
11
+ __data__: any;
12
+ data: any;
13
+ exitState?: any;
14
+ selectComponent: (selector: string) => any;
15
+ __webviewId__?: number;
16
+ }
17
+ interface MiniElementData {
18
+ [Shortcuts.Childnodes]?: MiniData[];
19
+ [Shortcuts.NodeName]: string;
20
+ [Shortcuts.Class]?: string;
21
+ [Shortcuts.Style]?: string;
22
+ uid?: string;
23
+ sid: string;
24
+ [key: string]: unknown;
25
+ }
26
+ interface MiniTextData {
27
+ [Shortcuts.Text]: string;
28
+ [Shortcuts.NodeName]: string;
29
+ }
30
+ type MiniData = MiniElementData | MiniTextData;
31
+ type HydratedData = () => MiniData | MiniData[];
32
+
33
+ export type { HydratedData, MiniData, MiniElementData, MiniTextData, MpInstance };
@@ -0,0 +1,10 @@
1
+ import { HydratedData } from './hydrate.js';
2
+
3
+ type UpdatePayloadValue = string | boolean | HydratedData;
4
+ type DataTree = Record<string, UpdatePayloadValue | ReturnType<HydratedData>>;
5
+ interface UpdatePayload {
6
+ path: string;
7
+ value: UpdatePayloadValue;
8
+ }
9
+
10
+ export type { DataTree, UpdatePayload, UpdatePayloadValue };
@@ -0,0 +1,19 @@
1
+ import { TaroElement } from '../dom/element.js';
2
+ import { TaroText } from '../dom/text.js';
3
+ import { Text, Element } from '../dom-external/inner-html/parser.js';
4
+
5
+ interface Options {
6
+ prerender: boolean;
7
+ debug: boolean;
8
+ html?: {
9
+ skipElements: Set<string>;
10
+ voidElements: Set<string>;
11
+ closingElements: Set<string>;
12
+ transformText?: (taroText: TaroText, text: Text) => TaroText;
13
+ transformElement?: (taroElement: TaroElement, element: Element) => TaroElement;
14
+ renderHTMLTag: boolean;
15
+ };
16
+ miniGlobal?: any;
17
+ }
18
+
19
+ export type { Options };
@@ -0,0 +1,4 @@
1
+ type TFunc = (...args: any[]) => any;
2
+ type PageConfig = Record<string, any>;
3
+
4
+ export type { PageConfig, TFunc };
@@ -0,0 +1,5 @@
1
+ import { TFunc } from './interface/utils.js';
2
+
3
+ declare const nextTick: (cb: TFunc, ctx?: Record<string, any>) => void;
4
+
5
+ export { nextTick };
@@ -0,0 +1,47 @@
1
+ import { Current } from './current.js';
2
+ import env from './env.js';
3
+
4
+ const TIMEOUT = 100;
5
+ const nextTick = (cb, ctx) => {
6
+ const beginTime = Date.now();
7
+ const router = Current.router;
8
+ const timerFunc = () => {
9
+ setTimeout(function () {
10
+ ctx ? cb.call(ctx) : cb();
11
+ }, 1);
12
+ };
13
+ if (router === null)
14
+ return timerFunc();
15
+ const path = router.$taroPath;
16
+ /**
17
+ * 三种情况
18
+ * 1. 调用 nextTick 时,pendingUpdate 已经从 true 变为 false(即已更新完成),那么需要光等 100ms
19
+ * 2. 调用 nextTick 时,pendingUpdate 为 true,那么刚好可以搭上便车
20
+ * 3. 调用 nextTick 时,pendingUpdate 还是 false,框架仍未启动更新逻辑,这时最多轮询 100ms,等待 pendingUpdate 变为 true。
21
+ */
22
+ function next() {
23
+ var _a, _b, _c;
24
+ const pageElement = env.document.getElementById(path);
25
+ if (pageElement === null || pageElement === void 0 ? void 0 : pageElement.pendingUpdate) {
26
+ if (process.env.TARO_PLATFORM === 'web') {
27
+ // eslint-disable-next-line dot-notation
28
+ (_c = (_b = (_a = pageElement.firstChild) === null || _a === void 0 ? void 0 : _a['componentOnReady']) === null || _b === void 0 ? void 0 : _b.call(_a).then(() => {
29
+ timerFunc();
30
+ })) !== null && _c !== void 0 ? _c : timerFunc();
31
+ }
32
+ else {
33
+ pageElement.enqueueUpdateCallback(cb, ctx);
34
+ }
35
+ }
36
+ else if (Date.now() - beginTime > TIMEOUT) {
37
+ timerFunc();
38
+ }
39
+ else {
40
+ setTimeout(() => next(), 20);
41
+ }
42
+ }
43
+ next();
44
+ };
45
+
46
+ export { nextTick };
47
+ //# sourceMappingURL=next-tick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-tick.js","sources":["../../src/next-tick.ts"],"sourcesContent":["import { Current } from './current'\nimport { TaroRootElement } from './dom/root'\nimport env from './env'\n\nimport type { TFunc } from './interface'\n\nconst TIMEOUT = 100\n\nexport const nextTick = (cb: TFunc, ctx?: Record<string, any>) => {\n const beginTime = Date.now()\n const router = Current.router\n\n const timerFunc = () => {\n setTimeout(function () {\n ctx ? cb.call(ctx) : cb()\n }, 1)\n }\n\n if (router === null) return timerFunc()\n\n const path = router.$taroPath\n\n /**\n * 三种情况\n * 1. 调用 nextTick 时,pendingUpdate 已经从 true 变为 false(即已更新完成),那么需要光等 100ms\n * 2. 调用 nextTick 时,pendingUpdate 为 true,那么刚好可以搭上便车\n * 3. 调用 nextTick 时,pendingUpdate 还是 false,框架仍未启动更新逻辑,这时最多轮询 100ms,等待 pendingUpdate 变为 true。\n */\n function next () {\n const pageElement: TaroRootElement | null = env.document.getElementById<TaroRootElement>(path)\n if (pageElement?.pendingUpdate) {\n if (process.env.TARO_PLATFORM === 'web') {\n // eslint-disable-next-line dot-notation\n pageElement.firstChild?.['componentOnReady']?.().then(() => {\n timerFunc()\n }) ?? timerFunc()\n } else {\n pageElement.enqueueUpdateCallback(cb, ctx)\n }\n } else if (Date.now() - beginTime > TIMEOUT) {\n timerFunc()\n } else {\n setTimeout(() => next(), 20)\n }\n }\n\n next()\n}\n"],"names":[],"mappings":";;;AAMA,MAAM,OAAO,GAAG,GAAG;MAEN,QAAQ,GAAG,CAAC,EAAS,EAAE,GAAyB,KAAI;AAC/D,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE;AAC5B,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;IAE7B,MAAM,SAAS,GAAG,MAAK;AACrB,QAAA,UAAU,CAAC,YAAA;AACT,YAAA,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;SAC1B,EAAE,CAAC,CAAC;AACP,KAAC;IAED,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,EAAE;AAEvC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS;AAE7B;;;;;AAKG;AACH,IAAA,SAAS,IAAI,GAAA;;QACX,MAAM,WAAW,GAA2B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAkB,IAAI,CAAC;QAC9F,IAAI,WAAW,aAAX,WAAW,KAAA,MAAA,GAAA,MAAA,GAAX,WAAW,CAAE,aAAa,EAAE;YAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,EAAE;;AAEvC,gBAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,WAAW,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,kBAAkB,CAAC,MAAK,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,IAAI,CAAC,MAAK;AACzD,oBAAA,SAAS,EAAE;AACb,iBAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,SAAS,EAAE;;iBACZ;AACL,gBAAA,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,GAAG,CAAC;;;aAEvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE;AAC3C,YAAA,SAAS,EAAE;;aACN;YACL,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,CAAC;;;AAIhC,IAAA,IAAI,EAAE;AACR;;;;"}
@@ -0,0 +1,5 @@
1
+ import { Options } from './interface/options.js';
2
+
3
+ declare const options: Options;
4
+
5
+ export { options };
@@ -0,0 +1,7 @@
1
+ const options = {
2
+ prerender: true,
3
+ debug: false
4
+ };
5
+
6
+ export { options };
7
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sources":["../../src/options.ts"],"sourcesContent":["import type { Options } from './interface'\n\nexport const options: Options = {\n prerender: true,\n debug: false\n}\n"],"names":[],"mappings":"AAEa,MAAA,OAAO,GAAY;AAC9B,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE;;;;;"}
package/dist/perf.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ declare class Performance {
2
+ #private;
3
+ private recorder;
4
+ start(id: string): void;
5
+ stop(id: string, now?: number): void;
6
+ delayStop(id: string, delay?: number): ((...args: any[]) => void) | undefined;
7
+ }
8
+ declare const perf: Performance;
9
+
10
+ export { perf };
package/dist/perf.js ADDED
@@ -0,0 +1,49 @@
1
+ import { __classPrivateFieldGet } from 'tslib';
2
+ import { options } from './options.js';
3
+ import '@tarojs/shared';
4
+ import './constants/index.js';
5
+ import { debounce } from './utils/lodash.js';
6
+ import './bom/window.js';
7
+
8
+ var _Performance_instances, _Performance_parseTime;
9
+ class Performance {
10
+ constructor() {
11
+ _Performance_instances.add(this);
12
+ this.recorder = new Map();
13
+ }
14
+ start(id) {
15
+ if (!options.debug) {
16
+ return;
17
+ }
18
+ this.recorder.set(id, Date.now());
19
+ }
20
+ stop(id, now = Date.now()) {
21
+ if (!options.debug) {
22
+ return;
23
+ }
24
+ const prev = this.recorder.get(id);
25
+ if (!(prev >= 0))
26
+ return;
27
+ this.recorder.delete(id);
28
+ const time = now - prev;
29
+ // eslint-disable-next-line no-console
30
+ console.log(`${id} 时长: ${time}ms 开始时间:${__classPrivateFieldGet(this, _Performance_instances, "m", _Performance_parseTime).call(this, prev)} 结束时间:${__classPrivateFieldGet(this, _Performance_instances, "m", _Performance_parseTime).call(this, now)}`);
31
+ }
32
+ delayStop(id, delay = 500) {
33
+ if (!options.debug) {
34
+ return;
35
+ }
36
+ return debounce((now = Date.now(), cb) => {
37
+ this.stop(id, now);
38
+ cb === null || cb === void 0 ? void 0 : cb();
39
+ }, delay);
40
+ }
41
+ }
42
+ _Performance_instances = new WeakSet(), _Performance_parseTime = function _Performance_parseTime(time) {
43
+ const d = new Date(time);
44
+ return `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}.${`${d.getMilliseconds()}`.padStart(3, '0')}`;
45
+ };
46
+ const perf = new Performance();
47
+
48
+ export { perf };
49
+ //# sourceMappingURL=perf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perf.js","sources":["../../src/perf.ts"],"sourcesContent":["import { options } from './options'\nimport { debounce } from './utils'\n\nimport type { TFunc } from './interface'\n\nclass Performance {\n private recorder = new Map<string, number>()\n\n public start (id: string) {\n if (!options.debug) {\n return\n }\n this.recorder.set(id, Date.now())\n }\n\n public stop (id: string, now = Date.now()) {\n if (!options.debug) {\n return\n }\n const prev = this.recorder.get(id)!\n if (!(prev >= 0)) return\n\n this.recorder.delete(id)\n const time = now - prev\n // eslint-disable-next-line no-console\n console.log(`${id} 时长: ${time}ms 开始时间:${this.#parseTime(prev)} 结束时间:${this.#parseTime(now)}`)\n }\n\n public delayStop (id: string, delay = 500) {\n if (!options.debug) {\n return\n }\n\n return debounce((now = Date.now(), cb?: TFunc) => {\n this.stop(id, now)\n cb?.()\n }, delay)\n }\n\n #parseTime (time: number) {\n const d = new Date(time)\n return `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}.${`${d.getMilliseconds()}`.padStart(3, '0')}`\n }\n}\n\nexport const perf = new Performance()\n"],"names":[],"mappings":";;;;;;;;AAKA,MAAM,WAAW,CAAA;AAAjB,IAAA,WAAA,GAAA;;AACU,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAkB;;AAErC,IAAA,KAAK,CAAE,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB;;AAEF,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;;IAG5B,IAAI,CAAE,EAAU,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB;;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAE;AACnC,QAAA,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;YAAE;AAElB,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AACxB,QAAA,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI;;QAEvB,OAAO,CAAC,GAAG,CAAC,CAAG,EAAA,EAAE,CAAQ,KAAA,EAAA,IAAI,CAAW,QAAA,EAAA,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,EAAA,sBAAA,CAAW,CAAf,IAAA,CAAA,IAAI,EAAY,IAAI,CAAC,CAAA,MAAA,EAAS,sBAAA,CAAA,IAAI,EAAW,sBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,CAAA,IAAA,CAAf,IAAI,EAAY,GAAG,CAAC,CAAE,CAAA,CAAC;;AAGxF,IAAA,SAAS,CAAE,EAAU,EAAE,KAAK,GAAG,GAAG,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB;;AAGF,QAAA,OAAO,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAU,KAAI;AAC/C,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC;AAClB,YAAA,EAAE,KAAF,IAAA,IAAA,EAAE,KAAF,MAAA,GAAA,MAAA,GAAA,EAAE,EAAI;SACP,EAAE,KAAK,CAAC;;AAOZ;iGAJa,IAAY,EAAA;AACtB,IAAA,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AACxB,IAAA,OAAO,CAAG,EAAA,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,CAAC,CAAC,UAAU,EAAE,CAAI,CAAA,EAAA,CAAC,CAAC,UAAU,EAAE,CAAI,CAAA,EAAA,CAAA,EAAG,CAAC,CAAC,eAAe,EAAE,CAAE,CAAA,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAC3G,CAAC;AAGU,MAAA,IAAI,GAAG,IAAI,WAAW;;;;"}
@@ -0,0 +1,56 @@
1
+ import { isFunction } from '@tarojs/shared';
2
+
3
+ function handleArrayFindPolyfill() {
4
+ if (!isFunction(Array.prototype.find)) {
5
+ Object.defineProperty(Array.prototype, 'find', {
6
+ value(predicate) {
7
+ if (this == null) {
8
+ throw new TypeError('"this" is null or not defined');
9
+ }
10
+ const o = Object(this);
11
+ const len = o.length >>> 0;
12
+ if (!isFunction(predicate)) {
13
+ throw new TypeError('predicate must be a function');
14
+ }
15
+ const thisArg = arguments[1];
16
+ let k = 0;
17
+ while (k < len) {
18
+ const kValue = o[k];
19
+ if (predicate.call(thisArg, kValue, k, o)) {
20
+ return kValue;
21
+ }
22
+ k++;
23
+ }
24
+ return undefined;
25
+ }
26
+ });
27
+ }
28
+ }
29
+ function handleArrayIncludesPolyfill() {
30
+ if (!isFunction(Array.prototype.includes)) {
31
+ Object.defineProperty(Array.prototype, 'includes', {
32
+ value(searchElement, fromIndex) {
33
+ if (this == null) {
34
+ throw new TypeError('"this" is null or not defined');
35
+ }
36
+ const o = Object(this);
37
+ const len = o.length >>> 0;
38
+ if (len === 0) {
39
+ return false;
40
+ }
41
+ const n = fromIndex | 0;
42
+ let k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
43
+ while (k < len) {
44
+ if (o[k] === searchElement) {
45
+ return true;
46
+ }
47
+ k++;
48
+ }
49
+ return false;
50
+ }
51
+ });
52
+ }
53
+ }
54
+
55
+ export { handleArrayFindPolyfill, handleArrayIncludesPolyfill };
56
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sources":["../../../src/polyfill/array.ts"],"sourcesContent":["import { isFunction } from '@tarojs/shared'\n\nexport function handleArrayFindPolyfill () {\n if (!isFunction(Array.prototype.find)) {\n Object.defineProperty(Array.prototype, 'find', {\n value (predicate) {\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined')\n }\n const o = Object(this)\n const len = o.length >>> 0\n if (!isFunction(predicate)) {\n throw new TypeError('predicate must be a function')\n }\n const thisArg = arguments[1]\n let k = 0\n while (k < len) {\n const kValue = o[k]\n if (predicate.call(thisArg, kValue, k, o)) {\n return kValue\n }\n k++\n }\n return undefined\n }\n })\n }\n}\n\nexport function handleArrayIncludesPolyfill () {\n if (!isFunction(Array.prototype.includes)) {\n Object.defineProperty(Array.prototype, 'includes', {\n value (searchElement, fromIndex) {\n if (this == null) {\n throw new TypeError('\"this\" is null or not defined')\n }\n const o = Object(this)\n const len = o.length >>> 0\n if (len === 0) {\n return false\n }\n const n = fromIndex | 0\n let k = Math.max(n >= 0 ? n : len - Math.abs(n), 0)\n while (k < len) {\n if (o[k] === searchElement) {\n return true\n }\n k++\n }\n return false\n }\n })\n }\n}\n"],"names":[],"mappings":";;SAEgB,uBAAuB,GAAA;IACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACrC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE;AAC7C,YAAA,KAAK,CAAE,SAAS,EAAA;AACd,gBAAA,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,oBAAA,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC;;AAEtD,gBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;AACtB,gBAAA,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AAC1B,oBAAA,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC;;AAErD,gBAAA,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC;AACT,gBAAA,OAAO,CAAC,GAAG,GAAG,EAAE;AACd,oBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,oBAAA,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACzC,wBAAA,OAAO,MAAM;;AAEf,oBAAA,CAAC,EAAE;;AAEL,gBAAA,OAAO,SAAS;;AAEnB,SAAA,CAAC;;AAEN;SAEgB,2BAA2B,GAAA;IACzC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACzC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE;YACjD,KAAK,CAAE,aAAa,EAAE,SAAS,EAAA;AAC7B,gBAAA,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,oBAAA,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC;;AAEtD,gBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;AACtB,gBAAA,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;AAC1B,gBAAA,IAAI,GAAG,KAAK,CAAC,EAAE;AACb,oBAAA,OAAO,KAAK;;AAEd,gBAAA,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC;gBACvB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnD,gBAAA,OAAO,CAAC,GAAG,GAAG,EAAE;AACd,oBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;AAC1B,wBAAA,OAAO,IAAI;;AAEb,oBAAA,CAAC,EAAE;;AAEL,gBAAA,OAAO,KAAK;;AAEf,SAAA,CAAC;;AAEN;;;;"}
@@ -0,0 +1,3 @@
1
+ declare function handlePolyfill(): void;
2
+
3
+ export { handlePolyfill };
@@ -0,0 +1,34 @@
1
+ import { isObject } from '@tarojs/shared';
2
+ import { handleArrayFindPolyfill, handleArrayIncludesPolyfill } from './array.js';
3
+ import { handleIntersectionObserverPolyfill } from './intersection-observer.js';
4
+ import { handleObjectAssignPolyfill, handleObjectEntriesPolyfill, handleObjectDefinePropertyPolyfill } from './object.js';
5
+
6
+ function handlePolyfill() {
7
+ if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Object' || process.env.SUPPORT_TARO_POLYFILL === 'Object.assign') {
8
+ handleObjectAssignPolyfill();
9
+ }
10
+ if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Object' || process.env.SUPPORT_TARO_POLYFILL === 'Object.entries') {
11
+ handleObjectEntriesPolyfill();
12
+ }
13
+ if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Object' || process.env.SUPPORT_TARO_POLYFILL === 'Object.defineProperty') {
14
+ handleObjectDefinePropertyPolyfill();
15
+ }
16
+ if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Array' || process.env.SUPPORT_TARO_POLYFILL === 'Array.find') {
17
+ handleArrayFindPolyfill();
18
+ }
19
+ if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Array' || process.env.SUPPORT_TARO_POLYFILL === 'Array.includes') {
20
+ handleArrayIncludesPolyfill();
21
+ }
22
+ // Exit early if we're not running in a browser.
23
+ if (process.env.TARO_PLATFORM === 'web' && isObject(window)) {
24
+ if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'IntersectionObserver') {
25
+ handleIntersectionObserverPolyfill();
26
+ }
27
+ }
28
+ }
29
+ if (process.env.SUPPORT_TARO_POLYFILL !== 'disabled' && process.env.TARO_PLATFORM !== 'web') {
30
+ handlePolyfill();
31
+ }
32
+
33
+ export { handlePolyfill };
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/polyfill/index.ts"],"sourcesContent":["import { isObject } from '@tarojs/shared'\n\nimport { handleArrayFindPolyfill, handleArrayIncludesPolyfill } from './array'\nimport { handleIntersectionObserverPolyfill } from './intersection-observer'\nimport { handleObjectAssignPolyfill, handleObjectDefinePropertyPolyfill, handleObjectEntriesPolyfill } from './object'\n\nfunction handlePolyfill () {\n if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Object' || process.env.SUPPORT_TARO_POLYFILL === 'Object.assign') {\n handleObjectAssignPolyfill()\n }\n if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Object' || process.env.SUPPORT_TARO_POLYFILL === 'Object.entries') {\n handleObjectEntriesPolyfill()\n }\n if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Object' || process.env.SUPPORT_TARO_POLYFILL === 'Object.defineProperty') {\n handleObjectDefinePropertyPolyfill()\n }\n if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Array' || process.env.SUPPORT_TARO_POLYFILL === 'Array.find') {\n handleArrayFindPolyfill()\n }\n if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'Array' || process.env.SUPPORT_TARO_POLYFILL === 'Array.includes') {\n handleArrayIncludesPolyfill()\n }\n // Exit early if we're not running in a browser.\n if (process.env.TARO_PLATFORM === 'web' && isObject(window)) {\n if (process.env.SUPPORT_TARO_POLYFILL === 'enabled' || process.env.SUPPORT_TARO_POLYFILL === 'IntersectionObserver') {\n handleIntersectionObserverPolyfill()\n }\n }\n}\n\nif (process.env.SUPPORT_TARO_POLYFILL !== 'disabled' && process.env.TARO_PLATFORM !== 'web') {\n handlePolyfill()\n}\n\nexport { handlePolyfill }\n\n"],"names":[],"mappings":";;;;;AAMA,SAAS,cAAc,GAAA;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,eAAe,EAAE;AAC9J,QAAA,0BAA0B,EAAE;;IAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,gBAAgB,EAAE;AAC/J,QAAA,2BAA2B,EAAE;;IAE/B,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,uBAAuB,EAAE;AACtK,QAAA,kCAAkC,EAAE;;IAEtC,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,YAAY,EAAE;AAC1J,QAAA,uBAAuB,EAAE;;IAE3B,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,gBAAgB,EAAE;AAC9J,QAAA,2BAA2B,EAAE;;;AAG/B,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3D,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,sBAAsB,EAAE;AACnH,YAAA,kCAAkC,EAAE;;;AAG1C;AAEA,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,EAAE;AAC3F,IAAA,cAAc,EAAE;AAClB;;;;"}