@41devs/naya-id-angular 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"41devs-naya-id-angular.mjs","sources":["../../../projects/naya-id/src/lib/naya-id.service.ts","../../../projects/naya-id/src/public-api.ts","../../../projects/naya-id/src/41devs-naya-id-angular.ts"],"sourcesContent":["import { Injectable, NgZone, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport type {\n NayaConfig,\n NayaCountryCode,\n NayaDocumentType,\n NayaEvent,\n NayaResult,\n NayaSupport,\n StartVerificationParams,\n} from '@41devs/naya-id-js';\n\n/**\n * Parcours réutilisable : une instance qu'on ouvre, ferme et écoute.\n * Miroir de `create()` du SDK Naya, avec les rappels ramenés dans la zone\n * Angular.\n */\nexport interface NayaVerification {\n /** Monte l'interface et résout à la fermeture. Un seul `open` à la fois. */\n open(): Promise<NayaResult>;\n /** Ferme le parcours (résultat `cancelled`). */\n close(): void;\n /** Abonne un écouteur ; rend la fonction de désabonnement. */\n on(\n event: NayaEvent['type'] | 'result',\n cb: (payload: NayaEvent | NayaResult) => void,\n ): () => void;\n /** Ferme et libère les écouteurs. */\n destroy(): void;\n readonly isOpen: boolean;\n}\n\n/**\n * Point d'entrée du SDK Naya ID pour Angular.\n *\n * ```ts\n * const result = await this.naya.startVerification({\n * auth: { verificationId, sessionToken },\n * config: { locale: 'fr' },\n * });\n * ```\n *\n * Le parcours (consentement, capture, vivacité, décision) est celui du SDK\n * navigateur `@41devs/naya-id-js` : une seule implémentation, partagée avec\n * les intégrations sans framework. Cette bibliothèque y ajoute ce qu'attend\n * une application Angular :\n *\n * • **injection** — un service `providedIn: 'root'`, testable et\n * remplaçable ;\n * • **chargement différé** — le SDK n'entre pas dans le bundle initial ;\n * il est importé au premier lancement ;\n * • **zone** — le parcours tourne hors de la zone Angular (le flux caméra\n * déclencherait sinon une détection de changements par trame), et les\n * rappels de l'hôte y sont ramenés pour que signaux et vues se mettent\n * à jour normalement ;\n * • **rendu serveur** — sans `document`, le service rend une erreur typée\n * au lieu de lever.\n */\n@Injectable({ providedIn: 'root' })\nexport class NayaIdService {\n private readonly zone = inject(NgZone);\n private readonly platformId = inject(PLATFORM_ID);\n\n /** Chargé une seule fois, au premier usage. */\n private sdk?: Promise<typeof import('@41devs/naya-id-js')>;\n\n private load(): Promise<typeof import('@41devs/naya-id-js')> {\n return (this.sdk ??= import('@41devs/naya-id-js'));\n }\n\n private get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId) && typeof document !== 'undefined';\n }\n\n private serverSideResult(): NayaResult {\n return {\n status: 'error',\n errorCode: 'unsupported_browser',\n errorMessage: 'Le SDK Naya nécessite un environnement navigateur.',\n };\n }\n\n /**\n * Enveloppe la configuration de l'hôte pour ramener ses rappels dans la\n * zone Angular. Sans cela, un `onEvent` qui écrit dans un signal ne\n * déclencherait aucun rafraîchissement : le parcours tourne hors zone.\n */\n private withZone(config?: NayaConfig): NayaConfig | undefined {\n const onEvent = config?.onEvent;\n if (!onEvent) return config;\n return {\n ...config,\n onEvent: (event) => this.zone.run(() => onEvent(event)),\n };\n }\n\n /**\n * Lance le parcours de vérification d'identité.\n *\n * Authentification, au choix :\n * • `auth.verificationId` + `auth.sessionToken`, rendus à votre backend\n * par `POST /verifications/start` — à privilégier en production, la\n * clé ne quitte pas le serveur ;\n * • `auth.apiKey` — démos et fronts maîtrisés. Une clé live doit\n * déclarer ses origines dans le dashboard.\n *\n * **Ne rejette jamais** : une erreur ou une annulation revient sous forme\n * de `NayaResult` (`status: 'error'` avec `errorCode`, ou `'cancelled'`).\n */\n async startVerification(params: StartVerificationParams): Promise<NayaResult> {\n if (!this.isBrowser) return this.serverSideResult();\n const sdk = await this.load();\n return this.zone.runOutsideAngular(() =>\n sdk.startVerification({ ...params, config: this.withZone(params.config) }),\n );\n }\n\n /**\n * Instance réutilisable, pour piloter l'ouverture et la fermeture depuis\n * un composant et suivre les événements du parcours.\n */\n async create(params: StartVerificationParams): Promise<NayaVerification> {\n if (!this.isBrowser) {\n const result = this.serverSideResult();\n return {\n open: async () => result,\n close: () => {},\n on: () => () => {},\n destroy: () => {},\n get isOpen() {\n return false;\n },\n };\n }\n const sdk = await this.load();\n const instance = this.zone.runOutsideAngular(() =>\n sdk.create({ ...params, config: this.withZone(params.config) }),\n );\n return {\n open: () => this.zone.runOutsideAngular(() => instance.open()),\n close: () => instance.close(),\n on: (event, cb) => instance.on(event, (payload) => this.zone.run(() => cb(payload))),\n destroy: () => instance.destroy(),\n get isOpen() {\n return instance.isOpen;\n },\n };\n }\n\n /**\n * Vérifie que le navigateur peut exécuter le parcours (caméra, contexte\n * sécurisé, navigateur intégré) avant de l'ouvrir.\n */\n async isSupported(): Promise<NayaSupport> {\n if (!this.isBrowser) {\n // Rendu serveur : aucune capacité n'est mesurable, on rend un état\n // complet et négatif plutôt que de lever.\n return {\n ok: false,\n code: 'unsupported_browser',\n reason: 'Aucun environnement navigateur.',\n secureContext: false,\n mediaDevices: false,\n webAssembly: false,\n webGL: false,\n inAppBrowser: false,\n inAppBrowserName: null,\n mobile: false,\n ios: false,\n android: false,\n deviceClass: 'desktop',\n };\n }\n const sdk = await this.load();\n return sdk.isSupported();\n }\n\n /** Version du SDK navigateur effectivement chargé. */\n async version(): Promise<string> {\n const sdk = await this.load();\n return sdk.version;\n }\n\n /**\n * Pays couverts, avec leur libellé — pour un sélecteur affiché par l'hôte\n * avant d'ouvrir le parcours.\n *\n * Accesseur asynchrone, et non constante réexportée : une valeur importée\n * statiquement depuis cette bibliothèque entraînerait tout le SDK\n * navigateur dans le bundle initial de votre application. Vous n'en avez\n * besoin que si vous construisez votre propre sélection ; sinon `config`\n * accepte directement les codes (`country: 'BJ'`), typés par\n * `NayaCountryCode`.\n */\n async countries(): Promise<readonly { code: NayaCountryCode; label: string }[]> {\n const sdk = await this.load();\n return sdk.NAYA_COUNTRIES;\n }\n\n /** Types de pièces acceptés. Même remarque que [countries]. */\n async documentTypes(): Promise<readonly NayaDocumentType[]> {\n const sdk = await this.load();\n return sdk.NAYA_DOCUMENT_TYPES;\n }\n\n /** Libellé lisible d'un code pays. */\n async countryLabel(code: NayaCountryCode): Promise<string> {\n const sdk = await this.load();\n return sdk.countryLabel(code);\n }\n}\n","/*\n * Surface publique du SDK Naya ID — Angular.\n *\n * Le service d'entrée est propre à Angular ; les modèles sont **réexportés\n * depuis `@41devs/naya-id-js`** plutôt que redéclarés. Les deux SDK ne\n * peuvent donc pas diverger : une option ajoutée au parcours navigateur est\n * disponible ici au prochain `npm update`, sans publication de cette\n * bibliothèque.\n *\n * ⚠️ **Types uniquement.** Réexporter une valeur (une constante, une\n * fonction) placerait le SDK navigateur dans le graphe statique du module,\n * et donc dans le bundle **initial** de l'application cliente — 154 ko qui\n * ne servent qu'au lancement du parcours. Les types disparaissent à la\n * compilation ; le SDK reste chargé à la demande. Les rares valeurs utiles\n * à un hôte sont exposées par des accesseurs asynchrones du service.\n */\n\nexport { NayaIdService, type NayaVerification } from './lib/naya-id.service';\n\nexport type {\n NayaAuth,\n NayaCaptureOptions,\n NayaConfig,\n NayaConsentOptions,\n NayaCountryCode,\n NayaDocumentType,\n NayaErrorCode,\n NayaEvent,\n NayaEventName,\n NayaHandoffOptions,\n NayaLivenessAssets,\n NayaLivenessOptions,\n NayaLocale,\n NayaOcrData,\n NayaResult,\n NayaStatus,\n NayaSupport,\n NayaThemeOverrides,\n ResolvedNayaConfig,\n StartVerificationParams,\n} from '@41devs/naya-id-js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"41devs-naya-id-angular.mjs","sources":["../../../projects/naya-id/src/lib/naya-id.service.ts","../../../projects/naya-id/src/public-api.ts","../../../projects/naya-id/src/41devs-naya-id-angular.ts"],"sourcesContent":["import { Injectable, NgZone, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport type {\n NayaConfig,\n NayaCountryCode,\n NayaDocumentType,\n NayaEvent,\n NayaResult,\n NayaSupport,\n StartVerificationParams,\n} from '@41devs/naya-id-js';\n\n/**\n * Parcours réutilisable : une instance qu'on ouvre, ferme et écoute.\n * Miroir de `create()` du SDK Naya, avec les rappels ramenés dans la zone\n * Angular.\n */\nexport interface NayaVerification {\n /** Monte l'interface et résout à la fermeture. Un seul `open` à la fois. */\n open(): Promise<NayaResult>;\n /** Ferme le parcours (résultat `cancelled`). */\n close(): void;\n /** Abonne un écouteur ; rend la fonction de désabonnement. */\n on(\n event: NayaEvent['type'] | 'result',\n cb: (payload: NayaEvent | NayaResult) => void,\n ): () => void;\n /** Ferme et libère les écouteurs. */\n destroy(): void;\n readonly isOpen: boolean;\n}\n\n/**\n * Point d'entrée du SDK Naya ID pour Angular.\n *\n * ```ts\n * const result = await this.naya.startVerification({\n * auth: { verificationId, sessionToken },\n * config: { locale: 'fr' },\n * });\n * ```\n *\n * Le parcours (consentement, capture, vivacité, décision) est celui du SDK\n * navigateur `@41devs/naya-id-js` : une seule implémentation, partagée avec\n * les intégrations sans framework. Cette bibliothèque y ajoute ce qu'attend\n * une application Angular :\n *\n * • **injection** — un service `providedIn: 'root'`, testable et\n * remplaçable ;\n * • **chargement différé** — le SDK n'entre pas dans le bundle initial ;\n * il est importé au premier lancement ;\n * • **zone** — le parcours tourne hors de la zone Angular (le flux caméra\n * déclencherait sinon une détection de changements par trame), et les\n * rappels de l'hôte y sont ramenés pour que signaux et vues se mettent\n * à jour normalement ;\n * • **rendu serveur** — sans `document`, le service rend une erreur typée\n * au lieu de lever.\n */\n@Injectable({ providedIn: 'root' })\nexport class NayaIdService {\n private readonly zone = inject(NgZone);\n private readonly platformId = inject(PLATFORM_ID);\n\n /** Chargé une seule fois, au premier usage. */\n private sdk?: Promise<typeof import('@41devs/naya-id-js')>;\n\n private load(): Promise<typeof import('@41devs/naya-id-js')> {\n return (this.sdk ??= import('@41devs/naya-id-js'));\n }\n\n private get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId) && typeof document !== 'undefined';\n }\n\n private serverSideResult(): NayaResult {\n return {\n status: 'error',\n errorCode: 'unsupported_browser',\n errorMessage: 'Le SDK Naya nécessite un environnement navigateur.',\n };\n }\n\n /**\n * Enveloppe la configuration de l'hôte pour ramener ses rappels dans la\n * zone Angular. Sans cela, un `onEvent` qui écrit dans un signal ne\n * déclencherait aucun rafraîchissement : le parcours tourne hors zone.\n */\n private withZone(config?: NayaConfig): NayaConfig | undefined {\n const onEvent = config?.onEvent;\n if (!onEvent) return config;\n return {\n ...config,\n onEvent: (event) => this.zone.run(() => onEvent(event)),\n };\n }\n\n /**\n * Lance le parcours de vérification d'identité.\n *\n * Authentification, au choix :\n * • `auth.verificationId` + `auth.sessionToken`, rendus à votre backend\n * par `POST /verifications/start` — à privilégier en production, la\n * clé ne quitte pas le serveur ;\n * • `auth.apiKey` — démos et fronts maîtrisés. Une clé live doit\n * déclarer ses origines dans le dashboard.\n *\n * **Ne rejette jamais** : une erreur ou une annulation revient sous forme\n * de `NayaResult` (`status: 'error'` avec `errorCode`, ou `'cancelled'`).\n */\n async startVerification(params: StartVerificationParams): Promise<NayaResult> {\n if (!this.isBrowser) return this.serverSideResult();\n const sdk = await this.load();\n return this.zone.runOutsideAngular(() =>\n sdk.startVerification({ ...params, config: this.withZone(params.config) }),\n );\n }\n\n /**\n * Instance réutilisable, pour piloter l'ouverture et la fermeture depuis\n * un composant et suivre les événements du parcours.\n */\n async create(params: StartVerificationParams): Promise<NayaVerification> {\n if (!this.isBrowser) {\n const result = this.serverSideResult();\n return {\n open: async () => result,\n close: () => {},\n on: () => () => {},\n destroy: () => {},\n get isOpen() {\n return false;\n },\n };\n }\n const sdk = await this.load();\n const instance = this.zone.runOutsideAngular(() =>\n sdk.create({ ...params, config: this.withZone(params.config) }),\n );\n return {\n open: () => this.zone.runOutsideAngular(() => instance.open()),\n close: () => instance.close(),\n on: (event, cb) => instance.on(event, (payload) => this.zone.run(() => cb(payload))),\n destroy: () => instance.destroy(),\n get isOpen() {\n return instance.isOpen;\n },\n };\n }\n\n /**\n * Vérifie que le navigateur peut exécuter le parcours (caméra, contexte\n * sécurisé, navigateur intégré) avant de l'ouvrir.\n */\n async isSupported(): Promise<NayaSupport> {\n if (!this.isBrowser) {\n // Rendu serveur : aucune capacité n'est mesurable, on rend un état\n // complet et négatif plutôt que de lever.\n return {\n ok: false,\n code: 'unsupported_browser',\n reason: 'Aucun environnement navigateur.',\n secureContext: false,\n mediaDevices: false,\n webAssembly: false,\n webGL: false,\n inAppBrowser: false,\n inAppBrowserName: null,\n mobile: false,\n ios: false,\n android: false,\n deviceClass: 'desktop',\n };\n }\n const sdk = await this.load();\n return sdk.isSupported();\n }\n\n /** Version du SDK navigateur effectivement chargé. */\n async version(): Promise<string> {\n const sdk = await this.load();\n return sdk.version;\n }\n\n /**\n * Pays couverts, avec leur libellé — pour un sélecteur affiché par l'hôte\n * avant d'ouvrir le parcours.\n *\n * Accesseur asynchrone, et non constante réexportée : une valeur importée\n * statiquement depuis cette bibliothèque entraînerait tout le SDK\n * navigateur dans le bundle initial de votre application. Vous n'en avez\n * besoin que si vous construisez votre propre sélection ; sinon `config`\n * accepte directement les codes (`country: 'BJ'`), typés par\n * `NayaCountryCode`.\n */\n async countries(): Promise<readonly { code: NayaCountryCode; label: string }[]> {\n const sdk = await this.load();\n return sdk.NAYA_COUNTRIES;\n }\n\n /** Types de pièces acceptés. Même remarque que [countries]. */\n async documentTypes(): Promise<readonly NayaDocumentType[]> {\n const sdk = await this.load();\n return sdk.NAYA_DOCUMENT_TYPES;\n }\n\n /** Libellé lisible d'un code pays. */\n async countryLabel(code: NayaCountryCode): Promise<string> {\n const sdk = await this.load();\n return sdk.countryLabel(code);\n }\n}\n","/*\n * Surface publique du SDK Naya ID — Angular.\n *\n * Le service d'entrée est propre à Angular ; les modèles sont **réexportés\n * depuis `@41devs/naya-id-js`** plutôt que redéclarés. Les deux SDK ne\n * peuvent donc pas diverger : une option ajoutée au parcours navigateur est\n * disponible ici au prochain `npm update`, sans publication de cette\n * bibliothèque.\n *\n * ⚠️ **Types uniquement.** Réexporter une valeur (une constante, une\n * fonction) placerait le SDK navigateur dans le graphe statique du module,\n * et donc dans le bundle **initial** de l'application cliente — 154 ko qui\n * ne servent qu'au lancement du parcours. Les types disparaissent à la\n * compilation ; le SDK reste chargé à la demande. Les rares valeurs utiles\n * à un hôte sont exposées par des accesseurs asynchrones du service.\n */\n\nexport { NayaIdService, type NayaVerification } from './lib/naya-id.service';\n\nexport type {\n NayaAuth,\n NayaCaptureOptions,\n NayaConfig,\n NayaConsentOptions,\n NayaCountryCode,\n NayaDocumentType,\n NayaDocumentTypeMismatchPolicy,\n NayaErrorCode,\n NayaEvent,\n NayaEventName,\n NayaHandoffOptions,\n NayaLivenessAssets,\n NayaLivenessOptions,\n NayaLocale,\n NayaOcrData,\n NayaResult,\n NayaStatus,\n NayaSupport,\n NayaThemeOverrides,\n ResolvedNayaConfig,\n StartVerificationParams,\n} from '@41devs/naya-id-js';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { StartVerificationParams, NayaResult, NayaEvent, NayaSupport, NayaCountryCode, NayaDocumentType } from '@41devs/naya-id-js';
2
- export { NayaAuth, NayaCaptureOptions, NayaConfig, NayaConsentOptions, NayaCountryCode, NayaDocumentType, NayaErrorCode, NayaEvent, NayaEventName, NayaHandoffOptions, NayaLivenessAssets, NayaLivenessOptions, NayaLocale, NayaOcrData, NayaResult, NayaStatus, NayaSupport, NayaThemeOverrides, ResolvedNayaConfig, StartVerificationParams } from '@41devs/naya-id-js';
2
+ export { NayaAuth, NayaCaptureOptions, NayaConfig, NayaConsentOptions, NayaCountryCode, NayaDocumentType, NayaDocumentTypeMismatchPolicy, NayaErrorCode, NayaEvent, NayaEventName, NayaHandoffOptions, NayaLivenessAssets, NayaLivenessOptions, NayaLocale, NayaOcrData, NayaResult, NayaStatus, NayaSupport, NayaThemeOverrides, ResolvedNayaConfig, StartVerificationParams } from '@41devs/naya-id-js';
3
3
  import * as i0 from '@angular/core';
4
4
 
5
5
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@41devs/naya-id-angular",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "SDK Angular officiel de Naya ID — vérification d'identité (eKYC) clé en main pour l'Afrique de l'Ouest : consentement, capture guidée, défi de vivacité imposé par le serveur, confirmation des données, résultat expliqué.",
5
5
  "keywords": [
6
6
  "kyc",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "tslib": "^2.3.0",
22
- "@41devs/naya-id-js": "^0.3.1"
22
+ "@41devs/naya-id-js": "^0.4.0"
23
23
  },
24
24
  "sideEffects": false,
25
25
  "module": "fesm2022/41devs-naya-id-angular.mjs",