Skip to content

Instantly share code, notes, and snippets.

@trevorparscal
Last active July 8, 2025 15:46
Show Gist options
  • Save trevorparscal/e92e430405a85dd48a6d5edda15c248f to your computer and use it in GitHub Desktop.
Save trevorparscal/e92e430405a85dd48a6d5edda15c248f to your computer and use it in GitHub Desktop.
Get the plain text of a SurrealDB prepared query
import { jsonify } from 'surrealdb';
/**
* Get the plain text of a SurrealDB prepared query.
*
* @param query Query to get text for
* @return Plain text of prepared query
*/
export function stringifyPreparedQuery( query: PreparedQuery ) {
const [ text, bindings ] = decodeCbor( query.build() );
let interpolatedQuery = text.trim();
for ( const [ k, v ] of Object.entries( bindings ) ) {
interpolatedQuery = interpolatedQuery.replace(
`$${k}`,
JSON.stringify( jsonify( v ) )
);
}
return interpolatedQuery;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment