ekms 8.0.0-beta.6 → 8.0.0-beta.61
Sign up to get free protection for your applications and to get access to all the features.
- package/common/animals.instance.json +2871 -1379
- package/common/animals.js +17 -20
- package/common/articles.js +103 -0
- package/common/articles.test.json +310 -0
- package/common/avatar.js +5 -9
- package/common/characters.js +22 -28
- package/common/colors.instance.json +7175 -3634
- package/common/colors.js +4 -8
- package/common/colors.test.json +345 -780
- package/common/comparable.instance.json +1750 -0
- package/common/comparable.js +36 -28
- package/common/comparable.test.json +438 -2
- package/common/concept.js +120 -118
- package/common/countable.js +19 -13
- package/common/countable.test.json +1050 -0
- package/common/crew.instance.json +13067 -6598
- package/common/crew.js +36 -41
- package/common/crew.test.json +714 -452
- package/common/currency.js +27 -45
- package/common/dialogues.js +161 -285
- package/common/dimension.instance.json +474 -253
- package/common/dimension.js +16 -22
- package/common/dimension.test.json +446 -1640
- package/common/edible.instance.json +20057 -10041
- package/common/edible.js +3 -8
- package/common/emotions.instance.json +147 -129
- package/common/emotions.js +35 -38
- package/common/evaluate.instance.json +2 -0
- package/common/evaluate.js +49 -0
- package/common/evaluate.test.json +574 -0
- package/common/events.js +10 -14
- package/common/fastfood.instance.json +221825 -111641
- package/common/fastfood.js +75 -85
- package/common/fastfood.test.json +268 -90
- package/common/formulas.instance.json +455 -249
- package/common/formulas.js +19 -26
- package/common/gdefaults.js +24 -26
- package/common/help.js +7 -12
- package/common/help.test.json +22 -22
- package/common/helpers/concept.js +10 -7
- package/common/helpers/dialogues.js +2 -3
- package/common/helpers/properties.js +54 -62
- package/common/helpers.js +6 -5
- package/common/hierarchy.js +16 -24
- package/common/javascript.js +11 -18
- package/common/kirk.instance.json +584 -290
- package/common/kirk.js +5 -8
- package/common/length.instance.json +8834 -4757
- package/common/length.js +4 -8
- package/common/listener.js +48 -0
- package/common/listener.test.json +104 -0
- package/common/math.instance.json +425 -1187
- package/common/math.js +16 -20
- package/common/meta.js +23 -47
- package/common/nameable.instance.json +2 -0
- package/common/nameable.js +135 -0
- package/common/nameable.test.json +2121 -0
- package/common/negation.instance.json +2 -0
- package/common/negation.js +38 -0
- package/common/negation.test.json +308 -0
- package/common/numbers.js +27 -31
- package/common/ordering.instance.json +366 -246
- package/common/ordering.js +80 -86
- package/common/people.instance.json +2134 -1022
- package/common/people.js +8 -13
- package/common/percentages.instance.json +2 -0
- package/common/percentages.js +53 -0
- package/common/percentages.test.json +751 -0
- package/common/pipboy.instance.json +11767 -6295
- package/common/pipboy.js +48 -59
- package/common/pokemon.instance.json +4226 -2081
- package/common/pokemon.js +7 -20
- package/common/pos.js +12 -13
- package/common/pressure.instance.json +2208 -1175
- package/common/pressure.js +4 -8
- package/common/properties.instance.json +131 -61
- package/common/properties.js +57 -134
- package/common/punctuation.js +6 -6
- package/common/reports.instance.json +1018 -530
- package/common/reports.js +73 -97
- package/common/scorekeeper.js +18 -30
- package/common/sdefaults.js +16 -7
- package/common/sizeable.js +6 -10
- package/common/spock.instance.json +584 -290
- package/common/spock.js +5 -8
- package/common/stgame.js +19 -19
- package/common/stm.js +164 -27
- package/common/stm.test.json +1734 -1
- package/common/tell.js +14 -18
- package/common/temperature.instance.json +2271 -1222
- package/common/temperature.js +4 -8
- package/common/tester.js +3 -3
- package/common/testing.js +8 -12
- package/common/time.js +20 -25
- package/common/tokenize.js +4 -5
- package/common/ui.instance.json +459 -240
- package/common/ui.js +16 -22
- package/common/weight.instance.json +7646 -4026
- package/common/weight.js +4 -8
- package/common/yesno.js +5 -5
- package/main.js +59 -46
- package/package.json +28 -5
package/common/currency.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
const {
|
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
|
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,52 +90,34 @@ let configStruct = {
|
|
90
90
|
],
|
91
91
|
};
|
92
92
|
|
93
|
-
const
|
94
|
-
const
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
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,
|