@ng-forge/dynamic-forms 1.2.0-next.1 → 1.2.0-next.2
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/fesm2022/{ng-forge-dynamic-forms-array-field.component-BVnXnaNw.mjs → ng-forge-dynamic-forms-array-field.component-B5t7W5fo.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-array-field.component-BVnXnaNw.mjs.map → ng-forge-dynamic-forms-array-field.component-B5t7W5fo.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CkqvXXs_.mjs → ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-D_DGkAXj.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-CkqvXXs_.mjs.map → ng-forge-dynamic-forms-bootstrap-derivation-orchestrator-D_DGkAXj.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-container-field.component-CM1pY9v5.mjs → ng-forge-dynamic-forms-container-field.component-CrWGMLMJ.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-container-field.component-CM1pY9v5.mjs.map → ng-forge-dynamic-forms-container-field.component-CrWGMLMJ.mjs.map} +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-group-field.component-D4JhDffB.mjs → ng-forge-dynamic-forms-group-field.component-Ds_k0Tkn.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-group-field.component-D4JhDffB.mjs.map → ng-forge-dynamic-forms-group-field.component-Ds_k0Tkn.mjs.map} +1 -1
- package/fesm2022/ng-forge-dynamic-forms-integration.mjs.map +1 -1
- package/fesm2022/ng-forge-dynamic-forms-internal.mjs +19 -5
- package/fesm2022/ng-forge-dynamic-forms-internal.mjs.map +1 -1
- package/fesm2022/{ng-forge-dynamic-forms-ng-forge-dynamic-forms-ZiNaCWHl.mjs → ng-forge-dynamic-forms-ng-forge-dynamic-forms-DtnrCyH2.mjs} +12 -12
- package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-DtnrCyH2.mjs.map +1 -0
- package/fesm2022/{ng-forge-dynamic-forms-page-field.component-Wbz6S8iH.mjs → ng-forge-dynamic-forms-page-field.component-PWJ-9bnw.mjs} +2 -2
- package/fesm2022/{ng-forge-dynamic-forms-page-field.component-Wbz6S8iH.mjs.map → ng-forge-dynamic-forms-page-field.component-PWJ-9bnw.mjs.map} +1 -1
- package/fesm2022/ng-forge-dynamic-forms.mjs +1 -1
- package/package.json +2 -2
- package/fesm2022/ng-forge-dynamic-forms-ng-forge-dynamic-forms-ZiNaCWHl.mjs.map +0 -1
|
@@ -295,7 +295,11 @@ function hasTargetProperty(config) {
|
|
|
295
295
|
}
|
|
296
296
|
|
|
297
297
|
const FORM_VALUE_ACCESS_PATTERN = /\bformValue\s*(?:\.|\[)/;
|
|
298
|
-
const
|
|
298
|
+
const ID_START = String.raw `[\p{ID_Start}$_]`;
|
|
299
|
+
const ID_PART = String.raw `[\p{ID_Continue}$]`;
|
|
300
|
+
const DOTTED_PATH = String.raw `${ID_START}${ID_PART}*(?:\.${ID_START}${ID_PART}*)*`;
|
|
301
|
+
const BRACKET_KEY = String.raw `[\p{ID_Continue}$.\-]+`;
|
|
302
|
+
const FORM_VALUE_PATTERN = new RegExp(String.raw `\bformValue\s*(?:\.(${DOTTED_PATH})|\[\s*'(${BRACKET_KEY})'\s*\]|\[\s*"(${BRACKET_KEY})"\s*\])`, 'gu');
|
|
299
303
|
function isCrossFieldExpression(expr, context) {
|
|
300
304
|
if (expr === undefined || typeof expr === 'boolean' || isFormStateCondition(expr)) {
|
|
301
305
|
return false;
|
|
@@ -576,6 +580,8 @@ class ExpressionParserError extends DynamicFormError {
|
|
|
576
580
|
}
|
|
577
581
|
}
|
|
578
582
|
|
|
583
|
+
const IDENTIFIER_START = /[\p{ID_Start}$_]/u;
|
|
584
|
+
const IDENTIFIER_PART = /[\p{ID_Continue}$]/u;
|
|
579
585
|
class Tokenizer {
|
|
580
586
|
position = 0;
|
|
581
587
|
expression;
|
|
@@ -608,7 +614,7 @@ class Tokenizer {
|
|
|
608
614
|
if (/[0-9]/.test(char)) {
|
|
609
615
|
return this.readNumber();
|
|
610
616
|
}
|
|
611
|
-
if (
|
|
617
|
+
if (IDENTIFIER_START.test(this.codePointAt(this.position))) {
|
|
612
618
|
return this.readIdentifierOrKeyword();
|
|
613
619
|
}
|
|
614
620
|
return this.readOperatorOrPunctuation();
|
|
@@ -667,12 +673,20 @@ class Tokenizer {
|
|
|
667
673
|
readIdentifierOrKeyword() {
|
|
668
674
|
const start = this.position;
|
|
669
675
|
let value = '';
|
|
670
|
-
while (this.position < this.expression.length
|
|
671
|
-
|
|
672
|
-
|
|
676
|
+
while (this.position < this.expression.length) {
|
|
677
|
+
const char = this.codePointAt(this.position);
|
|
678
|
+
if (!IDENTIFIER_PART.test(char)) {
|
|
679
|
+
break;
|
|
680
|
+
}
|
|
681
|
+
value += char;
|
|
682
|
+
this.position += char.length;
|
|
673
683
|
}
|
|
674
684
|
const type = this.getKeywordType(value);
|
|
675
685
|
return { type, value, position: start };
|
|
686
|
+
}
|
|
687
|
+
codePointAt(position) {
|
|
688
|
+
const codePoint = this.expression.codePointAt(position);
|
|
689
|
+
return codePoint === undefined ? '' : String.fromCodePoint(codePoint);
|
|
676
690
|
}
|
|
677
691
|
getKeywordType(value) {
|
|
678
692
|
switch (value) {
|