@dooboostore/simple-web-component 1.0.49 → 1.0.51

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 (251) hide show
  1. package/README.md +790 -337
  2. package/dist/cjs/SwcAppEngine.js.map +2 -2
  3. package/dist/cjs/decorators/addEventListener.js +1925 -22
  4. package/dist/cjs/decorators/addEventListener.js.map +2 -2
  5. package/dist/cjs/decorators/applyAttribute.js +41 -47
  6. package/dist/cjs/decorators/applyAttribute.js.map +2 -2
  7. package/dist/cjs/decorators/applyClass.js +14 -11
  8. package/dist/cjs/decorators/applyClass.js.map +2 -2
  9. package/dist/cjs/decorators/applyNode.js +19 -21
  10. package/dist/cjs/decorators/applyNode.js.map +2 -2
  11. package/dist/cjs/decorators/applyProperty.js +24 -48
  12. package/dist/cjs/decorators/applyProperty.js.map +2 -2
  13. package/dist/cjs/decorators/applySlot.js +9 -8
  14. package/dist/cjs/decorators/applySlot.js.map +2 -2
  15. package/dist/cjs/decorators/applyStyle.js +14 -11
  16. package/dist/cjs/decorators/applyStyle.js.map +2 -2
  17. package/dist/cjs/decorators/around.js +124 -0
  18. package/dist/cjs/decorators/around.js.map +7 -0
  19. package/dist/cjs/decorators/changedAttribute.js +61 -24
  20. package/dist/cjs/decorators/changedAttribute.js.map +2 -2
  21. package/dist/cjs/decorators/elementDefine.js +240 -196
  22. package/dist/cjs/decorators/elementDefine.js.map +3 -3
  23. package/dist/cjs/decorators/emitCustomEvent.js +14 -12
  24. package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
  25. package/dist/cjs/decorators/eventMedia.js +112 -0
  26. package/dist/cjs/decorators/eventMedia.js.map +7 -0
  27. package/dist/cjs/decorators/fetch.js +278 -0
  28. package/dist/cjs/decorators/fetch.js.map +7 -0
  29. package/dist/cjs/decorators/index.js +8 -2
  30. package/dist/cjs/decorators/index.js.map +2 -2
  31. package/dist/cjs/decorators/intersectionObserver.js +76 -65
  32. package/dist/cjs/decorators/intersectionObserver.js.map +2 -2
  33. package/dist/cjs/decorators/lifecycles.js +11 -11
  34. package/dist/cjs/decorators/lifecycles.js.map +2 -2
  35. package/dist/cjs/decorators/mutationObserver.js +97 -90
  36. package/dist/cjs/decorators/mutationObserver.js.map +3 -3
  37. package/dist/cjs/decorators/parameter.js +156 -0
  38. package/dist/cjs/decorators/parameter.js.map +7 -0
  39. package/dist/cjs/decorators/publishSwcAppMessage.js +2 -2
  40. package/dist/cjs/decorators/publishSwcAppMessage.js.map +2 -2
  41. package/dist/cjs/decorators/query.js +11 -5
  42. package/dist/cjs/decorators/query.js.map +2 -2
  43. package/dist/cjs/decorators/requestAnimationFrame.js +115 -0
  44. package/dist/cjs/decorators/requestAnimationFrame.js.map +7 -0
  45. package/dist/cjs/decorators/resizeObserver.js +84 -69
  46. package/dist/cjs/decorators/resizeObserver.js.map +3 -3
  47. package/dist/cjs/decorators/setInterval.js +65 -22
  48. package/dist/cjs/decorators/setInterval.js.map +2 -2
  49. package/dist/cjs/decorators/setTimeout.js +68 -22
  50. package/dist/cjs/decorators/setTimeout.js.map +2 -2
  51. package/dist/cjs/decorators/state.js +13 -10
  52. package/dist/cjs/decorators/state.js.map +2 -2
  53. package/dist/cjs/decorators/{subscribeSwcAppMessageWhileConnected.js → subscribeSwcAppMessage.js} +20 -21
  54. package/dist/cjs/decorators/subscribeSwcAppMessage.js.map +7 -0
  55. package/dist/cjs/decorators/{subscribeSwcAppRouteChangeWhileConnected.js → subscribeSwcAppRouteChange.js} +23 -19
  56. package/dist/cjs/decorators/subscribeSwcAppRouteChange.js.map +7 -0
  57. package/dist/cjs/decorators/swcAppRoute.js +149 -0
  58. package/dist/cjs/decorators/swcAppRoute.js.map +7 -0
  59. package/dist/cjs/elements/SwcApp.js +70 -0
  60. package/dist/cjs/elements/SwcApp.js.map +2 -2
  61. package/dist/cjs/elements/SwcAppMixin.js +256 -67
  62. package/dist/cjs/elements/SwcAppMixin.js.map +3 -3
  63. package/dist/cjs/types/index.js +5 -1
  64. package/dist/cjs/types/index.js.map +2 -2
  65. package/dist/cjs/types/window.d.js.map +1 -1
  66. package/dist/cjs/utils/Utils.js +36 -15
  67. package/dist/cjs/utils/Utils.js.map +2 -2
  68. package/dist/esm/SwcAppEngine.js.map +2 -2
  69. package/dist/esm/decorators/addEventListener.js +1925 -22
  70. package/dist/esm/decorators/addEventListener.js.map +2 -2
  71. package/dist/esm/decorators/applyAttribute.js +41 -47
  72. package/dist/esm/decorators/applyAttribute.js.map +2 -2
  73. package/dist/esm/decorators/applyClass.js +14 -11
  74. package/dist/esm/decorators/applyClass.js.map +2 -2
  75. package/dist/esm/decorators/applyNode.js +20 -22
  76. package/dist/esm/decorators/applyNode.js.map +2 -2
  77. package/dist/esm/decorators/applyProperty.js +24 -48
  78. package/dist/esm/decorators/applyProperty.js.map +2 -2
  79. package/dist/esm/decorators/applySlot.js +9 -8
  80. package/dist/esm/decorators/applySlot.js.map +2 -2
  81. package/dist/esm/decorators/applyStyle.js +14 -11
  82. package/dist/esm/decorators/applyStyle.js.map +2 -2
  83. package/dist/esm/decorators/around.js +105 -0
  84. package/dist/esm/decorators/around.js.map +7 -0
  85. package/dist/esm/decorators/changedAttribute.js +61 -24
  86. package/dist/esm/decorators/changedAttribute.js.map +2 -2
  87. package/dist/esm/decorators/elementDefine.js +238 -194
  88. package/dist/esm/decorators/elementDefine.js.map +3 -3
  89. package/dist/esm/decorators/emitCustomEvent.js +15 -13
  90. package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
  91. package/dist/esm/decorators/eventMedia.js +94 -0
  92. package/dist/esm/decorators/eventMedia.js.map +7 -0
  93. package/dist/esm/decorators/fetch.js +259 -0
  94. package/dist/esm/decorators/fetch.js.map +7 -0
  95. package/dist/esm/decorators/index.js +8 -2
  96. package/dist/esm/decorators/index.js.map +2 -2
  97. package/dist/esm/decorators/intersectionObserver.js +76 -65
  98. package/dist/esm/decorators/intersectionObserver.js.map +2 -2
  99. package/dist/esm/decorators/lifecycles.js +11 -11
  100. package/dist/esm/decorators/lifecycles.js.map +2 -2
  101. package/dist/esm/decorators/mutationObserver.js +97 -90
  102. package/dist/esm/decorators/mutationObserver.js.map +3 -3
  103. package/dist/esm/decorators/parameter.js +137 -0
  104. package/dist/esm/decorators/parameter.js.map +7 -0
  105. package/dist/esm/decorators/publishSwcAppMessage.js +2 -2
  106. package/dist/esm/decorators/publishSwcAppMessage.js.map +2 -2
  107. package/dist/esm/decorators/query.js +11 -5
  108. package/dist/esm/decorators/query.js.map +2 -2
  109. package/dist/esm/decorators/requestAnimationFrame.js +96 -0
  110. package/dist/esm/decorators/requestAnimationFrame.js.map +7 -0
  111. package/dist/esm/decorators/resizeObserver.js +84 -69
  112. package/dist/esm/decorators/resizeObserver.js.map +2 -2
  113. package/dist/esm/decorators/setInterval.js +65 -23
  114. package/dist/esm/decorators/setInterval.js.map +2 -2
  115. package/dist/esm/decorators/setTimeout.js +68 -23
  116. package/dist/esm/decorators/setTimeout.js.map +2 -2
  117. package/dist/esm/decorators/state.js +13 -10
  118. package/dist/esm/decorators/state.js.map +2 -2
  119. package/dist/esm/decorators/subscribeSwcAppMessage.js +53 -0
  120. package/dist/esm/decorators/subscribeSwcAppMessage.js.map +7 -0
  121. package/dist/esm/decorators/{subscribeSwcAppRouteChangeWhileConnected.js → subscribeSwcAppRouteChange.js} +20 -16
  122. package/dist/esm/decorators/subscribeSwcAppRouteChange.js.map +7 -0
  123. package/dist/esm/decorators/swcAppRoute.js +130 -0
  124. package/dist/esm/decorators/swcAppRoute.js.map +7 -0
  125. package/dist/esm/elements/SwcApp.js +70 -0
  126. package/dist/esm/elements/SwcApp.js.map +2 -2
  127. package/dist/esm/elements/SwcAppMixin.js +258 -69
  128. package/dist/esm/elements/SwcAppMixin.js.map +3 -3
  129. package/dist/esm/types/index.js +5 -1
  130. package/dist/esm/types/index.js.map +2 -2
  131. package/dist/esm/utils/Utils.js +36 -15
  132. package/dist/esm/utils/Utils.js.map +2 -2
  133. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +4395 -1266
  134. package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
  135. package/dist/types/SwcAppEngine.d.ts +1 -0
  136. package/dist/types/SwcAppEngine.d.ts.map +1 -1
  137. package/dist/types/decorators/addEventListener.d.ts +936 -11
  138. package/dist/types/decorators/addEventListener.d.ts.map +1 -1
  139. package/dist/types/decorators/applyAttribute.d.ts +27 -37
  140. package/dist/types/decorators/applyAttribute.d.ts.map +1 -1
  141. package/dist/types/decorators/applyClass.d.ts +2 -2
  142. package/dist/types/decorators/applyClass.d.ts.map +1 -1
  143. package/dist/types/decorators/applyNode.d.ts +16 -16
  144. package/dist/types/decorators/applyNode.d.ts.map +1 -1
  145. package/dist/types/decorators/applyProperty.d.ts +28 -44
  146. package/dist/types/decorators/applyProperty.d.ts.map +1 -1
  147. package/dist/types/decorators/applySlot.d.ts.map +1 -1
  148. package/dist/types/decorators/applyStyle.d.ts +2 -2
  149. package/dist/types/decorators/applyStyle.d.ts.map +1 -1
  150. package/dist/types/decorators/around.d.ts +87 -0
  151. package/dist/types/decorators/around.d.ts.map +1 -0
  152. package/dist/types/decorators/changedAttribute.d.ts +22 -4
  153. package/dist/types/decorators/changedAttribute.d.ts.map +1 -1
  154. package/dist/types/decorators/elementDefine.d.ts.map +1 -1
  155. package/dist/types/decorators/emitCustomEvent.d.ts +0 -1
  156. package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
  157. package/dist/types/decorators/eventMedia.d.ts +48 -0
  158. package/dist/types/decorators/eventMedia.d.ts.map +1 -0
  159. package/dist/types/decorators/fetch.d.ts +139 -0
  160. package/dist/types/decorators/fetch.d.ts.map +1 -0
  161. package/dist/types/decorators/index.d.ts +8 -2
  162. package/dist/types/decorators/index.d.ts.map +1 -1
  163. package/dist/types/decorators/intersectionObserver.d.ts +32 -10
  164. package/dist/types/decorators/intersectionObserver.d.ts.map +1 -1
  165. package/dist/types/decorators/lifecycles.d.ts +8 -7
  166. package/dist/types/decorators/lifecycles.d.ts.map +1 -1
  167. package/dist/types/decorators/mutationObserver.d.ts +34 -12
  168. package/dist/types/decorators/mutationObserver.d.ts.map +1 -1
  169. package/dist/types/decorators/parameter.d.ts +113 -0
  170. package/dist/types/decorators/parameter.d.ts.map +1 -0
  171. package/dist/types/decorators/publishSwcAppMessage.d.ts +0 -1
  172. package/dist/types/decorators/publishSwcAppMessage.d.ts.map +1 -1
  173. package/dist/types/decorators/query.d.ts +7 -7
  174. package/dist/types/decorators/query.d.ts.map +1 -1
  175. package/dist/types/decorators/requestAnimationFrame.d.ts +47 -0
  176. package/dist/types/decorators/requestAnimationFrame.d.ts.map +1 -0
  177. package/dist/types/decorators/resizeObserver.d.ts +34 -12
  178. package/dist/types/decorators/resizeObserver.d.ts.map +1 -1
  179. package/dist/types/decorators/setInterval.d.ts +27 -5
  180. package/dist/types/decorators/setInterval.d.ts.map +1 -1
  181. package/dist/types/decorators/setTimeout.d.ts +27 -5
  182. package/dist/types/decorators/setTimeout.d.ts.map +1 -1
  183. package/dist/types/decorators/state.d.ts.map +1 -1
  184. package/dist/types/decorators/subscribeSwcAppMessage.d.ts +44 -0
  185. package/dist/types/decorators/subscribeSwcAppMessage.d.ts.map +1 -0
  186. package/dist/types/decorators/subscribeSwcAppRouteChange.d.ts +60 -0
  187. package/dist/types/decorators/subscribeSwcAppRouteChange.d.ts.map +1 -0
  188. package/dist/types/decorators/swcAppRoute.d.ts +94 -0
  189. package/dist/types/decorators/swcAppRoute.d.ts.map +1 -0
  190. package/dist/types/elements/SwcApp.d.ts.map +1 -1
  191. package/dist/types/elements/SwcAppMixin.d.ts +423 -388
  192. package/dist/types/elements/SwcAppMixin.d.ts.map +1 -1
  193. package/dist/types/types/index.d.ts +43 -4
  194. package/dist/types/types/index.d.ts.map +1 -1
  195. package/dist/types/utils/Utils.d.ts +15 -5
  196. package/dist/types/utils/Utils.d.ts.map +1 -1
  197. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +4395 -1266
  198. package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
  199. package/package.json +8 -6
  200. package/src/SwcAppEngine.ts +1 -0
  201. package/src/decorators/addEventListener.ts +1086 -28
  202. package/src/decorators/applyAttribute.ts +82 -134
  203. package/src/decorators/applyClass.ts +14 -10
  204. package/src/decorators/applyNode.ts +39 -37
  205. package/src/decorators/applyProperty.ts +72 -100
  206. package/src/decorators/applySlot.ts +9 -8
  207. package/src/decorators/applyStyle.ts +14 -10
  208. package/src/decorators/around.ts +196 -0
  209. package/src/decorators/changedAttribute.ts +65 -26
  210. package/src/decorators/elementDefine.ts +298 -220
  211. package/src/decorators/emitCustomEvent.ts +17 -13
  212. package/src/decorators/eventMedia.ts +119 -0
  213. package/src/decorators/fetch.ts +454 -0
  214. package/src/decorators/index.ts +8 -2
  215. package/src/decorators/intersectionObserver.ts +108 -78
  216. package/src/decorators/lifecycles.ts +24 -22
  217. package/src/decorators/mutationObserver.ts +140 -104
  218. package/src/decorators/parameter.ts +212 -0
  219. package/src/decorators/publishSwcAppMessage.ts +3 -4
  220. package/src/decorators/query.ts +22 -14
  221. package/src/decorators/requestAnimationFrame.ts +149 -0
  222. package/src/decorators/resizeObserver.ts +119 -82
  223. package/src/decorators/setInterval.ts +90 -23
  224. package/src/decorators/setTimeout.ts +93 -23
  225. package/src/decorators/state.ts +19 -13
  226. package/src/decorators/subscribeSwcAppMessage.ts +106 -0
  227. package/src/decorators/subscribeSwcAppRouteChange.ts +131 -0
  228. package/src/decorators/swcAppRoute.ts +231 -0
  229. package/src/elements/SwcApp.ts +40 -10
  230. package/src/elements/SwcAppMixin.ts +329 -85
  231. package/src/types/index.ts +38 -5
  232. package/src/types/window.d.ts +2 -18
  233. package/src/utils/Utils.ts +50 -18
  234. package/dist/cjs/decorators/subscribeSwcAppMessageWhileConnected.js.map +0 -7
  235. package/dist/cjs/decorators/subscribeSwcAppRouteChangeWhileConnected.js.map +0 -7
  236. package/dist/cjs/examples/RxJSOperatorsExample.js +0 -285
  237. package/dist/cjs/examples/RxJSOperatorsExample.js.map +0 -7
  238. package/dist/esm/decorators/subscribeSwcAppMessageWhileConnected.js +0 -54
  239. package/dist/esm/decorators/subscribeSwcAppMessageWhileConnected.js.map +0 -7
  240. package/dist/esm/decorators/subscribeSwcAppRouteChangeWhileConnected.js.map +0 -7
  241. package/dist/esm/examples/RxJSOperatorsExample.js +0 -266
  242. package/dist/esm/examples/RxJSOperatorsExample.js.map +0 -7
  243. package/dist/types/decorators/subscribeSwcAppMessageWhileConnected.d.ts +0 -23
  244. package/dist/types/decorators/subscribeSwcAppMessageWhileConnected.d.ts.map +0 -1
  245. package/dist/types/decorators/subscribeSwcAppRouteChangeWhileConnected.d.ts +0 -31
  246. package/dist/types/decorators/subscribeSwcAppRouteChangeWhileConnected.d.ts.map +0 -1
  247. package/dist/types/examples/RxJSOperatorsExample.d.ts +0 -94
  248. package/dist/types/examples/RxJSOperatorsExample.d.ts.map +0 -1
  249. package/src/decorators/subscribeSwcAppMessageWhileConnected.ts +0 -91
  250. package/src/decorators/subscribeSwcAppRouteChangeWhileConnected.ts +0 -107
  251. package/src/examples/RxJSOperatorsExample.ts +0 -279
