-
-
Notifications
You must be signed in to change notification settings - Fork 16
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
feat(transformer): Support circular interface extensions #389
base: master
Are you sure you want to change the base?
feat(transformer): Support circular interface extensions #389
Commits on Jun 27, 2020
-
feat(transformer): Support circular interface extensions
Utilize constructors to support circular generics for instantiable types. If the transformer experiences circular generics, the scope descriptor parameter is now used to preserve a nested state to avoid looping descriptors forever. The scope enables the generic descriptor to determine whether to emit a new instance of the extension or to reuse the parent's constructor (which would emit an instance of the same prototype), i.e.: ``` getFactory("@factory")([{ i: ["@parameterId"], w: function () { return new function () { Object.assign(this, ɵRepository.ɵRepository.instance.getFactory("@factory")([{ i: ["@parameterId"], w: function () { return new this.constructor; } }])); }; } }]) ```
Configuration menu - View commit details
-
Copy full SHA for da1750c - Browse repository at this point
Copy the full SHA da1750cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c35347b - Browse repository at this point
Copy the full SHA c35347bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f0bd8c - Browse repository at this point
Copy the full SHA 3f0bd8cView commit details -
fix(transformer): Keep a bound-state regardless of declaration keys, …
…since such keys may be cached and reused in parallel A bound state is an indicator whether a new function instance is emitted, binding this in the current scope. The scope's constructor can then be referenced with `this.constructor` enabling a reference to the parent constructor.
Configuration menu - View commit details
-
Copy full SHA for 086b1da - Browse repository at this point
Copy the full SHA 086b1daView commit details -
Configuration menu - View commit details
-
Copy full SHA for aa5285f - Browse repository at this point
Copy the full SHA aa5285fView commit details -
chore(test): Extend the circular generic test with cross references b…
…etween two interfaces
Configuration menu - View commit details
-
Copy full SHA for 0b80962 - Browse repository at this point
Copy the full SHA 0b80962View commit details -
Configuration menu - View commit details
-
Copy full SHA for b1cab69 - Browse repository at this point
Copy the full SHA b1cab69View commit details
Commits on Jun 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 079c3f0 - Browse repository at this point
Copy the full SHA 079c3f0View commit details
Commits on Jul 27, 2020
-
fix(transformer): Adjust the Scope bind interface to make it work for…
… forked extensions
Configuration menu - View commit details
-
Copy full SHA for 84762b8 - Browse repository at this point
Copy the full SHA 84762b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 454713f - Browse repository at this point
Copy the full SHA 454713fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b8fa5ce - Browse repository at this point
Copy the full SHA b8fa5ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for e000ef9 - Browse repository at this point
Copy the full SHA e000ef9View commit details
Commits on Jul 31, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b66779a - Browse repository at this point
Copy the full SHA b66779aView commit details -
fix(transformer): Correct scope nesting and owner reference through a…
… singly linked list
Configuration menu - View commit details
-
Copy full SHA for a9b5013 - Browse repository at this point
Copy the full SHA a9b5013View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d6341f - Browse repository at this point
Copy the full SHA 8d6341fView commit details