tpmkms_4wp 8.9.1-beta.0 → 8.9.1-beta.10
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/common/animals.instance.json +195 -16
- package/common/articles.js +18 -2
- package/common/articles.test.json +338 -0
- package/common/asking.js +2 -2
- package/common/avatar.js +1 -1
- package/common/characters.js +1 -1
- package/common/colors.instance.json +210 -45
- package/common/comparable.instance.json +45 -0
- package/common/comparable.js +1 -1
- package/common/concept.js +1 -1
- package/common/conjunction.js +1 -1
- package/common/countable.js +2 -8
- package/common/countable.test.json +0 -586
- package/common/crew.instance.json +390 -0
- package/common/currency.js +2 -2
- package/common/dialogues.js +9 -5
- package/common/dimension.instance.json +11 -4
- package/common/dimension.js +2 -2
- package/common/edible.instance.json +352 -58
- package/common/emotions.instance.json +15 -0
- package/common/errors.js +3 -1
- package/common/events.js +1 -1
- package/common/fastfood.instance.json +2017 -402
- package/common/fastfood.js +3 -3
- package/common/formulas.instance.json +11 -1
- package/common/formulas.js +1 -1
- package/common/gdefaults.js +28 -17
- package/common/help.js +4 -4
- package/common/help.test.json +4 -4
- package/common/helpers/concept.js +3 -3
- package/common/helpers/conjunction.js +1 -1
- package/common/helpers/formulas.js +4 -4
- package/common/helpers/frankenhash.js +4 -4
- package/common/helpers/meta.js +4 -4
- package/common/helpers/ordering.js +2 -2
- package/common/helpers/properties.js +16 -16
- package/common/helpers.js +17 -1
- package/common/hierarchy.js +3 -3
- package/common/javascript.js +1 -1
- package/common/kirk.instance.json +15 -0
- package/common/length.instance.json +165 -20
- package/common/math.instance.json +11 -1
- package/common/math.js +1 -1
- package/common/meta.js +5 -5
- package/common/negation.js +1 -1
- package/common/numbers.js +1 -1
- package/common/ordering.instance.json +31 -71
- package/common/ordinals.js +5 -3
- package/common/people.instance.json +120 -0
- package/common/people.js +1 -1
- package/common/percentages.js +1 -1
- package/common/pipboy.instance.json +187 -46
- package/common/pipboy.js +1 -1
- package/common/pokemon.instance.json +195 -5
- package/common/pos.js +14 -1
- package/common/pressure.instance.json +44 -7
- package/common/properties.instance.json +15 -0
- package/common/properties.js +2 -2
- package/common/punctuation.js +1 -1
- package/common/reports.instance.json +32 -4
- package/common/reports.js +7 -7
- package/common/scorekeeper.js +5 -5
- package/common/sdefaults.js +2 -2
- package/common/sizeable.js +1 -1
- package/common/spock.instance.json +15 -0
- package/common/stm.js +6 -6
- package/common/tell.js +1 -1
- package/common/temperature.instance.json +44 -8
- package/common/tester.js +1 -1
- package/common/ui.instance.json +16 -1
- package/common/weight.instance.json +132 -16
- package/common/wp.instance.json +13996 -1532
- package/common/wp.js +165 -24
- package/common/wp.test.json +82935 -4146
- package/common/yesno.js +1 -1
- package/package.json +11 -6
package/common/wp.js
CHANGED
@@ -9,13 +9,49 @@ const wp_tests = require('./wp.test.json')
|
|
9
9
|
const instance = require('./wp.instance.json')
|
10
10
|
|
11
11
|
/*
|
12
|
+
working on
|
13
|
+
bold the first word
|
14
|
+
bold the first paragraph
|
15
|
+
bold the first letter
|
16
|
+
|
17
|
+
current
|
18
|
+
|
19
|
+
underline the bolded paragraphs
|
20
|
+
underline the paragraphs that contain bolded words
|
21
|
+
|
22
|
+
after
|
23
|
+
bold the first word of every paragraph
|
24
|
+
bold the first word of the second and third paragraph
|
25
|
+
bold the first word of the second paragraph and third paragraph
|
26
|
+
bold the first letter of every word
|
27
|
+
bold the first letter of every word that starts with t
|
28
|
+
bold the first letter of the words that start with t in the third paragraph
|
29
|
+
bold the paragraph that contains words that start with t
|
30
|
+
underline the paragraph that contains bolded words
|
31
|
+
bold the paragraph that contains three bolded words
|
32
|
+
|
33
|
+
the paragraph that contains the word boobies
|
34
|
+
|
35
|
+
after
|
36
|
+
make the words that start with t blue
|
37
|
+
|
38
|
+
the bolded words that start with t
|
39
|
+
|
40
|
+
replace better with worse
|
41
|
+
|
42
|
+
change underlines to bolds
|
43
|
+
|
12
44
|
start inserting text until I say banana
|
13
45
|
...
|
14
46
|
or
|
15
47
|
stop inserting text
|
16
48
|
|
17
49
|
make the text of the 1st to 3rd paragraphs blue
|
50
|
+
|
51
|
+
capitalize the words banana and word
|
52
|
+
capitalize banana and tree
|
18
53
|
|
54
|
+
make the words that start with a bold
|
19
55
|
|
20
56
|
make every word bold and underlines and blue -> weirdly "bold underlined and blue" works
|
21
57
|
|
@@ -23,6 +59,8 @@ const instance = require('./wp.instance.json')
|
|
23
59
|
make the color blue
|
24
60
|
make the color of the first paragraph blue
|
25
61
|
|
62
|
+
undeline the bolded text / the text that is bolded
|
63
|
+
|
26
64
|
words that start with a
|
27
65
|
make all the bold text uppercase
|
28
66
|
underline all the bold text
|
@@ -34,10 +72,17 @@ const instance = require('./wp.instance.json')
|
|
34
72
|
words containing a
|
35
73
|
every 5th word
|
36
74
|
|
75
|
+
the words that are capitalized
|
76
|
+
|
37
77
|
in the first paragraph make the words that start with abc bold
|
38
78
|
bold the first three words that start with t
|
39
79
|
bold much and many
|
40
80
|
make the words that start with t bold and underlined
|
81
|
+
make all the capital letters|punctuation bold
|
82
|
+
|
83
|
+
move this paragraph up 2
|
84
|
+
move the next paragraph up 1
|
85
|
+
move the last paragraph before this one
|
41
86
|
*/
|
42
87
|
|
43
88
|
class API {
|
@@ -63,7 +108,7 @@ const setUpdate = (isA, update, states) => {
|
|
63
108
|
if (!update.styles) {
|
64
109
|
update.styles = []
|
65
110
|
}
|
66
|
-
|
111
|
+
const style = root(state.value)
|
67
112
|
/*
|
68
113
|
if (style == 'underlined') {
|
69
114
|
style = 'underline'
|
@@ -80,26 +125,63 @@ const setUpdate = (isA, update, states) => {
|
|
80
125
|
|
81
126
|
const api = new API()
|
82
127
|
|
83
|
-
|
128
|
+
const config = {
|
84
129
|
name: 'wp',
|
85
130
|
};
|
86
131
|
|
87
132
|
const changeState = ({api, isA, context, toArray, element, state}) => {
|
88
|
-
let unit = root(context.element.marker)
|
89
133
|
let scope
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
conditions.push({
|
134
|
+
|
135
|
+
const getElement = (selector, update) => {
|
136
|
+
const unit = root(selector.marker)
|
137
|
+
const conditions = []
|
138
|
+
let scope;
|
139
|
+
const condition = []
|
140
|
+
if (selector.ordinal) {
|
141
|
+
conditions.push({ ordinals: toArray(selector.ordinal).map((context) => context.value)})
|
142
|
+
} else if (isA(selector, 'everything')) {
|
143
|
+
scope = 'all'
|
144
|
+
} else if (selector.quantity) {
|
145
|
+
scope = selector.quantity.quantity
|
146
|
+
} if (selector.distributer) {
|
147
|
+
scope = selector.distributer.value
|
98
148
|
}
|
99
|
-
|
100
|
-
|
149
|
+
|
150
|
+
if (selector.conditions) {
|
151
|
+
for (const condition of selector.conditions) {
|
152
|
+
if (condition.marker == 'wordComparisonWithVerb_wp') {
|
153
|
+
// with or not with that is the question
|
154
|
+
const letters = condition.letters.letters.text
|
155
|
+
conditions.push({ comparison: condition.comparison, letters })
|
156
|
+
} else if (condition.marker == 'wordComparison_wp') {
|
157
|
+
// with or not with that is the question
|
158
|
+
const letters = condition.letters.text
|
159
|
+
conditions.push({ comparison: condition.comparison, letters })
|
160
|
+
} else if (condition.marker == 'paragraphComparisonVerb_wp') {
|
161
|
+
// with or not with that is the question
|
162
|
+
const update = { selectors: [] }
|
163
|
+
const words = getElement(condition.words, update)
|
164
|
+
conditions.push({ comparison: condition.comparison, words: update})
|
165
|
+
} else if (isA(condition, 'styleModifier_wp')) {
|
166
|
+
for (const style of toArray(condition)) {
|
167
|
+
conditions.push({ hasStyle: style.marker })
|
168
|
+
}
|
169
|
+
}
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
if (selector.context) {
|
174
|
+
for (const context of toArray(selector.context)) {
|
175
|
+
getElement(context, update)
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
update.selectors.push({ unit, scope, conditions })
|
101
180
|
}
|
102
|
-
|
181
|
+
|
182
|
+
const update = { selectors: [] }
|
183
|
+
getElement(context.element, update)
|
184
|
+
|
103
185
|
setUpdate(isA, update, toArray(context.state))
|
104
186
|
api.changeState(update)
|
105
187
|
}
|
@@ -107,42 +189,97 @@ const changeState = ({api, isA, context, toArray, element, state}) => {
|
|
107
189
|
template = {
|
108
190
|
configs: [
|
109
191
|
'setidsuffix _wp',
|
110
|
-
'words are countable and statefulElements',
|
111
|
-
'characters are countable',
|
112
|
-
'paragraphs are countable',
|
192
|
+
'words are countable distributable orderable textContainers and statefulElements',
|
193
|
+
'characters are countable distributable orderable and statefulElements',
|
194
|
+
'paragraphs are countable distributable orderable textContainers and statefulElement',
|
195
|
+
'text is a statefulElement',
|
196
|
+
'letters means characters',
|
113
197
|
'bold, italic, code, capitalize, lowercase and underline are styles',
|
114
198
|
'underlined means underline',
|
115
199
|
'capitalized means capitalize',
|
116
200
|
'uppercase means capitalize',
|
117
201
|
'italicize means italic',
|
118
202
|
'italicized means italic',
|
119
|
-
//
|
203
|
+
// TODO have a mode where I can stay this is a definition sentence then just say style modifies and it will do it right
|
204
|
+
'uppercased, lowercased, capitalized, bolded, italicized and underlined are styleModifiers',
|
205
|
+
// 'start end and contain are wordComparisonWiths',
|
120
206
|
// 'styles are negatable',
|
121
207
|
"resetIdSuffix",
|
122
208
|
{
|
123
209
|
operators: [
|
124
210
|
"([changeState_wp|make] ([statefulElement_wp]) ([stateValue_wp|]))",
|
125
211
|
"((style_wp/*) [applyStyle_wp] ([statefulElement_wp|]))",
|
126
|
-
"((word_wp/*) [
|
212
|
+
"((word_wp/*) [wordComparisonWithVerb_wp] ([comparisonWith_wp|with] (a/0)? (letters)))",
|
213
|
+
"((word_wp/*) [wordComparison_wp] (a/0)? (letters))",
|
214
|
+
// this one is "the bolded/underlined/italized/... word"
|
215
|
+
"((styleModifier_wp/*) [modifiedByStyle_wp] (statefulElement_wp/* && context.determiner == undefined))",
|
216
|
+
// the first letter of each paragraph
|
217
|
+
"((statefulElement_wp/*) <statefulElementInContext_wp|of> (statefulElement_wp/*))",
|
218
|
+
// the paragraph that contains words that start with t
|
219
|
+
"((paragraph_wp/*) [paragraphComparisonVerb_wp] (word_wp/*))",
|
127
220
|
],
|
221
|
+
associations: {
|
222
|
+
negative: [
|
223
|
+
],
|
224
|
+
positive: [
|
225
|
+
// TODO remove these after crucible work done and fix the associator rules
|
226
|
+
[['paragraph_wp', 0], ['thatVerb', 0], ['paragraphComparisonVerb_wp', 0], ['word_wp', 0]],
|
227
|
+
[['paragraph_wp', 0], ['thatVerb', 0], ['paragraphComparisonVerb_wp', 0], ['styleModifier_wp', 0], ['word_wp', 0]],
|
228
|
+
[['word_wp', 0], ['thatVerb', 0], ['wordComparison_wp', 0]],
|
229
|
+
]
|
230
|
+
},
|
231
|
+
|
128
232
|
bridges: [
|
129
233
|
{
|
130
|
-
id: '
|
234
|
+
id: 'paragraphComparisonVerb_wp',
|
235
|
+
parents: ['verb'],
|
236
|
+
words: [
|
237
|
+
{ word: 'contain', comparison: 'include' },
|
238
|
+
{ word: 'contains', comparison: 'include' },
|
239
|
+
{ word: 'include', comparison: 'include' },
|
240
|
+
{ word: 'includes', comparison: 'include' },
|
241
|
+
],
|
242
|
+
bridge: "{ ...next(operator), element: before[0], subject: before[0], words: after[0], verb: operator, generate: ['element', 'verb', 'words'] }",
|
243
|
+
},
|
244
|
+
{
|
245
|
+
id: 'statefulElementInContext_wp',
|
246
|
+
parents: ['preposition'],
|
247
|
+
bridge: "{ ...before[0], context: append(before[0].context, [after[0]]), generate: [before[0], operator, after[0]] }",
|
248
|
+
},
|
249
|
+
{
|
250
|
+
id: 'modifiedByStyle_wp',
|
251
|
+
// parents: ['verb'],
|
252
|
+
parents: ['adjective'],
|
253
|
+
convolution: true,
|
254
|
+
bridge: "{ ...after[0], style: before[0], target: after[0], generate: ['style', 'target'], conditions: append(after[0].conditions, [before[0]]) }",
|
255
|
+
},
|
256
|
+
{
|
257
|
+
id: 'wordComparisonWithVerb_wp',
|
131
258
|
parents: ['verb'],
|
132
259
|
words: [
|
133
260
|
{ word: 'start', comparison: 'prefix' },
|
134
261
|
{ word: 'starts', comparison: 'prefix', },
|
135
262
|
{ word: 'end', comparison: 'suffix' },
|
136
263
|
{ word: 'ends', comparison: 'suffix' },
|
264
|
+
],
|
265
|
+
bridge: "{ ...next(operator), element: before[0], subject: before[0], letters: after[0], verb: operator, generate: ['element', 'verb', 'letters'] }",
|
266
|
+
},
|
267
|
+
{
|
268
|
+
id: 'wordComparison_wp',
|
269
|
+
parents: ['verb'],
|
270
|
+
words: [
|
137
271
|
{ word: 'contain', comparison: 'include' },
|
138
272
|
{ word: 'contains', comparison: 'include' },
|
139
273
|
{ word: 'include', comparison: 'include' },
|
140
274
|
{ word: 'includes', comparison: 'include' },
|
141
275
|
],
|
142
|
-
|
276
|
+
optional: {
|
277
|
+
1: "{ marker: 'a' }",
|
278
|
+
},
|
279
|
+
bridge: "{ ...next(operator), element: before[0], subject: before[0], letters: after[1], verb: operator, generate: ['element', 'verb', 'letters'] }",
|
143
280
|
},
|
144
281
|
{
|
145
|
-
id: '
|
282
|
+
id: 'comparisonWith_wp',
|
146
283
|
parents: ['preposition'],
|
147
284
|
optional: {
|
148
285
|
1: "{ marker: 'a' }",
|
@@ -203,8 +340,12 @@ template = {
|
|
203
340
|
},
|
204
341
|
],
|
205
342
|
priorities: [
|
343
|
+
{ "context": [['paragraphComparisonVerb_wp', 0], ['word_wp', 0], ['wordComparisonWithVerb_wp', 0]], ordered: true, choose: [2] },
|
344
|
+
{ "context": [['paragraphComparisonVerb_wp', 0], ['wordComparisonWithVerb_wp', 0]], choose: [1] },
|
345
|
+
{ "context": [['ordinal',1], ['list', 0], ['ordinal', 1], ['word_wp', 1]], ordered: true, choose: [1] },
|
346
|
+
{ "context": [['changeState_wp',0], ['every', 0], ['word_wp', 1], ['list', 1]], ordered: true, choose: [1] },
|
206
347
|
{ "context": [['changeState_wp',0], ['statefulElement_wp', 0], ['list', 0]], ordered: true, choose: [0] },
|
207
|
-
{ "context": [['
|
348
|
+
{ "context": [['comparisonWith_wp',0], ['unknown', 0], ['list', 1]], ordered: true, choose: [0] },
|
208
349
|
],
|
209
350
|
},
|
210
351
|
// "([changeState_wp|make] ([statefulElement_wp]) ([stateValue_wp|]))",
|
@@ -225,7 +366,7 @@ knowledgeModule({
|
|
225
366
|
contents: wp_tests,
|
226
367
|
checks: {
|
227
368
|
context: [
|
228
|
-
...defaultContextCheck(),
|
369
|
+
...defaultContextCheck(['distributer', 'subject', 'element', 'letters', 'target', 'conditions' ]),
|
229
370
|
],
|
230
371
|
objects: [
|
231
372
|
'changeState',
|