mirror of
https://github.com/swc-project/swc.git
synced 2025-01-03 11:01:52 +03:00
f44e25c3af
swc_common: - Add `Span.has_mark`. swc_ecma_codegen: - Emit `1e3` for `1000`. - Optimize output. (#1986) swc_ecma_minifier: - name mangler: Don't use keywords as an id. - `properties`: Optimize member expression with string properties. - `inline`: Inline some function expressions even if it's not fn-local. - `analyzer`: Track reassignment correctly. - `analyzer`: Track fn-local correctly. - `sequences`: Inject `void` if required. - `inline`: Inline function declarations correctly. - `sequences`: Merge expressions into test of if statements. - `sequences`: Reduce calls to an assigned variable. - Use `Marks` instead of `&dyn Comments`. swc_ecma_transforms_optimization: - `expr_simplifier`: Fix infinite loops. node/swc: - Ensure that `.transform` performs minification. (#1989)
31 lines
697 B
JavaScript
31 lines
697 B
JavaScript
export const E = {
|
|
test: function (cat, name, args) {
|
|
args = args || [];
|
|
var result, ua, test,
|
|
cat_o = feature_tests[cat],
|
|
feature = cat_o && cat_o[name];
|
|
|
|
if (!feature) {
|
|
} else {
|
|
|
|
result = feature.result;
|
|
|
|
if (Y.Lang.isUndefined(result)) {
|
|
|
|
ua = feature.ua;
|
|
if (ua) {
|
|
result = (Y.UA[ua]);
|
|
}
|
|
|
|
test = feature.test;
|
|
if (test && ((!ua) || result)) {
|
|
result = test.apply(Y, args);
|
|
}
|
|
|
|
feature.result = result;
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
} |