Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

225
Vistas
¿Llamar a Auth.signUp desde una biblioteca de formato de paquete angular produce un error de tipo?

La mayoría de las funciones de autenticación de aws-amplify se pueden llamar desde las bibliotecas de Angular. Por ejemplo Auth.signout() funciona bien.

Sin embargo, traté de poner la siguiente implementación en un servicio de biblioteca:

 /** * @param firstName The first name * @param lastName The last name * @param email The email * @param password The password * @returns The signup result */ export function signUp( firstName: string, lastName: string, email: string, password: string) { return Auth.signUp({ username: email, password, attributes: { email, name: firstName, given_name: firstName, family_name: lastName } }); }

Sin embargo, cuando cualquiera de las funciones en la biblioteca se importa así, por ejemplo:

 import { Component } from '@angular/core'; import { getCurrentAuthenticatedUserAttributes} from 'amplifylibe' @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.scss'] }) export class AppComponent { title = 't1'; }

Produce el siguiente error:

 Build at: 2022-02-04T20:58:53.577Z - Hash: bd84be34957baf56 - Time: 112ms Error: node_modules/amplifylibe/lib/auth.functions.d.ts:1:23 - error TS2688: Cannot find type definition file for 'amazon-cognito-identity-js'. 1 /// <reference types="amazon-cognito-identity-js" /> ~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: node_modules/amplifylibe/lib/auth.functions.d.ts:14:118 - error TS2307: Cannot find module 'amazon-cognito-identity-js' or its corresponding type declarations. 14 export declare function signUp(firstName: string, lastName: string, email: string, password: string): Promise<import("amazon-cognito-identity-js").ISignUpResult>; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Para mostrar esto, publiqué una biblioteca mínima con las funciones de NPM:

https://www.npmjs.com/package/amplifylibe

El repositorio de github correspondiente es: https://github.com/fireflysemantics/tsamplifyapidemotest

Que contiene la función de signup . También creé una aplicación Angular 13 que produce el error cuando se ejecuta ng serve :

 git clone git@github.com:fireflysemantics/tsamplifylibdemoapp.git cd tsamplifylibdemoapp npm i ng serve

¿Alguna idea sobre cómo arreglar esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Así que parece que la solución es bastante simple. Simplemente declare un tipo de retorno Promise<any> como este:

 /** * @returns The result promise */ async getCurrentAuthenticatedUserAttributes(): Promise<any> { const { attributes } = await Auth.currentAuthenticatedUser(); return attributes }

Sin el tipo de retorno declarado, parece que Typescript intenta inferir el tipo de retorno correcto de amplificar y esto no está disponible para la biblioteca cuando se compila la aplicación.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda