@wiajs/core 1.1.17 → 1.1.18

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/core.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wia core v1.1.17
2
+ * wia core v1.1.18
3
3
  * (c) 2015-2024 Sibyl Yu and contributors
4
4
  * Released under the MIT License.
5
5
  */
@@ -2036,6 +2036,12 @@ class Event {
2036
2036
  }
2037
2037
  }
2038
2038
 
2039
+ // 记录page属性,标记事件来源,冒泡到app时判断是否触发本页面应用事件
2040
+ // if (parentEvents && $.isPage(m)) {
2041
+ // parentEvents.owner = m?.owner;
2042
+ // parentEvents.appName = m?.appName;
2043
+ // }
2044
+
2039
2045
  // 调用对象事件函数,父对象emit后,调用父对象事件函数
2040
2046
  selfEvents.forEach(ev => {
2041
2047
  if (m.eventsListeners && m.eventsListeners[ev]) {
package/dist/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wia core v1.1.17
2
+ * wia core v1.1.18
3
3
  * (c) 2015-2024 Sibyl Yu and contributors
4
4
  * Released under the MIT License.
5
5
  */
package/dist/core.min.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * wia core v1.1.17
2
+ * wia core v1.1.18
3
3
  * (c) 2015-2024 Sibyl Yu and contributors
4
4
  * Released under the MIT License.
5
5
  */
6
6
  /*!
7
- * wia core v1.1.17
7
+ * wia core v1.1.18
8
8
  * (c) 2015-2024 Sibyl Yu and contributors
9
9
  * Released under the MIT License.
10
10
  */
package/dist/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * wia core v1.1.17
2
+ * wia core v1.1.18
3
3
  * (c) 2015-2024 Sibyl Yu and contributors
4
4
  * Released under the MIT License.
5
5
  */
@@ -2034,6 +2034,12 @@ class Event {
2034
2034
  }
2035
2035
  }
2036
2036
 
2037
+ // 记录page属性,标记事件来源,冒泡到app时判断是否触发本页面应用事件
2038
+ // if (parentEvents && $.isPage(m)) {
2039
+ // parentEvents.owner = m?.owner;
2040
+ // parentEvents.appName = m?.appName;
2041
+ // }
2042
+
2037
2043
  // 调用对象事件函数,父对象emit后,调用父对象事件函数
2038
2044
  selfEvents.forEach(ev => {
2039
2045
  if (m.eventsListeners && m.eventsListeners[ev]) {
@@ -0,0 +1,417 @@
1
+ /*!
2
+ * wia core v1.1.18
3
+ * (c) 2015-2024 Sibyl Yu and contributors
4
+ * Released under the MIT License.
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
11
+
12
+ var jsxDevRuntime = {};
13
+
14
+ /**
15
+ * lodash (Custom Build) <https://lodash.com/>
16
+ * Build: `lodash modularize exports="npm" -o ./`
17
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
18
+ * Released under MIT license <https://lodash.com/license>
19
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
20
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
21
+ */
22
+
23
+ /** Used as references for various `Number` constants. */
24
+ var INFINITY = 1 / 0,
25
+ MAX_SAFE_INTEGER = 9007199254740991;
26
+
27
+ /** `Object#toString` result references. */
28
+ var argsTag = '[object Arguments]',
29
+ funcTag = '[object Function]',
30
+ genTag = '[object GeneratorFunction]';
31
+
32
+ /** Detect free variable `global` from Node.js. */
33
+ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
34
+
35
+ /** Detect free variable `self`. */
36
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
37
+
38
+ /** Used as a reference to the global object. */
39
+ var root = freeGlobal || freeSelf || Function('return this')();
40
+
41
+ /**
42
+ * Appends the elements of `values` to `array`.
43
+ *
44
+ * @private
45
+ * @param {Array} array The array to modify.
46
+ * @param {Array} values The values to append.
47
+ * @returns {Array} Returns `array`.
48
+ */
49
+ function arrayPush(array, values) {
50
+ var index = -1,
51
+ length = values.length,
52
+ offset = array.length;
53
+
54
+ while (++index < length) {
55
+ array[offset + index] = values[index];
56
+ }
57
+ return array;
58
+ }
59
+
60
+ /** Used for built-in method references. */
61
+ var objectProto = Object.prototype;
62
+
63
+ /** Used to check objects for own properties. */
64
+ var hasOwnProperty = objectProto.hasOwnProperty;
65
+
66
+ /**
67
+ * Used to resolve the
68
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
69
+ * of values.
70
+ */
71
+ var objectToString = objectProto.toString;
72
+
73
+ /** Built-in value references. */
74
+ var Symbol = root.Symbol,
75
+ propertyIsEnumerable = objectProto.propertyIsEnumerable,
76
+ spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
77
+
78
+ /**
79
+ * The base implementation of `_.flatten` with support for restricting flattening.
80
+ *
81
+ * @private
82
+ * @param {Array} array The array to flatten.
83
+ * @param {number} depth The maximum recursion depth.
84
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
85
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
86
+ * @param {Array} [result=[]] The initial result value.
87
+ * @returns {Array} Returns the new flattened array.
88
+ */
89
+ function baseFlatten(array, depth, predicate, isStrict, result) {
90
+ var index = -1,
91
+ length = array.length;
92
+
93
+ predicate || (predicate = isFlattenable);
94
+ result || (result = []);
95
+
96
+ while (++index < length) {
97
+ var value = array[index];
98
+ if (depth > 0 && predicate(value)) {
99
+ if (depth > 1) {
100
+ // Recursively flatten arrays (susceptible to call stack limits).
101
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
102
+ } else {
103
+ arrayPush(result, value);
104
+ }
105
+ } else if (!isStrict) {
106
+ result[result.length] = value;
107
+ }
108
+ }
109
+ return result;
110
+ }
111
+
112
+ /**
113
+ * Checks if `value` is a flattenable `arguments` object or array.
114
+ *
115
+ * @private
116
+ * @param {*} value The value to check.
117
+ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
118
+ */
119
+ function isFlattenable(value) {
120
+ return isArray(value) || isArguments(value) ||
121
+ !!(spreadableSymbol && value && value[spreadableSymbol]);
122
+ }
123
+
124
+ /**
125
+ * Recursively flattens `array`.
126
+ *
127
+ * @static
128
+ * @memberOf _
129
+ * @since 3.0.0
130
+ * @category Array
131
+ * @param {Array} array The array to flatten.
132
+ * @returns {Array} Returns the new flattened array.
133
+ * @example
134
+ *
135
+ * _.flattenDeep([1, [2, [3, [4]], 5]]);
136
+ * // => [1, 2, 3, 4, 5]
137
+ */
138
+ function flattenDeep(array) {
139
+ var length = array ? array.length : 0;
140
+ return length ? baseFlatten(array, INFINITY) : [];
141
+ }
142
+
143
+ /**
144
+ * Checks if `value` is likely an `arguments` object.
145
+ *
146
+ * @static
147
+ * @memberOf _
148
+ * @since 0.1.0
149
+ * @category Lang
150
+ * @param {*} value The value to check.
151
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
152
+ * else `false`.
153
+ * @example
154
+ *
155
+ * _.isArguments(function() { return arguments; }());
156
+ * // => true
157
+ *
158
+ * _.isArguments([1, 2, 3]);
159
+ * // => false
160
+ */
161
+ function isArguments(value) {
162
+ // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
163
+ return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
164
+ (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
165
+ }
166
+
167
+ /**
168
+ * Checks if `value` is classified as an `Array` object.
169
+ *
170
+ * @static
171
+ * @memberOf _
172
+ * @since 0.1.0
173
+ * @category Lang
174
+ * @param {*} value The value to check.
175
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
176
+ * @example
177
+ *
178
+ * _.isArray([1, 2, 3]);
179
+ * // => true
180
+ *
181
+ * _.isArray(document.body.children);
182
+ * // => false
183
+ *
184
+ * _.isArray('abc');
185
+ * // => false
186
+ *
187
+ * _.isArray(_.noop);
188
+ * // => false
189
+ */
190
+ var isArray = Array.isArray;
191
+
192
+ /**
193
+ * Checks if `value` is array-like. A value is considered array-like if it's
194
+ * not a function and has a `value.length` that's an integer greater than or
195
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
196
+ *
197
+ * @static
198
+ * @memberOf _
199
+ * @since 4.0.0
200
+ * @category Lang
201
+ * @param {*} value The value to check.
202
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
203
+ * @example
204
+ *
205
+ * _.isArrayLike([1, 2, 3]);
206
+ * // => true
207
+ *
208
+ * _.isArrayLike(document.body.children);
209
+ * // => true
210
+ *
211
+ * _.isArrayLike('abc');
212
+ * // => true
213
+ *
214
+ * _.isArrayLike(_.noop);
215
+ * // => false
216
+ */
217
+ function isArrayLike(value) {
218
+ return value != null && isLength(value.length) && !isFunction(value);
219
+ }
220
+
221
+ /**
222
+ * This method is like `_.isArrayLike` except that it also checks if `value`
223
+ * is an object.
224
+ *
225
+ * @static
226
+ * @memberOf _
227
+ * @since 4.0.0
228
+ * @category Lang
229
+ * @param {*} value The value to check.
230
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
231
+ * else `false`.
232
+ * @example
233
+ *
234
+ * _.isArrayLikeObject([1, 2, 3]);
235
+ * // => true
236
+ *
237
+ * _.isArrayLikeObject(document.body.children);
238
+ * // => true
239
+ *
240
+ * _.isArrayLikeObject('abc');
241
+ * // => false
242
+ *
243
+ * _.isArrayLikeObject(_.noop);
244
+ * // => false
245
+ */
246
+ function isArrayLikeObject(value) {
247
+ return isObjectLike(value) && isArrayLike(value);
248
+ }
249
+
250
+ /**
251
+ * Checks if `value` is classified as a `Function` object.
252
+ *
253
+ * @static
254
+ * @memberOf _
255
+ * @since 0.1.0
256
+ * @category Lang
257
+ * @param {*} value The value to check.
258
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
259
+ * @example
260
+ *
261
+ * _.isFunction(_);
262
+ * // => true
263
+ *
264
+ * _.isFunction(/abc/);
265
+ * // => false
266
+ */
267
+ function isFunction(value) {
268
+ // The use of `Object#toString` avoids issues with the `typeof` operator
269
+ // in Safari 8-9 which returns 'object' for typed array and other constructors.
270
+ var tag = isObject(value) ? objectToString.call(value) : '';
271
+ return tag == funcTag || tag == genTag;
272
+ }
273
+
274
+ /**
275
+ * Checks if `value` is a valid array-like length.
276
+ *
277
+ * **Note:** This method is loosely based on
278
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
279
+ *
280
+ * @static
281
+ * @memberOf _
282
+ * @since 4.0.0
283
+ * @category Lang
284
+ * @param {*} value The value to check.
285
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
286
+ * @example
287
+ *
288
+ * _.isLength(3);
289
+ * // => true
290
+ *
291
+ * _.isLength(Number.MIN_VALUE);
292
+ * // => false
293
+ *
294
+ * _.isLength(Infinity);
295
+ * // => false
296
+ *
297
+ * _.isLength('3');
298
+ * // => false
299
+ */
300
+ function isLength(value) {
301
+ return typeof value == 'number' &&
302
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
303
+ }
304
+
305
+ /**
306
+ * Checks if `value` is the
307
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
308
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
309
+ *
310
+ * @static
311
+ * @memberOf _
312
+ * @since 0.1.0
313
+ * @category Lang
314
+ * @param {*} value The value to check.
315
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
316
+ * @example
317
+ *
318
+ * _.isObject({});
319
+ * // => true
320
+ *
321
+ * _.isObject([1, 2, 3]);
322
+ * // => true
323
+ *
324
+ * _.isObject(_.noop);
325
+ * // => true
326
+ *
327
+ * _.isObject(null);
328
+ * // => false
329
+ */
330
+ function isObject(value) {
331
+ var type = typeof value;
332
+ return !!value && (type == 'object' || type == 'function');
333
+ }
334
+
335
+ /**
336
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
337
+ * and has a `typeof` result of "object".
338
+ *
339
+ * @static
340
+ * @memberOf _
341
+ * @since 4.0.0
342
+ * @category Lang
343
+ * @param {*} value The value to check.
344
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
345
+ * @example
346
+ *
347
+ * _.isObjectLike({});
348
+ * // => true
349
+ *
350
+ * _.isObjectLike([1, 2, 3]);
351
+ * // => true
352
+ *
353
+ * _.isObjectLike(_.noop);
354
+ * // => false
355
+ *
356
+ * _.isObjectLike(null);
357
+ * // => false
358
+ */
359
+ function isObjectLike(value) {
360
+ return !!value && typeof value == 'object';
361
+ }
362
+
363
+ var lodash_flattendeep = flattenDeep;
364
+
365
+ const flatten = lodash_flattendeep;
366
+
367
+ var jsxDEV = jsxDevRuntime.jsxDEV = (tag, { ref, children, ...props } = {}) => {
368
+ if (typeof tag === 'string') {
369
+ const element = document.createElement(tag);
370
+
371
+ Object.keys(props).forEach((key) => {
372
+ if (!props[key]) ; else if (typeof props[key] === 'function') {
373
+ element[key] = props[key];
374
+ } else {
375
+ element.setAttribute(key, props[key]);
376
+ }
377
+ });
378
+
379
+ if (!children) ; else {
380
+ children = Array.isArray(children) ? flatten(children) : [children];
381
+
382
+ children.forEach((child) => {
383
+ child && element.append(child);
384
+ });
385
+ }
386
+
387
+ if (!ref) ; else if (typeof ref === 'function') {
388
+ ref(element);
389
+ } else {
390
+ element.setAttribute('ref', ref);
391
+ }
392
+
393
+ return element;
394
+ } else if (typeof tag === 'function') {
395
+ return tag({ ref, children, ...props });
396
+ } else {
397
+ console.error('未知 tag 类型', tag);
398
+ }
399
+ };
400
+
401
+ var Fragment = jsxDevRuntime.Fragment = ({ children } = {}) => {
402
+ const element = document.createDocumentFragment();
403
+
404
+ if (!children) ; else {
405
+ children = Array.isArray(children) ? flatten(children) : [children];
406
+
407
+ children.forEach((child) => {
408
+ child && element.append(child);
409
+ });
410
+ }
411
+
412
+ return element;
413
+ };
414
+
415
+ exports.Fragment = Fragment;
416
+ exports.default = jsxDevRuntime;
417
+ exports.jsxDEV = jsxDEV;
@@ -0,0 +1,421 @@
1
+ /*!
2
+ * wia core v1.1.18
3
+ * (c) 2015-2024 Sibyl Yu and contributors
4
+ * Released under the MIT License.
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
11
+
12
+ var jsxRuntime = {};
13
+
14
+ /**
15
+ * lodash (Custom Build) <https://lodash.com/>
16
+ * Build: `lodash modularize exports="npm" -o ./`
17
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
18
+ * Released under MIT license <https://lodash.com/license>
19
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
20
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
21
+ */
22
+
23
+ /** Used as references for various `Number` constants. */
24
+ var INFINITY = 1 / 0,
25
+ MAX_SAFE_INTEGER = 9007199254740991;
26
+
27
+ /** `Object#toString` result references. */
28
+ var argsTag = '[object Arguments]',
29
+ funcTag = '[object Function]',
30
+ genTag = '[object GeneratorFunction]';
31
+
32
+ /** Detect free variable `global` from Node.js. */
33
+ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
34
+
35
+ /** Detect free variable `self`. */
36
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
37
+
38
+ /** Used as a reference to the global object. */
39
+ var root = freeGlobal || freeSelf || Function('return this')();
40
+
41
+ /**
42
+ * Appends the elements of `values` to `array`.
43
+ *
44
+ * @private
45
+ * @param {Array} array The array to modify.
46
+ * @param {Array} values The values to append.
47
+ * @returns {Array} Returns `array`.
48
+ */
49
+ function arrayPush(array, values) {
50
+ var index = -1,
51
+ length = values.length,
52
+ offset = array.length;
53
+
54
+ while (++index < length) {
55
+ array[offset + index] = values[index];
56
+ }
57
+ return array;
58
+ }
59
+
60
+ /** Used for built-in method references. */
61
+ var objectProto = Object.prototype;
62
+
63
+ /** Used to check objects for own properties. */
64
+ var hasOwnProperty = objectProto.hasOwnProperty;
65
+
66
+ /**
67
+ * Used to resolve the
68
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
69
+ * of values.
70
+ */
71
+ var objectToString = objectProto.toString;
72
+
73
+ /** Built-in value references. */
74
+ var Symbol = root.Symbol,
75
+ propertyIsEnumerable = objectProto.propertyIsEnumerable,
76
+ spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
77
+
78
+ /**
79
+ * The base implementation of `_.flatten` with support for restricting flattening.
80
+ *
81
+ * @private
82
+ * @param {Array} array The array to flatten.
83
+ * @param {number} depth The maximum recursion depth.
84
+ * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
85
+ * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
86
+ * @param {Array} [result=[]] The initial result value.
87
+ * @returns {Array} Returns the new flattened array.
88
+ */
89
+ function baseFlatten(array, depth, predicate, isStrict, result) {
90
+ var index = -1,
91
+ length = array.length;
92
+
93
+ predicate || (predicate = isFlattenable);
94
+ result || (result = []);
95
+
96
+ while (++index < length) {
97
+ var value = array[index];
98
+ if (depth > 0 && predicate(value)) {
99
+ if (depth > 1) {
100
+ // Recursively flatten arrays (susceptible to call stack limits).
101
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
102
+ } else {
103
+ arrayPush(result, value);
104
+ }
105
+ } else if (!isStrict) {
106
+ result[result.length] = value;
107
+ }
108
+ }
109
+ return result;
110
+ }
111
+
112
+ /**
113
+ * Checks if `value` is a flattenable `arguments` object or array.
114
+ *
115
+ * @private
116
+ * @param {*} value The value to check.
117
+ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
118
+ */
119
+ function isFlattenable(value) {
120
+ return isArray(value) || isArguments(value) ||
121
+ !!(spreadableSymbol && value && value[spreadableSymbol]);
122
+ }
123
+
124
+ /**
125
+ * Recursively flattens `array`.
126
+ *
127
+ * @static
128
+ * @memberOf _
129
+ * @since 3.0.0
130
+ * @category Array
131
+ * @param {Array} array The array to flatten.
132
+ * @returns {Array} Returns the new flattened array.
133
+ * @example
134
+ *
135
+ * _.flattenDeep([1, [2, [3, [4]], 5]]);
136
+ * // => [1, 2, 3, 4, 5]
137
+ */
138
+ function flattenDeep(array) {
139
+ var length = array ? array.length : 0;
140
+ return length ? baseFlatten(array, INFINITY) : [];
141
+ }
142
+
143
+ /**
144
+ * Checks if `value` is likely an `arguments` object.
145
+ *
146
+ * @static
147
+ * @memberOf _
148
+ * @since 0.1.0
149
+ * @category Lang
150
+ * @param {*} value The value to check.
151
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
152
+ * else `false`.
153
+ * @example
154
+ *
155
+ * _.isArguments(function() { return arguments; }());
156
+ * // => true
157
+ *
158
+ * _.isArguments([1, 2, 3]);
159
+ * // => false
160
+ */
161
+ function isArguments(value) {
162
+ // Safari 8.1 makes `arguments.callee` enumerable in strict mode.
163
+ return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&
164
+ (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
165
+ }
166
+
167
+ /**
168
+ * Checks if `value` is classified as an `Array` object.
169
+ *
170
+ * @static
171
+ * @memberOf _
172
+ * @since 0.1.0
173
+ * @category Lang
174
+ * @param {*} value The value to check.
175
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
176
+ * @example
177
+ *
178
+ * _.isArray([1, 2, 3]);
179
+ * // => true
180
+ *
181
+ * _.isArray(document.body.children);
182
+ * // => false
183
+ *
184
+ * _.isArray('abc');
185
+ * // => false
186
+ *
187
+ * _.isArray(_.noop);
188
+ * // => false
189
+ */
190
+ var isArray = Array.isArray;
191
+
192
+ /**
193
+ * Checks if `value` is array-like. A value is considered array-like if it's
194
+ * not a function and has a `value.length` that's an integer greater than or
195
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
196
+ *
197
+ * @static
198
+ * @memberOf _
199
+ * @since 4.0.0
200
+ * @category Lang
201
+ * @param {*} value The value to check.
202
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
203
+ * @example
204
+ *
205
+ * _.isArrayLike([1, 2, 3]);
206
+ * // => true
207
+ *
208
+ * _.isArrayLike(document.body.children);
209
+ * // => true
210
+ *
211
+ * _.isArrayLike('abc');
212
+ * // => true
213
+ *
214
+ * _.isArrayLike(_.noop);
215
+ * // => false
216
+ */
217
+ function isArrayLike(value) {
218
+ return value != null && isLength(value.length) && !isFunction(value);
219
+ }
220
+
221
+ /**
222
+ * This method is like `_.isArrayLike` except that it also checks if `value`
223
+ * is an object.
224
+ *
225
+ * @static
226
+ * @memberOf _
227
+ * @since 4.0.0
228
+ * @category Lang
229
+ * @param {*} value The value to check.
230
+ * @returns {boolean} Returns `true` if `value` is an array-like object,
231
+ * else `false`.
232
+ * @example
233
+ *
234
+ * _.isArrayLikeObject([1, 2, 3]);
235
+ * // => true
236
+ *
237
+ * _.isArrayLikeObject(document.body.children);
238
+ * // => true
239
+ *
240
+ * _.isArrayLikeObject('abc');
241
+ * // => false
242
+ *
243
+ * _.isArrayLikeObject(_.noop);
244
+ * // => false
245
+ */
246
+ function isArrayLikeObject(value) {
247
+ return isObjectLike(value) && isArrayLike(value);
248
+ }
249
+
250
+ /**
251
+ * Checks if `value` is classified as a `Function` object.
252
+ *
253
+ * @static
254
+ * @memberOf _
255
+ * @since 0.1.0
256
+ * @category Lang
257
+ * @param {*} value The value to check.
258
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
259
+ * @example
260
+ *
261
+ * _.isFunction(_);
262
+ * // => true
263
+ *
264
+ * _.isFunction(/abc/);
265
+ * // => false
266
+ */
267
+ function isFunction(value) {
268
+ // The use of `Object#toString` avoids issues with the `typeof` operator
269
+ // in Safari 8-9 which returns 'object' for typed array and other constructors.
270
+ var tag = isObject(value) ? objectToString.call(value) : '';
271
+ return tag == funcTag || tag == genTag;
272
+ }
273
+
274
+ /**
275
+ * Checks if `value` is a valid array-like length.
276
+ *
277
+ * **Note:** This method is loosely based on
278
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
279
+ *
280
+ * @static
281
+ * @memberOf _
282
+ * @since 4.0.0
283
+ * @category Lang
284
+ * @param {*} value The value to check.
285
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
286
+ * @example
287
+ *
288
+ * _.isLength(3);
289
+ * // => true
290
+ *
291
+ * _.isLength(Number.MIN_VALUE);
292
+ * // => false
293
+ *
294
+ * _.isLength(Infinity);
295
+ * // => false
296
+ *
297
+ * _.isLength('3');
298
+ * // => false
299
+ */
300
+ function isLength(value) {
301
+ return typeof value == 'number' &&
302
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
303
+ }
304
+
305
+ /**
306
+ * Checks if `value` is the
307
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
308
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
309
+ *
310
+ * @static
311
+ * @memberOf _
312
+ * @since 0.1.0
313
+ * @category Lang
314
+ * @param {*} value The value to check.
315
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
316
+ * @example
317
+ *
318
+ * _.isObject({});
319
+ * // => true
320
+ *
321
+ * _.isObject([1, 2, 3]);
322
+ * // => true
323
+ *
324
+ * _.isObject(_.noop);
325
+ * // => true
326
+ *
327
+ * _.isObject(null);
328
+ * // => false
329
+ */
330
+ function isObject(value) {
331
+ var type = typeof value;
332
+ return !!value && (type == 'object' || type == 'function');
333
+ }
334
+
335
+ /**
336
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
337
+ * and has a `typeof` result of "object".
338
+ *
339
+ * @static
340
+ * @memberOf _
341
+ * @since 4.0.0
342
+ * @category Lang
343
+ * @param {*} value The value to check.
344
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
345
+ * @example
346
+ *
347
+ * _.isObjectLike({});
348
+ * // => true
349
+ *
350
+ * _.isObjectLike([1, 2, 3]);
351
+ * // => true
352
+ *
353
+ * _.isObjectLike(_.noop);
354
+ * // => false
355
+ *
356
+ * _.isObjectLike(null);
357
+ * // => false
358
+ */
359
+ function isObjectLike(value) {
360
+ return !!value && typeof value == 'object';
361
+ }
362
+
363
+ var lodash_flattendeep = flattenDeep;
364
+
365
+ const flatten = lodash_flattendeep;
366
+
367
+ function jsx(tag, {ref, children, ...props} = {}) {
368
+ if (typeof tag === 'string') {
369
+ const element = document.createElement(tag);
370
+
371
+ Object.keys(props).forEach(key => {
372
+ if (!props[key]) ; else if (typeof props[key] === 'function') {
373
+ element[key] = props[key];
374
+ } else {
375
+ element.setAttribute(key, props[key]);
376
+ }
377
+ });
378
+
379
+ if (!children) ; else {
380
+ children = Array.isArray(children) ? flatten(children) : [children];
381
+
382
+ children.forEach(child => {
383
+ child && element.append(child);
384
+ });
385
+ }
386
+
387
+ if (!ref) ; else if (typeof ref === 'function') {
388
+ ref(element);
389
+ } else {
390
+ element.setAttribute('ref', ref);
391
+ }
392
+
393
+ return element;
394
+ } else if (typeof tag === 'function') {
395
+ return tag({ref, children, ...props});
396
+ } else {
397
+ console.error('未知 tag 类型', tag);
398
+ }
399
+ }
400
+
401
+ var Fragment = jsxRuntime.Fragment = ({children} = {}) => {
402
+ const element = document.createDocumentFragment();
403
+
404
+ if (!children) ; else {
405
+ children = Array.isArray(children) ? flatten(children) : [children];
406
+
407
+ children.forEach(child => {
408
+ child && element.append(child);
409
+ });
410
+ }
411
+
412
+ return element;
413
+ };
414
+
415
+ var jsx_1 = jsxRuntime.jsx = jsx;
416
+ var jsxs = jsxRuntime.jsxs = jsx;
417
+
418
+ exports.Fragment = Fragment;
419
+ exports.default = jsxRuntime;
420
+ exports.jsx = jsx_1;
421
+ exports.jsxs = jsxs;
package/gulpfile.js CHANGED
@@ -15,7 +15,7 @@ if (!fs.existsSync(out)) {
15
15
  }
16
16
 
17
17
  /**
18
- * ɾ�����з����ļ���ȫ����������
18
+ * 删除已有发布文件,全部重新生成
19
19
  * @returns
20
20
  */
21
21
  async function clean(cb) {
@@ -26,7 +26,7 @@ async function clean(cb) {
26
26
  }
27
27
 
28
28
  /**
29
- * ͬʱ����umd��cjs��esm ���ָ�ʽ����ļ�
29
+ * 同时生成umdcjsesm 三种格式输出文件
30
30
  */
31
31
  const buildAll = gulp.series(clean, cb => {
32
32
  console.log('start build ...');
@@ -34,7 +34,7 @@ const buildAll = gulp.series(clean, cb => {
34
34
  });
35
35
 
36
36
  /**
37
- * ������cjs ��ʽ
37
+ * 仅生成cjs 格式
38
38
  */
39
39
  gulp.task('cjs', cb => {
40
40
  console.log('dev cjs...');
@@ -44,7 +44,7 @@ gulp.task('cjs', cb => {
44
44
  });
45
45
 
46
46
  /**
47
- * ������ esm ��ʽ
47
+ * 仅生成 esm 格式
48
48
  */
49
49
  gulp.task('esm', cb => {
50
50
  console.log('dev esm...');
@@ -54,7 +54,7 @@ gulp.task('esm', cb => {
54
54
  });
55
55
 
56
56
  /**
57
- * ������ umd ��ʽ
57
+ * 仅生成 umd 格式
58
58
  */
59
59
  gulp.task('umd', cb => {
60
60
  console.log('dev umd...');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wiajs/core",
3
- "version": "1.1.17",
3
+ "version": "1.1.18",
4
4
  "description": "wia app core package",
5
5
  "main": "./dist/core.cjs",
6
6
  "module": "./dist/core.mjs",
@@ -12,6 +12,8 @@
12
12
  "import": "./dist/core.mjs",
13
13
  "default": "./dist/core.mjs"
14
14
  },
15
+ "./jsx-runtime": "./dist/jsx-runtime.js",
16
+ "./jsx-dev-runtime": "./dist/jsx-dev-runtime.js",
15
17
  "./util/*": [
16
18
  "./util/*.js",
17
19
  "./util/*.d.ts"