Some checks failed
Main Confidence / confidence (push) Failing after 45s
## Summary - introduce surface-aware compressed governance outcomes and reuse the shared truth/explanation seams for operator-first summaries - apply the compressed outcome hierarchy across baseline, evidence, review, review-pack, canonical review/evidence, and artifact-oriented operation-run surfaces - expand spec 214 fixtures and Pest coverage, and fix tenant-panel route assertions by generating explicit tenant-panel URLs in the affected Filament tests ## Validation - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - focused governance compression suite from `specs/214-governance-outcome-compression/quickstart.md` passed (`68` tests, `445` assertions) - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/InventoryItemResourceTest.php tests/Feature/Filament/BackupSetUiEnforcementTest.php tests/Feature/Filament/RestoreRunUiEnforcementTest.php` passed (`18` tests, `81` assertions) Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #253
100 lines
2.9 KiB
Plaintext
100 lines
2.9 KiB
Plaintext
import { entityKind } from "../../entity.js";
|
|
import { getColumnNameAndConfig, textDecoder } from "../../utils.js";
|
|
import { SQLiteColumn, SQLiteColumnBuilder } from "./common.js";
|
|
class SQLiteBigIntBuilder extends SQLiteColumnBuilder {
|
|
static [entityKind] = "SQLiteBigIntBuilder";
|
|
constructor(name) {
|
|
super(name, "bigint", "SQLiteBigInt");
|
|
}
|
|
/** @internal */
|
|
build(table) {
|
|
return new SQLiteBigInt(table, this.config);
|
|
}
|
|
}
|
|
class SQLiteBigInt extends SQLiteColumn {
|
|
static [entityKind] = "SQLiteBigInt";
|
|
getSQLType() {
|
|
return "blob";
|
|
}
|
|
mapFromDriverValue(value) {
|
|
if (typeof Buffer !== "undefined" && Buffer.from) {
|
|
const buf = Buffer.isBuffer(value) ? value : value instanceof ArrayBuffer ? Buffer.from(value) : value.buffer ? Buffer.from(value.buffer, value.byteOffset, value.byteLength) : Buffer.from(value);
|
|
return BigInt(buf.toString("utf8"));
|
|
}
|
|
return BigInt(textDecoder.decode(value));
|
|
}
|
|
mapToDriverValue(value) {
|
|
return Buffer.from(value.toString());
|
|
}
|
|
}
|
|
class SQLiteBlobJsonBuilder extends SQLiteColumnBuilder {
|
|
static [entityKind] = "SQLiteBlobJsonBuilder";
|
|
constructor(name) {
|
|
super(name, "json", "SQLiteBlobJson");
|
|
}
|
|
/** @internal */
|
|
build(table) {
|
|
return new SQLiteBlobJson(
|
|
table,
|
|
this.config
|
|
);
|
|
}
|
|
}
|
|
class SQLiteBlobJson extends SQLiteColumn {
|
|
static [entityKind] = "SQLiteBlobJson";
|
|
getSQLType() {
|
|
return "blob";
|
|
}
|
|
mapFromDriverValue(value) {
|
|
if (typeof Buffer !== "undefined" && Buffer.from) {
|
|
const buf = Buffer.isBuffer(value) ? value : value instanceof ArrayBuffer ? Buffer.from(value) : value.buffer ? Buffer.from(value.buffer, value.byteOffset, value.byteLength) : Buffer.from(value);
|
|
return JSON.parse(buf.toString("utf8"));
|
|
}
|
|
return JSON.parse(textDecoder.decode(value));
|
|
}
|
|
mapToDriverValue(value) {
|
|
return Buffer.from(JSON.stringify(value));
|
|
}
|
|
}
|
|
class SQLiteBlobBufferBuilder extends SQLiteColumnBuilder {
|
|
static [entityKind] = "SQLiteBlobBufferBuilder";
|
|
constructor(name) {
|
|
super(name, "buffer", "SQLiteBlobBuffer");
|
|
}
|
|
/** @internal */
|
|
build(table) {
|
|
return new SQLiteBlobBuffer(table, this.config);
|
|
}
|
|
}
|
|
class SQLiteBlobBuffer extends SQLiteColumn {
|
|
static [entityKind] = "SQLiteBlobBuffer";
|
|
mapFromDriverValue(value) {
|
|
if (Buffer.isBuffer(value)) {
|
|
return value;
|
|
}
|
|
return Buffer.from(value);
|
|
}
|
|
getSQLType() {
|
|
return "blob";
|
|
}
|
|
}
|
|
function blob(a, b) {
|
|
const { name, config } = getColumnNameAndConfig(a, b);
|
|
if (config?.mode === "json") {
|
|
return new SQLiteBlobJsonBuilder(name);
|
|
}
|
|
if (config?.mode === "bigint") {
|
|
return new SQLiteBigIntBuilder(name);
|
|
}
|
|
return new SQLiteBlobBufferBuilder(name);
|
|
}
|
|
export {
|
|
SQLiteBigInt,
|
|
SQLiteBigIntBuilder,
|
|
SQLiteBlobBuffer,
|
|
SQLiteBlobBufferBuilder,
|
|
SQLiteBlobJson,
|
|
SQLiteBlobJsonBuilder,
|
|
blob
|
|
};
|
|
//# sourceMappingURL=blob.js.map |