@wcstack/state 1.3.13 → 1.3.15

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 (571) hide show
  1. package/README.ja.md +20 -2
  2. package/README.md +20 -2
  3. package/dist/index.esm.js +24 -2
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.esm.min.js +1 -1
  6. package/dist/index.esm.min.js.map +1 -1
  7. package/package.json +5 -4
  8. package/dist/address/AbsolutePathInfo.d.ts +0 -4
  9. package/dist/address/AbsolutePathInfo.d.ts.map +0 -1
  10. package/dist/address/AbsolutePathInfo.js +0 -33
  11. package/dist/address/AbsolutePathInfo.js.map +0 -1
  12. package/dist/address/AbsoluteStateAddress.d.ts +0 -4
  13. package/dist/address/AbsoluteStateAddress.d.ts.map +0 -1
  14. package/dist/address/AbsoluteStateAddress.js +0 -56
  15. package/dist/address/AbsoluteStateAddress.js.map +0 -1
  16. package/dist/address/PathInfo.d.ts +0 -3
  17. package/dist/address/PathInfo.d.ts.map +0 -1
  18. package/dist/address/PathInfo.js +0 -104
  19. package/dist/address/PathInfo.js.map +0 -1
  20. package/dist/address/ResolvedAddress.d.ts +0 -31
  21. package/dist/address/ResolvedAddress.d.ts.map +0 -1
  22. package/dist/address/ResolvedAddress.js +0 -110
  23. package/dist/address/ResolvedAddress.js.map +0 -1
  24. package/dist/address/StateAddress.d.ts +0 -4
  25. package/dist/address/StateAddress.d.ts.map +0 -1
  26. package/dist/address/StateAddress.js +0 -56
  27. package/dist/address/StateAddress.js.map +0 -1
  28. package/dist/address/calcWildcardLen.d.ts +0 -3
  29. package/dist/address/calcWildcardLen.d.ts.map +0 -1
  30. package/dist/address/calcWildcardLen.js +0 -31
  31. package/dist/address/calcWildcardLen.js.map +0 -1
  32. package/dist/address/types.d.ts +0 -54
  33. package/dist/address/types.d.ts.map +0 -1
  34. package/dist/address/types.js +0 -2
  35. package/dist/address/types.js.map +0 -1
  36. package/dist/apply/applyChange.d.ts +0 -4
  37. package/dist/apply/applyChange.d.ts.map +0 -1
  38. package/dist/apply/applyChange.js +0 -105
  39. package/dist/apply/applyChange.js.map +0 -1
  40. package/dist/apply/applyChangeFromBindings.d.ts +0 -9
  41. package/dist/apply/applyChangeFromBindings.d.ts.map +0 -1
  42. package/dist/apply/applyChangeFromBindings.js +0 -74
  43. package/dist/apply/applyChangeFromBindings.js.map +0 -1
  44. package/dist/apply/applyChangeToAttribute.d.ts +0 -4
  45. package/dist/apply/applyChangeToAttribute.d.ts.map +0 -1
  46. package/dist/apply/applyChangeToAttribute.js +0 -8
  47. package/dist/apply/applyChangeToAttribute.js.map +0 -1
  48. package/dist/apply/applyChangeToCheckbox.d.ts +0 -4
  49. package/dist/apply/applyChangeToCheckbox.d.ts.map +0 -1
  50. package/dist/apply/applyChangeToCheckbox.js +0 -11
  51. package/dist/apply/applyChangeToCheckbox.js.map +0 -1
  52. package/dist/apply/applyChangeToClass.d.ts +0 -4
  53. package/dist/apply/applyChangeToClass.d.ts.map +0 -1
  54. package/dist/apply/applyChangeToClass.js +0 -10
  55. package/dist/apply/applyChangeToClass.js.map +0 -1
  56. package/dist/apply/applyChangeToFor.d.ts +0 -9
  57. package/dist/apply/applyChangeToFor.d.ts.map +0 -1
  58. package/dist/apply/applyChangeToFor.js +0 -186
  59. package/dist/apply/applyChangeToFor.js.map +0 -1
  60. package/dist/apply/applyChangeToIf.d.ts +0 -4
  61. package/dist/apply/applyChangeToIf.d.ts.map +0 -1
  62. package/dist/apply/applyChangeToIf.js +0 -42
  63. package/dist/apply/applyChangeToIf.js.map +0 -1
  64. package/dist/apply/applyChangeToProperty.d.ts +0 -4
  65. package/dist/apply/applyChangeToProperty.d.ts.map +0 -1
  66. package/dist/apply/applyChangeToProperty.js +0 -37
  67. package/dist/apply/applyChangeToProperty.js.map +0 -1
  68. package/dist/apply/applyChangeToRadio.d.ts +0 -4
  69. package/dist/apply/applyChangeToRadio.d.ts.map +0 -1
  70. package/dist/apply/applyChangeToRadio.js +0 -8
  71. package/dist/apply/applyChangeToRadio.js.map +0 -1
  72. package/dist/apply/applyChangeToStyle.d.ts +0 -4
  73. package/dist/apply/applyChangeToStyle.d.ts.map +0 -1
  74. package/dist/apply/applyChangeToStyle.js +0 -9
  75. package/dist/apply/applyChangeToStyle.js.map +0 -1
  76. package/dist/apply/applyChangeToText.d.ts +0 -4
  77. package/dist/apply/applyChangeToText.d.ts.map +0 -1
  78. package/dist/apply/applyChangeToText.js +0 -6
  79. package/dist/apply/applyChangeToText.js.map +0 -1
  80. package/dist/apply/applyChangeToWebComponent.d.ts +0 -4
  81. package/dist/apply/applyChangeToWebComponent.d.ts.map +0 -1
  82. package/dist/apply/applyChangeToWebComponent.js +0 -15
  83. package/dist/apply/applyChangeToWebComponent.js.map +0 -1
  84. package/dist/apply/getFilteredValue.d.ts +0 -3
  85. package/dist/apply/getFilteredValue.d.ts.map +0 -1
  86. package/dist/apply/getFilteredValue.js +0 -8
  87. package/dist/apply/getFilteredValue.js.map +0 -1
  88. package/dist/apply/getValue.d.ts +0 -4
  89. package/dist/apply/getValue.d.ts.map +0 -1
  90. package/dist/apply/getValue.js +0 -20
  91. package/dist/apply/getValue.js.map +0 -1
  92. package/dist/apply/rootNodeByFragment.d.ts +0 -3
  93. package/dist/apply/rootNodeByFragment.d.ts.map +0 -1
  94. package/dist/apply/rootNodeByFragment.js +0 -13
  95. package/dist/apply/rootNodeByFragment.js.map +0 -1
  96. package/dist/apply/types.d.ts +0 -15
  97. package/dist/apply/types.d.ts.map +0 -1
  98. package/dist/apply/types.js +0 -2
  99. package/dist/apply/types.js.map +0 -1
  100. package/dist/applyChangeToNode.d.ts +0 -2
  101. package/dist/applyChangeToNode.d.ts.map +0 -1
  102. package/dist/applyChangeToNode.js +0 -38
  103. package/dist/applyChangeToNode.js.map +0 -1
  104. package/dist/bindTextParser/parseBindTextForEmbeddedNode.d.ts +0 -3
  105. package/dist/bindTextParser/parseBindTextForEmbeddedNode.d.ts.map +0 -1
  106. package/dist/bindTextParser/parseBindTextForEmbeddedNode.js +0 -13
  107. package/dist/bindTextParser/parseBindTextForEmbeddedNode.js.map +0 -1
  108. package/dist/bindTextParser/parseBindTextsForElement.d.ts +0 -3
  109. package/dist/bindTextParser/parseBindTextsForElement.d.ts.map +0 -1
  110. package/dist/bindTextParser/parseBindTextsForElement.js +0 -80
  111. package/dist/bindTextParser/parseBindTextsForElement.js.map +0 -1
  112. package/dist/bindTextParser/parseFilterArgs.d.ts +0 -2
  113. package/dist/bindTextParser/parseFilterArgs.d.ts.map +0 -1
  114. package/dist/bindTextParser/parseFilterArgs.js +0 -31
  115. package/dist/bindTextParser/parseFilterArgs.js.map +0 -1
  116. package/dist/bindTextParser/parseFilters.d.ts +0 -4
  117. package/dist/bindTextParser/parseFilters.d.ts.map +0 -1
  118. package/dist/bindTextParser/parseFilters.js +0 -52
  119. package/dist/bindTextParser/parseFilters.js.map +0 -1
  120. package/dist/bindTextParser/parsePropPart.d.ts +0 -5
  121. package/dist/bindTextParser/parsePropPart.d.ts.map +0 -1
  122. package/dist/bindTextParser/parsePropPart.js +0 -44
  123. package/dist/bindTextParser/parsePropPart.js.map +0 -1
  124. package/dist/bindTextParser/parseStatePart.d.ts +0 -5
  125. package/dist/bindTextParser/parseStatePart.d.ts.map +0 -1
  126. package/dist/bindTextParser/parseStatePart.js +0 -39
  127. package/dist/bindTextParser/parseStatePart.js.map +0 -1
  128. package/dist/bindTextParser/types.d.ts +0 -3
  129. package/dist/bindTextParser/types.d.ts.map +0 -1
  130. package/dist/bindTextParser/types.js +0 -2
  131. package/dist/bindTextParser/types.js.map +0 -1
  132. package/dist/bindTextParser/utils.d.ts +0 -2
  133. package/dist/bindTextParser/utils.d.ts.map +0 -1
  134. package/dist/bindTextParser/utils.js +0 -2
  135. package/dist/bindTextParser/utils.js.map +0 -1
  136. package/dist/binding/getAbsoluteStateAddressByBinding.d.ts +0 -5
  137. package/dist/binding/getAbsoluteStateAddressByBinding.d.ts.map +0 -1
  138. package/dist/binding/getAbsoluteStateAddressByBinding.js +0 -41
  139. package/dist/binding/getAbsoluteStateAddressByBinding.js.map +0 -1
  140. package/dist/binding/getBindingSetByAbsoluteStateAddress.d.ts +0 -7
  141. package/dist/binding/getBindingSetByAbsoluteStateAddress.d.ts.map +0 -1
  142. package/dist/binding/getBindingSetByAbsoluteStateAddress.js +0 -22
  143. package/dist/binding/getBindingSetByAbsoluteStateAddress.js.map +0 -1
  144. package/dist/binding/getStateAddressByBindingInfo.d.ts +0 -5
  145. package/dist/binding/getStateAddressByBindingInfo.d.ts.map +0 -1
  146. package/dist/binding/getStateAddressByBindingInfo.js +0 -28
  147. package/dist/binding/getStateAddressByBindingInfo.js.map +0 -1
  148. package/dist/binding/types.d.ts +0 -23
  149. package/dist/binding/types.d.ts.map +0 -1
  150. package/dist/binding/types.js +0 -2
  151. package/dist/binding/types.js.map +0 -1
  152. package/dist/bindings/bindLoopContextToContent.d.ts +0 -5
  153. package/dist/bindings/bindLoopContextToContent.d.ts.map +0 -1
  154. package/dist/bindings/bindLoopContextToContent.js +0 -15
  155. package/dist/bindings/bindLoopContextToContent.js.map +0 -1
  156. package/dist/bindings/bindingsByContent.d.ts +0 -5
  157. package/dist/bindings/bindingsByContent.d.ts.map +0 -1
  158. package/dist/bindings/bindingsByContent.js +0 -8
  159. package/dist/bindings/bindingsByContent.js.map +0 -1
  160. package/dist/bindings/collectNodesAndBindingInfos.d.ts +0 -6
  161. package/dist/bindings/collectNodesAndBindingInfos.d.ts.map +0 -1
  162. package/dist/bindings/collectNodesAndBindingInfos.js +0 -46
  163. package/dist/bindings/collectNodesAndBindingInfos.js.map +0 -1
  164. package/dist/bindings/getBindingInfos.d.ts +0 -4
  165. package/dist/bindings/getBindingInfos.d.ts.map +0 -1
  166. package/dist/bindings/getBindingInfos.js +0 -22
  167. package/dist/bindings/getBindingInfos.js.map +0 -1
  168. package/dist/bindings/getBindingsByNode.d.ts +0 -5
  169. package/dist/bindings/getBindingsByNode.d.ts.map +0 -1
  170. package/dist/bindings/getBindingsByNode.js +0 -17
  171. package/dist/bindings/getBindingsByNode.js.map +0 -1
  172. package/dist/bindings/getParseBindTextResults.d.ts +0 -3
  173. package/dist/bindings/getParseBindTextResults.d.ts.map +0 -1
  174. package/dist/bindings/getParseBindTextResults.js +0 -36
  175. package/dist/bindings/getParseBindTextResults.js.map +0 -1
  176. package/dist/bindings/getSubscriberNodes.d.ts +0 -7
  177. package/dist/bindings/getSubscriberNodes.d.ts.map +0 -1
  178. package/dist/bindings/getSubscriberNodes.js +0 -32
  179. package/dist/bindings/getSubscriberNodes.js.map +0 -1
  180. package/dist/bindings/indexBindingsByContent.d.ts +0 -5
  181. package/dist/bindings/indexBindingsByContent.d.ts.map +0 -1
  182. package/dist/bindings/indexBindingsByContent.js +0 -8
  183. package/dist/bindings/indexBindingsByContent.js.map +0 -1
  184. package/dist/bindings/initializeBindingPromiseByNode.d.ts +0 -5
  185. package/dist/bindings/initializeBindingPromiseByNode.d.ts.map +0 -1
  186. package/dist/bindings/initializeBindingPromiseByNode.js +0 -28
  187. package/dist/bindings/initializeBindingPromiseByNode.js.map +0 -1
  188. package/dist/bindings/initializeBindings.d.ts +0 -6
  189. package/dist/bindings/initializeBindings.d.ts.map +0 -1
  190. package/dist/bindings/initializeBindings.js +0 -59
  191. package/dist/bindings/initializeBindings.js.map +0 -1
  192. package/dist/bindings/nodesByContent.d.ts +0 -4
  193. package/dist/bindings/nodesByContent.d.ts.map +0 -1
  194. package/dist/bindings/nodesByContent.js +0 -8
  195. package/dist/bindings/nodesByContent.js.map +0 -1
  196. package/dist/bindings/parseCommentNode.d.ts +0 -3
  197. package/dist/bindings/parseCommentNode.d.ts.map +0 -1
  198. package/dist/bindings/parseCommentNode.js +0 -47
  199. package/dist/bindings/parseCommentNode.js.map +0 -1
  200. package/dist/bindings/replaceToReplaceNode.d.ts +0 -3
  201. package/dist/bindings/replaceToReplaceNode.d.ts.map +0 -1
  202. package/dist/bindings/replaceToReplaceNode.js +0 -13
  203. package/dist/bindings/replaceToReplaceNode.js.map +0 -1
  204. package/dist/bindings/types.d.ts +0 -11
  205. package/dist/bindings/types.d.ts.map +0 -1
  206. package/dist/bindings/types.js +0 -2
  207. package/dist/bindings/types.js.map +0 -1
  208. package/dist/bootstrapState.d.ts +0 -3
  209. package/dist/bootstrapState.d.ts.map +0 -1
  210. package/dist/bootstrapState.js +0 -9
  211. package/dist/bootstrapState.js.map +0 -1
  212. package/dist/buildBindings.d.ts +0 -2
  213. package/dist/buildBindings.d.ts.map +0 -1
  214. package/dist/buildBindings.js +0 -30
  215. package/dist/buildBindings.js.map +0 -1
  216. package/dist/cache/cacheEntryByAbsoluteStateAddress.d.ts +0 -6
  217. package/dist/cache/cacheEntryByAbsoluteStateAddress.d.ts.map +0 -1
  218. package/dist/cache/cacheEntryByAbsoluteStateAddress.js +0 -19
  219. package/dist/cache/cacheEntryByAbsoluteStateAddress.js.map +0 -1
  220. package/dist/cache/types.d.ts +0 -5
  221. package/dist/cache/types.d.ts.map +0 -1
  222. package/dist/cache/types.js +0 -2
  223. package/dist/cache/types.js.map +0 -1
  224. package/dist/components/State.d.ts +0 -83
  225. package/dist/components/State.d.ts.map +0 -1
  226. package/dist/components/State.js +0 -340
  227. package/dist/components/State.js.map +0 -1
  228. package/dist/components/types.d.ts +0 -26
  229. package/dist/components/types.d.ts.map +0 -1
  230. package/dist/components/types.js +0 -2
  231. package/dist/components/types.js.map +0 -1
  232. package/dist/config.d.ts +0 -4
  233. package/dist/config.d.ts.map +0 -1
  234. package/dist/config.js +0 -49
  235. package/dist/config.js.map +0 -1
  236. package/dist/createEmptyArray.d.ts +0 -2
  237. package/dist/createEmptyArray.d.ts.map +0 -1
  238. package/dist/createEmptyArray.js +0 -4
  239. package/dist/createEmptyArray.js.map +0 -1
  240. package/dist/createEmptySet.d.ts +0 -2
  241. package/dist/createEmptySet.d.ts.map +0 -1
  242. package/dist/createEmptySet.js +0 -4
  243. package/dist/createEmptySet.js.map +0 -1
  244. package/dist/define.d.ts +0 -14
  245. package/dist/define.d.ts.map +0 -1
  246. package/dist/define.js +0 -25
  247. package/dist/define.js.map +0 -1
  248. package/dist/dependency/types.d.ts +0 -2
  249. package/dist/dependency/types.d.ts.map +0 -1
  250. package/dist/dependency/types.js +0 -2
  251. package/dist/dependency/types.js.map +0 -1
  252. package/dist/dependency/walkDependency.d.ts +0 -6
  253. package/dist/dependency/walkDependency.d.ts.map +0 -1
  254. package/dist/dependency/walkDependency.js +0 -194
  255. package/dist/dependency/walkDependency.js.map +0 -1
  256. package/dist/event/checkboxHandler.d.ts +0 -14
  257. package/dist/event/checkboxHandler.d.ts.map +0 -1
  258. package/dist/event/checkboxHandler.js +0 -120
  259. package/dist/event/checkboxHandler.js.map +0 -1
  260. package/dist/event/handler.d.ts +0 -8
  261. package/dist/event/handler.d.ts.map +0 -1
  262. package/dist/event/handler.js +0 -81
  263. package/dist/event/handler.js.map +0 -1
  264. package/dist/event/isPossibleTwoWay.d.ts +0 -2
  265. package/dist/event/isPossibleTwoWay.d.ts.map +0 -1
  266. package/dist/event/isPossibleTwoWay.js +0 -29
  267. package/dist/event/isPossibleTwoWay.js.map +0 -1
  268. package/dist/event/radioHandler.d.ts +0 -14
  269. package/dist/event/radioHandler.d.ts.map +0 -1
  270. package/dist/event/radioHandler.js +0 -101
  271. package/dist/event/radioHandler.js.map +0 -1
  272. package/dist/event/twowayHandler.d.ts +0 -14
  273. package/dist/event/twowayHandler.d.ts.map +0 -1
  274. package/dist/event/twowayHandler.js +0 -100
  275. package/dist/event/twowayHandler.js.map +0 -1
  276. package/dist/exports.d.ts +0 -3
  277. package/dist/exports.d.ts.map +0 -1
  278. package/dist/exports.js +0 -2
  279. package/dist/exports.js.map +0 -1
  280. package/dist/filters/builtinFilters.d.ts +0 -16
  281. package/dist/filters/builtinFilters.d.ts.map +0 -1
  282. package/dist/filters/builtinFilters.js +0 -716
  283. package/dist/filters/builtinFilters.js.map +0 -1
  284. package/dist/filters/errorMessages.d.ts +0 -43
  285. package/dist/filters/errorMessages.d.ts.map +0 -1
  286. package/dist/filters/errorMessages.js +0 -72
  287. package/dist/filters/errorMessages.js.map +0 -1
  288. package/dist/filters/types.d.ts +0 -23
  289. package/dist/filters/types.d.ts.map +0 -1
  290. package/dist/filters/types.js +0 -2
  291. package/dist/filters/types.js.map +0 -1
  292. package/dist/getUUID.d.ts +0 -2
  293. package/dist/getUUID.d.ts.map +0 -1
  294. package/dist/getUUID.js +0 -5
  295. package/dist/getUUID.js.map +0 -1
  296. package/dist/hydrater/hydrate.d.ts +0 -1
  297. package/dist/hydrater/hydrate.d.ts.map +0 -1
  298. package/dist/hydrater/hydrate.js +0 -2
  299. package/dist/hydrater/hydrate.js.map +0 -1
  300. package/dist/isCustomElement.d.ts +0 -2
  301. package/dist/isCustomElement.d.ts.map +0 -1
  302. package/dist/isCustomElement.js +0 -26
  303. package/dist/isCustomElement.js.map +0 -1
  304. package/dist/list/createListDiff.d.ts +0 -13
  305. package/dist/list/createListDiff.d.ts.map +0 -1
  306. package/dist/list/createListDiff.js +0 -181
  307. package/dist/list/createListDiff.js.map +0 -1
  308. package/dist/list/createListIndex.d.ts +0 -10
  309. package/dist/list/createListIndex.d.ts.map +0 -1
  310. package/dist/list/createListIndex.js +0 -136
  311. package/dist/list/createListIndex.js.map +0 -1
  312. package/dist/list/getIndexValueByLoopContext.d.ts +0 -3
  313. package/dist/list/getIndexValueByLoopContext.d.ts.map +0 -1
  314. package/dist/list/getIndexValueByLoopContext.js +0 -18
  315. package/dist/list/getIndexValueByLoopContext.js.map +0 -1
  316. package/dist/list/getListIndexByBindingInfo.d.ts +0 -4
  317. package/dist/list/getListIndexByBindingInfo.d.ts.map +0 -1
  318. package/dist/list/getListIndexByBindingInfo.js +0 -32
  319. package/dist/list/getListIndexByBindingInfo.js.map +0 -1
  320. package/dist/list/lastListValueByAbsoluteStateAddress.d.ts +0 -6
  321. package/dist/list/lastListValueByAbsoluteStateAddress.d.ts.map +0 -1
  322. package/dist/list/lastListValueByAbsoluteStateAddress.js +0 -14
  323. package/dist/list/lastListValueByAbsoluteStateAddress.js.map +0 -1
  324. package/dist/list/listIndexesByList.d.ts +0 -4
  325. package/dist/list/listIndexesByList.d.ts.map +0 -1
  326. package/dist/list/listIndexesByList.js +0 -12
  327. package/dist/list/listIndexesByList.js.map +0 -1
  328. package/dist/list/loopContext.d.ts +0 -3
  329. package/dist/list/loopContext.d.ts.map +0 -1
  330. package/dist/list/loopContext.js +0 -54
  331. package/dist/list/loopContext.js.map +0 -1
  332. package/dist/list/loopContextByNode.d.ts +0 -4
  333. package/dist/list/loopContextByNode.d.ts.map +0 -1
  334. package/dist/list/loopContextByNode.js +0 -20
  335. package/dist/list/loopContextByNode.js.map +0 -1
  336. package/dist/list/types.d.ts +0 -38
  337. package/dist/list/types.d.ts.map +0 -1
  338. package/dist/list/types.js +0 -2
  339. package/dist/list/types.js.map +0 -1
  340. package/dist/mustache/convertMustacheToComments.d.ts +0 -2
  341. package/dist/mustache/convertMustacheToComments.d.ts.map +0 -1
  342. package/dist/mustache/convertMustacheToComments.js +0 -66
  343. package/dist/mustache/convertMustacheToComments.js.map +0 -1
  344. package/dist/polyfills.d.ts +0 -8
  345. package/dist/polyfills.d.ts.map +0 -1
  346. package/dist/polyfills.js +0 -22
  347. package/dist/polyfills.js.map +0 -1
  348. package/dist/proxy/StateHandler.d.ts +0 -32
  349. package/dist/proxy/StateHandler.d.ts.map +0 -1
  350. package/dist/proxy/StateHandler.js +0 -91
  351. package/dist/proxy/StateHandler.js.map +0 -1
  352. package/dist/proxy/apis/connectedCallback.d.ts +0 -18
  353. package/dist/proxy/apis/connectedCallback.d.ts.map +0 -1
  354. package/dist/proxy/apis/connectedCallback.js +0 -23
  355. package/dist/proxy/apis/connectedCallback.js.map +0 -1
  356. package/dist/proxy/apis/disconnectedCallback.d.ts +0 -17
  357. package/dist/proxy/apis/disconnectedCallback.d.ts.map +0 -1
  358. package/dist/proxy/apis/disconnectedCallback.js +0 -22
  359. package/dist/proxy/apis/disconnectedCallback.js.map +0 -1
  360. package/dist/proxy/apis/getAll.d.ts +0 -11
  361. package/dist/proxy/apis/getAll.d.ts.map +0 -1
  362. package/dist/proxy/apis/getAll.js +0 -87
  363. package/dist/proxy/apis/getAll.js.map +0 -1
  364. package/dist/proxy/apis/postUpdate.d.ts +0 -5
  365. package/dist/proxy/apis/postUpdate.d.ts.map +0 -1
  366. package/dist/proxy/apis/postUpdate.js +0 -30
  367. package/dist/proxy/apis/postUpdate.js.map +0 -1
  368. package/dist/proxy/apis/resolve.d.ts +0 -22
  369. package/dist/proxy/apis/resolve.d.ts.map +0 -1
  370. package/dist/proxy/apis/resolve.js +0 -65
  371. package/dist/proxy/apis/resolve.js.map +0 -1
  372. package/dist/proxy/apis/trackDependency.d.ts +0 -34
  373. package/dist/proxy/apis/trackDependency.d.ts.map +0 -1
  374. package/dist/proxy/apis/trackDependency.js +0 -32
  375. package/dist/proxy/apis/trackDependency.js.map +0 -1
  376. package/dist/proxy/apis/updatedCallback.d.ts +0 -28
  377. package/dist/proxy/apis/updatedCallback.d.ts.map +0 -1
  378. package/dist/proxy/apis/updatedCallback.js +0 -56
  379. package/dist/proxy/apis/updatedCallback.js.map +0 -1
  380. package/dist/proxy/methods/checkDependency.d.ts +0 -4
  381. package/dist/proxy/methods/checkDependency.d.ts.map +0 -1
  382. package/dist/proxy/methods/checkDependency.js +0 -16
  383. package/dist/proxy/methods/checkDependency.js.map +0 -1
  384. package/dist/proxy/methods/getByAddress.d.ts +0 -23
  385. package/dist/proxy/methods/getByAddress.d.ts.map +0 -1
  386. package/dist/proxy/methods/getByAddress.js +0 -81
  387. package/dist/proxy/methods/getByAddress.js.map +0 -1
  388. package/dist/proxy/methods/getContextListIndex.d.ts +0 -21
  389. package/dist/proxy/methods/getContextListIndex.d.ts.map +0 -1
  390. package/dist/proxy/methods/getContextListIndex.js +0 -32
  391. package/dist/proxy/methods/getContextListIndex.js.map +0 -1
  392. package/dist/proxy/methods/getListIndex.d.ts +0 -22
  393. package/dist/proxy/methods/getListIndex.d.ts.map +0 -1
  394. package/dist/proxy/methods/getListIndex.js +0 -55
  395. package/dist/proxy/methods/getListIndex.js.map +0 -1
  396. package/dist/proxy/methods/setByAddress.d.ts +0 -21
  397. package/dist/proxy/methods/setByAddress.d.ts.map +0 -1
  398. package/dist/proxy/methods/setByAddress.js +0 -135
  399. package/dist/proxy/methods/setByAddress.js.map +0 -1
  400. package/dist/proxy/methods/setLoopContext.d.ts +0 -22
  401. package/dist/proxy/methods/setLoopContext.d.ts.map +0 -1
  402. package/dist/proxy/methods/setLoopContext.js +0 -43
  403. package/dist/proxy/methods/setLoopContext.js.map +0 -1
  404. package/dist/proxy/methods/swapInfo.d.ts +0 -5
  405. package/dist/proxy/methods/swapInfo.d.ts.map +0 -1
  406. package/dist/proxy/methods/swapInfo.js +0 -13
  407. package/dist/proxy/methods/swapInfo.js.map +0 -1
  408. package/dist/proxy/methods/types.d.ts +0 -6
  409. package/dist/proxy/methods/types.d.ts.map +0 -1
  410. package/dist/proxy/methods/types.js +0 -2
  411. package/dist/proxy/methods/types.js.map +0 -1
  412. package/dist/proxy/symbols.d.ts +0 -8
  413. package/dist/proxy/symbols.d.ts.map +0 -1
  414. package/dist/proxy/symbols.js +0 -8
  415. package/dist/proxy/symbols.js.map +0 -1
  416. package/dist/proxy/traps/get.d.ts +0 -21
  417. package/dist/proxy/traps/get.d.ts.map +0 -1
  418. package/dist/proxy/traps/get.js +0 -120
  419. package/dist/proxy/traps/get.js.map +0 -1
  420. package/dist/proxy/traps/set.d.ts +0 -18
  421. package/dist/proxy/traps/set.d.ts.map +0 -1
  422. package/dist/proxy/traps/set.js +0 -31
  423. package/dist/proxy/traps/set.js.map +0 -1
  424. package/dist/proxy/types.d.ts +0 -27
  425. package/dist/proxy/types.d.ts.map +0 -1
  426. package/dist/proxy/types.js +0 -2
  427. package/dist/proxy/types.js.map +0 -1
  428. package/dist/raiseError.d.ts +0 -2
  429. package/dist/raiseError.d.ts.map +0 -1
  430. package/dist/raiseError.js +0 -4
  431. package/dist/raiseError.js.map +0 -1
  432. package/dist/registerComponents.d.ts +0 -2
  433. package/dist/registerComponents.d.ts.map +0 -1
  434. package/dist/registerComponents.js +0 -9
  435. package/dist/registerComponents.js.map +0 -1
  436. package/dist/stateElementByName.d.ts +0 -4
  437. package/dist/stateElementByName.d.ts.map +0 -1
  438. package/dist/stateElementByName.js +0 -53
  439. package/dist/stateElementByName.js.map +0 -1
  440. package/dist/stateLoader/loadFromInnerScript.d.ts +0 -3
  441. package/dist/stateLoader/loadFromInnerScript.d.ts.map +0 -1
  442. package/dist/stateLoader/loadFromInnerScript.js +0 -24
  443. package/dist/stateLoader/loadFromInnerScript.js.map +0 -1
  444. package/dist/stateLoader/loadFromJsonFile.d.ts +0 -3
  445. package/dist/stateLoader/loadFromJsonFile.d.ts.map +0 -1
  446. package/dist/stateLoader/loadFromJsonFile.js +0 -16
  447. package/dist/stateLoader/loadFromJsonFile.js.map +0 -1
  448. package/dist/stateLoader/loadFromScriptFile.d.ts +0 -3
  449. package/dist/stateLoader/loadFromScriptFile.d.ts.map +0 -1
  450. package/dist/stateLoader/loadFromScriptFile.js +0 -11
  451. package/dist/stateLoader/loadFromScriptFile.js.map +0 -1
  452. package/dist/stateLoader/loadFromScriptJson.d.ts +0 -3
  453. package/dist/stateLoader/loadFromScriptJson.d.ts.map +0 -1
  454. package/dist/stateLoader/loadFromScriptJson.js +0 -15
  455. package/dist/stateLoader/loadFromScriptJson.js.map +0 -1
  456. package/dist/structural/activateContent.d.ts +0 -6
  457. package/dist/structural/activateContent.d.ts.map +0 -1
  458. package/dist/structural/activateContent.js +0 -29
  459. package/dist/structural/activateContent.js.map +0 -1
  460. package/dist/structural/collectStructuralFragments.d.ts +0 -2
  461. package/dist/structural/collectStructuralFragments.d.ts.map +0 -1
  462. package/dist/structural/collectStructuralFragments.js +0 -160
  463. package/dist/structural/collectStructuralFragments.js.map +0 -1
  464. package/dist/structural/contentsByNode.d.ts +0 -5
  465. package/dist/structural/contentsByNode.d.ts.map +0 -1
  466. package/dist/structural/contentsByNode.js +0 -29
  467. package/dist/structural/contentsByNode.js.map +0 -1
  468. package/dist/structural/createContent.d.ts +0 -4
  469. package/dist/structural/createContent.d.ts.map +0 -1
  470. package/dist/structural/createContent.js +0 -92
  471. package/dist/structural/createContent.js.map +0 -1
  472. package/dist/structural/createNotFilter.d.ts +0 -3
  473. package/dist/structural/createNotFilter.d.ts.map +0 -1
  474. package/dist/structural/createNotFilter.js +0 -17
  475. package/dist/structural/createNotFilter.js.map +0 -1
  476. package/dist/structural/define.d.ts +0 -3
  477. package/dist/structural/define.d.ts.map +0 -1
  478. package/dist/structural/define.js +0 -7
  479. package/dist/structural/define.js.map +0 -1
  480. package/dist/structural/expandShorthandPaths.d.ts +0 -3
  481. package/dist/structural/expandShorthandPaths.d.ts.map +0 -1
  482. package/dist/structural/expandShorthandPaths.js +0 -96
  483. package/dist/structural/expandShorthandPaths.js.map +0 -1
  484. package/dist/structural/fragmentInfoByUUID.d.ts +0 -4
  485. package/dist/structural/fragmentInfoByUUID.d.ts.map +0 -1
  486. package/dist/structural/fragmentInfoByUUID.js +0 -30
  487. package/dist/structural/fragmentInfoByUUID.js.map +0 -1
  488. package/dist/structural/getFragmentNodeInfos.d.ts +0 -3
  489. package/dist/structural/getFragmentNodeInfos.d.ts.map +0 -1
  490. package/dist/structural/getFragmentNodeInfos.js +0 -16
  491. package/dist/structural/getFragmentNodeInfos.js.map +0 -1
  492. package/dist/structural/getNodePath.d.ts +0 -2
  493. package/dist/structural/getNodePath.d.ts.map +0 -1
  494. package/dist/structural/getNodePath.js +0 -12
  495. package/dist/structural/getNodePath.js.map +0 -1
  496. package/dist/structural/optimizeFragment.d.ts +0 -2
  497. package/dist/structural/optimizeFragment.d.ts.map +0 -1
  498. package/dist/structural/optimizeFragment.js +0 -13
  499. package/dist/structural/optimizeFragment.js.map +0 -1
  500. package/dist/structural/resolveNodePath.d.ts +0 -2
  501. package/dist/structural/resolveNodePath.d.ts.map +0 -1
  502. package/dist/structural/resolveNodePath.js +0 -13
  503. package/dist/structural/resolveNodePath.js.map +0 -1
  504. package/dist/structural/types.d.ts +0 -19
  505. package/dist/structural/types.d.ts.map +0 -1
  506. package/dist/structural/types.js +0 -2
  507. package/dist/structural/types.js.map +0 -1
  508. package/dist/types.d.ts +0 -35
  509. package/dist/types.d.ts.map +0 -1
  510. package/dist/types.js +0 -2
  511. package/dist/types.js.map +0 -1
  512. package/dist/updater/types.d.ts +0 -7
  513. package/dist/updater/types.d.ts.map +0 -1
  514. package/dist/updater/types.js +0 -2
  515. package/dist/updater/types.js.map +0 -1
  516. package/dist/updater/updater.d.ts +0 -14
  517. package/dist/updater/updater.d.ts.map +0 -1
  518. package/dist/updater/updater.js +0 -49
  519. package/dist/updater/updater.js.map +0 -1
  520. package/dist/version/types.d.ts +0 -5
  521. package/dist/version/types.d.ts.map +0 -1
  522. package/dist/version/types.js +0 -2
  523. package/dist/version/types.js.map +0 -1
  524. package/dist/version/version.d.ts +0 -3
  525. package/dist/version/version.d.ts.map +0 -1
  526. package/dist/version/version.js +0 -9
  527. package/dist/version/version.js.map +0 -1
  528. package/dist/waitForStateInitialize.d.ts +0 -2
  529. package/dist/waitForStateInitialize.d.ts.map +0 -1
  530. package/dist/waitForStateInitialize.js +0 -12
  531. package/dist/waitForStateInitialize.js.map +0 -1
  532. package/dist/webComponent/MappingRule.d.ts +0 -10
  533. package/dist/webComponent/MappingRule.d.ts.map +0 -1
  534. package/dist/webComponent/MappingRule.js +0 -120
  535. package/dist/webComponent/MappingRule.js.map +0 -1
  536. package/dist/webComponent/bindWebComponent.d.ts +0 -3
  537. package/dist/webComponent/bindWebComponent.d.ts.map +0 -1
  538. package/dist/webComponent/bindWebComponent.js +0 -49
  539. package/dist/webComponent/bindWebComponent.js.map +0 -1
  540. package/dist/webComponent/completeWebComponent.d.ts +0 -4
  541. package/dist/webComponent/completeWebComponent.d.ts.map +0 -1
  542. package/dist/webComponent/completeWebComponent.js +0 -17
  543. package/dist/webComponent/completeWebComponent.js.map +0 -1
  544. package/dist/webComponent/innerState.d.ts +0 -3
  545. package/dist/webComponent/innerState.d.ts.map +0 -1
  546. package/dist/webComponent/innerState.js +0 -120
  547. package/dist/webComponent/innerState.js.map +0 -1
  548. package/dist/webComponent/lastValueByAbsoluteStateAddress.d.ts +0 -4
  549. package/dist/webComponent/lastValueByAbsoluteStateAddress.d.ts.map +0 -1
  550. package/dist/webComponent/lastValueByAbsoluteStateAddress.js +0 -10
  551. package/dist/webComponent/lastValueByAbsoluteStateAddress.js.map +0 -1
  552. package/dist/webComponent/meltFrozenObject.d.ts +0 -2
  553. package/dist/webComponent/meltFrozenObject.d.ts.map +0 -1
  554. package/dist/webComponent/meltFrozenObject.js +0 -17
  555. package/dist/webComponent/meltFrozenObject.js.map +0 -1
  556. package/dist/webComponent/outerState.d.ts +0 -3
  557. package/dist/webComponent/outerState.d.ts.map +0 -1
  558. package/dist/webComponent/outerState.js +0 -41
  559. package/dist/webComponent/outerState.js.map +0 -1
  560. package/dist/webComponent/plainOuterState.d.ts +0 -3
  561. package/dist/webComponent/plainOuterState.d.ts.map +0 -1
  562. package/dist/webComponent/plainOuterState.js +0 -36
  563. package/dist/webComponent/plainOuterState.js.map +0 -1
  564. package/dist/webComponent/stateElementByWebComponent.d.ts +0 -4
  565. package/dist/webComponent/stateElementByWebComponent.d.ts.map +0 -1
  566. package/dist/webComponent/stateElementByWebComponent.js +0 -17
  567. package/dist/webComponent/stateElementByWebComponent.js.map +0 -1
  568. package/dist/webComponent/types.d.ts +0 -3
  569. package/dist/webComponent/types.d.ts.map +0 -1
  570. package/dist/webComponent/types.js +0 -2
  571. package/dist/webComponent/types.js.map +0 -1