@@ -1,9 +1,24 @@
1
1
  import { SpecialSelector, SwcQueryOptions, SwcSelector, SwcFnSelector, HelperHostSet } from '../types';
2
2
  export interface MutationObserverBaseOptions extends MutationObserverInit {
3
+ /** 매칭 시 핸들러 실행 여부 게이트. Promise<boolean>도 되어 async 판정 가능. false면 스킵. */
3
4
  filter?: (matchedEls: HTMLElement[], meta: {
4
5
  currentThis: any;
5
6
  helper: HelperHostSet;
6
- }) => boolean;
7
+ }) => boolean | Promise<boolean>;
8
+ /** filter 통과 후 핸들러 직전 훅. await되고, 리턴값은 @mutationObserverBeforeReturn 으로 핸들러에 주입된다. */
9
+ before?: (matchedEls: HTMLElement[], meta: {
10
+ currentThis: any;
11
+ helper: HelperHostSet;
12
+ }) => any | Promise<any>;
13
+ /** 핸들러가 성공/실패해도 항상 실행되는 정리 훅. ctx로 결과/에러를 받는다. 에러는 로깅됨. */
14
+ finally?: (matchedEls: HTMLElement[], meta: {
15
+ currentThis: any;
16
+ helper: HelperHostSet;
17
+ }, ctx: {
18
+ args: any[];
19
+ result?: any;
20
+ error?: any;
21
+ }) => any | Promise<any>;
7
22
  removeObserver?: (target: Element, optionValue: MutationObserverQueryOptions) => void;
