Skip to content

anko/eslisp-propertify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eslisp-propertify

An eslisp macro that rewrites its input forms' atoms that contain dots into property accesses. This means you can write x.y.1 instead of (. x y 1), which compiles to JS as x.y[1];.

Ignores trailing and leading dots, and atoms that consist of dots.

Example

(macro propertify (require "/path/to/elisp-propertify/index.js"))
(propertify (a.b 42))

a.b(42);

See the tests for fuller usage.

Full wrap

It's totally reasonable to wrap your whole program in this. Consider the eslisp compiler's --transform flag.

Limitations

If you need a computed member expression, you'll still need the . macro: For example, to get a.b[b.length], you'll need to write (. a.b b.length).

License

ISC.

About

eslisp macro: a.b → (. a b)

Resources

Stars

Watchers

Forks

Packages

No packages published