@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.3

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 (194) hide show
  1. package/LICENSE +35 -35
  2. package/examples/EXAMPLES_REFERENCE.md +128 -128
  3. package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
  4. package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
  5. package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
  6. package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
  7. package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
  8. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
  9. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
  10. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
  11. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
  12. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
  13. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
  14. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
  15. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
  16. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
  17. package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
  18. package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
  19. package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
  20. package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
  21. package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
  22. package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
  23. package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
  24. package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
  25. package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
  26. package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
  27. package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
  28. package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
  29. package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
  30. package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
  31. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
  32. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
  33. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
  34. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
  35. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
  36. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
  37. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
  38. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
  39. package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
  40. package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
  41. package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
  42. package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
  43. package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
  44. package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
  45. package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
  46. package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
  47. package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
  48. package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
  49. package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
  50. package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
  51. package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
  52. package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
  53. package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
  54. package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
  55. package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
  56. package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
  57. package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
  58. package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
  59. package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
  60. package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
  61. package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
  62. package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
  63. package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
  64. package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
  65. package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
  66. package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
  67. package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
  68. package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
  69. package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
  70. package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
  71. package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
  72. package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
  73. package/examples/datamining/Classification/DecisionTree.json +90 -90
  74. package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
  75. package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
  76. package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
  77. package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
  78. package/examples/datamining/Classification/FindBestModel.json +86 -86
  79. package/examples/datamining/Classification/LogisticRegression.json +82 -82
  80. package/examples/datamining/Classification/NaiveBayes.json +78 -78
  81. package/examples/datamining/Classification/NearestNeighbors.json +84 -84
  82. package/examples/datamining/Classification/NeuralNetwork.json +92 -92
  83. package/examples/datamining/Clustering/Hierarchical.json +54 -54
  84. package/examples/datamining/Clustering/KMeans.json +71 -71
  85. package/examples/datamining/DataSources/DelimitedFile.json +49 -49
  86. package/examples/datamining/DataSources/JSONFile.json +49 -49
  87. package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
  88. package/examples/datamining/DataSources/MSExcelTable.json +50 -50
  89. package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
  90. package/examples/datamining/DataSources/ODATATable.json +49 -49
  91. package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
  92. package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
  93. package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
  94. package/examples/datamining/FeatureSelection/Univariate.json +78 -78
  95. package/examples/datamining/Regression/DecisionTree.json +82 -82
  96. package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
  97. package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
  98. package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
  99. package/examples/datamining/Regression/FindBestModel.json +86 -86
  100. package/examples/datamining/Regression/LinearRegression.json +124 -124
  101. package/examples/datamining/Regression/NearestNeighbors.json +77 -77
  102. package/examples/datamining/Regression/NeuralNetwork.json +82 -82
  103. package/examples/datamining/Scoring/JSONClassifier.json +62 -62
  104. package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
  105. package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
  106. package/examples/datamining/Scoring/JSONForecaster.json +49 -49
  107. package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
  108. package/examples/datamining/Scoring/JSONPCA.json +41 -41
  109. package/examples/datamining/Scoring/JSONRegressor.json +56 -56
  110. package/examples/datamining/Scoring/JSONTransformer.json +38 -38
  111. package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
  112. package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
  113. package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
  114. package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
  115. package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
  116. package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
  117. package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
  118. package/examples/datamining/Summarizer/Summarization.json +54 -54
  119. package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
  120. package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
  121. package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
  122. package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
  123. package/examples/datamining/TimeSeries/Arima.json +74 -74
  124. package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
  125. package/examples/datamining/TimeSeries/Exponential.json +64 -64
  126. package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
  127. package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
  128. package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
  129. package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
  130. package/examples/datamining/Transformation/Binning.json +69 -69
  131. package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
  132. package/examples/datamining/Transformation/CategoryReduction.json +51 -51
  133. package/examples/datamining/Transformation/Factorization.json +50 -50
  134. package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
  135. package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
  136. package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
  137. package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
  138. package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
  139. package/examples/datamining/Transformation/Partitioning.json +46 -46
  140. package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
  141. package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
  142. package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
  143. package/examples/datamining/Transformation/Rescaling.json +67 -67
  144. package/examples/datamining/Transformation/Sampling.json +43 -43
  145. package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
  146. package/examples/flow/SQLServerTransform.json +260 -260
  147. package/examples/flow/dm-calc-pipeline.json +277 -277
  148. package/examples/flow/dm-pipeline-simulation.json +113 -113
  149. package/examples/flow/opt-sim-pipeline.json +159 -159
  150. package/examples/flow/sim-dm-pipeline.json +106 -106
  151. package/examples/flow/sim-sim-pipeline.json +136 -136
  152. package/examples/index.json +4678 -4678
  153. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
  154. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
  155. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
  156. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
  157. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
  158. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
  159. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
  160. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
  161. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
  162. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
  163. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
  164. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
  165. package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
  166. package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
  167. package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
  168. package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
  169. package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
  170. package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
  171. package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
  172. package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
  173. package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
  174. package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
  175. package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
  176. package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
  177. package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
  178. package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
  179. package/examples/rason-features/UserGuide/UGForecast.json +50 -50
  180. package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
  181. package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
  182. package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
  183. package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
  184. package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
  185. package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
  186. package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
  187. package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
  188. package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
  189. package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
  190. package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
  191. package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
  192. package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
  193. package/out/index.cjs +1 -1
  194. package/package.json +3 -2
