@kontur.candy/generator 4.283.0-zeroReporting.0 → 4.283.0-zeroReporting.1

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.
Files changed (2) hide show
  1. package/dist/index.js +124 -9
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -131300,6 +131300,8 @@ __webpack_require__.r(__webpack_exports__);
131300
131300
  /* harmony import */ var _ServerSideFLangNormalization_RuleBuilders_SugarRulesBuilder__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./ServerSideFLangNormalization/RuleBuilders/SugarRulesBuilder */ "./Generator/src/generators/ServerSideFLangNormalization/RuleBuilders/SugarRulesBuilder.ts");
131301
131301
  /* harmony import */ var _ServerSideFLangNormalization_RuleBuilders_ValidationRulesBuilder__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./ServerSideFLangNormalization/RuleBuilders/ValidationRulesBuilder */ "./Generator/src/generators/ServerSideFLangNormalization/RuleBuilders/ValidationRulesBuilder.ts");
131302
131302
  /* harmony import */ var _ServerSideFLangNormalization_FormulaAndInitOnlyNormalizationRuleGenerator__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./ServerSideFLangNormalization/FormulaAndInitOnlyNormalizationRuleGenerator */ "./Generator/src/generators/ServerSideFLangNormalization/FormulaAndInitOnlyNormalizationRuleGenerator.ts");
131303
+ /* harmony import */ var _ServerSideFLangNormalization_CustomKCLangToFlangRuleGenerator__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./ServerSideFLangNormalization/CustomKCLangToFlangRuleGenerator */ "./Generator/src/generators/ServerSideFLangNormalization/CustomKCLangToFlangRuleGenerator.ts");
131304
+
131303
131305
 
131304
131306
 
131305
131307
 
