File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -236,3 +236,42 @@ console.assert(hasToStringTag('Alpha', new Beta()));
236236console .assert (hasToStringTag (' Beta' , new Beta ()));
237237console .assert (! hasToStringTag (' Beta' , new Alpha ()));
238238```
239+
240+ ## ` isToStringTag `
241+
242+ Check if object is instance of a class based on ` Symbol.toStringTag ` .
243+
244+ ``` ts
245+ import { isToStringTag , toStringTag } from ' @hqtsm/class' ;
246+
247+ class Alpha {
248+ public a = 1 ;
249+ static {
250+ toStringTag (this , ' Alpha' );
251+ }
252+ }
253+
254+ class Beta extends Alpha {
255+ public b = 2 ;
256+ static {
257+ toStringTag (this , ' Beta' );
258+ }
259+ }
260+
261+ const alpha = new Alpha ();
262+ const beta = new Beta ();
263+
264+ console .assert (isToStringTag (Alpha , alpha ));
265+ console .assert (isToStringTag (Alpha , beta ));
266+ console .assert (isToStringTag (Beta , beta ));
267+ console .assert (! isToStringTag (Beta , alpha ));
268+
269+ if (isToStringTag (Alpha , alpha )) {
270+ console .assert (alpha .a === 1 );
271+ }
272+
273+ if (isToStringTag (Beta , beta )) {
274+ console .assert (beta .a === 1 );
275+ console .assert (beta .b === 2 );
276+ }
277+ ```
You can’t perform that action at this time.
0 commit comments