theprogrammablemind_4wp 7.10.0 → 7.10.1

Sign up to get free protection for your applications and to get access to all the features.
package/src/digraph.js CHANGED
@@ -14,7 +14,7 @@ class Digraph {
14
14
  }
15
15
 
16
16
  // BFS
17
- path(from, to) {
17
+ path (from, to) {
18
18
  debugger
19
19
  const frontier = { [from]: [[]] }
20
20
  const done = new Set()
@@ -29,12 +29,12 @@ class Digraph {
29
29
  continue
30
30
  }
31
31
  done.add(n)
32
- for (let edge of this._edges) {
32
+ for (const edge of this._edges) {
33
33
  if (edge.child == n) {
34
34
  if (!frontier[edge.parent]) {
35
35
  frontier[edge.parent] = []
36
36
  }
37
- for (let path of ps) {
37
+ for (const path of ps) {
38
38
  if (edge.parent == to) {
39
39
  return [...path, edge]
40
40
  }
@@ -45,26 +45,26 @@ class Digraph {
45
45
  }
46
46
  }
47
47
 
48
- addEdges(edges) {
49
- for (let edge of edges) {
48
+ addEdges (edges) {
49
+ for (const edge of edges) {
50
50
  this.addEdge(edge)
51
51
  }
52
52
  }
53
53
 
54
- addEdge(edge) {
54
+ addEdge (edge) {
55
55
  edge = toA(edge)
56
56
  this._edges.push(edge)
57
57
  }
58
58
 
59
- get edges() {
59
+ get edges () {
60
60
  return this._edges
61
61
  }
62
62
 
63
- set edges(edges) {
63
+ set edges (edges) {
64
64
  this._edges = edges
65
65
  }
66
66
 
67
- /*
67
+ /*
68
68
  set edges(edges) {
69
69
  this._edges = edges.map( toA )
70
70
  }
@@ -13,26 +13,26 @@ class DigraphInternal {
13
13
  this._edges = edges
14
14
  }
15
15
 
16
- addEdges(edges) {
17
- for (let edge of edges) {
16
+ addEdges (edges) {
17
+ for (const edge of edges) {
18
18
  this.addEdge(edge)
19
19
  }
20
20
  }
21
21
 
22
- addEdge(edge) {
22
+ addEdge (edge) {
23
23
  edge = toA(edge)
24
24
  this._edges.push(edge)
25
25
  }
26
26
 
27
- get edges() {
27
+ get edges () {
28
28
  return this._edges
29
29
  }
30
30
 
31
- set edges(edges) {
31
+ set edges (edges) {
32
32
  this._edges = edges
33
33
  }
34
34
 
35
- /*
35
+ /*
36
36
  set edges(edges) {
37
37
  this._edges = edges.map( toA )
38
38
  }
package/src/flatten.js CHANGED
@@ -93,7 +93,7 @@ const flatten = (markers, value) => {
93
93
  if (split) {
94
94
  if ('value' in properties) {
95
95
  flattenedValues = []
96
- for (let v of properties.value) {
96
+ for (const v of properties.value) {
97
97
  if (v.flatten) {
98
98
  flattenedValues = flattenedValues.concat(flatten(markers, v)[0])
99
99
  } else {
package/src/generators.js CHANGED
@@ -50,24 +50,23 @@ class Generator {
50
50
  }
51
51
  // return this.match({ ...args, args: contextArgs(context, hierarchy), objects, global: objects, hierarchy, context, api: this.getAPI(config) })
52
52
  const callId = baseArgs.calls.current()
53
- const moreArgs = {
54
- uuid: this.uuid,
55
- args: contextArgs(context, hierarchy),
56
- objects,
57
- global: objects,
58
- // hierarchy,
59
- context,
60
- callId,
61
- api: this.getAPI(config),
62
- apis: this.getAPIs(config)
63
- }
53
+ const moreArgs = {
54
+ uuid: this.uuid,
55
+ args: contextArgs(context, hierarchy),
56
+ objects,
57
+ global: objects,
58
+ // hierarchy,
59
+ context,
60
+ callId,
61
+ api: this.getAPI(config),
62
+ apis: this.getAPIs(config)
63
+ }
64
64
  const args = Object.assign({}, baseArgs, moreArgs, (baseArgs.getUUIDScoped || (() => { return {} }))(this.uuid))
65
65
  // return this.match(args)
66
66
  const matches = this.match(args)
67
- if ((matches && (options.debug || {}).match)
68
- ||
67
+ if ((matches && (options.debug || {}).match) ||
69
68
  callId == this.callId) {
70
- debugger; // next line is the matcher
69
+ debugger // next line is the matcher
71
70
  this.match(args)
72
71
  }
73
72
  return matches
@@ -83,7 +82,7 @@ class Generator {
83
82
  }
84
83
 
85
84
  if (config && config.debugLoops) {
86
- console.log("apply", this.toLabel())
85
+ console.log('apply', this.toLabel())
87
86
  }
88
87
  // this.getAPI(config)
89
88
  let n = (id) => id
@@ -95,26 +94,26 @@ class Generator {
95
94
  }
96
95
  const km = (name) => config.getConfig(name)
97
96
  const callId = baseArgs.calls.current()
98
- const moreArgs = {
99
- callId,
100
- uuid: this.uuid,
101
- // km,
102
- args: contextArgs(context, hierarchy),
103
- objects,
104
- log,
105
- global:
106
- objects,
107
- // g,
108
- n,
109
- hierarchy,
110
- context,
111
- uuid: this.uuid,
112
- // gs,
113
- config,
114
- response,
115
- api: this.getAPI(config),
116
- apis: this.getAPIs(config)
117
- }
97
+ const moreArgs = {
98
+ callId,
99
+ uuid: this.uuid,
100
+ // km,
101
+ args: contextArgs(context, hierarchy),
102
+ objects,
103
+ log,
104
+ global:
105
+ objects,
106
+ // g,
107
+ n,
108
+ hierarchy,
109
+ context,
110
+ uuid: this.uuid,
111
+ // gs,
112
+ config,
113
+ response,
114
+ api: this.getAPI(config),
115
+ apis: this.getAPIs(config)
116
+ }
118
117
  const args = Object.assign({}, baseArgs, moreArgs, (baseArgs.getUUIDScoped || (() => { return {} }))(this.uuid))
119
118
  if (this.property == 'generatorp') {
120
119
  args.g = args.gp
@@ -126,8 +125,7 @@ class Generator {
126
125
  debugger;
127
126
  }
128
127
  */
129
- if ((options.debug || {}).apply
130
- ||
128
+ if ((options.debug || {}).apply ||
131
129
  callId == this.callId) {
132
130
  debugger
133
131
  }
@@ -169,7 +167,7 @@ class Generators {
169
167
  // assumed - properties added to context before the generators are called. For setting paraphrase property
170
168
  apply (args, context, assumed = {}, options = {}) {
171
169
  if (Array.isArray(context)) {
172
- throw new Error("Expected a context not an array")
170
+ throw new Error('Expected a context not an array')
173
171
  }
174
172
  if (typeof context !== 'object') {
175
173
  return String(context)
@@ -179,9 +177,9 @@ class Generators {
179
177
  const objects = args.objects
180
178
  const hierarchy = args.hierarchy
181
179
  const response = args.response
182
-
180
+
183
181
  // args = { ...args, ...args.getAssumedScoped(assumed) }
184
- args.addAssumedScoped(args, assumed)
182
+ args.addAssumedScoped(args, assumed)
185
183
  context = Object.assign({}, context, args.assumed)
186
184
  let generated = ''
187
185
  let applied = false
@@ -193,8 +191,8 @@ class Generators {
193
191
  // this.logs.push(`Generators: applied ${generator.toString()}\n to\n ${JSON.stringify(context)}`)
194
192
  let errorMessage = 'The apply function did not return a value'
195
193
  try {
196
- generated= generator.apply(args, objects, context, hierarchy, config, response, log)
197
- } catch( e ) {
194
+ generated = generator.apply(args, objects, context, hierarchy, config, response, log)
195
+ } catch (e) {
198
196
  // the next if handle this
199
197
  generated = null
200
198
  e.retryCall = () => generator.apply(args, objects, context, hierarchy, config, response, log)
@@ -283,7 +281,7 @@ class Generators {
283
281
  lines.setElement(0, 2, JSON.stringify(context, null, 2))
284
282
  this.logs.push(lines.toString())
285
283
  }
286
- return ((config || {}).parenthesized ? "(" + generated + ")" : generated)
284
+ return ((config || {}).parenthesized ? '(' + generated + ')' : generated)
287
285
  }
288
286
  }
289
287
 
package/src/helpers.js CHANGED
@@ -69,7 +69,7 @@ const safeEquals = (v1, v2) => {
69
69
  if (v1.length != v2.length) {
70
70
  return false
71
71
  }
72
- for (let key in v1) {
72
+ for (const key in v1) {
73
73
  if (!safeEquals(v1[key], v2[key])) {
74
74
  return false
75
75
  }
@@ -183,72 +183,71 @@ const isCompound = (value) => {
183
183
  }
184
184
 
185
185
  class InitCalls {
186
-
187
- constructor(name) {
186
+ constructor (name) {
188
187
  this.nextCallId = 0
189
188
  this.nextContextId = 0
190
189
  this.stack = []
191
190
  this.name = name
192
191
  }
193
192
 
194
- start() {
193
+ start () {
195
194
  return this.nextCallId
196
195
  }
197
196
 
198
- next() {
197
+ next () {
199
198
  // this.nextContextId += 1
200
199
  this.nextContextId += 1
201
200
  }
202
201
 
203
- push() {
202
+ push () {
204
203
  this.nextCallId += 1
205
204
  // this.nextCallId += 1
206
205
  // this.stack.push(this.nextCallId)
207
206
  this.stack.push(this.nextCallId)
208
207
  // TODO put the nextContextId in the context for debugging
209
- const calls = this.stack.map( (call) => `${this.name}#call${call}` )
208
+ const calls = this.stack.map((call) => `${this.name}#call${call}`)
210
209
  // return `Context#${this.nextContextId}: ${calls}`
211
210
  return `Context#${this.nextContextId}: ${calls}`
212
211
  }
213
212
 
214
- current() {
215
- return `${this.name}#call${this.stack[this.stack.length-1]}`
213
+ current () {
214
+ return `${this.name}#call${this.stack[this.stack.length - 1]}`
216
215
  }
217
216
 
218
- touch(context) {
217
+ touch (context) {
219
218
  if (!context.touchedBy) {
220
219
  context.touchedBy = []
221
220
  }
222
- if (!context.touchedBy.includes( this.current() )) {
223
- context.touchedBy.push( this.current() )
221
+ if (!context.touchedBy.includes(this.current())) {
222
+ context.touchedBy.push(this.current())
224
223
  }
225
224
  }
226
225
 
227
- pop() {
226
+ pop () {
228
227
  this.stack.pop()
229
228
  }
230
229
  }
231
230
 
232
231
  const hashCode = (str) => {
233
- var hash = 0, i, ch;
234
- if (str.length === 0) return hash;
232
+ let hash = 0; let i; let ch
233
+ if (str.length === 0) return hash
235
234
  for (i = 0; i < str.length; i++) {
236
- ch = str.charCodeAt(i);
237
- hash = ((hash << 5) - hash) + ch;
238
- hash |= 0; // Convert to 32bit integer
235
+ ch = str.charCodeAt(i)
236
+ hash = ((hash << 5) - hash) + ch
237
+ hash |= 0 // Convert to 32bit integer
239
238
  }
240
- return hash;
241
- };
239
+ return hash
240
+ }
242
241
 
243
242
  const sortJson = (json) => {
244
243
  return json
245
244
  }
246
245
 
247
246
  const validProps = (valids, object, type) => {
248
- for (let prop of Object.keys(object)) {
247
+ for (const prop of Object.keys(object)) {
249
248
  let okay = false
250
249
  for (valid of valids) {
251
- if (typeof valid == 'string') {
250
+ if (typeof valid === 'string') {
252
251
  okay = prop == valid
253
252
  } else {
254
253
  okay = prop.match(valid)
@@ -265,14 +264,14 @@ const validProps = (valids, object, type) => {
265
264
 
266
265
  const mapInPlace = (list, fn) => {
267
266
  for (let i = 0; i < list.length; ++i) {
268
- list[i] =fn(list[i])
267
+ list[i] = fn(list[i])
269
268
  }
270
269
  }
271
270
 
272
271
  const updateQueries = (queryOrConfig) => {
273
- if (typeof queryOrConfig == 'string' || queryOrConfig.query) {
272
+ if (typeof queryOrConfig === 'string' || queryOrConfig.query) {
274
273
  return queryOrConfig
275
- } else if (typeof queryOrConfig == 'function') {
274
+ } else if (typeof queryOrConfig === 'function') {
276
275
  return { apply: queryOrConfig.toString() }
277
276
  } else {
278
277
  const config = queryOrConfig
@@ -281,34 +280,34 @@ const updateQueries = (queryOrConfig) => {
281
280
  }
282
281
 
283
282
  const functionsToStrings = (config) => {
284
- config = {...config}
283
+ config = { ...config }
285
284
  const mapGenerator = (generator) => {
286
- if (generator.apply) {
287
- return { ...generator, match: generator.match.toString(), apply: generator.apply.toString() }
288
- } else {
289
- return [ generator[0].toString(), generator[1].toString() ]
290
- }
285
+ if (generator.apply) {
286
+ return { ...generator, match: generator.match.toString(), apply: generator.apply.toString() }
287
+ } else {
288
+ return [generator[0].toString(), generator[1].toString()]
291
289
  }
290
+ }
292
291
  if (config.generators) {
293
- config.generators = config.generators.map( mapGenerator )
292
+ config.generators = config.generators.map(mapGenerator)
294
293
  }
295
294
  if (config.semantics) {
296
- config.semantics = config.semantics.map( (semantic) => {
295
+ config.semantics = config.semantics.map((semantic) => {
297
296
  if (semantic.apply) {
298
297
  return { ...semantic, match: semantic.match.toString(), apply: semantic.apply.toString() }
299
298
  } else {
300
- return [ semantic[0].toString(), semantic[1].toString() ]
299
+ return [semantic[0].toString(), semantic[1].toString()]
301
300
  }
302
301
  })
303
302
  }
304
303
  if (config.bridges) {
305
- config.bridges = config.bridges.map( (bridge) => {
306
- bridge = {...bridge}
304
+ config.bridges = config.bridges.map((bridge) => {
305
+ bridge = { ...bridge }
307
306
  if (bridge.generator) {
308
307
  bridge.generator = bridge.generator.toString()
309
308
  }
310
309
  if (bridge.generators) {
311
- bridge.generators = bridge.generators.map( mapGenerator )
310
+ bridge.generators = bridge.generators.map(mapGenerator)
312
311
  }
313
312
  if (bridge.generatorp) {
314
313
  bridge.generatorp = bridge.generatorp.toString()
@@ -331,7 +330,7 @@ const functionsToStrings = (config) => {
331
330
  const ecatch = (where, call) => {
332
331
  try {
333
332
  return call()
334
- } catch( e ) {
333
+ } catch (e) {
335
334
  throw new Error(`${where} ${e.stack}`)
336
335
  }
337
336
  }
@@ -346,9 +345,9 @@ const subPriority = (sub, sup) => {
346
345
  if (Array.isArray(sub)) {
347
346
  const subChoosen = sub[0]
348
347
  const subOther = sub[1]
349
- const hasChoosen = sup.choose.find( (index) => equalKey(sup.context[index], subChoosen)) != undefined
350
- const hasOtherChosen = sup.choose.find( (index) => equalKey(sup.context[index], subOther)) != undefined
351
- const hasOther = sup.context.find( (other) => equalKey(other, subOther) ) !== undefined
348
+ const hasChoosen = sup.choose.find((index) => equalKey(sup.context[index], subChoosen)) != undefined
349
+ const hasOtherChosen = sup.choose.find((index) => equalKey(sup.context[index], subOther)) != undefined
350
+ const hasOther = sup.context.find((other) => equalKey(other, subOther)) !== undefined
352
351
  return !!(hasChoosen && hasOther) && !hasOtherChosen
353
352
  }
354
353
 
@@ -367,7 +366,7 @@ const subPriority = (sub, sup) => {
367
366
  const chosen2 = choose(sup)
368
367
  const sameId = (id1, id2) => id1[0] == id2[0] && id1[1] == id2[1]
369
368
  // same length so only need one way
370
- const missing1 = chosen1.find( (id1) => !chosen2.find( (id2) => sameId(id1, id2)) )
369
+ const missing1 = chosen1.find((id1) => !chosen2.find((id2) => sameId(id1, id2)))
371
370
  if (missing1) {
372
371
  return false
373
372
  }
@@ -375,26 +374,26 @@ const subPriority = (sub, sup) => {
375
374
  return true
376
375
  }
377
376
 
378
- module.exports = {
377
+ module.exports = {
379
378
  ecatch,
380
379
  functionsToStrings,
381
380
  updateQueries,
382
381
  mapInPlace,
383
- validProps,
384
- args,
382
+ validProps,
383
+ args,
385
384
  safeNoDups,
386
- safeEquals,
387
- appendNoDups,
388
- hashIndexesGet,
389
- hashIndexesSet,
390
- translationMapping,
391
- normalizeGenerator,
392
- normalizeSemantic,
393
- isArray,
394
- isObject,
395
- isCompound,
396
- InitCalls,
397
- hashCode,
385
+ safeEquals,
386
+ appendNoDups,
387
+ hashIndexesGet,
388
+ hashIndexesSet,
389
+ translationMapping,
390
+ normalizeGenerator,
391
+ normalizeSemantic,
392
+ isArray,
393
+ isObject,
394
+ isCompound,
395
+ InitCalls,
396
+ hashCode,
398
397
  sortJson,
399
- subPriority,
398
+ subPriority
400
399
  }
package/src/project.js CHANGED
@@ -4,7 +4,7 @@ const project = (object, filter) => {
4
4
  return
5
5
  }
6
6
 
7
- let projection = {}
7
+ const projection = {}
8
8
  const set = (property, value) => {
9
9
  if (value === null || value === undefined) {
10
10
  return
@@ -13,13 +13,13 @@ const project = (object, filter) => {
13
13
  }
14
14
  if (Array.isArray(filter)) {
15
15
  if (Array.isArray(object)) {
16
- return object.map( element => project(element, filter) )
16
+ return object.map(element => project(element, filter))
17
17
  } else {
18
18
  for (let properties of filter) {
19
- if (typeof properties == 'function') {
19
+ if (typeof properties === 'function') {
20
20
  properties = properties(object)
21
21
  }
22
- if (typeof properties == 'object') {
22
+ if (typeof properties === 'object') {
23
23
  if (properties.propertyLists) {
24
24
  for (const propertyList in properties.propertyLists) {
25
25
  if (object[propertyList]) {
@@ -28,7 +28,7 @@ const project = (object, filter) => {
28
28
  }
29
29
  }
30
30
  }
31
- }
31
+ }
32
32
  if (properties.valueLists) {
33
33
  for (const listProperty in properties.valueLists) {
34
34
  const old = object[listProperty]
@@ -70,7 +70,7 @@ const project = (object, filter) => {
70
70
  }
71
71
  }
72
72
  }
73
- } else if (typeof filter == 'object') {
73
+ } else if (typeof filter === 'object') {
74
74
  for (const property of Object.keys(filter)) {
75
75
  set(property, project(object[property], filter[property]))
76
76
  }
@@ -79,5 +79,3 @@ const project = (object, filter) => {
79
79
  }
80
80
 
81
81
  module.exports = { project }
82
-
83
-
package/src/semantics.js CHANGED
@@ -25,7 +25,7 @@ class Semantic {
25
25
  toLabel () {
26
26
  const where = (this.where) ? `where: "${this.where}"` : ''
27
27
  if (!this.km) {
28
- return where;
28
+ return where
29
29
  }
30
30
  return `KM '${this.km}' ordinal: ${this.index} ${where}`
31
31
  }
@@ -55,24 +55,23 @@ class Semantic {
55
55
 
56
56
  // return this.matcher(Object.assign({}, argsBase, {args: contextArgs(context, hierarchy), objects: objects, global: objects, context: context, hierarchy: hierarchy, api: this.getAPI(config)})
57
57
  const callId = baseArgs.calls.current()
58
- const moreArgs = {
59
- uuid: this.uuid,
60
- args: contextArgs(context, hierarchy),
61
- objects,
62
- global: objects,
63
- context: context,
64
- // hierarchy: hierarchy,
65
- callId,
66
- api: this.getAPI(config),
67
- apis: this.getAPIs(config)
68
- }
58
+ const moreArgs = {
59
+ uuid: this.uuid,
60
+ args: contextArgs(context, hierarchy),
61
+ objects,
62
+ global: objects,
63
+ context: context,
64
+ // hierarchy: hierarchy,
65
+ callId,
66
+ api: this.getAPI(config),
67
+ apis: this.getAPIs(config)
68
+ }
69
69
  const args = Object.assign({}, baseArgs, moreArgs, (baseArgs.getUUIDScoped || (() => { return {} }))(this.uuid))
70
70
 
71
71
  const matches = this.matcher(args)
72
- if (matches && (options.debug || {}).match
73
- ||
72
+ if (matches && (options.debug || {}).match ||
74
73
  callId == this.callId) {
75
- debugger; // next line is the matcher
74
+ debugger // next line is the matcher
76
75
  this.matcher(args)
77
76
  }
78
77
  return matches
@@ -82,7 +81,7 @@ class Semantic {
82
81
  const { hierarchy, config, response } = baseArgs
83
82
  const objects = baseArgs.getObjects(this.uuid)
84
83
  if (config && config.debugLoops) {
85
- console.log("apply", this.toLabel())
84
+ console.log('apply', this.toLabel())
86
85
  }
87
86
  if (baseArgs.calls && config && baseArgs.calls.stack.length > config.maxDepth) {
88
87
  throw new Error(`Max depth of ${config.maxDepth} for calls has been exceeded. maxDepth can be set on the config object. To see the calls run with the --dl or set the debugLoops property on the config`)
@@ -99,26 +98,25 @@ class Semantic {
99
98
  n = (id) => config.nsToString(id)
100
99
  }
101
100
  const callId = baseArgs.calls.current()
102
- const moreArgs = {
103
- uuid: this.uuid,
104
- callId,
105
- args: contextArgs(context, hierarchy),
106
- objects,
107
- log,
108
- global: objects,
109
- n,
110
- context: contextPrime,
111
- uuid: this.uuid,
112
- // config,
113
- response,
114
- api: this.getAPI(config),
115
- apis: this.getAPIs(config)
101
+ const moreArgs = {
102
+ uuid: this.uuid,
103
+ callId,
104
+ args: contextArgs(context, hierarchy),
105
+ objects,
106
+ log,
107
+ global: objects,
108
+ n,
109
+ context: contextPrime,
110
+ uuid: this.uuid,
111
+ // config,
112
+ response,
113
+ api: this.getAPI(config),
114
+ apis: this.getAPIs(config)
116
115
  }
117
116
  const args = Object.assign({}, baseArgs, moreArgs, (baseArgs.getUUIDScoped || (() => { return {} }))(this.uuid))
118
- if ((options.debug || {}).apply
119
- ||
117
+ if ((options.debug || {}).apply ||
120
118
  callId == this.callId) {
121
- debugger;
119
+ debugger
122
120
  }
123
121
  if (args.breakOnSemantics) {
124
122
  debugger
@@ -161,10 +159,10 @@ class Semantics {
161
159
  this.calls = {}
162
160
  };
163
161
 
164
- getMostCalled() {
162
+ getMostCalled () {
165
163
  let maxOrdinal = 0
166
164
  let maxCounter = 0
167
- for (let ordinal in this.calls) {
165
+ for (const ordinal in this.calls) {
168
166
  const counter = this.calls[ordinal]
169
167
  if (counter > maxCounter) {
170
168
  maxOrdinal = ordinal
@@ -185,24 +183,24 @@ class Semantics {
185
183
  const s = (context, options) => this.apply(args, context, options)
186
184
  let applied = false
187
185
  const stack = args.calls.push()
188
- let counter = 0;
186
+ let counter = 0
189
187
  for (const isemantic in this.semantics) {
190
188
  const semantic = this.semantics[isemantic]
191
189
  if (!semantic) {
192
- debugger;
190
+ debugger
193
191
  }
194
192
  if (semantic.matches(args, context, options)) {
195
193
  if (!this.calls[counter]) {
196
- this.calls[counter] = 0;
194
+ this.calls[counter] = 0
197
195
  }
198
- this.calls[counter] += 1;
196
+ this.calls[counter] += 1
199
197
  const log = (message) => { this.logs.push(message) }
200
198
  try {
201
199
  contextPrime = semantic.apply(args, context, s, log, options)
202
200
  if (!contextPrime.controlKeepMotivation && semantic.oneShot) {
203
201
  args.config.removeSemantic(semantic)
204
202
  }
205
- } catch( e ) {
203
+ } catch (e) {
206
204
  contextPrime = null
207
205
  let errorMessage
208
206
  e.retryCall = () => semantic.apply(args, context, s, log, options)
@@ -214,8 +212,8 @@ class Semantics {
214
212
  const info = `${semantic.notes ? semantic.notes : ''}${semantic.where ? semantic.where : ''}`
215
213
  errorMessage = `Error applying semantics '${info}'. Error is ${e.error.join()}. Semantic is ${semantic.toString()}. ${help}`
216
214
  } else {
217
- errorMessage = e.toString();
218
- }
215
+ errorMessage = e.toString()
216
+ }
219
217
 
220
218
  const widths = [10, 10, 90]
221
219
  const lines = new Lines(widths)