theprogrammablemind_4wp 7.3.9-beta.9 → 7.3.10
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +2 -2
- package/src/config.js +28 -7
- package/src/generators.js +6 -6
package/package.json
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
"tod": "node inspect node_modules/.bin/jest --runInBand -t ONE23",
|
16
16
|
"lint:fix": "eslint \"**/*.js\" --fix",
|
17
17
|
"lint": "eslint \"**/*.js\"",
|
18
|
-
"to": "node node_modules/.bin/jest --runInBand -t
|
18
|
+
"to": "node node_modules/.bin/jest --runInBand -t ONE23",
|
19
19
|
"test": "jest --config ./jest.config.json",
|
20
20
|
"test:watch": "npm run test -- --watch"
|
21
21
|
},
|
@@ -61,6 +61,6 @@
|
|
61
61
|
"json-stable-stringify": "^1.0.1",
|
62
62
|
"node-fetch": "^2.6.1"
|
63
63
|
},
|
64
|
-
"version": "7.3.
|
64
|
+
"version": "7.3.10",
|
65
65
|
"license": "ISC"
|
66
66
|
}
|
package/src/config.js
CHANGED
@@ -1238,7 +1238,7 @@ class Config {
|
|
1238
1238
|
runtime.fs.writeFileSync(fn, JSON.stringify(this.config, 0, 2))
|
1239
1239
|
}
|
1240
1240
|
|
1241
|
-
copy (options = {}) {
|
1241
|
+
copy (options = { callInitializers: true }) {
|
1242
1242
|
this.valid()
|
1243
1243
|
const cp = new Config()
|
1244
1244
|
cp.logs = []
|
@@ -1257,6 +1257,7 @@ class Config {
|
|
1257
1257
|
cp.isModule = this.isModule
|
1258
1258
|
cp.initInstances = this.initInstances.slice()
|
1259
1259
|
cp.instances = this.instances.slice()
|
1260
|
+
cp.configCounter = this.configCounter
|
1260
1261
|
|
1261
1262
|
cp.initConfig = _.cloneDeep(this.initConfig)
|
1262
1263
|
cp.defaultConfig()
|
@@ -1267,6 +1268,7 @@ class Config {
|
|
1267
1268
|
Object.assign(cp.config.objects, _.cloneDeep(this.initConfig.objects || {}))
|
1268
1269
|
}
|
1269
1270
|
// cp.initializeConfigFromConfigs({ others: [], objects: cp.config.objects.namespaced, moreNames: [], ...options })
|
1271
|
+
// cp.initializeConfigFromConfigs(Object.assign({ others: [], objects: cp.config.objects.namespaced, moreNames: [] }, { callInitializers: false }))
|
1270
1272
|
cp.initializeConfigFromConfigs(Object.assign({ others: [], objects: cp.config.objects.namespaced, moreNames: [] }, options))
|
1271
1273
|
const map = {}
|
1272
1274
|
for (let i = 0; i < this.configs.length; ++i) {
|
@@ -1274,6 +1276,9 @@ class Config {
|
|
1274
1276
|
}
|
1275
1277
|
cp.mapUUIDs(map)
|
1276
1278
|
|
1279
|
+
if (options.callInitializers) {
|
1280
|
+
cp.rebuild(options)
|
1281
|
+
}
|
1277
1282
|
if (cp._api) {
|
1278
1283
|
cp._api.objects = cp.config.objects
|
1279
1284
|
cp._api.config = () => (cp instanceof Config) ? cp : cp.config
|
@@ -1290,9 +1295,6 @@ class Config {
|
|
1290
1295
|
cp.config.objects.namespaced[km._uuid] = {}
|
1291
1296
|
})
|
1292
1297
|
|
1293
|
-
if (options.callInitializers) {
|
1294
|
-
cp.rebuild(options)
|
1295
|
-
}
|
1296
1298
|
cp.valid()
|
1297
1299
|
return cp
|
1298
1300
|
}
|
@@ -1424,7 +1426,16 @@ class Config {
|
|
1424
1426
|
}
|
1425
1427
|
}
|
1426
1428
|
|
1427
|
-
initializer (fn,
|
1429
|
+
initializer (fn, options = {}) {
|
1430
|
+
if (options) {
|
1431
|
+
for (let option of Object.keys(options)) {
|
1432
|
+
const validOptions = ['initAfterApi']
|
1433
|
+
if (!['initAfterApi'].includes(option)) {
|
1434
|
+
throw `For Config.initializer, unrecognized option ${option}. The valid options are ${validOptions}`
|
1435
|
+
}
|
1436
|
+
}
|
1437
|
+
}
|
1438
|
+
const { initAfterApi = false } = options;
|
1428
1439
|
this.wasInitialized = false
|
1429
1440
|
this.initAfterApi = initAfterApi
|
1430
1441
|
this.initializerFn = (args) => {
|
@@ -1770,7 +1781,7 @@ class Config {
|
|
1770
1781
|
// initialize the configs in context
|
1771
1782
|
|
1772
1783
|
if (callInitializers) {
|
1773
|
-
this.configs.forEach(({ namespace, uuid, config, isSelf }) => {
|
1784
|
+
[...this.configs].reverse().forEach(({ namespace, uuid, config, isSelf }) => {
|
1774
1785
|
if (isSelf) {
|
1775
1786
|
config = this
|
1776
1787
|
}
|
@@ -1939,7 +1950,17 @@ class Config {
|
|
1939
1950
|
throw `Setting invalid property ${property}`
|
1940
1951
|
}
|
1941
1952
|
|
1942
|
-
if (
|
1953
|
+
if ('words' == property) {
|
1954
|
+
for (let word in value) {
|
1955
|
+
for (let def of value[word]) {
|
1956
|
+
if (!def['uuid']) {
|
1957
|
+
throw `All definitions for '${property}' must have the uuid property set (config.uuid). uuid is missing from ${JSON.stringify(def)} for the word '${word}'`
|
1958
|
+
}
|
1959
|
+
}
|
1960
|
+
}
|
1961
|
+
}
|
1962
|
+
|
1963
|
+
if (['operators', 'bridges'].includes(property)) {
|
1943
1964
|
for (let def of value) {
|
1944
1965
|
if (!def['uuid']) {
|
1945
1966
|
throw `All definitions for '${property}' must have the uuid property set (config.uuid). uuid is missing from ${JSON.stringify(def)}`
|
package/src/generators.js
CHANGED
@@ -171,7 +171,7 @@ class Generators {
|
|
171
171
|
let context = contexts[icontext]
|
172
172
|
context = Object.assign({}, context, assumed)
|
173
173
|
// let context_prime = JSON.stringify(context);
|
174
|
-
let
|
174
|
+
let generated = context
|
175
175
|
let applied = false
|
176
176
|
const stack = args.calls.push()
|
177
177
|
for (let igenerator = 0; igenerator < this.generators.length; ++igenerator) {
|
@@ -189,10 +189,10 @@ class Generators {
|
|
189
189
|
// this.logs.push(`Generators: applied ${generator.toString()}\n to\n ${JSON.stringify(context)}`)
|
190
190
|
let errorMessage = 'The apply function did not return a value'
|
191
191
|
try {
|
192
|
-
|
192
|
+
generated= generator.apply(args, objects, g, args.gs, context, hierarchy, config, response, log)
|
193
193
|
} catch( e ) {
|
194
194
|
// the next if handle this
|
195
|
-
|
195
|
+
generated = null
|
196
196
|
if (e.stack && e.message) {
|
197
197
|
errorMessage = `Error applying generator '${generator.notes}'. Error is ${e.toString()} stack is ${e.stack}. Generator is ${generator.toString()}`
|
198
198
|
} else if (e.error) {
|
@@ -201,7 +201,7 @@ class Generators {
|
|
201
201
|
errorMessage = e.toString()
|
202
202
|
}
|
203
203
|
}
|
204
|
-
if (!
|
204
|
+
if (!generated && generated !== '') {
|
205
205
|
const widths = [10, 10, 90]
|
206
206
|
const lines = new Lines(widths)
|
207
207
|
lines.setElement(0, 0, 'Generator')
|
@@ -244,7 +244,7 @@ class Generators {
|
|
244
244
|
lines.setElement(0, 2, generator.toString())
|
245
245
|
lines.newRow()
|
246
246
|
lines.setElement(0, 1, 'RESULT')
|
247
|
-
lines.setElement(0, 2,
|
247
|
+
lines.setElement(0, 2, generated)
|
248
248
|
lines.newRow()
|
249
249
|
lines.setElement(0, 1, 'STACK')
|
250
250
|
lines.setElement(0, 2, stack)
|
@@ -275,7 +275,7 @@ class Generators {
|
|
275
275
|
lines.setElement(0, 2, JSON.stringify(context, null, 2))
|
276
276
|
this.logs.push(lines.toString())
|
277
277
|
}
|
278
|
-
contextsPrime.push(
|
278
|
+
contextsPrime.push(generated)
|
279
279
|
}
|
280
280
|
return contextsPrime
|
281
281
|
}
|