Capability.Any
type · packages/mixins/src/capability.ts:17
type Any = Capability<string, readonly CapabilityParent[]>Mixins / foldkit-mixins
namespace · packages/mixins/src/capability.ts:6
export * as Capability from './capability.js'Ported from effect-atom-jsx/src/Element.ts Capability, without Handle
objects. Inheritance is metadata: a behavior that needs Interactive can
attach to TextInput. Lookups go through a Map so __proto__ is a legal name.
Capability.Anytype · packages/mixins/src/capability.ts:17
type Any = Capability<string, readonly CapabilityParent[]>Capability.AssignableNamesOftype · packages/mixins/src/capability.ts:22
type AssignableNamesOf<T> = T extends string
? T
: T extends Capability<any, infer Extends>
? MetadataToken.NameOf<T> | AssignableNamesOf<Extends[number]>
: MetadataToken.NameOf<T>Capability.Baseconst · packages/mixins/src/capability.ts:108
const Base: Capability<'Base', readonly []>Capability.Capabilityinterface · packages/mixins/src/capability.ts:10
interface Capability<
Name extends string = string,
Extends extends readonly CapabilityParent[] = readonly [],
> extends MetadataToken.MetadataToken<'element.capability', Name> {
readonly extends: Extends
}Capability.CapabilityParenttype · packages/mixins/src/capability.ts:8
type CapabilityParent =
string | MetadataToken.MetadataToken<'element.capability', string>Capability.Collectionconst · packages/mixins/src/capability.ts:114
const Collection: Capability<
'Collection',
readonly [Capability<'Base', readonly []>]
>Capability.Containerconst · packages/mixins/src/capability.ts:110
const Container: Capability<
'Container',
readonly [
Capability<'Interactive', readonly [Capability<'Base', readonly []>]>,
]
>Capability.describefunction · packages/mixins/src/capability.ts:101
function describe(capability: Any): {
readonly name: string
readonly extends: ReadonlyArray<string>
}Capability.Draggableconst · packages/mixins/src/capability.ts:113
const Draggable: Capability<
'Draggable',
readonly [
Capability<'Interactive', readonly [Capability<'Base', readonly []>]>,
]
>Capability.extendsCapabilityfunction · packages/mixins/src/capability.ts:70
function extendsCapability(value: string | Any, base: string | Any): booleanTrue when value is base or inherits from it. Ported from AF-UI.
Capability.ExtendsOftype · packages/mixins/src/capability.ts:20
type ExtendsOf<T> =
T extends Capability<any, infer Extends>
? MetadataToken.NameOf<Extends[number]>
: neverCapability.Focusableconst · packages/mixins/src/capability.ts:111
const Focusable: Capability<
'Focusable',
readonly [
Capability<'Interactive', readonly [Capability<'Base', readonly []>]>,
]
>Capability.Interactiveconst · packages/mixins/src/capability.ts:109
const Interactive: Capability<
'Interactive',
readonly [Capability<'Base', readonly []>]
>Capability.isfunction · packages/mixins/src/capability.ts:34
function is(value: unknown): value is AnyCapability.makefunction · packages/mixins/src/capability.ts:37
function make<
const Name extends string,
const Extends extends readonly CapabilityParent[] = readonly [],
>(
name: Name,
options?: {
readonly extends?: Extends
},
): Capability<Name, Extends>Capability.NameOftype · packages/mixins/src/capability.ts:18
type NameOf<T> = MetadataToken.NameOf<T>Capability.namesfunction · packages/mixins/src/capability.ts:90
function names(capability: Any): ReadonlyArray<string>Capability.NamesOftype · packages/mixins/src/capability.ts:19
type NamesOf<T extends readonly unknown[]> = MetadataToken.NamesOf<T>Capability.Satisfiestype · packages/mixins/src/capability.ts:28
type Satisfies<
Actual,
Required extends {
readonly name: string
},
> = Required['name'] extends AssignableNamesOf<Actual> ? true : falseCapability.satisfiesfunction · packages/mixins/src/capability.ts:87
function satisfies(actual: string | Any, required: string | Any): booleanCapability.TextInputconst · packages/mixins/src/capability.ts:112
const TextInput: Capability<
'TextInput',
readonly [
Capability<
'Focusable',
readonly [
Capability<'Interactive', readonly [Capability<'Base', readonly []>]>,
]
>,
]
>