stringify-without-comments.ts
764 Bytes
/*
Copyright 2021 Google LLC
Use of this source code is governed by an MIT-style
license that can be found in the LICENSE file or at
https://opensource.org/licenses/MIT.
*/
import objectStringify from 'stringify-object';
import stripComments from 'strip-comments';
export function stringifyWithoutComments(obj: {[key: string]: any}): string {
return objectStringify(obj, {
// See https://github.com/yeoman/stringify-object#transformobject-property-originalresult
transform: (_obj: {[key: string]: any}, _prop, str) => {
if (typeof _prop !== 'symbol' && typeof _obj[_prop] === 'function') {
// Can't typify correctly stripComments
return stripComments(str); // eslint-disable-line
}
return str;
},
});
}