UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

35 lines (32 loc) 1.77 kB
import './debug-to-string-CFb7h0lY.js'; import './fragment-Cc5k9Oy4.js'; import '../@glimmer/global-context/index.js'; import '../@glimmer/validator/index.js'; import './reference-C3TKDRnP.js'; import { I as InternalComponentCapabilities } from './flags-B9qxc-pB.js'; const FROM_CAPABILITIES = new WeakSet() ; function buildCapabilities(capabilities) { { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- @fixme FROM_CAPABILITIES.add(capabilities); Object.freeze(capabilities); } return capabilities; } const EMPTY = InternalComponentCapabilities.Empty; /** * Converts a ComponentCapabilities object into a 32-bit integer representation. */ function capabilityFlagsFrom(capabilities) { return EMPTY | capability(capabilities, 'dynamicLayout') | capability(capabilities, 'dynamicTag') | capability(capabilities, 'prepareArgs') | capability(capabilities, 'createArgs') | capability(capabilities, 'attributeHook') | capability(capabilities, 'elementHook') | capability(capabilities, 'dynamicScope') | capability(capabilities, 'createCaller') | capability(capabilities, 'updateHook') | capability(capabilities, 'createInstance') | capability(capabilities, 'wrapped') | capability(capabilities, 'willDestroy') | capability(capabilities, 'hasSubOwner'); } function capability(capabilities, capability) { return capabilities[capability] ? InternalComponentCapabilities[capability] : EMPTY; } function managerHasCapability(_manager, capabilities, capability) { return !!(capabilities & capability); } function hasCapability(capabilities, capability) { return !!(capabilities & capability); } export { FROM_CAPABILITIES as F, buildCapabilities as b, capabilityFlagsFrom as c, hasCapability as h, managerHasCapability as m };