Intersección de dos diccionarios

Escribe una función que reciba dos objetos diferentes. En cada uno, conserva únicamente las claves que existan en ambas entradas, manteniendo los valores originales de ese objeto. Devuelve los dos objetos filtrados en el mismo orden que los argumentos.

Ejemplos

intersection({"a": 5, "b": 13, "c": 7}, {"b": 5, "c": 8, "d": 91, "e": 99}) // [{"b": 13, "c": 7}, {"b": 5, "c": 8}]

intersection({"a": 5, "b": 13, "c": 7}, {"c": 9, "d": 8}) // [{"c": 7}, {"c": 9}]

intersection({"a": 1, "b": 34}, {"c": 9, "d": 8}) // [{}, {}]

Notas

Si no hay claves en común, devuelve dos objetos vacíos.