@typespec/compiler 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/cmd/tsp-server.js +3 -0
  4. package/cmd/tsp.js +3 -0
  5. package/dist/cmd/runner.d.ts +9 -0
  6. package/dist/cmd/runner.d.ts.map +1 -0
  7. package/dist/cmd/runner.js +62 -0
  8. package/dist/cmd/runner.js.map +1 -0
  9. package/dist/config/config-interpolation.d.ts +11 -0
  10. package/dist/config/config-interpolation.d.ts.map +1 -0
  11. package/dist/config/config-interpolation.js +109 -0
  12. package/dist/config/config-interpolation.js.map +1 -0
  13. package/dist/config/config-loader.d.ts +25 -0
  14. package/dist/config/config-loader.d.ts.map +1 -0
  15. package/dist/config/config-loader.js +182 -0
  16. package/dist/config/config-loader.js.map +1 -0
  17. package/dist/config/config-schema.d.ts +4 -0
  18. package/dist/config/config-schema.d.ts.map +1 -0
  19. package/dist/config/config-schema.js +84 -0
  20. package/dist/config/config-schema.js.map +1 -0
  21. package/dist/config/index.d.ts +3 -0
  22. package/dist/config/index.d.ts.map +1 -0
  23. package/dist/config/index.js +3 -0
  24. package/dist/config/index.js.map +1 -0
  25. package/dist/config/types.d.ts +79 -0
  26. package/dist/config/types.d.ts.map +1 -0
  27. package/dist/config/types.js +2 -0
  28. package/dist/config/types.js.map +1 -0
  29. package/dist/core/binder.d.ts +29 -0
  30. package/dist/core/binder.d.ts.map +1 -0
  31. package/dist/core/binder.js +455 -0
  32. package/dist/core/binder.js.map +1 -0
  33. package/dist/core/charcode.d.ts +130 -0
  34. package/dist/core/charcode.d.ts.map +1 -0
  35. package/dist/core/charcode.js +115 -0
  36. package/dist/core/charcode.js.map +1 -0
  37. package/dist/core/checker.d.ts +138 -0
  38. package/dist/core/checker.d.ts.map +1 -0
  39. package/dist/core/checker.js +4070 -0
  40. package/dist/core/checker.js.map +1 -0
  41. package/dist/core/cli/args.d.ts +18 -0
  42. package/dist/core/cli/args.d.ts.map +1 -0
  43. package/dist/core/cli/args.js +108 -0
  44. package/dist/core/cli/args.js.map +1 -0
  45. package/dist/core/cli/cli.d.ts +2 -0
  46. package/dist/core/cli/cli.d.ts.map +1 -0
  47. package/dist/core/cli/cli.js +477 -0
  48. package/dist/core/cli/cli.js.map +1 -0
  49. package/dist/core/cli/index.d.ts +2 -0
  50. package/dist/core/cli/index.d.ts.map +1 -0
  51. package/dist/core/cli/index.js +2 -0
  52. package/dist/core/cli/index.js.map +1 -0
  53. package/dist/core/decorator-utils.d.ts +108 -0
  54. package/dist/core/decorator-utils.d.ts.map +1 -0
  55. package/dist/core/decorator-utils.js +326 -0
  56. package/dist/core/decorator-utils.js.map +1 -0
  57. package/dist/core/diagnostics.d.ts +93 -0
  58. package/dist/core/diagnostics.d.ts.map +1 -0
  59. package/dist/core/diagnostics.js +315 -0
  60. package/dist/core/diagnostics.js.map +1 -0
  61. package/dist/core/emitter-utils.d.ts +14 -0
  62. package/dist/core/emitter-utils.d.ts.map +1 -0
  63. package/dist/core/emitter-utils.js +16 -0
  64. package/dist/core/emitter-utils.js.map +1 -0
  65. package/dist/core/formatter-fs.d.ts +21 -0
  66. package/dist/core/formatter-fs.d.ts.map +1 -0
  67. package/dist/core/formatter-fs.js +79 -0
  68. package/dist/core/formatter-fs.js.map +1 -0
  69. package/dist/core/formatter.d.ts +10 -0
  70. package/dist/core/formatter.d.ts.map +1 -0
  71. package/dist/core/formatter.js +24 -0
  72. package/dist/core/formatter.js.map +1 -0
  73. package/dist/core/helpers/discriminator-utils.d.ts +14 -0
  74. package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
  75. package/dist/core/helpers/discriminator-utils.js +169 -0
  76. package/dist/core/helpers/discriminator-utils.js.map +1 -0
  77. package/dist/core/helpers/index.d.ts +6 -0
  78. package/dist/core/helpers/index.d.ts.map +1 -0
  79. package/dist/core/helpers/index.js +6 -0
  80. package/dist/core/helpers/index.js.map +1 -0
  81. package/dist/core/helpers/operation-utils.d.ts +15 -0
  82. package/dist/core/helpers/operation-utils.d.ts.map +1 -0
  83. package/dist/core/helpers/operation-utils.js +35 -0
  84. package/dist/core/helpers/operation-utils.js.map +1 -0
  85. package/dist/core/helpers/projected-names-utils.d.ts +20 -0
  86. package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
  87. package/dist/core/helpers/projected-names-utils.js +40 -0
  88. package/dist/core/helpers/projected-names-utils.js.map +1 -0
  89. package/dist/core/helpers/type-name-utils.d.ts +14 -0
  90. package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
  91. package/dist/core/helpers/type-name-utils.js +122 -0
  92. package/dist/core/helpers/type-name-utils.js.map +1 -0
  93. package/dist/core/helpers/usage-resolver.d.ts +20 -0
  94. package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
  95. package/dist/core/helpers/usage-resolver.js +108 -0
  96. package/dist/core/helpers/usage-resolver.js.map +1 -0
  97. package/dist/core/index.d.ts +26 -0
  98. package/dist/core/index.d.ts.map +1 -0
  99. package/dist/core/index.js +26 -0
  100. package/dist/core/index.js.map +1 -0
  101. package/dist/core/install.d.ts +2 -0
  102. package/dist/core/install.d.ts.map +1 -0
  103. package/dist/core/install.js +26 -0
  104. package/dist/core/install.js.map +1 -0
  105. package/dist/core/library.d.ts +34 -0
  106. package/dist/core/library.d.ts.map +1 -0
  107. package/dist/core/library.js +100 -0
  108. package/dist/core/library.js.map +1 -0
  109. package/dist/core/logger/console-sink.browser.d.ts +4 -0
  110. package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
  111. package/dist/core/logger/console-sink.browser.js +14 -0
  112. package/dist/core/logger/console-sink.browser.js.map +1 -0
  113. package/dist/core/logger/console-sink.d.ts +9 -0
  114. package/dist/core/logger/console-sink.d.ts.map +1 -0
  115. package/dist/core/logger/console-sink.js +81 -0
  116. package/dist/core/logger/console-sink.js.map +1 -0
  117. package/dist/core/logger/index.d.ts +3 -0
  118. package/dist/core/logger/index.d.ts.map +1 -0
  119. package/dist/core/logger/index.js +3 -0
  120. package/dist/core/logger/index.js.map +1 -0
  121. package/dist/core/logger/logger.d.ts +7 -0
  122. package/dist/core/logger/logger.d.ts.map +1 -0
  123. package/dist/core/logger/logger.js +32 -0
  124. package/dist/core/logger/logger.js.map +1 -0
  125. package/dist/core/logger/tracer.d.ts +3 -0
  126. package/dist/core/logger/tracer.d.ts.map +1 -0
  127. package/dist/core/logger/tracer.js +91 -0
  128. package/dist/core/logger/tracer.js.map +1 -0
  129. package/dist/core/manifest.d.ts +21 -0
  130. package/dist/core/manifest.d.ts.map +1 -0
  131. package/dist/core/manifest.js +8 -0
  132. package/dist/core/manifest.js.map +1 -0
  133. package/dist/core/messages.d.ts +2253 -0
  134. package/dist/core/messages.d.ts.map +1 -0
  135. package/dist/core/messages.js +749 -0
  136. package/dist/core/messages.js.map +1 -0
  137. package/dist/core/module-resolver.d.ts +84 -0
  138. package/dist/core/module-resolver.d.ts.map +1 -0
  139. package/dist/core/module-resolver.js +170 -0
  140. package/dist/core/module-resolver.js.map +1 -0
  141. package/dist/core/node-host.browser.d.ts +2 -0
  142. package/dist/core/node-host.browser.d.ts.map +1 -0
  143. package/dist/core/node-host.browser.js +2 -0
  144. package/dist/core/node-host.browser.js.map +1 -0
  145. package/dist/core/node-host.d.ts +7 -0
  146. package/dist/core/node-host.d.ts.map +1 -0
  147. package/dist/core/node-host.js +43 -0
  148. package/dist/core/node-host.js.map +1 -0
  149. package/dist/core/nonascii.d.ts +2 -0
  150. package/dist/core/nonascii.d.ts.map +1 -0
  151. package/dist/core/nonascii.js +712 -0
  152. package/dist/core/nonascii.js.map +1 -0
  153. package/dist/core/options.d.ts +46 -0
  154. package/dist/core/options.d.ts.map +1 -0
  155. package/dist/core/options.js +2 -0
  156. package/dist/core/options.js.map +1 -0
  157. package/dist/core/parser.d.ts +17 -0
  158. package/dist/core/parser.d.ts.map +1 -0
  159. package/dist/core/parser.js +2561 -0
  160. package/dist/core/parser.js.map +1 -0
  161. package/dist/core/path-utils.d.ts +193 -0
  162. package/dist/core/path-utils.d.ts.map +1 -0
  163. package/dist/core/path-utils.js +427 -0
  164. package/dist/core/path-utils.js.map +1 -0
  165. package/dist/core/program.d.ts +104 -0
  166. package/dist/core/program.d.ts.map +1 -0
  167. package/dist/core/program.js +898 -0
  168. package/dist/core/program.js.map +1 -0
  169. package/dist/core/projection-members.d.ts +8 -0
  170. package/dist/core/projection-members.d.ts.map +1 -0
  171. package/dist/core/projection-members.js +387 -0
  172. package/dist/core/projection-members.js.map +1 -0
  173. package/dist/core/projector.d.ts +26 -0
  174. package/dist/core/projector.d.ts.map +1 -0
  175. package/dist/core/projector.js +523 -0
  176. package/dist/core/projector.js.map +1 -0
  177. package/dist/core/scanner.d.ts +125 -0
  178. package/dist/core/scanner.d.ts.map +1 -0
  179. package/dist/core/scanner.js +1012 -0
  180. package/dist/core/scanner.js.map +1 -0
  181. package/dist/core/schema-validator.d.ts +6 -0
  182. package/dist/core/schema-validator.d.ts.map +1 -0
  183. package/dist/core/schema-validator.js +38 -0
  184. package/dist/core/schema-validator.js.map +1 -0
  185. package/dist/core/semantic-walker.d.ts +53 -0
  186. package/dist/core/semantic-walker.d.ts.map +1 -0
  187. package/dist/core/semantic-walker.js +355 -0
  188. package/dist/core/semantic-walker.js.map +1 -0
  189. package/dist/core/type-utils.d.ts +49 -0
  190. package/dist/core/type-utils.d.ts.map +1 -0
  191. package/dist/core/type-utils.js +95 -0
  192. package/dist/core/type-utils.js.map +1 -0
  193. package/dist/core/types.d.ts +1345 -0
  194. package/dist/core/types.d.ts.map +1 -0
  195. package/dist/core/types.js +105 -0
  196. package/dist/core/types.js.map +1 -0
  197. package/dist/core/util.d.ts +150 -0
  198. package/dist/core/util.d.ts.map +1 -0
  199. package/dist/core/util.js +417 -0
  200. package/dist/core/util.js.map +1 -0
  201. package/dist/emitter-framework/asset-emitter.d.ts +5 -0
  202. package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
  203. package/dist/emitter-framework/asset-emitter.js +610 -0
  204. package/dist/emitter-framework/asset-emitter.js.map +1 -0
  205. package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
  206. package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
  207. package/dist/emitter-framework/builders/array-builder.js +45 -0
  208. package/dist/emitter-framework/builders/array-builder.js.map +1 -0
  209. package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
  210. package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
  211. package/dist/emitter-framework/builders/object-builder.js +30 -0
  212. package/dist/emitter-framework/builders/object-builder.js.map +1 -0
  213. package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
  214. package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
  215. package/dist/emitter-framework/builders/string-builder.js +98 -0
  216. package/dist/emitter-framework/builders/string-builder.js.map +1 -0
  217. package/dist/emitter-framework/custom-key-map.d.ts +29 -0
  218. package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
  219. package/dist/emitter-framework/custom-key-map.js +62 -0
  220. package/dist/emitter-framework/custom-key-map.js.map +1 -0
  221. package/dist/emitter-framework/index.d.ts +8 -0
  222. package/dist/emitter-framework/index.d.ts.map +1 -0
  223. package/dist/emitter-framework/index.js +8 -0
  224. package/dist/emitter-framework/index.js.map +1 -0
  225. package/dist/emitter-framework/placeholder.d.ts +12 -0
  226. package/dist/emitter-framework/placeholder.d.ts.map +1 -0
  227. package/dist/emitter-framework/placeholder.js +27 -0
  228. package/dist/emitter-framework/placeholder.js.map +1 -0
  229. package/dist/emitter-framework/type-emitter.d.ts +314 -0
  230. package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
  231. package/dist/emitter-framework/type-emitter.js +612 -0
  232. package/dist/emitter-framework/type-emitter.js.map +1 -0
  233. package/dist/emitter-framework/types.d.ts +124 -0
  234. package/dist/emitter-framework/types.d.ts.map +1 -0
  235. package/dist/emitter-framework/types.js +39 -0
  236. package/dist/emitter-framework/types.js.map +1 -0
  237. package/dist/formatter/index.d.ts +11 -0
  238. package/dist/formatter/index.d.ts.map +1 -0
  239. package/dist/formatter/index.js +28 -0
  240. package/dist/formatter/index.js.map +1 -0
  241. package/dist/formatter/parser.d.ts +16 -0
  242. package/dist/formatter/parser.d.ts.map +1 -0
  243. package/dist/formatter/parser.js +23 -0
  244. package/dist/formatter/parser.js.map +1 -0
  245. package/dist/formatter/print/comment-handler.d.ts +7 -0
  246. package/dist/formatter/print/comment-handler.d.ts.map +1 -0
  247. package/dist/formatter/print/comment-handler.js +81 -0
  248. package/dist/formatter/print/comment-handler.js.map +1 -0
  249. package/dist/formatter/print/index.d.ts +3 -0
  250. package/dist/formatter/print/index.d.ts.map +1 -0
  251. package/dist/formatter/print/index.js +3 -0
  252. package/dist/formatter/print/index.js.map +1 -0
  253. package/dist/formatter/print/needs-parens.d.ts +10 -0
  254. package/dist/formatter/print/needs-parens.d.ts.map +1 -0
  255. package/dist/formatter/print/needs-parens.js +27 -0
  256. package/dist/formatter/print/needs-parens.js.map +1 -0
  257. package/dist/formatter/print/printer.d.ts +62 -0
  258. package/dist/formatter/print/printer.d.ts.map +1 -0
  259. package/dist/formatter/print/printer.js +1025 -0
  260. package/dist/formatter/print/printer.js.map +1 -0
  261. package/dist/formatter/print/types.d.ts +9 -0
  262. package/dist/formatter/print/types.d.ts.map +1 -0
  263. package/dist/formatter/print/types.js +2 -0
  264. package/dist/formatter/print/types.js.map +1 -0
  265. package/dist/init/index.d.ts +2 -0
  266. package/dist/init/index.d.ts.map +1 -0
  267. package/dist/init/index.js +2 -0
  268. package/dist/init/index.js.map +1 -0
  269. package/dist/init/init-template.d.ts +45 -0
  270. package/dist/init/init-template.d.ts.map +1 -0
  271. package/dist/init/init-template.js +45 -0
  272. package/dist/init/init-template.js.map +1 -0
  273. package/dist/init/init.d.ts +49 -0
  274. package/dist/init/init.d.ts.map +1 -0
  275. package/dist/init/init.js +224 -0
  276. package/dist/init/init.js.map +1 -0
  277. package/dist/lib/decorators.d.ts +222 -0
  278. package/dist/lib/decorators.d.ts.map +1 -0
  279. package/dist/lib/decorators.js +745 -0
  280. package/dist/lib/decorators.js.map +1 -0
  281. package/dist/lib/service.d.ts +38 -0
  282. package/dist/lib/service.d.ts.map +1 -0
  283. package/dist/lib/service.js +78 -0
  284. package/dist/lib/service.js.map +1 -0
  285. package/dist/manifest.js +4 -0
  286. package/dist/server/completion.d.ts +10 -0
  287. package/dist/server/completion.d.ts.map +1 -0
  288. package/dist/server/completion.js +207 -0
  289. package/dist/server/completion.js.map +1 -0
  290. package/dist/server/index.d.ts +3 -0
  291. package/dist/server/index.d.ts.map +1 -0
  292. package/dist/server/index.js +3 -0
  293. package/dist/server/index.js.map +1 -0
  294. package/dist/server/language-config.d.ts +195 -0
  295. package/dist/server/language-config.d.ts.map +1 -0
  296. package/dist/server/language-config.js +102 -0
  297. package/dist/server/language-config.js.map +1 -0
  298. package/dist/server/server.d.ts +2 -0
  299. package/dist/server/server.d.ts.map +1 -0
  300. package/dist/server/server.js +131 -0
  301. package/dist/server/server.js.map +1 -0
  302. package/dist/server/serverlib.d.ts +72 -0
  303. package/dist/server/serverlib.d.ts.map +1 -0
  304. package/dist/server/serverlib.js +1034 -0
  305. package/dist/server/serverlib.js.map +1 -0
  306. package/dist/server/symbol-structure.d.ts +4 -0
  307. package/dist/server/symbol-structure.d.ts.map +1 -0
  308. package/dist/server/symbol-structure.js +121 -0
  309. package/dist/server/symbol-structure.js.map +1 -0
  310. package/dist/server/tmlanguage.d.ts +3 -0
  311. package/dist/server/tmlanguage.d.ts.map +1 -0
  312. package/dist/server/tmlanguage.js +713 -0
  313. package/dist/server/tmlanguage.js.map +1 -0
  314. package/dist/server/type-details.d.ts +11 -0
  315. package/dist/server/type-details.d.ts.map +1 -0
  316. package/dist/server/type-details.js +72 -0
  317. package/dist/server/type-details.js.map +1 -0
  318. package/dist/server/type-signature.d.ts +2 -0
  319. package/dist/server/type-signature.d.ts.map +1 -0
  320. package/dist/server/type-signature.js +108 -0
  321. package/dist/server/type-signature.js.map +1 -0
  322. package/dist/testing/expect.d.ts +49 -0
  323. package/dist/testing/expect.d.ts.map +1 -0
  324. package/dist/testing/expect.js +83 -0
  325. package/dist/testing/expect.js.map +1 -0
  326. package/dist/testing/index.d.ts +6 -0
  327. package/dist/testing/index.d.ts.map +1 -0
  328. package/dist/testing/index.js +6 -0
  329. package/dist/testing/index.js.map +1 -0
  330. package/dist/testing/test-host.d.ts +14 -0
  331. package/dist/testing/test-host.d.ts.map +1 -0
  332. package/dist/testing/test-host.js +271 -0
  333. package/dist/testing/test-host.js.map +1 -0
  334. package/dist/testing/test-server-host.d.ts +39 -0
  335. package/dist/testing/test-server-host.d.ts.map +1 -0
  336. package/dist/testing/test-server-host.js +112 -0
  337. package/dist/testing/test-server-host.js.map +1 -0
  338. package/dist/testing/test-utils.d.ts +22 -0
  339. package/dist/testing/test-utils.d.ts.map +1 -0
  340. package/dist/testing/test-utils.js +60 -0
  341. package/dist/testing/test-utils.js.map +1 -0
  342. package/dist/testing/types.d.ts +69 -0
  343. package/dist/testing/types.d.ts.map +1 -0
  344. package/dist/testing/types.js +7 -0
  345. package/dist/testing/types.js.map +1 -0
  346. package/dist/typespec.tmLanguage +1760 -0
  347. package/lib/decorators.tsp +420 -0
  348. package/lib/lib.tsp +158 -0
  349. package/lib/main.tsp +4 -0
  350. package/lib/projected-names.tsp +94 -0
  351. package/lib/reflection.tsp +10 -0
  352. package/package.json +119 -0
