ember-source
Version:
A JavaScript framework for creating ambitious web applications
35 lines (32 loc) • 1.77 kB
JavaScript
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 };