glass-easel 0.2.0 → 0.3.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.
Files changed (197) hide show
  1. package/.eslintignore +4 -0
  2. package/dist/glass_easel.all.js +2 -2
  3. package/dist/glass_easel.all.js.map +1 -1
  4. package/dist/glass_easel.d.ts +2546 -0
  5. package/dist/glass_easel.domlike.global.js +2 -2
  6. package/dist/glass_easel.domlike.global.js.map +1 -1
  7. package/guide/zh_CN/appendix/backend_protocol.md +164 -74
  8. package/jest.unit.config.js +7 -4
  9. package/package.json +7 -5
  10. package/rollup.config.ts +101 -0
  11. package/src/backend/backend_protocol.ts +26 -345
  12. package/src/backend/composed_backend_protocol.ts +10 -264
  13. package/src/backend/current_window_backend_context.ts +478 -0
  14. package/src/backend/domlike_backend_protocol.ts +9 -498
  15. package/src/backend/empty_backend.ts +265 -0
  16. package/src/backend/empty_composed_backend.ts +245 -0
  17. package/src/backend/index.ts +18 -0
  18. package/src/backend/suggested_backend_protocol.ts +62 -11
  19. package/src/behavior.ts +131 -442
  20. package/src/class_list.ts +328 -222
  21. package/src/component.ts +349 -184
  22. package/src/component_params.ts +54 -25
  23. package/src/component_space.ts +36 -15
  24. package/src/data_path.ts +22 -34
  25. package/src/data_proxy.ts +334 -27
  26. package/src/devtool.ts +89 -0
  27. package/src/element.ts +667 -285
  28. package/src/element_iterator.ts +9 -4
  29. package/src/event.ts +39 -20
  30. package/src/external_shadow_tree.ts +2 -2
  31. package/src/func_arr.ts +55 -101
  32. package/src/global_options.ts +18 -42
  33. package/src/index.ts +72 -73
  34. package/src/mutation_observer.ts +10 -7
  35. package/src/native_node.ts +79 -35
  36. package/src/node.ts +23 -30
  37. package/src/relation.ts +101 -12
  38. package/src/render.ts +5 -3
  39. package/src/selector.ts +9 -7
  40. package/src/shadow_root.ts +96 -240
  41. package/src/template_engine.ts +10 -7
  42. package/src/text_node.ts +43 -19
  43. package/src/tmpl/index.ts +38 -30
  44. package/src/tmpl/native_rendering.ts +14 -21
  45. package/src/tmpl/proc_gen_wrapper.ts +189 -151
  46. package/src/tmpl/proc_gen_wrapper_dom.ts +10 -8
  47. package/src/tmpl/range_list_diff.ts +30 -9
  48. package/src/trait_behaviors.ts +1 -1
  49. package/src/type_symbol.ts +36 -0
  50. package/src/virtual_node.ts +26 -13
  51. package/src/warning.ts +119 -0
  52. package/tests/base/composed_backend.ts +143 -142
  53. package/tests/base/env.ts +76 -3
  54. package/tests/base/match.ts +24 -22
  55. package/tests/base/shadow_backend.ts +917 -0
  56. package/tests/core/backend.test.ts +53 -1
  57. package/tests/core/behavior.test.ts +1 -1
  58. package/tests/core/data_update.test.ts +135 -0
  59. package/tests/core/misc.test.ts +91 -21
  60. package/tests/core/placeholder.test.ts +66 -25
  61. package/tests/core/slot.test.ts +161 -23
  62. package/tests/legacy/component.test.js +152 -78
  63. package/tests/legacy/data_path.test.js +19 -19
  64. package/tests/legacy/data_proxy.test.js +14 -7
  65. package/tests/legacy/external.test.js +8 -8
  66. package/tests/legacy/mutation_observer.test.js +7 -5
  67. package/tests/legacy/slot.test.js +2 -3
  68. package/tests/legacy/virtual.test.js +258 -25
  69. package/tests/tmpl/binding_map.test.ts +201 -195
  70. package/tests/tmpl/event.test.ts +138 -23
  71. package/tests/tmpl/expression.test.ts +15 -15
  72. package/tests/tmpl/lvalue.test.ts +101 -0
  73. package/tests/tmpl/structure.test.ts +486 -43
  74. package/tests/types/chaining.test.ts +27 -30
  75. package/tests/types/createElement.test.ts +5 -4
  76. package/tests/types/definition.test.ts +11 -14
  77. package/tsconfig.json +1 -3
  78. package/dist/glass_easel.all.d.ts +0 -1
  79. package/dist/glass_easel.domlike.global.d.ts +0 -1
  80. package/dist/index.d.ts +0 -1
  81. package/dist/index.js +0 -1
  82. package/dist/types/src/backend/backend_protocol.d.ts +0 -141
  83. package/dist/types/src/backend/backend_protocol.d.ts.map +0 -1
  84. package/dist/types/src/backend/composed_backend_protocol.d.ts +0 -102
  85. package/dist/types/src/backend/composed_backend_protocol.d.ts.map +0 -1
  86. package/dist/types/src/backend/domlike_backend_protocol.d.ts +0 -100
  87. package/dist/types/src/backend/domlike_backend_protocol.d.ts.map +0 -1
  88. package/dist/types/src/backend/mode.d.ts +0 -65
  89. package/dist/types/src/backend/mode.d.ts.map +0 -1
  90. package/dist/types/src/backend/suggested_backend_protocol.d.ts +0 -30
  91. package/dist/types/src/backend/suggested_backend_protocol.d.ts.map +0 -1
  92. package/dist/types/src/behavior.d.ts +0 -434
  93. package/dist/types/src/behavior.d.ts.map +0 -1
  94. package/dist/types/src/class_list.d.ts +0 -83
  95. package/dist/types/src/class_list.d.ts.map +0 -1
  96. package/dist/types/src/component.d.ts +0 -325
  97. package/dist/types/src/component.d.ts.map +0 -1
  98. package/dist/types/src/component_params.d.ts +0 -236
  99. package/dist/types/src/component_params.d.ts.map +0 -1
  100. package/dist/types/src/component_space.d.ts +0 -211
  101. package/dist/types/src/component_space.d.ts.map +0 -1
  102. package/dist/types/src/data_path.d.ts +0 -5
  103. package/dist/types/src/data_path.d.ts.map +0 -1
  104. package/dist/types/src/data_proxy.d.ts +0 -107
  105. package/dist/types/src/data_proxy.d.ts.map +0 -1
  106. package/dist/types/src/data_utils.d.ts +0 -3
  107. package/dist/types/src/data_utils.d.ts.map +0 -1
  108. package/dist/types/src/element.d.ts +0 -365
  109. package/dist/types/src/element.d.ts.map +0 -1
  110. package/dist/types/src/element_iterator.d.ts +0 -43
  111. package/dist/types/src/element_iterator.d.ts.map +0 -1
  112. package/dist/types/src/event.d.ts +0 -105
  113. package/dist/types/src/event.d.ts.map +0 -1
  114. package/dist/types/src/external_shadow_tree.d.ts +0 -20
  115. package/dist/types/src/external_shadow_tree.d.ts.map +0 -1
  116. package/dist/types/src/func_arr.d.ts +0 -39
  117. package/dist/types/src/func_arr.d.ts.map +0 -1
  118. package/dist/types/src/global_options.d.ts +0 -120
  119. package/dist/types/src/global_options.d.ts.map +0 -1
  120. package/dist/types/src/index.d.ts +0 -43
  121. package/dist/types/src/index.d.ts.map +0 -1
  122. package/dist/types/src/mutation_observer.d.ts +0 -79
  123. package/dist/types/src/mutation_observer.d.ts.map +0 -1
  124. package/dist/types/src/native_node.d.ts +0 -11
  125. package/dist/types/src/native_node.d.ts.map +0 -1
  126. package/dist/types/src/node.d.ts +0 -48
  127. package/dist/types/src/node.d.ts.map +0 -1
  128. package/dist/types/src/relation.d.ts +0 -46
  129. package/dist/types/src/relation.d.ts.map +0 -1
  130. package/dist/types/src/render.d.ts +0 -3
  131. package/dist/types/src/render.d.ts.map +0 -1
  132. package/dist/types/src/selector.d.ts +0 -32
  133. package/dist/types/src/selector.d.ts.map +0 -1
  134. package/dist/types/src/shadow_root.d.ts +0 -174
  135. package/dist/types/src/shadow_root.d.ts.map +0 -1
  136. package/dist/types/src/template_engine.d.ts +0 -56
  137. package/dist/types/src/template_engine.d.ts.map +0 -1
  138. package/dist/types/src/text_node.d.ts +0 -44
  139. package/dist/types/src/text_node.d.ts.map +0 -1
  140. package/dist/types/src/tmpl/index.d.ts +0 -19
  141. package/dist/types/src/tmpl/index.d.ts.map +0 -1
  142. package/dist/types/src/tmpl/native_rendering.d.ts +0 -45
  143. package/dist/types/src/tmpl/native_rendering.d.ts.map +0 -1
  144. package/dist/types/src/tmpl/proc_gen_wrapper.d.ts +0 -89
  145. package/dist/types/src/tmpl/proc_gen_wrapper.d.ts.map +0 -1
  146. package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts +0 -50
  147. package/dist/types/src/tmpl/proc_gen_wrapper_dom.d.ts.map +0 -1
  148. package/dist/types/src/tmpl/range_list_diff.d.ts +0 -19
  149. package/dist/types/src/tmpl/range_list_diff.d.ts.map +0 -1
  150. package/dist/types/src/trait_behaviors.d.ts +0 -38
  151. package/dist/types/src/trait_behaviors.d.ts.map +0 -1
  152. package/dist/types/src/virtual_node.d.ts +0 -10
  153. package/dist/types/src/virtual_node.d.ts.map +0 -1
  154. package/dist/types/tests/backend/domlike.test.d.ts +0 -2
  155. package/dist/types/tests/backend/domlike.test.d.ts.map +0 -1
  156. package/dist/types/tests/base/composed_backend.d.ts +0 -123
  157. package/dist/types/tests/base/composed_backend.d.ts.map +0 -1
  158. package/dist/types/tests/base/env.d.ts +0 -30
  159. package/dist/types/tests/base/env.d.ts.map +0 -1
  160. package/dist/types/tests/base/match.d.ts +0 -9
  161. package/dist/types/tests/base/match.d.ts.map +0 -1
  162. package/dist/types/tests/core/backend.test.d.ts +0 -2
  163. package/dist/types/tests/core/backend.test.d.ts.map +0 -1
  164. package/dist/types/tests/core/behavior.test.d.ts +0 -2
  165. package/dist/types/tests/core/behavior.test.d.ts.map +0 -1
  166. package/dist/types/tests/core/component_space.test.d.ts +0 -2
  167. package/dist/types/tests/core/component_space.test.d.ts.map +0 -1
  168. package/dist/types/tests/core/data_update.test.d.ts +0 -2
  169. package/dist/types/tests/core/data_update.test.d.ts.map +0 -1
  170. package/dist/types/tests/core/misc.test.d.ts +0 -2
  171. package/dist/types/tests/core/misc.test.d.ts.map +0 -1
  172. package/dist/types/tests/core/placeholder.test.d.ts +0 -2
  173. package/dist/types/tests/core/placeholder.test.d.ts.map +0 -1
  174. package/dist/types/tests/core/slot.test.d.ts +0 -2
  175. package/dist/types/tests/core/slot.test.d.ts.map +0 -1
  176. package/dist/types/tests/core/trait_behaviors.test.d.ts +0 -2
  177. package/dist/types/tests/core/trait_behaviors.test.d.ts.map +0 -1
  178. package/dist/types/tests/tmpl/binding_map.test.d.ts +0 -2
  179. package/dist/types/tests/tmpl/binding_map.test.d.ts.map +0 -1
  180. package/dist/types/tests/tmpl/event.test.d.ts +0 -2
  181. package/dist/types/tests/tmpl/event.test.d.ts.map +0 -1
  182. package/dist/types/tests/tmpl/expression.test.d.ts +0 -2
  183. package/dist/types/tests/tmpl/expression.test.d.ts.map +0 -1
  184. package/dist/types/tests/tmpl/lvalue.test.d.ts +0 -2
  185. package/dist/types/tests/tmpl/lvalue.test.d.ts.map +0 -1
  186. package/dist/types/tests/tmpl/native_rendering.test.d.ts +0 -2
  187. package/dist/types/tests/tmpl/native_rendering.test.d.ts.map +0 -1
  188. package/dist/types/tests/tmpl/structure.test.d.ts +0 -2
  189. package/dist/types/tests/tmpl/structure.test.d.ts.map +0 -1
  190. package/dist/types/tests/types/chaining.test.d.ts +0 -2
  191. package/dist/types/tests/types/chaining.test.d.ts.map +0 -1
  192. package/dist/types/tests/types/createElement.test.d.ts +0 -2
  193. package/dist/types/tests/types/createElement.test.d.ts.map +0 -1
  194. package/dist/types/tests/types/definition.test.d.ts +0 -2
  195. package/dist/types/tests/types/definition.test.d.ts.map +0 -1
  196. package/webpack.config.js +0 -275
  197. /package/src/backend/{mode.ts → shared.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"domlike_backend_protocol.d.ts","sourceRoot":"","sources":["../../../../src/backend/domlike_backend_protocol.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- export declare const BM: {
2
- DYNAMIC: boolean;
3
- SHADOW: boolean;
4
- COMPOSED: boolean;
5
- DOMLIKE: boolean;
6
- };
7
- export declare const enum BackendMode {
8
- Shadow = 1,
9
- Composed = 2,
10
- Domlike = 3
11
- }
12
- export type BoundingClientRect = {
13
- left: number;
14
- top: number;
15
- width: number;
16
- height: number;
17
- };
18
- export type ScrollOffset = {
19
- scrollLeft: number;
20
- scrollTop: number;
21
- scrollWidth: number;
22
- scrollHeight: number;
23
- };
24
- export type CSSProperty = {
25
- name: string;
26
- value: string;
27
- disabled: boolean;
28
- invalid: boolean;
29
- };
30
- export type CSSRule = {
31
- sheetIndex: number;
32
- ruleIndex: number;
33
- mediaQueries: string[];
34
- selector: string;
35
- properties: CSSProperty[];
36
- weightHighBits: number;
37
- weightLowBits: number;
38
- };
39
- export type GetMatchedRulesResponses = {
40
- inline: CSSProperty[];
41
- rules: CSSRule[];
42
- };
43
- export type GetAllComputedStylesResponses = {
44
- properties: CSSProperty[];
45
- };
46
- export interface Observer {
47
- disconnect(): void;
48
- }
49
- export type IntersectionStatus = {
50
- intersectionRatio: number;
51
- boundingClientRect: BoundingClientRect;
52
- intersectionRect: BoundingClientRect;
53
- relativeRect: BoundingClientRect;
54
- time: number;
55
- };
56
- export type MediaQueryStatus = {
57
- minWidth?: number;
58
- maxWidth?: number;
59
- width?: number;
60
- minHeight?: number;
61
- maxHeight?: number;
62
- height?: number;
63
- orientation?: string;
64
- };
65
- //# sourceMappingURL=mode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../../../src/backend/mode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,EAAE;;;;;CAKd,CAAA;AAED,0BAAkB,WAAW;IAC3B,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,OAAO,IAAI;CACZ;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AACD,MAAM,MAAM,OAAO,GAAG;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,KAAK,EAAE,OAAO,EAAE,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,UAAU,EAAE,WAAW,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB,UAAU,IAAI,IAAI,CAAA;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,gBAAgB,EAAE,kBAAkB,CAAA;IACpC,YAAY,EAAE,kBAAkB,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA"}
@@ -1,30 +0,0 @@
1
- import { GeneralBackendContext, Node } from '../node';
2
- import { BoundingClientRect, GetAllComputedStylesResponses, GetMatchedRulesResponses, ScrollOffset } from './mode';
3
- interface GetWrapper<T> {
4
- get(): T;
5
- }
6
- export interface Element {
7
- getAllComputedStyles(cb: (res: GetAllComputedStylesResponses) => void): void;
8
- getBoundingClientRect(cb: (res: BoundingClientRect) => void): void;
9
- getMatchedRules(cb: (res: GetMatchedRulesResponses) => void): void;
10
- replaceStyleSheetInlineStyle(inlineStyle: string): void;
11
- getScrollOffset(cb: (res: ScrollOffset) => void): void;
12
- setScrollPosition(scrollLeft: number, scrollTop: number, duration: number): void;
13
- }
14
- export interface Context {
15
- createContext(options: unknown, cb: (ContextWrapper: GetWrapper<Partial<Context> & GeneralBackendContext>) => void): void;
16
- setFocusedNode(target: Node): void;
17
- getFocusedNode(): Node | undefined;
18
- elementFromPoint(left: number, top: number, cb: (node: Node) => void): void;
19
- addStyleSheetRule(mediaQueryStr: string, selector: string, callback: (ruleIndex: number | null) => void): void;
20
- getStyleSheetIndexForNewRules(callback: (sheetIndex: number) => void): void;
21
- resetStyleSheetRule(sheetIndex: number, ruleIndex: number, callback: (ruleIndex: number | null) => void): void;
22
- modifyStyleSheetRuleSelector(sheetIndex: number, ruleIndex: number, selector: string, callback: (ruleIndex: number | null) => void): void;
23
- addStyleSheetProperty(sheetIndex: number, ruleIndex: number, inlineStyle: string, callback: (propertyIndex: number | null) => void): void;
24
- replaceStyleSheetAllProperties(sheetIndex: number, ruleIndex: number, inlineStyle: string, callback: (propertyIndex: number | null) => void): void;
25
- setStyleSheetPropertyDisabled(sheetIndex: number, ruleIndex: number, propertyIndex: number, disabled: boolean, callback: (propertyIndex: number | null) => void): void;
26
- removeStyleSheetProperty(sheetIndex: number, ruleIndex: number, propertyIndex: number, callback: (propertyIndex: number | null) => void): void;
27
- replaceStyleSheetProperty(sheetIndex: number, ruleIndex: number, propertyIndex: number, inlineStyle: string, callback: (propertyIndex: number | null) => void): void;
28
- }
29
- export {};
30
- //# sourceMappingURL=suggested_backend_protocol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suggested_backend_protocol.d.ts","sourceRoot":"","sources":["../../../../src/backend/suggested_backend_protocol.ts"],"names":[],"mappings":"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"}
@@ -1,434 +0,0 @@
1
- import { ComponentParams, DataList, PropertyList, MethodList, ComponentInstance, PropertyListItem, ComponentMethod, RelationParams, PropertyType, TraitRelationParams, DataWithPropertyValues, PropertyOption, PropertyTypeToValueType, TaggedMethod, UnTaggedMethod, ChainingFilterFunc, ChainingFilterType, SetDataSetter, DeepReadonly, Empty, NewFieldList, ObserverDataPathStrings, GetFromObserverPathString, IsNever } from './component_params';
2
- import { ComponentOptions } from './global_options';
3
- import { MultiPaths } from './data_path';
4
- import { DataGroupObserverTree } from './data_proxy';
5
- import { ComponentDefinition, GeneralComponentDefinition, LifetimeFuncs, Lifetimes, PageLifetimeFuncs } from './component';
6
- import { RelationDefinition } from './relation';
7
- import { ComponentSpace, ComponentWaitingList } from './component_space';
8
- import { TraitBehavior } from './trait_behaviors';
9
- import { EventListener } from './event';
10
- export declare const enum NormalizedPropertyType {
11
- Invalid = "invalid",
12
- Any = "any",
13
- String = "string",
14
- Number = "number",
15
- Boolean = "boolean",
16
- Object = "object",
17
- Array = "array",
18
- Function = "function"
19
- }
20
- export type PropertyDefinition = {
21
- type: NormalizedPropertyType;
22
- optionalTypes: NormalizedPropertyType[] | null;
23
- value: unknown | undefined;
24
- default: (() => unknown) | undefined;
25
- observer: ((newValue: unknown, oldValue: unknown) => void) | null;
26
- comparer: ((newValue: unknown, oldValue: unknown) => boolean) | null;
27
- reflectIdPrefix: boolean;
28
- };
29
- export type ComponentDefinitionWithPlaceholder = {
30
- final: GeneralComponentDefinition | null;
31
- source: GeneralBehavior;
32
- placeholder: string | null;
33
- waiting: ComponentWaitingList | null;
34
- } | NativeNodeDefinition;
35
- export type NativeNodeDefinition = string;
36
- type ResolveBehaviorBuilder<B, TChainingFilter extends ChainingFilterType> = IsNever<TChainingFilter> extends false ? TChainingFilter extends ChainingFilterType ? Omit<B, TChainingFilter['remove']> & TChainingFilter['add'] : B : B;
37
- export declare const convertValueToType: (value: unknown, propName: string, prop: PropertyDefinition) => unknown;
38
- export declare const matchTypeWithValue: (type: NormalizedPropertyType, value: any) => boolean;
39
- export declare const normalizeRelation: <TOut extends {
40
- [key: string]: any;
41
- }>(ownerSpace: ComponentSpace, is: string, key: string, relation: RelationParams | TraitRelationParams<TOut>) => RelationDefinition | null;
42
- export interface RelationHandler<TTarget, TOut> {
43
- list(): TTarget[];
44
- listAsTrait: TOut extends never ? undefined : () => TOut[];
45
- }
46
- export interface RelationInit {
47
- (def: RelationParams): RelationHandler<any, never>;
48
- <TOut extends {
49
- [key: string]: any;
50
- }>(def: TraitRelationParams<TOut>): RelationHandler<unknown, TOut>;
51
- }
52
- export interface BuilderContext<TPrevData extends DataList, TProperty extends PropertyList, TMethodCaller> extends ThisType<TMethodCaller> {
53
- self: TMethodCaller;
54
- data: DeepReadonly<DataWithPropertyValues<TPrevData, TProperty>>;
55
- setData: (newData: Partial<SetDataSetter<TPrevData>>) => void;
56
- implement: <TIn extends {
57
- [x: string]: any;
58
- }>(traitBehavior: TraitBehavior<TIn, any>, impl: TIn) => void;
59
- relation<TOut extends {
60
- [key: string]: any;
61
- }>(def: TraitRelationParams<TOut>): RelationHandler<any, TOut>;
62
- relation(def: RelationParams): RelationHandler<any, never>;
63
- observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>, V = DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P>>>(paths: P, func: (newValue: V) => void): void;
64
- observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>[], V = {
65
- [K in keyof P]: DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P[K]>>;
66
- }>(paths: readonly [...P], func: (...newValues: V extends any[] ? V : never) => void): void;
67
- lifetime: <L extends keyof Lifetimes>(name: L, func: Lifetimes[L]) => void;
68
- pageLifetime: (name: string, func: (...args: any[]) => void) => void;
69
- method: <Fn extends ComponentMethod>(func: Fn) => TaggedMethod<Fn>;
70
- listener: <T>(func: EventListener<T>) => TaggedMethod<EventListener<T>>;
71
- }
72
- export type GeneralBehaviorBuilder = BehaviorBuilder<Record<string, any>, Record<string, any>, Record<string, any>, Record<string, any>, never, never>;
73
- export declare class BehaviorBuilder<TPrevData extends DataList = Empty, TData extends DataList = Empty, TProperty extends PropertyList = Empty, TMethod extends MethodList = Empty, TChainingFilter extends ChainingFilterType = never, TPendingChainingFilter extends ChainingFilterType = never> {
74
- /** @internal */
75
- _$ownerSpace: ComponentSpace;
76
- /** @internal */
77
- _$is: string | undefined;
78
- /** @internal */
79
- _$behaviors: (string | GeneralBehavior)[];
80
- /** @internal */
81
- _$chainingFilter?: (chain: GeneralBehaviorBuilder) => any;
82
- /** @internal */
83
- _$options?: ComponentOptions;
84
- /** @internal */
85
- _$traitBehaviors: {
86
- traitBehavior: TraitBehavior<any, any>;
87
- impl: any;
88
- }[];
89
- /** @internal */
90
- _$template?: {
91
- [key: string]: unknown;
92
- };
93
- /** @internal */
94
- _$using?: {
95
- [alias: string]: string | GeneralComponentDefinition;
96
- };
97
- /** @internal */
98
- _$placeholders?: {
99
- [alias: string]: string;
100
- };
101
- /** @internal */
102
- _$generics?: {
103
- [alias: string]: {
104
- default?: string | GeneralComponentDefinition;
105
- } | true;
106
- };
107
- /** @internal */
108
- _$externalClasses?: string[];
109
- /** @internal */
110
- _$staticData: {
111
- [field: string]: any;
112
- } | undefined;
113
- /** @internal */
114
- _$data: (() => {
115
- [field: string]: any;
116
- })[];
117
- /** @internal */
118
- _$properties?: {
119
- name: string;
120
- def: PropertyListItem<PropertyType, unknown>;
121
- }[];
122
- /** @internal */
123
- _$methods: {
124
- name: string;
125
- func: ComponentMethod;
126
- }[];
127
- /** @internal */
128
- _$observers?: {
129
- dataPaths: MultiPaths;
130
- func: ComponentMethod | string;
131
- once: boolean;
132
- }[];
133
- /** @internal */
134
- _$lifetimes: {
135
- name: string;
136
- func: ComponentMethod;
137
- once: boolean;
138
- }[];
139
- /** @internal */
140
- _$pageLifetimes?: {
141
- name: string;
142
- func: ComponentMethod;
143
- once: boolean;
144
- }[];
145
- /** @internal */
146
- _$listeners?: {
147
- [name: string]: ComponentMethod | string;
148
- };
149
- /** @internal */
150
- _$relations?: {
151
- name: string;
152
- rel: RelationParams;
153
- }[];
154
- /** @internal */
155
- _$init: ((this: any, ctx: any) => any)[];
156
- /** @internal */
157
- _$methodCallerInit?: (this: ComponentInstance<TData, TProperty, TMethod>) => any;
158
- /** @internal */
159
- constructor(is: string | undefined, ownerSpace: ComponentSpace);
160
- /**
161
- * Set a front-most init function
162
- *
163
- * It should return the method caller (the `this` value for various callbacks)
164
- * that will be used in future.
165
- */
166
- methodCallerInit(func: (this: ComponentInstance<TData, TProperty, TMethod>) => any): ResolveBehaviorBuilder<this, TChainingFilter>;
167
- /**
168
- * Add a behavior
169
- *
170
- * If the behavior contains a chaining filter, the chaining filter is called.
171
- */
172
- behavior<UData extends DataList, UProperty extends PropertyList, UMethod extends MethodList, UChainingFilter extends ChainingFilterType>(behavior: Behavior<UData, UProperty, UMethod, UChainingFilter>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData & UData, TProperty & UProperty, TMethod & UMethod, UChainingFilter, TPendingChainingFilter>, UChainingFilter>;
173
- /**
174
- * Set the chaining filter
175
- *
176
- * The chaining filter is the definition filter for chaining API.
177
- * It SHOULD return another chainable object for further chaining.
178
- */
179
- chainingFilter<TAddedFields extends {
180
- [key: string]: any;
181
- }, TRemovedFields extends string = never>(func: ChainingFilterFunc<TAddedFields, TRemovedFields>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty, TMethod, TChainingFilter, {
182
- add: TAddedFields;
183
- remove: TRemovedFields;
184
- }>, TChainingFilter>;
185
- /**
186
- * Set component options
187
- *
188
- * The options will be merged with previous settings.
189
- */
190
- options(options: ComponentOptions): ResolveBehaviorBuilder<this, TChainingFilter>;
191
- /**
192
- * Implement a trait behavior
193
- */
194
- implement<TIn extends {
195
- [key: string]: any;
196
- }>(traitBehavior: TraitBehavior<TIn, any>, impl: TIn): ResolveBehaviorBuilder<this, TChainingFilter>;
197
- /**
198
- * Set the compiled template object
199
- */
200
- template(template: {
201
- [key: string]: unknown;
202
- }): ResolveBehaviorBuilder<this, TChainingFilter>;
203
- /**
204
- * Add other components to the component using list
205
- */
206
- usingComponents<T extends Record<string, string | ComponentDefinition<any, any, any>>>(list: T): ResolveBehaviorBuilder<this, TChainingFilter>;
207
- /**
208
- * Add some placeholders
209
- *
210
- * The alias SHOULD be in the using list, otherwise it will be ignored.
211
- */
212
- placeholders(list: Record<string, string>): ResolveBehaviorBuilder<this, TChainingFilter>;
213
- /**
214
- * Add other generics
215
- *
216
- * The alias SHOULD NOT be in the using list, otherwise it will be ignored.
217
- */
218
- generics(list: Record<string, {
219
- default?: string | GeneralComponentDefinition;
220
- } | true>): ResolveBehaviorBuilder<this, TChainingFilter>;
221
- /**
222
- * Add external classes
223
- */
224
- externalClasses(list: string[]): ResolveBehaviorBuilder<this, TChainingFilter>;
225
- /**
226
- * Add some template data fields
227
- *
228
- * It does not support raw data, but a `gen` function which returns the new data fields.
229
- * The `gen` function executes once during component creation.
230
- */
231
- data<T extends DataList>(gen: () => NewFieldList<DataWithPropertyValues<TData, TProperty>, T>): ResolveBehaviorBuilder<BehaviorBuilder<T, TData & T, TProperty, TMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
232
- /**
233
- * Set the static template data fields
234
- *
235
- * The data will be cloned once during component creation.
236
- * If called multiple times, the static data will be overwritten but not merged!
237
- * Usually, the `data()` method is preferred.
238
- */
239
- staticData<T extends DataList>(data: NewFieldList<DataWithPropertyValues<TData, TProperty>, T>): ResolveBehaviorBuilder<BehaviorBuilder<T, TData & T, TProperty, TMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
240
- /**
241
- * Add a single property
242
- *
243
- * The property name should be different from other properties.
244
- */
245
- property<N extends string, T extends PropertyType, V extends PropertyTypeToValueType<T>>(name: N, def: N extends keyof (TData & TProperty) ? never : PropertyListItem<T, V>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty & Record<N, unknown extends V ? T : PropertyOption<T, V>>, TMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
246
- /**
247
- * Add a single public method
248
- *
249
- * The public method can be used as an event handler, and can be visited in component instance.
250
- */
251
- methods<T extends MethodList>(funcs: T & ThisType<ComponentInstance<TData, TProperty, TMethod & T>>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty, TMethod & T, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
252
- /**
253
- * Add a data observer
254
- */
255
- observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>, V = DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P>>>(paths: P, func: (this: ComponentInstance<TData, TProperty, TMethod>, newValue: V) => void, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
256
- observer<P extends ObserverDataPathStrings<DataWithPropertyValues<TPrevData, TProperty>>[], V = {
257
- [K in keyof P]: DeepReadonly<GetFromObserverPathString<DataWithPropertyValues<TPrevData, TProperty>, P[K]>>;
258
- }>(paths: readonly [...P], func: (this: ComponentInstance<TData, TProperty, TMethod>, ...newValues: V extends any[] ? V : never) => void, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
259
- /**
260
- * Add a lifetime callback
261
- */
262
- lifetime<L extends keyof Lifetimes>(name: L, func: (this: ComponentInstance<TData, TProperty, TMethod>, ...args: Parameters<Lifetimes[L]>) => ReturnType<Lifetimes[L]>, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
263
- /**
264
- * Add a page-lifetime callback
265
- */
266
- pageLifetime(name: string, func: (this: ComponentInstance<TData, TProperty, TMethod>, ...args: any[]) => any, once?: boolean): ResolveBehaviorBuilder<this, TChainingFilter>;
267
- /**
268
- * Add a relation
269
- */
270
- relation(name: string, rel: RelationParams & ThisType<ComponentInstance<TData, TProperty, TMethod>>): ResolveBehaviorBuilder<this, TChainingFilter>;
271
- /**
272
- * Execute a function while component instance creation
273
- *
274
- * A `BuilderContext` is provided to tweak the component creation progress.
275
- * The return value is used as the "export" value of the behavior,
276
- * which can be imported by other behaviors.
277
- */
278
- init<TExport extends Record<string, TaggedMethod<(...args: any[]) => any>> | void>(func: (this: ComponentInstance<TData, TProperty, TMethod>, builderContext: BuilderContext<TPrevData, TProperty, ComponentInstance<TData, TProperty, TMethod>>) => TExport): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData, TProperty, TMethod & (TExport extends void ? Empty : {
279
- [K in keyof TExport]: UnTaggedMethod<TExport[K]>;
280
- }), TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
281
- /**
282
- * Apply a classic-style definition
283
- */
284
- definition<TNewData extends DataList = Empty, TNewProperty extends PropertyList = Empty, TNewMethod extends MethodList = Empty>(def: ComponentParams<TNewData, TNewProperty, TNewMethod> & ThisType<ComponentInstance<TData & TNewData, TProperty & TNewProperty, TMethod & TNewMethod>>): ResolveBehaviorBuilder<BehaviorBuilder<TPrevData, TData & TNewData, TProperty & TNewProperty, TMethod & TNewMethod, TChainingFilter, TPendingChainingFilter>, TChainingFilter>;
285
- /**
286
- * Finish build, generate a behavior, and register it in the component space
287
- */
288
- registerBehavior(): Behavior<TData, TProperty, TMethod, TPendingChainingFilter>;
289
- /**
290
- * Finish build, generate a component definition, and register it in the component space
291
- */
292
- registerComponent(): ComponentDefinition<TData, TProperty, TMethod>;
293
- }
294
- /**
295
- * Common mixin-like behavior
296
- *
297
- * Each component definition contains a single *root* behavior.
298
- * A behavior can mixin other behaviors.
299
- */
300
- export declare class Behavior<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList, TChainingFilter extends ChainingFilterType> {
301
- /** @internal */
302
- private _$unprepared;
303
- is: string;
304
- ownerSpace: ComponentSpace;
305
- /** @internal */
306
- private _$builder;
307
- /** @internal */
308
- private _$flatAncestors;
309
- /** @internal */
310
- _$chainingFilter?: (chain: GeneralBehaviorBuilder) => TChainingFilter;
311
- /** @internal */
312
- _$options?: ComponentOptions;
313
- /** @internal */
314
- _$traitBehaviors?: {
315
- traitBehavior: TraitBehavior<any, any>;
316
- impl: any;
317
- }[];
318
- /** @internal */
319
- _$template?: {
320
- [key: string]: unknown;
321
- };
322
- /** @internal */
323
- _$using: {
324
- [alias: string]: ComponentDefinitionWithPlaceholder;
325
- };
326
- /** @internal */
327
- _$generics?: string[];
328
- /** @internal */
329
- _$genericDefaults?: {
330
- [alias: string]: null | GeneralComponentDefinition | NativeNodeDefinition;
331
- };
332
- /** @internal */
333
- _$externalClasses?: string[];
334
- /** @internal */
335
- _$staticData?: DataList;
336
- /** @internal */
337
- _$data: (() => {
338
- [field: string]: any;
339
- })[];
340
- /** @internal */
341
- _$propertyMap: {
342
- [name: string]: PropertyDefinition;
343
- };
344
- /** @internal */
345
- _$methodMap: {
346
- [name: string]: ComponentMethod;
347
- };
348
- /** @internal */
349
- _$observers: {
350
- dataPaths: MultiPaths;
351
- observer: ComponentMethod;
352
- once: boolean;
353
- }[];
354
- /** @internal */
355
- _$lifetimes: {
356
- name: string;
357
- func: ComponentMethod;
358
- once: boolean;
359
- }[];
360
- /** @internal */
361
- _$pageLifetimes?: {
362
- name: string;
363
- func: ComponentMethod;
364
- once: boolean;
365
- }[];
366
- /** @internal */
367
- _$listeners?: {
368
- id: string;
369
- ev: string;
370
- listener: ComponentMethod;
371
- }[];
372
- /** @internal */
373
- _$relationMap?: {
374
- [name: string]: RelationDefinition;
375
- };
376
- /** @internal */
377
- _$init: ((this: any, ctx: any) => any)[];
378
- /** @internal */
379
- _$methodCallerInit?: (this: ComponentInstance<TData, TProperty, TMethod>) => ComponentInstance<TData, TProperty, TMethod>;
380
- /**
381
- * Create a behavior with classic-style definition
382
- */
383
- static create<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList>(def: ComponentParams<TData, TProperty, TMethod> & ThisType<ComponentInstance<TData, TProperty, TMethod>>, ownerSpace?: ComponentSpace): Behavior<Empty & TData, Empty & TProperty, Empty & TMethod, never>;
384
- /** @internal */
385
- constructor(builder: BehaviorBuilder<any, TData, TProperty, TMethod, any, TChainingFilter>);
386
- general(): GeneralBehavior;
387
- /**
388
- * List all component dependencies (recursively)
389
- *
390
- * This method will prepare the underlying behavior.
391
- */
392
- getComponentDependencies(genericTargets?: {
393
- [name: string]: GeneralComponentDefinition | NativeNodeDefinition;
394
- }): Set<GeneralComponentDefinition>;
395
- /** Same as `prepare` method in the prototype (for backward compatibility) */
396
- static prepare<TData extends DataList, TProperty extends PropertyList, TMethod extends MethodList, TChainingFilter extends ChainingFilterType = never>(behavior: Behavior<TData, TProperty, TMethod, TChainingFilter>): void;
397
- /**
398
- * Execute the prepare phase (an optimization phase) of this behavior
399
- *
400
- * Every behavior needs this phase for better future performance.
401
- * However, this phase requires a little time for execution,
402
- * and requires its all dependent behaviors created.
403
- * If a dependent behavior is not prepared, then its prepare phase is also executed.
404
- */
405
- prepare(): void;
406
- /**
407
- * Get the template content
408
- *
409
- * This method is usually used by the template engine.
410
- */
411
- getTemplate(): {
412
- [key: string]: unknown;
413
- } | undefined;
414
- _$updateTemplate(template: {
415
- [key: string]: unknown;
416
- }): void;
417
- /** Check whether the `other` behavior is a dependent behavior of this behavior */
418
- hasBehavior(other: string | GeneralBehavior): boolean;
419
- /**
420
- * Get the methods
421
- *
422
- * Only valid after `prepare` .
423
- */
424
- getMethods(): TMethod;
425
- /** @internal */
426
- _$generateObserverTree(): DataGroupObserverTree;
427
- /** @internal */
428
- _$getAllLifetimeFuncs(): LifetimeFuncs;
429
- /** @internal */
430
- _$getAllPageLifetimeFuncs(): PageLifetimeFuncs;
431
- }
432
- export type GeneralBehavior = Behavior<Record<string, any>, Record<string, any>, Record<string, any>, any>;
433
- export {};
434
- //# sourceMappingURL=behavior.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../../src/behavior.ts"],"names":[],"mappings":"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"}