@@ -131403,7 +131405,7 @@ function processSugar(formSugarContent, additionalContent, generationOptions) {
131403
131405
  if ((_additionalContent$fo3 = (_additionalContent$fo4 = additionalContent.formJsonSettings) === null || _additionalContent$fo4 === void 0 ? void 0 : _additionalContent$fo4.useServerSideFLangNormalization) !== null && _additionalContent$fo3 !== void 0 ? _additionalContent$fo3 : false) {
131404
131406
  var _additionalContent$fo5, _additionalContent$fo6;
131405
131407
 
131406
- const normalizationRules = normalizationRulesGenerator.generateRules();
131408
+ const defaultNormalizationRules = normalizationRulesGenerator.generateRules();
131407
131409
  const customNormalizers = [{
131408
131410
  normalizerId: "formulas",
131409
131411
  content: (_additionalContent$fo5 = additionalContent.formJsonSettings) !== null && _additionalContent$fo5 !== void 0 && _additionalContent$fo5.disableFlangRulesForEnableAutoFieldFeature ? "" : formulaOnlyNormalizationRulesGenerator.generateRules()
@@ -131412,13 +131414,30 @@ function processSugar(formSugarContent, additionalContent, generationOptions) {
131412
131414
  content: (_additionalContent$fo6 = additionalContent.formJsonSettings) !== null && _additionalContent$fo6 !== void 0 && _additionalContent$fo6.disableFlangRulesForFormulaAndInitNormalizer ? "" : formulaAndInitOnlyNormalizationRulesGenerator.generate()
131413
131415
  }].filter(x => (0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.isNotNullOrEmpty)(x.content));
131414
131416
  const additionalNormalizationRules = additionalContent.additionalNormalizers ? additionalContent.additionalNormalizers.map(additionalNormalizer => {
131415
- const isDefault = additionalNormalizer.filenameWithoutExtension.toLowerCase() === _ServerSideFLangNormalization_AdditionalNormalizerFile__WEBPACK_IMPORTED_MODULE_32__.defaultNormalizerFilename.toLowerCase();
131416
- return {
131417
- content: additionalNormalizer.content,
131418
- normalizerId: isDefault ? undefined : additionalNormalizer.filenameWithoutExtension
131419
- };
131417
+ switch (additionalNormalizer.extension) {
131418
+ case _ServerSideFLangNormalization_AdditionalNormalizerFile__WEBPACK_IMPORTED_MODULE_32__.NormalizerFileExtension.FLANG:
131419
+ {
131420
+ const isDefault = additionalNormalizer.filename.toLowerCase() === _ServerSideFLangNormalization_AdditionalNormalizerFile__WEBPACK_IMPORTED_MODULE_32__.defaultNormalizerFilename.toLowerCase();
131421
+ return {
131422
+ content: additionalNormalizer.content,
131423
+ normalizerId: isDefault ? undefined : additionalNormalizer.filename
131424
+ };
131425
+ }
131426
+
131427
+ case _ServerSideFLangNormalization_AdditionalNormalizerFile__WEBPACK_IMPORTED_MODULE_32__.NormalizerFileExtension.KCLANG:
131428
+ {
131429
+ const customNormalizationRules = new _ServerSideFLangNormalization_CustomKCLangToFlangRuleGenerator__WEBPACK_IMPORTED_MODULE_42__.CustomKCLangToFlangRuleGenerator(additionalNormalizer.content, formulaReader, dataDeclarationHelper, formSchemaRng, formulaExprConverter);
131430
+ return {
131431
+ content: customNormalizationRules.generateRules(),
131432
+ normalizerId: additionalNormalizer.filename
131433
+ };
131434
+ }
131435
+
131436
+ default:
131437
+ throw new Error(`Cannot transform normalization file with ${additionalNormalizer.extension} extension`);
131438
+ }
131420
131439
  }) : [];
131421
- const resultRules = combineFlangRules(normalizationRules, ...additionalNormalizationRules, ...customNormalizers);
131440
+ const resultRules = combineFlangRules(defaultNormalizationRules, ...additionalNormalizationRules, ...customNormalizers);
131422
131441
  builder.addServerSideResource("ServerSide.normalize", resultRules);
131423
131442
  }
131424
131443
 
@@ -131533,6 +131552,7 @@ __webpack_require__.r(__webpack_exports__);
131533
131552
  /* harmony export */ "getAllDependencies": () => (/* binding */ getAllDependencies),
131534
131553
  /* harmony export */ "getAllDependenciesHash": () => (/* binding */ getAllDependenciesHash),
131535
131554
  /* harmony export */ "readSugarFiles": () => (/* binding */ readSugarFiles),
131555
+ /* harmony export */ "readAdditionalNormalizersFiles": () => (/* binding */ readAdditionalNormalizersFiles),
131536
131556
  /* harmony export */ "connectJSFilesWithNames": () => (/* binding */ connectJSFilesWithNames)
131537
131557
  /* harmony export */ });
131538
131558
  /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fs */ "fs");
@@ -131780,8 +131800,9 @@ async function readAdditionalNormalizersFiles(rootPath) {
131780
131800
  for (const filename of files) {
131781
131801
  const content = await readFileAsync(path__WEBPACK_IMPORTED_MODULE_1___default().join(rootPath, normalizersDirectoryName, filename), "utf-8");
131782
131802
  const normalizerFile = {
131783
- filenameWithoutExtension: path__WEBPACK_IMPORTED_MODULE_1___default().parse(filename).name,
131784
- content: content
131803
+ filename: path__WEBPACK_IMPORTED_MODULE_1___default().parse(filename).name,
131804
+ content: content,
131805
+ extension: path__WEBPACK_IMPORTED_MODULE_1___default().parse(filename).ext
131785
131806
  };
131786
131807
  normalizerFiles.push(normalizerFile);
131787
131808
  }
@@ -131923,12 +131944,106 @@ function getRequisitesFromEvaluableProps(...evaluablePropValues) {
131923
131944
  "use strict";
131924
131945
  __webpack_require__.r(__webpack_exports__);
131925
131946
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
131947
+ /* harmony export */ "NormalizerFileExtension": () => (/* binding */ NormalizerFileExtension),
131926
131948
  /* harmony export */ "defaultNormalizerFilename": () => (/* binding */ defaultNormalizerFilename)
131927
131949
  /* harmony export */ });
