import { IdentifierNode } from '../../operation-node/identifier-node.js' ; import { OperationNodeTransformer } from '../../operation-node/operation-node-transformer.js' ; import { StringMapper } from './camel-case.js' ; export class SnakeCaseTransformer extends OperationNodeTransformer { readonly #snakeCase : StringMapper ; constructor ( snakeCase ) { super ( ) ; this . #snakeCase = snakeCase ; } protected override transformIdentifier ( node ) { node = super . transformIdentifier ( node ) ; return { ... node , identifier : this . #snakeCase ( node . identifier ) , } ; } }