theprogrammablemind 8.0.0-beta.19 → 8.0.0-beta.20
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 +19 -63
package/package.json
CHANGED
package/src/config.js
CHANGED
@@ -1210,7 +1210,9 @@ class Config {
|
|
1210
1210
|
// console.log("instanceFragments", instanceFragments)
|
1211
1211
|
}
|
1212
1212
|
}
|
1213
|
-
if (startOfChanges
|
1213
|
+
if (startOfChanges) {
|
1214
|
+
return { needsRebuild: true, startOfChanges, previousResultss: instance.resultss }
|
1215
|
+
} else if (startOfChanges || instance.resultss) {
|
1214
1216
|
return { needsRebuild: !(instance && sameQueries && sameFragments), startOfChanges, previousResultss: instance.resultss }
|
1215
1217
|
} else {
|
1216
1218
|
return { needsRebuild: !(instance && sameQueries && sameFragments) }
|
@@ -1820,24 +1822,6 @@ class Config {
|
|
1820
1822
|
// when running configs any bridges added are marked as transitory so that the associated will ignore those op's
|
1821
1823
|
this.transitoryMode = false
|
1822
1824
|
|
1823
|
-
// check for duplicate bridges
|
1824
|
-
if (config && config.bridges) {
|
1825
|
-
let duplicated = new Set()
|
1826
|
-
const seen = new Set()
|
1827
|
-
for (const bridge of config.bridges) {
|
1828
|
-
const id = `${bridge.id}/${bridge.level}`
|
1829
|
-
if (seen.has(id)) {
|
1830
|
-
duplicated.add(id)
|
1831
|
-
} else {
|
1832
|
-
seen.add(id)
|
1833
|
-
}
|
1834
|
-
}
|
1835
|
-
duplicated = Array.from(duplicated)
|
1836
|
-
if (duplicated.length > 0) {
|
1837
|
-
throw new Error(`In the KM ${config.name}, the following operators are duplicated in the bridges: ${duplicated}`)
|
1838
|
-
}
|
1839
|
-
}
|
1840
|
-
|
1841
1825
|
if (config && config.words) {
|
1842
1826
|
initWords(config.words)
|
1843
1827
|
isValidWordDef(config.words)
|
@@ -1886,6 +1870,7 @@ class Config {
|
|
1886
1870
|
}
|
1887
1871
|
this.get('objects').namespaced[this._uuid] = {}
|
1888
1872
|
this.valid()
|
1873
|
+
this.checks()
|
1889
1874
|
debugConfigProps(this.config)
|
1890
1875
|
}
|
1891
1876
|
|
@@ -2631,7 +2616,7 @@ class Config {
|
|
2631
2616
|
|
2632
2617
|
this.hierarchy.edges = this.config.hierarchy
|
2633
2618
|
this.valid()
|
2634
|
-
this.
|
2619
|
+
this.checks()
|
2635
2620
|
}
|
2636
2621
|
|
2637
2622
|
nameToUUID (name) {
|
@@ -2845,6 +2830,11 @@ class Config {
|
|
2845
2830
|
}
|
2846
2831
|
}
|
2847
2832
|
|
2833
|
+
checks () {
|
2834
|
+
this.checkOperators()
|
2835
|
+
this.checkBridges()
|
2836
|
+
}
|
2837
|
+
|
2848
2838
|
checkOperators () {
|
2849
2839
|
if (!this.config.operators) {
|
2850
2840
|
return
|
@@ -2865,53 +2855,19 @@ class Config {
|
|
2865
2855
|
return
|
2866
2856
|
}
|
2867
2857
|
|
2868
|
-
|
2869
|
-
|
2870
|
-
"634a678b-8d92-4464-bf65-943a82f404d8": {
|
2871
|
-
"ids": [ "tankConcept" ],
|
2872
|
-
"namespace": [ "ns1" ]
|
2873
|
-
},
|
2874
|
-
console.log('before check', JSON.stringify(this._eqClasses, null, 2))
|
2875
|
-
*/
|
2876
|
-
|
2877
|
-
const errors = []
|
2878
|
-
/*
|
2879
|
-
const namespaces = this.config.namespaces
|
2880
|
-
const nsToIds = {}
|
2881
|
-
for (const uuid in namespaces) {
|
2882
|
-
const namespace = namespaces[uuid].namespace
|
2883
|
-
const ns = namespace.join('#')
|
2884
|
-
if (!nsToIds[ns]) {
|
2885
|
-
nsToIds[ns] = new Set()
|
2886
|
-
}
|
2887
|
-
const ids = nsToIds[ns]
|
2888
|
-
for (const id of namespaces[uuid].ids) {
|
2889
|
-
if (ids.has(id)) {
|
2890
|
-
if (ns === '') {
|
2891
|
-
const dups = this.config.bridges.filter( (bridge) => bridge.id == id )
|
2892
|
-
errors.push(`Id '${id}' is defined more than once in the bridges of the base namespace of the KM ${this.name}, Dups are ${JSON.stringify(dups)}`)
|
2893
|
-
} else {
|
2894
|
-
errors.push(`Id '${id}' is defined more than once in the bridges of the ${ns} namespace of the KM ${this.name}`)
|
2895
|
-
}
|
2896
|
-
} else {
|
2897
|
-
ids.add(id)
|
2898
|
-
}
|
2899
|
-
}
|
2900
|
-
}
|
2901
|
-
*/
|
2902
|
-
|
2903
|
-
const keyIsPresent = {}
|
2858
|
+
let duplicated = new Set()
|
2859
|
+
const seen = new Set()
|
2904
2860
|
for (const bridge of this.config.bridges) {
|
2905
|
-
const
|
2906
|
-
if (
|
2907
|
-
|
2861
|
+
const id = `${bridge.id}/${bridge.level} (namespace: ${bridge.uuid || this.uuid})`
|
2862
|
+
if (seen.has(id)) {
|
2863
|
+
duplicated.add(id)
|
2908
2864
|
} else {
|
2909
|
-
|
2865
|
+
seen.add(id)
|
2910
2866
|
}
|
2911
2867
|
}
|
2912
|
-
|
2913
|
-
if (
|
2914
|
-
throw
|
2868
|
+
duplicated = Array.from(duplicated)
|
2869
|
+
if (duplicated.length > 0) {
|
2870
|
+
throw new Error(`In the KM ${this.name}, the following operators are duplicated in the bridges: ${duplicated}`)
|
2915
2871
|
}
|
2916
2872
|
};
|
2917
2873
|
|