alinea
Version:
Headless git-based CMS
53 lines (51 loc) • 1.32 kB
JavaScript
import "../chunks/chunk-NZLE2WMY.js";
// src/core/Field.ts
import { Expr } from "./Expr.js";
import { getField, hasField, internalField } from "./Internal.js";
var Field = class extends Expr {
[internalField];
constructor(data) {
super({ type: "field" });
this[internalField] = { ref: Symbol(), ...data };
}
};
((Field2) => {
function ref(field) {
return getField(field).ref;
}
Field2.ref = ref;
function shape(field) {
return getField(field).shape;
}
Field2.shape = shape;
function label(field) {
return getField(field).options.label;
}
Field2.label = label;
function initialValue(field) {
return getField(field).options.initialValue;
}
Field2.initialValue = initialValue;
function view(field) {
return getField(field).view;
}
Field2.view = view;
function referencedViews(field) {
const fieldView = Field2.view(field);
if (typeof fieldView === "string")
return [fieldView, ...getField(field).referencedViews];
return getField(field).referencedViews;
}
Field2.referencedViews = referencedViews;
function options(field) {
return getField(field).options;
}
Field2.options = options;
function isField(value) {
return value && hasField(value);
}
Field2.isField = isField;
})(Field || (Field = {}));
export {
Field
};