glass-easel 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -0
- package/dist/glass_easel.all.d.ts +1 -0
- package/dist/glass_easel.all.js +2 -0
- package/dist/glass_easel.all.js.map +1 -0
- package/dist/glass_easel.domlike.global.d.ts +1 -0
- package/dist/glass_easel.domlike.global.js +2 -0
- package/dist/glass_easel.domlike.global.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/types/src/backend/backend_protocol.d.ts +119 -0
- package/dist/types/src/backend/backend_protocol.d.ts.map +1 -0
- package/dist/types/src/backend/composed_backend_protocol.d.ts +90 -0
- package/dist/types/src/backend/composed_backend_protocol.d.ts.map +1 -0
- package/dist/types/src/backend/domlike_backend_protocol.d.ts +76 -0
- package/dist/types/src/backend/domlike_backend_protocol.d.ts.map +1 -0
- package/dist/types/src/backend/mode.d.ts +46 -0
- package/dist/types/src/backend/mode.d.ts.map +1 -0
- package/dist/types/src/backend/suggested_backend_protocol.d.ts +30 -0
- package/dist/types/src/backend/suggested_backend_protocol.d.ts.map +1 -0
- package/dist/types/src/behavior.d.ts +428 -0
- package/dist/types/src/behavior.d.ts.map +1 -0
- package/dist/types/src/class_list.d.ts +79 -0
- package/dist/types/src/class_list.d.ts.map +1 -0
- package/dist/types/src/component.d.ts +291 -0
- package/dist/types/src/component.d.ts.map +1 -0
- package/dist/types/src/component_params.d.ts +239 -0
- package/dist/types/src/component_params.d.ts.map +1 -0
- package/dist/types/src/component_space.d.ts +164 -0
- package/dist/types/src/component_space.d.ts.map +1 -0
- package/dist/types/src/data_path.d.ts +5 -0
- package/dist/types/src/data_path.d.ts.map +1 -0
- package/dist/types/src/data_proxy.d.ts +107 -0
- package/dist/types/src/data_proxy.d.ts.map +1 -0
- package/dist/types/src/data_utils.d.ts +3 -0
- package/dist/types/src/data_utils.d.ts.map +1 -0
- package/dist/types/src/element.d.ts +275 -0
- package/dist/types/src/element.d.ts.map +1 -0
- package/dist/types/src/element_iterator.d.ts +43 -0
- package/dist/types/src/element_iterator.d.ts.map +1 -0
- package/dist/types/src/event.d.ts +104 -0
- package/dist/types/src/event.d.ts.map +1 -0
- package/dist/types/src/external_shadow_tree.d.ts +20 -0
- package/dist/types/src/external_shadow_tree.d.ts.map +1 -0
- package/dist/types/src/func_arr.d.ts +39 -0
- package/dist/types/src/func_arr.d.ts.map +1 -0
- package/dist/types/src/global_options.d.ts +111 -0
- package/dist/types/src/global_options.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +43 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/mutation_observer.d.ts +79 -0
- package/dist/types/src/mutation_observer.d.ts.map +1 -0
- package/dist/types/src/native_node.d.ts +8 -0
- package/dist/types/src/native_node.d.ts.map +1 -0
- package/dist/types/src/node.d.ts +49 -0
- package/dist/types/src/node.d.ts.map +1 -0
- package/dist/types/src/relation.d.ts +47 -0
- package/dist/types/src/relation.d.ts.map +1 -0
- package/dist/types/src/render.d.ts +3 -0
- package/dist/types/src/render.d.ts.map +1 -0
- package/dist/types/src/selector.d.ts +32 -0
- package/dist/types/src/selector.d.ts.map +1 -0
- package/dist/types/src/shadow_root.d.ts +136 -0
- package/dist/types/src/shadow_root.d.ts.map +1 -0
- package/dist/types/src/template_engine.d.ts +18 -0
- package/dist/types/src/template_engine.d.ts.map +1 -0
- package/dist/types/src/text_node.d.ts +32 -0
- package/dist/types/src/text_node.d.ts.map +1 -0
- package/dist/types/src/tmpl/index.d.ts +18 -0
- package/dist/types/src/tmpl/index.d.ts.map +1 -0
- package/dist/types/src/tmpl/native_rendering.d.ts +45 -0
- package/dist/types/src/tmpl/native_rendering.d.ts.map +1 -0
- package/dist/types/src/tmpl/proc_gen_wrapper.d.ts +80 -0
- package/dist/types/src/tmpl/proc_gen_wrapper.d.ts.map +1 -0
- package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts +50 -0
- package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts.map +1 -0
- package/dist/types/src/tmpl/range_list_diff.d.ts +19 -0
- package/dist/types/src/tmpl/range_list_diff.d.ts.map +1 -0
- package/dist/types/src/trait_behaviors.d.ts +38 -0
- package/dist/types/src/trait_behaviors.d.ts.map +1 -0
- package/dist/types/src/virtual_node.d.ts +10 -0
- package/dist/types/src/virtual_node.d.ts.map +1 -0
- package/dist/types/tests/backend/domlike.test.d.ts +2 -0
- package/dist/types/tests/backend/domlike.test.d.ts.map +1 -0
- package/dist/types/tests/base/env.d.ts +29 -0
- package/dist/types/tests/base/env.d.ts.map +1 -0
- package/dist/types/tests/base/match.d.ts +9 -0
- package/dist/types/tests/base/match.d.ts.map +1 -0
- package/dist/types/tests/core/backend.test.d.ts +2 -0
- package/dist/types/tests/core/backend.test.d.ts.map +1 -0
- package/dist/types/tests/core/behavior.test.d.ts +2 -0
- package/dist/types/tests/core/behavior.test.d.ts.map +1 -0
- package/dist/types/tests/core/component_space.test.d.ts +2 -0
- package/dist/types/tests/core/component_space.test.d.ts.map +1 -0
- package/dist/types/tests/core/data_update.test.d.ts +2 -0
- package/dist/types/tests/core/data_update.test.d.ts.map +1 -0
- package/dist/types/tests/core/misc.test.d.ts +2 -0
- package/dist/types/tests/core/misc.test.d.ts.map +1 -0
- package/dist/types/tests/core/placeholder.test.d.ts +2 -0
- package/dist/types/tests/core/placeholder.test.d.ts.map +1 -0
- package/dist/types/tests/core/slot.test.d.ts +2 -0
- package/dist/types/tests/core/slot.test.d.ts.map +1 -0
- package/dist/types/tests/core/trait_behaviors.test.d.ts +2 -0
- package/dist/types/tests/core/trait_behaviors.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/binding_map.test.d.ts +2 -0
- package/dist/types/tests/tmpl/binding_map.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/event.test.d.ts +2 -0
- package/dist/types/tests/tmpl/event.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/expression.test.d.ts +2 -0
- package/dist/types/tests/tmpl/expression.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/lvalue.test.d.ts +2 -0
- package/dist/types/tests/tmpl/lvalue.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/native_rendering.test.d.ts +2 -0
- package/dist/types/tests/tmpl/native_rendering.test.d.ts.map +1 -0
- package/dist/types/tests/tmpl/structure.test.d.ts +2 -0
- package/dist/types/tests/tmpl/structure.test.d.ts.map +1 -0
- package/dist/types/tests/types/chaining.test.d.ts +2 -0
- package/dist/types/tests/types/chaining.test.d.ts.map +1 -0
- package/dist/types/tests/types/createElement.test.d.ts +2 -0
- package/dist/types/tests/types/createElement.test.d.ts.map +1 -0
- package/dist/types/tests/types/definition.test.d.ts +2 -0
- package/dist/types/tests/types/definition.test.d.ts.map +1 -0
- package/guide/zh_CN/advanced/binding_map_update.md +32 -0
- package/guide/zh_CN/advanced/build_args.md +28 -0
- package/guide/zh_CN/advanced/component_filter.md +70 -0
- package/guide/zh_CN/advanced/component_space.md +124 -0
- package/guide/zh_CN/advanced/custom_backend.md +53 -0
- package/guide/zh_CN/advanced/error_listener.md +32 -0
- package/guide/zh_CN/advanced/external_component.md +73 -0
- package/guide/zh_CN/advanced/template_engine.md +61 -0
- package/guide/zh_CN/appendix/backend_protocol.md +501 -0
- package/guide/zh_CN/appendix/list_diff_algorithm.md +406 -0
- package/guide/zh_CN/basic/beginning.md +94 -0
- package/guide/zh_CN/basic/component.md +156 -0
- package/guide/zh_CN/basic/event.md +169 -0
- package/guide/zh_CN/basic/lifetime.md +66 -0
- package/guide/zh_CN/basic/method.md +62 -0
- package/guide/zh_CN/basic/template.md +135 -0
- package/guide/zh_CN/data_management/advanced_update.md +170 -0
- package/guide/zh_CN/data_management/data_deep_copy.md +157 -0
- package/guide/zh_CN/data_management/data_observer.md +154 -0
- package/guide/zh_CN/data_management/property_early_init.md +31 -0
- package/guide/zh_CN/data_management/pure_data_pattern.md +21 -0
- package/guide/zh_CN/index.md +93 -0
- package/guide/zh_CN/interaction/behavior.md +52 -0
- package/guide/zh_CN/interaction/component_path.md +37 -0
- package/guide/zh_CN/interaction/generic.md +73 -0
- package/guide/zh_CN/interaction/placeholder.md +40 -0
- package/guide/zh_CN/interaction/relation.md +151 -0
- package/guide/zh_CN/interaction/slot.md +137 -0
- package/guide/zh_CN/interaction/template_import.md +94 -0
- package/guide/zh_CN/interaction/trait_behavior.md +117 -0
- package/guide/zh_CN/styling/external_class.md +46 -0
- package/guide/zh_CN/styling/style_isolation.md +54 -0
- package/guide/zh_CN/styling/virtual_host.md +52 -0
- package/guide/zh_CN/tree/element_iterator.md +54 -0
- package/guide/zh_CN/tree/mutation_observer.md +52 -0
- package/guide/zh_CN/tree/node_tree.md +142 -0
- package/guide/zh_CN/tree/node_tree_modification.md +78 -0
- package/guide/zh_CN/tree/selector.md +66 -0
- package/jest.config.js +6 -0
- package/jest.dts.config.js +9 -0
- package/jest.unit.config.js +14 -0
- package/package.json +28 -0
- package/src/backend/backend_protocol.ts +313 -0
- package/src/backend/composed_backend_protocol.ts +252 -0
- package/src/backend/domlike_backend_protocol.ts +370 -0
- package/src/backend/mode.ts +51 -0
- package/src/backend/suggested_backend_protocol.ts +83 -0
- package/src/behavior.ts +1655 -0
- package/src/bootstrap_dom_dev.js +22 -0
- package/src/class_list.ts +376 -0
- package/src/component.ts +1309 -0
- package/src/component_params.ts +461 -0
- package/src/component_space.ts +547 -0
- package/src/data_path.ts +225 -0
- package/src/data_proxy.ts +670 -0
- package/src/data_utils.ts +50 -0
- package/src/element.ts +1966 -0
- package/src/element_iterator.ts +158 -0
- package/src/event.ts +401 -0
- package/src/external_shadow_tree.ts +27 -0
- package/src/func_arr.ts +198 -0
- package/src/global_options.ts +242 -0
- package/src/index.ts +187 -0
- package/src/mutation_observer.ts +252 -0
- package/src/native_node.ts +74 -0
- package/src/node.ts +174 -0
- package/src/relation.ts +380 -0
- package/src/render.ts +25 -0
- package/src/selector.ts +218 -0
- package/src/shadow_root.ts +766 -0
- package/src/template_engine.ts +45 -0
- package/src/text_node.ts +149 -0
- package/src/tmpl/index.ts +199 -0
- package/src/tmpl/native_rendering.ts +175 -0
- package/src/tmpl/proc_gen_wrapper.ts +954 -0
- package/src/tmpl/proc_gen_wrapper_dom.ts +230 -0
- package/src/tmpl/range_list_diff.ts +443 -0
- package/src/trait_behaviors.ts +51 -0
- package/src/virtual_node.ts +51 -0
- package/tests/backend/domlike.test.ts +254 -0
- package/tests/base/env.ts +78 -0
- package/tests/base/match.ts +185 -0
- package/tests/core/backend.test.ts +144 -0
- package/tests/core/behavior.test.ts +546 -0
- package/tests/core/component_space.test.ts +212 -0
- package/tests/core/data_update.test.ts +461 -0
- package/tests/core/misc.test.ts +339 -0
- package/tests/core/placeholder.test.ts +180 -0
- package/tests/core/slot.test.ts +1495 -0
- package/tests/core/trait_behaviors.test.ts +153 -0
- package/tests/legacy/README.md +3 -0
- package/tests/legacy/behavior.test.js +293 -0
- package/tests/legacy/component.test.js +1247 -0
- package/tests/legacy/data_path.test.js +149 -0
- package/tests/legacy/data_proxy.test.js +759 -0
- package/tests/legacy/element_iterator.test.js +148 -0
- package/tests/legacy/event.test.js +849 -0
- package/tests/legacy/external.test.js +510 -0
- package/tests/legacy/extra_info.test.js +109 -0
- package/tests/legacy/generics.test.js +176 -0
- package/tests/legacy/mutation_observer.test.js +210 -0
- package/tests/legacy/relation.test.js +517 -0
- package/tests/legacy/selector.test.js +263 -0
- package/tests/legacy/slot.test.js +915 -0
- package/tests/legacy/virtual.test.js +394 -0
- package/tests/tmpl/binding_map.test.ts +208 -0
- package/tests/tmpl/event.test.ts +206 -0
- package/tests/tmpl/expression.test.ts +429 -0
- package/tests/tmpl/lvalue.test.ts +160 -0
- package/tests/tmpl/native_rendering.test.ts +155 -0
- package/tests/tmpl/structure.test.ts +998 -0
- package/tests/types/chaining.test.ts +614 -0
- package/tests/types/createElement.test.ts +82 -0
- package/tests/types/definition.test.ts +442 -0
- package/tsconfig.json +11 -0
- package/webpack.config.js +270 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import { FuncArr, GeneralFuncType } from './func_arr';
|
|
2
|
+
import { Element } from './element';
|
|
3
|
+
import { NormalizedComponentOptions } from './global_options';
|
|
4
|
+
import { ShadowRoot } from './shadow_root';
|
|
5
|
+
import { ComponentInstance, ComponentParams, DataList, PropertyList, MethodList, DataWithPropertyValues, ComponentMethod, TaggedMethod, DeepReadonly, GetFromDataPath, SetDataSetter } from './component_params';
|
|
6
|
+
import { Behavior, GeneralBehavior, ComponentDefinitionWithPlaceholder } from './behavior';
|
|
7
|
+
import { ComponentSpace } from './component_space';
|
|
8
|
+
import { DataGroup, DataGroupObserverTree, DataValue, DeepCopyStrategy } from './data_proxy';
|
|
9
|
+
import { Relation, RelationDefinitionGroup } from './relation';
|
|
10
|
+
import { Template } from './template_engine';
|
|
11
|
+
import { GeneralBackendContext, GeneralBackendElement } from './node';
|
|
12
|
+
import { DataPath } from './data_path';
|
|
13
|
+
import { ExternalShadowRoot } from './external_shadow_tree';
|
|
14
|
+
import { TraitBehavior } from './trait_behaviors';
|
|
15
|
+
export declare const convertGenerics: (compDef: GeneralComponentDefinition, space: ComponentSpace, owner?: GeneralComponent, genericTargets?: {
|
|
16
|
+
[key: string]: string | ComponentDefinitionWithPlaceholder;
|
|
17
|
+
} | undefined) => {
|
|
18
|
+
[key: string]: ComponentDefinitionWithPlaceholder;
|
|
19
|
+
} | null;
|
|
20
|
+
export declare const resolvePlaceholder: (placeholder: string, space: ComponentSpace, behavior: GeneralBehavior, genericImpls: {
|
|
21
|
+
[key: string]: ComponentDefinitionWithPlaceholder;
|
|
22
|
+
} | null) => GeneralComponentDefinition;
|
|
23
|
+
export type Lifetimes = {
|
|
24
|
+
created: () => void;
|
|
25
|
+
attached: () => void;
|
|
26
|
+
moved: () => void;
|
|
27
|
+
detached: () => void;
|
|
28
|
+
ready: () => void;
|
|
29
|
+
};
|
|
30
|
+
export type LifetimeFuncs = {
|
|
31
|
+
[name in keyof Lifetimes]?: FuncArr<Lifetimes[name]>;
|
|
32
|
+
} & Record<string, FuncArr<GeneralFuncType>>;
|
|
33
|
+
export type PageLifetimeFuncs = {
|
|
34
|
+
[name: string]: FuncArr<GeneralFuncType>;
|
|
35
|
+
};
|
|
36
|
+
type ComponentDefinitionDetail<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> = {
|
|
37
|
+
proto: ComponentInstProto<TData, TProperty, TMethod>;
|
|
38
|
+
template: Template;
|
|
39
|
+
dataGroupObserverTree: DataGroupObserverTree;
|
|
40
|
+
dataDeepCopy: DeepCopyStrategy;
|
|
41
|
+
propertyPassingDeepCopy: DeepCopyStrategy;
|
|
42
|
+
relationDefinitionGroup: RelationDefinitionGroup | null;
|
|
43
|
+
};
|
|
44
|
+
export declare class ComponentDefinition<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> {
|
|
45
|
+
is: string;
|
|
46
|
+
behavior: Behavior<TData, TProperty, TMethod, any>;
|
|
47
|
+
/** @internal */
|
|
48
|
+
_$detail: ComponentDefinitionDetail<TData, TProperty, TMethod> | null;
|
|
49
|
+
/** @internal */
|
|
50
|
+
_$options: NormalizedComponentOptions;
|
|
51
|
+
/** @internal */
|
|
52
|
+
private _$templateEngine;
|
|
53
|
+
/** @internal */
|
|
54
|
+
constructor(behavior: Behavior<TData, TProperty, TMethod, any>);
|
|
55
|
+
general(): GeneralComponentDefinition;
|
|
56
|
+
/** Get the normalized component options */
|
|
57
|
+
getComponentOptions(): NormalizedComponentOptions;
|
|
58
|
+
/**
|
|
59
|
+
* List all component dependencies (recursively)
|
|
60
|
+
*
|
|
61
|
+
* This method will prepare the underlying behavior.
|
|
62
|
+
* The caller component is not included in the result.
|
|
63
|
+
*/
|
|
64
|
+
getComponentDependencies(): Set<GeneralComponentDefinition>;
|
|
65
|
+
isPrepared(): boolean;
|
|
66
|
+
prepare(): void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* A node that has a shadow tree attached to it
|
|
70
|
+
*/
|
|
71
|
+
export declare class Component<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> extends Element {
|
|
72
|
+
/** @internal */
|
|
73
|
+
_$behavior: Behavior<TData, TProperty, TMethod, any>;
|
|
74
|
+
/** @internal */
|
|
75
|
+
_$definition: ComponentDefinition<TData, TProperty, TMethod>;
|
|
76
|
+
/** @internal */
|
|
77
|
+
_$lifetimeFuncs: LifetimeFuncs;
|
|
78
|
+
/** @internal */
|
|
79
|
+
_$pageLifetimeFuncs: PageLifetimeFuncs;
|
|
80
|
+
/** @internal */
|
|
81
|
+
_$methodMap: MethodList;
|
|
82
|
+
/** @internal */
|
|
83
|
+
_$genericImpls: {
|
|
84
|
+
[name: string]: ComponentDefinitionWithPlaceholder;
|
|
85
|
+
} | null;
|
|
86
|
+
/** @internal */
|
|
87
|
+
_$dataGroup: DataGroup<TData, TProperty, TMethod>;
|
|
88
|
+
/** @internal */
|
|
89
|
+
_$external: boolean;
|
|
90
|
+
shadowRoot: ShadowRoot | ExternalShadowRoot;
|
|
91
|
+
/** @internal */
|
|
92
|
+
_$relation: Relation | null;
|
|
93
|
+
/** @internal */
|
|
94
|
+
_$idPrefix: string;
|
|
95
|
+
/** @internal */
|
|
96
|
+
_$componentInstanceId: number | undefined;
|
|
97
|
+
tagName: string;
|
|
98
|
+
/** @internal */
|
|
99
|
+
private _$traitGroup;
|
|
100
|
+
/** @internal */
|
|
101
|
+
private _$methodCaller;
|
|
102
|
+
constructor();
|
|
103
|
+
general(): GeneralComponent;
|
|
104
|
+
/**
|
|
105
|
+
* Cast a general component node to the instance of the specified component
|
|
106
|
+
*
|
|
107
|
+
* Returns `null` if the component node is not the instance of the specified component.
|
|
108
|
+
*/
|
|
109
|
+
asInstanceOf<UData extends DataList, UProperty extends PropertyList, UMethod extends MethodList>(componentDefinition: ComponentDefinition<UData, UProperty, UMethod>): ComponentInstance<UData, UProperty, UMethod> | null;
|
|
110
|
+
static register<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(def: ComponentParams<TData, TProperty, TMethod> & ThisType<ComponentInstance<TData, TProperty, TMethod>>, space?: ComponentSpace): ComponentDefinition<TData, TProperty, TMethod>;
|
|
111
|
+
/** @internal */
|
|
112
|
+
static _$tagMethod<Fn extends ComponentMethod>(func: Fn): TaggedMethod<Fn>;
|
|
113
|
+
/** @internal */
|
|
114
|
+
static _$isTaggedMethod(func: unknown): func is TaggedMethod<ComponentMethod>;
|
|
115
|
+
/** @internal */
|
|
116
|
+
static _$advancedCreate<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string, def: ComponentDefinition<TData, TProperty, TMethod>, owner: ShadowRoot | null, backendContext: GeneralBackendContext | null, genericImpls: {
|
|
117
|
+
[name: string]: ComponentDefinitionWithPlaceholder;
|
|
118
|
+
} | null, placeholderHandler: (() => void) | undefined, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
|
|
119
|
+
static createWithGenericsAndContext<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, genericTargets: {
|
|
120
|
+
[name: string]: GeneralComponentDefinition;
|
|
121
|
+
} | null, backendContext: GeneralBackendContext | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
|
|
122
|
+
static createWithGenerics<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, genericImpls: {
|
|
123
|
+
[name: string]: GeneralComponentDefinition;
|
|
124
|
+
} | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
|
|
125
|
+
static createWithContext<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, backendContext: GeneralBackendContext | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
|
|
126
|
+
static create<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(tagName: string | ComponentDefinition<TData, TProperty, TMethod>, componentDefinition: ComponentDefinition<TData, TProperty, TMethod> | null, initPropValues?: (comp: ComponentInstance<TData, TProperty, TMethod>) => void): ComponentInstance<TData, TProperty, TMethod>;
|
|
127
|
+
get is(): string;
|
|
128
|
+
get properties(): DeepReadonly<DataWithPropertyValues<TData, TProperty>>;
|
|
129
|
+
get data(): DeepReadonly<DataWithPropertyValues<TData, TProperty>>;
|
|
130
|
+
set data(newData: Partial<DataWithPropertyValues<TData, TProperty>>);
|
|
131
|
+
get $(): {
|
|
132
|
+
[id: string]: Element;
|
|
133
|
+
} | {
|
|
134
|
+
[id: string]: GeneralBackendElement;
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Returns the shadow root element
|
|
138
|
+
*
|
|
139
|
+
* Returns `null` for external components.
|
|
140
|
+
*/
|
|
141
|
+
getShadowRoot(): ShadowRoot | null;
|
|
142
|
+
static listProperties<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: ComponentInstance<TData, TProperty, TMethod>): string[];
|
|
143
|
+
static hasProperty<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>, propName: string): boolean;
|
|
144
|
+
/** List methods by the component definition (backward compatibility) */
|
|
145
|
+
static getMethodsFromDef<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(compDef: ComponentDefinition<TData, TProperty, TMethod>): {
|
|
146
|
+
[name: string]: GeneralFuncType;
|
|
147
|
+
};
|
|
148
|
+
/** Get a method */
|
|
149
|
+
static getMethod<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>, methodName: string): GeneralFuncType | undefined;
|
|
150
|
+
/**
|
|
151
|
+
* Get the corresponding component definition
|
|
152
|
+
*/
|
|
153
|
+
getComponentDefinition(): ComponentDefinition<TData, TProperty, TMethod>;
|
|
154
|
+
/**
|
|
155
|
+
* Get the options of the component
|
|
156
|
+
*/
|
|
157
|
+
getComponentOptions(): NormalizedComponentOptions;
|
|
158
|
+
/**
|
|
159
|
+
* Check whether the `other` behavior is a dependent behavior or a implemented trait behavior
|
|
160
|
+
*/
|
|
161
|
+
hasBehavior(other: string | GeneralBehavior | TraitBehavior<any, any>): boolean;
|
|
162
|
+
/** Get the root behavior of the component */
|
|
163
|
+
getRootBehavior(): Behavior<TData, TProperty, TMethod, any>;
|
|
164
|
+
/**
|
|
165
|
+
* Get the trait behavior implementation of the component
|
|
166
|
+
*
|
|
167
|
+
* Returns `undefined` if the specified trait behavior is not implemented.
|
|
168
|
+
*/
|
|
169
|
+
traitBehavior<TOut extends {
|
|
170
|
+
[x: string]: any;
|
|
171
|
+
}>(traitBehavior: TraitBehavior<any, TOut>): TOut | undefined;
|
|
172
|
+
/**
|
|
173
|
+
* Set the caller (a.k.a. `this` ) of event callbacks and life-time callbacks
|
|
174
|
+
*
|
|
175
|
+
* By default, the caller is the component instance itself.
|
|
176
|
+
* Use this method to override this behavior.
|
|
177
|
+
*/
|
|
178
|
+
setMethodCaller(caller: ComponentInstance<TData, TProperty, TMethod>): void;
|
|
179
|
+
/**
|
|
180
|
+
* Get the current caller set by `setMethodCaller`
|
|
181
|
+
*/
|
|
182
|
+
getMethodCaller(): ComponentInstance<TData, TProperty, TMethod>;
|
|
183
|
+
/**
|
|
184
|
+
* Triggers a life-time callback on an element
|
|
185
|
+
*
|
|
186
|
+
* Normally external life-times should only be triggered by template engine.
|
|
187
|
+
* Most cases should take a common method instead.
|
|
188
|
+
*/
|
|
189
|
+
triggerLifetime(name: string, args: Parameters<GeneralFuncType>): void;
|
|
190
|
+
/**
|
|
191
|
+
* @internal
|
|
192
|
+
* @deprecated Rename to `triggerLifetime`
|
|
193
|
+
*/
|
|
194
|
+
triggerLifeTime(name: string, args: Parameters<GeneralFuncType>): void;
|
|
195
|
+
/**
|
|
196
|
+
* Triggers a page-life-time callback on an element
|
|
197
|
+
*/
|
|
198
|
+
triggerPageLifetime(name: string, args: Parameters<GeneralFuncType>): void;
|
|
199
|
+
/**
|
|
200
|
+
* @internal
|
|
201
|
+
* @deprecated Rename to `triggerPageLifetime`
|
|
202
|
+
*/
|
|
203
|
+
triggerPageLifeTime(name: string, args: Parameters<GeneralFuncType>): void;
|
|
204
|
+
/**
|
|
205
|
+
* Get the target elements of a relation
|
|
206
|
+
*/
|
|
207
|
+
getRelationNodes(relationKey: string): GeneralComponent[];
|
|
208
|
+
/** Check the existence of an external class */
|
|
209
|
+
hasExternalClass(name: string): boolean;
|
|
210
|
+
/** Update an external class value */
|
|
211
|
+
setExternalClass(name: string, target: string): void;
|
|
212
|
+
/** Schedule an update for an external class value */
|
|
213
|
+
scheduleExternalClassChange(name: string, target: string): void;
|
|
214
|
+
/** Update multiple external class values */
|
|
215
|
+
applyExternalClassChanges(): void;
|
|
216
|
+
/** Check a field is excluded by pureDataPattern or not */
|
|
217
|
+
isInnerDataExcluded(fieldName: string): boolean;
|
|
218
|
+
static getInnerData<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>): {
|
|
219
|
+
[key: string]: DataValue;
|
|
220
|
+
} | null;
|
|
221
|
+
static getDataProxy<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>): DataGroup<TData, TProperty, TMethod>;
|
|
222
|
+
static replaceWholeData<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(comp: Component<TData, TProperty, TMethod>, newData: DataWithPropertyValues<TData, TProperty>): void;
|
|
223
|
+
/**
|
|
224
|
+
* Schedule a data update on a single specified path
|
|
225
|
+
*
|
|
226
|
+
* The data update will not be applied until next `setData` or `applyDataUpdates` call.
|
|
227
|
+
* All data observers will not be triggered immediately before applied.
|
|
228
|
+
* Reads of the data will get the unchanged value before applied.
|
|
229
|
+
*/
|
|
230
|
+
replaceDataOnPath<T extends DataPath>(path: readonly [...T], data: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T>): void;
|
|
231
|
+
/**
|
|
232
|
+
* Schedule an array update
|
|
233
|
+
*
|
|
234
|
+
* The behavior is like `Array.prototype.slice` .
|
|
235
|
+
* Break the array before the `index`-th item, delete `del` items, and insert some items here.
|
|
236
|
+
* If `index` is undefined, negative, or larger than the length of the array,
|
|
237
|
+
* no items will be deleted and new items will be appended to the end of the array.
|
|
238
|
+
* The data update will not be applied until next `setData` or `applyDataUpdates` call.
|
|
239
|
+
* All data observers will not be triggered immediately before applied.
|
|
240
|
+
* Reads of the data will get the unchanged value before applied.
|
|
241
|
+
*/
|
|
242
|
+
spliceArrayDataOnPath<T extends DataPath>(path: readonly [...T], index: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T> extends any[] ? number | undefined : never, del: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T> extends any[] ? number | undefined : never, inserts: GetFromDataPath<DataWithPropertyValues<TData, TProperty>, T> extends (infer I)[] ? I[] : never): void;
|
|
243
|
+
/**
|
|
244
|
+
* Check whether there are pending changes or not
|
|
245
|
+
*/
|
|
246
|
+
hasPendingChanges(): boolean;
|
|
247
|
+
/**
|
|
248
|
+
* Apply all scheduled updates immediately
|
|
249
|
+
*
|
|
250
|
+
* Inside observers, it is generally not .
|
|
251
|
+
*/
|
|
252
|
+
applyDataUpdates(): void;
|
|
253
|
+
/**
|
|
254
|
+
* Pending all data updates in the callback, and apply updates after callback returns
|
|
255
|
+
*
|
|
256
|
+
* This function helps grouping several `replaceDataOnPath` or `spliceArrayDataOnPath` calls,
|
|
257
|
+
* and then apply them at the end of the callback.
|
|
258
|
+
* `setData` and `applyDataUpdates` calls inside the callback still apply updates immediately.
|
|
259
|
+
*/
|
|
260
|
+
groupUpdates<T>(callback: () => T): T;
|
|
261
|
+
/**
|
|
262
|
+
* Schedule a classic data updates
|
|
263
|
+
*
|
|
264
|
+
* The data update will not be applied until next `setData` or `applyDataUpdates` call.
|
|
265
|
+
* When called inside observers, the data update will be applied when observer ends.
|
|
266
|
+
* All data observers will not be triggered immediately before applied.
|
|
267
|
+
* Reads of the data will get the unchanged value before applied.
|
|
268
|
+
*/
|
|
269
|
+
updateData(newData: Partial<SetDataSetter<DataWithPropertyValues<TData, TProperty>>>): void;
|
|
270
|
+
/**
|
|
271
|
+
* Do a classic data updates
|
|
272
|
+
*
|
|
273
|
+
* This method apply updates immediately, so there is no async callback.
|
|
274
|
+
* When called inside observers, the data update will not be applied to templates.
|
|
275
|
+
* Inside observers, it is recommended to use `updateData` instead.
|
|
276
|
+
*/
|
|
277
|
+
setData(newData: Partial<SetDataSetter<DataWithPropertyValues<TData, TProperty>>>): void;
|
|
278
|
+
}
|
|
279
|
+
export type GeneralComponentDefinition = ComponentDefinition<Record<string, any>, Record<string, any>, Record<string, any>>;
|
|
280
|
+
export type GeneralComponent = Component<Record<string, any>, Record<string, any>, Record<string, any>>;
|
|
281
|
+
type ComponentInstProto<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> = Component<TData, TProperty, TMethod> & {
|
|
282
|
+
_$behavior: Behavior<TData, TProperty, TMethod, any>;
|
|
283
|
+
_$definition: ComponentDefinition<TData, TProperty, TMethod>;
|
|
284
|
+
_$lifetimeFuncs: LifetimeFuncs;
|
|
285
|
+
_$pageLifetimeFuncs: PageLifetimeFuncs;
|
|
286
|
+
_$methodMap: MethodList;
|
|
287
|
+
} & {
|
|
288
|
+
[key: string]: any;
|
|
289
|
+
};
|
|
290
|
+
export {};
|
|
291
|
+
//# sourceMappingURL=component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { GeneralBehavior, Component, GeneralComponentDefinition, ComponentOptions, GeneralComponent, GeneralBehaviorBuilder } from '.';
|
|
2
|
+
import { TraitBehavior } from './trait_behaviors';
|
|
3
|
+
export type Empty = Record<never, never>;
|
|
4
|
+
export type NewField<TObject, TField extends string, TValueType> = Extract<keyof TObject, TField> extends never ? TValueType : never;
|
|
5
|
+
export type NewFieldList<TObject, TNewObject> = Extract<keyof TObject, keyof TNewObject> extends never ? TNewObject : never;
|
|
6
|
+
export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
|
|
7
|
+
/**
|
|
8
|
+
* UnionToIntersection<'foo' | 42 | true> = 'foo' & 42 & true
|
|
9
|
+
* UnionToIntersection<(() => 'foo') | ((i: 42) => true)> = (() => 'foo') & ((i: 42) => true)
|
|
10
|
+
*/
|
|
11
|
+
export type UnionToIntersection<T> = (T extends unknown ? (arg: T) => void : never) extends (args: infer Arg) => void ? Arg : never;
|
|
12
|
+
/**
|
|
13
|
+
* Merge<{ foo: string }, { bar: number }> = { foo: string, bar: number }
|
|
14
|
+
*/
|
|
15
|
+
export type Merge<U> = U extends infer T ? {
|
|
16
|
+
[K in keyof T]: T[K];
|
|
17
|
+
} : never;
|
|
18
|
+
/**
|
|
19
|
+
* IsAny<any> = true
|
|
20
|
+
* IsAny<{}> = false
|
|
21
|
+
*/
|
|
22
|
+
export type IsAny<T> = (<S>(S: S) => S extends T ? 1 : 2) extends <R>(R: R) => R extends any ? 1 : 2 ? true : false;
|
|
23
|
+
/**
|
|
24
|
+
* IsNever<never> = true
|
|
25
|
+
* IsNever<unknown> = false
|
|
26
|
+
* IsNever<any> = false
|
|
27
|
+
*/
|
|
28
|
+
export type IsNever<T> = [T] extends [never] ? true : false;
|
|
29
|
+
type SetDataStringPath<K extends string | number, Prefix extends string> = [
|
|
30
|
+
Prefix
|
|
31
|
+
] extends [never] ? `${K}` : K extends number ? `${Prefix}[${K}]` : `${Prefix}.${K}`;
|
|
32
|
+
/**
|
|
33
|
+
* SetDataSetter<{ name: string; foo: { bar: number } }> = {
|
|
34
|
+
* name: string,
|
|
35
|
+
* foo: { bar: number },
|
|
36
|
+
* 'foo.bar': number,
|
|
37
|
+
* }
|
|
38
|
+
* setDataSetter<{ list: number[], foo: { bar: number }[]}> = {
|
|
39
|
+
* list: number[],
|
|
40
|
+
* `list[${number}]`: number,
|
|
41
|
+
* foo: { bar: number }[],
|
|
42
|
+
* `foo[${number}]`: { bar: number }[],
|
|
43
|
+
* `foo[${number}].bar`: number,
|
|
44
|
+
* }
|
|
45
|
+
*/
|
|
46
|
+
export type SetDataSetter<T, Prefix extends string = never> = IsAny<T> extends true ? Record<SetDataStringPath<any, Prefix>, T> : UnionToIntersection<T extends any[] ? {
|
|
47
|
+
[P in keyof T & number]: SetDataSetter<T[P], SetDataStringPath<P, Prefix>> & Record<SetDataStringPath<P, Prefix>, T[P]>;
|
|
48
|
+
}[keyof T & number] : T extends Record<string | number, any> ? {
|
|
49
|
+
[P in keyof T & (string | number)]: SetDataSetter<T[P], SetDataStringPath<P, Prefix>> & Record<SetDataStringPath<P, Prefix>, T[P]>;
|
|
50
|
+
}[keyof T & (string | number)] : never>;
|
|
51
|
+
/**
|
|
52
|
+
* DeepReadonly<{ foo: { bar: number } }> = {
|
|
53
|
+
* readonly foo: {
|
|
54
|
+
* readonly bar: number
|
|
55
|
+
* }
|
|
56
|
+
* }
|
|
57
|
+
*/
|
|
58
|
+
export type DeepReadonly<T> = T extends Record<any, any> ? T extends (...args: any[]) => any ? T : {
|
|
59
|
+
readonly [P in keyof T]: DeepReadonly<T[P]>;
|
|
60
|
+
} : T;
|
|
61
|
+
export type PublicFields<T> = {
|
|
62
|
+
[K in keyof T as K extends `_$${any}` ? never : K]: T[K];
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* ObjectKeyPaths<{ name: string; age: number }> = 'name' | 'age'
|
|
66
|
+
* ObjectKeyPaths<{
|
|
67
|
+
* refCount: number;
|
|
68
|
+
* person: { name: string; age: number };
|
|
69
|
+
* }> = 'refCount' | 'person' | 'person.name' | 'person.age'
|
|
70
|
+
* ObjectKeyPaths<{ books: [{ name: string; price: number }] }> =
|
|
71
|
+
* 'books' | `books[${number}]` | `books[${number}].name` | `books[${number}].price`
|
|
72
|
+
*/
|
|
73
|
+
export type ObjectDataPathStrings<T, Prefix extends string = never> = IsAny<T> extends true ? SetDataStringPath<any, Prefix> : T extends any[] ? {
|
|
74
|
+
[P in keyof T & number]: SetDataStringPath<P, Prefix> | ObjectDataPathStrings<T[P], SetDataStringPath<P, Prefix>>;
|
|
75
|
+
}[keyof T & number] : T extends Record<string | number, any> ? {
|
|
76
|
+
[P in keyof T & (string | number)]: SetDataStringPath<P, Prefix> | ObjectDataPathStrings<T[P], SetDataStringPath<P, Prefix>>;
|
|
77
|
+
}[keyof T & (string | number)] : Prefix;
|
|
78
|
+
export type ObserverDataPathStrings<T, S extends string = ObjectDataPathStrings<T>> = '**' | S | `${S}.**`;
|
|
79
|
+
/**
|
|
80
|
+
* GetFromDataPathString<{ name: string; age: number }, 'name'> = string
|
|
81
|
+
* GetFromDataPathString<{ person: { name: string; age: number } }, 'person.name'> = string
|
|
82
|
+
* GetFromDataPathString<{ books: [{ name: string; price: number }] }, 'books[0].name'> = string
|
|
83
|
+
*/
|
|
84
|
+
export type GetFromDataPathString<T, P extends string> = P extends keyof T ? T[P] : P extends '' ? T : P extends `[${infer K extends keyof T & number}].${infer R}` ? GetFromDataPathString<T[K], R> : P extends `[${infer K extends keyof T & number}]${infer R}` ? GetFromDataPathString<T[K], R> : P extends `${infer K extends keyof T & string}[${infer R}` ? GetFromDataPathString<T[K], `[${R}`> : P extends `${infer K extends keyof T & string}.${infer R}` ? GetFromDataPathString<T[K], R> : never;
|
|
85
|
+
export type GetFromObserverPathString<T, P extends string> = P extends '**' ? GetFromDataPathString<T, ''> : P extends `${infer K}.**` ? GetFromDataPathString<T, K> : GetFromDataPathString<T, P>;
|
|
86
|
+
/**
|
|
87
|
+
* GetFromDataPath<{ foo: { bar: number } }, ['foo', 'bar']> = number
|
|
88
|
+
* GetFromDataPath<{ list: { bar: number }[] }, ['list', 0, 'bar']> = number
|
|
89
|
+
* GetFromDataPath<{ list: number }, ['nonExists']> = never
|
|
90
|
+
*/
|
|
91
|
+
export type GetFromDataPath<T, K extends readonly (string | number)[]> = K extends [infer F, ...infer R extends (string | number)[]] ? F extends keyof T ? GetFromDataPath<T[F], R> : never : T;
|
|
92
|
+
declare const TaggedSymbol: unique symbol;
|
|
93
|
+
type Tagged = typeof TaggedSymbol;
|
|
94
|
+
type IfNeverOrAny<T, Replacement> = [T] extends [never] ? Replacement : 1 extends T & 0 ? Replacement : T;
|
|
95
|
+
type GetTags<B> = B extends {
|
|
96
|
+
readonly [Tag in Tagged]: infer Tags extends symbol[];
|
|
97
|
+
} ? Tags : [];
|
|
98
|
+
type GetTagsWithout<B, T extends symbol, Tags = GetTags<B>> = Tags extends [
|
|
99
|
+
infer F,
|
|
100
|
+
...infer R
|
|
101
|
+
] ? Equal<T, F> extends true ? GetTagsWithout<B, T, R> : [F, ...GetTagsWithout<B, T, R>] : [];
|
|
102
|
+
type UnTagAll<B> = Tagged extends keyof IfNeverOrAny<B, unknown> ? B extends infer Origin & {
|
|
103
|
+
readonly [Tag in Tagged]: GetTags<B>;
|
|
104
|
+
} ? Origin : B : B;
|
|
105
|
+
export type Tag<B, T extends symbol> = [IfNeverOrAny<B, unknown>] extends [
|
|
106
|
+
null | undefined
|
|
107
|
+
] ? B : UnTagAll<B> & {
|
|
108
|
+
readonly [Tag in Tagged]: [...GetTags<B>, T];
|
|
109
|
+
};
|
|
110
|
+
export type UnTag<B, T extends symbol, Tags = GetTagsWithout<B, T>> = Tagged extends keyof IfNeverOrAny<B, unknown> ? Tags extends [] ? UnTagAll<B> : UnTagAll<B> & {
|
|
111
|
+
readonly [Tag in Tagged]: Tags;
|
|
112
|
+
} : B;
|
|
113
|
+
export type HasTag<B, T extends symbol> = T extends GetTags<B>[number] ? true : false;
|
|
114
|
+
export type DataList = Record<string, unknown>;
|
|
115
|
+
export type PropertyList = Record<string, PropertyListItem<any, unknown>>;
|
|
116
|
+
export type PropertyType = null | StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor | FunctionConstructor;
|
|
117
|
+
/**
|
|
118
|
+
* PropertyTypeToValueType<null> = any
|
|
119
|
+
* PropertyTypeToValueType<typeof String> = string
|
|
120
|
+
* PropertyTypeToValueType<typeof Number> = number
|
|
121
|
+
*/
|
|
122
|
+
export type PropertyTypeToValueType<T extends PropertyType> = T extends null ? any : T extends StringConstructor ? string : T extends NumberConstructor ? number : T extends BooleanConstructor ? boolean : T extends ArrayConstructor ? any[] : T extends ObjectConstructor ? Record<string, any> | null : T extends FunctionConstructor ? (...args: any[]) => any : never;
|
|
123
|
+
type Satisfy<T, V> = V extends T ? V : T;
|
|
124
|
+
/**
|
|
125
|
+
* PropertyTypeToSimpleValueType<typeof String, 'foo'> = 'foo'
|
|
126
|
+
* PropertyTypeToSimpleValueType<typeof String, 123> = string
|
|
127
|
+
*/
|
|
128
|
+
type PropertyTypeToSimpleValueType<T extends PropertyType, V> = T extends StringConstructor ? Satisfy<string, V> : T extends NumberConstructor ? Satisfy<number, V> : T extends BooleanConstructor ? Satisfy<boolean, V> : T extends ArrayConstructor ? Satisfy<any[], V> : T extends ObjectConstructor ? Satisfy<Record<string, any> | null, V> : T extends FunctionConstructor ? Satisfy<(...args: any[]) => any, V> : never;
|
|
129
|
+
/**
|
|
130
|
+
* PropertyValueType<null> = any
|
|
131
|
+
* PropertyValueType<typeof String> = string
|
|
132
|
+
* PropertyValueType<typeof String | typeof Number> = string | number
|
|
133
|
+
* PropertyValueType<{ type: typeof String }> = string
|
|
134
|
+
* PropertyValueType<{ type: typeof String, optionalTypes: [typeof Number] }> = string | number
|
|
135
|
+
* PropertyValueType<{ type: typeof String, value: 'foo' }> = 'foo'
|
|
136
|
+
* PropertyValueType<{ type: typeof String, value: 123 }> = never
|
|
137
|
+
* PropertyValueType<{ type: typeof String, optionalTypes: [typeof Number], value: 123 }> =
|
|
138
|
+
* string | 123
|
|
139
|
+
*/
|
|
140
|
+
type PropertyValueType<P extends PropertyListItem<PropertyType, any>> = P extends PropertyListItem<infer T, infer V> ? unknown extends V ? PropertyTypeToValueType<T> : ((a: T) => void) extends (a: PropertyType) => void ? V : V extends PropertyTypeToValueType<T> ? PropertyTypeToSimpleValueType<T, V> : never : never;
|
|
141
|
+
export type PropertyOption<T extends PropertyType, V> = {
|
|
142
|
+
type?: T;
|
|
143
|
+
optionalTypes?: T[];
|
|
144
|
+
value?: V;
|
|
145
|
+
default?: () => V;
|
|
146
|
+
observer?: ((newValue: DeepReadonly<V>, oldValue: DeepReadonly<V>) => void) | string;
|
|
147
|
+
reflectIdPrefix?: boolean;
|
|
148
|
+
};
|
|
149
|
+
export type PropertyListItem<T extends PropertyType, V> = T | PropertyOption<T, V>;
|
|
150
|
+
export type PropertyValues<P extends PropertyList> = {
|
|
151
|
+
[key in keyof P]: PropertyValueType<P[key]>;
|
|
152
|
+
};
|
|
153
|
+
export type DataWithPropertyValues<TData extends DataList, TProperty extends PropertyList> = TData & PropertyValues<TProperty>;
|
|
154
|
+
export type ComponentMethod = (...args: any[]) => any;
|
|
155
|
+
export type MethodList = Record<string, ComponentMethod>;
|
|
156
|
+
export declare const METHOD_TAG: unique symbol;
|
|
157
|
+
export type TaggedMethod<Fn extends ComponentMethod> = Tag<Fn, typeof METHOD_TAG>;
|
|
158
|
+
export type UnTaggedMethod<M extends TaggedMethod<any>> = UnTag<M, typeof METHOD_TAG>;
|
|
159
|
+
export type RelationParams = {
|
|
160
|
+
target?: string | GeneralComponentDefinition | GeneralBehavior | TraitBehavior<any>;
|
|
161
|
+
type: 'ancestor' | 'descendant' | 'parent' | 'child' | 'parent-common-node' | 'child-common-node';
|
|
162
|
+
linked?: (target: GeneralComponent) => void;
|
|
163
|
+
linkChanged?: (target: GeneralComponent) => void;
|
|
164
|
+
unlinked?: (target: GeneralComponent) => void;
|
|
165
|
+
linkFailed?: (target: GeneralComponent) => void;
|
|
166
|
+
};
|
|
167
|
+
export type RelationParamsWithKey = {
|
|
168
|
+
[name: string]: RelationParams;
|
|
169
|
+
};
|
|
170
|
+
export type TraitRelationParams<TOut extends {
|
|
171
|
+
[key: string]: any;
|
|
172
|
+
}> = {
|
|
173
|
+
target: TraitBehavior<any, TOut>;
|
|
174
|
+
type: 'ancestor' | 'descendant' | 'parent' | 'child' | 'parent-common-node' | 'child-common-node';
|
|
175
|
+
linked?: (target: GeneralComponent) => void;
|
|
176
|
+
linkChanged?: (target: GeneralComponent) => void;
|
|
177
|
+
unlinked?: (target: GeneralComponent) => void;
|
|
178
|
+
linkFailed?: (target: GeneralComponent) => void;
|
|
179
|
+
};
|
|
180
|
+
export type ChainingFilterFunc<TAddedFields extends {
|
|
181
|
+
[key: string]: any;
|
|
182
|
+
}, TRemovedFields extends string = never> = (chain: GeneralBehaviorBuilder) => Omit<GeneralBehaviorBuilder, TRemovedFields> & TAddedFields;
|
|
183
|
+
export type ChainingFilterType = {
|
|
184
|
+
add: {
|
|
185
|
+
[key: string]: any;
|
|
186
|
+
};
|
|
187
|
+
remove: string;
|
|
188
|
+
};
|
|
189
|
+
export type ComponentInstance<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> = Component<TData, TProperty, TMethod> & {
|
|
190
|
+
data: DeepReadonly<DataWithPropertyValues<TData, TProperty>>;
|
|
191
|
+
properties: DeepReadonly<DataWithPropertyValues<TData, TProperty>>;
|
|
192
|
+
} & TMethod;
|
|
193
|
+
export type ComponentParams<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList> = {
|
|
194
|
+
is?: string;
|
|
195
|
+
behaviors?: (string | GeneralBehavior)[];
|
|
196
|
+
using?: {
|
|
197
|
+
[name: string]: string | GeneralComponentDefinition;
|
|
198
|
+
};
|
|
199
|
+
generics?: {
|
|
200
|
+
[name: string]: {
|
|
201
|
+
default: string | GeneralComponentDefinition;
|
|
202
|
+
} | true;
|
|
203
|
+
};
|
|
204
|
+
placeholders?: {
|
|
205
|
+
[name: string]: string;
|
|
206
|
+
};
|
|
207
|
+
template?: {
|
|
208
|
+
[key: string]: any;
|
|
209
|
+
} | null;
|
|
210
|
+
externalClasses?: string[];
|
|
211
|
+
data?: TData | (() => TData);
|
|
212
|
+
properties?: TProperty;
|
|
213
|
+
methods?: TMethod;
|
|
214
|
+
listeners?: {
|
|
215
|
+
[name: string]: ComponentMethod | string;
|
|
216
|
+
};
|
|
217
|
+
relations?: RelationParamsWithKey;
|
|
218
|
+
lifetimes?: {
|
|
219
|
+
[name: string]: ComponentMethod;
|
|
220
|
+
};
|
|
221
|
+
created?: () => any;
|
|
222
|
+
attached?: ComponentMethod;
|
|
223
|
+
moved?: ComponentMethod;
|
|
224
|
+
detached?: ComponentMethod;
|
|
225
|
+
ready?: ComponentMethod;
|
|
226
|
+
pageLifetimes?: {
|
|
227
|
+
[name: string]: ComponentMethod;
|
|
228
|
+
};
|
|
229
|
+
observers?: {
|
|
230
|
+
fields?: string;
|
|
231
|
+
observer: ComponentMethod | string;
|
|
232
|
+
}[] | {
|
|
233
|
+
[fields: string]: ComponentMethod | string;
|
|
234
|
+
};
|
|
235
|
+
options?: ComponentOptions;
|
|
236
|
+
};
|
|
237
|
+
export type GeneralComponentInstance = ComponentInstance<Record<string, any>, Record<string, any>, Record<string, any>>;
|
|
238
|
+
export {};
|
|
239
|
+
//# sourceMappingURL=component_params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component_params.d.ts","sourceRoot":"","sources":["../../../src/component_params.ts"],"names":[],"mappings":"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"}
|