UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

30 lines (27 loc) 1.57 kB
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 };