Botón de alternancia Mostrar / Ocultar Javascript para el campo de contraseña

He estado trabajando en un proyecto que requiere que implemente un botón Mostrar / Ocultar en un campo de contraseña de formulario, que alterna entre mostrar la contraseña como texto sin formato y ocultarla detrás de los asteriscos.

Lo que se me ocurrió hasta ahora:

function pass(){ document.getElementById('password').type="password"; } 
function text(){ document.getElementById('password').type="text"; }
<input type="password" id="password" />
<button class="ui-component__password-field__show-hide" type="button" onclick="text()">Show</button>

Funciona bien para cambiar a mostrar la contraseña, pero ¿cómo hago para que cambie el texto del botón a "Ocultar" una vez que se muestra la contraseña y hacer que ejecute la función pass ()?

Respuestas a la pregunta(6)

Su respuesta a la pregunta