MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / caniuse

Function caniuse

tools/feature_matrix.py:191–221  ·  view source on GitHub ↗
(feature)

Source from the content-addressed store, hash-verified

189
190
191def caniuse(feature):
192 if feature in disable_override_features:
193 return False
194 if feature in enable_override_features:
195 return True
196
197 # Certain features are incompatible with certain settings.
198 # TODO(sbc): Make this more generate, perhaps based on INCOMPATIBLE_SETTINGS
199 if feature == Feature.GROWABLE_ARRAYBUFFERS and settings.WASM2JS:
200 logger.debug(f'cannot use {feature.name} because WASM2JS is enabled')
201 return False
202
203 min_versions = min_browser_versions[feature]
204
205 def report_missing(setting_name):
206 setting_value = getattr(settings, setting_name)
207 logger.debug(f'cannot use {feature.name} because {setting_name} is too old: {setting_value}')
208
209 if settings.MIN_CHROME_VERSION < min_versions['chrome']:
210 report_missing('MIN_CHROME_VERSION')
211 return False
212 if settings.MIN_FIREFOX_VERSION < min_versions['firefox']:
213 report_missing('MIN_FIREFOX_VERSION')
214 return False
215 if settings.MIN_SAFARI_VERSION < min_versions['safari']:
216 report_missing('MIN_SAFARI_VERSION')
217 return False
218 if 'node' in min_versions and settings.MIN_NODE_VERSION < min_versions['node']:
219 report_missing('MIN_NODE_VERSION')
220 return False
221 return True
222
223
224def enable_feature(feature, reason, override=False):

Callers 1

auto_enable_featuresFunction · 0.85

Calls 1

report_missingFunction · 0.85

Tested by

no test coverage detected