@@ -0,0 +1,45 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _ArrayBuilder_instances, _ArrayBuilder_setPlaceholderValue;
7
+ import { compilerAssert } from "../../core/index.js";
8
+ import { Placeholder } from "../placeholder.js";
9
+ import { EmitterResult } from "../types.js";
10
+ export class ArrayBuilder extends Array {
11
+ constructor() {
12
+ super(...arguments);
13
+ _ArrayBuilder_instances.add(this);
14
+ }
15
+ push(...values) {
16
+ for (const v of values) {
17
+ let toPush;
18
+ if (v instanceof EmitterResult) {
19
+ compilerAssert(v.kind !== "circular", "Can't push a circular emit result.");
20
+ if (v.kind === "none") {
21
+ toPush = null;
22
+ }
23
+ else {
24
+ toPush = v.value;
25
+ }
26
+ }
27
+ else {
28
+ toPush = v;
29
+ }
30
+ if (toPush instanceof Placeholder) {
31
+ toPush.onValue((v) => __classPrivateFieldGet(this, _ArrayBuilder_instances, "m", _ArrayBuilder_setPlaceholderValue).call(this, toPush, v));
32
+ }
33
+ super.push(toPush);
34
+ }
35
+ return values.length;
36
+ }
37
+ }
38
+ _ArrayBuilder_instances = new WeakSet(), _ArrayBuilder_setPlaceholderValue = function _ArrayBuilder_setPlaceholderValue(p, value) {
39
+ for (const [i, item] of this.entries()) {
40
+ if (item === p) {
41
+ this[i] = value;
42
+ }
43
+ }
44
+ };
45
+ //# sourceMappingURL=array-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-builder.js","sourceRoot":"","sources":["../../../emitter-framework/builders/array-builder.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,OAAO,YAAgB,SAAQ,KAAK;IAA1C;;;IAiCA,CAAC;IAxBC,IAAI,CAAC,GAAG,MAA8C;QACpD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACtB,IAAI,MAAiC,CAAC;YACtC,IAAI,CAAC,YAAY,aAAa,EAAE;gBAC9B,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,oCAAoC,CAAC,CAAC;gBAE5E,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;oBACrB,MAAM,GAAG,IAAI,CAAC;iBACf;qBAAM;oBACL,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;iBAClB;aACF;iBAAM;gBACL,MAAM,GAAG,CAAC,CAAC;aACZ;YAED,IAAI,MAAM,YAAY,WAAW,EAAE;gBACjC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAA,IAAI,kEAAqB,MAAzB,IAAI,EAAsB,MAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/E;YAED,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;CACF;wHAhCsB,CAAiB,EAAE,KAAQ;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;QACtC,IAAI,IAAI,KAAK,CAAC,EAAE;YACd,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SACjB;KACF;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Placeholder } from "../placeholder.js";
2
+ import { EmitEntity } from "../types.js";
3
+ export interface ObjectBuilder<T> extends Record<string, any> {
4
+ }
5
+ export declare class ObjectBuilder<T> {
6
+ constructor(initializer?: Record<string, unknown>);
7
+ set(key: string, v: EmitEntity<T> | Placeholder<T> | T): void;
8
+ }
9
+ //# sourceMappingURL=object-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-builder.d.ts","sourceRoot":"","sources":["../../../emitter-framework/builders/object-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAIxD,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAAG;AAChE,qBAAa,aAAa,CAAC,CAAC;gBACd,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAKrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;CAqBvD"}
@@ -0,0 +1,30 @@
1
+ import { compilerAssert } from "../../core/index.js";
2
+ import { Placeholder } from "../placeholder.js";
3
+ import { EmitterResult } from "../types.js";
4
+ export class ObjectBuilder {
5
+ constructor(initializer = {}) {
6
+ for (const [key, value] of Object.entries(initializer)) {
7
+ this.set(key, value);
8
+ }
9
+ }
10
+ set(key, v) {
11
+ let value = v;
12
+ if (v instanceof EmitterResult) {
13
+ compilerAssert(v.kind !== "circular", "Can't set a circular emit result.");
14
+ if (v.kind === "none") {
15
+ this[key] = null;
16
+ return;
17
+ }
18
+ else {
19
+ value = v.value;
20
+ }
21
+ }
22
+ if (value instanceof Placeholder) {
23
+ value.onValue((v) => {
24
+ this[key] = v;
25
+ });
26
+ }
27
+ this[key] = value;
28
+ }
29
+ }
30
+ //# sourceMappingURL=object-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-builder.js","sourceRoot":"","sources":["../../../emitter-framework/builders/object-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAC;AAKxD,MAAM,OAAO,aAAa;IACxB,YAAY,cAAuC,EAAE;QACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACtD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAY,CAAC,CAAC;SAC7B;IACH,CAAC;IACD,GAAG,CAAC,GAAW,EAAE,CAAqC;QACpD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,aAAa,EAAE;YAC9B,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,mCAAmC,CAAC,CAAC;YAE3E,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACjB,OAAO;aACR;iBAAM;gBACL,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjB;SACF;QAED,IAAI,KAAK,YAAY,WAAW,EAAE;YAChC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { Placeholder } from "../placeholder.js";
2
+ import { EmitEntity } from "../types.js";
3
+ export declare class StringBuilder extends Placeholder<string> {
4
+ #private;
5
+ segments: (string | Placeholder<string>)[];
6
+ pushLiteralSegment(segment: string): void;
7
+ pushPlaceholder(ph: Placeholder<string>): void;
8
+ pushStringBuilder(builder: StringBuilder): void;
9
+ push(segment: StringBuilder | Placeholder<string> | string): void;
10
+ reduce(): string | this;
11
+ }
12
+ export declare function code(parts: TemplateStringsArray, ...substitutions: (EmitEntity<string> | string | Placeholder<string> | StringBuilder)[]): StringBuilder | string;
13
+ //# sourceMappingURL=string-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-builder.d.ts","sourceRoot":"","sources":["../../../emitter-framework/builders/string-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,aAAc,SAAQ,WAAW,CAAC,MAAM,CAAC;;IAC7C,QAAQ,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAM;IAoBvD,kBAAkB,CAAC,OAAO,EAAE,MAAM;IAQlC,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC;IAUvC,iBAAiB,CAAC,OAAO,EAAE,aAAa;IAMxC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM;IAU1D,MAAM;CAWP;AAED,wBAAgB,IAAI,CAClB,KAAK,EAAE,oBAAoB,EAC3B,GAAG,aAAa,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,EAAE,GACtF,aAAa,GAAG,MAAM,CA2BxB"}
@@ -0,0 +1,98 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _StringBuilder_instances, _StringBuilder_placeholders, _StringBuilder_notifyComplete, _StringBuilder_setPlaceholderValue, _StringBuilder_shouldConcatLiteral;
7
+ import { Placeholder } from "../placeholder.js";
8
+ export class StringBuilder extends Placeholder {
9
+ constructor() {
10
+ super(...arguments);
11
+ _StringBuilder_instances.add(this);
12
+ this.segments = [];
13
+ _StringBuilder_placeholders.set(this, new Set());
14
+ }
15
+ pushLiteralSegment(segment) {
16
+ if (__classPrivateFieldGet(this, _StringBuilder_instances, "m", _StringBuilder_shouldConcatLiteral).call(this)) {
17
+ this.segments[this.segments.length - 1] += segment;
18
+ }
19
+ else {
20
+ this.segments.push(segment);
21
+ }
22
+ }
23
+ pushPlaceholder(ph) {
24
+ __classPrivateFieldGet(this, _StringBuilder_placeholders, "f").add(ph);
25
+ ph.onValue((value) => {
26
+ __classPrivateFieldGet(this, _StringBuilder_instances, "m", _StringBuilder_setPlaceholderValue).call(this, ph, value);
27
+ });
28
+ this.segments.push(ph);
29
+ }
30
+ pushStringBuilder(builder) {
31
+ for (const segment of builder.segments) {
32
+ this.push(segment);
33
+ }
34
+ }
35
+ push(segment) {
36
+ if (typeof segment === "string") {
37
+ this.pushLiteralSegment(segment);
38
+ }
39
+ else if (segment instanceof StringBuilder) {
40
+ this.pushStringBuilder(segment);
41
+ }
42
+ else {
43
+ this.pushPlaceholder(segment);
44
+ }
45
+ }
46
+ reduce() {
47
+ if (__classPrivateFieldGet(this, _StringBuilder_placeholders, "f").size === 0) {
48
+ return this.segments.join("");
49
+ }
50
+ return this;
51
+ }
52
+ }
53
+ _StringBuilder_placeholders = new WeakMap(), _StringBuilder_instances = new WeakSet(), _StringBuilder_notifyComplete = function _StringBuilder_notifyComplete() {
54
+ const value = this.segments.join("");
55
+ this.setValue(value);
56
+ }, _StringBuilder_setPlaceholderValue = function _StringBuilder_setPlaceholderValue(ph, value) {
57
+ for (const [i, segment] of this.segments.entries()) {
58
+ if (segment === ph) {
59
+ this.segments[i] = value;
60
+ }
61
+ }
62
+ __classPrivateFieldGet(this, _StringBuilder_placeholders, "f").delete(ph);
63
+ if (__classPrivateFieldGet(this, _StringBuilder_placeholders, "f").size === 0) {
64
+ __classPrivateFieldGet(this, _StringBuilder_instances, "m", _StringBuilder_notifyComplete).call(this);
65
+ }
66
+ }, _StringBuilder_shouldConcatLiteral = function _StringBuilder_shouldConcatLiteral() {
67
+ return this.segments.length > 0 && typeof this.segments[this.segments.length - 1] === "string";
68
+ };
69
+ export function code(parts, ...substitutions) {
70
+ const builder = new StringBuilder();
71
+ for (const [i, literalPart] of parts.entries()) {
72
+ builder.push(literalPart);
73
+ if (i < substitutions.length) {
74
+ const sub = substitutions[i];
75
+ if (typeof sub === "string") {
76
+ builder.push(sub);
77
+ }
78
+ else if (sub instanceof StringBuilder) {
79
+ builder.pushStringBuilder(sub);
80
+ }
81
+ else if (sub instanceof Placeholder) {
82
+ builder.pushPlaceholder(sub);
83
+ }
84
+ else {
85
+ switch (sub.kind) {
86
+ case "circular":
87
+ case "none":
88
+ builder.pushLiteralSegment("");
89
+ break;
90
+ default:
91
+ builder.push(sub.value);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ return builder.reduce();
97
+ }
98
+ //# sourceMappingURL=string-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-builder.js","sourceRoot":"","sources":["../../../emitter-framework/builders/string-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * This is a map type that allows providing a custom keyer function. The keyer
3
+ * function returns a string that is used to look up in the map. This is useful
4
+ * for implementing maps that look up based on an arbitrary number of keys.
5
+ *
6
+ * For example, to look up in a map with a [ObjA, ObjB)] tuple, such that tuples
7
+ * with identical values (but not necessarily identical tuples!) create an
8
+ * object keyer for each of the objects:
9
+ *
10
+ * const aKeyer = CustomKeyMap.objectKeyer();
11
+ * const bKeyer = CUstomKeyMap.objectKeyer();
12
+ *
13
+ * And compose these into a tuple keyer to use when instantiating the custom key
14
+ * map:
15
+ *
16
+ * const tupleKeyer = ([a, b]) => `${aKeyer.getKey(a)}-${bKeyer.getKey(b)}`;
17
+ * const map = new CustomKeyMap(tupleKeyer);
18
+ *
19
+ */
20
+ export declare class CustomKeyMap<K extends readonly any[], V> {
21
+ #private;
22
+ constructor(keyer: (args: K) => string);
23
+ get(items: K): V | undefined;
24
+ set(items: K, value: V): void;
25
+ static objectKeyer(): {
26
+ getKey(o: object): number | undefined;
27
+ };
28
+ }
29
+ //# sourceMappingURL=custom-key-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-key-map.d.ts","sourceRoot":"","sources":["../../emitter-framework/custom-key-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,CAAC;;gBAIvC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM;IAItC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI5B,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAK7B,MAAM,CAAC,WAAW;kBAIJ,MAAM;;CAYrB"}
@@ -0,0 +1,62 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _CustomKeyMap_items, _CustomKeyMap_keyer;
13
+ /**
14
+ * This is a map type that allows providing a custom keyer function. The keyer
15
+ * function returns a string that is used to look up in the map. This is useful
16
+ * for implementing maps that look up based on an arbitrary number of keys.
17
+ *
18
+ * For example, to look up in a map with a [ObjA, ObjB)] tuple, such that tuples
19
+ * with identical values (but not necessarily identical tuples!) create an
20
+ * object keyer for each of the objects:
21
+ *
22
+ * const aKeyer = CustomKeyMap.objectKeyer();
23
+ * const bKeyer = CUstomKeyMap.objectKeyer();
24
+ *
25
+ * And compose these into a tuple keyer to use when instantiating the custom key
26
+ * map:
27
+ *
28
+ * const tupleKeyer = ([a, b]) => `${aKeyer.getKey(a)}-${bKeyer.getKey(b)}`;
29
+ * const map = new CustomKeyMap(tupleKeyer);
30
+ *
31
+ */
32
+ export class CustomKeyMap {
33
+ constructor(keyer) {
34
+ _CustomKeyMap_items.set(this, new Map());
35
+ _CustomKeyMap_keyer.set(this, void 0);
36
+ __classPrivateFieldSet(this, _CustomKeyMap_keyer, keyer, "f");
37
+ }
38
+ get(items) {
39
+ return __classPrivateFieldGet(this, _CustomKeyMap_items, "f").get(__classPrivateFieldGet(this, _CustomKeyMap_keyer, "f").call(this, items));
40
+ }
41
+ set(items, value) {
42
+ const key = __classPrivateFieldGet(this, _CustomKeyMap_keyer, "f").call(this, items);
43
+ __classPrivateFieldGet(this, _CustomKeyMap_items, "f").set(key, value);
44
+ }
45
+ static objectKeyer() {
46
+ const knownKeys = new WeakMap();
47
+ let count = 0;
48
+ return {
49
+ getKey(o) {
50
+ if (knownKeys.has(o)) {
51
+ return knownKeys.get(o);
52
+ }
53
+ const key = count;
54
+ count++;
55
+ knownKeys.set(o, key);
56
+ return key;
57
+ },
58
+ };
59
+ }
60
+ }
61
+ _CustomKeyMap_items = new WeakMap(), _CustomKeyMap_keyer = new WeakMap();
62
+ //# sourceMappingURL=custom-key-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-key-map.js","sourceRoot":"","sources":["../../emitter-framework/custom-key-map.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,YAAY;IAIvB,YAAY,KAA0B;QAHtC,8BAAS,IAAI,GAAG,EAAa,EAAC;QAC9B,sCAAO;QAGL,uBAAA,IAAI,uBAAU,KAAK,MAAA,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,OAAO,uBAAA,IAAI,2BAAO,CAAC,GAAG,CAAC,uBAAA,IAAI,2BAAO,MAAX,IAAI,EAAQ,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,KAAQ,EAAE,KAAQ;QACpB,MAAM,GAAG,GAAG,uBAAA,IAAI,2BAAO,MAAX,IAAI,EAAQ,KAAK,CAAC,CAAC;QAC/B,uBAAA,IAAI,2BAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,MAAM,SAAS,GAAG,IAAI,OAAO,EAAkB,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO;YACL,MAAM,CAAC,CAAS;gBACd,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACpB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACzB;gBAED,MAAM,GAAG,GAAG,KAAK,CAAC;gBAClB,KAAK,EAAE,CAAC;gBACR,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtB,OAAO,GAAG,CAAC;YACb,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ export * from "./asset-emitter.js";
2
+ export * from "./builders/array-builder.js";
3
+ export * from "./builders/object-builder.js";
4
+ export * from "./builders/string-builder.js";
5
+ export * from "./placeholder.js";
6
+ export * from "./type-emitter.js";
7
+ export * from "./types.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../emitter-framework/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from "./asset-emitter.js";
2
+ export * from "./builders/array-builder.js";
3
+ export * from "./builders/object-builder.js";
4
+ export * from "./builders/string-builder.js";
5
+ export * from "./placeholder.js";
6
+ export * from "./type-emitter.js";
7
+ export * from "./types.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../emitter-framework/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Keeps track of a value we don't know yet because of a circular reference. Use
3
+ * the `onValue` method to provide a callback with how to handle the
4
+ * placeholder's value becoming available. Generally the callback will replace
5
+ * this placeholder with the value in whatever references the placeholder.
6
+ */
7
+ export declare class Placeholder<T> {
8
+ #private;
9
+ setValue(value: T): void;
10
+ onValue(cb: (value: T) => void): void;
11
+ }
12
+ //# sourceMappingURL=placeholder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder.d.ts","sourceRoot":"","sources":["../../emitter-framework/placeholder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC;;IAExB,QAAQ,CAAC,KAAK,EAAE,CAAC;IAMjB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI;CAG/B"}
@@ -0,0 +1,27 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _Placeholder_listeners;
7
+ /**
8
+ * Keeps track of a value we don't know yet because of a circular reference. Use
9
+ * the `onValue` method to provide a callback with how to handle the
10
+ * placeholder's value becoming available. Generally the callback will replace
11
+ * this placeholder with the value in whatever references the placeholder.
12
+ */
13
+ export class Placeholder {
14
+ constructor() {
15
+ _Placeholder_listeners.set(this, []);
16
+ }
17
+ setValue(value) {
18
+ for (const listener of __classPrivateFieldGet(this, _Placeholder_listeners, "f")) {
19
+ listener(value);
20
+ }
21
+ }
22
+ onValue(cb) {
23
+ __classPrivateFieldGet(this, _Placeholder_listeners, "f").push(cb);
24
+ }
25
+ }
26
+ _Placeholder_listeners = new WeakMap();
27
+ //# sourceMappingURL=placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../emitter-framework/placeholder.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAAxB;QACE,iCAAqC,EAAE,EAAC;IAU1C,CAAC;IATC,QAAQ,CAAC,KAAQ;QACf,KAAK,MAAM,QAAQ,IAAI,uBAAA,IAAI,8BAAW,EAAE;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;IACH,CAAC;IAED,OAAO,CAAC,EAAsB;QAC5B,uBAAA,IAAI,8BAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF"}