]> Lady’s Gitweb - Etiquette/blobdiff - model.js
Add methods to get the system of a Tag
[Etiquette] / model.js
index cfd228d88f12e7e7625a1f2374f3775d57021683..7e0fefc9e5836bcd5b3080708111dd10894b45b4 100644 (file)
--- a/model.js
+++ b/model.js
@@ -439,6 +439,9 @@ class Tag {
    * ※ This function can be used to check if the provided value has
    * private tag features.
    *
    * ※ This function can be used to check if the provided value has
    * private tag features.
    *
+   * ※ `Tag::system` is an overridable, publicly‐accessible means of
+   * accessing the system.
+   *
    * ※ This function is not exposed.
    */
   static getSystem($) {
    * ※ This function is not exposed.
    */
   static getSystem($) {
@@ -489,6 +492,15 @@ class Tag {
     return this.#kind;
   }
 
     return this.#kind;
   }
 
+  /**
+   * Returns the `TagSystem` for this `Tag`.
+   *
+   * ※ Internally, `Tag.getSystem` is preferred.
+   */
+  get system() {
+    return this.#system;
+  }
+
   /**
    * Persist this `Tag` to storage and return an ActivityStreams
    * serialization of a Tag Activity representing any changes, or
   /**
    * Persist this `Tag` to storage and return an ActivityStreams
    * serialization of a Tag Activity representing any changes, or
@@ -859,8 +871,8 @@ const {
           function Tag() {
             throw new TypeError("Tags must belong to a System.");
           };
           function Tag() {
             throw new TypeError("Tags must belong to a System.");
           };
-        const { prototype: methods } = this;
-        delete methods.constructor;
+        const { prototype: staticFeatures } = this;
+        delete staticFeatures.constructor;
         Object.defineProperty(superclass, "prototype", {
           configurable: false,
           enumerable: false,
         Object.defineProperty(superclass, "prototype", {
           configurable: false,
           enumerable: false,
@@ -869,7 +881,7 @@ const {
         });
         Object.defineProperties(
           superclass,
         });
         Object.defineProperties(
           superclass,
-          Object.getOwnPropertyDescriptors(methods),
+          Object.getOwnPropertyDescriptors(staticFeatures),
         );
       }
 
         );
       }
 
@@ -1001,6 +1013,11 @@ const {
         }
       }
 
         }
       }
 
+      /** Returns the `TagSystem` for this `Tag` constructor. */
+      get system() {
+        return this.#system;
+      }
+
       /**
        * Returns a new `Tag` constructed from the provided data and
        * with the provided identifier.
       /**
        * Returns a new `Tag` constructed from the provided data and
        * with the provided identifier.
This page took 0.023326 seconds and 4 git commands to generate.