@tarojs/runtime 4.0.0-canary.8 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +17 -3
  2. package/dist/bom/URL.d.ts +54 -0
  3. package/dist/bom/URL.js +221 -0
  4. package/dist/bom/URL.js.map +1 -0
  5. package/dist/bom/URLSearchParams.d.ts +2 -0
  6. package/dist/bom/URLSearchParams.js +131 -0
  7. package/dist/bom/URLSearchParams.js.map +1 -0
  8. package/dist/bom/document.d.ts +3 -0
  9. package/dist/bom/document.js +39 -0
  10. package/dist/bom/document.js.map +1 -0
  11. package/dist/bom/getComputedStyle.d.ts +5 -0
  12. package/dist/bom/getComputedStyle.js +8 -0
  13. package/dist/bom/getComputedStyle.js.map +1 -0
  14. package/dist/bom/history.d.ts +32 -0
  15. package/dist/bom/history.js +121 -0
  16. package/dist/bom/history.js.map +1 -0
  17. package/dist/bom/location.d.ts +39 -0
  18. package/dist/bom/location.js +240 -0
  19. package/dist/bom/location.js.map +1 -0
  20. package/dist/bom/navigator.d.ts +2 -0
  21. package/dist/bom/navigator.js +24 -0
  22. package/dist/bom/navigator.js.map +1 -0
  23. package/dist/bom/raf.d.ts +5 -0
  24. package/dist/bom/raf.js +33 -0
  25. package/dist/bom/raf.js.map +1 -0
  26. package/dist/bom/window.d.ts +26 -0
  27. package/dist/bom/window.js +92 -0
  28. package/dist/bom/window.js.map +1 -0
  29. package/dist/constants/index.d.ts +60 -0
  30. package/dist/constants/index.js +63 -0
  31. package/dist/constants/index.js.map +1 -0
  32. package/dist/current.d.ts +19 -0
  33. package/dist/current.js +9 -0
  34. package/dist/current.js.map +1 -0
  35. package/dist/dom/anchor-element.d.ts +14 -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 +17 -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 +25 -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 +40 -0
  45. package/dist/dom/element.js +315 -0
  46. package/dist/dom/element.js.map +1 -0
  47. package/dist/dom/event-source.d.ts +7 -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 +8 -0
  51. package/dist/dom/event-target.js +78 -0
  52. package/dist/dom/event-target.js.map +1 -0
  53. package/dist/dom/event.d.ts +24 -0
  54. package/dist/dom/event.js +152 -0
  55. package/dist/dom/event.js.map +1 -0
  56. package/dist/dom/form.d.ts +10 -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 +107 -0
  60. package/dist/dom/node.js +292 -0
  61. package/dist/dom/node.js.map +1 -0
  62. package/dist/dom/root.d.ts +16 -0
  63. package/dist/dom/root.js +169 -0
  64. package/dist/dom/root.js.map +1 -0
  65. package/dist/dom/style.d.ts +15 -0
  66. package/dist/dom/style.js +168 -0
  67. package/dist/dom/style.js.map +1 -0
  68. package/dist/dom/style_properties.d.ts +3 -0
  69. package/dist/dom/style_properties.js +186 -0
  70. package/dist/dom/style_properties.js.map +1 -0
  71. package/dist/dom/svg.d.ts +4 -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 +15 -0
  75. package/dist/dom/text.js +41 -0
  76. package/dist/dom/text.js.map +1 -0
  77. package/dist/dom/transfer.d.ts +8 -0
  78. package/dist/dom/transfer.js +15 -0
  79. package/dist/dom/transfer.js.map +1 -0
  80. package/dist/dom/tree.d.ts +4 -0
  81. package/dist/dom/tree.js +38 -0
  82. package/dist/dom/tree.js.map +1 -0
  83. package/dist/dom-external/element.d.ts +4 -0
  84. package/dist/dom-external/element.js +29 -0
  85. package/dist/dom-external/element.js.map +1 -0
  86. package/dist/dom-external/index.d.ts +1 -0
  87. package/dist/dom-external/index.js +38 -0
  88. package/dist/dom-external/index.js.map +1 -0
  89. package/dist/dom-external/inner-html/html.d.ts +3 -0
  90. package/dist/dom-external/inner-html/html.js +28 -0
  91. package/dist/dom-external/inner-html/html.js.map +1 -0
  92. package/dist/dom-external/inner-html/parser.d.ts +25 -0
  93. package/dist/dom-external/inner-html/parser.js +216 -0
  94. package/dist/dom-external/inner-html/parser.js.map +1 -0
  95. package/dist/dom-external/inner-html/scaner.d.ts +30 -0
  96. package/dist/dom-external/inner-html/scaner.js +304 -0
  97. package/dist/dom-external/inner-html/scaner.js.map +1 -0
  98. package/dist/dom-external/inner-html/style.d.ts +27 -0
  99. package/dist/dom-external/inner-html/style.js +235 -0
  100. package/dist/dom-external/inner-html/style.js.map +1 -0
  101. package/dist/dom-external/inner-html/tags.d.ts +9 -0
  102. package/dist/dom-external/inner-html/tags.js +26 -0
  103. package/dist/dom-external/inner-html/tags.js.map +1 -0
  104. package/dist/dom-external/inner-html/utils.d.ts +2 -0
  105. package/dist/dom-external/inner-html/utils.js +12 -0
  106. package/dist/dom-external/inner-html/utils.js.map +1 -0
  107. package/dist/dom-external/mutation-observer/implements.d.ts +71 -0
  108. package/dist/dom-external/mutation-observer/implements.js +108 -0
  109. package/dist/dom-external/mutation-observer/implements.js.map +1 -0
  110. package/dist/dom-external/mutation-observer/index.d.ts +12 -0
  111. package/dist/dom-external/mutation-observer/index.js +35 -0
  112. package/dist/dom-external/mutation-observer/index.js.map +1 -0
  113. package/dist/dom-external/node.d.ts +12 -0
  114. package/dist/dom-external/node.js +75 -0
  115. package/dist/dom-external/node.js.map +1 -0
  116. package/dist/dsl/common.d.ts +16 -0
  117. package/dist/dsl/common.js +337 -0
  118. package/dist/dsl/common.js.map +1 -0
  119. package/dist/emitter/emitter.d.ts +4 -0
  120. package/dist/emitter/emitter.js +7 -0
  121. package/dist/emitter/emitter.js.map +1 -0
  122. package/dist/env.d.ts +7 -0
  123. package/dist/env.js +9 -0
  124. package/dist/env.js.map +1 -0
  125. package/dist/hydrate.d.ts +11 -0
  126. package/dist/hydrate.js +91 -0
  127. package/dist/hydrate.js.map +1 -0
  128. package/dist/index-26658829.d.ts +23 -0
  129. package/dist/{runtime.cjs.d.ts → index.cjs.d.ts} +108 -102
  130. package/dist/{runtime.h5.js → index.cjs.js} +4301 -2495
  131. package/dist/index.cjs.js.map +1 -0
  132. package/dist/index.d.ts +34 -0
  133. package/dist/index.js +35 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/instance-4c64b022.d.ts +85 -0
  136. package/dist/next-tick.d.ts +3 -0
  137. package/dist/next-tick.js +47 -0
  138. package/dist/next-tick.js.map +1 -0
  139. package/dist/node_types-9ac5b4dd.d.ts +11 -0
  140. package/dist/options-4c64b022.d.ts +17 -0
  141. package/dist/options.d.ts +3 -0
  142. package/dist/options.js +7 -0
  143. package/dist/options.js.map +1 -0
  144. package/dist/perf.d.ts +9 -0
  145. package/dist/perf.js +49 -0
  146. package/dist/perf.js.map +1 -0
  147. package/dist/polyfill/array.d.ts +3 -0
  148. package/dist/polyfill/array.js +56 -0
  149. package/dist/polyfill/array.js.map +1 -0
  150. package/dist/polyfill/index.d.ts +2 -0
  151. package/dist/polyfill/index.js +34 -0
  152. package/dist/polyfill/index.js.map +1 -0
  153. package/dist/polyfill/intersection-observer.d.ts +2 -0
  154. package/dist/polyfill/intersection-observer.js +600 -0
  155. package/dist/polyfill/intersection-observer.js.map +1 -0
  156. package/dist/polyfill/object.d.ts +4 -0
  157. package/dist/polyfill/object.js +102 -0
  158. package/dist/polyfill/object.js.map +1 -0
  159. package/dist/record-32b054d8.d.ts +25 -0
  160. package/dist/runtime.esm.d.ts +108 -102
  161. package/dist/runtime.esm.js +4126 -3320
  162. package/dist/runtime.esm.js.map +1 -1
  163. package/dist/utils/cache.d.ts +13 -0
  164. package/dist/utils/cache.js +27 -0
  165. package/dist/utils/cache.js.map +1 -0
  166. package/dist/utils/index.d.ts +26 -0
  167. package/dist/utils/index.js +99 -0
  168. package/dist/utils/index.js.map +1 -0
  169. package/dist/utils/lodash.d.ts +3 -0
  170. package/dist/utils/lodash.js +32 -0
  171. package/dist/utils/lodash.js.map +1 -0
  172. package/dist/utils/router.d.ts +8 -0
  173. package/dist/utils/router.js +24 -0
  174. package/dist/utils/router.js.map +1 -0
  175. package/package.json +23 -26
  176. package/dist/runtime.cjs.js +0 -4628
  177. package/dist/runtime.h5.d.ts +0 -800
