@senior-agronegocio/angular-components 1.0.8 → 1.0.10
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.
- package/LLM_LIBRARY_GUIDES.md +9 -1
- package/README.md +5 -0
- package/agro-angular-components.module.d.ts +4 -6
- package/esm2022/agro-angular-components.module.mjs +21 -5
- package/esm2022/fields/lookups/config/lookup-host-project-config.mjs +10 -0
- package/esm2022/fields/lookups/config/lookup-runtime-context.mjs +12 -0
- package/esm2022/fields/lookups/core/agro-base-lookup-field.mjs +385 -0
- package/esm2022/fields/lookups/core/agro-branch-lookup.mjs +27 -0
- package/esm2022/fields/lookups/core/agro-company-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-currency-lookup.mjs +24 -0
- package/esm2022/fields/lookups/core/agro-deposit-balance-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-deposit-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-driver-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-e095-pes-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-family-group-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-family-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-harvest-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-increase-product-lookup.mjs +31 -0
- package/esm2022/fields/lookups/core/agro-lookup-base.mjs +39 -0
- package/esm2022/fields/lookups/core/agro-producer-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-product-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-product-variety-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-romaneo-lookup.mjs +24 -0
- package/esm2022/fields/lookups/core/agro-rural-estate-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/agro-ticket-lookup.mjs +25 -0
- package/esm2022/fields/lookups/core/index.mjs +21 -0
- package/esm2022/fields/lookups/core/lookup-field.handlers.mjs +82 -0
- package/esm2022/fields/lookups/core/lookup-field.types.mjs +2 -0
- package/esm2022/fields/lookups/index.mjs +5 -0
- package/esm2022/fields/lookups/services/agro-lookup-entity.service.mjs +132 -0
- package/esm2022/fields/lookups/services/driver/agro-lookup-driver.service.mjs +34 -0
- package/esm2022/fields/lookups/services/driver/driver-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-001-pes/agro-lookup-e001-pes.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-001-pes/e-001-pes-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-012-fam/agro-lookup-e012-fam.service.mjs +34 -0
- package/esm2022/fields/lookups/services/e-012-fam/e-012-fam-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-031-moe/agro-lookup-e031-moe.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-031-moe/e-031-moe-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-070-emp/agro-lookup-e070-emp.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-070-emp/e-070-emp-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-070-fil/agro-lookup-e070-fil.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-070-fil/e-070-fil-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-075-der/agro-lookup-e075-der.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-075-der/e-075-der-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-095-pes/agro-lookup-e095-pes.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-095-pes/e-095-pes-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-113-saf/agro-lookup-e113-saf.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-113-saf/e-113-saf-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-205-dep/agro-lookup-e205-dep.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-205-dep/e-205-dep-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/e-210-dxp/agro-lookup-e210-dxp.service.mjs +41 -0
- package/esm2022/fields/lookups/services/e-210-dxp/e-210-dxp-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/family-group/agro-lookup-family-group.service.mjs +41 -0
- package/esm2022/fields/lookups/services/family-group/family-group-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/increase-product/agro-lookup-increase-product.service.mjs +41 -0
- package/esm2022/fields/lookups/services/increase-product/increase-product-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/index.mjs +18 -0
- package/esm2022/fields/lookups/services/product-variety/agro-lookup-product-variety.service.mjs +41 -0
- package/esm2022/fields/lookups/services/product-variety/product-variety-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/rural-estate/agro-lookup-rural-estate.service.mjs +41 -0
- package/esm2022/fields/lookups/services/rural-estate/rural-estate-dto.mjs +2 -0
- package/esm2022/fields/lookups/services/ticket/agro-lookup-ticket.service.mjs +34 -0
- package/esm2022/fields/lookups/services/ticket/ticket-dto.mjs +2 -0
- package/esm2022/fields/lookups/utils/agro-lookup-utils.mjs +303 -0
- package/esm2022/fields/lookups/utils/cpf-cnpj-formatter.mjs +23 -0
- package/esm2022/fields/lookups/utils/index.mjs +3 -0
- package/esm2022/lib-config.token.mjs +3 -0
- package/esm2022/public-api.mjs +3 -1
- package/esm2022/services/i18n/en-US.mjs +58 -1
- package/esm2022/services/i18n/es-CO.mjs +58 -1
- package/esm2022/services/i18n/pt-BR.mjs +58 -1
- package/fesm2022/senior-agronegocio-angular-components.mjs +2044 -6
- package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -1
- package/fields/lookups/config/lookup-host-project-config.d.ts +2 -0
- package/fields/lookups/config/lookup-runtime-context.d.ts +3 -0
- package/fields/lookups/core/agro-base-lookup-field.d.ts +30 -0
- package/fields/lookups/core/agro-branch-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-company-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-currency-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-deposit-balance-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-deposit-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-driver-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-e095-pes-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-family-group-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-family-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-harvest-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-increase-product-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-lookup-base.d.ts +24 -0
- package/fields/lookups/core/agro-producer-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-product-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-product-variety-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-romaneo-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-rural-estate-lookup.d.ts +7 -0
- package/fields/lookups/core/agro-ticket-lookup.d.ts +7 -0
- package/fields/lookups/core/index.d.ts +22 -0
- package/fields/lookups/core/lookup-field.handlers.d.ts +12 -0
- package/fields/lookups/core/lookup-field.types.d.ts +45 -0
- package/fields/lookups/index.d.ts +5 -0
- package/fields/lookups/services/agro-lookup-entity.service.d.ts +42 -0
- package/fields/lookups/services/driver/agro-lookup-driver.service.d.ts +15 -0
- package/fields/lookups/services/driver/driver-dto.d.ts +10 -0
- package/fields/lookups/services/e-001-pes/agro-lookup-e001-pes.service.d.ts +16 -0
- package/fields/lookups/services/e-001-pes/e-001-pes-dto.d.ts +14 -0
- package/fields/lookups/services/e-012-fam/agro-lookup-e012-fam.service.d.ts +15 -0
- package/fields/lookups/services/e-012-fam/e-012-fam-dto.d.ts +11 -0
- package/fields/lookups/services/e-031-moe/agro-lookup-e031-moe.service.d.ts +16 -0
- package/fields/lookups/services/e-031-moe/e-031-moe-dto.d.ts +22 -0
- package/fields/lookups/services/e-070-emp/agro-lookup-e070-emp.service.d.ts +16 -0
- package/fields/lookups/services/e-070-emp/e-070-emp-dto.d.ts +12 -0
- package/fields/lookups/services/e-070-fil/agro-lookup-e070-fil.service.d.ts +16 -0
- package/fields/lookups/services/e-070-fil/e-070-fil-dto.d.ts +16 -0
- package/fields/lookups/services/e-075-der/agro-lookup-e075-der.service.d.ts +16 -0
- package/fields/lookups/services/e-075-der/e-075-der-dto.d.ts +14 -0
- package/fields/lookups/services/e-095-pes/agro-lookup-e095-pes.service.d.ts +16 -0
- package/fields/lookups/services/e-095-pes/e-095-pes-dto.d.ts +10 -0
- package/fields/lookups/services/e-113-saf/agro-lookup-e113-saf.service.d.ts +16 -0
- package/fields/lookups/services/e-113-saf/e-113-saf-dto.d.ts +15 -0
- package/fields/lookups/services/e-205-dep/agro-lookup-e205-dep.service.d.ts +16 -0
- package/fields/lookups/services/e-205-dep/e-205-dep-dto.d.ts +14 -0
- package/fields/lookups/services/e-210-dxp/agro-lookup-e210-dxp.service.d.ts +16 -0
- package/fields/lookups/services/e-210-dxp/e-210-dxp-dto.d.ts +13 -0
- package/fields/lookups/services/family-group/agro-lookup-family-group.service.d.ts +16 -0
- package/fields/lookups/services/family-group/family-group-dto.d.ts +14 -0
- package/fields/lookups/services/increase-product/agro-lookup-increase-product.service.d.ts +16 -0
- package/fields/lookups/services/increase-product/increase-product-dto.d.ts +16 -0
- package/fields/lookups/services/index.d.ts +34 -0
- package/fields/lookups/services/product-variety/agro-lookup-product-variety.service.d.ts +16 -0
- package/fields/lookups/services/product-variety/product-variety-dto.d.ts +14 -0
- package/fields/lookups/services/rural-estate/agro-lookup-rural-estate.service.d.ts +16 -0
- package/fields/lookups/services/rural-estate/rural-estate-dto.d.ts +28 -0
- package/fields/lookups/services/ticket/agro-lookup-ticket.service.d.ts +15 -0
- package/fields/lookups/services/ticket/ticket-dto.d.ts +15 -0
- package/fields/lookups/utils/agro-lookup-utils.d.ts +37 -0
- package/fields/lookups/utils/cpf-cnpj-formatter.d.ts +12 -0
- package/fields/lookups/utils/index.d.ts +2 -0
- package/lib-config.token.d.ts +6 -0
- package/package.json +5 -1
- package/public-api.d.ts +2 -0
- package/services/i18n/en-US.d.ts +57 -0
- package/services/i18n/es-CO.d.ts +57 -0
- package/services/i18n/pt-BR.d.ts +57 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { LIB_CONFIG } from '../../../../lib-config.token';
|
|
3
|
+
import { resolveLookupHostProjectConfig } from '../../config/lookup-host-project-config';
|
|
4
|
+
import { AgroLookupEntityService } from '../agro-lookup-entity.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
import * as i2 from "primeng/api";
|
|
8
|
+
import * as i3 from "../../../../services/lib-translation.service";
|
|
9
|
+
export class AgroLookupTicketService extends AgroLookupEntityService {
|
|
10
|
+
http;
|
|
11
|
+
messageService;
|
|
12
|
+
translate;
|
|
13
|
+
constructor(http, messageService, translate, config) {
|
|
14
|
+
const resolved = resolveLookupHostProjectConfig(config, 'AgroLookupTicketService');
|
|
15
|
+
super(http, messageService, `${resolved.domain}/${resolved.service}/entities/ticket`, `${resolved.domain}/${resolved.service}/actions`, translate);
|
|
16
|
+
this.http = http;
|
|
17
|
+
this.messageService = messageService;
|
|
18
|
+
this.translate = translate;
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgroLookupTicketService, deps: [{ token: i1.HttpClient }, { token: i2.MessageService }, { token: i3.LibTranslationService }, { token: LIB_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgroLookupTicketService, providedIn: 'root' });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AgroLookupTicketService, decorators: [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root',
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.MessageService }, { type: i3.LibTranslationService }, { type: undefined, decorators: [{
|
|
29
|
+
type: Optional
|
|
30
|
+
}, {
|
|
31
|
+
type: Inject,
|
|
32
|
+
args: [LIB_CONFIG]
|
|
33
|
+
}] }] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1sb29rdXAtdGlja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvc2VydmljZXMvdGlja2V0L2Fncm8tbG9va3VwLXRpY2tldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQXNCLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7OztBQU14RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQWtDO0lBRTNDO0lBQ0E7SUFDQTtJQUhoQyxZQUNnQyxJQUFnQixFQUNoQixjQUE4QixFQUM5QixTQUFnQyxFQUM1QixNQUEyQjtRQUUzRCxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUNuRixLQUFLLENBQ0QsSUFBSSxFQUNKLGNBQWMsRUFDZCxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE9BQU8sa0JBQWtCLEVBQ3hELEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsT0FBTyxVQUFVLEVBQ2hELFNBQVMsQ0FDWixDQUFDO1FBWjBCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQXVCO0lBV2hFLENBQUM7d0dBZlEsdUJBQXVCLCtHQUtSLFVBQVU7NEdBTHpCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBIb3N0UHJvamVjdENvbmZpZ3MsIExJQl9DT05GSUcgfSBmcm9tICcuLi8uLi8uLi8uLi9saWItY29uZmlnLnRva2VuJztcclxuaW1wb3J0IHsgTGliVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbGliLXRyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyByZXNvbHZlTG9va3VwSG9zdFByb2plY3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvbG9va3VwLWhvc3QtcHJvamVjdC1jb25maWcnO1xyXG5pbXBvcnQgeyBBZ3JvTG9va3VwRW50aXR5U2VydmljZSB9IGZyb20gJy4uL2Fncm8tbG9va3VwLWVudGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGlja2V0RHRvIH0gZnJvbSAnLi90aWNrZXQtZHRvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFncm9Mb29rdXBUaWNrZXRTZXJ2aWNlIGV4dGVuZHMgQWdyb0xvb2t1cEVudGl0eVNlcnZpY2U8VGlja2V0RHRvPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSB0cmFuc2xhdGU6IExpYlRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExJQl9DT05GSUcpIGNvbmZpZz86IEhvc3RQcm9qZWN0Q29uZmlnc1xyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlTG9va3VwSG9zdFByb2plY3RDb25maWcoY29uZmlnLCAnQWdyb0xvb2t1cFRpY2tldFNlcnZpY2UnKTtcclxuICAgICAgICBzdXBlcihcclxuICAgICAgICAgICAgaHR0cCxcclxuICAgICAgICAgICAgbWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgIGAke3Jlc29sdmVkLmRvbWFpbn0vJHtyZXNvbHZlZC5zZXJ2aWNlfS9lbnRpdGllcy90aWNrZXRgLFxyXG4gICAgICAgICAgICBgJHtyZXNvbHZlZC5kb21haW59LyR7cmVzb2x2ZWQuc2VydmljZX0vYWN0aW9uc2AsXHJcbiAgICAgICAgICAgIHRyYW5zbGF0ZVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9maWVsZHMvbG9va3Vwcy9zZXJ2aWNlcy90aWNrZXQvdGlja2V0LWR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaWNrZXREdG8ge1xyXG4gICAgaWQ/OiBzdHJpbmc7XHJcbiAgICBudW1iZXI/OiBudW1iZXI7XHJcbiAgICBwYXJlbnQ/OiBudW1iZXI7XHJcbiAgICBiYWxhbmNlRW50cnlDb250cm9sPzogYW55O1xyXG4gICAgc3RhdHVzPzogYW55O1xyXG4gICAgdXNlckNhbmNlbGxhdGlvbj86IHN0cmluZztcclxuICAgIGRhdGVUaW1lQ2FuY2VsbGF0aW9uPzogRGF0ZTtcclxuICAgIGNyZWF0ZWRCeT86IHN0cmluZztcclxuICAgIGNyZWF0ZWREYXRlPzogRGF0ZTtcclxuICAgIGxhc3RNb2RpZmllZEJ5Pzogc3RyaW5nO1xyXG4gICAgbGFzdE1vZGlmaWVkRGF0ZT86IERhdGU7XHJcbiAgICBjdXN0b20/OiBhbnk7XHJcbiAgICBjb250cmFjdEF2YWlsYWJsZT86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import { formatCPFCNPJWithMask } from './cpf-cnpj-formatter';
|
|
3
|
+
import { AgroStringUtils } from '../../../common/agro-string-utils.class';
|
|
4
|
+
const numberTypes = ['integer', 'double'];
|
|
5
|
+
const numberPattern = /^\d+\b$/;
|
|
6
|
+
const YYYY_MM_DD_FORMAT = 'YYYY-MM-DD';
|
|
7
|
+
const LOOKUP_DOCUMENT_FIELDS = ['cnpCpf', 'numCgc'];
|
|
8
|
+
export const mergeUnique = (array, otherArray) => array.concat(otherArray.filter((item) => !array.includes(item)));
|
|
9
|
+
export const getTypeInformation = (type, value) => {
|
|
10
|
+
switch (type) {
|
|
11
|
+
case 'time':
|
|
12
|
+
case 'date':
|
|
13
|
+
case 'localDateTime':
|
|
14
|
+
case 'dateTime':
|
|
15
|
+
return { isValidValue: false, typeExists: true };
|
|
16
|
+
case 'integer':
|
|
17
|
+
case 'double':
|
|
18
|
+
return {
|
|
19
|
+
isValidValue: value.match(numberPattern),
|
|
20
|
+
typeExists: numberTypes.includes(type),
|
|
21
|
+
};
|
|
22
|
+
default:
|
|
23
|
+
return {
|
|
24
|
+
isValidValue: false,
|
|
25
|
+
typeExists: false,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const getSuggestionValue = (displayFields, ownerEntity, value, separator) => {
|
|
30
|
+
if (!displayFields || displayFields.length === 0) {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
return displayFields
|
|
34
|
+
.map((field) => {
|
|
35
|
+
if (LOOKUP_DOCUMENT_FIELDS.includes(field)) {
|
|
36
|
+
return formatCPFCNPJWithMask(getProp(value, `${ownerEntity}.${field}`));
|
|
37
|
+
}
|
|
38
|
+
return getProp(value, `${ownerEntity}.${field}`);
|
|
39
|
+
})
|
|
40
|
+
.filter(f => {
|
|
41
|
+
return AgroStringUtils.isValid(String(f));
|
|
42
|
+
})
|
|
43
|
+
.join(separator);
|
|
44
|
+
};
|
|
45
|
+
const buildEnumClause = (name, selected) => `${name} eq '${selected}'`;
|
|
46
|
+
export const getEnumQuery = (name, value, multiple = false) => {
|
|
47
|
+
if (multiple) {
|
|
48
|
+
return `(${value.map((selected) => buildEnumClause(name, selected)).join(' or ')})`;
|
|
49
|
+
}
|
|
50
|
+
return `${name} eq '${value}'`;
|
|
51
|
+
};
|
|
52
|
+
export const createFilterString = (any, value) => {
|
|
53
|
+
const { name, type, multiple } = any;
|
|
54
|
+
if (typeof value == 'number') {
|
|
55
|
+
return `${name} eq ${value}`;
|
|
56
|
+
}
|
|
57
|
+
switch (type) {
|
|
58
|
+
case 'date':
|
|
59
|
+
return `${name} eq '${moment(value).format(YYYY_MM_DD_FORMAT)}'`;
|
|
60
|
+
case 'time':
|
|
61
|
+
return `${name} eq '${moment(value).format('HH:mm:ss')}'`;
|
|
62
|
+
case 'dateTime':
|
|
63
|
+
return `${name} eq '${moment(value).format()}'`;
|
|
64
|
+
case 'localDateTime':
|
|
65
|
+
return `${name} eq '${moment(value).format('YYYY-MM-DD[T]HH:mm:ss.SSS')}'`;
|
|
66
|
+
case 'enum':
|
|
67
|
+
return getEnumQuery(name, value, multiple);
|
|
68
|
+
case 'string':
|
|
69
|
+
return `upper(${name}) like upper('%${value.replace(/'/g, "'")}%')`;
|
|
70
|
+
case 'lookup':
|
|
71
|
+
return `${name} eq '${value.id}'`;
|
|
72
|
+
default:
|
|
73
|
+
return `${name} eq '${value}'`;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
export const createFilterTokens = (any, value, translate) => {
|
|
77
|
+
const { name, type, label, searchFields, options } = any;
|
|
78
|
+
let labelValue = value;
|
|
79
|
+
switch (type) {
|
|
80
|
+
case 'date':
|
|
81
|
+
labelValue = moment(value).format('L');
|
|
82
|
+
break;
|
|
83
|
+
case 'time':
|
|
84
|
+
labelValue = moment(value).format('LTS');
|
|
85
|
+
break;
|
|
86
|
+
case 'localDateTime':
|
|
87
|
+
case 'dateTime':
|
|
88
|
+
labelValue = moment(value).format('L LTS');
|
|
89
|
+
break;
|
|
90
|
+
case 'lookup':
|
|
91
|
+
labelValue = searchFields.map((field) => getProp(value, field.name)).join(' - ');
|
|
92
|
+
break;
|
|
93
|
+
case 'enum':
|
|
94
|
+
labelValue = options.filter((option) => option.value === labelValue)[0].label;
|
|
95
|
+
break;
|
|
96
|
+
case 'boolean':
|
|
97
|
+
if (value) {
|
|
98
|
+
labelValue = translate.instant('agro.angular_components.lookup_list_grid_boolean_true');
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
labelValue = translate.instant('agro.angular_components.lookup_list_grid_boolean_false');
|
|
102
|
+
}
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
return { id: name, label: `${label}: ${labelValue}` };
|
|
108
|
+
};
|
|
109
|
+
export const resolveRefs = (payload) => {
|
|
110
|
+
const getDataFromRef = (ref, rootObj) => {
|
|
111
|
+
const regex = /\["(.*?)"\]/g;
|
|
112
|
+
const result = [];
|
|
113
|
+
let match;
|
|
114
|
+
while ((match = regex.exec(ref)) !== null) {
|
|
115
|
+
result.push(match[1]);
|
|
116
|
+
}
|
|
117
|
+
return result.reduce((acc, part) => acc?.[part], rootObj);
|
|
118
|
+
};
|
|
119
|
+
const resolve = (obj, rootObj, visited = new Set()) => {
|
|
120
|
+
if (obj === null || typeof obj !== 'object' || visited.has(obj)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
visited.add(obj);
|
|
124
|
+
if (Array.isArray(obj)) {
|
|
125
|
+
obj.forEach((item) => resolve(item, rootObj, visited));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
Object.keys(obj).forEach((key) => {
|
|
129
|
+
if (key === '$ref' && obj[key]) {
|
|
130
|
+
const refPath = obj[key];
|
|
131
|
+
Object.assign(obj, getDataFromRef(refPath, rootObj));
|
|
132
|
+
delete obj[key];
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
resolve(obj[key], rootObj, visited);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
resolve(payload, payload);
|
|
141
|
+
return payload;
|
|
142
|
+
};
|
|
143
|
+
export const applyRelationTransforms = (entity, originEntity, relations) => {
|
|
144
|
+
relations.forEach(({ origin, key, transform }) => {
|
|
145
|
+
if (originEntity !== origin && entity[key]) {
|
|
146
|
+
entity[key] = transform(entity[key]);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return entity;
|
|
150
|
+
};
|
|
151
|
+
const datePatternYYYYMMDD = /^\d{4}-\d{2}-\d{2}$/;
|
|
152
|
+
export const isValidFilter = (type, value) => {
|
|
153
|
+
const { isValidValue, typeExists } = getTypeInformation(type, value);
|
|
154
|
+
return !(typeExists && !isValidValue);
|
|
155
|
+
};
|
|
156
|
+
export const getProp = (obj, path, APPLY_CPFCNPJ_FILTER = false) => {
|
|
157
|
+
let r = path.split(".").reduce((result, prop) => (result[prop] === undefined ? "" : result[prop]), obj);
|
|
158
|
+
const normalizedPath = typeof path === 'string' ? path : '';
|
|
159
|
+
const fieldName = normalizedPath.split('.').pop() ?? normalizedPath;
|
|
160
|
+
if (datePatternYYYYMMDD.test(r)) {
|
|
161
|
+
r = moment(r, YYYY_MM_DD_FORMAT).format("DD/MM/YYYY");
|
|
162
|
+
}
|
|
163
|
+
if ((APPLY_CPFCNPJ_FILTER || LOOKUP_DOCUMENT_FIELDS.includes(fieldName)) && AgroStringUtils.isValid(r)) {
|
|
164
|
+
return formatCPFCNPJWithMask(r);
|
|
165
|
+
}
|
|
166
|
+
return r;
|
|
167
|
+
};
|
|
168
|
+
export const getLabelValueRequest = (contents, displayFields, APPLY_CPFCNPJ_FILTER = false) => {
|
|
169
|
+
const r = contents.map((item) => {
|
|
170
|
+
const numberPatternToTest = /^\d+(\.\d{1,2})?$/;
|
|
171
|
+
const formattedItem = { ...item };
|
|
172
|
+
// Format currency fields (vlrCot)
|
|
173
|
+
["vlrCot"].forEach((field) => {
|
|
174
|
+
if (formattedItem[field] && numberPatternToTest.test(formattedItem[field])) {
|
|
175
|
+
formattedItem[field] = parseFloat(formattedItem[field]).toLocaleString("pt-BR", {
|
|
176
|
+
minimumFractionDigits: 2,
|
|
177
|
+
maximumFractionDigits: 2
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
LOOKUP_DOCUMENT_FIELDS.forEach((fieldName) => {
|
|
182
|
+
if (formattedItem[fieldName] !== null && formattedItem[fieldName] !== undefined && formattedItem[fieldName] !== '') {
|
|
183
|
+
formattedItem[fieldName] = formatCPFCNPJWithMask(String(formattedItem[fieldName]));
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
return {
|
|
187
|
+
...formattedItem,
|
|
188
|
+
label: displayFields.map(field => getProp(formattedItem, field, APPLY_CPFCNPJ_FILTER)).join(" - ")
|
|
189
|
+
};
|
|
190
|
+
});
|
|
191
|
+
return r;
|
|
192
|
+
};
|
|
193
|
+
export function formatFilters(filters, value, statusFilter, columnName) {
|
|
194
|
+
return filters
|
|
195
|
+
.filter(({ type }) => isValidFilter(type, value))
|
|
196
|
+
.filter(({ name }) => name !== "status")
|
|
197
|
+
.map(({ name, type }) => {
|
|
198
|
+
return convertValueByType(name, value, type);
|
|
199
|
+
})
|
|
200
|
+
.join(" or ")
|
|
201
|
+
.concat(`and ${columnName} eq 'VA' `);
|
|
202
|
+
}
|
|
203
|
+
export function formatFiltersAdvanced(filters, filterData, statusFilter, columnName, e070empId) {
|
|
204
|
+
return filters
|
|
205
|
+
.filter(({ name }) => filterData[name] !== undefined && filterData[name] !== "")
|
|
206
|
+
.map(({ name, type }) => {
|
|
207
|
+
const value = filterData[name];
|
|
208
|
+
return convertValueByType(name, value, type);
|
|
209
|
+
})
|
|
210
|
+
.concat(statusFilter ? [`${columnName} eq 'VA' and e070emp eq '${e070empId}'`] : [])
|
|
211
|
+
.join(" and ");
|
|
212
|
+
}
|
|
213
|
+
export function convertValueByType(name, value, type) {
|
|
214
|
+
if (value == null) {
|
|
215
|
+
value = "";
|
|
216
|
+
}
|
|
217
|
+
if (typeof value == "number") {
|
|
218
|
+
return `${name} eq ${value}`;
|
|
219
|
+
}
|
|
220
|
+
else if (type === 'date') {
|
|
221
|
+
return `${name} eq '${moment(value).format(YYYY_MM_DD_FORMAT)}'`;
|
|
222
|
+
}
|
|
223
|
+
else if (type === 'time') {
|
|
224
|
+
return `${name} eq '${moment(value).format("HH:mm:ss")}'`;
|
|
225
|
+
}
|
|
226
|
+
else if (type === 'dateTime') {
|
|
227
|
+
return `${name} eq '${moment(value).format()}'`;
|
|
228
|
+
}
|
|
229
|
+
else if (type === 'string') {
|
|
230
|
+
return `containing(upper(${name}), upper('${String(value).replace(/'/g, "\\'")}'))`;
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
return `${name} eq '${value}'`;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
export function formatFiltersWithoutStatus(filters, value) {
|
|
237
|
+
return filters
|
|
238
|
+
.filter(({ type }) => isValidFilter(type, value))
|
|
239
|
+
.filter(({ name }) => name !== "status")
|
|
240
|
+
.map(({ name, type }) => {
|
|
241
|
+
if (typeof value == "number") {
|
|
242
|
+
return `${name} eq ${value}`;
|
|
243
|
+
}
|
|
244
|
+
else if (type === 'date') {
|
|
245
|
+
return `${name} eq '${moment(value).format(YYYY_MM_DD_FORMAT)}'`;
|
|
246
|
+
}
|
|
247
|
+
else if (type === 'time') {
|
|
248
|
+
return `${name} eq '${moment(value).format("HH:mm:ss")}'`;
|
|
249
|
+
}
|
|
250
|
+
else if (type === 'dateTime') {
|
|
251
|
+
return `${name} eq '${moment(value).format()}'`;
|
|
252
|
+
}
|
|
253
|
+
else if (type === 'string') {
|
|
254
|
+
return `containing(upper(${name}), upper('${value.replace(/'/g, "\\'")}'))`;
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
return `${name} eq '${value}'`;
|
|
258
|
+
}
|
|
259
|
+
})
|
|
260
|
+
.join(" and ");
|
|
261
|
+
}
|
|
262
|
+
export function roundToThree(num) {
|
|
263
|
+
return Math.round(num * 1000) / 1000;
|
|
264
|
+
}
|
|
265
|
+
export function calculateAdjustedPercentagesAndWeights(total, maxPercentage, maxWeight) {
|
|
266
|
+
const calculatedPercentages = calculateAdjustedPercentages(total, maxPercentage);
|
|
267
|
+
const calculatedWeights = calculateAdjustedWeights(calculatedPercentages, maxWeight);
|
|
268
|
+
return { calculatedPercentages, calculatedWeights };
|
|
269
|
+
}
|
|
270
|
+
export function calculateAdjustedPercentages(total, maxPercentage) {
|
|
271
|
+
const basePercentage = roundToThree(maxPercentage / total);
|
|
272
|
+
const calculatedPercentages = Array(total).fill(basePercentage);
|
|
273
|
+
return adjustValuesIfNecessary(calculatedPercentages, maxPercentage);
|
|
274
|
+
}
|
|
275
|
+
export function calculateAdjustedWeights(calculatedPercentages, maxWeight) {
|
|
276
|
+
const totalPercentage = calculatedPercentages.reduce((sum, percentage) => sum + percentage, 0);
|
|
277
|
+
const calculatedWeights = calculatedPercentages.map(percentage => roundToThree((percentage / 100) * maxWeight));
|
|
278
|
+
if (roundToThree(totalPercentage) === 100) {
|
|
279
|
+
return adjustValuesIfNecessary(calculatedWeights, maxWeight);
|
|
280
|
+
}
|
|
281
|
+
return calculatedWeights;
|
|
282
|
+
}
|
|
283
|
+
export function adjustValuesIfNecessary(values, total) {
|
|
284
|
+
const adjustedValues = values.slice();
|
|
285
|
+
const currentTotal = adjustedValues.reduce((sum, value) => sum + value, 0);
|
|
286
|
+
const difference = roundToThree(total - currentTotal);
|
|
287
|
+
if (difference !== 0) {
|
|
288
|
+
adjustedValues[0] += difference;
|
|
289
|
+
}
|
|
290
|
+
return adjustedValues;
|
|
291
|
+
}
|
|
292
|
+
export function formatBrlCurrency(currencyPipe, value) {
|
|
293
|
+
if (!currencyPipe || !value) {
|
|
294
|
+
return null;
|
|
295
|
+
}
|
|
296
|
+
return currencyPipe
|
|
297
|
+
.transform(value, "BRL", "symbol", `1.2-2`)
|
|
298
|
+
?.replace(".", "#")
|
|
299
|
+
.replace(",", ".")
|
|
300
|
+
.replace("#", ",")
|
|
301
|
+
.replace(/^(.{2})/, "$1 ");
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1sb29rdXAtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvdXRpbHMvYWdyby1sb29rdXAtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUUxRSxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUM7QUFDdkMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLFVBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUVqSixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFVLEVBQUUsRUFBRTtJQUMzRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssZUFBZSxDQUFDO1FBQ3JCLEtBQUssVUFBVTtZQUNYLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNyRCxLQUFLLFNBQVMsQ0FBQztRQUNm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Q0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBZ0IsRUFBRSxLQUFhO0lBQ25FLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRSxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBRXRELElBQUksVUFBVSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25CLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sY0FBYyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsWUFBMEIsRUFBRSxLQUFhO0lBQ3ZFLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxZQUFZO1NBQ2QsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQztRQUMzQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQ2xCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQ2pCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBmb3JtYXRDUEZDTlBKV2l0aE1hc2sgfSBmcm9tICcuL2NwZi1jbnBqLWZvcm1hdHRlcic7XHJcbmltcG9ydCB7IEFncm9TdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9hZ3JvLXN0cmluZy11dGlscy5jbGFzcyc7XHJcblxyXG5jb25zdCBudW1iZXJUeXBlcyA9IFsnaW50ZWdlcicsICdkb3VibGUnXTtcclxuY29uc3QgbnVtYmVyUGF0dGVybiA9IC9eXFxkK1xcYiQvO1xyXG5jb25zdCBZWVlZX01NX0REX0ZPUk1BVCA9ICdZWVlZLU1NLUREJztcclxuY29uc3QgTE9PS1VQX0RPQ1VNRU5UX0ZJRUxEUyA9IFsnY25wQ3BmJywgJ251bUNnYyddO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1lcmdlVW5pcXVlID0gKGFycmF5OiBBcnJheTxzdHJpbmc+LCBvdGhlckFycmF5OiBBcnJheTxzdHJpbmc+KSA9PiBhcnJheS5jb25jYXQob3RoZXJBcnJheS5maWx0ZXIoKGl0ZW0pID0+ICFhcnJheS5pbmNsdWRlcyhpdGVtKSkpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGdldFR5cGVJbmZvcm1hdGlvbiA9ICh0eXBlOiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ3RpbWUnOlxyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgIGNhc2UgJ2xvY2FsRGF0ZVRpbWUnOlxyXG4gICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcclxuICAgICAgICAgICAgcmV0dXJuIHsgaXNWYWxpZFZhbHVlOiBmYWxzZSwgdHlwZUV4aXN0czogdHJ1ZSB9O1xyXG4gICAgICAgIGNhc2UgJ2ludGVnZXInOlxyXG4gICAgICAgIGNhc2UgJ2RvdWJsZSc6XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBpc1ZhbGlkVmFsdWU6IHZhbHVlLm1hdGNoKG51bWJlclBhdHRlcm4pLFxyXG4gICAgICAgICAgICAgICAgdHlwZUV4aXN0czogbnVtYmVyVHlwZXMuaW5jbHVkZXModHlwZSksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWRWYWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB0eXBlRXhpc3RzOiBmYWxzZSxcclxuICAgICAgICAgICAgfTtcclxuICAgIH1cclxufTtcclxuXHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTdWdnZXN0aW9uVmFsdWUgPSAoZGlzcGxheUZpZWxkczogc3RyaW5nW10sIG93bmVyRW50aXR5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHNlcGFyYXRvcjogc3RyaW5nKSA9PiB7XHJcbiAgICBpZiAoIWRpc3BsYXlGaWVsZHMgfHwgZGlzcGxheUZpZWxkcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGlzcGxheUZpZWxkc1xyXG4gICAgICAgIC5tYXAoKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChMT09LVVBfRE9DVU1FTlRfRklFTERTLmluY2x1ZGVzKGZpZWxkKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdENQRkNOUEpXaXRoTWFzayhnZXRQcm9wKHZhbHVlLCBgJHtvd25lckVudGl0eX0uJHtmaWVsZH1gKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGdldFByb3AodmFsdWUsIGAke293bmVyRW50aXR5fS4ke2ZpZWxkfWApO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZpbHRlcihmID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIEFncm9TdHJpbmdVdGlscy5pc1ZhbGlkKFN0cmluZyhmKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuam9pbihzZXBhcmF0b3IpO1xyXG59O1xyXG5cclxuY29uc3QgYnVpbGRFbnVtQ2xhdXNlID0gKG5hbWU6IHN0cmluZywgc2VsZWN0ZWQ6IGFueSkgPT4gYCR7bmFtZX0gZXEgJyR7c2VsZWN0ZWR9J2A7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0RW51bVF1ZXJ5ID0gKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgbXVsdGlwbGUgPSBmYWxzZSkgPT4ge1xyXG4gICAgaWYgKG11bHRpcGxlKSB7XHJcbiAgICAgICAgcmV0dXJuIGAoJHt2YWx1ZS5tYXAoKHNlbGVjdGVkOiBhbnkpID0+IGJ1aWxkRW51bUNsYXVzZShuYW1lLCBzZWxlY3RlZCkpLmpvaW4oJyBvciAnKX0pYDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVGaWx0ZXJTdHJpbmcgPSAoYW55OiBhbnksIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdHlwZSwgbXVsdGlwbGUgfSA9IGFueTtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcclxuICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJHt2YWx1ZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoWVlZWV9NTV9ERF9GT1JNQVQpfSdgO1xyXG4gICAgICAgIGNhc2UgJ3RpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoJ0hIOm1tOnNzJyl9J2A7XHJcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxyXG4gICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcclxuICAgICAgICBjYXNlICdsb2NhbERhdGVUaW1lJzpcclxuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCdZWVlZLU1NLUREW1RdSEg6bW06c3MuU1NTJyl9J2A7XHJcbiAgICAgICAgY2FzZSAnZW51bSc6XHJcbiAgICAgICAgICAgIHJldHVybiBnZXRFbnVtUXVlcnkobmFtZSwgdmFsdWUsIG11bHRpcGxlKTtcclxuICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICByZXR1cm4gYHVwcGVyKCR7bmFtZX0pIGxpa2UgdXBwZXIoJyUke3ZhbHVlLnJlcGxhY2UoLycvZywgXCInXCIpfSUnKWA7XHJcbiAgICAgICAgY2FzZSAnbG9va3VwJzpcclxuICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlLmlkfSdgO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxuICAgIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVGaWx0ZXJUb2tlbnMgPSAoYW55OiBhbnksIHZhbHVlOiBhbnksIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB0eXBlLCBsYWJlbCwgc2VhcmNoRmllbGRzLCBvcHRpb25zIH0gPSBhbnk7XHJcbiAgICBsZXQgbGFiZWxWYWx1ZSA9IHZhbHVlO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gbW9tZW50KHZhbHVlKS5mb3JtYXQoJ0wnKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndGltZSc6XHJcbiAgICAgICAgICAgIGxhYmVsVmFsdWUgPSBtb21lbnQodmFsdWUpLmZvcm1hdCgnTFRTJyk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2xvY2FsRGF0ZVRpbWUnOlxyXG4gICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcclxuICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IG1vbWVudCh2YWx1ZSkuZm9ybWF0KCdMIExUUycpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdsb29rdXAnOlxyXG4gICAgICAgICAgICBsYWJlbFZhbHVlID0gc2VhcmNoRmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gZ2V0UHJvcCh2YWx1ZSwgZmllbGQubmFtZSkpLmpvaW4oJyAtICcpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdlbnVtJzpcclxuICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IG9wdGlvbnMuZmlsdGVyKChvcHRpb246IGFueSkgPT4gb3B0aW9uLnZhbHVlID09PSBsYWJlbFZhbHVlKVswXS5sYWJlbDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sb29rdXBfbGlzdF9ncmlkX2Jvb2xlYW5fdHJ1ZScpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGFiZWxWYWx1ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5sb29rdXBfbGlzdF9ncmlkX2Jvb2xlYW5fZmFsc2UnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyBpZDogbmFtZSwgbGFiZWw6IGAke2xhYmVsfTogJHtsYWJlbFZhbHVlfWAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByZXNvbHZlUmVmcyA9IChwYXlsb2FkOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IGdldERhdGFGcm9tUmVmID0gKHJlZjogc3RyaW5nLCByb290T2JqOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCByZWdleCA9IC9cXFtcIiguKj8pXCJcXF0vZztcclxuICAgICAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgbGV0IG1hdGNoO1xyXG5cclxuICAgICAgICB3aGlsZSAoKG1hdGNoID0gcmVnZXguZXhlYyhyZWYpKSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaChtYXRjaFsxXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0LnJlZHVjZSgoYWNjLCBwYXJ0KSA9PiBhY2M/LltwYXJ0XSwgcm9vdE9iaik7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlc29sdmUgPSAob2JqOiBhbnksIHJvb3RPYmo6IGFueSwgdmlzaXRlZCA9IG5ldyBTZXQ8YW55PigpKSA9PiB7XHJcbiAgICAgICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCB2aXNpdGVkLmhhcyhvYmopKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmlzaXRlZC5hZGQob2JqKTtcclxuXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgICAgICBvYmouZm9yRWFjaCgoaXRlbSkgPT4gcmVzb2x2ZShpdGVtLCByb290T2JqLCB2aXNpdGVkKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09ICckcmVmJyAmJiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZlBhdGggPSBvYmpba2V5XTtcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKG9iaiwgZ2V0RGF0YUZyb21SZWYocmVmUGF0aCwgcm9vdE9iaikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShvYmpba2V5XSwgcm9vdE9iaiwgdmlzaXRlZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmVzb2x2ZShwYXlsb2FkLCBwYXlsb2FkKTtcclxuXHJcbiAgICByZXR1cm4gcGF5bG9hZDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbGF0aW9uVHJhbnNmb3JtQ29uZmlnID0ge1xyXG4gICAgb3JpZ2luOiBzdHJpbmc7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHRyYW5zZm9ybTogKHZhbHVlOiBhbnkpID0+IGFueTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBhcHBseVJlbGF0aW9uVHJhbnNmb3JtcyA9IChlbnRpdHk6IGFueSwgb3JpZ2luRW50aXR5OiBzdHJpbmcgfCB1bmRlZmluZWQsIHJlbGF0aW9uczogUmVsYXRpb25UcmFuc2Zvcm1Db25maWdbXSkgPT4ge1xyXG4gICAgcmVsYXRpb25zLmZvckVhY2goKHsgb3JpZ2luLCBrZXksIHRyYW5zZm9ybSB9KSA9PiB7XHJcbiAgICAgICAgaWYgKG9yaWdpbkVudGl0eSAhPT0gb3JpZ2luICYmIGVudGl0eVtrZXldKSB7XHJcbiAgICAgICAgICAgIGVudGl0eVtrZXldID0gdHJhbnNmb3JtKGVudGl0eVtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gZW50aXR5O1xyXG59O1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmNvbnN0IGRhdGVQYXR0ZXJuWVlZWU1NREQgPSAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9JC87XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRGaWx0ZXIgPSAodHlwZTogYW55LCB2YWx1ZTogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IGlzVmFsaWRWYWx1ZSwgdHlwZUV4aXN0cyB9ID0gZ2V0VHlwZUluZm9ybWF0aW9uKHR5cGUsIHZhbHVlKTtcclxuICAgIHJldHVybiAhKHR5cGVFeGlzdHMgJiYgIWlzVmFsaWRWYWx1ZSk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0UHJvcCA9IChvYmo6IGFueSwgcGF0aDogYW55LCBBUFBMWV9DUEZDTlBKX0ZJTFRFUiA9IGZhbHNlKSA9PiB7XHJcbiAgICBsZXQgciA9IHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XHJcbiAgICBjb25zdCBub3JtYWxpemVkUGF0aCA9IHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJyA/IHBhdGggOiAnJztcclxuICAgIGNvbnN0IGZpZWxkTmFtZSA9IG5vcm1hbGl6ZWRQYXRoLnNwbGl0KCcuJykucG9wKCkgPz8gbm9ybWFsaXplZFBhdGg7XHJcblxyXG4gICAgaWYgKGRhdGVQYXR0ZXJuWVlZWU1NREQudGVzdChyKSkge1xyXG4gICAgICAgIHIgPSBtb21lbnQociwgWVlZWV9NTV9ERF9GT1JNQVQpLmZvcm1hdChcIkREL01NL1lZWVlcIik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChBUFBMWV9DUEZDTlBKX0ZJTFRFUiB8fCBMT09LVVBfRE9DVU1FTlRfRklFTERTLmluY2x1ZGVzKGZpZWxkTmFtZSkpICYmIEFncm9TdHJpbmdVdGlscy5pc1ZhbGlkKHIpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdENQRkNOUEpXaXRoTWFzayhyKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMYWJlbFZhbHVlUmVxdWVzdCA9IChjb250ZW50czogYW55W10sIGRpc3BsYXlGaWVsZHM6IGFueVtdLCBBUFBMWV9DUEZDTlBKX0ZJTFRFUiA9IGZhbHNlKSA9PiB7XHJcbiAgICBjb25zdCByID0gY29udGVudHMubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBudW1iZXJQYXR0ZXJuVG9UZXN0ID0gL15cXGQrKFxcLlxcZHsxLDJ9KT8kLztcclxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRJdGVtID0geyAuLi5pdGVtIH07XHJcblxyXG4gICAgICAgIC8vIEZvcm1hdCBjdXJyZW5jeSBmaWVsZHMgKHZsckNvdClcclxuICAgICAgICBbXCJ2bHJDb3RcIl0uZm9yRWFjaCgoZmllbGQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZm9ybWF0dGVkSXRlbVtmaWVsZF0gJiYgbnVtYmVyUGF0dGVyblRvVGVzdC50ZXN0KGZvcm1hdHRlZEl0ZW1bZmllbGRdKSkge1xyXG4gICAgICAgICAgICAgICAgZm9ybWF0dGVkSXRlbVtmaWVsZF0gPSBwYXJzZUZsb2F0KGZvcm1hdHRlZEl0ZW1bZmllbGRdKS50b0xvY2FsZVN0cmluZyhcInB0LUJSXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBMT09LVVBfRE9DVU1FTlRfRklFTERTLmZvckVhY2goKGZpZWxkTmFtZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZm9ybWF0dGVkSXRlbVtmaWVsZE5hbWVdICE9PSBudWxsICYmIGZvcm1hdHRlZEl0ZW1bZmllbGROYW1lXSAhPT0gdW5kZWZpbmVkICYmIGZvcm1hdHRlZEl0ZW1bZmllbGROYW1lXSAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgIGZvcm1hdHRlZEl0ZW1bZmllbGROYW1lXSA9IGZvcm1hdENQRkNOUEpXaXRoTWFzayhTdHJpbmcoZm9ybWF0dGVkSXRlbVtmaWVsZE5hbWVdKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uZm9ybWF0dGVkSXRlbSxcclxuICAgICAgICAgICAgbGFiZWw6IGRpc3BsYXlGaWVsZHMubWFwKGZpZWxkID0+IGdldFByb3AoZm9ybWF0dGVkSXRlbSwgZmllbGQsIEFQUExZX0NQRkNOUEpfRklMVEVSKSkuam9pbihcIiAtIFwiKVxyXG4gICAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RmlsdGVycyhmaWx0ZXJzOiBhbnlbXSwgdmFsdWU6IGFueSwgc3RhdHVzRmlsdGVyOiBib29sZWFuLCBjb2x1bW5OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBmaWx0ZXJzXHJcbiAgICAgICAgLmZpbHRlcigoeyB0eXBlIH0pID0+IGlzVmFsaWRGaWx0ZXIodHlwZSwgdmFsdWUpKVxyXG4gICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBuYW1lICE9PSBcInN0YXR1c1wiKVxyXG4gICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZSB9KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVCeVR5cGUobmFtZSwgdmFsdWUsIHR5cGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmpvaW4oXCIgb3IgXCIpXHJcbiAgICAgICAgLmNvbmNhdChgYW5kICR7Y29sdW1uTmFtZX0gZXEgJ1ZBJyBgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnNBZHZhbmNlZChcclxuICAgIGZpbHRlcnM6IGFueVtdLFxyXG4gICAgZmlsdGVyRGF0YTogYW55LFxyXG4gICAgc3RhdHVzRmlsdGVyOiBib29sZWFuLFxyXG4gICAgY29sdW1uTmFtZTogc3RyaW5nLFxyXG4gICAgZTA3MGVtcElkOiBzdHJpbmdcclxuKSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9PSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPT0gXCJcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZTogYW55ID0gZmlsdGVyRGF0YVtuYW1lXTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRWYWx1ZUJ5VHlwZShuYW1lLCB2YWx1ZSwgdHlwZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29uY2F0KHN0YXR1c0ZpbHRlciA/IFtgJHtjb2x1bW5OYW1lfSBlcSAnVkEnIGFuZCBlMDcwZW1wIGVxICcke2UwNzBlbXBJZH0nYF0gOiBbXSlcclxuICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFZhbHVlQnlUeXBlKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSwgdHlwZTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgdmFsdWUgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICR7dmFsdWV9YDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFlZWVlfTU1fRERfRk9STUFUKX0nYDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RpbWUnKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlVGltZScpIHtcclxuICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcodXBwZXIoJHtuYW1lfSksIHVwcGVyKCcke1N0cmluZyh2YWx1ZSkucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEZpbHRlcnNXaXRob3V0U3RhdHVzKGZpbHRlcnM6IGFueVtdLCB2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gZmlsdGVyc1xyXG4gICAgICAgIC5maWx0ZXIoKHsgdHlwZSB9KSA9PiBpc1ZhbGlkRmlsdGVyKHR5cGUsIHZhbHVlKSlcclxuICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gbmFtZSAhPT0gXCJzdGF0dXNcIilcclxuICAgICAgICAubWFwKCh7IG5hbWUsIHR5cGUgfSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAke3ZhbHVlfWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoWVlZWV9NTV9ERF9GT1JNQVQpfSdgO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiSEg6bW06c3NcIil9J2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCl9J2A7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBgY29udGFpbmluZyh1cHBlcigke25hbWV9KSwgdXBwZXIoJyR7dmFsdWUucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpfScpKWA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5qb2luKFwiIGFuZCBcIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByb3VuZFRvVGhyZWUobnVtOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQobnVtICogMTAwMCkgLyAxMDAwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlc0FuZFdlaWdodHModG90YWw6IG51bWJlciwgbWF4UGVyY2VudGFnZTogbnVtYmVyLCBtYXhXZWlnaHQ6IG51bWJlcikge1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFBlcmNlbnRhZ2VzID0gY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlcyh0b3RhbCwgbWF4UGVyY2VudGFnZSk7XHJcbiAgICBjb25zdCBjYWxjdWxhdGVkV2VpZ2h0cyA9IGNhbGN1bGF0ZUFkanVzdGVkV2VpZ2h0cyhjYWxjdWxhdGVkUGVyY2VudGFnZXMsIG1heFdlaWdodCk7XHJcbiAgICByZXR1cm4geyBjYWxjdWxhdGVkUGVyY2VudGFnZXMsIGNhbGN1bGF0ZWRXZWlnaHRzIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVBZGp1c3RlZFBlcmNlbnRhZ2VzKHRvdGFsOiBudW1iZXIsIG1heFBlcmNlbnRhZ2U6IG51bWJlcikge1xyXG4gICAgY29uc3QgYmFzZVBlcmNlbnRhZ2UgPSByb3VuZFRvVGhyZWUobWF4UGVyY2VudGFnZSAvIHRvdGFsKTtcclxuICAgIGNvbnN0IGNhbGN1bGF0ZWRQZXJjZW50YWdlcyA9IEFycmF5KHRvdGFsKS5maWxsKGJhc2VQZXJjZW50YWdlKTtcclxuICAgIHJldHVybiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeShjYWxjdWxhdGVkUGVyY2VudGFnZXMsIG1heFBlcmNlbnRhZ2UpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQWRqdXN0ZWRXZWlnaHRzKGNhbGN1bGF0ZWRQZXJjZW50YWdlczogbnVtYmVyW10sIG1heFdlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCB0b3RhbFBlcmNlbnRhZ2UgPSBjYWxjdWxhdGVkUGVyY2VudGFnZXMucmVkdWNlKChzdW0sIHBlcmNlbnRhZ2UpID0+IHN1bSArIHBlcmNlbnRhZ2UsIDApO1xyXG4gICAgY29uc3QgY2FsY3VsYXRlZFdlaWdodHMgPSBjYWxjdWxhdGVkUGVyY2VudGFnZXMubWFwKHBlcmNlbnRhZ2UgPT5cclxuICAgICAgICByb3VuZFRvVGhyZWUoKHBlcmNlbnRhZ2UgLyAxMDApICogbWF4V2VpZ2h0KVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocm91bmRUb1RocmVlKHRvdGFsUGVyY2VudGFnZSkgPT09IDEwMCkge1xyXG4gICAgICAgIHJldHVybiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeShjYWxjdWxhdGVkV2VpZ2h0cywgbWF4V2VpZ2h0KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY2FsY3VsYXRlZFdlaWdodHM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RWYWx1ZXNJZk5lY2Vzc2FyeSh2YWx1ZXM6IG51bWJlcltdLCB0b3RhbDogbnVtYmVyKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgYWRqdXN0ZWRWYWx1ZXMgPSB2YWx1ZXMuc2xpY2UoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRUb3RhbCA9IGFkanVzdGVkVmFsdWVzLnJlZHVjZSgoc3VtLCB2YWx1ZSkgPT4gc3VtICsgdmFsdWUsIDApO1xyXG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHJvdW5kVG9UaHJlZSh0b3RhbCAtIGN1cnJlbnRUb3RhbCk7XHJcblxyXG4gICAgaWYgKGRpZmZlcmVuY2UgIT09IDApIHtcclxuICAgICAgICBhZGp1c3RlZFZhbHVlc1swXSArPSBkaWZmZXJlbmNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBhZGp1c3RlZFZhbHVlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEJybEN1cnJlbmN5KGN1cnJlbmN5UGlwZTogQ3VycmVuY3lQaXBlLCB2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIWN1cnJlbmN5UGlwZSB8fCAhdmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3VycmVuY3lQaXBlXHJcbiAgICAgICAgLnRyYW5zZm9ybSh2YWx1ZSwgXCJCUkxcIiwgXCJzeW1ib2xcIiwgYDEuMi0yYClcclxuICAgICAgICA/LnJlcGxhY2UoXCIuXCIsIFwiI1wiKVxyXG4gICAgICAgIC5yZXBsYWNlKFwiLFwiLCBcIi5cIilcclxuICAgICAgICAucmVwbGFjZShcIiNcIiwgXCIsXCIpXHJcbiAgICAgICAgLnJlcGxhY2UoL14oLnsyfSkvLCBcIiQxIFwiKTtcclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AgroStringUtils } from '../../../common/agro-string-utils.class';
|
|
2
|
+
import { AgroStringMasks } from '../../../enums/agro-string-masks.enum';
|
|
3
|
+
/**
|
|
4
|
+
* Formats CPF or CNPJ using AgroStringUtils.applyMask().
|
|
5
|
+
* Automatically detects whether the input is a valid CPF or CNPJ and applies the appropriate mask.
|
|
6
|
+
*
|
|
7
|
+
* @param value - The unformatted CPF/CNPJ string (digits only or with formatting)
|
|
8
|
+
* @returns Formatted string with CPF or CNPJ mask, or original value if validation fails
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* formatCPFCNPJWithMask('12345678901') // Returns '123.456.789-01' (CPF)
|
|
12
|
+
* formatCPFCNPJWithMask('12345678901234') // Returns '12.345.678/0001-34' (CNPJ)
|
|
13
|
+
*/
|
|
14
|
+
export function formatCPFCNPJWithMask(value) {
|
|
15
|
+
if (AgroStringUtils.validateCNPJ(value)) {
|
|
16
|
+
return AgroStringUtils.applyMask(value, AgroStringMasks.CNPJ);
|
|
17
|
+
}
|
|
18
|
+
if (AgroStringUtils.validateCPF(value)) {
|
|
19
|
+
return AgroStringUtils.applyMask(value, AgroStringMasks.CPF);
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLWNucGotZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2ZpZWxkcy9sb29rdXBzL3V0aWxzL2NwZi1jbnBqLWZvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBYTtJQUMvQyxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZ3JvU3RyaW5nVXRpbHMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYWdyby1zdHJpbmctdXRpbHMuY2xhc3MnO1xyXG5pbXBvcnQgeyBBZ3JvU3RyaW5nTWFza3MgfSBmcm9tICcuLi8uLi8uLi9lbnVtcy9hZ3JvLXN0cmluZy1tYXNrcy5lbnVtJztcclxuXHJcbi8qKlxyXG4gKiBGb3JtYXRzIENQRiBvciBDTlBKIHVzaW5nIEFncm9TdHJpbmdVdGlscy5hcHBseU1hc2soKS5cclxuICogQXV0b21hdGljYWxseSBkZXRlY3RzIHdoZXRoZXIgdGhlIGlucHV0IGlzIGEgdmFsaWQgQ1BGIG9yIENOUEogYW5kIGFwcGxpZXMgdGhlIGFwcHJvcHJpYXRlIG1hc2suXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB1bmZvcm1hdHRlZCBDUEYvQ05QSiBzdHJpbmcgKGRpZ2l0cyBvbmx5IG9yIHdpdGggZm9ybWF0dGluZylcclxuICogQHJldHVybnMgRm9ybWF0dGVkIHN0cmluZyB3aXRoIENQRiBvciBDTlBKIG1hc2ssIG9yIG9yaWdpbmFsIHZhbHVlIGlmIHZhbGlkYXRpb24gZmFpbHNcclxuICpcclxuICogQGV4YW1wbGVcclxuICogZm9ybWF0Q1BGQ05QSldpdGhNYXNrKCcxMjM0NTY3ODkwMScpICAgICAvLyBSZXR1cm5zICcxMjMuNDU2Ljc4OS0wMScgKENQRilcclxuICogZm9ybWF0Q1BGQ05QSldpdGhNYXNrKCcxMjM0NTY3ODkwMTIzNCcpICAvLyBSZXR1cm5zICcxMi4zNDUuNjc4LzAwMDEtMzQnIChDTlBKKVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdENQRkNOUEpXaXRoTWFzayh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChBZ3JvU3RyaW5nVXRpbHMudmFsaWRhdGVDTlBKKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBBZ3JvU3RyaW5nVXRpbHMuYXBwbHlNYXNrKHZhbHVlLCBBZ3JvU3RyaW5nTWFza3MuQ05QSik7XHJcbiAgICB9XHJcbiAgICBpZiAoQWdyb1N0cmluZ1V0aWxzLnZhbGlkYXRlQ1BGKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBBZ3JvU3RyaW5nVXRpbHMuYXBwbHlNYXNrKHZhbHVlLCBBZ3JvU3RyaW5nTWFza3MuQ1BGKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { formatCPFCNPJWithMask } from './cpf-cnpj-formatter';
|
|
2
|
+
export { mergeUnique, getTypeInformation, getSuggestionValue, getEnumQuery, createFilterString, createFilterTokens, resolveRefs, applyRelationTransforms, isValidFilter, getProp, getLabelValueRequest, formatFilters, formatFiltersAdvanced, convertValueByType, formatFiltersWithoutStatus, roundToThree, calculateAdjustedPercentagesAndWeights, calculateAdjustedPercentages, calculateAdjustedWeights, adjustValuesIfNecessary, formatBrlCurrency, } from './agro-lookup-utils';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZmllbGRzL2xvb2t1cHMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUNILFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCx1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLE9BQU8sRUFDUCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLFlBQVksRUFDWixzQ0FBc0MsRUFDdEMsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsaUJBQWlCLEdBQ3BCLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBmb3JtYXRDUEZDTlBKV2l0aE1hc2sgfSBmcm9tICcuL2NwZi1jbnBqLWZvcm1hdHRlcic7XHJcbmV4cG9ydCB7XHJcbiAgICBtZXJnZVVuaXF1ZSxcclxuICAgIGdldFR5cGVJbmZvcm1hdGlvbixcclxuICAgIGdldFN1Z2dlc3Rpb25WYWx1ZSxcclxuICAgIGdldEVudW1RdWVyeSxcclxuICAgIGNyZWF0ZUZpbHRlclN0cmluZyxcclxuICAgIGNyZWF0ZUZpbHRlclRva2VucyxcclxuICAgIHJlc29sdmVSZWZzLFxyXG4gICAgYXBwbHlSZWxhdGlvblRyYW5zZm9ybXMsXHJcbiAgICBpc1ZhbGlkRmlsdGVyLFxyXG4gICAgZ2V0UHJvcCxcclxuICAgIGdldExhYmVsVmFsdWVSZXF1ZXN0LFxyXG4gICAgZm9ybWF0RmlsdGVycyxcclxuICAgIGZvcm1hdEZpbHRlcnNBZHZhbmNlZCxcclxuICAgIGNvbnZlcnRWYWx1ZUJ5VHlwZSxcclxuICAgIGZvcm1hdEZpbHRlcnNXaXRob3V0U3RhdHVzLFxyXG4gICAgcm91bmRUb1RocmVlLFxyXG4gICAgY2FsY3VsYXRlQWRqdXN0ZWRQZXJjZW50YWdlc0FuZFdlaWdodHMsXHJcbiAgICBjYWxjdWxhdGVBZGp1c3RlZFBlcmNlbnRhZ2VzLFxyXG4gICAgY2FsY3VsYXRlQWRqdXN0ZWRXZWlnaHRzLFxyXG4gICAgYWRqdXN0VmFsdWVzSWZOZWNlc3NhcnksXHJcbiAgICBmb3JtYXRCcmxDdXJyZW5jeSxcclxufSBmcm9tICcuL2Fncm8tbG9va3VwLXV0aWxzJztcclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const LIB_CONFIG = new InjectionToken('AgroAngularComponentsConfig');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbmZpZy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9saWItY29uZmlnLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPL0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFxQiw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSG9zdFByb2plY3RDb25maWdzIHtcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgc2VydmljZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgTElCX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIb3N0UHJvamVjdENvbmZpZ3M+KCdBZ3JvQW5ndWxhckNvbXBvbmVudHNDb25maWcnKTtcclxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -5,7 +5,9 @@ export * from './enums/index';
|
|
|
5
5
|
export * from './form-validator/index';
|
|
6
6
|
export * from './pipe/index';
|
|
7
7
|
export * from './services/index';
|
|
8
|
+
export * from './fields/lookups/index';
|
|
9
|
+
export * from './lib-config.token';
|
|
8
10
|
// Re-export additional modules
|
|
9
11
|
export { LibTranslationModule } from "./lib-translation.module";
|
|
10
12
|
export { AgroAngularComponentsModule, LIB_CONFIG } from "./agro-angular-components.module";
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQywrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWFpbiBlbnRyeSBwb2ludCAtIGV4cG9ydHMgZXZlcnl0aGluZyBvcmdhbml6ZWQgYnkgY2F0ZWdvcnlcclxuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW1zL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXZhbGlkYXRvci9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS9pbmRleCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkcy9sb29rdXBzL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWItY29uZmlnLnRva2VuJztcclxuXHJcbi8vIFJlLWV4cG9ydCBhZGRpdGlvbmFsIG1vZHVsZXNcclxuZXhwb3J0IHsgTGliVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tIFwiLi9saWItdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcbmV4cG9ydCB7IEFncm9Bbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgTElCX0NPTkZJRyB9IGZyb20gXCIuL2Fncm8tYW5ndWxhci1jb21wb25lbnRzLm1vZHVsZVwiO1xyXG5leHBvcnQgdHlwZSB7IEhvc3RQcm9qZWN0Q29uZmlncyB9IGZyb20gXCIuL2Fncm8tYW5ndWxhci1jb21wb25lbnRzLm1vZHVsZVwiO1xyXG4iXX0=
|