ekms 8.0.0-beta.9 → 8.0.0-beta.91

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 (113) hide show
  1. package/common/animals.instance.json +2915 -1553
  2. package/common/animals.js +17 -20
  3. package/common/articles.js +103 -0
  4. package/common/articles.test.json +310 -0
  5. package/common/asking.instance.json +2 -0
  6. package/common/asking.js +253 -0
  7. package/common/asking.test.json +2290 -0
  8. package/common/avatar.js +6 -10
  9. package/common/characters.js +23 -29
  10. package/common/colors.instance.json +7487 -4114
  11. package/common/colors.js +5 -9
  12. package/common/colors.test.json +345 -780
  13. package/common/comparable.instance.json +1750 -0
  14. package/common/comparable.js +36 -28
  15. package/common/comparable.test.json +1196 -2
  16. package/common/concept.js +121 -119
  17. package/common/conjunction.instance.json +2 -0
  18. package/common/conjunction.js +104 -0
  19. package/common/conjunction.test.json +322 -0
  20. package/common/countable.js +20 -14
  21. package/common/countable.test.json +1050 -0
  22. package/common/crew.instance.json +13553 -7026
  23. package/common/crew.js +37 -42
  24. package/common/crew.test.json +714 -452
  25. package/common/currency.js +28 -46
  26. package/common/dialogues.js +150 -426
  27. package/common/dialogues.test.json +0 -786
  28. package/common/dimension.instance.json +491 -262
  29. package/common/dimension.js +22 -24
  30. package/common/dimension.test.json +508 -1702
  31. package/common/edible.instance.json +20446 -10806
  32. package/common/edible.js +4 -9
  33. package/common/emotions.instance.json +192 -124
  34. package/common/emotions.js +36 -39
  35. package/common/evaluate.instance.json +2 -0
  36. package/common/evaluate.js +53 -0
  37. package/common/evaluate.test.json +574 -0
  38. package/common/events.js +11 -15
  39. package/common/fastfood.instance.json +222642 -113618
  40. package/common/fastfood.js +76 -86
  41. package/common/fastfood.test.json +268 -90
  42. package/common/formulas.instance.json +443 -247
  43. package/common/formulas.js +20 -27
  44. package/common/gdefaults.js +40 -27
  45. package/common/help.js +9 -14
  46. package/common/help.test.json +65 -16
  47. package/common/helpers/concept.js +10 -7
  48. package/common/helpers/dialogues.js +5 -3
  49. package/common/helpers/properties.js +67 -64
  50. package/common/helpers.js +35 -24
  51. package/common/hierarchy.js +17 -25
  52. package/common/javascript.js +12 -19
  53. package/common/kirk.instance.json +583 -299
  54. package/common/kirk.js +6 -9
  55. package/common/length.instance.json +9005 -5001
  56. package/common/length.js +5 -9
  57. package/common/listener.js +48 -0
  58. package/common/listener.test.json +104 -0
  59. package/common/math.instance.json +406 -1178
  60. package/common/math.js +17 -21
  61. package/common/meta.js +24 -48
  62. package/common/nameable.instance.json +2 -0
  63. package/common/nameable.js +144 -0
  64. package/common/nameable.test.json +3191 -0
  65. package/common/negation.js +11 -7
  66. package/common/numbers.js +28 -32
  67. package/common/ordering.instance.json +443 -343
  68. package/common/ordering.js +81 -87
  69. package/common/ordinals.instance.json +2 -0
  70. package/common/ordinals.js +60 -0
  71. package/common/ordinals.test.json +306 -0
  72. package/common/people.instance.json +2210 -1150
  73. package/common/people.js +9 -14
  74. package/common/percentages.instance.json +2 -0
  75. package/common/percentages.js +53 -0
  76. package/common/percentages.test.json +751 -0
  77. package/common/pipboy.instance.json +11845 -6590
  78. package/common/pipboy.js +53 -62
  79. package/common/pipboy.test.json +2835 -0
  80. package/common/pokemon.instance.json +4300 -2285
  81. package/common/pokemon.js +8 -21
  82. package/common/pos.js +16 -14
  83. package/common/pressure.instance.json +2325 -1340
  84. package/common/pressure.js +5 -9
  85. package/common/properties.instance.json +148 -88
  86. package/common/properties.js +149 -160
  87. package/common/punctuation.js +16 -8
  88. package/common/reports.instance.json +1019 -551
  89. package/common/reports.js +77 -101
  90. package/common/reports.test.json +15623 -10458
  91. package/common/scorekeeper.js +19 -31
  92. package/common/sdefaults.js +17 -8
  93. package/common/sizeable.js +7 -11
  94. package/common/spock.instance.json +582 -298
  95. package/common/spock.js +6 -9
  96. package/common/stgame.js +20 -20
  97. package/common/stm.js +173 -31
  98. package/common/stm.test.json +1734 -1
  99. package/common/tell.js +15 -19
  100. package/common/temperature.instance.json +2430 -1429
  101. package/common/temperature.js +5 -9
  102. package/common/tester.js +15 -4
  103. package/common/testing.js +8 -12
  104. package/common/time.js +21 -26
  105. package/common/tokenize.js +6 -7
  106. package/common/ui.instance.json +150 -463
  107. package/common/ui.js +22 -33
  108. package/common/ui.test.json +641 -5357
  109. package/common/weight.instance.json +8034 -4503
  110. package/common/weight.js +5 -9
  111. package/common/yesno.js +6 -6
  112. package/main.js +20 -4
  113. package/package.json +37 -6
