Skip to content

Commit 6b8de7f

Browse files
authored
Bugfix: standard version being showed both stable and deprecated (#132)
resolves standards/#446 Signed-off-by: Matthias Büchse <[email protected]>
1 parent 906a51c commit 6b8de7f

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

populateStds.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,14 @@ filenames.forEach((filename) => {
3434
id: filename.substring(0, filename.length - 3),
3535
adrId: components[1],
3636
version: components[2],
37+
status: {},
3738
}
38-
obj.isStable = obj.stabilized_at !== undefined && obj.stabilized_at <= today
39-
obj.isObsolete = obj.obsoleted_at !== undefined && obj.obsoleted_at <= today
40-
obj.isEffective = obj.isStable && !obj.isObsolete
39+
// now calculate the properties for the columns (plus stable0 as a helper)
40+
obj.status.draft = obj.stabilized_at === undefined
41+
obj.status.stable0 = !obj.status.draft && obj.stabilized_at <= today
42+
obj.status.deprecated = obj.obsoleted_at !== undefined && obj.obsoleted_at < today
43+
obj.status.stable = !obj.status.draft && !obj.status.stable0 && !obj.status.deprecated
44+
obj.status.effective = obj.status.stable0 && !obj.status.deprecated
4145
var track = obj.track
4246
if (track === undefined) return
4347
if (tracks[track] === undefined) tracks[track] = {}
@@ -100,12 +104,8 @@ ${headerLegend}
100104
tlines.push('| --------- | ------------ | ----- | ------- | --------- | ----------- |')
101105
Object.entries(trackEntry[1]).forEach((standardEntry) => {
102106
var versions = standardEntry[1].versions
103-
// unfortunately, some standards are obsolete without being stable
104-
var draftVersions = versions.filter((v) => v.stabilized_at === undefined && v.obsoleted_at === undefined)
105-
var stableVersions = versions.filter((v) => v.stabilized_at !== undefined && !v.isEffective)
106-
var effectiveVersions = versions.filter((v) => v.isEffective)
107-
var deprecatedVersions = versions.filter((v) => v.isObsolete)
108107
var ref = versions[versions.length - 1]
108+
var effectiveVersions = versions.filter((v) => v.status.effective)
109109
if (effectiveVersions.length) {
110110
ref = effectiveVersions[effectiveVersions.length - 1]
111111
}
@@ -130,7 +130,9 @@ ${headerLegend}
130130
slines.push('| Version | Type | State | stabilized | obsoleted |')
131131
slines.push('| -------- | ----- | ------- | ---------- | --------- |')
132132
var link = `[scs-${adrId}](/standards/${track.toLowerCase()}/scs-${adrId})`
133-
var versionList = `${mkLinkList(draftVersions) || '-'} | ${mkLinkList(stableVersions) || '-'} | ${mkLinkList(effectiveVersions) || '-'} | ${mkLinkList(deprecatedVersions) || '-'}`
133+
var versionList = ['draft', 'stable', 'effective', 'deprecated'].map(
134+
(column) => mkLinkList(versions.filter((v) => v.status[column])) || '-'
135+
).join(' | ')
134136
lines.push(`| ${link} | ${track} | ${ref.title} | ${versionList} |`)
135137
tlines.push(`| ${link} | ${ref.title} | ${versionList} |`)
136138
standardEntry[1].versions.forEach((obj) => {

0 commit comments

Comments
 (0)