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