]> Lady’s Gitweb - Pisces/blobdiff - string.js
Treat object function args more consistently
[Pisces] / string.js
index fb41e62724d7ed695f138d6d3e710916da67d657..100f0bd13bfb0252d1ca846925e9c900cb03b02c 100644 (file)
--- a/string.js
+++ b/string.js
@@ -275,7 +275,8 @@ export const {
    * An iterator object for iterating over code values (either code
    * units or codepoints) in a string.
    *
-   * ※ This constructor is not exposed.
+   * ※ This class is not exposed, although its methods are (through
+   * the prototypes of string code value iterator objects).
    */
   const StringCodeValueIterator = class extends identity {
     #allowSurrogates;
@@ -380,21 +381,21 @@ export const {
 
   return {
     codeUnits: ($) =>
-      new StringCodeValueIterator(call(arrayIterator, $, [])),
+      new StringCodeValueIterator(call(arrayIterator, `${$}`, [])),
     codepoints: ($) =>
       new StringCodeValueIterator(
-        call(stringIterator, $, []),
+        call(stringIterator, `${$}`, []),
         true,
       ),
     scalarValues: ($) =>
       new StringCodeValueIterator(
-        call(stringIterator, $, []),
+        call(stringIterator, `${$}`, []),
         false,
       ),
     scalarValueString: ($) =>
       stringFromCodepoints(...objectCreate(
         scalarValueIterablePrototype,
-        { source: { value: $ } },
+        { source: { value: `${$}` } },
       )),
   };
 })();
@@ -659,3 +660,11 @@ export const stripLeadingAndTrailingASCIIWhitespace = (() => {
  * value according to the algorithm of String::substring.
  */
 export const substring = makeCallable(String.prototype.substring);
+
+/**
+ * Returns the result of converting the provided value to a string.
+ *
+ * ☡ This method throws for symbols and other objects without a string
+ * representation.
+ */
+export const toString = ($) => `${$}`;
This page took 0.033457 seconds and 4 git commands to generate.