Hookyns / tst-reflect

Advanced TypeScript runtime reflection system
MIT License
338 stars 11 forks source link

Types are being overwrritten across files in inline mode #64

Closed avin-kavish closed 1 year ago

avin-kavish commented 2 years ago

_ßr.Type.store.set( calls in different files are overwriting each other when they have the same id.

Suggestion: I think the singleton behavior is good. It means I can access all the types of the library using Type.store. I think they just need unique IDs.

avin-kavish commented 2 years ago

https://gist.github.com/avin-kavish/a28e22c62275a63d1788624173d820fc

Search for _ßr.Type.store.set(1729 in these two files.

Hookyns commented 2 years ago

Whole typelib mode is weird in current version. Do you need that mode now?

next version will be based on one standard shared static storage, ttly reworked.

avin-kavish commented 2 years ago

Sorry I mean inline mode. That’s the problem.

On Fri, 26 Aug 2022 at 16:38, Roman Jámbor @.***> wrote:

Whole typelib mode is weird in current version. Do you need that mode now?

next version will be based on one standard shared static storage, ttly reworked.

— Reply to this email directly, view it on GitHub https://github.com/Hookyns/tst-reflect/issues/64#issuecomment-1228362401, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRQ7U5VQX2JDPPCFVWMDYTV3CQUPANCNFSM57VQ7CDA . You are receiving this because you authored the thread.Message ID: @.***>

Hookyns commented 2 years ago

Is that result of single build? Isn't it result of some hot reload or something? Or do you use incremental build?

wow, 2k lines of metadata, seems like u rly use the reflection. 😊 You'll like the next version, cuz it generates 90% less code in some cases.

avin-kavish commented 2 years ago

Single build. Yeah I mean my project is at about 40k LOC now. It’s only gonna get bigger :) it’s similar to asp net core in architecture

On Fri, 26 Aug 2022 at 19:23, Roman Jámbor @.***> wrote:

Is that result of single build? Isn't it result of some hot reload or something? Or do you use incremental build?

wow, 2k lines of metadata, seems like u rly use the reflection. 😊

— Reply to this email directly, view it on GitHub https://github.com/Hookyns/tst-reflect/issues/64#issuecomment-1228519493, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRQ7U7VAMOLPHXK5V527HDV3DD6TANCNFSM57VQ7CDA . You are receiving this because you authored the thread.Message ID: @.***>

Hookyns commented 2 years ago

Something like I build.. 😄 https://github.com/Hookyns/NetLeaf

But I create general .NET host framework. I plan to integrate hyper-express with ASP.NET like wrapper, but it will not happen anytime soon.

avin-kavish commented 2 years ago

It’s similar but not exactly. In fact the apis are lot different. they are more express like. Also djangolike.

On Fri, 26 Aug 2022 at 19:38, Roman Jámbor @.***> wrote:

Something like I build.. 😄 https://github.com/Hookyns/NetLeaf

— Reply to this email directly, view it on GitHub https://github.com/Hookyns/tst-reflect/issues/64#issuecomment-1228536404, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRQ7U2BSBFXXZ7ZDVFFTO3V3DFVBANCNFSM57VQ7CDA . You are receiving this because you authored the thread.Message ID: @.***>

Hookyns commented 2 years ago

Can I clone the repo to debug it? It's not possible that two types has the same ID; it is generated by TypeScript so it meant that TypeScript itself has duplicit type ids and I don't know why. That conflict is with enum item so maybe it is some special case...

avin-kavish commented 2 years ago

Yeah, I’ll add you when I get home.

On Fri, 26 Aug 2022 at 20:23, Roman Jámbor @.***> wrote:

Can I clone the repo to debug it? It's not possible that two types has the same ID; it is generated by TypeScript so it meant that TypeScript itself has duplicit type ids and I don't know why. That conflict is with enum item so maybe it is some special case...

— Reply to this email directly, view it on GitHub https://github.com/Hookyns/tst-reflect/issues/64#issuecomment-1228595181, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRQ7UYMEL2C7XDWMNTTUG3V3DK5DANCNFSM57VQ7CDA . You are receiving this because you authored the thread.Message ID: @.***>

avin-kavish commented 2 years ago

Btw once it conflicted against array iterator built in type

On Fri, 26 Aug 2022 at 20:30, Avin Abeyratne @.***> wrote:

Yeah, I’ll add you when I get home.

On Fri, 26 Aug 2022 at 20:23, Roman Jámbor @.***> wrote:

Can I clone the repo to debug it? It's not possible that two types has the same ID; it is generated by TypeScript so it meant that TypeScript itself has duplicit type ids and I don't know why. That conflict is with enum item so maybe it is some special case...

— Reply to this email directly, view it on GitHub https://github.com/Hookyns/tst-reflect/issues/64#issuecomment-1228595181, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRQ7UYMEL2C7XDWMNTTUG3V3DK5DANCNFSM57VQ7CDA . You are receiving this because you authored the thread.Message ID: @.***>