1- /**
2- * @extends {Record<string, any> }
3- */
41export class Attributes {
52 static $nonscope : boolean ;
63 /**
@@ -16,7 +13,7 @@ export class Attributes {
1613 * - Used when cloning attributes for directive linking / child scopes.
1714 * - Performs a shallow copy of all properties from the source Attributes object,
1815 * including `$attr`, normalized attribute values, and internal fields
19- * (e.g. `$$observers `).
16+ * (e.g. `_observers `).
2017 * - `$attr` is intentionally **not reinitialized** in this case, because the
2118 * source object already contains the correct normalized → DOM attribute mapping.
2219 *
@@ -33,14 +30,18 @@ export class Attributes {
3330 nodeRef ?: import ( "../../shared/noderef.js" ) . NodeRef ,
3431 attributesToCopy ?: any & Record < string , any > ,
3532 ) ;
36- _$animate : import ( "../../animations/interface.ts" ) . AnimateService ;
37- _$exceptionHandler : import ( "../../services/exception/interface.ts" ) . ExceptionHandler ;
38- _$sce : import ( "../../services/sce/interface.ts" ) . SCEService ;
33+ /** @type {ng.AnimateService } */
34+ _animate : ng . AnimateService ;
35+ /** @type {ng.ExceptionHandlerService } */
36+ _exceptionHandler : ng . ExceptionHandlerService ;
37+ /** @type {ng.SCEService } */
38+ _sce : ng . SCEService ;
3939 /**
4040 * A map of DOM element attribute names to the normalized name. This is needed
4141 * to do reverse lookup from normalized name back to actual name.
42+ * @type {Record<string, string> }
4243 */
43- $attr : { } ;
44+ $attr : Record < string , string > ;
4445 /** @type {import("../../shared/noderef.js").NodeRef | undefined } */
4546 _nodeRef : import ( "../../shared/noderef.js" ) . NodeRef | undefined ;
4647 /** @ignore @returns {Node|Element } */
@@ -109,8 +110,23 @@ export class Attributes {
109110 * @returns {Function } Returns a deregistration function for this observer.
110111 */
111112 $observe < T > ( key : string , fn : ( value ?: T ) => any ) : Function ;
112- $$observers : any ;
113- setSpecialAttr ( element : any , attrName : any , value : any ) : void ;
113+ _observers : any ;
114+ /**
115+ * Sets a special (non-standard) attribute on an element.
116+ *
117+ * Used for attribute names that cannot be set via `setAttribute`
118+ * (e.g. names not starting with a letter like `(click)`).
119+ *
120+ * @param {Element } element
121+ * @param {string } attrName
122+ * @param {string | null } value
123+ * @returns {void }
124+ */
125+ setSpecialAttr (
126+ element : Element ,
127+ attrName : string ,
128+ value : string | null ,
129+ ) : void ;
114130 /**
115131 *
116132 * @param {unknown } value
0 commit comments