diff --git a/server/typescript/packages/docs-site/src/builders/object-data.ts b/server/typescript/packages/docs-site/src/builders/object-data.ts index 0d4914eac..09001aec4 100644 --- a/server/typescript/packages/docs-site/src/builders/object-data.ts +++ b/server/typescript/packages/docs-site/src/builders/object-data.ts @@ -27,7 +27,24 @@ function neighborAttrs(o: MetaData): { attrs: ErAttr[]; more: number } { } export interface EnumValue { value: string; deflt: boolean; desc: string; } -export interface FieldRow { name: string; type: string; isArray: boolean; required: boolean; badgesHtml: string; desc: string; enumValues: EnumValue[]; refHref?: string | undefined; refName?: string | undefined; inheritedFrom?: { name: string; href: string } | undefined; anchor: string; } +/** A field's presentation view child (e.g. view.currency / view.badge) + its + * attrs, both HTML-escaped in the builder (this render lib does not escape). */ +export interface ViewAttr { name: string; value: string; } +export interface ViewRow { subType: string; attrs: ViewAttr[]; } +export interface FieldRow { name: string; type: string; isArray: boolean; required: boolean; badgesHtml: string; desc: string; enumValues: EnumValue[]; views: ViewRow[]; refHref?: string | undefined; refName?: string | undefined; inheritedFrom?: { name: string; href: string } | undefined; anchor: string; } + +/** Render an attr value for display: an object (e.g. view.badge @variantMap) as + * ordered `k: v` pairs, an array as a comma list, else the scalar. */ +function fmtAttrValue(v: unknown): string { + if (v !== null && typeof v === "object" && !Array.isArray(v)) { + return Object.entries(v as Record) + .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)) + .map(([k, vv]) => `${k}: ${vv}`) + .join(", "); + } + if (Array.isArray(v)) return v.map(String).join(", "); + return String(v); +} export interface IndexRow { name: string; kind: string; fields: string; extra: string; unique: boolean; } export interface ValidatorRow { scope: "field" | "object"; subject: string; rule: string; // human-readable, HTML-escaped } @@ -88,8 +105,18 @@ function fieldRow(f: MetaData, ownerHref: string, g: LinkGraph, cov: CoverageTra })); } } + // presentation view children (view.currency / view.badge / view.meter / …) + their + // attrs — consumed + rendered so a field's render-semantics appear in the docs. + const views: ViewRow[] = []; + for (const v of f.childrenOfType("view")) { + cov.consumeNode(v); + const vAttrs = [...v.ownAttrs()] + .sort(([an], [bn]) => (an < bn ? -1 : an > bn ? 1 : 0)) + .map(([an, av]) => { cov.consumeAttr(v, an); return { name: esc(an), value: esc(fmtAttrValue(av)) }; }); + views.push({ subType: esc(v.subType), attrs: vAttrs }); + } const desc = esc(a("description") ?? ""); - return { name: f.name, type: f.subType, isArray: f.resolvedIsArray(), required, badgesHtml: bits.join(" "), desc, enumValues, refHref, refName, inheritedFrom: undefined, anchor: `f-${f.name}` }; + return { name: f.name, type: f.subType, isArray: f.resolvedIsArray(), required, badgesHtml: bits.join(" "), desc, enumValues, views, refHref, refName, inheritedFrom: undefined, anchor: `f-${f.name}` }; } // Neighborhood edge label: relationship edges show their name + (M:N) junction + onDelete; extends/others show via. diff --git a/server/typescript/packages/docs-site/templates/object.html.mustache b/server/typescript/packages/docs-site/templates/object.html.mustache index a5ac8f773..36b10a786 100644 --- a/server/typescript/packages/docs-site/templates/object.html.mustache +++ b/server/typescript/packages/docs-site/templates/object.html.mustache @@ -12,6 +12,7 @@
{{#ownFields}} {{#enumValues.length}}{{/enumValues.length}} +{{#views.length}}{{/views.length}} {{/ownFields}}
FieldTypeDescription
{{name}}{{#isArray}}[]{{/isArray}}{{type}}{{{badgesHtml}}}{{desc}}
{{#enumValues}}{{value}}{{#deflt}} ★{{/deflt}}{{/enumValues}}
{{#views}}view.{{subType}}{{#attrs}}@{{name}}={{value}}{{/attrs}}{{/views}}
{{#inheritedFields.length}}
Inherited fields ({{inheritedFields.length}})
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/ItemView.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/ItemView.html index f077a741a..506cf36be 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/ItemView.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/ItemView.html @@ -59,6 +59,7 @@

ItemView

+
FieldTypeDescription
labelstring
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcPayload.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcPayload.html index 37b53c908..d9280911c 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcPayload.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcPayload.html @@ -59,8 +59,10 @@

NpcPayload
+ +
FieldTypeDescription
npcNamestringrequired
items[]object⊃ ItemView
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcResponse.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcResponse.html index d166a992c..f6c549300 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcResponse.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/NpcResponse.html @@ -59,8 +59,10 @@

NpcResponse
+ +
FieldTypeDescription
verdictstringverdict <b>tag</b> & "quote"
reasonstring@xmlText
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/OrderLine.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/OrderLine.html index 1bb9c3f6d..f9235356f 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/OrderLine.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/ai/OrderLine.html @@ -59,8 +59,10 @@

OrderLine
+ +
FieldTypeDescription
orderIduuid
lineNoint
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/common/BaseEntity.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/common/BaseEntity.html index 629f2ac8c..144b65da0 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/common/BaseEntity.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/common/BaseEntity.html @@ -59,8 +59,10 @@

BaseEntity
+ +
FieldTypeDescription
idstringrequired ≤36 uuid
createdAttimestamp
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Customer.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Customer.html index a894aeb61..2c925193e 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Customer.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Customer.html @@ -59,6 +59,7 @@

Customer
+
FieldTypeDescription
emailstringrequired ≤120
Inherited fields (2)
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerFriend.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerFriend.html index 71ea1bd2c..8225bc671 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerFriend.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerFriend.html @@ -59,8 +59,10 @@

CustomerFriend

id ↑ BaseEntitystringrequired ≤36 uuid
createdAt ↑ BaseEntitytimestamp
+ +
FieldTypeDescription
friendAIdstring≤36
friendBIdstring≤36
Inherited fields (2)
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerReferral.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerReferral.html index 624eed370..aee633c5a 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerReferral.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/CustomerReferral.html @@ -59,8 +59,10 @@

CustomerReferral

id ↑ BaseEntitystringrequired ≤36 uuid
createdAt ↑ BaseEntitytimestamp
+ +
FieldTypeDescription
referrerIdstring≤36
referredIdstring≤36
Inherited fields (2)
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/LineItemView.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/LineItemView.html index 7ec6fe5f7..ad44e52fa 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/LineItemView.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/LineItemView.html @@ -59,8 +59,10 @@

LineItemView

id ↑ BaseEntitystringrequired ≤36 uuid
createdAt ↑ BaseEntitytimestamp
+ +
FieldTypeDescription
orderIdstring→ Order
customerNamestring
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Order.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Order.html index 92bc669bf..8a4cc1aa9 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Order.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Order.html @@ -59,10 +59,13 @@

Order
+ + +
FieldTypeDescription
statusenumdefault OPEN enum
OPEN ★CLOSED
qtyintdefault 1 min=1 max=99
customerIdstring≤36
Inherited fields (2)
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrderProduct.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrderProduct.html index b42e739d9..e5ab4d0bd 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrderProduct.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrderProduct.html @@ -59,8 +59,10 @@

OrderProduct

id ↑ BaseEntitystringrequired ≤36 uuid
createdAt ↑ BaseEntitytimestamp
+ +
FieldTypeDescription
orderIdstring≤36
productIdstring≤36
Inherited fields (2)
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrphanLog.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrphanLog.html index c681c535c..4fea0130e 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrphanLog.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/OrphanLog.html @@ -59,6 +59,7 @@

OrphanLog

id ↑ BaseEntitystringrequired ≤36 uuid
createdAt ↑ BaseEntitytimestamp
+
FieldTypeDescription
linestring
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Product.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Product.html index 00e5a0f34..4c1f67c3c 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Product.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/Product.html @@ -59,6 +59,10 @@

Product
+ + + +
FieldTypeDescription
skustringrequired ≤40
priceCentsint
view.currency@decimals=2@locale=en-US
Inherited fields (2)
diff --git a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/index.html b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/index.html index 4c2ea3983..221fb1203 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/index.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/acme/shop/index.html @@ -82,7 +82,7 @@

Fixture

Objects

id ↑ BaseEntitystringrequired ≤36 uuid
createdAt ↑ BaseEntitytimestamp
- +
NameKindTableFieldsExtends
Customerentitycustomers3BaseEntity
CustomerFriendentitycustomer_friends4BaseEntity
CustomerReferralentitycustomer_referrals4BaseEntity
LineItemViewprojectionv_line_item2
Orderentityorders5BaseEntity
OrderProductentityorder_products4BaseEntity
OrphanLogentity1
Productentityproducts3BaseEntity
Customerentitycustomers3BaseEntity
CustomerFriendentitycustomer_friends4BaseEntity
CustomerReferralentitycustomer_referrals4BaseEntity
LineItemViewprojectionv_line_item2
Orderentityorders5BaseEntity
OrderProductentityorder_products4BaseEntity
OrphanLogentity1
Productentityproducts4BaseEntity

Referenced by

diff --git a/server/typescript/packages/docs-site/test/fixture/golden/assets/search-index.json b/server/typescript/packages/docs-site/test/fixture/golden/assets/search-index.json index 6e8ac5a11..81758ee4b 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/assets/search-index.json +++ b/server/typescript/packages/docs-site/test/fixture/golden/assets/search-index.json @@ -1 +1 @@ -[{"t":"acme::ai::ItemView","h":"acme/ai/ItemView.html","k":"object"},{"t":"acme::ai::NpcPayload","h":"acme/ai/NpcPayload.html","k":"object"},{"t":"acme::ai::NpcResponse","h":"acme/ai/NpcResponse.html","k":"object"},{"t":"acme::ai::npcReview","h":"acme/ai/npcReview.html","k":"prompt"},{"t":"acme::ai::npcReviewOutput","h":"acme/ai/npcReviewOutput.html","k":"output"},{"t":"acme::ai::OrderLine","h":"acme/ai/OrderLine.html","k":"object"},{"t":"acme::ai::OrphanVO","h":"acme/ai/OrphanVO.html","k":"object"},{"t":"acme::common::BaseEntity","h":"acme/common/BaseEntity.html","k":"object"},{"t":"acme::shop::Customer","h":"acme/shop/Customer.html","k":"object"},{"t":"acme::shop::CustomerFriend","h":"acme/shop/CustomerFriend.html","k":"object"},{"t":"acme::shop::CustomerReferral","h":"acme/shop/CustomerReferral.html","k":"object"},{"t":"acme::shop::LineItemView","h":"acme/shop/LineItemView.html","k":"object"},{"t":"acme::shop::Order","h":"acme/shop/Order.html","k":"object"},{"t":"acme::shop::OrderProduct","h":"acme/shop/OrderProduct.html","k":"object"},{"t":"acme::shop::OrphanLog","h":"acme/shop/OrphanLog.html","k":"object"},{"t":"acme::shop::Product","h":"acme/shop/Product.html","k":"object"},{"t":"BaseEntity.createdAt","h":"acme/common/BaseEntity.html#f-createdAt","k":"field"},{"t":"BaseEntity.id","h":"acme/common/BaseEntity.html#f-id","k":"field"},{"t":"Customer.createdAt","h":"acme/shop/Customer.html#f-createdAt","k":"field"},{"t":"Customer.email","h":"acme/shop/Customer.html#f-email","k":"field"},{"t":"Customer.id","h":"acme/shop/Customer.html#f-id","k":"field"},{"t":"CustomerFriend.createdAt","h":"acme/shop/CustomerFriend.html#f-createdAt","k":"field"},{"t":"CustomerFriend.friendAId","h":"acme/shop/CustomerFriend.html#f-friendAId","k":"field"},{"t":"CustomerFriend.friendBId","h":"acme/shop/CustomerFriend.html#f-friendBId","k":"field"},{"t":"CustomerFriend.id","h":"acme/shop/CustomerFriend.html#f-id","k":"field"},{"t":"CustomerReferral.createdAt","h":"acme/shop/CustomerReferral.html#f-createdAt","k":"field"},{"t":"CustomerReferral.id","h":"acme/shop/CustomerReferral.html#f-id","k":"field"},{"t":"CustomerReferral.referredId","h":"acme/shop/CustomerReferral.html#f-referredId","k":"field"},{"t":"CustomerReferral.referrerId","h":"acme/shop/CustomerReferral.html#f-referrerId","k":"field"},{"t":"ItemView.label","h":"acme/ai/ItemView.html#f-label","k":"field"},{"t":"LineItemView.customerName","h":"acme/shop/LineItemView.html#f-customerName","k":"field"},{"t":"LineItemView.orderId","h":"acme/shop/LineItemView.html#f-orderId","k":"field"},{"t":"NpcPayload.items","h":"acme/ai/NpcPayload.html#f-items","k":"field"},{"t":"NpcPayload.npcName","h":"acme/ai/NpcPayload.html#f-npcName","k":"field"},{"t":"NpcResponse.reason","h":"acme/ai/NpcResponse.html#f-reason","k":"field"},{"t":"NpcResponse.verdict","h":"acme/ai/NpcResponse.html#f-verdict","k":"field"},{"t":"Order.createdAt","h":"acme/shop/Order.html#f-createdAt","k":"field"},{"t":"Order.customerId","h":"acme/shop/Order.html#f-customerId","k":"field"},{"t":"Order.id","h":"acme/shop/Order.html#f-id","k":"field"},{"t":"Order.qty","h":"acme/shop/Order.html#f-qty","k":"field"},{"t":"Order.status","h":"acme/shop/Order.html#f-status","k":"field"},{"t":"OrderLine.lineNo","h":"acme/ai/OrderLine.html#f-lineNo","k":"field"},{"t":"OrderLine.orderId","h":"acme/ai/OrderLine.html#f-orderId","k":"field"},{"t":"OrderProduct.createdAt","h":"acme/shop/OrderProduct.html#f-createdAt","k":"field"},{"t":"OrderProduct.id","h":"acme/shop/OrderProduct.html#f-id","k":"field"},{"t":"OrderProduct.orderId","h":"acme/shop/OrderProduct.html#f-orderId","k":"field"},{"t":"OrderProduct.productId","h":"acme/shop/OrderProduct.html#f-productId","k":"field"},{"t":"OrphanLog.line","h":"acme/shop/OrphanLog.html#f-line","k":"field"},{"t":"Product.createdAt","h":"acme/shop/Product.html#f-createdAt","k":"field"},{"t":"Product.id","h":"acme/shop/Product.html#f-id","k":"field"},{"t":"Product.sku","h":"acme/shop/Product.html#f-sku","k":"field"}] \ No newline at end of file +[{"t":"acme::ai::ItemView","h":"acme/ai/ItemView.html","k":"object"},{"t":"acme::ai::NpcPayload","h":"acme/ai/NpcPayload.html","k":"object"},{"t":"acme::ai::NpcResponse","h":"acme/ai/NpcResponse.html","k":"object"},{"t":"acme::ai::npcReview","h":"acme/ai/npcReview.html","k":"prompt"},{"t":"acme::ai::npcReviewOutput","h":"acme/ai/npcReviewOutput.html","k":"output"},{"t":"acme::ai::OrderLine","h":"acme/ai/OrderLine.html","k":"object"},{"t":"acme::ai::OrphanVO","h":"acme/ai/OrphanVO.html","k":"object"},{"t":"acme::common::BaseEntity","h":"acme/common/BaseEntity.html","k":"object"},{"t":"acme::shop::Customer","h":"acme/shop/Customer.html","k":"object"},{"t":"acme::shop::CustomerFriend","h":"acme/shop/CustomerFriend.html","k":"object"},{"t":"acme::shop::CustomerReferral","h":"acme/shop/CustomerReferral.html","k":"object"},{"t":"acme::shop::LineItemView","h":"acme/shop/LineItemView.html","k":"object"},{"t":"acme::shop::Order","h":"acme/shop/Order.html","k":"object"},{"t":"acme::shop::OrderProduct","h":"acme/shop/OrderProduct.html","k":"object"},{"t":"acme::shop::OrphanLog","h":"acme/shop/OrphanLog.html","k":"object"},{"t":"acme::shop::Product","h":"acme/shop/Product.html","k":"object"},{"t":"BaseEntity.createdAt","h":"acme/common/BaseEntity.html#f-createdAt","k":"field"},{"t":"BaseEntity.id","h":"acme/common/BaseEntity.html#f-id","k":"field"},{"t":"Customer.createdAt","h":"acme/shop/Customer.html#f-createdAt","k":"field"},{"t":"Customer.email","h":"acme/shop/Customer.html#f-email","k":"field"},{"t":"Customer.id","h":"acme/shop/Customer.html#f-id","k":"field"},{"t":"CustomerFriend.createdAt","h":"acme/shop/CustomerFriend.html#f-createdAt","k":"field"},{"t":"CustomerFriend.friendAId","h":"acme/shop/CustomerFriend.html#f-friendAId","k":"field"},{"t":"CustomerFriend.friendBId","h":"acme/shop/CustomerFriend.html#f-friendBId","k":"field"},{"t":"CustomerFriend.id","h":"acme/shop/CustomerFriend.html#f-id","k":"field"},{"t":"CustomerReferral.createdAt","h":"acme/shop/CustomerReferral.html#f-createdAt","k":"field"},{"t":"CustomerReferral.id","h":"acme/shop/CustomerReferral.html#f-id","k":"field"},{"t":"CustomerReferral.referredId","h":"acme/shop/CustomerReferral.html#f-referredId","k":"field"},{"t":"CustomerReferral.referrerId","h":"acme/shop/CustomerReferral.html#f-referrerId","k":"field"},{"t":"ItemView.label","h":"acme/ai/ItemView.html#f-label","k":"field"},{"t":"LineItemView.customerName","h":"acme/shop/LineItemView.html#f-customerName","k":"field"},{"t":"LineItemView.orderId","h":"acme/shop/LineItemView.html#f-orderId","k":"field"},{"t":"NpcPayload.items","h":"acme/ai/NpcPayload.html#f-items","k":"field"},{"t":"NpcPayload.npcName","h":"acme/ai/NpcPayload.html#f-npcName","k":"field"},{"t":"NpcResponse.reason","h":"acme/ai/NpcResponse.html#f-reason","k":"field"},{"t":"NpcResponse.verdict","h":"acme/ai/NpcResponse.html#f-verdict","k":"field"},{"t":"Order.createdAt","h":"acme/shop/Order.html#f-createdAt","k":"field"},{"t":"Order.customerId","h":"acme/shop/Order.html#f-customerId","k":"field"},{"t":"Order.id","h":"acme/shop/Order.html#f-id","k":"field"},{"t":"Order.qty","h":"acme/shop/Order.html#f-qty","k":"field"},{"t":"Order.status","h":"acme/shop/Order.html#f-status","k":"field"},{"t":"OrderLine.lineNo","h":"acme/ai/OrderLine.html#f-lineNo","k":"field"},{"t":"OrderLine.orderId","h":"acme/ai/OrderLine.html#f-orderId","k":"field"},{"t":"OrderProduct.createdAt","h":"acme/shop/OrderProduct.html#f-createdAt","k":"field"},{"t":"OrderProduct.id","h":"acme/shop/OrderProduct.html#f-id","k":"field"},{"t":"OrderProduct.orderId","h":"acme/shop/OrderProduct.html#f-orderId","k":"field"},{"t":"OrderProduct.productId","h":"acme/shop/OrderProduct.html#f-productId","k":"field"},{"t":"OrphanLog.line","h":"acme/shop/OrphanLog.html#f-line","k":"field"},{"t":"Product.createdAt","h":"acme/shop/Product.html#f-createdAt","k":"field"},{"t":"Product.id","h":"acme/shop/Product.html#f-id","k":"field"},{"t":"Product.priceCents","h":"acme/shop/Product.html#f-priceCents","k":"field"},{"t":"Product.sku","h":"acme/shop/Product.html#f-sku","k":"field"}] \ No newline at end of file diff --git a/server/typescript/packages/docs-site/test/fixture/golden/coverage.html b/server/typescript/packages/docs-site/test/fixture/golden/coverage.html index 7cee1431d..87a5e1143 100644 --- a/server/typescript/packages/docs-site/test/fixture/golden/coverage.html +++ b/server/typescript/packages/docs-site/test/fixture/golden/coverage.html @@ -50,12 +50,12 @@

Coverage

Node kinds

- +
KindCountRendered
field.enum2✓
field.int2✓
field.object1✓
field.string17✓
field.timestamp1✓
field.uuid1✓
identity.primary1✓
identity.reference8✓
index.lookup1✓
object.entity9✓
object.projection1✓
object.value4✓
origin.passthrough1✓
relationship.association4✓
source.rdb8✓
template.output1✓
template.prompt1✓
validator.comparison1✓
validator.numeric1✓
field.enum2✓
field.int3✓
field.object1✓
field.string17✓
field.timestamp1✓
field.uuid1✓
identity.primary1✓
identity.reference8✓
index.lookup1✓
object.entity9✓
object.projection1✓
object.value4✓
origin.passthrough1✓
relationship.association4✓
source.rdb8✓
template.output1✓
template.prompt1✓
validator.comparison1✓
validator.numeric1✓
view.currency1✓

Attributes

- +
AttributeCountRendered
field:@dbColumnType1✓
field:@default2✓
field:@description1✓
field:@maxLength10✓
field:@objectRef2✓
field:@required4✓
field:@storage1✗
field:@values1✓
field:@xmlText1✓
identity:@fields9✓
identity:@generation1✓
identity:@references8✓
index:@fields1✓
index:@orders1✓
index:@where1✓
object:@description1✓
origin:@from1✓
origin:@via1✓
relationship:@cardinality4✓
relationship:@objectRef4✓
relationship:@onDelete1✗
relationship:@sourceRefField1✗
relationship:@symmetric1✗
relationship:@through3✗
source:@kind1✓
source:@table8✓
template:@format2✓
template:@payloadRef2✓
template:@textRef2✓
validator:@left1✓
validator:@max1✓
validator:@min1✓
validator:@op1✓
validator:@right1✓
field:@dbColumnType1✓
field:@default2✓
field:@description1✓
field:@maxLength10✓
field:@objectRef2✓
field:@required4✓
field:@storage1✗
field:@values1✓
field:@xmlText1✓
identity:@fields9✓
identity:@generation1✓
identity:@references8✓
index:@fields1✓
index:@orders1✓
index:@where1✓
object:@description1✓
origin:@from1✓
origin:@via1✓
relationship:@cardinality4✓
relationship:@objectRef4✓
relationship:@onDelete1✗
relationship:@sourceRefField1✗
relationship:@symmetric1✗
relationship:@through3✗
source:@kind1✓
source:@table8✓
template:@format2✓
template:@payloadRef2✓
template:@textRef2✓
validator:@left1✓
validator:@max1✓
validator:@min1✓
validator:@op1✓
validator:@right1✓
view:@decimals1✓
view:@locale1✓

Anomalies

diff --git a/server/typescript/packages/docs-site/test/fixture/input/acme/shop/meta.shop.yaml b/server/typescript/packages/docs-site/test/fixture/input/acme/shop/meta.shop.yaml index c678c6f0a..46f4db385 100644 --- a/server/typescript/packages/docs-site/test/fixture/input/acme/shop/meta.shop.yaml +++ b/server/typescript/packages/docs-site/test/fixture/input/acme/shop/meta.shop.yaml @@ -36,6 +36,10 @@ metadata: extends: acme::common::BaseEntity children: - field.string: { name: sku, required: true, maxLength: 40 } + - field.int: + name: priceCents + children: + - view.currency: { locale: en-US, decimals: 2 } - source.rdb: { table: products } - object.entity: name: OrderProduct