-
Notifications
You must be signed in to change notification settings - Fork 72
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
missing Remotable and PassByRef types #1488
Comments
PassByCopy !== PureData PassByCopy is shallow. PureData is deeply PassByCopy. |
Points out where? Or what? |
Did you mean "unserialize"? |
What does the third disjunct mean? |
For context, this issue body was from a huddle (@gibson042, @dckc and me)
Thanks. I've updated the body.
It was merely a verbal statement like "adjustments may be needed for error handling" (paraphrase)
Yes, corrected.
Markdown interpreted the |
What’s the status of this change? |
This is an issue so no changes have yet been made. I'd still like to see this problem solved. The I'll see if I can make some progress today |
Wondering if this is linked, and possibly was worked around by the manual type generation step before publish |
Decided this is high priority in the endo project meeting cc @turadg |
closes: #1488 ## Description Reattempting: - #1933 Again: - Makes `Passable` a generic type instead of `any`. - Defines overloads for `passStyleOf` to return the actual style. - Defines the `Key` in terms of `Passable` - Makes a ton of fixes and suppressions in places that relied on the previous `any`'s ### Security Considerations n/a ### Scaling Considerations n/a ### Documentation Considerations Better types are better documentation. ### Testing Considerations - [ ] Agoric/agoric-sdk#8774 ### Upgrade Considerations These changes may cause type errors downstream. I don't think we should call those breaking change à la semver because they don't affect the runtime.
refs: #1488 ## Description Simplify build by using NPM lifecycle hooks. Adds a CI test for the package graph sensitivity that the extant method was checking. Part of making it work was adding "typescript" to `devDependencies` of packages that need it. The root `build:types` was running with the root `tsc` but when building in each package separately they wouldn't get the root's typescript version and fall back to the global one, which didn't know the `@import` syntax. ### Security Considerations None ### Scaling Considerations None ### Documentation Considerations Less to document ### Testing Considerations I tried the "publish" commands in CONTRIBUTING.md. integration PR in agoric-sdk: Agoric/agoric-sdk#9385 ### Compatibility Considerations Removes a necessary accommodation on agoric-sdk ### Upgrade Considerations None
The description is correct but its type is aliased to
Passable
(which is wrong). Moreover sincePassable
is any,Passable
is any.endo/packages/pass-style/src/types.js
Lines 20 to 74 in 686ab61
https://docs.agoric.com/guides/js-programming/far.html
Remotable
=Far
object or local presence for a Far object (can be done with a tag b/c onlyFar()
andunserialize
return it)PassByCopy
needs a def.PureData is deeply PassByCopy. (currently
Passable
/any)PassByRef =
Remotable | Promise<Remotable> | Promise<PassByCopy>
(in snippet as PassableCap)Passable =
PassByRef | PassByCopy
(but probably not feasible to fully define)@gibson042 points out adjustments may be needed for error handling
The text was updated successfully, but these errors were encountered: