npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

fcmlib

v1.0.93

Published

Next Gen Flow Component Model

Downloads

151

Readme

��#� �F�C�M� � � � �T�h�i�s� �l�i�b�r�a�r�y� �a�l�l�o�w�s� �y�o�u� �t�o� �b�u�i�l�d� �f�l�o�w� �c�u�s�t�o�m� �c�o�m�p�o�n�e�n�t�s� �w�h�i�c�h� �t�a�r�g�e�t� �b�o�t�h� �t�h�e� �d�e�f�a�u�l�t� �a�n�d� �d�e�f�a�u�l�t�-�l�e�g�a�c�y� �p�l�a�y�e�r�s� �s�i�m�u�l�t�a�n�e�o�u�s�l�y�.� � � � �I�t� �w�o�r�k�s� �o�n� �t�h�e� �c�o�n�c�e�p�t� �t�h�a�t� �t�h�e�r�e� �i�s� �a� �b�a�s�e� �a�b�s�t�r�a�c�t� �c�l�a�s�s� �d�e�f�i�n�i�t�i�o�n� �c�a�l�l�e�d� �F�C�M�C�o�r�e� �t�h�a�t� �d�e�f�i�n�e�s� �a�l�l� �t�h�e� �m�e�t�h�o�d�s� �&� �p�r�o�p�e�r�t�i�e�s�.� � � � �T�h�e�r�e� �a�r�e� �t�h�e�n� �2� �e�x�t�e�n�s�i�o�n� �c�l�a�s�s�e�s� �t�o� �t�h�i�s� �(�F�C�M�L�e�g�a�c�y� �&� �F�C�M�N�e�w�)� �w�h�i�c�h� �h�a�n�d�l�e� �t�h�e� �i�n�t�e�r�a�c�t�i�o�n�s� �w�i�t�h� �t�h�e� �f�l�o�w� �p�l�a�y�e�r� �A�P�I�'�s� � � � �F�C�M�L�e�g�a�c�y� �c�o�n�v�e�r�t�s� �t�h�e� �l�e�g�a�c�y� �m�a�n�y�w�h�o� �j�a�v�a�s�c�r�i�p�t� �l�i�b�r�a�r�y� �i�n�t�o� �t�h�e� �F�C�M�C�o�r�e� �m�o�d�e�l�.� � � � �F�C�M�N�e�w� �c�o�n�v�e�r�t�s� �t�h�e� �n�e�w� �d�e�f�a�u�l�t� �p�l�a�y�e�r� �l�i�b�r�a�r�y� �t�o� �t�h�e� �F�C�M�C�o�r�e� �m�o�d�e�l�.� � � � �T�o� �m�a�k�e� �t�h�i�s� �a�l�l� �w�o�r�k� �w�e� �i�m�p�l�e�m�e�n�t� �o�u�r� �a�c�t�u�a�l� �c�o�m�p�o�n�e�n�t� �i�n� �a� �s�i�n�g�l�e� �T�S�X� �f�i�l�e� �e�x�p�o�s�i�n�g� �a� �R�e�a�c�t�.�C�o�m�p�o�n�e�n�t�<�a�n�y�,�a�n�y�>�.� � � � �W�e� �i�m�p�l�e�m�e�n�t� �o�u�r� �f�l�o�w� �c�o�m�p�o�n�e�n�t� �i�n� �2� �f�i�l�e�s� �f�o�r� �C�o�r�e� �&� �L�e�g�a�c�y�.� � � � �I� �u�s�e� �E�S�B�u�i�l�d� �t�o� �t�r�a�n�s�p�i�l�e�,� �h�o�s�t� �a�n�d� �p�a�c�k�a�g�e�.� � � � �e�.�g�.� � � � �'�'�'� � � � � � �#� �p�a�c�k�a�g�e�.�j�s�o�n� �F�i�l�e� � � � �A�n� �e�x�a�m�p�l�e� �o�f� �a� �p�a�c�k�a�g�e�.�j�s�o�n� �f�i�l�e� � �� � �{� � � � �"�n�a�m�e�"�:� �"�m�y�c�o�m�p�"�,� � � � �"�v�e�r�s�i�o�n�"�:� �"�1�.�0�.�0�"�,� � � � �"�d�e�s�c�r�i�p�t�i�o�n�"�:� �"�M�y� �C�o�m�p�o�n�e�n�t�"�,� � � � �"�s�c�r�i�p�t�s�"�:� �{� � � � � � �"�s�t�a�r�t�"�:� �"�e�s�b�u�i�l�d� �.�/�s�r�c�/�M�y�C�l�a�s�s�N�e�w�.�t�s�x� �-�-�o�u�t�f�i�l�e�=�.�/�b�u�i�l�d�/�m�y�c�l�a�s�s�_�n�g�.�j�s� �-�-�s�o�u�r�c�e�m�a�p�=�b�o�t�h� �-�-�s�e�r�v�e�=�8�0�8�0� �-�-�s�e�r�v�e�d�i�r�=�b�u�i�l�d� �-�-�b�u�n�d�l�e� �-�-�f�o�r�m�a�t�=�e�s�m� �-�-�w�a�t�c�h�"�,� � � � � � �"�b�u�i�l�d�"�:� �"�e�s�b�u�i�l�d� �.�/�s�r�c�/�M�y�C�l�a�s�s�N�e�w�.�t�s�x� �-�-�o�u�t�f�i�l�e�=�.�/�b�u�i�l�d�/�m�y�c�l�a�s�s�_�n�g�.�j�s� �-�-�m�i�n�i�f�y� �-�-�b�u�n�d�l�e� � �-�-�f�o�r�m�a�t�=�e�s�m� �-�-�t�a�r�g�e�t�=�c�h�r�o�m�e�5�8�,�f�i�r�e�f�o�x�5�7�,�s�a�f�a�r�i�1�1�,�e�d�g�e�1�6�"�,� � � � � � �"�s�t�a�r�t�L�e�g�a�c�y�"�:� �"�e�s�b�u�i�l�d� �.�/�s�r�c�/�M�y�C�l�a�s�s�N�e�w�L�e�g�a�c�y�.�t�s�x� �-�-�o�u�t�f�i�l�e�=�.�/�b�u�i�l�d�/�m�y�c�l�a�s�s�_�l�e�g�.�j�s� �-�-�s�o�u�r�c�e�m�a�p�=�b�o�t�h� �-�-�s�e�r�v�e�=�8�0�8�0� �-�-�s�e�r�v�e�d�i�r�=�b�u�i�l�d� �-�-�b�u�n�d�l�e� �-�-�f�o�r�m�a�t�=�e�s�m� �-�-�w�a�t�c�h�"�,� � � � � � �"�b�u�i�l�d�L�e�g�a�c�y�"�:� �"�e�s�b�u�i�l�d� �.�/�s�r�c�/�M�y�C�l�a�s�s�N�e�w�L�e�g�a�c�y�.�t�s�x� �-�-�o�u�t�f�i�l�e�=�.�/�b�u�i�l�d�/�m�y�c�l�a�s�s�_�l�e�g�.�j�s� �-�-�m�i�n�i�f�y� �-�-�b�u�n�d�l�e� � �-�-�f�o�r�m�a�t�=�e�s�m� �-�-�t�a�r�g�e�t�=�c�h�r�o�m�e�5�8�,�f�i�r�e�f�o�x�5�7�,�s�a�f�a�r�i�1�1�,�e�d�g�e�1�6�"�,� � � � � � �"�b�u�i�l�d�A�l�l�"�:� �"�n�p�m� �r�u�n� �b�u�i�l�d� �&� �n�p�m� �r�u�n� �b�u�i�l�d�L�e�g�a�c�y�"� � � � �}�,� � � � �"�a�u�t�h�o�r�"�:� �"�B�o�o�m�i�"�,� � � � �"�l�i�c�e�n�s�e�"�:� �"�M�I�T�"�,� � � � �"�d�e�p�e�n�d�e�n�c�i�e�s�"�:� �{� � � � � � �"�f�c�m�l�i�b�"�:� �"�^�1�.�0�.�3�8�"�,� � � � � � �"�r�e�a�c�t�"�:� �"�1�8�.�2�.�0�"� � � � �}�,� � � � �"�d�e�v�D�e�p�e�n�d�e�n�c�i�e�s�"�:� �{� � � � � � �"�@�t�y�p�e�s�/�r�e�a�c�t�"�:� �"�^�1�8�.�2�.�2�8�"�,� � � � � � �"�e�s�b�u�i�l�d�"�:� �"�0�.�1�9�.�4�"� � � � �}� � �}� � �� � � � �#� �t�s�c�o�n�f�i�g�.�j�s�o�n� � � � �A�n� �e�x�a�m�p�l�e� �o�f� �a� �p�a�c�k�a�g�e�.�j�s�o�n� �f�i�l�e� � �� � �{� � � � �"�c�o�m�p�i�l�e�r�O�p�t�i�o�n�s�"�:� �{� � � � � � �"�o�u�t�D�i�r�"�:� �"�.�/�b�u�i�l�d�"�,� � � � � � �"�s�o�u�r�c�e�M�a�p�"�:� �t�r�u�e�,� � � � � � �"�n�o�I�m�p�l�i�c�i�t�A�n�y�"�:� �t�r�u�e�,� � � � � � �"�m�o�d�u�l�e�"�:� �"�c�o�m�m�o�n�j�s�"�,� � � � � � �"�t�a�r�g�e�t�"�:� �"�e�s�5�"�,� � � � � � �"�j�s�x�"�:� �"�r�e�a�c�t�"�,� � � � � � �"�d�o�w�n�l�e�v�e�l�I�t�e�r�a�t�i�o�n�"�:� �t�r�u�e�,� � � � � � �"�l�i�b�"�:� �[� � � � � � � � �"�e�s�2�0�1�5�"�,� � � � � � � � �"�d�o�m�"� � � � � � �]�,� � � � � � �"�s�k�i�p�L�i�b�C�h�e�c�k�"�:� �f�a�l�s�e�,� � � � � � �"�e�s�M�o�d�u�l�e�I�n�t�e�r�o�p�"�:� �t�r�u�e� � � � �}�,� � � � �"�i�n�c�l�u�d�e�"�:� �[� � � � � � �"�.�/�s�r�c�/�*�*�/�*�"� � � � �]� � �}� � �� � � � �#� �L�e�g�a�c�y� �C�o�m�p�o�n�e�n�t� �D�e�f�i�n�i�t�i�o�n� �(�M�y�C�l�a�s�s�L�e�g�a�c�y�.�t�s�x�)� � � � �� � �i�m�p�o�r�t� �{� �F�C�M�L�e�g�a�c�y� �}� �f�r�o�m� �"�f�c�m�l�i�b�/�l�i�b�/�F�C�M�L�e�g�a�c�y�"�;� � �i�m�p�o�r�t� �*� �a�s� �R�e�a�c�t� �f�r�o�m� �'�r�e�a�c�t�'�;� � �i�m�p�o�r�t� �{� �_�M�y�C�l�a�s�s� �}� �f�r�o�m� �"�.�/�M�y�C�l�a�s�s�"�;� � �d�e�c�l�a�r�e� �c�o�n�s�t� �m�a�n�y�w�h�o�:� �a�n�y�;� � � � �c�l�a�s�s� �M�y�C�l�a�s�s� �e�x�t�e�n�d�s� �F�C�M�L�e�g�a�c�y� �{� � � � � � � � �/�/�F�C�M�C�o�r�e� �w�i�l�l� �t�r�i�g�g�e�r� �t�h�i�s� �i�f� �w�e� �s�h�o�u�l�d� �u�p�d�a�t�e� � � � � � �r�e�d�r�a�w�(�)� �{� � � � � � � � � � �/�/� �c�a�l�l� �s�o�m�e�t�h�i�n�g� �o�n� �t�h�e� �r�e�a�l� �c�o�m�p�o�n�e�n�t� �t�o� �t�r�i�g�g�e�r� �a� �r�e�d�r�a�w� � � � � � � � � � �t�h�i�s�.�c�h�i�l�d�C�o�m�p�o�n�e�n�t�.�b�u�i�l�d�C�o�r�e�T�a�b�l�e�(�)�;� � � � � � �}� � � � � � � � �r�e�n�d�e�r�(�)� �{� � � � � � � � � � �r�e�t�u�r�n�(� � � � � � � � � � � � � � �<�_�M�y�C�l�a�s�s� � � � � � � � � � � � � � � � � � � �p�a�r�e�n�t�=�{�t�h�i�s�}� � � � � � � � � � � � � � � � � � �r�e�f�=�{�(�e�l�e�m�e�n�t�:� �a�n�y�)� �=�>� �{�t�h�i�s�.�c�h�i�l�d�C�o�m�p�o�n�e�n�t� �=� �e�l�e�m�e�n�t�}�}� �/�/� �h�e�r�e� �w�e� �a�r�e� �g�i�v�i�n�g� �F�C�M�C�o�r�e� �a� �r�e�f� �t�o� �o�u�r� �c�o�m�p�o�n�e�n�t� � � � � � � � � � � � � � �/�>� � � � � � � � � � �)�;� � � � � � �}� � �}� � �m�a�n�y�w�h�o�.�c�o�m�p�o�n�e�n�t�.�r�e�g�i�s�t�e�r�(�'�M�y�C�l�a�s�s�'�,� �M�y�C�l�a�s�s�)�;� � �� � � � �#� �N�e�w� �C�o�m�p�o�n�e�n�t� �D�e�f�i�n�i�t�i�o�n� �(�M�y�C�l�a�s�s�N�e�w�.�t�s�x�)� � � � �� � �i�m�p�o�r�t� �{� �F�C�M�N�e�w� �}� �f�r�o�m� �"�f�c�m�l�i�b�/�l�i�b�/�F�C�M�N�e�w�"�;� � �i�m�p�o�r�t� �*� �a�s� �R�e�a�c�t� �f�r�o�m� �'�r�e�a�c�t�'�;� � �i�m�p�o�r�t� �{� �_�M�y�C�l�a�s�s� �}� �f�r�o�m� �"�.�/�M�y�C�l�a�s�s�"�;� � � � �e�x�p�o�r�t� �d�e�f�a�u�l�t� �c�l�a�s�s� �C�a�s�c�a�d�i�n�g�C�o�m�b�o�s� �e�x�t�e�n�d�s� �F�C�M�N�e�w� �{� � � � � � � � �/�/�F�C�M�C�o�r�e� �w�i�l�l� �t�r�i�g�g�e�r� �t�h�i�s� �i�f� �w�e� �s�h�o�u�l�d� �u�p�d�a�t�e� � � � � � �r�e�d�r�a�w�(�)� �{� � � � � � � � � � �/�/� �c�a�l�l� �s�o�m�e�t�h�i�n�g� �o�n� �t�h�e� �r�e�a�l� �c�o�m�p�o�n�e�n�t� �t�o� �t�r�i�g�g�e�r� �a� �r�e�d�r�a�w� � � � � � � � � � �t�h�i�s�.�c�h�i�l�d�C�o�m�p�o�n�e�n�t�.�b�u�i�l�d�C�o�r�e�T�a�b�l�e�(�)�;� � � � � � �}� � � � � � � � �r�e�n�d�e�r�(�)� �{� � � � � � � � � � �r�e�t�u�r�n�(� � � � � � � � � � � � � � �<�_�M�y�C�l�a�s�s� � � � � � � � � � � � � � � � � � � �p�a�r�e�n�t�=�{�t�h�i�s�}� � � � � � � � � � � � � � � � � � �r�e�f�=�{�(�e�l�e�m�e�n�t�:� �a�n�y�)� �=�>� �{�t�h�i�s�.�c�h�i�l�d�C�o�m�p�o�n�e�n�t� �=� �e�l�e�m�e�n�t�}�}� �/�/� �h�e�r�e� �w�e� �a�r�e� �g�i�v�i�n�g� �F�C�M�C�o�r�e� �a� �r�e�f� �t�o� �o�u�r� �c�o�m�p�o�n�e�n�t� � � � � � � � � � � � � � �/�>� � � � � � � � � � �)�;� � � � � � �}� � �}� � �� � � � �#� �A�c�t�u�a�l� �c�o�m�p�o�n�e�n�t� �i�m�p�l�e�m�e�n�t�a�t�i�o�n� �(�M�y�C�l�a�s�s�.�t�s�x�)� � � � �� � �e�x�p�o�r�t� �c�l�a�s�s� �_�M�y�C�l�a�s�s� �e�x�t�e�n�d�s� �R�e�a�c�t�.�C�o�m�p�o�n�e�n�t�<�a�n�y�,�a�n�y�>� �{� � � � � � �c�o�m�p�o�n�e�n�t�:� �F�C�M�C�o�r�e�;� � � � � � � � �c�o�n�s�t�r�u�c�t�o�r�(�p�r�o�p�s�.�a�n�y�)� �{� � � � � � � � � � �s�u�p�e�r�(�p�r�o�p�s�)�;� � � � � � � � � � �t�h�i�s�.�c�o�m�p�o�n�e�n�t� �=� �p�r�o�p�s�.�p�r�o�p�s�.�p�a�r�e�n�t�;� � � � � � �}� � � � � � � � �r�e�n�d�e�r�(�)� �{� � � � � � � � � � � � �l�e�t� �c�l�a�s�s�e�s�:� �s�t�r�i�n�g� �=� �'�m�y�c�l�a�s�s� �'� �+� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�A�t�t�r�i�b�u�t�e�(�'�c�l�a�s�s�e�s�'�,� �'�'�)�;� � � � � � � � � � �c�o�n�s�t� �s�t�y�l�e�:� �C�S�S�P�r�o�p�e�r�t�i�e�s� �=� �{�}�;� � � � � � � � � � �s�t�y�l�e�.�w�i�d�t�h� �=� �'�f�i�t�-�c�o�n�t�e�n�t�'�;� � � � � � � � � � �s�t�y�l�e�.�h�e�i�g�h�t� �=� �'�f�i�t�-�c�o�n�t�e�n�t�'�;� � � � � � � � � � � � �i�f� �(�t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�i�s�V�i�s�i�b�l�e� �=�=�=� �f�a�l�s�e�)� �{� � � � � � � � � � � � � � �s�t�y�l�e�.�d�i�s�p�l�a�y� �=� �'�n�o�n�e�'�;� � � � � � � � � � �}� � � � � � � � � � �i�f� �(�t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�A�t�t�r�i�b�u�t�e�(�"�w�i�d�t�h�"�)�)� �{� � � � � � � � � � � � � � �s�t�y�l�e�.�w�i�d�t�h� �=� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�A�t�t�r�i�b�u�t�e�(�"�w�i�d�t�h�"�)�;� � � � � � � � � � �}� � � � � � � � � � �i�f� �(�t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�A�t�t�r�i�b�u�t�e�(�"�h�e�i�g�h�t�"�)�)� �{� � � � � � � � � � � � � � �s�t�y�l�e�.�h�e�i�g�h�t� �=� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�A�t�t�r�i�b�u�t�e�(�"�h�e�i�g�h�t�"�)�;� � � � � � � � � � �}� � � � � � � � � � �r�e�t�u�r�n� �(� � � � � � � � � � � � � � �<�d�i�v� � � � � � � � � � � � � � � � � � �c�l�a�s�s�N�a�m�e�=�{�c�l�a�s�s�e�s�}� � � � � � � � � � � � � � � � � � �s�t�y�l�e�=�{�s�t�y�l�e�}� � � � � � � � � � � � � � �>� � � � � � � � � � � � � � � � � � �"�H�e�l�l�o� �W�o�r�l�d�"� � � � � � � � � � � � � � �<�/�d�i�v�>� � � � � � � � � � �)�;� � � � � � �}� � �}� � �� � � � �#� �I�n�t�e�r�f�a�c�e� � � � �W�e� �n�o�w� �h�a�v�e� �t�h�e� �a�b�i�l�i�t�y�,� �i�n� �t�h�e� �a�c�t�u�a�l� �c�o�m�p�o�n�e�n�t� �f�i�l�e� �(�M�y�C�l�a�s�s�.�t�s�x�)� �t�o� �u�s�e� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�x�x�x� �t�o� �i�n�t�e�r�a�c�t� �w�i�t�h� �t�h�e� �d�a�t�a� �d�e�l�i�v�e�r�e�d� �t�o� �u�s� �b�y� �F�l�o�w� �a�n�d� �t�h�e� �F�l�o�w� �s�e�r�v�e�r� �s�i�d�e� �s�t�a�t�e� �d�i�r�e�c�t�l�y�.� � � � �#�#� �C�o�r�e� �P�r�o�p�e�r�t�i�e�s� � � � �#�#�#� �i�d� � � � �T�h�e� �c�o�m�p�o�n�e�n�t�'�s� �g�u�i�d� �a�s� �c�r�e�a�t�e�d� �b�y� �F�l�o�w�.� � � � �#�#�#� �l�a�b�e�l� � � � �T�h�e� �c�o�m�p�o�n�e�n�t�'�s� �l�a�b�e�l� �s�t�r�i�n�g�.� � � � �#�#�#� �c�o�n�t�e�n�t�T�y�p�e� � � � �A�n� �e�C�o�n�t�e�n�t�T�y�p�e� �e�n�u�m�e�r�a�t�i�o�n� �o�f� �t�h�e� �s�t�a�t�e�'�s� �c�o�n�t�e�n�t� �t�y�p�e�.� � � � �#�#�#� �c�o�n�t�e�n�t�V�a�l�u�e� � � � �T�h�e� �c�o�m�p�o�n�e�n�t�'�s� �s�t�r�i�n�g� �s�t�a�t�e� �v�a�l�u�e� �i�f� �t�h�e� �s�t�a�t�e� �i�s� �a� �s�i�m�p�l�e� �t�y�p�e� �(�s�t�r�i�n�g�,� �n�u�m�b�e�r�,� �d�a�t�e�T�i�m�e�,� �b�o�o�l�e�a�n� �e�t�c�.�)�.� � � � �#�#�#� �o�b�j�e�c�t�D�a�t�a� � � � �T�h�e� �c�o�m�p�o�n�e�n�t�'�s� �d�a�t�a�S�o�u�r�c�e� �a�s� �a�n� �o�b�j�e�c�t�D�a�t�a�A�r�r�a�y� �i�f� �t�h�e� �m�o�d�e�l� �i�s� �a�n� �o�b�j�e�c�t�D�a�t�a� �o�r� �o�b�j�e�c�t�D�a�t�a�A�r�r�a�y�.� � � � �#�#�#� �g�e�t�O�r�i�g�i�n�a�l�S�t�a�t�e�V�a�l�u�e�(�)� �:� �s�t�r�i�n�g� �|� �b�o�o�l�e�a�n� �|� �n�u�m�b�e�r� �|� �D�a�t�e� �|� �F�l�o�w�O�b�j�e�c�t�D�a�t�a� �|� �F�l�o�w�O�b�j�e�c�t�D�a�t�a�A�r�r�a�y� �|� �u�n�d�e�f�i�n�e�d� � � � �G�e�t�s� �t�h�e� �c�o�m�p�o�n�e�n�t�'�s� �i�n�i�t�i�a�l� �s�t�a�t�e� �v�a�l�e� �a�s� �a� �r�e�a�l� �c�o�n�v�e�r�t�e�d� �t�y�p�e�.� � � � �#�#�#� �s�e�t�S�t�a�t�e�V�a�l�u�e�(�v�a�l�u�e�:� �s�t�r�i�n�g� �|� �b�o�o�l�e�a�n� �|� �n�u�m�b�e�r� �|� �D�a�t�e� �|� �F�l�o�w�O�b�j�e�c�t�D�a�t�a� �|� �F�l�o�w�O�b�j�e�c�t�D�a�t�a�A�r�r�a�y�)� � � � �S�e�t�s� �t�h�e� �c�o�m�p�o�n�e�n�t�'�s� �s�t�a�t�e� �v�a�l�u�e�.� � � � �#�#�#� �s�t�a�t�e�V�a�l�u�e� �:� �s�t�r�i�n�g� �|� �b�o�o�l�e�a�n� �|� �n�u�m�b�e�r� �|� �D�a�t�e� �|� �F�l�o�w�O�b�j�e�c�t�D�a�t�a� �|� �F�l�o�w�O�b�j�e�c�t�D�a�t�a�A�r�r�a�y� � � � �G�e�t�s� �t�h�e� �c�u�r�r�e�n�t� �v�a�l�u�e� �o�f� �t�h�e� �c�o�m�p�o�n�e�n�t�'�s� �s�t�a�t�e�.� � � � �T�h�e� �o�n�e� �y�o�u� �l�a�s�t� �s�e�t� �w�i�t�h� �s�e�t�S�t�a�t�e�V�a�l�u�e�(�)�.� � � � �#�#�#� �o�u�t�c�o�m�e�s� �:� �O�b�j�e�c�t� � � � � �A�n� �o�b�j�e�c�t� �w�i�t�h� �e�a�c�h� �o�u�t�c�o�m�e� �a�t�t�a�c�h�e�d� �t�o� �t�h�e� �c�o�m�p�o�n�e�n�t� �k�e�y�e�d� �o�n� �i�t�s� �d�e�v�e�l�o�p�e�r� �n�a�m�e�.� � � � �e�.�g�.� � �� � �l�e�t� �o�c�:� �F�l�o�w�O�u�t�c�o�m�e� �=� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�o�u�t�c�o�m�e�s�[�"�O�u�t�c�o�m�e�N�a�m�e�"�]� � �� � �o�r� � �� � �O�b�j�e�c�t�.�k�e�y�s�(�t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�o�u�t�c�o�m�e�s�)�.�f�o�r�E�a�c�h�(�(�k�e�y�:� �s�t�r�i�n�g�)� �=�>� �{� � � � � � �l�e�t� �o�c�:� �F�l�o�w�O�u�t�c�o�m�e� �=� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�o�u�t�c�o�m�e�s�[�k�e�y�]� � �}�)�;� � �� � � � �#�#�#� �a�s�y�n�c� �t�r�i�g�g�e�r�O�u�t�c�o�m�e�(�o�u�t�c�o�m�e�N�a�m�e�:� �s�t�r�i�n�g�)� �:� �P�r�o�m�i�s�e�<�a�n�y�>� � � � �T�h�i�s� �w�i�l�l� �t�r�i�g�g�e�r� �t�h�e� �o�u�t�c�o�m�e� �s�p�e�c�i�f�i�e�d� �b�y� �i�t�s� �d�e�v�e�l�o�p�e�r�N�a�m�e�.� � � � �I�t� �i�s� �a�w�a�i�t�-�a�b�l�e�.� � � � �#�#�#� �a�s�y�n�c� �g�e�t�V�a�l�u�e�(�n�a�m�e�:� �s�t�r�i�n�g�)� �:� �P�r�o�m�i�s�e�<�F�l�o�w�V�a�l�u�e�>� � � � �T�h�i�s� �w�i�l�l� �m�a�k�e� �a�n� �a�w�a�i�t�-�a�b�l�e� �c�a�l�l� �t�o� �d�i�r�e�c�t�l�y� �g�e�t� �a�n�y� �n�a�m�e�d� �v�a�l�u�e� �f�r�o�m� �t�h�e� �c�u�r�r�e�n�t� �F�l�o�w�'�s� �s�t�a�t�e�.� � � � �I�t� �d�i�r�e�c�t�l�y� �c�a�l�l�s� �t�h�e� �F�l�o�w� �R�E�S�T� �a�p�i�.� � � � �I�f� �t�h�e� �v�a�l�u�e� �(�N�a�m�e�d� �o�n� �i�t�'�s� �d�e�v�e�l�o�p�e�r�N�a�m�e�)� �i�s� �n�o�t� �i�n� �t�h�e� �s�t�a�t�e� �i�t� �w�i�l�l� �t�h�r�o�w� �a� �s�i�l�e�n�t� �c�o�n�s�o�l�e� �e�r�r�o�r� �a�n�d� �r�e�t�u�r�n� �a� �n�u�l�l�.� � � � �I�f� �s�u�c�c�e�s�s�f�u�l� �i�t� �w�i�l�l� �r�e�t�u�r�n� �a� �F�l�o�w�V�a�l�u�e� �o�b�j�e�c�t�.� � � � �#�#�#� �a�s�y�n�c� �s�e�t�V�a�l�u�e�(�F�l�o�w�V�a�l�u�e� �|� �F�l�o�w�V�a�l�u�e�[�]�)� � � � �T�h�i�s� �w�i�l�l� �m�a�k�e� �a�n� �a�w�a�i�t�-�a�b�l�e� �c�a�l�l� �t�o� �d�i�r�e�c�t�l�y� �u�p�d�a�t�e� �t�h�e� �F�l�o�w�V�a�l�u�e� �i�n�t�o� �t�h�e� �c�u�r�r�e�n�t� �F�l�o�w�'�s� �s�t�a�t�e�.� � � � �I�t� �d�i�r�e�c�t�l�y� �c�a�l�l�s� �t�h�e� �F�l�o�w� �R�E�S�T� �a�p�i�.� � � � �e�.�g�.� � �� � �l�e�t� �v�a�l�:� �F�l�o�w�V�a�l�u�e� �=� �a�w�a�i�t� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�V�a�l�u�e�(�"�M�y�V�a�l�u�e�"�)�;� � �i�f�(�v�a�l�)� �{� � � � � � �v�a�l�.�v�a�l�u�e� �=� �"�H�e�l�l�o� �W�o�r�l�d�"�;� � � � � � �/�/�o�r� � � � � � �v�a�l�.�v�a�l�u�e� �=� �s�o�m�e�O�b�j�e�c�t�D�a�t�a�O�r�A�r�r�a�y�;� � � � � � �a�w�a�i�t� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�s�e�t�V�a�l�u�e�(�v�a�l�)�;� � �}� � �� � � � �#�#�#� �a�s�y�n�c� �i�n�f�l�a�t�e�V�a�l�u�e�(�v�a�l�u�e�:� �s�t�r�i�n�g�)� �:� �P�r�o�m�i�s�e�<�s�t�r�i�n�g�>� � � � �T�h�i�s� �a�w�a�i�t�a�b�l�e� �f�u�n�c�t�i�o�n� �w�i�l�l� �a�t�t�e�m�p�t� �t�o� �e�x�t�r�a�c�t� �a� �p�a�r�t� �o�f� �a� �F�l�o�w� �v�a�l�u�e�.� � � � �W�e� �p�a�s�s� �i�t� �{�{�M�y�V�a�l�u�e�}�}� �o�r� �{�{�M�y�V�a�l�u�e�-�>�P�r�o�p�e�r�t�y�}�}� �o�r� �{�{�M�y�V�a�l�u�e�-�>�P�r�o�p�e�r�t�y�-�>�p�r�o�p�e�r�t�y�}�}� �e�t�c�.� � � � �I�t� �w�i�l�l� �r�e�t�r�i�e�v�e� �t�h�e� �F�l�o�w�V�a�l�u�e� �"�M�y�V�a�l�u�e�"� �i�f� �n�o�t� �p�r�e�v�i�o�u�s�l�y� �r�e�t�r�i�e�v�e�d� �t�h�e�n� �i�t�e�r�a�t�e� �d�o�w�n� �t�h�r�o�u�g�h� �i�t�'�s� �p�r�o�p�e�r�i�e�s� �t�o� �g�e�t� �t�h�e� �i�n�d�i�c�a�t�e�d� �o�n�e�.� � � � �G�r�e�a�t� �i�f� �y�o�u� �w�a�n�t� �t�o� �p�a�s�s� �a� �c�o�m�p�l�e�x� �v�a�l�u�e� �i�n� �a�n� �a�t�t�r�i�b�u�t�e�.� � � � � � �#�#�#� �g�e�t�A�t�t�r�i�b�u�t�e�(�A�t�t�r�i�b�u�t�e�N�a�m�e�,� �d�e�f�a�u�l�t�V�a�l�u�e�)� �:� �s�t�r�i�n�g�;� � � � �T�h�i�s� �w�i�l�l� �g�e�t� �t�h�e� �v�a�l�u�e� �o�f� �t�h�e� �n�a�m�e�d� �a�t�t�r�i�b�u�t�e� �f�r�o�m� �t�h�e� �c�o�m�p�o�n�e�n�t�.� � � � �I�f� �i�t� �i�s� �n�o�t� �d�e�f�i�n�e�d� �t�h�e�n� �t�h�e� �d�e�f�a�u�l�t�V�a�l�u�e� �w�i�l�l� �b�e� �r�e�t�u�r�n�e�d� �o�r� �n�u�l�l� �i�f� �n�o� �d�e�f�a�u�l�t� �i�s� �s�p�e�c�i�f�i�e�d�.� � � � �e�.�g�.� � � �� � �l�e�t� �m�y�B�o�o�l�:� �b�o�o�l�e�a�n� �=� �t�h�i�s�.�c�o�m�p�o�n�e�n�t�.�g�e�t�A�t�t�r�i�b�u�t�e�(�"�m�y�B�o�o�l�"�,�"�f�a�l�s�e�"�)� �=�=�=� �"�t�r�u�e�"�;� � �� � � � �#�#�#� �O�t�h�e�r�s� � � � �T�h�e�r�e� �a�r�e� �v�a�r�i�o�u�s� �o�t�h�e�r� �c�o�m�p�o�n�e�n�t� �c�o�n�f�i�g�u�r�a�t�i�o�n� �a�t�t�r�i�b�u�t�e�s� �e�x�p�o�s�e�d� �l�i�k�e� �v�i�s�i�b�i�l�i�t�y�,� �d�e�v�e�l�o�p�e�r�N�a�m�e�,� �a�u�t�h�e�n�t�i�c�a�t�i�o�n�T�o�k�e�n�,� �c�u�r�r�e�n�t�M�a�p�E�l�e�m�e�n�t�I�d� �a�n�d� �m�o�r�e�.� � � � �#� �O�t�h�e�r� �C�l�a�s�s�e�s� � � � �V�a�r�i�o�u�s� �o�t�h�e�r� �c�l�a�s�s�e�s� �a�r�e� �e�x�p�o�s�e�d� �a�s� �h�e�l�p�e�r�s� �a�n�d� �E�n�u�m�s�.� � � � �#�#� �F�l�o�w�O�b�j�e�c�t�D�a�t�a� � �#�#� �F�l�o�w�O�b�j�e�c�t�D�a�t�a�A�r�r�a�y� � �#�#� �F�l�o�w�D�i�s�p�l�a�y�C�o�l�u�m�n� � �#�#� �F�l�o�w�O�u�t�c�o�m�e� � �#�#� �F�l�o�w�A�t�t�r�i�b�u�t�e� � �#�#� �F�l�o�w�V�a�l�u�e� � �#�#� �e�C�o�n�t�e�n�t�T�y�p�e