8
23
  }
9
24
  export type MutationObserverQueryOptions = MutationObserverBaseOptions & SwcQueryOptions & {
@@ -20,27 +35,34 @@ export declare const MUTATION_OBSERVER_METADATA_KEY: unique symbol;
20
35
  export declare function mutationObserver(target: SpecialSelector, options?: MutationObserverQueryOptions): MethodDecorator;
21
36
  export declare function mutationObserver(selector: string, options?: MutationObserverQueryOptions): MethodDecorator;
22
37
  export declare function mutationObserver(selector: SwcFnSelector, options?: MutationObserverNonQueryOptions): MethodDecorator;
23
- export declare function mutationObserver(options?: MutationObserverQueryOptions): MethodDecorator;
24
- export declare function mutationObserverThis<TEvent extends Event = Event>(options?: MutationObserverQueryOptions): MethodDecorator;
38
+ export declare function mutationObserver(options: MutationObserverQueryOptions): MethodDecorator;
39
+ export declare function mutationObserver(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
25
40
  export declare function mutationObserverDelegateLight(selector: string, options?: MutationObserverBaseOptions): MethodDecorator;
26
- export declare function mutationObserverDelegateLight(options?: MutationObserverBaseOptions): MethodDecorator;
41
+ export declare function mutationObserverDelegateLight(options: MutationObserverBaseOptions): MethodDecorator;
42
+ export declare function mutationObserverDelegateLight(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
27
43
  export declare function mutationObserverDelegateShadow(selector: string, options?: MutationObserverBaseOptions): MethodDecorator;
28
- export declare function mutationObserverDelegateShadow(options?: MutationObserverBaseOptions): MethodDecorator;
44
+ export declare function mutationObserverDelegateShadow(options: MutationObserverBaseOptions): MethodDecorator;
45
+ export declare function mutationObserverDelegateShadow(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
29
46
  export declare function mutationObserverDelegateAll(selector: string, options?: MutationObserverBaseOptions): MethodDecorator;
30
- export declare function mutationObserverDelegateAll(options?: MutationObserverBaseOptions): MethodDecorator;
47
+ export declare function mutationObserverDelegateAll(options: MutationObserverBaseOptions): MethodDecorator;
48
+ export declare function mutationObserverDelegateAll(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
31
49
  export declare function mutationObserverDelegate(selector: string, options?: MutationObserverBaseOptions): MethodDecorator;
32
- export declare function mutationObserverDelegate(options?: MutationObserverBaseOptions): MethodDecorator;
50
+ export declare function mutationObserverDelegate(options: MutationObserverBaseOptions): MethodDecorator;
51
+ export declare function mutationObserverDelegate(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
33
52
  export declare function mutationObserverLight(selector: string, options?: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
34
- export declare function mutationObserverLight(options?: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
53
+ export declare function mutationObserverLight(options: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
54
+ export declare function mutationObserverLight(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
35
55
  export declare function mutationObserverShadow(selector: string, options?: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
36
- export declare function mutationObserverShadow(options?: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
56
+ export declare function mutationObserverShadow(options: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
57
+ export declare function mutationObserverShadow(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
37
58
  export declare function mutationObserverAll(selector: string, options?: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
38
- export declare function mutationObserverAll(options?: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
59
+ export declare function mutationObserverAll(options: Omit<MutationObserverQueryOptions, 'root'>): MethodDecorator;
60
+ export declare function mutationObserverAll(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
39
61
  export declare function getMutationObserverMetadata(target: any): MutationObserverMetadata[] | undefined;
40
- import { ElementDefineLifeCycler, OnConnectedResult } from '../types';
62
+ import { ElementDefineLifeCycler, ObserverScope, OnConnectedResult, ResizeObserverSet } from '../types';
41
63
  export declare class MutationObserverLifeCycler implements ElementDefineLifeCycler {
42
64
  private readonly removeObserverCallbacksMap;
43
- onConnected(helperHostSet: HelperHostSet): OnConnectedResult | void;
65
+ onConnected(helperHostSet: HelperHostSet, _set?: ResizeObserverSet, scope?: ObserverScope): OnConnectedResult | void;
44
66
  onDisconnected(helperHostSet: HelperHostSet): void;
45
67
  }
46
68
  //# sourceMappingURL=mutationObserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutationObserver.d.ts","sourceRoot":"","sources":["../../../src/decorators/mutationObserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutationObserver.d.ts","sourceRoot":"","sources":["../../../src/decorators/mutationObserver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @eventObject/@matchedElement/@hostSet/@helperHostSet/@helperSet/@swcAppRouterEvent/@appMessage/@eventBeforeReturn —
3
+ * @event/lifecycle/subscribeSwcAppRouteChange/subscribeSwcAppMessage
4
+ * 계열 핸들러의 파라미터를 순서 무관하게 선언할 수 있게 해주는 파라미터 데코레이터.
5
+ * @dooboostore/simple-boot의 @Inject와 동일한 인덱스 기반 메타데이터 패턴을 따른다:
6
+ * 데코레이터가 실행되는 순서가 아니라 실제 parameterIndex로 슬롯을 매칭하므로,
7
+ * 사용자가 파라미터 선언 순서를 자유롭게 바꿔도 된다.
8
+ */
9
+ export type SwcParamKind = 'eventObject' | 'matchedElement' | 'hostSet' | 'helperHostSet' | 'helperSet' | 'swcAppRouterEvent' | 'appMessage' | 'eventBeforeReturn' | 'appMessageBeforeReturn' | 'routeChangeBeforeReturn' | 'eventMediaBeforeReturn' | 'mutationObserverBeforeReturn' | 'intersectionObserverBeforeReturn' | 'resizeObserverBeforeReturn' | 'changedAttributeBeforeReturn' | 'setTimeoutBeforeReturn' | 'setIntervalBeforeReturn' | 'fetchSettled' | SwcRouteParamKind;
10
+ /** 라우트 핸들러 전용 (subscribeSwcAppRouteChange 가 채움). kind 이름 = 데코레이터 이름 */
11
+ export type SwcRouteParamKind = 'swcAppRouteQueryParam' | 'swcAppRouteFirstQueryParam' | 'swcAppRouteLastQueryParam' | 'swcAppRouteQueryParams' | 'swcAppRouteQueryParamObject' | 'swcAppRouteFirstQueryParamObject' | 'swcAppRouteLastQueryParamObject' | 'swcAppRouteQueryParamsObject' | 'swcAppRouteURLSearchParams' | 'swcAppRoutePathVariable' | 'swcAppRouteFirstPathVariable' | 'swcAppRouteLastPathVariable' | 'swcAppRoutePathVariables' | 'swcAppRoutePathVariableObject' | 'swcAppRouteFirstPathVariableObject' | 'swcAppRouteLastPathVariableObject' | 'swcAppRoutePathVariablesObject';
12
+ /** key: @swcAppRouteQueryParam('q') 처럼 키를 받는 파라미터 데코레이터의 키 */
13
+ type SaveParamConfig = {
14
+ index: number;
15
+ kind: SwcParamKind;
16
+ key?: string;
17
+ };
18
+ /** 이벤트 핸들러의 원본 Event 객체를 주입한다. */
19
+ export declare function eventObject(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
20
+ /** delegate로 매칭된 실제 엘리먼트($matchedElement)를 주입한다. */
21
+ export declare function matchedElement(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
22
+ /** HostSet(호스트 트리 정보 — $host/$hosts/$firstHost/$appHost 등)을 주입한다. */
23
+ export declare function hostSet(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
24
+ /** HelperHostSet(HelperSet + HostSet + $this 전체 묶음)을 주입한다. */
25
+ export declare function helperHostSet(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
26
+ /** HelperSet($d/$w/$q/$qa/$qi 등 순수 DOM/window 헬퍼, 호스트 트리 정보 없음)을 주입한다. */
27
+ export declare function helperSet(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
28
+ /** @subscribeSwcAppRouteChange 핸들러의 라우트 변경 이벤트({...RouterEventType, pathData})를 주입한다. */
29
+ export declare function swcAppRouterEvent(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
30
+ /** @subscribeSwcAppMessage 핸들러의 SwcAppMessage 페이로드를 주입한다. */
31
+ export declare function appMessage(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
32
+ /**
33
+ * @event 계열의 before 훅이 이번 호출에 리턴한 값을 주입한다.
34
+ * (before에서 async로 준비한 데이터를 핸들러가 받는 용도. before 없으면 undefined)
35
+ * 예: @eventClick({ before: () => loadUser() }) onClick(@eventBeforeReturn user) { ... }
36
+ */
37
+ export declare function eventBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
38
+ /**
39
+ * @subscribeSwcAppMessage 의 before 훅이 이번 호출에 리턴한 값을 주입한다.
40
+ * (before에서 async로 준비한 데이터를 핸들러가 받는 용도. 없으면 undefined)
41
+ * 예: onMsg(@appMessage m, @appMessageBeforeReturn prepared) { ... }
42
+ */
43
+ export declare function appMessageBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
44
+ /**
45
+ * @subscribeSwcAppRouteChange 의 before 훅이 이번 호출에 리턴한 값을 주입한다.
46
+ * (before에서 async 가드/준비한 데이터를 핸들러가 받는 용도. 없으면 undefined)
47
+ * 예: routeChanged(@swcAppRouterEvent e, @routeChangeBeforeReturn guard) { ... }
48
+ */
49
+ export declare function routeChangeBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
50
+ /**
51
+ * @eventMedia 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined)
52
+ * 예: @eventMediaChange('(max-width:600px)', { before: () => ... }) onMobile(@eventMediaBeforeReturn v) { ... }
53
+ */
54
+ export declare function eventMediaBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
55
+ /** @mutationObserver 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined) */
56
+ export declare function mutationObserverBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
57
+ /** @intersectionObserver 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined) */
58
+ export declare function intersectionObserverBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
59
+ /** @resizeObserver 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined) */
60
+ export declare function resizeObserverBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
61
+ /** @changedAttribute 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined) */
62
+ export declare function changedAttributeBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
63
+ /** @setTimeout(type:'onConnected') 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined) */
64
+ export declare function setTimeoutBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
65
+ /** @setInterval(type:'onConnected') 의 before 훅이 이번 호출에 리턴한 값을 주입한다. (before 없으면 undefined) */
66
+ export declare function setIntervalBeforeReturn(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
67
+ /**
68
+ * @fetch(trigger:'before') 의 fetch settled 결과(PromiseSettledResult)를 주입한다.
69
+ * 예: save(@fetchSettled settled) { ... }
70
+ */
71
+ export declare function fetchSettled(target: Object, propertyKey: string | symbol, parameterIndex: number): void;
72
+ export declare const getParameterMetadata: (target: any, propertyKey: string | symbol) => SaveParamConfig[];
73
+ /**
74
+ * 위 파라미터 데코레이터 메타데이터가 하나라도 있으면 kind별 값을 index 순서에 맞게
75
+ * 배열로 조립하고, 하나도 없으면 기존 위치 인자(legacyArgs)를 그대로 반환한다 — 완전 하위호환.
76
+ */
77
+ export declare const buildSwcParameterArgs: (target: any, propertyKey: string | symbol, kindValues: Partial<Record<SwcParamKind, any>>, legacyArgs: any[]) => any[];
78
+ /** ?tag=a&tag=b → @swcAppRouteQueryParam('tag') = 'a' (없으면 null) */
79
+ export declare const swcAppRouteQueryParam: (key: string) => ParameterDecorator;
80
+ /** = swcAppRouteQueryParam */
81
+ export declare const swcAppRouteFirstQueryParam: (key: string) => ParameterDecorator;
82
+ /** ?tag=a&tag=b → 'b' */
83
+ export declare const swcAppRouteLastQueryParam: (key: string) => ParameterDecorator;
84
+ /** ?tag=a&tag=b → ['a', 'b'] */
85
+ export declare const swcAppRouteQueryParams: (key: string) => ParameterDecorator;
86
+ /** ?tag=a&tag=b → { tag: 'a' } */
87
+ export declare const swcAppRouteQueryParamObject: ParameterDecorator;
88
+ /** = swcAppRouteQueryParamObject */
89
+ export declare const swcAppRouteFirstQueryParamObject: ParameterDecorator;
90
+ /** ?tag=a&tag=b → { tag: 'b' } */
91
+ export declare const swcAppRouteLastQueryParamObject: ParameterDecorator;
92
+ /** ?tag=a&tag=b → { tag: ['a', 'b'] } */
93
+ export declare const swcAppRouteQueryParamsObject: ParameterDecorator;
94
+ /** URLSearchParams 그대로 */
95
+ export declare const swcAppRouteURLSearchParams: ParameterDecorator;
96
+ /** '/a/{id}/b/{id}' ← '/a/1/b/2' → @swcAppRoutePathVariable('id') = '1' */
97
+ export declare const swcAppRoutePathVariable: (key: string) => ParameterDecorator;
98
+ /** = swcAppRoutePathVariable */
99
+ export declare const swcAppRouteFirstPathVariable: (key: string) => ParameterDecorator;
100
+ /** → '2' */
101
+ export declare const swcAppRouteLastPathVariable: (key: string) => ParameterDecorator;
102
+ /** → ['1', '2'] */
103
+ export declare const swcAppRoutePathVariables: (key: string) => ParameterDecorator;
104
+ /** → { id: '1' } */
105
+ export declare const swcAppRoutePathVariableObject: ParameterDecorator;
106
+ /** = swcAppRoutePathVariableObject */
107
+ export declare const swcAppRouteFirstPathVariableObject: ParameterDecorator;
108
+ /** → { id: '2' } */
109
+ export declare const swcAppRouteLastPathVariableObject: ParameterDecorator;
110
+ /** → { id: ['1', '2'] } */
111
+ export declare const swcAppRoutePathVariablesObject: ParameterDecorator;
112
+ export {};
113
+ //# sourceMappingURL=parameter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parameter.d.ts","sourceRoot":"","sources":["../../../src/decorators/parameter.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,6 @@ export interface PublishSwcAppMessageOptions {
23
23
  valueKey?: symbol | string;
24
24
  }
25
25
  export declare function publishSwcAppMessage(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): PropertyDescriptor | void;
26
- export declare function publishSwcAppMessage(): MethodDecorator;
27
26
  export declare function publishSwcAppMessage(messageType: string): MethodDecorator;
28
27
  export declare function publishSwcAppMessage(messageType: string, options: PublishSwcAppMessageOptions): MethodDecorator;
29
28
  export declare function publishSwcAppMessage(options: PublishSwcAppMessageOptions): MethodDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"publishSwcAppMessage.d.ts","sourceRoot":"","sources":["../../../src/decorators/publishSwcAppMessage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oCAAoC,eAA6D,CAAC;AAE/G,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAwED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAE9I,wBAAgB,oBAAoB,IAAI,eAAe,CAAC;AACxD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;AAC3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,eAAe,CAAC;AACjH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe,CAAC;AA+B5F,eAAO,MAAM,cAAc,6BAAuB,CAAC;AAGnD,eAAO,MAAM,+BAA+B,GAAI,QAAQ,GAAG,KAAG,4BAA4B,EAAE,GAAG,SAG9F,CAAC"}
1
+ {"version":3,"file":"publishSwcAppMessage.d.ts","sourceRoot":"","sources":["../../../src/decorators/publishSwcAppMessage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oCAAoC,eAA6D,CAAC;AAE/G,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAwED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC;AAE9I,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;AAC3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,eAAe,CAAC;AACjH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe,CAAC;AA+B5F,eAAO,MAAM,cAAc,6BAAuB,CAAC;AAGnD,eAAO,MAAM,+BAA+B,GAAI,QAAQ,GAAG,KAAG,4BAA4B,EAAE,GAAG,SAG9F,CAAC"}
@@ -29,16 +29,16 @@ export declare const resolveQueryElements: (inst: any, selector: QuerySelector,
29
29
  * - 'all' / 'even'(0,2,4...) / 'odd'(1,3,5...) → 배열
30
30
  */
31
31
  export declare const pickElements: (all: HTMLElement[], pick: QueryPick) => HTMLElement | HTMLElement[] | null;
32
- export declare function query(target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor | void;
33
32
  export declare function query(selector: string, options?: QueryOptions): PropertyDecorator;
34
33
  export declare function query(selector: QueryFnSelector, options?: QueryNonQueryOptions): PropertyDecorator;
35
- export declare function query(options?: QueryOptions): PropertyDecorator;
34
+ export declare function query(options: QueryOptions): PropertyDecorator;
35
+ export declare function query(target: Object, propertyKey: string | symbol): void;
36
36
  export declare const getQueryMetadata: (target: any) => QueryMetadata[];
37
37
  export declare const QUERY_ALL_METADATA_KEY: symbol;
38
- export declare function queryAll(target: Object, propertyKey: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor | void;
39
38
  export declare function queryAll(selector: string, options?: Omit<QueryOptions, 'pick'>): PropertyDecorator;
40
39
  export declare function queryAll(selector: QueryFnSelector, options?: Omit<QueryNonQueryOptions, 'pick'>): PropertyDecorator;
41
- export declare function queryAll(options?: Omit<QueryOptions, 'pick'>): PropertyDecorator;
40
+ export declare function queryAll(options: Omit<QueryOptions, 'pick'>): PropertyDecorator;
41
+ export declare function queryAll(target: Object, propertyKey: string | symbol): void;
42
42
  export declare const getQueryAllMetadata: (target: any) => QueryMetadata[];
43
43
  /**
44
44
  * @queryShadow(selector, options?) — shadow DOM에서 요소를 쿼리
@@ -69,9 +69,9 @@ export declare function queryAllAll(selector: string | QueryFnSelector, options?
69
69
  * first/last/even/odd/all/number를 모두 지원하는 데코레이터를 생성한다.
70
70
  *
71
71
  * @example
72
- * @queryIn('shadow', 'even')('.item') // shadow DOM 짝수 인덱스들
73
- * @queryIn('light', 2)('.item') // light DOM 3번째 요소
74
- * @queryIn('all')('.item') // root all, pick 기본 first
72
+ * @(queryIn('shadow', 'even')('.item')) // shadow DOM 짝수 인덱스들 (호출이 이어지면 바깥 괄호 필요)
73
+ * @(queryIn('light', 2)('.item')) // light DOM 3번째 요소
74
+ * @(queryIn('all')('.item')) // root all, pick 기본 first
75
75
  */
76
76
  export declare const queryIn: (root: SwcRootType, pick?: QueryPick) => (selector: string | QueryFnSelector, options?: QueryBaseOptions) => PropertyDecorator;
77
77
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/decorators/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/decorators/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { ElementDefineLifeCycler, HelperHostSet } from '../types';
2
+ export declare const REQUEST_ANIMATION_FRAME_METADATA_KEY: unique symbol;
3
+ export type RequestAnimationFrameType = 'onConnected' | 'returnValue';
4
+ export interface RequestAnimationFrameOptions {
5
+ /**
6
+ * 'onConnected' - connect 시 자동으로 루프 시작 (매 프레임 데코레이트된 메서드를 직접 호출), disconnect 시 자동 정리.
7
+ * 'returnValue'(기본값) - 자동 시작 없음. 개발자가 이 메서드를 직접 호출해야 시작되고,
8
+ * 그 호출의 리턴값(또는 valueKey로 뽑은 값)이 실제로 매 프레임 호출될 함수가 된다.
9
+ */
10
+ type?: RequestAnimationFrameType;
11
+ /** 루프 시작 직후 1회 호출 (디버깅/로깅용). id는 첫 requestAnimationFrame 반환값 - cleanup은 자동으로 처리되므로 직접 취소할 필요 없음. */
12
+ created?: (set: HelperHostSet, id: number) => void;
13
+ /**
14
+ * type:'returnValue' 전용 - 리턴값이 함수면 그 자체를, 객체면 이 키의 값이 함수일 때 그 값을
15
+ * "매 프레임 호출될 함수"로 사용한다. 안 주면 REQUEST_ANIMATION_FRAME_METADATA_KEY로 폴백한다 -
16
+ * applyAttribute.ts/applyNode.ts의 valueKey와 동일한 컨벤션.
17
+ */
18
+ valueKey?: symbol | string;
19
+ }
20
+ export interface RequestAnimationFrameMetadata {
21
+ propertyKey: string | symbol;
22
+ options: RequestAnimationFrameOptions;
23
+ }
24
+ /**
25
+ * 프레임 콜백 시그니처.
26
+ * - timestamp: 이번 프레임의 시각 (requestAnimationFrame이 넘겨주는 값)
27
+ * - prevValue: 직전 호출이 리턴한 값 (첫 호출에서는 undefined)
28
+ * 리턴값이 undefined/null이면 다음 프레임을 예약하지 않고 루프가 멈춘다 (개발자가 종료를 제어).
29
+ * undefined/null이 아닌 값을 리턴하면 그 값 그대로 다음 호출의 prevValue로 전달된다.
30
+ */
31
+ export type FrameCallback = (timestamp: number, prevValue?: any) => any;
32
+ /**
33
+ * type:'onConnected' - connect 시 자동으로 매 프레임 루프를 시작하고, disconnect 시 자동으로 cancelAnimationFrame 한다.
34
+ * type:'returnValue'(기본값) - 메서드를 감싸지 않는 대신, 호출될 때마다(개발자가 직접 호출) 원본 로직을
35
+ * 그대로 실행하고 리턴값(또는 valueKey로 뽑은 값)이 함수면 그 함수를 매 프레임 호출되는 루프로 등록한다.
36
+ * 원본 리턴값은 그대로 통과시키므로 다른 데코레이터와 같은 메서드에 스택해도 순서에 상관없이 안전하다.
37
+ *
38
+ * 옵션 없이 `@requestAnimationFrame` 그대로 붙여도 되고, `@requestAnimationFrame({...})`처럼 옵션을 줄 수도 있다.
39
+ */
40
+ export declare function requestAnimationFrame(options: RequestAnimationFrameOptions): MethodDecorator;
41
+ export declare function requestAnimationFrame(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
42
+ export declare const findAllRequestAnimationFrameMetadata: (target: any) => RequestAnimationFrameMetadata[];
43
+ export declare class RequestAnimationFrameLifeCycler implements ElementDefineLifeCycler {
44
+ onConnected(helperHostSet: HelperHostSet): void;
45
+ onDisconnected(helperHostSet: HelperHostSet): void;
46
+ }
47
+ //# sourceMappingURL=requestAnimationFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestAnimationFrame.d.ts","sourceRoot":"","sources":["../../../src/decorators/requestAnimationFrame.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,oCAAoC,eAA6D,CAAC;AAE/G,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,aAAa,CAAC;AAEtE,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,IAAI,CAAC,EAAE,yBAAyB,CAAC;IACjC,oGAAoG;IACpG,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;AA2DxE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,eAAe,CAAC;AAC9F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;AAa1H,eAAO,MAAM,oCAAoC,GAAI,QAAQ,GAAG,KAAG,6BAA6B,EAG/F,CAAC;AAEF,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAY/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
@@ -1,10 +1,25 @@
1
1
  import { SpecialSelector, SwcQueryOptions, SwcFnSelector, SwcSelector, HelperHostSet } from '../types';
2
2
  export interface ResizeObserverBaseOptions {
3
3
  box?: 'content-box' | 'border-box' | 'device-pixel-content-box';
4
+ /** 매칭 시 핸들러 실행 여부 게이트. Promise<boolean>도 되어 async 판정 가능. false면 스킵. */
4
5
  filter?: (matchedEls: HTMLElement[], meta: {
5
6
  currentThis: any;
6
7
  helper: HelperHostSet;
7
- }) => boolean;
8
+ }) => boolean | Promise<boolean>;
9
+ /** filter 통과 후 핸들러 직전 훅. await되고, 리턴값은 @resizeObserverBeforeReturn 으로 핸들러에 주입된다. */
10
+ before?: (matchedEls: HTMLElement[], meta: {
11
+ currentThis: any;
12
+ helper: HelperHostSet;
13
+ }) => any | Promise<any>;
14
+ /** 핸들러가 성공/실패해도 항상 실행되는 정리 훅. ctx로 인자/결과/에러를 받는다. 에러는 로깅됨. */
15
+ finally?: (matchedEls: HTMLElement[], meta: {
16
+ currentThis: any;
17
+ helper: HelperHostSet;
18
+ }, ctx: {
19
+ args: any[];
20
+ result?: any;
21
+ error?: any;
22
+ }) => any | Promise<any>;
8
23
  removeObserver?: (target: Element, optionValue: ResizeObserverOptions) => void;
9
24
  }
10
25
  export type ResizeObserverQueryOptions = ResizeObserverBaseOptions & SwcQueryOptions & {
@@ -22,27 +37,34 @@ export declare const RESIZE_OBSERVER_METADATA_KEY: unique symbol;
22
37
  export declare function resizeObserver(target: SpecialSelector, options?: ResizeObserverQueryOptions): MethodDecorator;
23
38
  export declare function resizeObserver(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
24
39
  export declare function resizeObserver(selector: SwcFnSelector, options?: ResizeObserverNonQueryOptions): MethodDecorator;
25
- export declare function resizeObserver(options?: ResizeObserverQueryOptions): MethodDecorator;
26
- export declare function resizeObserverThis(options?: ResizeObserverQueryOptions): MethodDecorator;
40
+ export declare function resizeObserver(options: ResizeObserverQueryOptions): MethodDecorator;
41
+ export declare function resizeObserver(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
27
42
  export declare function resizeObserverDelegateLight(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
28
- export declare function resizeObserverDelegateLight(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
43
+ export declare function resizeObserverDelegateLight(options: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
44
+ export declare function resizeObserverDelegateLight(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
29
45
  export declare function resizeObserverDelegateShadow(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
30
- export declare function resizeObserverDelegateShadow(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
46
+ export declare function resizeObserverDelegateShadow(options: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
47
+ export declare function resizeObserverDelegateShadow(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
31
48
  export declare function resizeObserverDelegateAll(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
32
- export declare function resizeObserverDelegateAll(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
49
+ export declare function resizeObserverDelegateAll(options: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
50
+ export declare function resizeObserverDelegateAll(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
33
51
  export declare function resizeObserverDelegate(selector: string, options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
34
- export declare function resizeObserverDelegate(options?: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
52
+ export declare function resizeObserverDelegate(options: Omit<ResizeObserverQueryOptions, 'delegate'>): MethodDecorator;
53
+ export declare function resizeObserverDelegate(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
35
54
  export declare function resizeObserverLight(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
36
- export declare function resizeObserverLight(options?: ResizeObserverQueryOptions): MethodDecorator;
55
+ export declare function resizeObserverLight(options: ResizeObserverQueryOptions): MethodDecorator;
56
+ export declare function resizeObserverLight(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
37
57
  export declare function resizeObserverShadow(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
38
- export declare function resizeObserverShadow(options?: ResizeObserverQueryOptions): MethodDecorator;
58
+ export declare function resizeObserverShadow(options: ResizeObserverQueryOptions): MethodDecorator;
59
+ export declare function resizeObserverShadow(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
39
60
  export declare function resizeObserverAll(selector: string, options?: ResizeObserverQueryOptions): MethodDecorator;
40
- export declare function resizeObserverAll(options?: ResizeObserverQueryOptions): MethodDecorator;
61
+ export declare function resizeObserverAll(options: ResizeObserverQueryOptions): MethodDecorator;
62
+ export declare function resizeObserverAll(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): void;
41
63
  export declare function getResizeObserverMetadata(target: any): ResizeObserverMetadata[] | undefined;
42
- import { ElementDefineLifeCycler, OnConnectedResult } from '../types';
64
+ import { ElementDefineLifeCycler, ObserverScope, OnConnectedResult, ResizeObserverSet } from '../types';
43
65
  export declare class ResizeObserverLifeCycler implements ElementDefineLifeCycler {
44
66
  private readonly removeObserverCallbacksMap;
45
- onConnected(helperHostSet: HelperHostSet): OnConnectedResult | void;
67
+ onConnected(helperHostSet: HelperHostSet, _set?: ResizeObserverSet, scope?: ObserverScope): OnConnectedResult | void;
46
68
  onDisconnected(helperHostSet: HelperHostSet): void;
47
69
  }
48
70
  //# sourceMappingURL=resizeObserver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizeObserver.d.ts","sourceRoot":"","sources":["../../../src/decorators/resizeObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGvG,MAAM,WAAW,yBAAyB;IACxC,GAAG,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,0BAA0B,CAAC;IAChE,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE;QAAE,WAAW,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC;IACnG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAChF;AAGD,MAAM,MAAM,0BAA0B,GAAG,yBAAyB,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9G,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,CAAC;AAG/D,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,MAAM,GAAG,0BAA0B,GAAG,6BAA6B,CAAC;AAE3I,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,eAAO,MAAM,4BAA4B,eAAqD,CAAC;AAE/F,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAC/G,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AACxG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,6BAA6B,GAAG,eAAe,CAAC;AAClH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AA6BtF,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAExF;AAID,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AACvI,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAQrH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AACxI,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAQtH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AACrI,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAQnH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAClI,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,GAAG,eAAe,CAAC;AAUhH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAC7G,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAQ3F,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAC9G,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAQ5F,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAC3G,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,CAAC;AAQzF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,GAAG,GAAG,sBAAsB,EAAE,GAAG,SAAS,CAG3F;AAQD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAA6C,MAAM,UAAU,CAAC;AAGjH,qBAAa,wBAAyB,YAAW,uBAAuB;IACtE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA+G;IAE1J,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,iBAAiB,GAAG,IAAI;IA+EnE,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAOnD"}
1
+ {"version":3,"file":"resizeObserver.d.ts","sourceRoot":"","sources":["../../../src/decorators/resizeObserver.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,32 @@
1
1
  import { ElementDefineLifeCycler, HelperHostSet } from '../types';
2
2
  export declare const SET_INTERVAL_METADATA_KEY: unique symbol;
3
+ export type SetIntervalType = 'onConnected' | 'returnValue';
3
4
  export interface SetIntervalOptions {
4
- /** 매 tick마다 데코레이트된 메서드에 넘길 인자를 계산. 없으면 인자 없이 호출. */
5
+ /**
6
+ * 'onConnected' (connect 시 자동으로 시작, disconnect 시 자동 정리) |
7
+ * 'returnValue' (기본값 - 자동 시작 없음. 개발자가 이 메서드를 직접 호출해야 시작되고,
8
+ * 그 호출의 리턴값이 실제로 반복 실행될 함수가 된다 - 아래 설명 참고).
9
+ */
10
+ type?: SetIntervalType;
11
+ /** 매 tick마다 데코레이트된 메서드에 넘길 인자를 계산. type:'onConnected'에서만 의미가 있음 (없으면 인자 없이 호출). */
5
12
  parameter?: (set: HelperHostSet) => any[];
6
13
  /** 타이머 등록 직후 1회 호출 (디버깅/로깅용). id는 실제 setInterval 반환값 - cleanup은 자동으로 처리되므로 직접 clear할 필요 없음. */
7
14
  created?: (set: HelperHostSet, id: number) => void;
15
+ /** [type:'onConnected' 전용] 매 tick 실행 여부 게이트. Promise<boolean>도 가능. false면 이 tick 스킵. */
16
+ filter?: (set: HelperHostSet) => boolean | Promise<boolean>;
17
+ /** [type:'onConnected' 전용] tick 핸들러 직전 훅. await되고, 리턴값은 @setIntervalBeforeReturn 으로 주입된다. */
18
+ before?: (set: HelperHostSet) => any | Promise<any>;
19
+ /** [type:'onConnected' 전용] tick 핸들러가 성공/실패해도 항상 실행되는 정리 훅. ctx로 인자/결과/에러. */
20
+ finally?: (set: HelperHostSet, ctx: {
21
+ args: any[];
22
+ result?: any;
23
+ error?: any;
24
+ }) => any | Promise<any>;
8
25
  /**
9
- * 매 tick마다 데코레이트된 메서드의 리턴값이 객체이고 이 키의 값이 함수이면 (id: number)로 호출한다.
10
- * applyAttribute.ts의 valueKey와 동일한 컨벤션 - 리턴 객체에서 이 데코레이터 몫만 뽑아 쓴다.
26
+ * type:'onConnected' - 매 tick마다 데코레이트된 메서드의 리턴값이 객체이고 이 키의 값이 함수이면 (id: number)로 호출한다.
27
+ * type:'returnValue' - 리턴값이 함수면 그 자체를, 객체면 이 키의 값이 함수일 때 그 값을 "실제로 반복 실행될 함수"로 사용한다.
28
+ * 안 주면 SET_INTERVAL_METADATA_KEY로 폴백한다 - applyAttribute.ts/applyNode.ts의 valueKey와 동일한 컨벤션
29
+ * (리턴 객체에서 이 데코레이터 몫만 뽑아 쓰고, 다른 데코레이터와 스택할 때만 커스텀 키로 구분하면 된다).
11
30
  */
12
31
  valueKey?: symbol | string;
13
32
  }
@@ -17,12 +36,15 @@ export interface SetIntervalMetadata {
17
36
  options: SetIntervalOptions;
18
37
  }
19
38
  /**
20
- * connect 시 자동으로 setInterval을 걸고, disconnect 시 자동으로 clearInterval 한다.
39
+ * type:'onConnected' - connect 시 자동으로 setInterval을 걸고, disconnect 시 자동으로 clearInterval 한다.
40
+ * type:'returnValue'(기본값) - 메서드를 감싸지 않는 대신, 호출될 때마다(개발자가 직접 호출) 원본 로직을
41
+ * 그대로 실행하고 리턴값(또는 valueKey로 뽑은 값)이 함수면 그 함수를 새 setInterval의 반복 콜백으로 등록한다.
42
+ * 호출할 때마다 별도의 새 타이머가 생기며, disconnect 시 전부 정리된다. 원본 리턴값은 그대로 통과시키므로
43
+ * 다른 데코레이터와 같은 메서드에 스택해도 순서에 상관없이 안전하다.
21
44
  */
22
45
  export declare function setInterval(interval: number, options?: SetIntervalOptions): MethodDecorator;
23
46
  export declare const findAllSetIntervalMetadata: (target: any) => SetIntervalMetadata[];
24
47
  export declare class SetIntervalLifeCycler implements ElementDefineLifeCycler {
25
- private readonly activeMap;
26
48
  onConnected(helperHostSet: HelperHostSet): void;
27
49
  onDisconnected(helperHostSet: HelperHostSet): void;
28
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setInterval.d.ts","sourceRoot":"","sources":["../../../src/decorators/setInterval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,yBAAyB,eAAkD,CAAC;AAEzF,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC;IAC1C,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,eAAe,CAU/F;AAED,eAAO,MAAM,0BAA0B,GAAI,QAAQ,GAAG,KAAG,mBAAmB,EAG3E,CAAC;AAEF,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAsB/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
1
+ {"version":3,"file":"setInterval.d.ts","sourceRoot":"","sources":["../../../src/decorators/setInterval.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,yBAAyB,eAAkD,CAAC;AAEzF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC;IAC1C,+FAA+F;IAC/F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,6FAA6F;IAC7F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,6EAA6E;IAC7E,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtG;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAID;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,eAAe,CAyC/F;AAED,eAAO,MAAM,0BAA0B,GAAI,QAAQ,GAAG,KAAG,mBAAmB,EAG3E,CAAC;AAEF,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAmC/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
@@ -1,13 +1,32 @@
1
1
  import { ElementDefineLifeCycler, HelperHostSet } from '../types';
2
2
  export declare const SET_TIMEOUT_METADATA_KEY: unique symbol;
3
+ export type SetTimeoutType = 'onConnected' | 'returnValue';
3
4
  export interface SetTimeoutOptions {
4
- /** 실행 시 데코레이트된 메서드에 넘길 인자를 계산. 없으면 인자 없이 호출. */
5
+ /**
6
+ * 'onConnected' (connect 시 자동으로 예약, disconnect 시 자동 정리) |
7
+ * 'returnValue' (기본값 - 자동 예약 없음. 개발자가 이 메서드를 직접 호출해야 예약되고,
8
+ * 그 호출의 리턴값이 실제로 실행될 함수가 된다 - 아래 설명 참고).
9
+ */
10
+ type?: SetTimeoutType;
11
+ /** 실행 시 데코레이트된 메서드에 넘길 인자를 계산. type:'onConnected'에서만 의미가 있음 (없으면 인자 없이 호출). */
5
12
  parameter?: (set: HelperHostSet) => any[];
6
13
  /** 타이머 등록 직후 1회 호출 (디버깅/로깅용). id는 실제 setTimeout 반환값 - cleanup은 자동으로 처리되므로 직접 clear할 필요 없음. */
7
14
  created?: (set: HelperHostSet, id: number) => void;
15
+ /** [type:'onConnected' 전용] 발화 여부 게이트. Promise<boolean>도 가능. false면 스킵. */
16
+ filter?: (set: HelperHostSet) => boolean | Promise<boolean>;
17
+ /** [type:'onConnected' 전용] 핸들러 직전 훅. await되고, 리턴값은 @setTimeoutBeforeReturn 으로 주입된다. */
18
+ before?: (set: HelperHostSet) => any | Promise<any>;
19
+ /** [type:'onConnected' 전용] 핸들러가 성공/실패해도 항상 실행되는 정리 훅. ctx로 인자/결과/에러. */
20
+ finally?: (set: HelperHostSet, ctx: {
21
+ args: any[];
22
+ result?: any;
23
+ error?: any;
24
+ }) => any | Promise<any>;
8
25
  /**
9
- * fire 시 데코레이트된 메서드의 리턴값이 객체이고 이 키의 값이 함수이면 (id: number)로 호출한다.
10
- * applyAttribute.ts의 valueKey와 동일한 컨벤션 - 리턴 객체에서 이 데코레이터 몫만 뽑아 쓴다.
26
+ * type:'onConnected' - fire 시 데코레이트된 메서드의 리턴값이 객체이고 이 키의 값이 함수이면 (id: number)로 호출한다.
27
+ * type:'returnValue' - 리턴값이 함수면 그 자체를, 객체면 이 키의 값이 함수일 때 그 값을 "실제로 실행될 함수"로 사용한다.
28
+ * 안 주면 SET_TIMEOUT_METADATA_KEY로 폴백한다 - applyAttribute.ts/applyNode.ts의 valueKey와 동일한 컨벤션
29
+ * (리턴 객체에서 이 데코레이터 몫만 뽑아 쓰고, 다른 데코레이터와 스택할 때만 커스텀 키로 구분하면 된다).
11
30
  */
12
31
  valueKey?: symbol | string;
13
32
  }
@@ -17,12 +36,15 @@ export interface SetTimeoutMetadata {
17
36
  options: SetTimeoutOptions;
18
37
  }
19
38
  /**
20
- * connect 시 자동으로 setTimeout을 걸고, disconnect 시 (아직 실행 전이라면) 자동으로 clearTimeout 한다.
39
+ * type:'onConnected' - connect 시 자동으로 setTimeout을 걸고, disconnect 시 (아직 실행 전이라면) 자동으로 clearTimeout 한다.
40
+ * type:'returnValue'(기본값) - 메서드를 감싸지 않는 대신, 호출될 때마다(개발자가 직접 호출) 원본 로직을
41
+ * 그대로 실행하고 리턴값(또는 valueKey로 뽑은 값)이 함수면 그 함수를 새 setTimeout으로 예약한다.
42
+ * 호출할 때마다 별도의 새 타이머가 생기며, disconnect 시 (아직 실행 전인 것들은) 전부 정리된다.
43
+ * 원본 리턴값은 그대로 통과시키므로 다른 데코레이터와 같은 메서드에 스택해도 순서에 상관없이 안전하다.
21
44
  */
22
45
  export declare function setTimeout(delay: number, options?: SetTimeoutOptions): MethodDecorator;
23
46
  export declare const findAllSetTimeoutMetadata: (target: any) => SetTimeoutMetadata[];
24
47
  export declare class SetTimeoutLifeCycler implements ElementDefineLifeCycler {
25
- private readonly activeMap;
26
48
  onConnected(helperHostSet: HelperHostSet): void;
27
49
  onDisconnected(helperHostSet: HelperHostSet): void;
28
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setTimeout.d.ts","sourceRoot":"","sources":["../../../src/decorators/setTimeout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,wBAAwB,eAAiD,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC;IAC1C,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,eAAe,CAU1F;AAED,eAAO,MAAM,yBAAyB,GAAI,QAAQ,GAAG,KAAG,kBAAkB,EAGzE,CAAC;AAEF,qBAAa,oBAAqB,YAAW,uBAAuB;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAsB/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
1
+ {"version":3,"file":"setTimeout.d.ts","sourceRoot":"","sources":["../../../src/decorators/setTimeout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAElE,eAAO,MAAM,wBAAwB,eAAiD,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC;IAC1C,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,uFAAuF;IACvF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtG;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAID;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,eAAe,CA4C1F;AAED,eAAO,MAAM,yBAAyB,GAAI,QAAQ,GAAG,KAAG,kBAAkB,EAGzE,CAAC;AAEF,qBAAa,oBAAqB,YAAW,uBAAuB;IAClE,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAmC/C,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;CAWnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/decorators/state.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,kBAAkB,eAA2C,CAAC;AAI3E,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC1E,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;AAgEvD,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,KAAG,aAAa,EAG/D,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/decorators/state.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,kBAAkB,eAA2C,CAAC;AAI3E,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC1E,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;AAuEvD,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,KAAG,aAAa,EAG/D,CAAC"}