ekms 8.0.0-beta.2 → 8.0.0-beta.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. package/common/animals.instance.json +2630 -1375
  2. package/common/colors.instance.json +6976 -3515
  3. package/common/colors.test.json +345 -780
  4. package/common/concept.js +5 -2
  5. package/common/crew.instance.json +12836 -6483
  6. package/common/crew.test.json +714 -452
  7. package/common/dialogues.js +2 -18
  8. package/common/dimension.instance.json +242 -261
  9. package/common/dimension.test.json +314 -502
  10. package/common/edible.instance.json +19375 -9971
  11. package/common/emotions.instance.json +122 -69
  12. package/common/fastfood.instance.json +219480 -110844
  13. package/common/formulas.instance.json +216 -250
  14. package/common/formulas.js +2 -2
  15. package/common/help.test.json +10 -22
  16. package/common/helpers/concept.js +10 -6
  17. package/common/kirk.instance.json +564 -290
  18. package/common/length.instance.json +5329 -4793
  19. package/common/math.instance.json +140 -1157
  20. package/common/math.js +4 -4
  21. package/common/negation.instance.json +2 -0
  22. package/common/negation.js +38 -0
  23. package/common/negation.test.json +308 -0
  24. package/common/numbers.js +2 -2
  25. package/common/ordering.instance.json +292 -230
  26. package/common/people.instance.json +1902 -1015
  27. package/common/percentages.instance.json +2 -0
  28. package/common/percentages.js +57 -0
  29. package/common/percentages.test.json +751 -0
  30. package/common/pipboy.instance.json +7756 -6298
  31. package/common/pokemon.instance.json +4006 -2089
  32. package/common/pressure.instance.json +1265 -1193
  33. package/common/properties.instance.json +106 -61
  34. package/common/properties.js +2 -0
  35. package/common/reports.instance.json +557 -559
  36. package/common/sdefaults.js +10 -0
  37. package/common/spock.instance.json +564 -290
  38. package/common/temperature.instance.json +1398 -1250
  39. package/common/ui.instance.json +238 -259
  40. package/common/weight.instance.json +4905 -4166
  41. package/main.js +51 -46
  42. package/package.json +13 -6
@@ -0,0 +1,2 @@
1
+ {
2
+ }
@@ -0,0 +1,57 @@
1
+ const { Config, knowledgeModule, where } = require('./runtime').theprogrammablemind
2
+ const { defaultContextCheck } = require('./helpers')
3
+ const percentages_tests = require('./percentages.test.json')
4
+ const numbers = require('./numbers')
5
+
6
+ let configStruct = {
7
+ name: 'percentages',
8
+ operators: [
9
+ "((number/*) [percent])",
10
+ "((percent/1) [percentageOf|of] (number/*))",
11
+ ],
12
+ bridges: [
13
+ {
14
+ id: "percent",
15
+ words: ['percent', '%'],
16
+ bridge: "{ ...next(operator), modifiers: ['scale'], scale: before[0] }",
17
+ generatorp: ({context}) => context.text,
18
+ },
19
+ {
20
+ id: "percentageOf",
21
+ words: ['percent', '%'],
22
+ bridge: "{ ...next(operator), percentage: before[0], isResponse: true, semanticIsEvaluate: true, value: after[0] }",
23
+ evaluator: ({context, e}) => {
24
+ const scale = context.percentage.scale
25
+ const number = e(context.value)
26
+ const percentage = number.value * scale.value / 100
27
+ const result = { ...number, value: percentage, word: null, text: null }
28
+ context.evalue = result
29
+ context.isReponse = true
30
+ context.paraphrase = false
31
+ },
32
+ generatorp: ({context}) => context.text,
33
+ },
34
+ ],
35
+ debug: false,
36
+ version: '3',
37
+ };
38
+
39
+ const createConfig = () => {
40
+ const config = new Config(configStruct, module)
41
+ config.add(numbers())
42
+ return config
43
+ }
44
+
45
+ knowledgeModule( {
46
+ module,
47
+ createConfig,
48
+ description: 'talking about percentages',
49
+ test: {
50
+ name: './percentages.test.json',
51
+ contents: percentages_tests,
52
+ checks: {
53
+ context: [...defaultContextCheck, { property: 'scale', filter: ['marker', 'word', 'value'] }],
54
+ },
55
+
56
+ },
57
+ })