package/LICENSE CHANGED
@@ -154,7 +154,21 @@ See `/LICENSE` for details of the license.
154
154
 
155
155
  ==================
156
156
 
157
- MIT (stencil-vue2-output-target):
158
- The following files embed [stencil-vue2-output-target](https://github.com/diondree/stencil-vue2-output-target) MIT:
159
- `/packages/taro-components-library-vue2/src/vue-component-lib/utils.ts`
157
+ MIT (weui):
158
+ The following files embed [weui](https://github.com/Tencent/weui) MIT:
159
+ `/packages/taro-components/src/components/*.scss`
160
+ See `/LICENSE.txt` for details of the license.
161
+
162
+ ==================
163
+
164
+ Apache-2.0 (intersection-observer):
165
+ The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
166
+ `/packages/taro-api/src/polyfill/intersection-observer.ts`
167
+ See `/LICENSE.txt` for details of the license.
168
+
169
+ ==================
170
+
171
+ MIT (babel-plugin-jsx-dom-expressions):
172
+ The following files embed [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/blob/main/packages/babel-plugin-jsx-dom-expressions) MIT:
173
+ `/packages/babel-plugin-transform-solid-jsx/src/*`
160
174
  See `/LICENSE` for details of the license.
@@ -0,0 +1,54 @@
1
+ declare class TaroURL {
2
+ #private;
3
+ static createObjectURL(): void;
4
+ static revokeObjectURL(): void;
5
+ constructor(url: string, base?: string);
6
+ get protocol(): string;
7
+ set protocol(val: string);
8
+ get host(): string;
9
+ set host(val: string);
10
+ get hostname(): string;
11
+ set hostname(val: string);
12
+ get port(): string;
13
+ set port(val: string);
14
+ get pathname(): string;
15
+ set pathname(val: string);
16
+ get search(): string;
17
+ set search(val: string);
18
+ get hash(): string;
19
+ set hash(val: string);
20
+ get href(): string;
21
+ set href(val: string);
22
+ get origin(): string;
23
+ set origin(val: string);
24
+ get searchParams(): URLSearchParams;
25
+ // public method
26
+ toString(): string;
27
+ toJSON(): string;
28
+ // convenient for deconstructor
29
+ _toRaw(): {
30
+ protocol: string;
31
+ port: string;
32
+ host: string;
33
+ hostname: string;
34
+ pathname: string;
35
+ hash: string;
36
+ search: string;
37
+ origin: string;
38
+ href: string;
39
+ };
40
+ }
41
+ declare const URL: typeof TaroURL;
42
+ declare function parseUrl(url?: string): {
43
+ href: string;
44
+ origin: string;
45
+ protocol: string;
46
+ hostname: string;
47
+ host: string;
48
+ port: string;
49
+ pathname: string;
50
+ search: string;
51
+ hash: string;
52
+ };
53
+ export type { TaroURL };
54
+ export { URL, parseUrl };
@@ -0,0 +1,221 @@
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
2
+ import { isString, isUndefined } from '@tarojs/shared';
3
+ import env from '../env.js';
4
+ import { URLSearchParams } from './URLSearchParams.js';
5
+
6
+ var _TaroURL_hash, _TaroURL_hostname, _TaroURL_pathname, _TaroURL_port, _TaroURL_protocol, _TaroURL_search;
7
+ class TaroURL {
8
+ static createObjectURL() {
9
+ throw new Error('Oops, not support URL.createObjectURL() in miniprogram.');
10
+ }
11
+ static revokeObjectURL() {
12
+ throw new Error('Oops, not support URL.revokeObjectURL() in miniprogram.');
13
+ }
14
+ constructor(url, base) {
15
+ /* private property */
16
+ _TaroURL_hash.set(this, '');
17
+ _TaroURL_hostname.set(this, '');
18
+ _TaroURL_pathname.set(this, '');
19
+ _TaroURL_port.set(this, '');
20
+ _TaroURL_protocol.set(this, '');
21
+ _TaroURL_search.set(this, void 0);
22
+ if (!isString(url))
23
+ url = String(url);
24
+ const parseResult = parseUrlBase(url, base);
25
+ const { hash, hostname, pathname, port, protocol, search } = parseResult;
26
+ __classPrivateFieldSet(this, _TaroURL_hash, hash, "f");
27
+ __classPrivateFieldSet(this, _TaroURL_hostname, hostname, "f");
28
+ __classPrivateFieldSet(this, _TaroURL_pathname, pathname || '/', "f");
29
+ __classPrivateFieldSet(this, _TaroURL_port, port, "f");
30
+ __classPrivateFieldSet(this, _TaroURL_protocol, protocol, "f");
31
+ __classPrivateFieldSet(this, _TaroURL_search, new URLSearchParams(search), "f");
32
+ }
33
+ /* public property */
34
+ get protocol() {
35
+ return __classPrivateFieldGet(this, _TaroURL_protocol, "f");
36
+ }
37
+ set protocol(val) {
38
+ isString(val) && (__classPrivateFieldSet(this, _TaroURL_protocol, val.trim(), "f"));
39
+ }
40
+ get host() {
41
+ return this.hostname + (this.port ? ':' + this.port : '');
42
+ }
43
+ set host(val) {
44
+ if (val && isString(val)) {
45
+ val = val.trim();
46
+ const { hostname, port } = parseUrl(`//${val}`);
47
+ this.hostname = hostname;
48
+ this.port = port;
49
+ }
50
+ }
51
+ get hostname() {
52
+ return __classPrivateFieldGet(this, _TaroURL_hostname, "f");
53
+ }
54
+ set hostname(val) {
55
+ val && isString(val) && (__classPrivateFieldSet(this, _TaroURL_hostname, val.trim(), "f"));
56
+ }
57
+ get port() {
58
+ return __classPrivateFieldGet(this, _TaroURL_port, "f");
59
+ }
60
+ set port(val) {
61
+ isString(val) && (__classPrivateFieldSet(this, _TaroURL_port, val.trim(), "f"));
62
+ }
63
+ get pathname() {
64
+ return __classPrivateFieldGet(this, _TaroURL_pathname, "f");
65
+ }
66
+ set pathname(val) {
67
+ if (isString(val)) {
68
+ val = val.trim();
69
+ const HEAD_REG = /^(\/|\.\/|\.\.\/)/;
70
+ let temp = val;
71
+ while (HEAD_REG.test(temp)) {
72
+ temp = temp.replace(HEAD_REG, '');
73
+ }
74
+ if (temp)
75
+ __classPrivateFieldSet(this, _TaroURL_pathname, '/' + temp, "f");
76
+ else
77
+ __classPrivateFieldSet(this, _TaroURL_pathname, '/', "f");
78
+ }
79
+ }
80
+ get search() {
81
+ const val = __classPrivateFieldGet(this, _TaroURL_search, "f").toString();
82
+ return (val.length === 0 || val.startsWith('?')) ? val : `?${val}`;
83
+ }
84
+ set search(val) {
85
+ if (isString(val)) {
86
+ val = val.trim();
87
+ __classPrivateFieldSet(this, _TaroURL_search, new URLSearchParams(val), "f");
88
+ }
89
+ }
90
+ get hash() {
91
+ return __classPrivateFieldGet(this, _TaroURL_hash, "f");
92
+ }
93
+ set hash(val) {
94
+ if (isString(val)) {
95
+ val = val.trim();
96
+ if (val)
97
+ __classPrivateFieldSet(this, _TaroURL_hash, val.startsWith('#') ? val : `#${val}`, "f");
98
+ else
99
+ __classPrivateFieldSet(this, _TaroURL_hash, '', "f");
100
+ }
101
+ }
102
+ get href() {
103
+ return `${this.protocol}//${this.host}${this.pathname}${this.search}${this.hash}`;
104
+ }
105
+ set href(val) {
106
+ if (val && isString(val)) {
107
+ val = val.trim();
108
+ const { protocol, hostname, port, hash, search, pathname } = parseUrl(val);
109
+ this.protocol = protocol;
110
+ this.hostname = hostname;
111
+ this.pathname = pathname;
112
+ this.port = port;
113
+ this.hash = hash;
114
+ this.search = search;
115
+ }
116
+ }
117
+ get origin() {
118
+ return `${this.protocol}//${this.host}`;
119
+ }
120
+ set origin(val) {
121
+ if (val && isString(val)) {
122
+ val = val.trim();
123
+ const { protocol, hostname, port } = parseUrl(val);
124
+ this.protocol = protocol;
125
+ this.hostname = hostname;
126
+ this.port = port;
127
+ }
128
+ }
129
+ get searchParams() {
130
+ return __classPrivateFieldGet(this, _TaroURL_search, "f");
131
+ }
132
+ // public method
133
+ toString() {
134
+ return this.href;
135
+ }
136
+ toJSON() {
137
+ return this.toString();
138
+ }
139
+ // convenient for deconstructor
140
+ _toRaw() {
141
+ return {
142
+ protocol: this.protocol,
143
+ port: this.port,
144
+ host: this.host,
145
+ hostname: this.hostname,
146
+ pathname: this.pathname,
147
+ hash: this.hash,
148
+ search: this.search,
149
+ origin: this.origin,
150
+ href: this.href,
151
+ };
152
+ }
153
+ }
154
+ _TaroURL_hash = new WeakMap(), _TaroURL_hostname = new WeakMap(), _TaroURL_pathname = new WeakMap(), _TaroURL_port = new WeakMap(), _TaroURL_protocol = new WeakMap(), _TaroURL_search = new WeakMap();
155
+ const URL = process.env.TARO_PLATFORM === 'web' ? env.window.URL : TaroURL;
156
+ function parseUrl(url = '') {
157
+ const result = {
158
+ href: '',
159
+ origin: '',
160
+ protocol: '',
161
+ hostname: '',
162
+ host: '',
163
+ port: '',
164
+ pathname: '',
165
+ search: '',
166
+ hash: ''
167
+ };
168
+ if (!url || !isString(url))
169
+ return result;
170
+ url = url.trim();
171
+ const PATTERN = /^(([^:/?#]+):)?\/\/(([^/?#]+):(.+)@)?([^/?#:]*)(:(\d+))?([^?#]*)(\?([^#]*))?(#(.*))?/;
172
+ const matches = url.match(PATTERN);
173
+ if (!matches)
174
+ return result;
175
+ // TODO: username & password ?
176
+ result.protocol = matches[1] || 'https:';
177
+ result.hostname = matches[6] || 'taro.com';
178
+ result.port = matches[8] || '';
179
+ result.pathname = matches[9] || '/';
180
+ result.search = matches[10] || '';
181
+ result.hash = matches[12] || '';
182
+ result.href = url;
183
+ result.origin = result.protocol + '//' + result.hostname;
184
+ result.host = result.hostname + (result.port ? `:${result.port}` : '');
185
+ return result;
186
+ }
187
+ function parseUrlBase(url, base) {
188
+ const VALID_URL = /^(https?:)\/\//i;
189
+ let fullUrl = '';
190
+ let parsedBase = null;
191
+ if (!isUndefined(base)) {
192
+ base = String(base).trim();
193
+ if (!VALID_URL.test(base))
194
+ throw new TypeError(`Failed to construct 'URL': Invalid base URL`);
195
+ parsedBase = parseUrl(base);
196
+ }
197
+ url = String(url).trim();
198
+ if (VALID_URL.test(url)) {
199
+ fullUrl = url;
200
+ }
201
+ else if (parsedBase) {
202
+ if (url) {
203
+ if (url.startsWith('//')) {
204
+ fullUrl = parsedBase.protocol + url;
205
+ }
206
+ else {
207
+ fullUrl = parsedBase.origin + (url.startsWith('/') ? url : `/${url}`);
208
+ }
209
+ }
210
+ else {
211
+ fullUrl = parsedBase.href;
212
+ }
213
+ }
214
+ else {
215
+ throw new TypeError(`Failed to construct 'URL': Invalid URL`);
216
+ }
217
+ return parseUrl(fullUrl);
218
+ }
219
+
220
+ export { URL, parseUrl };
221
+ //# sourceMappingURL=URL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URL.js","sources":["../../src/bom/URL.ts"],"sourcesContent":["import { isString, isUndefined } from '@tarojs/shared'\n\nimport env from '../env'\nimport { URLSearchParams } from './URLSearchParams'\n\nclass TaroURL {\n static createObjectURL () {\n throw new Error('Oops, not support URL.createObjectURL() in miniprogram.')\n }\n\n static revokeObjectURL () {\n throw new Error('Oops, not support URL.revokeObjectURL() in miniprogram.')\n }\n\n /* private property */\n #hash = ''\n #hostname = ''\n #pathname = ''\n #port = ''\n #protocol = ''\n #search: URLSearchParams\n\n constructor (url: string, base?: string) {\n if (!isString(url)) url = String(url)\n\n const parseResult = parseUrlBase(url, base)\n const { hash, hostname, pathname, port, protocol, search } = parseResult\n\n this.#hash = hash\n this.#hostname = hostname\n this.#pathname = pathname || '/'\n this.#port = port\n this.#protocol = protocol\n this.#search = new URLSearchParams(search)\n }\n\n /* public property */\n get protocol () {\n return this.#protocol\n }\n\n set protocol (val: string) {\n isString(val) && (this.#protocol = val.trim())\n }\n\n get host () {\n return this.hostname + (this.port ? ':' + this.port : '')\n }\n\n set host (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { hostname, port } = parseUrl(`//${val}`)\n this.hostname = hostname\n this.port = port\n }\n }\n\n get hostname () {\n return this.#hostname\n }\n\n set hostname (val: string) {\n val && isString(val) && (this.#hostname = val.trim())\n }\n\n get port () {\n return this.#port\n }\n\n set port (val: string) {\n isString(val) && (this.#port = val.trim())\n }\n\n get pathname () {\n return this.#pathname\n }\n\n set pathname (val: string) {\n if (isString(val)) {\n val = val.trim()\n const HEAD_REG = /^(\\/|\\.\\/|\\.\\.\\/)/\n let temp = val\n while (HEAD_REG.test(temp)) {\n temp = temp.replace(HEAD_REG, '')\n }\n if (temp) this.#pathname = '/' + temp\n else this.#pathname = '/'\n }\n }\n\n get search () {\n const val = this.#search.toString()\n return (val.length === 0 || val.startsWith('?')) ? val : `?${val}`\n }\n\n set search (val: string) {\n if (isString(val)) {\n val = val.trim()\n this.#search = new URLSearchParams(val)\n }\n }\n\n get hash () {\n return this.#hash\n }\n\n set hash (val: string) {\n if (isString(val)) {\n val = val.trim()\n if (val) this.#hash = val.startsWith('#') ? val : `#${val}`\n else this.#hash = ''\n }\n }\n\n get href () {\n return `${this.protocol}//${this.host}${this.pathname}${this.search}${this.hash}`\n }\n\n set href (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { protocol, hostname, port, hash, search, pathname } = parseUrl(val)\n this.protocol = protocol\n this.hostname = hostname\n this.pathname = pathname\n this.port = port\n this.hash = hash\n this.search = search\n }\n }\n\n get origin () {\n return `${this.protocol}//${this.host}`\n }\n\n set origin (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { protocol, hostname, port } = parseUrl(val)\n this.protocol = protocol\n this.hostname = hostname\n this.port = port\n }\n }\n\n get searchParams () {\n return this.#search\n }\n\n // public method\n toString () {\n return this.href\n }\n\n toJSON () {\n return this.toString()\n }\n\n // convenient for deconstructor\n _toRaw () {\n return {\n protocol: this.protocol,\n port: this.port,\n host: this.host,\n hostname: this.hostname,\n pathname: this.pathname,\n hash: this.hash,\n search: this.search,\n origin: this.origin,\n href: this.href,\n }\n }\n}\n\nexport type { TaroURL }\nexport const URL: typeof TaroURL = process.env.TARO_PLATFORM === 'web' ? env.window.URL : TaroURL\n\nexport function parseUrl (url = '') {\n const result = {\n href: '',\n origin: '',\n protocol: '',\n hostname: '',\n host: '',\n port: '',\n pathname: '',\n search: '',\n hash: ''\n }\n if (!url || !isString(url)) return result\n\n url = url.trim()\n const PATTERN = /^(([^:/?#]+):)?\\/\\/(([^/?#]+):(.+)@)?([^/?#:]*)(:(\\d+))?([^?#]*)(\\?([^#]*))?(#(.*))?/\n const matches = url.match(PATTERN)\n\n if (!matches) return result\n\n // TODO: username & password ?\n result.protocol = matches[1] || 'https:'\n result.hostname = matches[6] || 'taro.com'\n result.port = matches[8] || ''\n result.pathname = matches[9] || '/'\n result.search = matches[10] || ''\n result.hash = matches[12] || ''\n result.href = url\n result.origin = result.protocol + '//' + result.hostname\n result.host = result.hostname + (result.port ? `:${result.port}` : '')\n\n return result\n}\n\nfunction parseUrlBase (url: string, base?: string) {\n const VALID_URL = /^(https?:)\\/\\//i\n\n let fullUrl = ''\n let parsedBase: ReturnType<typeof parseUrl> | null = null\n\n if (!isUndefined(base)) {\n base = String(base).trim()\n if (!VALID_URL.test(base)) throw new TypeError(`Failed to construct 'URL': Invalid base URL`)\n parsedBase = parseUrl(base)\n }\n\n url = String(url).trim()\n\n if (VALID_URL.test(url)) {\n fullUrl = url\n } else if (parsedBase) {\n if (url) {\n if (url.startsWith('//')) {\n fullUrl = parsedBase.protocol + url\n } else {\n fullUrl = parsedBase.origin + (url.startsWith('/') ? url : `/${url}`)\n }\n } else {\n fullUrl = parsedBase.href\n }\n } else {\n throw new TypeError(`Failed to construct 'URL': Invalid URL`)\n }\n\n return parseUrl(fullUrl)\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ declare const URLSearchParams: any;
2
+ export { URLSearchParams };
@@ -0,0 +1,131 @@
1
+ import { __classPrivateFieldGet } from 'tslib';
2
+ import { isArray } from '@tarojs/shared';
3
+ import env from '../env.js';
4
+
5
+ var _dict, _a;
6
+ const findReg = /[!'()~]|%20|%00/g;
7
+ const plusReg = /\+/g;
8
+ const replaceCharMap = {
9
+ '!': '%21',
10
+ "'": '%27',
11
+ '(': '%28',
12
+ ')': '%29',
13
+ '~': '%7E',
14
+ '%20': '+',
15
+ '%00': '\x00',
16
+ };
17
+ function replacer(match) {
18
+ return replaceCharMap[match];
19
+ }
20
+ function appendTo(dict, name, value) {
21
+ const res = isArray(value) ? value.join(',') : value;
22
+ if (name in dict)
23
+ dict[name].push(res);
24
+ else
25
+ dict[name] = [res];
26
+ }
27
+ function addEach(value, key) {
28
+ appendTo(this, key, value);
29
+ }
30
+ function decode(str) {
31
+ return decodeURIComponent(str.replace(plusReg, ' '));
32
+ }
33
+ function encode(str) {
34
+ return encodeURIComponent(str).replace(findReg, replacer);
35
+ }
36
+ const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.URLSearchParams : (_a = class {
37
+ constructor(query) {
38
+ _dict.set(this, Object.create(null));
39
+ query !== null && query !== void 0 ? query : (query = '');
40
+ const dict = __classPrivateFieldGet(this, _dict, "f");
41
+ if (typeof query === 'string') {
42
+ if (query.charAt(0) === '?') {
43
+ query = query.slice(1);
44
+ }
45
+ for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {
46
+ const value = pairs[i];
47
+ const index = value.indexOf('=');
48
+ // 针对不规范的 url 参数做容错处理,如:word=你%好
49
+ try {
50
+ if (index > -1) {
51
+ appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));
52
+ }
53
+ else if (value.length) {
54
+ appendTo(dict, decode(value), '');
55
+ }
56
+ }
57
+ catch (err) {
58
+ if (process.env.NODE_ENV !== 'production') {
59
+ console.warn(`[Taro warn] URL 参数 ${value} decode 异常`);
60
+ }
61
+ }
62
+ }
63
+ }
64
+ else {
65
+ if (isArray(query)) {
66
+ for (let i = 0, length = query.length; i < length; i++) {
67
+ const value = query[i];
68
+ appendTo(dict, value[0], value[1]);
69
+ }
70
+ }
71
+ else if (query.forEach) {
72
+ query.forEach(addEach, dict);
73
+ }
74
+ else {
75
+ for (const key in query) {
76
+ appendTo(dict, key, query[key]);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ append(name, value) {
82
+ appendTo(__classPrivateFieldGet(this, _dict, "f"), name, value);
83
+ }
84
+ delete(name) {
85
+ delete __classPrivateFieldGet(this, _dict, "f")[name];
86
+ }
87
+ get(name) {
88
+ const dict = __classPrivateFieldGet(this, _dict, "f");
89
+ return name in dict ? dict[name][0] : null;
90
+ }
91
+ getAll(name) {
92
+ const dict = __classPrivateFieldGet(this, _dict, "f");
93
+ return name in dict ? dict[name].slice(0) : [];
94
+ }
95
+ has(name) {
96
+ return name in __classPrivateFieldGet(this, _dict, "f");
97
+ }
98
+ keys() {
99
+ return Object.keys(__classPrivateFieldGet(this, _dict, "f"));
100
+ }
101
+ set(name, value) {
102
+ __classPrivateFieldGet(this, _dict, "f")[name] = ['' + value];
103
+ }
104
+ forEach(callback, thisArg) {
105
+ const dict = __classPrivateFieldGet(this, _dict, "f");
106
+ Object.getOwnPropertyNames(dict).forEach(function (name) {
107
+ dict[name].forEach(function (value) {
108
+ callback.call(thisArg, value, name, this);
109
+ }, this);
110
+ }, this);
111
+ }
112
+ toJSON() {
113
+ return {};
114
+ }
115
+ toString() {
116
+ const dict = __classPrivateFieldGet(this, _dict, "f");
117
+ const query = [];
118
+ for (const key in dict) {
119
+ const name = encode(key);
120
+ for (let i = 0, value = dict[key]; i < value.length; i++) {
121
+ query.push(name + '=' + encode(value[i]));
122
+ }
123
+ }
124
+ return query.join('&');
125
+ }
126
+ },
127
+ _dict = new WeakMap(),
128
+ _a);
129
+
130
+ export { URLSearchParams };
131
+ //# sourceMappingURL=URLSearchParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URLSearchParams.js","sources":["../../src/bom/URLSearchParams.ts"],"sourcesContent":["import { isArray } from '@tarojs/shared'\n\nimport env from '../env'\n\nconst findReg = /[!'()~]|%20|%00/g\nconst plusReg = /\\+/g\nconst replaceCharMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n}\n\nfunction replacer (match: string) {\n return replaceCharMap[match]\n}\n\nfunction appendTo (dict: Record<string, string[]>, name: string, value: string) {\n const res = isArray(value) ? value.join(',') : value\n if (name in dict) dict[name].push(res)\n else dict[name] = [res]\n}\n\nfunction addEach (value: string, key: string) {\n appendTo(this, key, value)\n}\n\nfunction decode (str: string) {\n return decodeURIComponent(str.replace(plusReg, ' '))\n}\n\nfunction encode (str: string) {\n return encodeURIComponent(str).replace(findReg, replacer)\n}\n\nexport const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.URLSearchParams : class {\n #dict = Object.create(null)\n\n constructor (query) {\n query ??= ''\n\n const dict = this.#dict\n\n if (typeof query === 'string') {\n if (query.charAt(0) === '?') {\n query = query.slice(1)\n }\n for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {\n const value = pairs[i]\n const index = value.indexOf('=')\n\n // 针对不规范的 url 参数做容错处理,如:word=你%好\n try {\n if (index > -1) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)))\n } else if (value.length) {\n appendTo(dict, decode(value), '')\n }\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] URL 参数 ${value} decode 异常`)\n }\n }\n }\n } else {\n if (isArray(query)) {\n for (let i = 0, length = query.length; i < length; i++) {\n const value = query[i]\n appendTo(dict, value[0], value[1])\n }\n } else if (query.forEach) {\n query.forEach(addEach, dict)\n } else {\n for (const key in query) {\n appendTo(dict, key, query[key])\n }\n }\n }\n }\n\n append (name: string, value: string) {\n appendTo(this.#dict, name, value)\n }\n\n delete (name: string) {\n delete this.#dict[name]\n }\n\n get (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name][0] : null\n }\n\n getAll (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name].slice(0) : []\n }\n\n has (name: string) {\n return name in this.#dict\n }\n\n keys () {\n return Object.keys(this.#dict)\n }\n\n set (name: string, value: string) {\n this.#dict[name] = ['' + value]\n }\n\n forEach (callback, thisArg) {\n const dict = this.#dict\n Object.getOwnPropertyNames(dict).forEach(function (name) {\n dict[name].forEach(function (value: string) {\n callback.call(thisArg, value, name, this)\n }, this)\n }, this)\n }\n\n toJSON () {\n return {}\n }\n\n toString () {\n const dict = this.#dict\n const query: any[] = []\n for (const key in dict) {\n const name = encode(key)\n for (let i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]))\n }\n }\n return query.join('&')\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TaroDocument } from "../dom/document.js";
2
+ declare const document: TaroDocument;
3
+ export { document };
@@ -0,0 +1,39 @@
1
+ import { HTML, HEAD, BODY, APP, CONTAINER } from '../constants/index.js';
2
+ import { TaroDocument } from '../dom/document.js';
3
+ import env from '../env.js';
4
+
5
+ function createDocument() {
6
+ /**
7
+ * <document>
8
+ * <html>
9
+ * <head></head>
10
+ * <body>
11
+ * <container>
12
+ * <app id="app" />
13
+ * </container>
14
+ * </body>
15
+ * </html>
16
+ * </document>
17
+ */
18
+ const doc = new TaroDocument();
19
+ const documentCreateElement = doc.createElement.bind(doc);
20
+ const html = documentCreateElement(HTML);
21
+ const head = documentCreateElement(HEAD);
22
+ const body = documentCreateElement(BODY);
23
+ const app = documentCreateElement(APP);
24
+ app.id = APP;
25
+ const container = documentCreateElement(CONTAINER); // 多包一层主要为了兼容 vue
26
+ doc.appendChild(html);
27
+ html.appendChild(head);
28
+ html.appendChild(body);
29
+ body.appendChild(container);
30
+ container.appendChild(app);
31
+ doc.documentElement = html;
32
+ doc.head = head;
33
+ doc.body = body;
34
+ return doc;
35
+ }
36
+ const document = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document = createDocument());
37
+
38
+ export { document };
39
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sources":["../../src/bom/document.ts"],"sourcesContent":["import {\n APP,\n BODY,\n CONTAINER,\n HEAD,\n HTML\n} from '../constants'\nimport { TaroDocument } from '../dom/document'\nimport env from '../env'\n\nfunction createDocument (): TaroDocument {\n /**\n * <document>\n * <html>\n * <head></head>\n * <body>\n * <container>\n * <app id=\"app\" />\n * </container>\n * </body>\n * </html>\n * </document>\n */\n const doc = new TaroDocument()\n const documentCreateElement = doc.createElement.bind(doc)\n const html = documentCreateElement(HTML)\n const head = documentCreateElement(HEAD)\n const body = documentCreateElement(BODY)\n const app = documentCreateElement(APP)\n app.id = APP\n const container = documentCreateElement(CONTAINER) // 多包一层主要为了兼容 vue\n\n doc.appendChild(html)\n html.appendChild(head)\n html.appendChild(body)\n body.appendChild(container)\n container.appendChild(app)\n\n doc.documentElement = html\n doc.head = head\n doc.body = body\n\n return doc\n}\n\nexport const document: TaroDocument = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document = createDocument())\n"],"names":[],"mappings":";;;;AAUA,SAAS,cAAc,GAAA;AACrB;;;;;;;;;;;AAWK;AACL,IAAA,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAA;IAC9B,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzD,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACtC,IAAA,GAAG,CAAC,EAAE,GAAG,GAAG,CAAA;IACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;AAElD,IAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACrB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AAC3B,IAAA,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAE1B,IAAA,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;AAC1B,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;AACf,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;AAEf,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC;AAEM,MAAM,QAAQ,GAAiB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,cAAc,EAAE;;;;"}
@@ -0,0 +1,5 @@
1
+ import { TaroElement } from "../dom/element.js";
2
+ import { Style } from "../dom/style.js";
3
+ type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style);
4
+ declare const getComputedStyle: TGetComputedStyle;
5
+ export { TGetComputedStyle, getComputedStyle };
@@ -0,0 +1,8 @@
1
+ import env from '../env.js';
2
+
3
+ const getComputedStyle = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element) {
4
+ return element.style;
5
+ };
6
+
7
+ export { getComputedStyle };
8
+ //# sourceMappingURL=getComputedStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getComputedStyle.js","sources":["../../src/bom/getComputedStyle.ts"],"sourcesContent":["import env from '../env'\n\nimport type { TaroElement } from '../dom/element'\nimport type { Style } from '../dom/style'\n\nexport type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style)\nexport const getComputedStyle: TGetComputedStyle = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element: TaroElement): Style {\n return element.style\n}\n"],"names":[],"mappings":";;MAMa,gBAAgB,GAAsB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,OAAoB,EAAA;IACnJ,OAAO,OAAO,CAAC,KAAK,CAAA;AACtB;;;;"}
@@ -0,0 +1,32 @@
1
+ import { Events } from "../emitter/emitter.js";
2
+ import { RuntimeCache } from "../utils/cache.js";
3
+ import { TaroLocation } from "./location.js";
4
+ interface HistoryState {
5
+ state: Record<string, any> | null;
6
+ title: string;
7
+ url: string;
8
+ }
9
+ type Options = {
10
+ window: any;
11
+ };
12
+ type HistoryContext = {
13
+ location: TaroLocation;
14
+ stack: HistoryState[];
15
+ cur: number;
16
+ };
17
+ declare class TaroHistory extends Events {
18
+ #private;
19
+ constructor(location: TaroLocation, options: Options);
20
+ get length(): number;
21
+ get state(): Record<string, any> | null;
22
+ /* public method */
23
+ go(delta: number): void;
24
+ back(): void;
25
+ forward(): void;
26
+ pushState(state: any, title: string, url: string): void;
27
+ replaceState(state: any, title: string, url: string): void;
28
+ get cache(): RuntimeCache<HistoryContext>;
29
+ }
30
+ declare const History: typeof TaroHistory;
31
+ export { HistoryState, History };
32
+ export type { TaroHistory };