@@ -1,22 +0,0 @@
1
- /**
2
- * disconnectedCallback.ts
3
- *
4
- * StateClassのライフサイクルフック「$disconnectedCallback」を呼び出すユーティリティ関数です。
5
- *
6
- * 主な役割:
7
- * - オブジェクト(target)に$disconnectedCallbackメソッドが定義されていれば呼び出す
8
- * - コールバックはtargetのthisコンテキストで呼び出し、IReadonlyStateProxy(receiver)を引数として渡す
9
- *
10
- * 設計ポイント:
11
- * - Reflect.getで$disconnectedCallbackプロパティを安全に取得
12
- * - 存在しない場合は何もしない
13
- * - ライフサイクル管理やクリーンアップ処理に利用
14
- */
15
- import { STATE_DISCONNECTED_CALLBACK_NAME } from "../../define";
16
- export function disconnectedCallback(target, _prop, receiver, _handler) {
17
- const callback = Reflect.get(target, STATE_DISCONNECTED_CALLBACK_NAME);
18
- if (typeof callback === "function") {
19
- callback.call(receiver);
20
- }
21
- }
22
- //# sourceMappingURL=disconnectedCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disconnectedCallback.js","sourceRoot":"","sources":["../../../src/proxy/apis/disconnectedCallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAGhE,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,KAAkB,EAClB,QAAa,EACb,QAAuB;IAEvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IACvE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * getAllReadonly
3
- *
4
- * ワイルドカードを含む State パスから、対象となる全要素を配列で取得する。
5
- * Throws: LIST-201(インデックス未解決)、BIND-201(ワイルドカード情報不整合)
6
- */
7
- import { IStateHandler } from "../types";
8
- type GetAllFunction = (path: string, indexes?: number[]) => any[];
9
- export declare function getAll(target: object, prop: PropertyKey, receiver: any, handler: IStateHandler): GetAllFunction;
10
- export {};
11
- //# sourceMappingURL=getAll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAll.d.ts","sourceRoot":"","sources":["../../../src/proxy/apis/getAll.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,CAAC;AAElE,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,aAAa,GACrB,cAAc,CAuGd"}
@@ -1,87 +0,0 @@
1
- /**
2
- * getAllReadonly
3
- *
4
- * ワイルドカードを含む State パスから、対象となる全要素を配列で取得する。
5
- * Throws: LIST-201(インデックス未解決)、BIND-201(ワイルドカード情報不整合)
6
- */
7
- import { getPathInfo } from "../../address/PathInfo";
8
- import { createStateAddress } from "../../address/StateAddress";
9
- import { createListDiff } from "../../list/createListDiff";
10
- import { raiseError } from "../../raiseError";
11
- import { getByAddress } from "../methods/getByAddress";
12
- import { getContextListIndex } from "../methods/getContextListIndex";
13
- import { resolve } from "./resolve";
14
- // ToDo: IAbsoluteStateAddressに変更する
15
- const lastValueByListAddress = new WeakMap();
16
- export function getAll(target, prop, receiver, handler) {
17
- const resolveFn = resolve(target, prop, receiver, handler);
18
- return (path, indexes) => {
19
- const newValueByAddress = new Map();
20
- const pathInfo = getPathInfo(path);
21
- if (handler.addressStackLength > 0) {
22
- const lastInfo = handler.lastAddressStack?.pathInfo ?? null;
23
- const stateElement = handler.stateElement;
24
- if (lastInfo !== null && lastInfo.path !== pathInfo.path) {
25
- // gettersに含まれる場合は依存関係を登録
26
- if (stateElement.getterPaths.has(lastInfo.path)) {
27
- stateElement.addDynamicDependency(pathInfo.path, lastInfo.path);
28
- }
29
- }
30
- }
31
- if (typeof indexes === "undefined") {
32
- for (let i = 0; i < pathInfo.wildcardParentPathInfos.length; i++) {
33
- const wildcardPattern = pathInfo.wildcardParentPathInfos[i];
34
- const listIndex = getContextListIndex(handler, wildcardPattern.path);
35
- if (listIndex) {
36
- indexes = listIndex.indexes;
37
- break;
38
- }
39
- }
40
- if (typeof indexes === "undefined") {
41
- indexes = [];
42
- }
43
- }
44
- const walkWildcardPattern = (wildcardParentPathInfos, wildcardIndexPos, listIndex, indexes, indexPos, parentIndexes, results) => {
45
- const wildcardParentPathInfo = wildcardParentPathInfos[wildcardIndexPos] ?? null;
46
- if (wildcardParentPathInfo === null) {
47
- results.push(parentIndexes);
48
- return;
49
- }
50
- const wildcardAddress = createStateAddress(wildcardParentPathInfo, listIndex);
51
- const oldValue = lastValueByListAddress.get(wildcardAddress);
52
- const newValue = getByAddress(target, wildcardAddress, receiver, handler);
53
- const listDiff = createListDiff(listIndex, oldValue, newValue);
54
- const listIndexes = listDiff.newIndexes;
55
- const index = indexes[indexPos] ?? null;
56
- newValueByAddress.set(wildcardAddress, newValue);
57
- if (index === null) {
58
- for (let i = 0; i < listIndexes.length; i++) {
59
- const listIndex = listIndexes[i];
60
- walkWildcardPattern(wildcardParentPathInfos, wildcardIndexPos + 1, listIndex, indexes, indexPos + 1, parentIndexes.concat(listIndex.index), results);
61
- }
62
- }
63
- else {
64
- const listIndex = listIndexes[index] ??
65
- raiseError(`ListIndex not found: ${wildcardParentPathInfo.path}`);
66
- if ((wildcardIndexPos + 1) < wildcardParentPathInfos.length) {
67
- walkWildcardPattern(wildcardParentPathInfos, wildcardIndexPos + 1, listIndex, indexes, indexPos + 1, parentIndexes.concat(listIndex.index), results);
68
- }
69
- else {
70
- // 最終ワイルドカード層まで到達しているので、結果を確定
71
- results.push(parentIndexes.concat(listIndex.index));
72
- }
73
- }
74
- };
75
- const resultIndexes = [];
76
- walkWildcardPattern(pathInfo.wildcardParentPathInfos, 0, null, indexes, 0, [], resultIndexes);
77
- const resultValues = [];
78
- for (let i = 0; i < resultIndexes.length; i++) {
79
- resultValues.push(resolveFn(pathInfo.path, resultIndexes[i]));
80
- }
81
- for (const [address, newValue] of newValueByAddress.entries()) {
82
- lastValueByListAddress.set(address, newValue);
83
- }
84
- return resultValues;
85
- };
86
- }
87
- //# sourceMappingURL=getAll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAll.js","sourceRoot":"","sources":["../../../src/proxy/apis/getAll.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { IStateHandler } from "../types";
2
- type PostFunction = (path: string) => void;
3
- export declare function postUpdate(target: object, _prop: PropertyKey, receiver: any, handler: IStateHandler): PostFunction;
4
- export {};
5
- //# sourceMappingURL=postUpdate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postUpdate.d.ts","sourceRoot":"","sources":["../../../src/proxy/apis/postUpdate.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAe,MAAM,UAAU,CAAC;AAGtD,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE3C,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,aAAa,GACrB,YAAY,CA8Bd"}
@@ -1,30 +0,0 @@
1
- import { getAbsolutePathInfo } from "../../address/AbsolutePathInfo";
2
- import { createAbsoluteStateAddress } from "../../address/AbsoluteStateAddress";
3
- import { getResolvedAddress } from "../../address/ResolvedAddress";
4
- import { createStateAddress } from "../../address/StateAddress";
5
- import { dirtyCacheEntryByAbsoluteStateAddress } from "../../cache/cacheEntryByAbsoluteStateAddress";
6
- import { walkDependency } from "../../dependency/walkDependency";
7
- import { getUpdater } from "../../updater/updater";
8
- import { getListIndex } from "../methods/getListIndex";
9
- export function postUpdate(target, _prop, receiver, handler) {
10
- const stateElement = handler.stateElement;
11
- return (path) => {
12
- const resolvedAddress = getResolvedAddress(path);
13
- const listIndex = getListIndex(target, resolvedAddress, receiver, handler);
14
- const address = createStateAddress(resolvedAddress.pathInfo, listIndex);
15
- const absPathInfo = getAbsolutePathInfo(stateElement, address.pathInfo);
16
- const absAddress = createAbsoluteStateAddress(absPathInfo, address.listIndex);
17
- const updater = getUpdater();
18
- updater.enqueueAbsoluteAddress(absAddress);
19
- // 依存関係のあるキャッシュを無効化(ダーティ)、更新対象として登録
20
- walkDependency(handler.stateName, handler.stateElement, address, handler.stateElement.staticDependency, handler.stateElement.dynamicDependency, handler.stateElement.listPaths, receiver, "new", (depAddress) => {
21
- // キャッシュを無効化(ダーティ)
22
- const absDepPathInfo = getAbsolutePathInfo(stateElement, depAddress.pathInfo);
23
- const absDepAddress = createAbsoluteStateAddress(absDepPathInfo, depAddress.listIndex);
24
- dirtyCacheEntryByAbsoluteStateAddress(absDepAddress);
25
- // 更新対象として登録
26
- updater.enqueueAbsoluteAddress(absDepAddress);
27
- });
28
- };
29
- }
30
- //# sourceMappingURL=postUpdate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postUpdate.js","sourceRoot":"","sources":["../../../src/proxy/apis/postUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,qCAAqC,EAAE,MAAM,8CAA8C,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,KAAkB,EAClB,QAAa,EACb,OAAsB;IAEtB,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC3C,mCAAmC;QACnC,cAAc,CACZ,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,YAAY,EACpB,OAAO,EACP,OAAO,CAAC,YAAY,CAAC,gBAAgB,EACrC,OAAO,CAAC,YAAY,CAAC,iBAAiB,EACtC,OAAO,CAAC,YAAY,CAAC,SAAS,EAC9B,QAAuB,EACvB,KAAK,EACL,CAAC,UAAyB,EAAE,EAAE;YAC5B,kBAAkB;YAClB,MAAM,cAAc,GAAG,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9E,MAAM,aAAa,GAAG,0BAA0B,CAAC,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YACvF,qCAAqC,CAAC,aAAa,CAAC,CAAC;YACrD,YAAY;YACZ,OAAO,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,CACF,CAAC;IACJ,CAAC,CAAA;AACH,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * resolve.ts
3
- *
4
- * StateClassのAPIとして、パス(path)とインデックス(indexes)を指定して
5
- * Stateの値を取得・設定するための関数(resolve)の実装です。
6
- *
7
- * 主な役割:
8
- * - 文字列パス(path)とインデックス配列(indexes)から、該当するState値の取得・設定を行う
9
- * - ワイルドカードや多重ループを含むパスにも対応
10
- * - value未指定時は取得(getByRef)、指定時は設定(setByRef)を実行
11
- *
12
- * 設計ポイント:
13
- * - getStructuredPathInfoでパスを解析し、ワイルドカード階層ごとにリストインデックスを解決
14
- * - handler.engine.getListIndexesSetで各階層のリストインデックス集合を取得
15
- * - getByRef/setByRefで値の取得・設定を一元的に処理
16
- * - 柔軟なバインディングやAPI経由での利用が可能
17
- */
18
- import { IStateHandler } from "../types";
19
- type ResolveFunction = (path: string, indexes: number[], value?: any) => any;
20
- export declare function resolve(target: object, _prop: PropertyKey, receiver: any, handler: IStateHandler): ResolveFunction;
21
- export {};
22
- //# sourceMappingURL=resolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/proxy/apis/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,KAAK,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;AAE7E,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,aAAa,GACrB,eAAe,CAyCjB"}
@@ -1,65 +0,0 @@
1
- /**
2
- * resolve.ts
3
- *
4
- * StateClassのAPIとして、パス(path)とインデックス(indexes)を指定して
5
- * Stateの値を取得・設定するための関数(resolve)の実装です。
6
- *
7
- * 主な役割:
8
- * - 文字列パス(path)とインデックス配列(indexes)から、該当するState値の取得・設定を行う
9
- * - ワイルドカードや多重ループを含むパスにも対応
10
- * - value未指定時は取得(getByRef)、指定時は設定(setByRef)を実行
11
- *
12
- * 設計ポイント:
13
- * - getStructuredPathInfoでパスを解析し、ワイルドカード階層ごとにリストインデックスを解決
14
- * - handler.engine.getListIndexesSetで各階層のリストインデックス集合を取得
15
- * - getByRef/setByRefで値の取得・設定を一元的に処理
16
- * - 柔軟なバインディングやAPI経由での利用が可能
17
- */
18
- import { getPathInfo } from "../../address/PathInfo";
19
- import { createStateAddress } from "../../address/StateAddress";
20
- import { getListIndexesByList } from "../../list/listIndexesByList";
21
- import { raiseError } from "../../raiseError";
22
- import { getByAddress } from "../methods/getByAddress";
23
- import { setByAddress } from "../methods/setByAddress";
24
- export function resolve(target, _prop, receiver, handler) {
25
- return (path, indexes, value) => {
26
- const pathInfo = getPathInfo(path);
27
- if (handler.addressStackLength > 0) {
28
- const lastInfo = handler.lastAddressStack?.pathInfo ?? null;
29
- const stateElement = handler.stateElement;
30
- if (lastInfo !== null && lastInfo.path !== pathInfo.path) {
31
- // gettersに含まれる場合は依存関係を登録
32
- if (stateElement.getterPaths.has(lastInfo.path)) {
33
- stateElement.addDynamicDependency(pathInfo.path, lastInfo.path);
34
- }
35
- }
36
- }
37
- if (pathInfo.wildcardParentPathInfos.length > indexes.length) {
38
- raiseError(`indexes length is insufficient: ${path}`);
39
- }
40
- // ワイルドカード階層ごとにListIndexを解決していく
41
- let listIndex = null;
42
- for (let i = 0; i < pathInfo.wildcardParentPathInfos.length; i++) {
43
- const wildcardParentPathInfo = pathInfo.wildcardParentPathInfos[i];
44
- const wildcardAddress = createStateAddress(wildcardParentPathInfo, listIndex);
45
- const tmpValue = getByAddress(target, wildcardAddress, receiver, handler);
46
- const listIndexes = getListIndexesByList(tmpValue);
47
- if (listIndexes == null) {
48
- raiseError(`ListIndexes not found: ${wildcardParentPathInfo.path}`);
49
- }
50
- const index = indexes[i];
51
- listIndex = listIndexes[index] ??
52
- raiseError(`ListIndex not found: ${wildcardParentPathInfo.path}`);
53
- }
54
- // ToDo:WritableかReadonlyかを判定して適切なメソッドを呼び出す
55
- const address = createStateAddress(pathInfo, listIndex);
56
- const hasSetValue = typeof value !== "undefined";
57
- if (!hasSetValue) {
58
- return getByAddress(target, address, receiver, handler);
59
- }
60
- else {
61
- setByAddress(target, address, value, receiver, handler);
62
- }
63
- };
64
- }
65
- //# sourceMappingURL=resolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/proxy/apis/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,UAAU,OAAO,CACrB,MAAc,EACd,KAAkB,EAClB,QAAa,EACb,OAAsB;IAEtB,OAAO,CAAC,IAAY,EAAE,OAAiB,EAAE,KAAW,EAAO,EAAE;QAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,IAAI,IAAI,CAAC;YAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAC1C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzD,yBAAyB;gBACzB,IAAI,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,YAAY,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,uBAAuB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7D,UAAU,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,+BAA+B;QAC/B,IAAI,SAAS,GAAsB,IAAI,CAAC;QACxC,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,eAAe,GAAG,kBAAkB,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,UAAU,CAAC,0BAA0B,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC5B,UAAU,CAAC,wBAAwB,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,WAAW,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,34 +0,0 @@
1
- /**
2
- * trackDependency.ts
3
- *
4
- * StateClassのAPIとして、getterチェーン中に参照されたパス間の
5
- * 依存関係を動的に登録するための関数(trackDependency)の実装です。
6
- *
7
- * 主な役割:
8
- * - 現在解決中のStatePropertyRef(lastRefStack)を取得
9
- * - pathManager.gettersに登録されているgetterの場合のみ依存を追跡
10
- * - 自身と同一パターンでない参照に対してaddDynamicDependencyを呼び出す
11
- *
12
- * 設計ポイント:
13
- * - lastRefStackが存在しない場合はSTATE-202エラーを発生させる
14
- * - getter同士の再帰(自己依存)は登録しない
15
- * - 動的依存はpathManagerに集約し、キャッシュの無効化に利用する
16
- */
17
- import { IStateHandler } from "../types";
18
- /**
19
- * 現在解決中のgetterから、指定されたパスへの動的依存を登録する関数を返します。
20
- *
21
- * - pathManager.gettersに登録されているgetterのみ依存追跡を行う
22
- * - 自己参照は除外し、異なるパターン間の依存だけを記録
23
- * - 動的依存はpathManager.addDynamicDependencyで集中管理される
24
- *
25
- * @param target プロキシ対象オブジェクト
26
- * @param prop アクセスされたプロパティキー
27
- * @param receiver プロキシレシーバ
28
- * @param handler StateClassハンドラ
29
- * @returns 引数pathで指定されたパターンへの依存を登録する無名関数
30
- */
31
- type TrackDependencyFunction = (path: string) => void;
32
- export declare function trackDependency(_target: object, _prop: PropertyKey, _receiver: any, handler: IStateHandler): TrackDependencyFunction;
33
- export {};
34
- //# sourceMappingURL=trackDependency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trackDependency.d.ts","sourceRoot":"","sources":["../../../src/proxy/apis/trackDependency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;;;;;;GAYG;AAEH,KAAK,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,aAAa,GACrB,uBAAuB,CAazB"}
@@ -1,32 +0,0 @@
1
- /**
2
- * trackDependency.ts
3
- *
4
- * StateClassのAPIとして、getterチェーン中に参照されたパス間の
5
- * 依存関係を動的に登録するための関数(trackDependency)の実装です。
6
- *
7
- * 主な役割:
8
- * - 現在解決中のStatePropertyRef(lastRefStack)を取得
9
- * - pathManager.gettersに登録されているgetterの場合のみ依存を追跡
10
- * - 自身と同一パターンでない参照に対してaddDynamicDependencyを呼び出す
11
- *
12
- * 設計ポイント:
13
- * - lastRefStackが存在しない場合はSTATE-202エラーを発生させる
14
- * - getter同士の再帰(自己依存)は登録しない
15
- * - 動的依存はpathManagerに集約し、キャッシュの無効化に利用する
16
- */
17
- import { raiseError } from "../../raiseError";
18
- export function trackDependency(_target, _prop, _receiver, handler) {
19
- return (path) => {
20
- if (handler.addressStackLength === 0) {
21
- raiseError(`No active state reference to track dependency for path "${path}".`);
22
- }
23
- const lastInfo = handler.lastAddressStack?.pathInfo ??
24
- raiseError('Internal error: lastAddressStack is null');
25
- const stateElement = handler.stateElement;
26
- if (handler.stateElement.getterPaths.has(lastInfo.path) &&
27
- lastInfo.path !== path) {
28
- stateElement.addDynamicDependency(path, lastInfo.path);
29
- }
30
- };
31
- }
32
- //# sourceMappingURL=trackDependency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trackDependency.js","sourceRoot":"","sources":["../../../src/proxy/apis/trackDependency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmB9C,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,KAAkB,EAClB,SAAc,EACd,OAAsB;IAEtB,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,IAAI,OAAO,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,2DAA2D,IAAI,IAAI,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ;YACjD,UAAU,CAAC,0CAA0C,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrD,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * updatedCallback.ts
3
- *
4
- * Utility function to invoke the StateClass lifecycle hook "$updatedCallback".
5
- *
6
- * Main responsibilities:
7
- * - Invokes $updatedCallback method if defined on the object (target)
8
- * - Callback is invoked with target's this context, passing IReadonlyStateProxy (receiver) as argument
9
- * - Executable as async function (await compatible)
10
- *
11
- * Design points:
12
- * - Safely retrieves $updatedCallback property using Reflect.get
13
- * - Does nothing if the callback doesn't exist
14
- * - Used for lifecycle management and update handling logic
15
- */
16
- import { IAbsoluteStateAddress } from "../../address/types";
17
- import { IStateHandler } from "../types";
18
- /**
19
- * Invokes the $updatedCallback lifecycle hook if defined on the target.
20
- * Aggregates updated paths and their indexes before passing to the callback.
21
- * @param target - Target object to check for callback
22
- * @param refs - Array of state property references that were updated
23
- * @param receiver - State proxy to pass as this context
24
- * @param handler - State handler (unused but part of signature)
25
- * @returns Promise or void depending on callback implementation
26
- */
27
- export declare function updatedCallback(target: object, refs: IAbsoluteStateAddress[], receiver: any, handler: IStateHandler): unknown;
28
- //# sourceMappingURL=updatedCallback.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updatedCallback.d.ts","sourceRoot":"","sources":["../../../src/proxy/apis/updatedCallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,qBAAqB,EAAE,EAC7B,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,aAAa,GACrB,OAAO,CA2BT"}
@@ -1,56 +0,0 @@
1
- /**
2
- * updatedCallback.ts
3
- *
4
- * Utility function to invoke the StateClass lifecycle hook "$updatedCallback".
5
- *
6
- * Main responsibilities:
7
- * - Invokes $updatedCallback method if defined on the object (target)
8
- * - Callback is invoked with target's this context, passing IReadonlyStateProxy (receiver) as argument
9
- * - Executable as async function (await compatible)
10
- *
11
- * Design points:
12
- * - Safely retrieves $updatedCallback property using Reflect.get
13
- * - Does nothing if the callback doesn't exist
14
- * - Used for lifecycle management and update handling logic
15
- */
16
- import { STATE_UPDATED_CALLBACK_NAME } from "../../define";
17
- /**
18
- * Invokes the $updatedCallback lifecycle hook if defined on the target.
19
- * Aggregates updated paths and their indexes before passing to the callback.
20
- * @param target - Target object to check for callback
21
- * @param refs - Array of state property references that were updated
22
- * @param receiver - State proxy to pass as this context
23
- * @param handler - State handler (unused but part of signature)
24
- * @returns Promise or void depending on callback implementation
25
- */
26
- export function updatedCallback(target, refs, receiver, handler) {
27
- const callback = Reflect.get(target, STATE_UPDATED_CALLBACK_NAME);
28
- if (typeof callback === "function") {
29
- const paths = new Set();
30
- // ToDo:現状では1階層のみのワイルドカードに対応。多階層対応は後回し
31
- const indexesListByPath = {};
32
- for (const ref of refs) {
33
- const pathInfo = ref.absolutePathInfo.pathInfo;
34
- let pathName;
35
- if (ref.absolutePathInfo.stateName === handler.stateName) {
36
- pathName = pathInfo.path;
37
- }
38
- else {
39
- pathName = pathInfo.path + "@" + ref.absolutePathInfo.stateName;
40
- }
41
- paths.add(pathName);
42
- if (pathInfo.wildcardCount > 0) {
43
- const indexes = ref.listIndex.indexes ?? [];
44
- const indexesList = indexesListByPath[pathName];
45
- if (typeof indexesList === "undefined") {
46
- indexesListByPath[pathName] = [indexes];
47
- }
48
- else {
49
- indexesList.push(indexes);
50
- }
51
- }
52
- }
53
- return callback.call(receiver, Array.from(paths), indexesListByPath);
54
- }
55
- }
56
- //# sourceMappingURL=updatedCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updatedCallback.js","sourceRoot":"","sources":["../../../src/proxy/apis/updatedCallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAG3D;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,IAA6B,EAC7B,QAAa,EACb,OAAsB;IAEtB,MAAM,QAAQ,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC3E,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;QACrC,sCAAsC;QACtC,MAAM,iBAAiB,GAAoC,EAAE,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YAC/C,IAAI,QAAQ,CAAC;YACb,IAAI,GAAG,CAAC,gBAAgB,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzD,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAClE,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpB,IAAI,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,SAAU,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;oBACvC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvE,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- import { IStateAddress } from "../../address/types";
2
- import { IStateHandler } from "../types";
3
- export declare function checkDependency(handler: IStateHandler, address: IStateAddress): void;
4
- //# sourceMappingURL=checkDependency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkDependency.d.ts","sourceRoot":"","sources":["../../../src/proxy/methods/checkDependency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,wBAAgB,eAAe,CAC7B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,aAAa,GACrB,IAAI,CAcN"}
@@ -1,16 +0,0 @@
1
- export function checkDependency(handler, address) {
2
- // 動的依存関係の登録
3
- if (handler.addressStackLength > 0) {
4
- const lastInfo = handler.lastAddressStack?.pathInfo ?? null;
5
- const stateElement = handler.stateElement;
6
- if (lastInfo !== null) {
7
- if (stateElement.getterPaths.has(lastInfo.path) &&
8
- lastInfo.path !== address.pathInfo.path) {
9
- // lastInfo.pathはgetterの名前であり、address.pathInfo.pathは
10
- // そのgetterが参照している値のパスである
11
- stateElement.addDynamicDependency(address.pathInfo.path, lastInfo.path);
12
- }
13
- }
14
- }
15
- }
16
- //# sourceMappingURL=checkDependency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkDependency.js","sourceRoot":"","sources":["../../../src/proxy/methods/checkDependency.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAC7B,OAAsB,EACtB,OAAsB;IAEtB,YAAY;IACZ,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,IAAI,IAAI,CAAC;QAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC7C,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC1C,oDAAoD;gBACpD,yBAAyB;gBACzB,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * getByAddress.ts
3
- *
4
- * StateClassの内部APIとして、構造化パス情報(IStructuredPathInfo)とリストインデックス(IListIndex)を指定して
5
- * 状態オブジェクト(target)から値を取得するための関数(getByAddress)の実装です。
6
- *
7
- * 主な役割:
8
- * - 指定されたパス・インデックスに対応するState値を取得(多重ループやワイルドカードにも対応)
9
- * - 依存関係の自動登録(checkDependencyで登録)
10
- * - キャッシュ機構(リストもキャッシュ対象)
11
- * - getter経由で値取得時はpushAddressでスコープを一時設定
12
- * - 存在しない場合は親pathAddressやlistIndexを辿って再帰的に値を取得
13
- *
14
- * 設計ポイント:
15
- * - checkDependencyで依存追跡を実行
16
- * - キャッシュ有効時はstateAddressで値をキャッシュし、取得・再利用を最適化
17
- * - ワイルドカードや多重ループにも柔軟に対応し、再帰的な値取得を実現
18
- * - finallyでキャッシュへの格納を保証
19
- */
20
- import { IStateAddress } from "../../address/types";
21
- import { IStateHandler } from "../types";
22
- export declare function getByAddress(target: object, address: IStateAddress, receiver: any, handler: IStateHandler): any;
23
- //# sourceMappingURL=getByAddress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getByAddress.d.ts","sourceRoot":"","sources":["../../../src/proxy/methods/getByAddress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAwDzC,wBAAgB,YAAY,CAC1B,MAAM,EAAK,MAAM,EACjB,OAAO,EAAI,aAAa,EACxB,QAAQ,EAAG,GAAG,EACd,OAAO,EAAI,aAAa,GACvB,GAAG,CAUL"}
@@ -1,81 +0,0 @@
1
- /**
2
- * getByAddress.ts
3
- *
4
- * StateClassの内部APIとして、構造化パス情報(IStructuredPathInfo)とリストインデックス(IListIndex)を指定して
5
- * 状態オブジェクト(target)から値を取得するための関数(getByAddress)の実装です。
6
- *
7
- * 主な役割:
8
- * - 指定されたパス・インデックスに対応するState値を取得(多重ループやワイルドカードにも対応)
9
- * - 依存関係の自動登録(checkDependencyで登録)
10
- * - キャッシュ機構(リストもキャッシュ対象)
11
- * - getter経由で値取得時はpushAddressでスコープを一時設定
12
- * - 存在しない場合は親pathAddressやlistIndexを辿って再帰的に値を取得
13
- *
14
- * 設計ポイント:
15
- * - checkDependencyで依存追跡を実行
16
- * - キャッシュ有効時はstateAddressで値をキャッシュし、取得・再利用を最適化
17
- * - ワイルドカードや多重ループにも柔軟に対応し、再帰的な値取得を実現
18
- * - finallyでキャッシュへの格納を保証
19
- */
20
- import { getAbsolutePathInfo } from "../../address/AbsolutePathInfo";
21
- import { createAbsoluteStateAddress } from "../../address/AbsoluteStateAddress";
22
- import { getCacheEntryByAbsoluteStateAddress, setCacheEntryByAbsoluteStateAddress } from "../../cache/cacheEntryByAbsoluteStateAddress";
23
- import { WILDCARD } from "../../define";
24
- import { raiseError } from "../../raiseError";
25
- import { checkDependency } from "./checkDependency";
26
- function _getByAddress(target, address, receiver, handler, stateElement) {
27
- if (address.pathInfo.path in target) {
28
- // getterの中で参照の可能性があるので、addressをプッシュする
29
- if (stateElement.getterPaths.has(address.pathInfo.path)) {
30
- handler.pushAddress(address);
31
- try {
32
- return Reflect.get(target, address.pathInfo.path, receiver);
33
- }
34
- finally {
35
- handler.popAddress();
36
- }
37
- }
38
- else {
39
- return Reflect.get(target, address.pathInfo.path);
40
- }
41
- }
42
- else {
43
- const parentAddress = address.parentAddress ?? raiseError(`address.parentAddress is undefined path: ${address.pathInfo.path}`);
44
- const parentValue = getByAddress(target, parentAddress, receiver, handler);
45
- const lastSegment = address.pathInfo.segments[address.pathInfo.segments.length - 1];
46
- if (lastSegment === WILDCARD) {
47
- const index = address.listIndex?.index ?? raiseError(`address.listIndex?.index is undefined path: ${address.pathInfo.path}`);
48
- return Reflect.get(parentValue, index);
49
- }
50
- else {
51
- return Reflect.get(parentValue, lastSegment);
52
- }
53
- }
54
- }
55
- function _getByAddressWithCache(target, address, receiver, handler, stateElement) {
56
- const absPathInfo = getAbsolutePathInfo(stateElement, address.pathInfo);
57
- const absAddress = createAbsoluteStateAddress(absPathInfo, address.listIndex);
58
- const cacheEntry = getCacheEntryByAbsoluteStateAddress(absAddress);
59
- if (cacheEntry !== null && cacheEntry.dirty === false) {
60
- return cacheEntry.value;
61
- }
62
- const value = _getByAddress(target, address, receiver, handler, stateElement);
63
- setCacheEntryByAbsoluteStateAddress(absAddress, {
64
- value: value,
65
- dirty: false
66
- });
67
- return value;
68
- }
69
- export function getByAddress(target, address, receiver, handler) {
70
- checkDependency(handler, address);
71
- const stateElement = handler.stateElement;
72
- const cacheable = address.pathInfo.wildcardCount > 0 ||
73
- stateElement.getterPaths.has(address.pathInfo.path);
74
- if (cacheable) {
75
- return _getByAddressWithCache(target, address, receiver, handler, stateElement);
76
- }
77
- else {
78
- return _getByAddress(target, address, receiver, handler, stateElement);
79
- }
80
- }
81
- //# sourceMappingURL=getByAddress.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getByAddress.js","sourceRoot":"","sources":["../../../src/proxy/methods/getByAddress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EAAE,mCAAmC,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AAExI,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,SAAS,aAAa,CACpB,MAAiB,EACjB,OAAwB,EACxB,QAAc,EACd,OAAwB,EACxB,YAA2B;IAE3B,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACpC,sCAAsC;QACtC,IAAI,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,CAAC;gBACH,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC,4CAA4C,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/H,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpF,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,UAAU,CAAC,+CAA+C,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7H,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAiB,EACjB,OAAwB,EACxB,QAAc,EACd,OAAwB,EACxB,YAA2B;IAE3B,MAAM,WAAW,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,mCAAmC,CAAC,UAAU,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACtD,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9E,mCAAmC,CAAC,UAAU,EAAE;QAC9C,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAAiB,EACjB,OAAwB,EACxB,QAAc,EACd,OAAwB;IAExB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC;QAClC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}