@sbcore/ng-absolute-validator 14.0.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.
- package/README.md +257 -0
- package/esm2020/i18n/bn.mjs +68 -0
- package/esm2020/i18n/de.mjs +68 -0
- package/esm2020/i18n/en.mjs +68 -0
- package/esm2020/i18n/es.mjs +68 -0
- package/esm2020/i18n/fr.mjs +68 -0
- package/esm2020/i18n/hi.mjs +68 -0
- package/esm2020/i18n/ja.mjs +68 -0
- package/esm2020/i18n/pt.mjs +68 -0
- package/esm2020/i18n/ru.mjs +68 -0
- package/esm2020/i18n/zh.mjs +68 -0
- package/esm2020/lib/common.utils.mjs +49 -0
- package/esm2020/lib/config-interface.mjs +3 -0
- package/esm2020/lib/constant.mjs +87 -0
- package/esm2020/lib/directive/error-trigger/error-trigger-on.directive.mjs +35 -0
- package/esm2020/lib/directive/index.mjs +3 -0
- package/esm2020/lib/directive/native-element/native-element.directive.mjs +34 -0
- package/esm2020/lib/interface.mjs +14 -0
- package/esm2020/lib/ng-absolute-validator.component.mjs +194 -0
- package/esm2020/lib/ng-absolute-validator.module.mjs +125 -0
- package/esm2020/lib/ng-absolute-validator.service.mjs +67 -0
- package/esm2020/lib/rule/above/above.directive.mjs +45 -0
- package/esm2020/lib/rule/accepted/accepted.directive.mjs +44 -0
- package/esm2020/lib/rule/after/after.directive.mjs +46 -0
- package/esm2020/lib/rule/alpha/alpha.directive.mjs +41 -0
- package/esm2020/lib/rule/alpha_dash/alpha-dash.directive.mjs +41 -0
- package/esm2020/lib/rule/alpha_numeric/alpha-numeric.directive.mjs +41 -0
- package/esm2020/lib/rule/array/array.directive.mjs +41 -0
- package/esm2020/lib/rule/before/before.directive.mjs +46 -0
- package/esm2020/lib/rule/between/between.directive.mjs +46 -0
- package/esm2020/lib/rule/boolean/boolean.directive.mjs +41 -0
- package/esm2020/lib/rule/confirmed/confirmed.directive.mjs +64 -0
- package/esm2020/lib/rule/credit_card/credit-card.directive.mjs +43 -0
- package/esm2020/lib/rule/cvv/cvv.directive.mjs +41 -0
- package/esm2020/lib/rule/date/date.directive.mjs +46 -0
- package/esm2020/lib/rule/date_format/date-format.directive.mjs +46 -0
- package/esm2020/lib/rule/debit_card/debit-card.directive.mjs +43 -0
- package/esm2020/lib/rule/different/different.directive.mjs +63 -0
- package/esm2020/lib/rule/dimension/dimension.directive.mjs +49 -0
- package/esm2020/lib/rule/email/email.directive.mjs +41 -0
- package/esm2020/lib/rule/ends_with/ends-with.directive.mjs +45 -0
- package/esm2020/lib/rule/equals/equals.directive.mjs +45 -0
- package/esm2020/lib/rule/exists/exists.directive.mjs +49 -0
- package/esm2020/lib/rule/image/image.directive.mjs +41 -0
- package/esm2020/lib/rule/in/in.directive.mjs +45 -0
- package/esm2020/lib/rule/includes/includes.directive.mjs +45 -0
- package/esm2020/lib/rule/index.mjs +60 -0
- package/esm2020/lib/rule/integer/integer.directive.mjs +41 -0
- package/esm2020/lib/rule/ip/ip.directive.mjs +41 -0
- package/esm2020/lib/rule/ipv4/ipv4.directive.mjs +41 -0
- package/esm2020/lib/rule/ipv6/ipv6.directive.mjs +41 -0
- package/esm2020/lib/rule/json/json.directive.mjs +41 -0
- package/esm2020/lib/rule/max/max.directive.mjs +51 -0
- package/esm2020/lib/rule/mimes/mimes.directive.mjs +47 -0
- package/esm2020/lib/rule/min/min.directive.mjs +51 -0
- package/esm2020/lib/rule/not_equals/not-equals.directive.mjs +44 -0
- package/esm2020/lib/rule/not_in/not-in.directive.mjs +45 -0
- package/esm2020/lib/rule/not_regex/not-regex.directive.mjs +45 -0
- package/esm2020/lib/rule/number/number.directive.mjs +41 -0
- package/esm2020/lib/rule/phone_no/phone-no.directive.mjs +45 -0
- package/esm2020/lib/rule/range/range.directive.mjs +46 -0
- package/esm2020/lib/rule/regex/regex.directive.mjs +45 -0
- package/esm2020/lib/rule/required/required.directive.mjs +41 -0
- package/esm2020/lib/rule/required_if/required-if.directive.mjs +66 -0
- package/esm2020/lib/rule/required_unless/required-unless.directive.mjs +65 -0
- package/esm2020/lib/rule/required_with/required-with.directive.mjs +67 -0
- package/esm2020/lib/rule/required_with_all/required-with-all.directive.mjs +67 -0
- package/esm2020/lib/rule/required_without/required-without.directive.mjs +67 -0
- package/esm2020/lib/rule/required_without_all/required-without-all.directive.mjs +67 -0
- package/esm2020/lib/rule/rule.directive.mjs +35 -0
- package/esm2020/lib/rule/rule.module.mjs +141 -0
- package/esm2020/lib/rule/same/same.directive.mjs +62 -0
- package/esm2020/lib/rule/size/size.directive.mjs +44 -0
- package/esm2020/lib/rule/starts_with/starts-with.directive.mjs +45 -0
- package/esm2020/lib/rule/strength/strength.directive.mjs +47 -0
- package/esm2020/lib/rule/string/string.directive.mjs +41 -0
- package/esm2020/lib/rule/under/under.directive.mjs +44 -0
- package/esm2020/lib/rule/unique/unique.directive.mjs +48 -0
- package/esm2020/lib/rule/url/url.directive.mjs +41 -0
- package/esm2020/lib/rule/uuid/uuid.directive.mjs +41 -0
- package/esm2020/lib/rule/video/video.directive.mjs +41 -0
- package/esm2020/lib/services/http.request.service.mjs +20 -0
- package/esm2020/lib/services/messages-builder.service.mjs +46 -0
- package/esm2020/lib/services/reactive.validate.mjs +69 -0
- package/esm2020/lib/services/utils.service.mjs +476 -0
- package/esm2020/lib/services/validate-rule.service.mjs +103 -0
- package/esm2020/lib/transator.loader.mjs +38 -0
- package/esm2020/public-api.mjs +11 -0
- package/esm2020/sbcore-ng-absolute-validator.mjs +5 -0
- package/fesm2015/sbcore-ng-absolute-validator.mjs +4488 -0
- package/fesm2015/sbcore-ng-absolute-validator.mjs.map +1 -0
- package/fesm2020/sbcore-ng-absolute-validator.mjs +4480 -0
- package/fesm2020/sbcore-ng-absolute-validator.mjs.map +1 -0
- package/i18n/bn.d.ts +68 -0
- package/i18n/de.d.ts +68 -0
- package/i18n/en.d.ts +68 -0
- package/i18n/es.d.ts +68 -0
- package/i18n/fr.d.ts +68 -0
- package/i18n/hi.d.ts +68 -0
- package/i18n/ja.d.ts +68 -0
- package/i18n/pt.d.ts +68 -0
- package/i18n/ru.d.ts +68 -0
- package/i18n/zh.d.ts +68 -0
- package/index.d.ts +5 -0
- package/lib/directive/error-trigger/error-trigger-on.directive.d.ts +10 -0
- package/lib/directive/index.d.ts +2 -0
- package/lib/directive/native-element/native-element.directive.d.ts +12 -0
- package/lib/ng-absolute-validator.module.d.ts +20 -0
- package/lib/rule/above/above.directive.d.ts +20 -0
- package/lib/rule/accepted/accepted.directive.d.ts +20 -0
- package/lib/rule/after/after.directive.d.ts +20 -0
- package/lib/rule/alpha/alpha.directive.d.ts +19 -0
- package/lib/rule/alpha_dash/alpha-dash.directive.d.ts +19 -0
- package/lib/rule/alpha_numeric/alpha-numeric.directive.d.ts +19 -0
- package/lib/rule/array/array.directive.d.ts +19 -0
- package/lib/rule/before/before.directive.d.ts +20 -0
- package/lib/rule/between/between.directive.d.ts +20 -0
- package/lib/rule/boolean/boolean.directive.d.ts +19 -0
- package/lib/rule/confirmed/confirmed.directive.d.ts +24 -0
- package/lib/rule/credit_card/credit-card.directive.d.ts +19 -0
- package/lib/rule/cvv/cvv.directive.d.ts +19 -0
- package/lib/rule/date/date.directive.d.ts +20 -0
- package/lib/rule/date_format/date-format.directive.d.ts +20 -0
- package/lib/rule/debit_card/debit-card.directive.d.ts +19 -0
- package/lib/rule/different/different.directive.d.ts +24 -0
- package/lib/rule/dimension/dimension.directive.d.ts +21 -0
- package/lib/rule/email/email.directive.d.ts +19 -0
- package/lib/rule/ends_with/ends-with.directive.d.ts +20 -0
- package/lib/rule/equals/equals.directive.d.ts +20 -0
- package/lib/rule/exists/exists.directive.d.ts +21 -0
- package/lib/rule/image/image.directive.d.ts +19 -0
- package/lib/rule/in/in.directive.d.ts +20 -0
- package/lib/rule/includes/includes.directive.d.ts +20 -0
- package/lib/rule/index.d.ts +59 -0
- package/lib/rule/integer/integer.directive.d.ts +19 -0
- package/lib/rule/ip/ip.directive.d.ts +19 -0
- package/lib/rule/ipv4/ipv4.directive.d.ts +19 -0
- package/lib/rule/ipv6/ipv6.directive.d.ts +19 -0
- package/lib/rule/json/json.directive.d.ts +19 -0
- package/lib/rule/max/max.directive.d.ts +20 -0
- package/lib/rule/mimes/mimes.directive.d.ts +20 -0
- package/lib/rule/min/min.directive.d.ts +20 -0
- package/lib/rule/not_equals/not-equals.directive.d.ts +20 -0
- package/lib/rule/not_in/not-in.directive.d.ts +20 -0
- package/lib/rule/not_regex/not-regex.directive.d.ts +20 -0
- package/lib/rule/number/number.directive.d.ts +19 -0
- package/lib/rule/phone_no/phone-no.directive.d.ts +20 -0
- package/lib/rule/range/range.directive.d.ts +20 -0
- package/lib/rule/regex/regex.directive.d.ts +20 -0
- package/lib/rule/required/required.directive.d.ts +19 -0
- package/lib/rule/required_if/required-if.directive.d.ts +24 -0
- package/lib/rule/required_unless/required-unless.directive.d.ts +24 -0
- package/lib/rule/required_with/required-with.directive.d.ts +24 -0
- package/lib/rule/required_with_all/required-with-all.directive.d.ts +24 -0
- package/lib/rule/required_without/required-without.directive.d.ts +24 -0
- package/lib/rule/required_without_all/required-without-all.directive.d.ts +24 -0
- package/lib/rule/rule.module.d.ts +65 -0
- package/lib/rule/same/same.directive.d.ts +24 -0
- package/lib/rule/size/size.directive.d.ts +20 -0
- package/lib/rule/starts_with/starts-with.directive.d.ts +20 -0
- package/lib/rule/strength/strength.directive.d.ts +20 -0
- package/lib/rule/string/string.directive.d.ts +19 -0
- package/lib/rule/under/under.directive.d.ts +20 -0
- package/lib/rule/unique/unique.directive.d.ts +21 -0
- package/lib/rule/url/url.directive.d.ts +19 -0
- package/lib/rule/uuid/uuid.directive.d.ts +19 -0
- package/lib/rule/video/video.directive.d.ts +19 -0
- package/lib/services/reactive.validate.d.ts +21 -0
- package/lib/transator.loader.d.ts +10 -0
- package/package.json +66 -0
- package/public-api.d.ts +7 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { debounceTime } from 'rxjs/operators';
|
|
3
|
+
import { ASYNC_RULES, CROSS_FIELD_VALIDATORS, FILE_TYPE_RULES } from '../constant';
|
|
4
|
+
import { camelCase, toArray } from '../common.utils';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./messages-builder.service";
|
|
7
|
+
import * as i2 from "./utils.service";
|
|
8
|
+
export class ValidateRuleService {
|
|
9
|
+
constructor(mb, utl) {
|
|
10
|
+
this.mb = mb;
|
|
11
|
+
this.utl = utl;
|
|
12
|
+
this.subMessageMethod = ['max', 'min'];
|
|
13
|
+
this.wiredRulesMap = new WeakMap();
|
|
14
|
+
}
|
|
15
|
+
gererateRuleAndValidate(fieldName, control, rule, custom_message) {
|
|
16
|
+
let messages = {};
|
|
17
|
+
let generateRules = toArray(rule, '|');
|
|
18
|
+
let activeRules = generateRules.map(v => v.includes(':') ? v.split(':')[0] : v);
|
|
19
|
+
let isRequiredGroup = !!activeRules.find(v => v.startsWith('required'));
|
|
20
|
+
if (!isRequiredGroup && !!!control.value) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
for (let i = 0; i < generateRules.length; i++) {
|
|
24
|
+
let isValid = null;
|
|
25
|
+
let controlArgs = null;
|
|
26
|
+
let emitData = {};
|
|
27
|
+
let rule = generateRules[i];
|
|
28
|
+
let methodName = rule.includes(':') ? rule.split(':')[0] : rule;
|
|
29
|
+
let args = rule.includes(':') ? rule.split(':')[1] : '';
|
|
30
|
+
let mulArg = args.includes(',') ? args.split(',') : [args];
|
|
31
|
+
let currentRule = methodName;
|
|
32
|
+
let isCrossFieldRule = CROSS_FIELD_VALIDATORS.includes(currentRule);
|
|
33
|
+
let messageKey = methodName;
|
|
34
|
+
methodName = camelCase(methodName);
|
|
35
|
+
let emitFnName = camelCase(`get_${messageKey}_data`);
|
|
36
|
+
if (typeof this.utl[methodName] !== 'function' || ASYNC_RULES.indexOf(methodName) >= 0)
|
|
37
|
+
continue;
|
|
38
|
+
if (this.subMessageMethod.indexOf(methodName) >= 0) {
|
|
39
|
+
messageKey = this.getMessageKeyRespectToValue(control.value, messageKey);
|
|
40
|
+
}
|
|
41
|
+
if (CROSS_FIELD_VALIDATORS.includes(messageKey)) {
|
|
42
|
+
controlArgs = control;
|
|
43
|
+
}
|
|
44
|
+
else if (FILE_TYPE_RULES.includes(messageKey)) {
|
|
45
|
+
controlArgs = control['nativeElement'] ? control['nativeElement']['files'] : null;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
controlArgs = control.value;
|
|
49
|
+
}
|
|
50
|
+
isCrossFieldRule && this.wireSiblingWatchers(controlArgs, fieldName, currentRule, args);
|
|
51
|
+
isValid = this.utl[methodName](controlArgs, args);
|
|
52
|
+
if (typeof this.utl[emitFnName] === 'function') {
|
|
53
|
+
emitData[messageKey] = this.utl[emitFnName](control.value, mulArg);
|
|
54
|
+
}
|
|
55
|
+
this.utl.setValidationRules(control, activeRules, emitData);
|
|
56
|
+
if (!isValid) {
|
|
57
|
+
messages[messageKey] = this.mb.call(messageKey, fieldName, ...mulArg, custom_message);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (Object.keys(messages).length > 0) {
|
|
62
|
+
return messages;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
getMessageKeyRespectToValue(value, messageKey) {
|
|
69
|
+
if (this.utl.array(value)) {
|
|
70
|
+
return `${messageKey}.array`;
|
|
71
|
+
}
|
|
72
|
+
if (this.utl.string(value)) {
|
|
73
|
+
return `${messageKey}.string`;
|
|
74
|
+
}
|
|
75
|
+
if (this.utl.integer(value)) {
|
|
76
|
+
return `${messageKey}.numeric`;
|
|
77
|
+
}
|
|
78
|
+
return messageKey;
|
|
79
|
+
}
|
|
80
|
+
wireSiblingWatchers(control, input, rule, dependents) {
|
|
81
|
+
let ctrlNames = toArray(dependents);
|
|
82
|
+
if (rule === 'confirmed') {
|
|
83
|
+
ctrlNames = [dependents || (`${input}_confirmation`)];
|
|
84
|
+
}
|
|
85
|
+
let wiredRules = this.wiredRulesMap.get(control);
|
|
86
|
+
if (!wiredRules) {
|
|
87
|
+
this.wiredRulesMap.set(control, true);
|
|
88
|
+
ctrlNames.forEach(name => {
|
|
89
|
+
let ctrl = control.root.get(name);
|
|
90
|
+
if (ctrl) {
|
|
91
|
+
ctrl.valueChanges.pipe(debounceTime(200))
|
|
92
|
+
.subscribe(() => control.updateValueAndValidity({ onlySelf: true }));
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
ValidateRuleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ValidateRuleService, deps: [{ token: i1.MessageBuilderService }, { token: i2.UtilService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
ValidateRuleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ValidateRuleService });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ValidateRuleService, decorators: [{
|
|
101
|
+
type: Injectable
|
|
102
|
+
}], ctorParameters: function () { return [{ type: i1.MessageBuilderService }, { type: i2.UtilService }]; } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcnVsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYWJzb2x1dGUtdmFsaWRhdG9yL3NyYy9saWIvc2VydmljZXMvdmFsaWRhdGUtcnVsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxFQUFrQixNQUFNLGFBQWEsQ0FBQztBQUVuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSXJELE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsWUFDTSxFQUEwQixFQUMxQixHQUFpQjtRQURqQixPQUFFLEdBQUYsRUFBRSxDQUF3QjtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFjO1FBTGYscUJBQWdCLEdBQUcsQ0FBQyxLQUFLLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsa0JBQWEsR0FBTSxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUtqRSxDQUFDO0lBRUksdUJBQXVCLENBQUMsU0FBaUIsRUFBRSxPQUF5QixFQUFFLElBQXVCLEVBQUUsY0FBb0M7UUFDNUksSUFBSSxRQUFRLEdBQVUsRUFBUyxDQUFDO1FBQzFCLElBQUksYUFBYSxHQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxXQUFXLEdBQVMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFB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RyxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbkMsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQ3RCLFNBQVMsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLEdBQUcsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBRUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQWdCLENBQUE7Z0JBQ2hELElBQUksSUFBSSxFQUFFO29CQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzVFO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O2dIQXBHUSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4vdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZXMtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBU1lOQ19SVUxFUywgQ1JPU1NfRklFTERfVkFMSURBVE9SUywgRklMRV9UWVBFX1JVTEVTLCBHbG9iYWxDb25zdGFudCB9IGZyb20gJy4uL2NvbnN0YW50JztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgY2FtZWxDYXNlLCB0b0FycmF5IH0gZnJvbSAnLi4vY29tbW9uLnV0aWxzJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sMiwgTG9jYWxpemVkTWVzc2FnZUdyb3VwIH0gZnJvbSAnLi4vaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUnVsZVNlcnZpY2Uge1xyXG5cclxuICAgIHByaXZhdGUgc3ViTWVzc2FnZU1ldGhvZCA9IFsnbWF4JywnbWluJ107XHJcbiAgICBwcml2YXRlIHdpcmVkUnVsZXNNYXAgICAgPSBuZXcgV2Vha01hcDxBYnN0cmFjdENvbnRyb2wsIGJvb2xlYW4+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIG1iXHQ6IE1lc3NhZ2VCdWlsZGVyU2VydmljZSxcclxuXHRcdHByaXZhdGUgdXRsIDogVXRpbFNlcnZpY2VcclxuICAgICl7fVxyXG5cclxuICAgIHB1YmxpYyBnZXJlcmF0ZVJ1bGVBbmRWYWxpZGF0ZShmaWVsZE5hbWU6IHN0cmluZywgY29udHJvbDogQWJzdHJhY3RDb250cm9sMiwgcnVsZTogc3RyaW5nIHwgc3RyaW5nW10sIGN1c3RvbV9tZXNzYWdlOkxvY2FsaXplZE1lc3NhZ2VHcm91cCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuXHRcdGxldCBtZXNzYWdlcyBcdCAgICAgID0ge30gYXMgYW55O1xyXG4gICAgICAgIGxldCBnZW5lcmF0ZVJ1bGVzICAgICA9IHRvQXJyYXkocnVsZSwnfCcpO1xyXG4gICAgICAgIGxldCBhY3RpdmVSdWxlcyAgICAgICA9IGdlbmVyYXRlUnVsZXMubWFwKHYgPT4gdi5pbmNsdWRlcygnOicpID8gdi5zcGxpdCgnOicpWzBdOnYpO1xyXG4gICAgICAgIGxldCBpc1JlcXVpcmVkR3JvdXAgICA9ICEhYWN0aXZlUnVsZXMuZmluZCh2ID0+IHYuc3RhcnRzV2l0aCgncmVxdWlyZWQnKSlcclxuXHJcbiAgICAgICAgaWYoIWlzUmVxdWlyZWRHcm91cCAmJiAhISFjb250cm9sLnZhbHVlKXtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgZ2VuZXJhdGVSdWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgaXNWYWxpZCAgICAgPSBudWxsO1xyXG4gICAgICAgICAgICBsZXQgY29udHJvbEFyZ3MgPSBudWxsXHJcbiAgICAgICAgICAgIGxldCBlbWl0RGF0YSAgICA9IHt9IGFzIGFueTtcclxuXHRcdFx0bGV0IHJ1bGUgICBcdFx0PSBnZW5lcmF0ZVJ1bGVzW2ldO1xyXG5cdFx0XHRsZXQgbWV0aG9kTmFtZSBcdD0gcnVsZS5pbmNsdWRlcygnOicpID8gcnVsZS5zcGxpdCgnOicpWzBdIDogcnVsZTtcclxuICAgICAgICAgICAgbGV0IGFyZ3MgICBcdFx0PSBydWxlLmluY2x1ZGVzKCc6JykgPyBydWxlLnNwbGl0KCc6JylbMV0gOiAnJztcclxuXHRcdFx0bGV0IG11bEFyZyBcdFx0PSBhcmdzLmluY2x1ZGVzKCcsJykgPyBhcmdzLnNwbGl0KCcsJykgOiBbYXJnc107XHJcblxyXG4gICAgICAgICAgICBsZXQgY3VycmVudFJ1bGUgICAgICA9IG1ldGhvZE5hbWU7XHJcbiAgICAgICAgICAgIGxldCBpc0Nyb3NzRmllbGRSdWxlID0gQ1JPU1NfRklFTERfVkFMSURBVE9SUy5pbmNsdWRlcyhjdXJyZW50UnVsZSlcclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2VLZXkgICAgICAgPSBtZXRob2ROYW1lO1xyXG5cclxuICAgICAgICAgICAgbWV0aG9kTmFtZSAgICAgID0gY2FtZWxDYXNlKG1ldGhvZE5hbWUpO1xyXG4gICAgICAgICAgICBsZXQgZW1pdEZuTmFtZSAgPSBjYW1lbENhc2UoYGdldF8ke21lc3NhZ2VLZXl9X2RhdGFgKTtcclxuXHJcbiAgICAgICAgICAgIGlmKHR5cGVvZiB0aGlzLnV0bFttZXRob2ROYW1lIGFzIGtleW9mIFV0aWxTZXJ2aWNlXSAhPT0gJ2Z1bmN0aW9uJyB8fCBBU1lOQ19SVUxFUy5pbmRleE9mKG1ldGhvZE5hbWUpID49IDApXHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuXHJcblx0XHRcdGlmKHRoaXMuc3ViTWVzc2FnZU1ldGhvZC5pbmRleE9mKG1ldGhvZE5hbWUpID49IDApe1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZUtleSAgPSB0aGlzLmdldE1lc3NhZ2VLZXlSZXNwZWN0VG9WYWx1ZShjb250cm9sLnZhbHVlLG1lc3NhZ2VLZXkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZihDUk9TU19GSUVMRF9WQUxJREFUT1JTLmluY2x1ZGVzKG1lc3NhZ2VLZXkpKXtcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xBcmdzID0gY29udHJvbFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYoRklMRV9UWVBFX1JVTEVTLmluY2x1ZGVzKG1lc3NhZ2VLZXkpKXtcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xBcmdzID0gY29udHJvbFsnbmF0aXZlRWxlbWVudCddID8gY29udHJvbFsnbmF0aXZlRWxlbWVudCddWydmaWxlcyddIDogbnVsbFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2V7XHJcbiAgICAgICAgICAgICAgICBjb250cm9sQXJncyA9IGNvbnRyb2wudmFsdWVcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaXNDcm9zc0ZpZWxkUnVsZSAmJiB0aGlzLndpcmVTaWJsaW5nV2F0Y2hlcnMoY29udHJvbEFyZ3MsIGZpZWxkTmFtZSwgY3VycmVudFJ1bGUsIGFyZ3MpXHJcblxyXG4gICAgICAgICAgICBpc1ZhbGlkICA9IHRoaXMudXRsW21ldGhvZE5hbWUgYXMga2V5b2YgVXRpbFNlcnZpY2VdKGNvbnRyb2xBcmdzLGFyZ3MpO1xyXG5cclxuICAgICAgICAgICAgaWYodHlwZW9mIHRoaXMudXRsW2VtaXRGbk5hbWUgYXMga2V5b2YgVXRpbFNlcnZpY2VdID09PSAnZnVuY3Rpb24nKXtcclxuICAgICAgICAgICAgICAgIGVtaXREYXRhW21lc3NhZ2VLZXldID0gdGhpcy51dGxbZW1pdEZuTmFtZSBhcyBrZXlvZiBVdGlsU2VydmljZV0oY29udHJvbC52YWx1ZSxtdWxBcmcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLnV0bC5zZXRWYWxpZGF0aW9uUnVsZXMoY29udHJvbCxhY3RpdmVSdWxlcyxlbWl0RGF0YSk7XHJcblxyXG4gICAgICAgICAgICBpZighaXNWYWxpZCl7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlc1ttZXNzYWdlS2V5XSA9IHRoaXMubWIuY2FsbChtZXNzYWdlS2V5LCBmaWVsZE5hbWUsIC4uLm11bEFyZywgY3VzdG9tX21lc3NhZ2UpXHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYoT2JqZWN0LmtleXMobWVzc2FnZXMpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICByZXR1cm4gbWVzc2FnZXNcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TWVzc2FnZUtleVJlc3BlY3RUb1ZhbHVlKHZhbHVlOiBhbnksIG1lc3NhZ2VLZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMudXRsLmFycmF5KHZhbHVlKSkgeyByZXR1cm4gYCR7bWVzc2FnZUtleX0uYXJyYXlgOyB9XHJcbiAgICAgICAgaWYgKHRoaXMudXRsLnN0cmluZyh2YWx1ZSkpIHsgcmV0dXJuIGAke21lc3NhZ2VLZXl9LnN0cmluZ2A7IH1cclxuICAgICAgICBpZiAodGhpcy51dGwuaW50ZWdlcih2YWx1ZSkpIHsgcmV0dXJuIGAke21lc3NhZ2VLZXl9Lm51bWVyaWNgOyB9XHJcbiAgICAgICAgcmV0dXJuIG1lc3NhZ2VLZXk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB3aXJlU2libGluZ1dhdGNoZXJzKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDIsIGlucHV0OiBzdHJpbmcsIHJ1bGU6IHN0cmluZywgZGVwZW5kZW50czogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IGN0cmxOYW1lcyA9IHRvQXJyYXkoZGVwZW5kZW50cylcclxuICAgICAgICBpZiAocnVsZSA9PT0gJ2NvbmZpcm1lZCcpIHtcclxuICAgICAgICAgICAgY3RybE5hbWVzID0gW2RlcGVuZGVudHMgfHwgKGAke2lucHV0fV9jb25maXJtYXRpb25gKV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgd2lyZWRSdWxlcyA9IHRoaXMud2lyZWRSdWxlc01hcC5nZXQoY29udHJvbCk7XHJcbiAgICAgICAgaWYgKCF3aXJlZFJ1bGVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2lyZWRSdWxlc01hcC5zZXQoY29udHJvbCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIGN0cmxOYW1lcy5mb3JFYWNoKG5hbWUgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGN0cmwgPSBjb250cm9sLnJvb3QuZ2V0KG5hbWUpIGFzIEZvcm1Db250cm9sXHJcbiAgICAgICAgICAgICAgICBpZiAoY3RybCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN0cmwudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgb25seVNlbGY6IHRydWUgfSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { of } from "rxjs";
|
|
2
|
+
import en from '../i18n/en';
|
|
3
|
+
import de from '../i18n/de';
|
|
4
|
+
import es from '../i18n/es';
|
|
5
|
+
import fr from '../i18n/fr';
|
|
6
|
+
import hi from '../i18n/hi';
|
|
7
|
+
import bn from '../i18n/bn';
|
|
8
|
+
import pt from '../i18n/pt';
|
|
9
|
+
import ja from '../i18n/ja';
|
|
10
|
+
import zh from '../i18n/zh';
|
|
11
|
+
import ru from '../i18n/ru';
|
|
12
|
+
const BUILT_IN_TRANSLATIONS = { en, de, es, fr, hi, bn, pt, ja, zh, ru };
|
|
13
|
+
export class InlineTranslateLoader {
|
|
14
|
+
constructor(mergeTranslations = {}, replaceTranslations = {}) {
|
|
15
|
+
this.mergeTranslations = mergeTranslations;
|
|
16
|
+
this.replaceTranslations = replaceTranslations;
|
|
17
|
+
this.translations = {};
|
|
18
|
+
this.init();
|
|
19
|
+
}
|
|
20
|
+
init() {
|
|
21
|
+
this.translations = { ...BUILT_IN_TRANSLATIONS };
|
|
22
|
+
// Full replace happens first — wipes out all existing keys for that lang
|
|
23
|
+
for (const lang of Object.keys(this.replaceTranslations)) {
|
|
24
|
+
this.translations[lang] = { ...this.replaceTranslations[lang] };
|
|
25
|
+
}
|
|
26
|
+
// Merge happens second — adds new languages, or patches individual keys
|
|
27
|
+
for (const lang of Object.keys(this.mergeTranslations)) {
|
|
28
|
+
this.translations[lang] = {
|
|
29
|
+
...(this.translations[lang] || {}),
|
|
30
|
+
...this.mergeTranslations[lang]
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
getTranslation(lang) {
|
|
35
|
+
return of(this.translations[lang] ?? this.translations['en']);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhdG9yLmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvbGliL3RyYW5zYXRvci5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUIsTUFBTSxxQkFBcUIsR0FBd0IsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQTtBQUU3RixNQUFNLE9BQU8scUJBQXFCO0lBSTlCLFlBQ1ksb0JBQXlDLEVBQUUsRUFDM0Msc0JBQTJDLEVBQUU7UUFEN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTBCO1FBSmpELGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztRQUs1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFBQyxDQUFDO0lBR2pCLElBQUk7UUFDQSxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBRWpELHlFQUF5RTtRQUN6RSxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkU7UUFFRCx3RUFBd0U7UUFDeEUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2FBQ2xDLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWTtRQUN2QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgZW4gZnJvbSAnLi4vaTE4bi9lbic7XHJcbmltcG9ydCBkZSBmcm9tICcuLi9pMThuL2RlJztcclxuaW1wb3J0IGVzIGZyb20gJy4uL2kxOG4vZXMnO1xyXG5pbXBvcnQgZnIgZnJvbSAnLi4vaTE4bi9mcic7XHJcbmltcG9ydCBoaSBmcm9tICcuLi9pMThuL2hpJztcclxuaW1wb3J0IGJuIGZyb20gJy4uL2kxOG4vYm4nO1xyXG5pbXBvcnQgcHQgZnJvbSAnLi4vaTE4bi9wdCc7XHJcbmltcG9ydCBqYSBmcm9tICcuLi9pMThuL2phJztcclxuaW1wb3J0IHpoIGZyb20gJy4uL2kxOG4vemgnO1xyXG5pbXBvcnQgcnUgZnJvbSAnLi4vaTE4bi9ydSc7XHJcblxyXG5jb25zdCBCVUlMVF9JTl9UUkFOU0xBVElPTlM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7IGVuLCBkZSwgZXMsIGZyLCBoaSwgYm4sIHB0LCBqYSwgemgsIHJ1IH1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbmxpbmVUcmFuc2xhdGVMb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xyXG5cclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25zIDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbWVyZ2VUcmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICAgICAgICBwcml2YXRlIHJlcGxhY2VUcmFuc2xhdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxyXG4gICAgKSB7IHRoaXMuaW5pdCgpIH1cclxuXHJcblxyXG4gICAgaW5pdCgpIHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9ucyA9IHsgLi4uQlVJTFRfSU5fVFJBTlNMQVRJT05TIH07XHJcblxyXG4gICAgICAgIC8vIEZ1bGwgcmVwbGFjZSBoYXBwZW5zIGZpcnN0IOKAlCB3aXBlcyBvdXQgYWxsIGV4aXN0aW5nIGtleXMgZm9yIHRoYXQgbGFuZ1xyXG4gICAgICAgIGZvciAoY29uc3QgbGFuZyBvZiBPYmplY3Qua2V5cyh0aGlzLnJlcGxhY2VUcmFuc2xhdGlvbnMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25zW2xhbmddID0geyAuLi50aGlzLnJlcGxhY2VUcmFuc2xhdGlvbnNbbGFuZ10gfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE1lcmdlIGhhcHBlbnMgc2Vjb25kIOKAlCBhZGRzIG5ldyBsYW5ndWFnZXMsIG9yIHBhdGNoZXMgaW5kaXZpZHVhbCBrZXlzXHJcbiAgICAgICAgZm9yIChjb25zdCBsYW5nIG9mIE9iamVjdC5rZXlzKHRoaXMubWVyZ2VUcmFuc2xhdGlvbnMpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25zW2xhbmddID0ge1xyXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMudHJhbnNsYXRpb25zW2xhbmddIHx8IHt9KSxcclxuICAgICAgICAgICAgICAgIC4uLnRoaXMubWVyZ2VUcmFuc2xhdGlvbnNbbGFuZ11cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gb2YodGhpcy50cmFuc2xhdGlvbnNbbGFuZ10gPz8gdGhpcy50cmFuc2xhdGlvbnNbJ2VuJ10pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ng-absolute-validator
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/ng-absolute-validator.service';
|
|
5
|
+
export * from './lib/ng-absolute-validator.component';
|
|
6
|
+
export * from './lib/ng-absolute-validator.module';
|
|
7
|
+
export * from './lib/services/reactive.validate';
|
|
8
|
+
export * from './lib/interface';
|
|
9
|
+
export * from './lib/directive';
|
|
10
|
+
export * from './lib/rule';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nLWFic29sdXRlLXZhbGlkYXRvclxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctYWJzb2x1dGUtdmFsaWRhdG9yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy1hYnNvbHV0ZS12YWxpZGF0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctYWJzb2x1dGUtdmFsaWRhdG9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3JlYWN0aXZlLnZhbGlkYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1bGUnO1xyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Jjb3JlLW5nLWFic29sdXRlLXZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLWFic29sdXRlLXZhbGlkYXRvci9zcmMvc2Jjb3JlLW5nLWFic29sdXRlLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|