@@ -10,7 +10,7 @@ import { DOC_API_BASE_URL_VERSION } from '../constants.mjs';
1010 *
1111 * @param {Array<ApiDocMetadataEntry> } nodes The API metadata Nodes to be grouped
1212 */
13- export const groupNodesByModule = nodes => {
13+ export const groupNodesByModule = ( nodes ) => {
1414 /** @type {Map<string, Array<ApiDocMetadataEntry>> } */
1515 const groupedNodes = new Map ( ) ;
1616
@@ -30,7 +30,7 @@ export const groupNodesByModule = nodes => {
3030 *
3131 * @param {import('semver').SemVer } version The version to be parsed
3232 */
33- export const getVersionFromSemVer = version =>
33+ export const getVersionFromSemVer = ( version ) =>
3434 version . minor === 0
3535 ? `${ version . major } .x`
3636 : `${ version . major } .${ version . minor } .x` ;
@@ -54,7 +54,7 @@ export const getVersionURL = (version, api) =>
5454 * @param {string|import('semver').SemVer } version SemVer compatible version (maybe)
5555 * @returns {import('semver').SemVer } SemVer compatible version
5656 */
57- export const coerceSemVer = version => {
57+ export const coerceSemVer = ( version ) => {
5858 const coercedVersion = coerce ( version ) ;
5959
6060 if ( coercedVersion === null ) {
@@ -77,7 +77,7 @@ export const getCompatibleVersions = (introduced, releases) => {
7777 const coercedMajor = major ( coerceSemVer ( introduced ) ) ;
7878 // All Node.js versions that support the current API; If there's no "introduced_at" field,
7979 // we simply show all versions, as we cannot pinpoint the exact version
80- return releases . filter ( release => release . version . major >= coercedMajor ) ;
80+ return releases . filter ( ( release ) => release . version . major >= coercedMajor ) ;
8181} ;
8282
8383/**
@@ -108,4 +108,48 @@ export const sortChanges = (changes, key = 'version') => {
108108 * @param {Object } source - The source object
109109 */
110110export const leftHandAssign = ( target , source ) =>
111- Object . keys ( source ) . forEach ( k => k in target || ( target [ k ] = source [ k ] ) ) ;
111+ Object . keys ( source ) . forEach ( ( k ) => k in target || ( target [ k ] = source [ k ] ) ) ;
112+
113+ export const legacyToJSON = ( section ) =>
114+ JSON . stringify (
115+ section ,
116+ [
117+ // TODO: remove this array once all the additional keys have been introduced downstream
118+ 'added' ,
119+ 'changes' ,
120+ 'classes' ,
121+ 'classMethods' ,
122+ 'commit' ,
123+ 'ctors' ,
124+ 'default' ,
125+ 'deprecated' ,
126+ 'desc' ,
127+ 'description' ,
128+ 'displayName' ,
129+ 'events' ,
130+ 'examples' ,
131+ 'globals' ,
132+ 'introduced_in' ,
133+ 'meta' ,
134+ 'methods' ,
135+ 'miscs' ,
136+ ...( section . api === 'index' ? [ ] : [ 'modules' ] ) ,
137+ 'name' ,
138+ 'napiVersion' ,
139+ 'options' ,
140+ 'params' ,
141+ 'pr-url' ,
142+ 'properties' ,
143+ 'removed' ,
144+ 'return' ,
145+ 'shortDesc' ,
146+ 'signatures' ,
147+ 'source' ,
148+ 'stability' ,
149+ 'stabilityText' ,
150+ 'textRaw' ,
151+ 'type' ,
152+ 'version' ,
153+ ] ,
154+ 2
155+ ) ;
0 commit comments