Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								d561535ac9 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.dayOfYear  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								c0e7761758 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Calendar.prototype.dayOfYear  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								bcbfd5b280 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.dayOfWeek  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								339b0a17e8 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Calendar.prototype.dayOfWeek  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								59dc0e8421 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.day  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								8a20f258f0 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Calendar.prototype.day  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								d9414e465a 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.monthCode  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								9d9ba29cae 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Calendar.prototype.monthCode  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								a0af9b11fb 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.month  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								3bec18432a 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Calendar.prototype.month  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								8434ca6c4b 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.year  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								3895a8354d 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.Calendar.prototype.year  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								9fa8f19a0f 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.withCalendar  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								8123e957e3 
								
							 
						 
						
							
							
								
								LibJS: Add missing PlainDateTime case in ToTemporalDate  
							
							
							
						 
						
							2021-07-23 22:00:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								080112eb82 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDateTime.prototype.getISOFields()  
							
							
							
						 
						
							2021-07-23 08:18:11 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								18fd0d4011 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDateTime.prototype.toPlainDate()  
							
							
							
						 
						
							2021-07-23 08:18:11 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								61b2780853 
								
							 
						 
						
							
							
								
								LibJS: Fix return type of PlainDateTime::iso_{milli,micro,nano}second()  
							
							
							
						 
						
							2021-07-23 08:18:11 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								38645347a7 
								
							 
						 
						
							
							
								
								LibJS/Tests: Fix this value error test description in a PlainDate test  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								2c46a0fa6c 
								
							 
						 
						
							
							
								
								LibJS/Tests: Replace snake_case with pascalCase in two PlainDate tests  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								8b6865b128 
								
							 
						 
						
							
							
								
								LibJS: Add missing step number in PlainDatePrototype  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								aa2c8b6b91 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDateTime.prototype.calendar  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								78acc976a6 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDateTime.prototype.valueOf()  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								591ee813fb 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDateTime.prototype[@@toStringTag]  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								4be3196882 
								
							 
						 
						
							
							
								
								LibJS: Start implementing Temporal.PlainDateTime  
							
							... 
							
							
							
							This commit adds the PlainDateTime object itself, its constructor and
prototype (currently empty), and the CreateTemporalDateTime abstract
operation. 
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								8f26f51580 
								
							 
						 
						
							
							
								
								LibJS: Add missing spec links to System{Instant,UTCEpochNanoseconds}  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								bece2093f2 
								
							 
						 
						
							
							
								
								LibJS: Remove pointless 'explicit' from a couple of constructors  
							
							
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								c65424d806 
								
							 
						 
						
							
							
								
								LibJS: Fix value of Temporal.PlainDate.length  
							
							... 
							
							
							
							Should be 3 (year, month, day, optional calendar-like), not 0. 
							
						 
						
							2021-07-22 21:19:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								d3c25593b9 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.split with UTF-16 code units  
							
							... 
							
							
							
							Also required implementing the SplitMatch abstract operation with UTF-16
code units. 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								733a92820b 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.replaceAll with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								06208aaa15 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.replace with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								bdbe716547 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.endsWith with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								d2e63a641f 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.startsWith with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								f920e121b3 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.lastIndexOf with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								5ac964d841 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.slice with UTF-16 code units  
							
							... 
							
							
							
							This also implements String.prototype.slice more closely to the spec
(such as handling indices equivalent to Infinity). 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								eaa1360eee 
								
							 
						 
						
							
							
								
								LibJS: Implement StringPad abstract operation with UTF-16 code units  
							
							... 
							
							
							
							Affects String.prototype.padStart and String.prototype.padEnd. 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								ef2ff5f88b 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.at with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								892bfdbbcf 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.substr with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								60d8852fc2 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.substring with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								767700d8a1 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.indexOf with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								70f9c7e1c7 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.includes with UTF-16 code units  
							
							... 
							
							
							
							This also implements String.prototype.includes more closely to the spec
(such as returning false when the search string is a RegExp object). 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								a05ce330b8 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.codePointAt with UTF-16 code units  
							
							... 
							
							
							
							This also implements the CodePointAt abstract operation. This is needed
to handle invalid code units specific to the JavaScript spec, rather
than e.g. inserting replacement code units. This abstraction is public
because RegExp.prototype will also need it. 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								48a28a9a73 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.charCodeAt with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								5d11614bc7 
								
							 
						 
						
							
							
								
								LibJS: Implement String.prototype.charAt with UTF-16 code units  
							
							
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								2bba20d123 
								
							 
						 
						
							
							
								
								LibJS: Report string properties using UTF-16 code units  
							
							... 
							
							
							
							String length is reported as the number of UTF-16 code units, and string
indices are reported as the UTF-16 code units themselves. 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								0c42aece36 
								
							 
						 
						
							
							
								
								LibJS: Transcode UTF-8 strings to UTF-16 and add UTF-16 accessors  
							
							... 
							
							
							
							LibJS parses JavaScript as UTF-8, so when creating a string, we must
transcode it to UTF-16 to handle encoded surrogate pairs.
For example, consider the following string:
    "\ud83d\ude00"
The UTF-8 encoding of this surrogate pair is:
    0xf0 0x9f 0x98 0x80
However, LibJS will currently store the two surrogates individually as
UTF-8 encoded bytes, rather than combining the pair:
    0xed 0xa0 0xb8, 0xed 0xb8 0x80
These are not equivalent. So, as String.prototype becomes UTF-16 aware,
this encoding will no longer work for abstractions like strict equality. 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Timothy Flynn 
								
							 
						 
						
							
							
							
							
								
							
							
								0e25d2393f 
								
							 
						 
						
							
							
								
								LibJS: Add UTF-16 tests to String.prototype methods that already work  
							
							... 
							
							
							
							These methods did not require UTF-16 views, so just add test cases to
ensure they remain correct.
This also adds a couple of FIXME comments on tests that will fail even
with UTF-16 String.prototype support (for reasons such as lack of UTF-16
support in RegExp.prototype and Unicode case folding). 
							
						 
						
							2021-07-22 09:10:44 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								d804ce830d 
								
							 
						 
						
							
							
								
								LibJS: Implement Temporal.PlainDate.prototype.equals & Required AO  
							
							
							
						 
						
							2021-07-21 22:49:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								cf78efaef5 
								
							 
						 
						
							
							
								
								LibJS: Implement the ToTemporalDate Abstract Operation  
							
							... 
							
							
							
							This is required by most Temporal.PlainDate.prototype methods. 
							
						 
						
							2021-07-21 22:49:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								1e471e2e2f 
								
							 
						 
						
							
							
								
								LibJS: Add Temporal.Calendar.prototype.dateFromFields & required AOs  
							
							... 
							
							
							
							This is required for implementing the DateFromFields PlainDate AO. 
							
						 
						
							2021-07-21 22:49:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								7a33a5c9b5 
								
							 
						 
						
							
							
								
								LibJS: Use trunc instead of a static_cast<i64> in is_integral_number  
							
							... 
							
							
							
							This ensures we return true for integers that do not fit in an i64 aka,
above 9223372036854775807. (2**63 - 1) 
							
						 
						
							2021-07-21 22:49:37 +01:00