131950
+ let NormalizerFileExtension;
131951
+
131952
+ (function (NormalizerFileExtension) {
131953
+ NormalizerFileExtension["FLANG"] = ".flang";
131954
+ NormalizerFileExtension["KCLANG"] = ".kclang";
131955
+ })(NormalizerFileExtension || (NormalizerFileExtension = {}));
131956
+
131928
131957
  const defaultNormalizerFilename = "defaultNormalizeRules";
131929
131958
 
131930
131959
  /***/ }),
131931
131960
 
131961
+ /***/ "./Generator/src/generators/ServerSideFLangNormalization/CustomKCLangToFlangRuleGenerator.ts":
131962
+ /*!***************************************************************************************************!*\
131963
+ !*** ./Generator/src/generators/ServerSideFLangNormalization/CustomKCLangToFlangRuleGenerator.ts ***!
131964
+ \***************************************************************************************************/
131965
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
131966
+
131967
+ "use strict";
131968
+ __webpack_require__.r(__webpack_exports__);
131969
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
131970
+ /* harmony export */ "CustomKCLangToFlangRuleGenerator": () => (/* binding */ CustomKCLangToFlangRuleGenerator)
131971
+ /* harmony export */ });
131972
+ /* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
131973
+ /* harmony import */ var _Common_IterableUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Common/IterableUtils */ "./Common/IterableUtils.ts");
131974
+ /* harmony import */ var _DataSchema_DataSchemaUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataSchema/DataSchemaUtils */ "./Generator/src/generators/DataSchema/DataSchemaUtils.ts");
131975
+ /* harmony import */ var _common_KCLang_KCLangToXmlTranspiler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../common/KCLang/KCLangToXmlTranspiler */ "./Generator/src/common/KCLang/KCLangToXmlTranspiler.ts");
131976
+ /* harmony import */ var _FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FLang/FlangUtils */ "./Generator/src/generators/ServerSideFLangNormalization/FLang/FlangUtils.ts");
131977
+ /* harmony import */ var _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FLang/FLangCodeDom */ "./Generator/src/generators/ServerSideFLangNormalization/FLang/FLangCodeDom.ts");
131978
+
131979
+
131980
+
131981
+
131982
+
131983
+
131984
+ class CustomKCLangToFlangRuleGenerator {
131985
+ constructor(kclangContent, formulaReader, dataDeclarationHelper, formSchemaRng, formulaExprConverter) {
131986
+ this.kclangContent = void 0;
131987
+ this.formulaReader = void 0;
131988
+ this.dataDeclarationHelper = void 0;
131989
+ this.formSchemaRng = void 0;
131990
+ this.formulaExprConverter = void 0;
131991
+ this.kclangContent = kclangContent;
131992
+ this.formulaReader = formulaReader;
131993
+ this.dataDeclarationHelper = dataDeclarationHelper;
131994
+ this.formulaExprConverter = formulaExprConverter;
131995
+ this.formSchemaRng = formSchemaRng;
131996
+ }
131997
+
131998
+ generateRules() {
131999
+ const formulas = this.extractKclangFormulas();
132000
+ const allCustomRules = _Common_IterableUtils__WEBPACK_IMPORTED_MODULE_1__.IterUtils.concat(this.buildFormulaFLangRules(formulas));
132001
+ const flangnormalizationRules = Iterator.from(allCustomRules).map(x => x.convertToString()).reduce((x, y) => x + (x ? "\n" : "") + y, "");
132002
+ return flangnormalizationRules;
132003
+ }
132004
+
132005
+ extractKclangFormulas() {
132006
+ var _customNormalizationM, _customNormalizationM2;
132007
+
132008
+ const customNormalizationMathContainer = this.formulaReader.readFormulas(_common_KCLang_KCLangToXmlTranspiler__WEBPACK_IMPORTED_MODULE_3__.KCLangToXmlTranspiler.transpile(this.kclangContent));
132009
+ return (_customNormalizationM = customNormalizationMathContainer === null || customNormalizationMathContainer === void 0 ? void 0 : (_customNormalizationM2 = customNormalizationMathContainer.formulas) === null || _customNormalizationM2 === void 0 ? void 0 : _customNormalizationM2.items) !== null && _customNormalizationM !== void 0 ? _customNormalizationM : [];
132010
+ }
132011
+
132012
+ *buildFormulaFLangRules(formulas) {
132013
+ for (const formula of formulas !== null && formulas !== void 0 ? formulas : []) {
132014
+ yield* this.buildFormulaFlashRule(formula);
132015
+ }
132016
+ }
132017
+
132018
+ buildFormulaFlashRule(formula) {
132019
+ const prefix = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createModelPath)(formula.match.replace(/\@/g, ""), true).normalize();
132020
+ const target = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.createModelPath)(formula.target.replace(/\@/g, ""), false);
132021
+ const fullTarget = this.adjustPathMultiplicity(prefix.joinWith(target).normalize());
132022
+ const precalculationRules = [];
132023
+ const defaultValue = this.dataDeclarationHelper.getDefaultValue(fullTarget.toLegacyPath());
132024
+ const isTargetAutoField = this.dataDeclarationHelper.isNodeHasAutoFlagEntry(fullTarget.toAbsolute());
132025
+ const result = [];
132026
+
132027
+ const getFormulaExpression = field => new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.NullCoalesceExpression((0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_4__.wrapWithArgumentsCondition)((0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_4__.castOperandToStringIfNeed)(this.formulaExprConverter.compileExpressionToFlangExpression(formula.expression, prefix, new _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_0__.AbsoluteModelFieldPath(fullTarget, field), x => precalculationRules.push(x)), "G29")), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.StringLiteralExpression(defaultValue));
132028
+
132029
+ if (isTargetAutoField) {
132030
+ result.push(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.SetStatement(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.ValueReferenceExpression(fullTarget, "autoValue"), getFormulaExpression("autoValue")), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.SetStatement(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.ValueReferenceExpression(fullTarget, "value"), getFormulaExpression("value")), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.SetStatement(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.ValueReferenceExpression(fullTarget, "autoFlag"), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.CastExpression(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.IsEqualsBinaryExpression(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.ValueReferenceExpression(fullTarget.toCurrentIteration(), "value"), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.ValueReferenceExpression(fullTarget.toCurrentIteration(), "autoValue")), _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.BuildInTypeExpression.string)));
132031
+ } else {
132032
+ result.push(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.SetStatement(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_5__.ValueReferenceExpression(fullTarget, "value"), getFormulaExpression("value")));
132033
+ }
132034
+
132035
+ result.push(...precalculationRules);
132036
+ return result;
132037
+ }
132038
+
132039
+ adjustPathMultiplicity(path) {
132040
+ return (0,_DataSchema_DataSchemaUtils__WEBPACK_IMPORTED_MODULE_2__.adjustPathMultiplicityComplex)(path, this.formSchemaRng, this.dataDeclarationHelper);
132041
+ }
132042
+
132043
+ }
132044
+
132045
+ /***/ }),
132046
+
131932
132047
  /***/ "./Generator/src/generators/ServerSideFLangNormalization/FLangValidationBuildContext.ts":
131933
132048
  /*!**********************************************************************************************!*\
131934
132049
  !*** ./Generator/src/generators/ServerSideFLangNormalization/FLangValidationBuildContext.ts ***!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/generator",
3
- "version": "4.283.0-zeroReporting.0",
3
+ "version": "4.283.0-zeroReporting.1",
4
4
  "description": "Candy forms generator",
5
5
  "author": "SKBKontur Candy Team",
6
6
  "private": false,