You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 17, 2025. It is now read-only.
Repository navigation
This repository was archived by the owner on Jan 17, 2025. It is now read-only.
Consider using RegExp and CPM instead of a Babel transform #15
I had an idea for how this might be doable without having to resort to a Babel transform (which I had a few concerns about) while still maintaining the same interface. I gave it a shot and was able to get this to work using a computed property macro and a RegExp.
The idea behind my approach relies on three observations:
The String.prototype.replace function supports having a function passed as a second parameter which lets you dynamically replace a match based on the contents of the match
Computed property macros can be generated with dynamic keys based on the passed value
The approach is then to create a computed property macro which:
Constructs and uses a regular expression to get all properties/paths in the passed template string, then
Uses those properties (after a uniq to avoid duplication) as the dependent keys of the generated computed property, and finally
Uses String.prototype.replace to replace instances of ${property} with the get() lookup of those properties.
Activity
lolmaus commentedon Feb 2, 2017
Due to #17, I'm unable to use
ember-computed-template-string, so I used @SaladFork's solution as a local module. It works fine. 👍