theprogrammablemind 8.3.0-beta.5 → 8.3.0-beta.7
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/package.json +1 -1
- package/src/config.js +38 -21
- package/src/configHelpers.js +0 -1
- package/src/helpers.js +13 -13
package/package.json
CHANGED
package/src/config.js
CHANGED
@@ -387,32 +387,45 @@ const handleBridgeProps = (config, bridge, { addFirst, uuid } = {}) => {
|
|
387
387
|
config.config.generators.push(addUUID(generator))
|
388
388
|
}
|
389
389
|
}
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
390
|
+
|
391
|
+
const addSemantic = (semantic, evaluate) => {
|
392
|
+
const match = semantic.match || (() => true)
|
393
|
+
let apply = semantic
|
394
|
+
// if I do apply == semantic.apply or semantic there is one function that has apply defined for some reason even though not explicitly set
|
395
|
+
if (semantic.apply && typeof semantic !== 'function') {
|
396
|
+
apply = semantic.apply
|
397
|
+
}
|
398
|
+
const semanticDef = {
|
399
|
+
where: semantic.where || bridge.where || helpers.where(4),
|
400
|
+
match: (args) => bridge.id == args.context.marker && !!args.context.evaluate == evaluate && match(args),
|
401
|
+
apply: (args) => apply(args),
|
402
|
+
applyWrapped: semantic,
|
403
|
+
property: evaluate ? 'evaluator':'semantic',
|
397
404
|
}
|
398
405
|
if (addFirst) {
|
399
|
-
config.config.semantics.unshift(addUUID(
|
406
|
+
config.config.semantics.unshift(addUUID(semanticDef))
|
400
407
|
} else {
|
401
|
-
config.config.semantics.push(addUUID(
|
408
|
+
config.config.semantics.push(addUUID(semanticDef))
|
402
409
|
}
|
403
410
|
}
|
411
|
+
|
412
|
+
if (bridge.evaluator) {
|
413
|
+
addSemantic(bridge.evaluator, true)
|
414
|
+
}
|
415
|
+
|
404
416
|
if (bridge.semantic) {
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
417
|
+
addSemantic(bridge.semantic, false)
|
418
|
+
}
|
419
|
+
|
420
|
+
if (bridge.evaluators) {
|
421
|
+
for (const evaluator of bridge.evaluators) {
|
422
|
+
addSemantic(evaluator, true)
|
411
423
|
}
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
424
|
+
}
|
425
|
+
|
426
|
+
if (bridge.semantics) {
|
427
|
+
for (const semantic of bridge.semantics) {
|
428
|
+
addSemantic(semantic, false)
|
416
429
|
}
|
417
430
|
}
|
418
431
|
}
|
@@ -423,8 +436,8 @@ const handleCalculatedProps = (baseConfig, moreConfig, { addFirst, uuid } = {})
|
|
423
436
|
if (moreConfig.bridges) {
|
424
437
|
moreConfig.bridges = moreConfig.bridges.map((bridge) => {
|
425
438
|
bridge = { ...bridge }
|
426
|
-
const valid = ['after', 'before', 'bridge', 'development', 'evaluator', 'generatorp', 'generatorr', 'generatorpr', 'generators', 'operator', 'id', 'convolution', 'inverted', 'isA', 'children', 'parents',
|
427
|
-
'level', 'optional', 'selector', 'semantic', 'words', /Bridge$/, 'localHierarchy', 'levelSpecificHierarchy', 'where', 'uuid']
|
439
|
+
const valid = ['after', 'before', 'bridge', 'development', 'evaluator', 'evaluators', 'generatorp', 'generatorr', 'generatorpr', 'generators', 'operator', 'id', 'convolution', 'inverted', 'isA', 'children', 'parents',
|
440
|
+
'level', 'optional', 'selector', 'semantic', 'semantics', 'words', /Bridge$/, 'localHierarchy', 'levelSpecificHierarchy', 'where', 'uuid']
|
428
441
|
helpers.validProps(valid, bridge, 'bridge')
|
429
442
|
handleBridgeProps(baseConfig, bridge, { addFirst, uuid })
|
430
443
|
return bridge
|
@@ -1149,13 +1162,16 @@ class Config {
|
|
1149
1162
|
delete bridge.generatorr
|
1150
1163
|
delete bridge.generatorpr
|
1151
1164
|
delete bridge.evaluator
|
1165
|
+
delete bridge.evaluators
|
1152
1166
|
delete bridge.semantic
|
1167
|
+
delete bridge.semantics
|
1153
1168
|
if (!bridge.bridge) {
|
1154
1169
|
bridge.bridge = "{ ...next(operator) }"
|
1155
1170
|
}
|
1156
1171
|
return bridge
|
1157
1172
|
})
|
1158
1173
|
} else {
|
1174
|
+
/* done in updateQueries now
|
1159
1175
|
config.generators = (config.generators || []).map((generator) => {
|
1160
1176
|
generator = { ...generator }
|
1161
1177
|
delete generator.where
|
@@ -1190,6 +1206,7 @@ class Config {
|
|
1190
1206
|
}
|
1191
1207
|
return bridge
|
1192
1208
|
})
|
1209
|
+
*/
|
1193
1210
|
}
|
1194
1211
|
return config
|
1195
1212
|
}
|
package/src/configHelpers.js
CHANGED
@@ -321,7 +321,6 @@ const processContextsB = async ({ config, hierarchy, semantics, generators, json
|
|
321
321
|
const mostCalled = semantics.getMostCalled()
|
322
322
|
e.message += `\nThe most called semantic was:\nnotes: ${mostCalled.notes}\nmatch: ${mostCalled.matcher.toString()}\napply: ${mostCalled._apply.toString()}\n`
|
323
323
|
}
|
324
|
-
// contextPrime = semantics.apply(args, { marker: 'error', context, error: e })
|
325
324
|
if (isInstance) {
|
326
325
|
console.log('error', e.error)
|
327
326
|
}
|
package/src/helpers.js
CHANGED
@@ -312,24 +312,18 @@ const updateQueries = (queryOrConfig) => {
|
|
312
312
|
|
313
313
|
const functionsToStrings = (config) => {
|
314
314
|
config = { ...config }
|
315
|
-
|
316
|
-
if (
|
317
|
-
return { ...
|
315
|
+
defToStrings = (def) => {
|
316
|
+
if (def.apply) {
|
317
|
+
return { ...def, match: def.match.toString(), apply: def.apply.toString() }
|
318
318
|
} else {
|
319
|
-
return [
|
319
|
+
return [def[0].toString(), def[1].toString()]
|
320
320
|
}
|
321
321
|
}
|
322
322
|
if (config.generators) {
|
323
|
-
config.generators = config.generators.map(
|
323
|
+
config.generators = config.generators.map(defToStrings)
|
324
324
|
}
|
325
325
|
if (config.semantics) {
|
326
|
-
config.semantics = config.semantics.map(
|
327
|
-
if (semantic.apply) {
|
328
|
-
return { ...semantic, match: semantic.match.toString(), apply: semantic.apply.toString() }
|
329
|
-
} else {
|
330
|
-
return [semantic[0].toString(), semantic[1].toString()]
|
331
|
-
}
|
332
|
-
})
|
326
|
+
config.semantics = config.semantics.map(defToStrings)
|
333
327
|
}
|
334
328
|
if (config.bridges) {
|
335
329
|
config.bridges = config.bridges.map((bridge) => {
|
@@ -338,7 +332,7 @@ const functionsToStrings = (config) => {
|
|
338
332
|
bridge.generator = bridge.generator.toString()
|
339
333
|
}
|
340
334
|
if (bridge.generators) {
|
341
|
-
bridge.generators = bridge.generators.map(
|
335
|
+
bridge.generators = bridge.generators.map(defToStrings)
|
342
336
|
}
|
343
337
|
if (bridge.generatorp) {
|
344
338
|
bridge.generatorp = bridge.generatorp.toString()
|
@@ -349,9 +343,15 @@ const functionsToStrings = (config) => {
|
|
349
343
|
if (bridge.semantic) {
|
350
344
|
bridge.semantic = bridge.semantic.toString()
|
351
345
|
}
|
346
|
+
if (bridge.semantics) {
|
347
|
+
bridge.semantics = bridge.semantics.toString()
|
348
|
+
}
|
352
349
|
if (bridge.evaluator) {
|
353
350
|
bridge.evaluator = bridge.evaluator.toString()
|
354
351
|
}
|
352
|
+
if (bridge.evaluators) {
|
353
|
+
bridge.evaluators = bridge.evaluators.toString()
|
354
|
+
}
|
355
355
|
return bridge
|
356
356
|
})
|
357
357
|
}
|