Jason Williams
c5b75c55ad
passing primitives to methods ( #86 )
...
* passing primitives to methods
* finishing unboxing_primitives, tests added, using internal_slots for __proto__
5 years ago
Jason Williams
903cbcdccc
Adding operations ( #85 )
...
* adding operations to exec
* using StringData instead of PrimitiveData (to match with spec)
* function signature changed to allow mutable ctx (this is needed for some functions)
* tidy (clippy)
* value to rust string (clippy)
* removing static lifetime - Not needed from Rust 1.36
5 years ago
Jason Williams
111d232c94
clippy changes, including benchmark updates for more accuracy, fixes #84
5 years ago
Callum Ward
0ecfd0e02b
String and Array specific console.log formats ( #68 )
...
* Add Array and String specific console.log format
* Fix rustfmt warnings
* Fix cargo fmt warnings
* Tiny rustfmt markup
5 years ago
KrisChambers
0a46bdbe04
Is property key implementation ( #72 ) ( #79 )
...
* Implemented Property::is_property_key static function.
* Fixed rust formating.
5 years ago
Jason Williams
fe42b0c616
adding context into every native function, changing this to be passed… ( #73 )
5 years ago
SasakiSaki
9110254232
Unit testing for Array and String ( #63 )
...
* Make interpreter engine reusable
* Testing Array.prototype.join()
* Testing Array.prototype.concat()
* Fix format problems
* Testing String.prototype.length
* Testing String.prototype.concat()
* Try to fix String.prototype.length
* Testing String.prototype.repeat()
* Testing String.prototype.startsWith()
* Testing String.prototype.endsWith()
* Remove unnecessary `dbg!`
5 years ago
Callum Ward
9e6389e032
Implementation of Array.prototype.{shift(), unshift(), reverse()} ( #67 )
5 years ago
Iban Eguia
d7b32ed64e
Added MIT/Unlicense licenses ( #65 )
...
Also updated Cargo.toml to adapt it to the common license syntax,
and upgraded dependencies. I also had to remove the check for unsafe
code, but this might need some extra care (using a feature or something
in that sense).
5 years ago
Jason Williams
860bace8e8
fix string clippy errors
5 years ago
Jason Williams
0de110a82c
fixing formatting
5 years ago
Jason Williams
2427b3b755
fixing master
5 years ago
Jason Williams
0e92d37756
Refactor objects ( #69 )
...
Refactoring Objects into Structs. Changing the way objects are accessed.
New `internal_slots` and `sym_properties` fields
5 years ago
Zach Gotsch
b891ac3b9b
Parse array elisions and trailing commas ( #58 )
...
* Parse array elisions and trailing commas
* cargo fmt
5 years ago
Callum Ward
0885e0018b
Implement String.prototype.{padStart(), padEnd()} ( #56 )
...
* Implement String.prototype.{padStart(), padEnd()}
* Fix formatting
5 years ago
Iban Eguia
b5bd54293b
Updated the definition of constant declarations, it fixes #46 ( #60 )
5 years ago
Iban Eguia
71340e6bec
Fixed a bunch of Clippy issues ( #59 )
...
* Fixed a bunch of Clippy issues
* Fixed bug with numbers
* Added clippy checks in the CI
5 years ago
Callum Ward
1c69da1dfa
Implement Array.prototype: concat(), push(), pop() and join() ( #52 )
...
* First draft of Array prototype object
* First draft of Array prototype object
* Update to working Array object
* Remove unneeded HashMap import
* Fix indexing by removing private internal HashMap
* Fix formatting issues with cargo fmt
* Implement Array.prototype.concat()
* Implement Array.prototype.concat()
* Cargo format fix
* Implement push, pop and join
* Add documenation links to new methods
5 years ago
Atul Bhosale
bf9b78954a
Use 'dyn' since trait objects without an explicit 'dyn' are deprecated ( #53 )
5 years ago
Iban Eguia
14672dd340
Parser tests ( #42 )
...
* First parser tests
* Added more parser tests
* Fixed formatting issue
* Added bitwise operators, removed debugging statement
5 years ago
Callum Ward
1455ef0dc6
Implement bare Array object with prototype field ( #51 )
...
* First draft of Array prototype object
* First draft of Array prototype object
* Update to working Array object
* Remove unneeded HashMap import
* Fix indexing by removing private internal HashMap
* Fix formatting issues with cargo fmt
5 years ago
Callum Ward
28774ff973
Add abilityto specify a file to read from ( #41 )
5 years ago
Jason Williams
2cc4c6fafb
next is already sitting at correct token, no need to advance. Fixes #38
5 years ago
Atul Bhosale
313fe0a390
Change all r#try! to ? ( #37 )
5 years ago
Callum Ward
fda8571e52
concat(), repeat(), slice() and all "searchString" based String prototype methods ( #13 ) ( #31 )
...
* New concat() and repeat() String prototype implementations
Created new implementations for the JS String prototype which are added
in the string.rs file. Currently not tested.
* Add additional implementation of slice()
* Fix typo which mixed up start and end of slice
* Simplify slice() implementation
* Implementation of String.prototype.startsWith()
* Add implementation of endsWith()
* Implementation of String.prototype.includes()
* Implementation of String.prototype.{indexOf, lastIndexOf}()
* Fix merge conflict missing closing brace
5 years ago
Lennart Buit
5cfa527729
Add trim/trimStart/trimEnd to string prototype ( #30 )
5 years ago
Damian Senn
2b334a21d1
Allow numbers without decimal digits to be followed by a dot ( #27 )
5 years ago
Damian Senn
3aa4d4091b
Fix some cases in value is_true() ( #28 )
5 years ago
Jason Williams
61ab26e5b0
all punctuator symbols supported and tested
6 years ago
Jason Williams
1e81a7a379
adding this.next()
6 years ago
Jason Williams
383057c7aa
alphabetical ordering of punctuation, all keywords added, support for spread operator, new tests for punctuation (WIP)
6 years ago
Jason Williams
7177a3fc5d
changing preview_next() to return Option and next_is to bool ( #26 )
6 years ago
Jason Williams
811ffe5d7d
all number types tested ( #24 )
6 years ago
Jason Williams
135db5ef9a
removing criterion
6 years ago
Jason Williams
5faef8bc22
better unicode escape support fixes #16 ( #20 )
...
* better unicode escape support fixes #16
* adding benchmarking, updating deps and added test for numbers
6 years ago
Jason Williams
741b55806e
arrow function is working
6 years ago
Jason Williams
600b4b4f9d
let and const now partially supported ( #18 )
6 years ago
Jason Williams
618dda518d
updating wasm output
6 years ago
Jason Williams
5ea6187315
web assembly demo updates
6 years ago
Jason Williams
f7be6f8118
adding Wasm-bindgen
6 years ago
Jason Williams
5664ea6d1b
Environment Records have been implemented (bar module), exec::scope has now been changed to Environment
6 years ago
Jason Williams
2e319cbf6e
0.1.6 plus string commenting tidyup
6 years ago
Jason Williams
78d3cb910d
added support for char_code_at()
6 years ago
Jason Williams
64ab7b0133
added support for String.prototype.charAt()
6 years ago
Jason Williams
2edb8ac7cb
better description of PROTOs
6 years ago
Jason Williams
7fcc048cf2
added comments to object static vars
6 years ago
Jason Williams
df8e58212f
adding conversions for usize (preperation for charAt implemetation)
6 years ago
Jason Williams
5ef57ffb90
reorganising unit tests into their respective files
6 years ago
Jason Williams
7ba514b416
string objects now display their primitive value, to_function() method has been added to value, test added for String()
6 years ago
Hayden Hong
bd6feb681a
migrate from 'time' to 'chrono', fixes issue #3
6 years ago