Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(kernel): Return object literals as references #249

Merged
merged 5 commits into from
Sep 28, 2018

Conversation

RomainMuller
Copy link
Contributor

Use the javascript Proxy class to coalesce object literals to an
interface type, allowing them to be returned by reference instead of by
value.

Introduces a test in the jsii-kernel to demonstrate the feature works
as intended.

Fixes #248
Fixes aws/aws-cdk#774

Use the javascript `Proxy` class to coalesce object literals to an
interface type, allowing them to be returned by reference instead of by
value.

Introduces a test in the `jsii-kernel` to demonstrate the feature works
as intended.

Fixes #248
Fixes aws/aws-cdk#774
packages/jsii-kernel/lib/kernel.ts Outdated Show resolved Hide resolved
packages/jsii-kernel/lib/kernel.ts Outdated Show resolved Hide resolved
@rix0rrr
Copy link
Contributor

rix0rrr commented Sep 27, 2018

Does this apply to all objects? What about objects we're passing "as data" in data-typed interfaces?

@RomainMuller
Copy link
Contributor Author

@rix0rrr I don't reckon there is any such thing as as data per se. Data-types are still returned as object references as far as I know.

@RomainMuller RomainMuller merged commit 61cb3a4 into master Sep 28, 2018
@RomainMuller RomainMuller deleted the rmuller/obj-lit-byref branch September 28, 2018 14:39
eladb pushed a commit that referenced this pull request Oct 9, 2018
### Bug Fixes

* **dotnet:** abstract classes should have proxy implementations ([#241](#241)) ([828a26f](828a26f)), closes [#223](#223)
* **jsii:** better usage reporting of private types ([#247](#247)) ([96ac5d6](96ac5d6))
* **jsii-runtime:** Use buffer factory methods instead of constructor. ([#246](#246)) ([6ad6b9d](6ad6b9d))
* **kernel:** Return object literals as references ([#249](#249)) ([61cb3a4](61cb3a4)), closes [#248](#248) [aws/aws-cdk#774](aws/aws-cdk#774)
@eladb eladb mentioned this pull request Oct 9, 2018
eladb pushed a commit that referenced this pull request Oct 10, 2018
Bug Fixes
=========

* **dotnet:** abstract classes should have proxy implementations ([#241](#241)) ([828a26f](828a26f)), closes [#223](#223)
* **jsii:** better usage reporting of private types ([#247](#247)) ([96ac5d6](96ac5d6))
* **jsii:** support  public autoproperties in private constructor ([#256](#256)) ([181012e](181012e))
* **jsii:** use default jsx compiler options ([#260](#260)) ([660ae79](660ae79)), closes [aws/aws-cdk#830](aws/aws-cdk#830)
* **jsii-dotnet-generator:** Use FQ type returns in conflict. ([#258](#258)) ([a78784a](a78784a)), closes [#252](#252)
* **jsii-runtime:** Use buffer factory methods instead of constructor. ([#246](#246)) ([6ad6b9d](6ad6b9d))
* **kernel:** Return object literals as references ([#249](#249)) ([61cb3a4](61cb3a4)), closes [#248](#248) [aws/aws-cdk#774](aws/aws-cdk#774)

Misc
====

bump.sh was updated to let "lerna publish" automatically determine
the version number using conventional commits.
eladb pushed a commit that referenced this pull request Oct 10, 2018
Bug Fixes
=========

* **dotnet:** abstract classes should have proxy implementations ([#241](#241)) ([828a26f](828a26f)), closes [#223](#223)
* **jsii:** better usage reporting of private types ([#247](#247)) ([96ac5d6](96ac5d6))
* **jsii:** support  public autoproperties in private constructor ([#256](#256)) ([181012e](181012e))
* **jsii:** use default jsx compiler options ([#260](#260)) ([660ae79](660ae79)), closes [aws/aws-cdk#830](aws/aws-cdk#830)
* **jsii-dotnet-generator:** Use FQ type returns in conflict. ([#258](#258)) ([a78784a](a78784a)), closes [#252](#252)
* **jsii-runtime:** Use buffer factory methods instead of constructor. ([#246](#246)) ([6ad6b9d](6ad6b9d))
* **kernel:** Return object literals as references ([#249](#249)) ([61cb3a4](61cb3a4)), closes [#248](#248) [aws/aws-cdk#774](aws/aws-cdk#774)

Misc
====

bump.sh was updated to let "lerna publish" automatically determine
the version number using conventional commits.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants