Files
duckdb-ui/ts/pkgs/duckdb-data-values/src/DuckDBDecimalValue.ts
Jeff Raymakers 0edb52054a add duckdb-ui-client & other ts pkgs (#10)
* add duckdb-ui-client & other ts pkgs

* workflow fixes

* fix working dir

* no sparse checkout; specify package.json path

* path to pnpm-lock.yaml

* add check & build test

* workflow step descriptions

* use comments & names

* one more naming tweak
2025-06-13 09:16:05 -07:00

39 lines
947 B
TypeScript

import {
DuckDBDecimalFormatOptions,
stringFromDecimal,
} from './conversion/stringFromDecimal.js';
import { Json } from './Json.js';
import { SpecialDuckDBValue } from './SpecialDuckDBValue.js';
export class DuckDBDecimalValue extends SpecialDuckDBValue {
public readonly scaledValue: bigint;
public readonly scale: number;
constructor(scaledValue: bigint, scale: number) {
super();
this.scaledValue = scaledValue;
this.scale = scale;
}
public toDuckDBString(): string {
return stringFromDecimal(this.scaledValue, this.scale);
}
/** Returns a string representation appropriate to the host environment's current locale. */
public toLocaleString(
locales?: string | string[],
options?: DuckDBDecimalFormatOptions,
): string {
return stringFromDecimal(this.scaledValue, this.scale, {
locales,
options,
});
}
public toJson(): Json {
return this.toDuckDBString();
}
}