@@ -1,4 +1,4 @@
1
- const { Config, knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
1
+ const { knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
2
2
  const { defaultContextCheck } = require('./helpers')
3
3
  const numbersKM = require('./numbers.js')
4
4
  const currency_tests = require('./currency.test.json')
@@ -40,7 +40,7 @@ class API {
40
40
 
41
41
  const api = new API()
42
42
 
43
- let configStruct = {
43
+ let config = {
44
44
  name: 'currency',
45
45
  operators: [
46
46
  "(([number]) [currency])",
@@ -60,14 +60,14 @@ let configStruct = {
60
60
  {
61
61
  where: where(),
62
62
  match: ({context}) => context.marker == 'currency' && !context.isAbstract,
63
- apply: ({context, g}) => {
63
+ apply: async ({context, g}) => {
64
64
  word = Object.assign({}, context.amount)
65
65
  word.isAbstract = true
66
66
  word.marker = 'currency'
67
67
  word.units = context.units
68
68
  word.value = context.amount.value
69
69
  // generator = [({context}) => context.marker == 'currency' && context.units == words.units && context.value > 1 && context.isAbstract, ({context, g}) => words.many ]
70
- return `${g(context.amount.value)} ${g(word)}`
70
+ return `${await g(context.amount.value)} ${await g(word)}`
71
71
  }
72
72
  },
73
73
  ],
@@ -90,57 +90,39 @@ let configStruct = {
90
90
  ],
91
91
  };
92
92
 
93
- const createConfig = () => {
94
- const config = new Config(configStruct, module)
95
- config.stop_auto_rebuild()
96
- config.add(numbersKM())
97
- config.api = api
98
- config.initializer( ({config, objects, apis, addWord, addGenerator, baseConfig, uuid}) => {
99
- // const api = config.km('currency').api
100
- // const api = kms.currency.api
101
- const api = apis('currency')
102
- units = api.getUnits()
103
- for (word in units) {
104
- def = {"id": "currency", "initial": { units: units[word] }, uuid}
105
- addWord(word, def)
106
- }
107
- /*
108
- for (word in units) {
109
- words = config.get('words')
110
- def = {"id": "currency", "initial": { units: units[word] }, uuid}
111
- if (words[word]) {
112
- words[word].push(def)
113
- } else {
114
- words[word] = [def]
115
- }
116
- }
117
- */
118
-
119
- unitWords = api.getUnitWords();
120
- for (let words of unitWords) {
121
- addGenerator({
122
- match: ({context}) => context.marker == 'currency' && context.units == words.units && context.value == 1 && context.isAbstract,
123
- apply: ({context, g}) => words.one, uuid
124
- });
125
- addGenerator({
126
- match: ({context}) => context.marker == 'currency' && context.units == words.units && !isNaN(context.value) && (context.value != 1) && context.isAbstract,
127
- apply: ({context, g}) => words.many, uuid
128
- })
129
- }
130
- })
131
- config.restart_auto_rebuild()
132
- return config
93
+ const initializer = ({config, objects, apis, addWord, addGenerator, baseConfig, uuid}) => {
94
+ const api = apis('currency')
95
+ units = api.getUnits()
96
+ for (word in units) {
97
+ def = {"id": "currency", "initial": { units: units[word] }, uuid}
98
+ addWord(word, def)
99
+ }
100
+ unitWords = api.getUnitWords();
101
+ for (let words of unitWords) {
102
+ addGenerator({
103
+ match: ({context}) => context.marker == 'currency' && context.units == words.units && context.value == 1 && context.isAbstract,
104
+ apply: ({context, g}) => words.one, uuid
105
+ });
106
+ addGenerator({
107
+ match: ({context}) => context.marker == 'currency' && context.units == words.units && !isNaN(context.value) && (context.value != 1) && context.isAbstract,
108
+ apply: ({context, g}) => words.many, uuid
109
+ })
110
+ }
133
111
  }
134
112
 
135
113
  knowledgeModule({
114
+ config,
115
+ includes: [numbersKM],
116
+ api: () => api,
117
+ initializer,
118
+
136
119
  module,
137
120
  description: 'Ways of specifying currency amount',
138
- createConfig,
139
121
  test: {
140
122
  name: './currency.test.json',
141
123
  contents: currency_tests,
142
124
  checks: {
143
- context: defaultContextCheck,
125
+ context: defaultContextCheck(),
144
126
  },
145
127
 
146
128
  },