]> Lady’s Gitweb - Pisces/blobdiff - symbol.js
Make minor improvements to function.js
[Pisces] / symbol.js
index 514b5262c7b1bb844aa326a6625bf9b4239a28ea..d303aec60cca6a65fd42951189232b27656a68e5 100644 (file)
--- a/symbol.js
+++ b/symbol.js
@@ -1,22 +1,56 @@
-// ♓🌟 Piscēs ∷ symbol.js
-// ====================================================================
-//
-// Copyright © 2023 Lady [@ Lady’s Computer].
-//
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at <https://mozilla.org/MPL/2.0/>.
+// SPDX-FileCopyrightText: 2023, 2025 Lady <https://www.ladys.computer/about/#lady>
+// SPDX-License-Identifier: MPL-2.0
+/**
+ * ⁌ ♓🧩 Piscēs ∷ symbol.js
+ *
+ * Copyright © 2023, 2025 Lady [@ Ladys Computer].
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at <https://mozilla.org/MPL/2.0/>.
+ */
+
+import { createCallableFunction } from "./function.js";
 
-import { makeCallable } from "./function.js";
-import { getOwnPropertyDescriptor } from "./object.js";
+const PISCĒS = "♓🧩 Piscēs";
 
 /**
  * Returns the description for the provided symbol.
  *
- * ※ This is effectively an alias for the `Symbol::description`
+ * ※ This is effectively an alias for the `Symbol::description´
  * getter.
+ *
+ * ☡ This function throws if the provided argument is not a symbol.
+ */
+export const getSymbolDescription = createCallableFunction(
+  Object.getOwnPropertyDescriptor(Symbol.prototype, "description").get,
+  { name: "getSymbolDescription" },
+);
+
+/**
+ * Returns a string representation of the provided symbol.
+ *
+ * ※ Use `getSymbolDescription´ instead if you just want the text
+ * description of a symbol.
+ *
+ * ※ This is effectively an alias for the `Symbol::toString´.
+ *
+ * ☡ This function throws if the provided argument is not a symbol.
+ */
+export const symbolToString = createCallableFunction(
+  Symbol.prototype.toString,
+  { name: "symbolToString" },
+);
+
+/**
+ * Returns the value of the provided symbol.
+ *
+ * ※ This is effectively an alias for the `Symbol::valueOf´.
+ *
+ * ☡ This function throws if the provided argument is not a symbol and
+ * does not have a `[[SymbolData]]´ slot.
  */
-export const getSymbolDescription = makeCallable(
-  getOwnPropertyDescriptor(Symbol.prototype, "description").get,
-  "getSymbolDescription",
+export const symbolValue = createCallableFunction(
+  Symbol.prototype.valueOf,
+  { name: "symbolValue" },
 );
This page took 0.247631 seconds and 4 git commands to generate.