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
This commit is contained in:
38
ts/pkgs/duckdb-data-values/src/DuckDBDecimalValue.ts
Normal file
38
ts/pkgs/duckdb-data-values/src/DuckDBDecimalValue.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user