axioma-recaptcha 6.0.138 → 6.0.140

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.
@@ -55,6 +55,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImpor
55
55
  }]
56
56
  }], ctorParameters: () => [] });
57
57
 
58
+ class TestRecaptchaConfigLoader {
59
+ load() {
60
+ return of({
61
+ siteKey: 'test-site-key',
62
+ enabled: false
63
+ });
64
+ }
65
+ }
66
+ const provideTestRecaptchaConfigLoader = () => ({
67
+ provide: RECAPTCHA_CONFIG_LOADER,
68
+ useValue: new TestRecaptchaConfigLoader()
69
+ });
70
+
58
71
  /*
59
72
  * Public API Surface of the library
60
73
  */
@@ -63,5 +76,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImpor
63
76
  * Generated bundle index. Do not edit.
64
77
  */
65
78
 
66
- export { RECAPTCHA_CONFIG_LOADER, RecaptchaService };
79
+ export { RECAPTCHA_CONFIG_LOADER, RecaptchaService, provideTestRecaptchaConfigLoader };
67
80
  //# sourceMappingURL=axioma-recaptcha.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"axioma-recaptcha.mjs","sources":["../../../projects/recaptcha/src/lib/recaptcha.token.ts","../../../projects/recaptcha/src/lib/recaptcha.service.ts","../../../projects/recaptcha/src/public-api.ts","../../../projects/recaptcha/src/axioma-recaptcha.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport { RecaptchaConfigLoader } from \"./recaptcha-config-loader\";\n\nexport const RECAPTCHA_CONFIG_LOADER = new InjectionToken<RecaptchaConfigLoader>('RECAPTCHA_CONFIG_LOADER');","import { inject, Injectable, DOCUMENT } from '@angular/core';\nimport { Observable, of, ReplaySubject, mergeMap } from 'rxjs';\nimport { RECAPTCHA_CONFIG_LOADER } from './recaptcha.token';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RecaptchaService {\n private configLoader = inject(RECAPTCHA_CONFIG_LOADER);\n private initialized = false;\n private document = inject<Document>(DOCUMENT);\n private recaptcha$ = new ReplaySubject<any>(1);\n execute(action: string): Observable<string> {\n return this.configLoader.load().pipe(mergeMap(config => {\n if (!config.enabled) {\n console.warn('Recaptcha is disabled');\n return of('');\n }\n this.init(config.siteKey);\n return this.recaptcha$.pipe(mergeMap(r =>\n new Observable<string>(observer =>\n r.ready(() => {\n let promise = r.execute(config.siteKey, { action }) as Promise<string>;\n promise.then(token => {\n observer.next(token);\n observer.complete();\n }).catch(err => {\n console.error('Recaptcha execution error:', err);\n observer.next('');\n observer.complete();\n });\n })\n ))\n );\n }));\n }\n private init(key: string): void {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n let script = this.document.createElement('script');\n script.src = `https://www.google.com/recaptcha/api.js?render=${key}`;\n script.async = true;\n script.defer = true;\n script.addEventListener('load', () => {\n this.recaptcha$.next((<any>window).grecaptcha);\n });\n this.document.body.appendChild(script);\n }\n constructor() {\n\n }\n}\n","/*\n * Public API Surface of the library\n */\n\nexport * from './lib/recaptcha.service';\nexport * from './lib/recaptcha.token';\nexport * from './lib/recaptcha-config-loader';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAGa,uBAAuB,GAAG,IAAI,cAAc,CAAwB,yBAAyB;;MCK7F,gBAAgB,CAAA;AACnB,IAAA,YAAY,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAC9C,WAAW,GAAG,KAAK;AACnB,IAAA,QAAQ,GAAG,MAAM,CAAW,QAAQ,CAAC;AACrC,IAAA,UAAU,GAAG,IAAI,aAAa,CAAM,CAAC,CAAC;AAC9C,IAAA,OAAO,CAAC,MAAc,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAG;AACrD,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnB,gBAAA,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;AACrC,gBAAA,OAAO,EAAE,CAAC,EAAE,CAAC;;AAEf,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IACpC,IAAI,UAAU,CAAS,QAAQ,IAC7B,CAAC,CAAC,KAAK,CAAC,MAAK;AACX,gBAAA,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAoB;AACtE,gBAAA,OAAO,CAAC,IAAI,CAAC,KAAK,IAAG;AACnB,oBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE;AACrB,iBAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAG;AACb,oBAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC;AAChD,oBAAA,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjB,QAAQ,CAAC,QAAQ,EAAE;AACrB,iBAAC,CAAC;AACJ,aAAC,CAAC,CACH,CAAC,CACH;SACF,CAAC,CAAC;;AAEG,IAAA,IAAI,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB;;AAEF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAClD,QAAA,MAAM,CAAC,GAAG,GAAG,CAAA,+CAAA,EAAkD,GAAG,EAAE;AACpE,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI;AACnB,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI;AACnB,QAAA,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAK;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAO,MAAO,CAAC,UAAU,CAAC;AAChD,SAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAExC,IAAA,WAAA,GAAA;;uGA3CW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACPD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"axioma-recaptcha.mjs","sources":["../../../projects/recaptcha/src/lib/recaptcha.token.ts","../../../projects/recaptcha/src/lib/recaptcha.service.ts","../../../projects/recaptcha/src/lib/recaptcha.test.ts","../../../projects/recaptcha/src/public-api.ts","../../../projects/recaptcha/src/axioma-recaptcha.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport { RecaptchaConfigLoader } from \"./recaptcha-config-loader\";\n\nexport const RECAPTCHA_CONFIG_LOADER = new InjectionToken<RecaptchaConfigLoader>('RECAPTCHA_CONFIG_LOADER');","import { inject, Injectable, DOCUMENT } from '@angular/core';\nimport { Observable, of, ReplaySubject, mergeMap } from 'rxjs';\nimport { RECAPTCHA_CONFIG_LOADER } from './recaptcha.token';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RecaptchaService {\n private configLoader = inject(RECAPTCHA_CONFIG_LOADER);\n private initialized = false;\n private document = inject<Document>(DOCUMENT);\n private recaptcha$ = new ReplaySubject<any>(1);\n execute(action: string): Observable<string> {\n return this.configLoader.load().pipe(mergeMap(config => {\n if (!config.enabled) {\n console.warn('Recaptcha is disabled');\n return of('');\n }\n this.init(config.siteKey);\n return this.recaptcha$.pipe(mergeMap(r =>\n new Observable<string>(observer =>\n r.ready(() => {\n let promise = r.execute(config.siteKey, { action }) as Promise<string>;\n promise.then(token => {\n observer.next(token);\n observer.complete();\n }).catch(err => {\n console.error('Recaptcha execution error:', err);\n observer.next('');\n observer.complete();\n });\n })\n ))\n );\n }));\n }\n private init(key: string): void {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n let script = this.document.createElement('script');\n script.src = `https://www.google.com/recaptcha/api.js?render=${key}`;\n script.async = true;\n script.defer = true;\n script.addEventListener('load', () => {\n this.recaptcha$.next((<any>window).grecaptcha);\n });\n this.document.body.appendChild(script);\n }\n constructor() {\n\n }\n}\n","import { Observable, of } from \"rxjs\";\nimport { RecaptchaConfig, RecaptchaConfigLoader } from \"./recaptcha-config-loader\";\nimport { RECAPTCHA_CONFIG_LOADER } from \"./recaptcha.token\";\n\nclass TestRecaptchaConfigLoader implements RecaptchaConfigLoader {\n load(): Observable<RecaptchaConfig> {\n return of({\n siteKey: 'test-site-key',\n enabled: false\n });\n }\n}\n\nexport const provideTestRecaptchaConfigLoader = () => ({\n provide: RECAPTCHA_CONFIG_LOADER,\n useValue: new TestRecaptchaConfigLoader()\n});","/*\n * Public API Surface of the library\n */\n\nexport * from './lib/recaptcha.service';\nexport * from './lib/recaptcha.token';\nexport * from './lib/recaptcha-config-loader';\nexport * from './lib/recaptcha.test';","/**\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
@@ -24,5 +24,13 @@ interface RecaptchaConfigLoader {
24
24
 
25
25
  declare const RECAPTCHA_CONFIG_LOADER: InjectionToken<RecaptchaConfigLoader>;
26
26
 
27
- export { RECAPTCHA_CONFIG_LOADER, RecaptchaService };
27
+ declare class TestRecaptchaConfigLoader implements RecaptchaConfigLoader {
28
+ load(): Observable<RecaptchaConfig>;
29
+ }
30
+ declare const provideTestRecaptchaConfigLoader: () => {
31
+ provide: i0.InjectionToken<RecaptchaConfigLoader>;
32
+ useValue: TestRecaptchaConfigLoader;
33
+ };
34
+
35
+ export { RECAPTCHA_CONFIG_LOADER, RecaptchaService, provideTestRecaptchaConfigLoader };
28
36
  export type { RecaptchaConfig, RecaptchaConfigLoader };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "axioma-recaptcha",
3
3
  "author": "Petr Shelomovskiy",
4
4
  "license": "MIT",
5
- "version": "6.0.138",
5
+ "version": "6.0.140",
6
6
  "peerDependencies": {
7
7
  "@angular/common": "^20.0.0",
8
8
  "@angular/core": "^20.0.0",