@@ -1,66 +1,66 @@
1
- {
2
- "modelName": "FEEL_For_Iteration_Example",
3
- "comment": "Example of 'for' iteration in FEEL",
4
- "modelType": "calculation",
5
- "typeDefs": {
6
- "tLoan": {
7
- "components": {
8
- "principal": {
9
- "type": "number",
10
- "allowedValues": [ ">0" ]
11
- },
12
- "rate": {
13
- "type": "number",
14
- "allowedValues": [ "[0..1]" ]
15
- },
16
- "termMonths": {
17
- "type": "number",
18
- "allowedValues": [ ">0" ]
19
- }
20
- },
21
- "language": "Feel"
22
- },
23
- "tLoanList": {
24
- "language": "Feel",
25
- "typeRef": "tLoan",
26
- "isCollection": true
27
- }
28
- },
29
- "boxFunctions": {
30
- "funPMT": {
31
- "inputs": [ "loan" ],
32
- "inputTypes": [ "tLoan" ],
33
- "language": "Feel",
34
- "resultType": "number",
35
- "body": {
36
- "payment": {
37
- "formula": "(loan.principal*loan.rate/12) / (1 - (1 + loan.rate/12)**-loan.termMonths)"
38
- },
39
- "fee": {
40
- "formula": "0.01 * payment"
41
- }
42
- },
43
- "result": "payment + fee"
44
- }
45
- },
46
- "data": {
47
- "loans": {
48
- "type": "tLoanList",
49
- "value": [
50
- [ 600000, 0.0375, 360 ],
51
- [ 100000, 0.0375, 360 ]
52
- ],
53
- "binding": "get"
54
- }
55
- },
56
- "formulas": {
57
- "MonthlyPayment": {
58
- "feelFormula": "for i in loans return funPMT(i)",
59
- "finalValue": []
60
- },
61
- "LimitedPayment": {
62
- "feelFormula": "for i in loans return if (i.principal <= 100000) then 0 else funPMT(i)",
63
- "finalValue": []
64
- }
65
- }
66
- }
1
+ {
2
+ "modelName": "FEEL_For_Iteration_Example",
3
+ "comment": "Example of 'for' iteration in FEEL",
4
+ "modelType": "calculation",
5
+ "typeDefs": {
6
+ "tLoan": {
7
+ "components": {
8
+ "principal": {
9
+ "type": "number",
10
+ "allowedValues": [ ">0" ]
11
+ },
12
+ "rate": {
13
+ "type": "number",
14
+ "allowedValues": [ "[0..1]" ]
15
+ },
16
+ "termMonths": {
17
+ "type": "number",
18
+ "allowedValues": [ ">0" ]
19
+ }
20
+ },
21
+ "language": "Feel"
22
+ },
23
+ "tLoanList": {
24
+ "language": "Feel",
25
+ "typeRef": "tLoan",
26
+ "isCollection": true
27
+ }
28
+ },
29
+ "boxFunctions": {
30
+ "funPMT": {
31
+ "inputs": [ "loan" ],
32
+ "inputTypes": [ "tLoan" ],
33
+ "language": "Feel",
34
+ "resultType": "number",
35
+ "body": {
36
+ "payment": {
37
+ "formula": "(loan.principal*loan.rate/12) / (1 - (1 + loan.rate/12)**-loan.termMonths)"
38
+ },
39
+ "fee": {
40
+ "formula": "0.01 * payment"
41
+ }
42
+ },
43
+ "result": "payment + fee"
44
+ }
45
+ },
46
+ "data": {
47
+ "loans": {
48
+ "type": "tLoanList",
49
+ "value": [
50
+ [ 600000, 0.0375, 360 ],
51
+ [ 100000, 0.0375, 360 ]
52
+ ],
53
+ "binding": "get"
54
+ }
55
+ },
56
+ "formulas": {
57
+ "MonthlyPayment": {
58
+ "feelFormula": "for i in loans return funPMT(i)",
59
+ "finalValue": []
60
+ },
61
+ "LimitedPayment": {
62
+ "feelFormula": "for i in loans return if (i.principal <= 100000) then 0 else funPMT(i)",
63
+ "finalValue": []
64
+ }
65
+ }
66
+ }
@@ -1,16 +1,16 @@
1
- {
2
- "modelName": "FEEL_for_with_two_indices",
3
- "modelDescription": "FEEL 'for' iteration example with two indices",
4
- "modelType": "calculation",
5
- "data": {
6
- "myList": {
7
- "value": [ 3, 2, 1 ]
8
- }
9
- },
10
- "formulas": {
11
- "res": {
12
- "feelFormula": "for i in 1..count(myList), j in myList return i + j",
13
- "finalValue": []
14
- }
15
- }
1
+ {
2
+ "modelName": "FEEL_for_with_two_indices",
3
+ "modelDescription": "FEEL 'for' iteration example with two indices",
4
+ "modelType": "calculation",
5
+ "data": {
6
+ "myList": {
7
+ "value": [ 3, 2, 1 ]
8
+ }
9
+ },
10
+ "formulas": {
11
+ "res": {
12
+ "feelFormula": "for i in 1..count(myList), j in myList return i + j",
13
+ "finalValue": []
14
+ }
15
+ }
16
16
  }
@@ -1,88 +1,88 @@
1
- {
2
- "modelName": "FEEL_For_with_TypeDef_result",
3
- "modelDescription": "Example of 'for' iteration in FEEL",
4
- "modelType": "calculation",
5
- "typeDefs": {
6
- "tLoan": {
7
- "components": {
8
- "principal": {
9
- "type": "number",
10
- "allowedValues": [ ">0" ]
11
- },
12
- "rate": {
13
- "type": "number",
14
- "allowedValues": [ "[0..1]" ]
15
- },
16
- "termMonths": {
17
- "type": "number",
18
- "allowedValues": [ ">0" ]
19
- }
20
- },
21
- "language": "Feel"
22
- },
23
- "tLoanList": {
24
- "language": "Feel",
25
- "typeRef": "tLoan",
26
- "isCollection": true
27
- },
28
- "tPayment": {
29
- "components": {
30
- "payment": {
31
- "type": "number"
32
- },
33
- "fee": {
34
- "type": "number"
35
- },
36
- "total": {
37
- "type": "number"
38
- }
39
- },
40
- "language": "Feel"
41
- },
42
- "tPaymentList": {
43
- "language": "Feel",
44
- "typeRef": "tPayment",
45
- "isCollection": true
46
- }
47
- },
48
- "boxFunctions": {
49
- "funPMT": {
50
- "inputs": [ "loan" ],
51
- "inputTypes": [ "tLoan" ],
52
- "language": "Feel",
53
- "resultType": "tPayment",
54
- "body": {
55
- "payment": {
56
- "formula": "(loan.principal*loan.rate/12) / (1 - (1 + loan.rate/12)**-loan.termMonths)"
57
- },
58
- "fee": {
59
- "formula": "0.01 * payment"
60
- },
61
- "total": {
62
- "formula": "payment + fee"
63
- }
64
- },
65
- "result": "0"
66
- }
67
- },
68
- "data": {
69
- "loans": {
70
- "type": "tLoanList",
71
- "value": [
72
- [ 600000, 0.0375, 360 ],
73
- [ 100000, 0.0375, 360 ]
74
- ],
75
- "binding": "get"
76
- }
77
- },
78
- "formulas": {
79
- "MonthlyPayment": {
80
- "feelFormula": "for i in loans return funPMT(i)",
81
- "finalValue": []
82
- },
83
- "MonthlyTotal": {
84
- "feelFormula": "MonthlyPayment.total",
85
- "finalValue": []
86
- }
87
- }
88
- }
1
+ {
2
+ "modelName": "FEEL_For_with_TypeDef_result",
3
+ "modelDescription": "Example of 'for' iteration in FEEL",
4
+ "modelType": "calculation",
5
+ "typeDefs": {
6
+ "tLoan": {
7
+ "components": {
8
+ "principal": {
9
+ "type": "number",
10
+ "allowedValues": [ ">0" ]
11
+ },
12
+ "rate": {
13
+ "type": "number",
14
+ "allowedValues": [ "[0..1]" ]
15
+ },
16
+ "termMonths": {
17
+ "type": "number",
18
+ "allowedValues": [ ">0" ]
19
+ }
20
+ },
21
+ "language": "Feel"
22
+ },
23
+ "tLoanList": {
24
+ "language": "Feel",
25
+ "typeRef": "tLoan",
26
+ "isCollection": true
27
+ },
28
+ "tPayment": {
29
+ "components": {
30
+ "payment": {
31
+ "type": "number"
32
+ },
33
+ "fee": {
34
+ "type": "number"
35
+ },
36
+ "total": {
37
+ "type": "number"
38
+ }
39
+ },
40
+ "language": "Feel"
41
+ },
42
+ "tPaymentList": {
43
+ "language": "Feel",
44
+ "typeRef": "tPayment",
45
+ "isCollection": true
46
+ }
47
+ },
48
+ "boxFunctions": {
49
+ "funPMT": {
50
+ "inputs": [ "loan" ],
51
+ "inputTypes": [ "tLoan" ],
52
+ "language": "Feel",
53
+ "resultType": "tPayment",
54
+ "body": {
55
+ "payment": {
56
+ "formula": "(loan.principal*loan.rate/12) / (1 - (1 + loan.rate/12)**-loan.termMonths)"
57
+ },
58
+ "fee": {
59
+ "formula": "0.01 * payment"
60
+ },
61
+ "total": {
62
+ "formula": "payment + fee"
63
+ }
64
+ },
65
+ "result": "0"
66
+ }
67
+ },
68
+ "data": {
69
+ "loans": {
70
+ "type": "tLoanList",
71
+ "value": [
72
+ [ 600000, 0.0375, 360 ],
73
+ [ 100000, 0.0375, 360 ]
74
+ ],
75
+ "binding": "get"
76
+ }
77
+ },
78
+ "formulas": {
79
+ "MonthlyPayment": {
80
+ "feelFormula": "for i in loans return funPMT(i)",
81
+ "finalValue": []
82
+ },
83
+ "MonthlyTotal": {
84
+ "feelFormula": "MonthlyPayment.total",
85
+ "finalValue": []
86
+ }
87
+ }
88
+ }
@@ -1,26 +1,26 @@
1
- {
2
- "modelName": "FEEL_If_Then_Else_Example",
3
- "modelDescription": "Example of 'if then else' in FEEL",
4
- "modelType": "calculation",
5
- "boxFunctions": {
6
- "funLim": {
7
- "language": "Feel",
8
- "resultType": "number",
9
- "inputs": [ "base" ],
10
- "inputTypes": [ "number" ],
11
- "result": "base + 0.141592"
12
- }
13
- },
14
- "data": {
15
- "amount": {
16
- "value": 100,
17
- "binding": "get"
18
- }
19
- },
20
- "formulas": {
21
- "res": {
22
- "feelFormula": "if (amount >= 100) then funLim(amount) else amount",
23
- "finalValue": []
24
- }
25
- }
1
+ {
2
+ "modelName": "FEEL_If_Then_Else_Example",
3
+ "modelDescription": "Example of 'if then else' in FEEL",
4
+ "modelType": "calculation",
5
+ "boxFunctions": {
6
+ "funLim": {
7
+ "language": "Feel",
8
+ "resultType": "number",
9
+ "inputs": [ "base" ],
10
+ "inputTypes": [ "number" ],
11
+ "result": "base + 0.141592"
12
+ }
13
+ },
14
+ "data": {
15
+ "amount": {
16
+ "value": 100,
17
+ "binding": "get"
18
+ }
19
+ },
20
+ "formulas": {
21
+ "res": {
22
+ "feelFormula": "if (amount >= 100) then funLim(amount) else amount",
23
+ "finalValue": []
24
+ }
25
+ }
26
26
  }
@@ -1,38 +1,38 @@
1
- {
2
- "modelName": "FEEL_List_Example",
3
- "modelDescription": "Example of a list with component type definition",
4
- "modelType": "calculation",
5
- "typeDefs": {
6
- "tLoan": {
7
- "language": "feel",
8
- "components": [ "principal", "rate", "termMonths" ],
9
- "types": [ "number", "number", "number" ]
10
- },
11
- "tLoanList": {
12
- "language": "feel",
13
- "isCollection": true,
14
- "components": [ "principal", "rate", "termMonths" ],
15
- "types": [ "number", "number", "number" ]
16
- }
17
- },
18
- "data": {
19
- "loan": {
20
- "type": "tLoan",
21
- "value": [ 300000, 0.02, 360 ],
22
- "binding": "get"
23
- },
24
- "list": {
25
- "type": "tLoanList",
26
- "value": [
27
- [ 600000, 0.0275, 360 ],
28
- [ 300000, 0.03, 360 ]
29
- ]
30
- }
31
- },
32
- "formulas": {
33
- "res": {
34
- "feelFormula": "append(list, loan)",
35
- "finalValue": []
36
- }
37
- }
1
+ {
2
+ "modelName": "FEEL_List_Example",
3
+ "modelDescription": "Example of a list with component type definition",
4
+ "modelType": "calculation",
5
+ "typeDefs": {
6
+ "tLoan": {
7
+ "language": "feel",
8
+ "components": [ "principal", "rate", "termMonths" ],
9
+ "types": [ "number", "number", "number" ]
10
+ },
11
+ "tLoanList": {
12
+ "language": "feel",
13
+ "isCollection": true,
14
+ "components": [ "principal", "rate", "termMonths" ],
15
+ "types": [ "number", "number", "number" ]
16
+ }
17
+ },
18
+ "data": {
19
+ "loan": {
20
+ "type": "tLoan",
21
+ "value": [ 300000, 0.02, 360 ],
22
+ "binding": "get"
23
+ },
24
+ "list": {
25
+ "type": "tLoanList",
26
+ "value": [
27
+ [ 600000, 0.0275, 360 ],
28
+ [ 300000, 0.03, 360 ]
29
+ ]
30
+ }
31
+ },
32
+ "formulas": {
33
+ "res": {
34
+ "feelFormula": "append(list, loan)",
35
+ "finalValue": []
36
+ }
37
+ }
38
38
  }
@@ -1,17 +1,17 @@
1
- {
2
- "modelName": "FEEL_List_Operator",
3
- "modelDescription": "Example of a list operator definition",
4
- "modelType": "calculation",
5
- "data": {
6
- "a": {
7
- "value": 3,
8
- "binding": "get"
9
- }
10
- },
11
- "formulas": {
12
- "res": {
13
- "feelFormula": "1 + [[1,a],[5,7]]",
14
- "finalValue": []
15
- }
16
- }
17
- }
1
+ {
2
+ "modelName": "FEEL_List_Operator",
3
+ "modelDescription": "Example of a list operator definition",
4
+ "modelType": "calculation",
5
+ "data": {
6
+ "a": {
7
+ "value": 3,
8
+ "binding": "get"
9
+ }
10
+ },
11
+ "formulas": {
12
+ "res": {
13
+ "feelFormula": "1 + [[1,a],[5,7]]",
14
+ "finalValue": []
15
+ }
16
+ }
17
+ }
@@ -1,37 +1,37 @@
1
- {
2
- "modelName": "FEEL_List_with_typeDef_Collection",
3
- "comment": "Example of a list with typeDef collection",
4
- "modelType": "calculation",
5
- "typeDefs": {
6
- "tLoan": {
7
- "language": "feel",
8
- "components": [ "principal", "rate", "termMonths" ],
9
- "types": [ "number", "number", "number" ]
10
- },
11
- "tLoanList": {
12
- "language": "feel",
13
- "isCollection": true,
14
- "typeRef": "tLoan"
15
- }
16
- },
17
- "data": {
18
- "loan": {
19
- "type": "tLoan",
20
- "value": [ 300000, 0.02, 360 ],
21
- "binding": "get"
22
- },
23
- "list": {
24
- "type": "tLoanList",
25
- "value": [
26
- [ 600000, 0.0275, 360 ],
27
- [ 300000, 0.03, 360 ]
28
- ]
29
- }
30
- },
31
- "formulas": {
32
- "res": {
33
- "feelFormula": "append(list, loan)",
34
- "finalValue": []
35
- }
36
- }
1
+ {
2
+ "modelName": "FEEL_List_with_typeDef_Collection",
3
+ "comment": "Example of a list with typeDef collection",
4
+ "modelType": "calculation",
5
+ "typeDefs": {
6
+ "tLoan": {
7
+ "language": "feel",
8
+ "components": [ "principal", "rate", "termMonths" ],
9
+ "types": [ "number", "number", "number" ]
10
+ },
11
+ "tLoanList": {
12
+ "language": "feel",
13
+ "isCollection": true,
14
+ "typeRef": "tLoan"
15
+ }
16
+ },
17
+ "data": {
18
+ "loan": {
19
+ "type": "tLoan",
20
+ "value": [ 300000, 0.02, 360 ],
21
+ "binding": "get"
22
+ },
23
+ "list": {
24
+ "type": "tLoanList",
25
+ "value": [
26
+ [ 600000, 0.0275, 360 ],
27
+ [ 300000, 0.03, 360 ]
28
+ ]
29
+ }
30
+ },
31
+ "formulas": {
32
+ "res": {
33
+ "feelFormula": "append(list, loan)",
34
+ "finalValue": []
35
+ }
36
+ }
37
37
  }