Comments (5)
@geleto any example of use case?
from class-transformer.
I have a @RefById() transform decorator which rather than serializing the object - stores just the id of the object. When deserializing, the id is used to transparently set the reference to the existing object. Because of this, the transform does not need to be checked for circular references.
While I can use a getter/setter that does the id reference, this is not as clear and simple and my code would be littered with such getters/setters.
My implementation was probably a bit too complex, I modified a few things in class-transformer. One was disabling the circular checks. Another was supplying the parent object to transformFn - if the referenced object does not exist yet when deserializing, it would be assigned later when it is constructed, for which I needed to store the parent object.
Maybe what class-transformer actually needs is the ability to serialize/deserialize references to objects.
from class-transformer.
Hi @geleto!
You can control circular check via enableCircularCheck
in the third parameter of classToPlain
.
from class-transformer.
Hey @geleto, if your question's been answered by @NoNameProvided, would you mind closing this issue? Thanks!
from class-transformer.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from class-transformer.
Related Issues (20)
- fix: Transform is not called for fields not passed in request body HOT 3
- question: how to use exposing method inside a nested object array dto?
- fix: exposeDefaultValues does not work HOT 2
- Renamed property does not exist on type Class HOT 2
- Expose properties with different name using a callback HOT 1
- question: How to expose attr when plain object no define HOT 1
- question: How to ignore Transform decorator when using plainToInstance HOT 2
- question: Getting `ReferenceError: Cannot access 'XXX' before initialization` in class circular dependency with Jest & Typescript HOT 3
- question: Constructors validation seems to break when using plainToInstance HOT 1
- Include @IsOptional values to the body if they are missing with default value HOT 2
- fix: Can't use instanceToPlain with Nitro.js event. HOT 4
- External Values are not stripped. HOT 4
- fix: plainToClass cannot handle URL values HOT 5
- feature: function support of options.discriminator.subTypes HOT 2
- plainToClassFromExist is Deprecated what is the replacement for generics? HOT 2
- Cannot transform string to number HOT 7
- question: Is class-transformer really thought to be used in the backend? HOT 4
- question: Options in @Transform Decorator Do Not Reflect Those Passed to plainToInstance in class-transformer HOT 2
- question: Casting Json to the required datatype HOT 2
- instanceToPlain not working properly using nestjs HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from class-transformer.