fable 3.0.133 → 3.0.134

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/debug/Harness.js CHANGED
@@ -1,47 +1,35 @@
1
- //let libBookstore = require('../retold-harness/bookstore-serve-meadow-endpoint-apis-run.js');
2
1
  const libFable = require('../source/Fable.js');
3
2
 
4
- let testFable = new libFable({"Product": "Ti"});
3
+ const _Fable = new libFable({"Product": "Hn"});
4
+ const _ExpressionParser = _Fable.instantiateServiceProviderIfNotExists('ExpressionParser');
5
5
 
6
- testFable.instantiateServiceProviderIfNotExists('ExpressionParser');
7
-
8
- let tmpExpression = '';
9
- //tmpExpression = 'Result = 5+3 - sqrt(75 / (3 + Depth) * Width)^ 3';
10
- //tmpExpression = 'Result = (160 * PR * Z) / (C / 100) * PR * Z + (160 * (1 - C / 100))';
11
- //tmpExpression = '1.5 * sqrt(8 * 2.423782342^2) / 10';
12
- //tmpExpression = 'Result = ((15000 * 2) / 4)^2 + 100 - 10 * (35 + 5)';
13
- //tmpExpression = 'Result = 1 * sqrt(16)';
14
- //tmpExpression = 'Result = sqrt(100 * (C + 30)) + sin(Depth - Width) / 10';
15
- tmpExpression = 'Result = 3.5 + 50 + 10 * 10 / 5 - 1.5';
16
- let tmpSimpleDataObject = { "PR": 1.5, "Z": "20.036237", "C": -13, Depth: 100.203, Width: 10.5};
6
+ const _Expression = "TotalCost = SUM(ItemCosts)";
7
+ const _Values = (
8
+ {
9
+ "ItemCosts": [100,200,50,45,5]
10
+ });
11
+ const _Manyfest = _Fable.newManyfest(
12
+ {
13
+ "Scope":"None",
14
+ "Descriptors":
15
+ {
16
+ "Bill.Items[].Cost":
17
+ {
18
+ "Name":"Costs of the Bill Items",
19
+ "Hash":"BillItemCosts"
20
+ }
21
+ }
22
+ });
17
23
 
18
- testFable.log.info(`tmpExpression: ${tmpExpression}`);
24
+ const _SolveResultsObject = {};
25
+ const _DataDestinationObject = {};
19
26
 
20
- let tmpResultsObject = {};
21
- let complexTokenizedResults = testFable.ExpressionParser.tokenize(tmpExpression, tmpResultsObject);
22
- let complexLintedResults = testFable.ExpressionParser.lintTokenizedExpression(complexTokenizedResults, tmpResultsObject);
23
- let complexPostfixedResults = testFable.ExpressionParser.buildPostfixedSolveList(complexTokenizedResults, tmpResultsObject);
24
- testFable.ExpressionParser.substituteValuesInTokenizedObjects(tmpResultsObject.PostfixTokenObjects, tmpSimpleDataObject);
25
- for (let i = 0; i < tmpResultsObject.PostfixSolveList.length; i++)
27
+ let tmpResult = _ExpressionParser.solve(_Expression, _Values, _SolveResultsObject, _Manyfest, _DataDestinationObject);
28
+ for (let i = 0; i < _SolveResultsObject.PostfixSolveList.length; i++)
26
29
  {
27
- let tmpToken = tmpResultsObject.PostfixSolveList[i];
28
- console.log(`${i}: ${tmpToken.VirtualSymbolName} = ${getTokenString(tmpToken.LeftValue)} ${tmpToken.Operation.Token} ${getTokenString(tmpToken.RightValue)}`)
30
+ let tmpToken = _SolveResultsObject.PostfixSolveList[i];
31
+ console.log(`${i}: ${tmpToken.VirtualSymbolName} = (${tmpToken.LeftValue.Token}::${tmpToken.LeftValue.Value}) ${tmpToken.Operation.Token} (${tmpToken.RightValue.Token}::${tmpToken.RightValue.Value}) `)
29
32
  }
30
- let tmpResultValue = testFable.ExpressionParser.solvePostfixedExpression(tmpResultsObject.PostfixSolveList, tmpSimpleDataObject, tmpResultsObject);
31
- console.log(`Result: ${tmpResultValue}`);
32
- console.log('QED');
33
- //41.32965489638783839821'
33
+ console.log(`Result: ${tmpResult}`);
34
34
 
35
- function getTokenString(pToken)
36
- {
37
- switch (pToken.Type)
38
- {
39
- case 'Token.Symbol':
40
- return `(${pToken.Token} = ${pToken.Value})`;
41
- case 'Token.StateAddress':
42
- return `({${pToken.Token}} = ${pToken.Value})`;
43
- case 'Token.Constant':
44
- default:
45
- return pToken.Token;
46
- }
47
- }
35
+ // const libMathHarness = require('../example_applications/mathematical_playground/Math-Solver-Harness.js');