@contractspec/example.marketplace 1.57.0 → 1.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/docs/index.js +103 -0
- package/dist/browser/docs/marketplace.docblock.js +103 -0
- package/dist/browser/entities/index.js +721 -0
- package/dist/browser/entities/order.js +167 -0
- package/dist/browser/entities/payout.js +142 -0
- package/dist/browser/entities/product.js +152 -0
- package/dist/browser/entities/review.js +129 -0
- package/dist/browser/entities/store.js +97 -0
- package/dist/browser/example.js +42 -0
- package/dist/browser/handlers/index.js +303 -0
- package/dist/browser/handlers/marketplace.handlers.js +303 -0
- package/dist/browser/index.js +2016 -0
- package/dist/browser/marketplace.capability.js +40 -0
- package/dist/browser/marketplace.feature.js +137 -0
- package/dist/browser/order/index.js +307 -0
- package/dist/browser/order/order.enum.js +17 -0
- package/dist/browser/order/order.event.js +131 -0
- package/dist/browser/order/order.operations.js +172 -0
- package/dist/browser/order/order.presentation.js +153 -0
- package/dist/browser/order/order.schema.js +79 -0
- package/dist/browser/payout/index.js +152 -0
- package/dist/browser/payout/payout.enum.js +12 -0
- package/dist/browser/payout/payout.event.js +55 -0
- package/dist/browser/payout/payout.operations.js +94 -0
- package/dist/browser/payout/payout.presentation.js +111 -0
- package/dist/browser/payout/payout.schema.js +61 -0
- package/dist/browser/product/index.js +249 -0
- package/dist/browser/product/product.enum.js +13 -0
- package/dist/browser/product/product.event.js +74 -0
- package/dist/browser/product/product.operations.js +171 -0
- package/dist/browser/product/product.presentation.js +158 -0
- package/dist/browser/product/product.schema.js +84 -0
- package/dist/browser/review/index.js +206 -0
- package/dist/browser/review/review.enum.js +11 -0
- package/dist/browser/review/review.event.js +50 -0
- package/dist/browser/review/review.operations.js +152 -0
- package/dist/browser/review/review.presentation.js +123 -0
- package/dist/browser/review/review.schema.js +74 -0
- package/dist/browser/seeders/index.js +12 -0
- package/dist/browser/store/index.js +142 -0
- package/dist/browser/store/store.enum.js +11 -0
- package/dist/browser/store/store.event.js +52 -0
- package/dist/browser/store/store.operations.js +88 -0
- package/dist/browser/store/store.presentation.js +94 -0
- package/dist/browser/store/store.schema.js +43 -0
- package/dist/browser/tests/operations.test-spec.js +139 -0
- package/dist/browser/ui/MarketplaceDashboard.js +418 -0
- package/dist/browser/ui/hooks/index.js +59 -0
- package/dist/browser/ui/hooks/useMarketplaceData.js +56 -0
- package/dist/browser/ui/index.js +668 -0
- package/dist/browser/ui/renderers/index.js +248 -0
- package/dist/browser/ui/renderers/marketplace.markdown.js +248 -0
- package/dist/docs/index.d.ts +2 -1
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +104 -1
- package/dist/docs/marketplace.docblock.d.ts +2 -1
- package/dist/docs/marketplace.docblock.d.ts.map +1 -0
- package/dist/docs/marketplace.docblock.js +46 -57
- package/dist/entities/index.d.ts +302 -307
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +719 -43
- package/dist/entities/order.d.ts +77 -82
- package/dist/entities/order.d.ts.map +1 -1
- package/dist/entities/order.js +162 -167
- package/dist/entities/payout.d.ts +64 -69
- package/dist/entities/payout.d.ts.map +1 -1
- package/dist/entities/payout.js +137 -156
- package/dist/entities/product.d.ts +69 -74
- package/dist/entities/product.d.ts.map +1 -1
- package/dist/entities/product.js +148 -156
- package/dist/entities/review.d.ts +55 -60
- package/dist/entities/review.d.ts.map +1 -1
- package/dist/entities/review.js +124 -146
- package/dist/entities/store.d.ts +40 -45
- package/dist/entities/store.d.ts.map +1 -1
- package/dist/entities/store.js +94 -106
- package/dist/example.d.ts +2 -6
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +41 -55
- package/dist/handlers/index.d.ts +2 -2
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +304 -3
- package/dist/handlers/marketplace.handlers.d.ts +138 -137
- package/dist/handlers/marketplace.handlers.d.ts.map +1 -1
- package/dist/handlers/marketplace.handlers.js +284 -309
- package/dist/index.d.ts +13 -31
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2017 -32
- package/dist/marketplace.capability.d.ts +3 -8
- package/dist/marketplace.capability.d.ts.map +1 -1
- package/dist/marketplace.capability.js +41 -34
- package/dist/marketplace.feature.d.ts +1 -6
- package/dist/marketplace.feature.d.ts.map +1 -1
- package/dist/marketplace.feature.js +136 -313
- package/dist/node/docs/index.js +103 -0
- package/dist/node/docs/marketplace.docblock.js +103 -0
- package/dist/node/entities/index.js +721 -0
- package/dist/node/entities/order.js +167 -0
- package/dist/node/entities/payout.js +142 -0
- package/dist/node/entities/product.js +152 -0
- package/dist/node/entities/review.js +129 -0
- package/dist/node/entities/store.js +97 -0
- package/dist/node/example.js +42 -0
- package/dist/node/handlers/index.js +303 -0
- package/dist/node/handlers/marketplace.handlers.js +303 -0
- package/dist/node/index.js +2016 -0
- package/dist/node/marketplace.capability.js +40 -0
- package/dist/node/marketplace.feature.js +137 -0
- package/dist/node/order/index.js +307 -0
- package/dist/node/order/order.enum.js +17 -0
- package/dist/node/order/order.event.js +131 -0
- package/dist/node/order/order.operations.js +172 -0
- package/dist/node/order/order.presentation.js +153 -0
- package/dist/node/order/order.schema.js +79 -0
- package/dist/node/payout/index.js +152 -0
- package/dist/node/payout/payout.enum.js +12 -0
- package/dist/node/payout/payout.event.js +55 -0
- package/dist/node/payout/payout.operations.js +94 -0
- package/dist/node/payout/payout.presentation.js +111 -0
- package/dist/node/payout/payout.schema.js +61 -0
- package/dist/node/product/index.js +249 -0
- package/dist/node/product/product.enum.js +13 -0
- package/dist/node/product/product.event.js +74 -0
- package/dist/node/product/product.operations.js +171 -0
- package/dist/node/product/product.presentation.js +158 -0
- package/dist/node/product/product.schema.js +84 -0
- package/dist/node/review/index.js +206 -0
- package/dist/node/review/review.enum.js +11 -0
- package/dist/node/review/review.event.js +50 -0
- package/dist/node/review/review.operations.js +152 -0
- package/dist/node/review/review.presentation.js +123 -0
- package/dist/node/review/review.schema.js +74 -0
- package/dist/node/seeders/index.js +12 -0
- package/dist/node/store/index.js +142 -0
- package/dist/node/store/store.enum.js +11 -0
- package/dist/node/store/store.event.js +52 -0
- package/dist/node/store/store.operations.js +88 -0
- package/dist/node/store/store.presentation.js +94 -0
- package/dist/node/store/store.schema.js +43 -0
- package/dist/node/tests/operations.test-spec.js +139 -0
- package/dist/node/ui/MarketplaceDashboard.js +418 -0
- package/dist/node/ui/hooks/index.js +59 -0
- package/dist/node/ui/hooks/useMarketplaceData.js +56 -0
- package/dist/node/ui/index.js +668 -0
- package/dist/node/ui/renderers/index.js +248 -0
- package/dist/node/ui/renderers/marketplace.markdown.js +248 -0
- package/dist/order/index.d.ts +8 -5
- package/dist/order/index.d.ts.map +1 -0
- package/dist/order/index.js +307 -5
- package/dist/order/order.enum.d.ts +1 -6
- package/dist/order/order.enum.d.ts.map +1 -1
- package/dist/order/order.enum.js +16 -20
- package/dist/order/order.event.d.ts +133 -139
- package/dist/order/order.event.d.ts.map +1 -1
- package/dist/order/order.event.js +121 -205
- package/dist/order/order.operations.d.ts +291 -297
- package/dist/order/order.operations.d.ts.map +1 -1
- package/dist/order/order.operations.js +169 -115
- package/dist/order/order.presentation.d.ts +3 -8
- package/dist/order/order.presentation.d.ts.map +1 -1
- package/dist/order/order.presentation.js +149 -81
- package/dist/order/order.schema.d.ts +143 -148
- package/dist/order/order.schema.d.ts.map +1 -1
- package/dist/order/order.schema.js +75 -150
- package/dist/payout/index.d.ts +8 -5
- package/dist/payout/index.d.ts.map +1 -0
- package/dist/payout/index.js +152 -5
- package/dist/payout/payout.enum.d.ts +1 -6
- package/dist/payout/payout.enum.d.ts.map +1 -1
- package/dist/payout/payout.enum.js +11 -15
- package/dist/payout/payout.event.d.ts +54 -60
- package/dist/payout/payout.event.d.ts.map +1 -1
- package/dist/payout/payout.event.js +51 -87
- package/dist/payout/payout.operations.d.ts +82 -88
- package/dist/payout/payout.operations.d.ts.map +1 -1
- package/dist/payout/payout.operations.js +92 -50
- package/dist/payout/payout.presentation.d.ts +2 -7
- package/dist/payout/payout.presentation.d.ts.map +1 -1
- package/dist/payout/payout.presentation.js +108 -56
- package/dist/payout/payout.schema.d.ts +139 -144
- package/dist/payout/payout.schema.d.ts.map +1 -1
- package/dist/payout/payout.schema.js +58 -112
- package/dist/product/index.d.ts +8 -5
- package/dist/product/index.d.ts.map +1 -0
- package/dist/product/index.js +249 -5
- package/dist/product/product.enum.d.ts +1 -6
- package/dist/product/product.enum.d.ts.map +1 -1
- package/dist/product/product.enum.js +12 -16
- package/dist/product/product.event.d.ts +63 -69
- package/dist/product/product.event.d.ts.map +1 -1
- package/dist/product/product.event.js +68 -113
- package/dist/product/product.operations.d.ts +225 -231
- package/dist/product/product.operations.d.ts.map +1 -1
- package/dist/product/product.operations.js +168 -104
- package/dist/product/product.presentation.d.ts +3 -8
- package/dist/product/product.presentation.d.ts.map +1 -1
- package/dist/product/product.presentation.js +154 -81
- package/dist/product/product.schema.d.ts +196 -201
- package/dist/product/product.schema.d.ts.map +1 -1
- package/dist/product/product.schema.js +80 -171
- package/dist/review/index.d.ts +8 -5
- package/dist/review/index.d.ts.map +1 -0
- package/dist/review/index.js +206 -5
- package/dist/review/review.enum.d.ts +1 -6
- package/dist/review/review.enum.d.ts.map +1 -1
- package/dist/review/review.enum.js +10 -14
- package/dist/review/review.event.d.ts +46 -52
- package/dist/review/review.event.d.ts.map +1 -1
- package/dist/review/review.event.js +46 -79
- package/dist/review/review.operations.d.ts +190 -196
- package/dist/review/review.operations.d.ts.map +1 -1
- package/dist/review/review.operations.js +149 -102
- package/dist/review/review.presentation.d.ts +2 -7
- package/dist/review/review.presentation.d.ts.map +1 -1
- package/dist/review/review.presentation.js +120 -56
- package/dist/review/review.schema.d.ts +164 -169
- package/dist/review/review.schema.d.ts.map +1 -1
- package/dist/review/review.schema.js +70 -151
- package/dist/seeders/index.d.ts +4 -8
- package/dist/seeders/index.d.ts.map +1 -1
- package/dist/seeders/index.js +11 -16
- package/dist/store/index.d.ts +8 -5
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +142 -5
- package/dist/store/store.enum.d.ts +1 -6
- package/dist/store/store.enum.d.ts.map +1 -1
- package/dist/store/store.enum.js +10 -14
- package/dist/store/store.event.d.ts +42 -48
- package/dist/store/store.event.d.ts.map +1 -1
- package/dist/store/store.event.js +48 -75
- package/dist/store/store.operations.d.ts +98 -104
- package/dist/store/store.operations.d.ts.map +1 -1
- package/dist/store/store.operations.js +86 -58
- package/dist/store/store.presentation.d.ts +2 -7
- package/dist/store/store.presentation.d.ts.map +1 -1
- package/dist/store/store.presentation.js +91 -56
- package/dist/store/store.schema.d.ts +70 -75
- package/dist/store/store.schema.d.ts.map +1 -1
- package/dist/store/store.schema.js +41 -90
- package/dist/tests/operations.test-spec.d.ts +5 -10
- package/dist/tests/operations.test-spec.d.ts.map +1 -1
- package/dist/tests/operations.test-spec.js +134 -146
- package/dist/ui/MarketplaceDashboard.d.ts +1 -6
- package/dist/ui/MarketplaceDashboard.d.ts.map +1 -1
- package/dist/ui/MarketplaceDashboard.js +413 -313
- package/dist/ui/hooks/index.d.ts +2 -2
- package/dist/ui/hooks/index.d.ts.map +1 -0
- package/dist/ui/hooks/index.js +59 -4
- package/dist/ui/hooks/useMarketplaceData.d.ts +16 -20
- package/dist/ui/hooks/useMarketplaceData.d.ts.map +1 -1
- package/dist/ui/hooks/useMarketplaceData.js +53 -60
- package/dist/ui/index.d.ts +7 -6
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +668 -5
- package/dist/ui/renderers/index.d.ts +2 -2
- package/dist/ui/renderers/index.d.ts.map +1 -0
- package/dist/ui/renderers/index.js +249 -3
- package/dist/ui/renderers/marketplace.markdown.d.ts +13 -14
- package/dist/ui/renderers/marketplace.markdown.d.ts.map +1 -1
- package/dist/ui/renderers/marketplace.markdown.js +241 -236
- package/package.json +528 -109
- package/dist/docs/marketplace.docblock.js.map +0 -1
- package/dist/entities/index.js.map +0 -1
- package/dist/entities/order.js.map +0 -1
- package/dist/entities/payout.js.map +0 -1
- package/dist/entities/product.js.map +0 -1
- package/dist/entities/review.js.map +0 -1
- package/dist/entities/store.js.map +0 -1
- package/dist/example.js.map +0 -1
- package/dist/handlers/marketplace.handlers.js.map +0 -1
- package/dist/marketplace.capability.js.map +0 -1
- package/dist/marketplace.feature.js.map +0 -1
- package/dist/order/order.enum.js.map +0 -1
- package/dist/order/order.event.js.map +0 -1
- package/dist/order/order.operations.js.map +0 -1
- package/dist/order/order.presentation.js.map +0 -1
- package/dist/order/order.schema.js.map +0 -1
- package/dist/payout/payout.enum.js.map +0 -1
- package/dist/payout/payout.event.js.map +0 -1
- package/dist/payout/payout.operations.js.map +0 -1
- package/dist/payout/payout.presentation.js.map +0 -1
- package/dist/payout/payout.schema.js.map +0 -1
- package/dist/product/product.enum.js.map +0 -1
- package/dist/product/product.event.js.map +0 -1
- package/dist/product/product.operations.js.map +0 -1
- package/dist/product/product.presentation.js.map +0 -1
- package/dist/product/product.schema.js.map +0 -1
- package/dist/review/review.enum.js.map +0 -1
- package/dist/review/review.event.js.map +0 -1
- package/dist/review/review.operations.js.map +0 -1
- package/dist/review/review.presentation.js.map +0 -1
- package/dist/review/review.schema.js.map +0 -1
- package/dist/seeders/index.js.map +0 -1
- package/dist/store/store.enum.js.map +0 -1
- package/dist/store/store.event.js.map +0 -1
- package/dist/store/store.operations.js.map +0 -1
- package/dist/store/store.presentation.js.map +0 -1
- package/dist/store/store.schema.js.map +0 -1
- package/dist/tests/operations.test-spec.js.map +0 -1
- package/dist/ui/MarketplaceDashboard.js.map +0 -1
- package/dist/ui/hooks/useMarketplaceData.js.map +0 -1
- package/dist/ui/renderers/marketplace.markdown.js.map +0 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
// src/ui/renderers/marketplace.markdown.ts
|
|
2
|
+
var mockStores = [
|
|
3
|
+
{
|
|
4
|
+
id: "store-1",
|
|
5
|
+
name: "Tech Gadgets Store",
|
|
6
|
+
status: "ACTIVE",
|
|
7
|
+
productCount: 45,
|
|
8
|
+
rating: 4.8
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: "store-2",
|
|
12
|
+
name: "Home & Garden",
|
|
13
|
+
status: "ACTIVE",
|
|
14
|
+
productCount: 120,
|
|
15
|
+
rating: 4.5
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "store-3",
|
|
19
|
+
name: "Fashion Boutique",
|
|
20
|
+
status: "PENDING",
|
|
21
|
+
productCount: 0,
|
|
22
|
+
rating: 0
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
var mockProducts = [
|
|
26
|
+
{
|
|
27
|
+
id: "prod-1",
|
|
28
|
+
name: "Wireless Earbuds",
|
|
29
|
+
storeId: "store-1",
|
|
30
|
+
price: 79.99,
|
|
31
|
+
currency: "USD",
|
|
32
|
+
status: "ACTIVE",
|
|
33
|
+
stock: 150
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "prod-2",
|
|
37
|
+
name: "Smart Watch",
|
|
38
|
+
storeId: "store-1",
|
|
39
|
+
price: 249.99,
|
|
40
|
+
currency: "USD",
|
|
41
|
+
status: "ACTIVE",
|
|
42
|
+
stock: 50
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "prod-3",
|
|
46
|
+
name: "Garden Tools Set",
|
|
47
|
+
storeId: "store-2",
|
|
48
|
+
price: 89.99,
|
|
49
|
+
currency: "USD",
|
|
50
|
+
status: "ACTIVE",
|
|
51
|
+
stock: 30
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "prod-4",
|
|
55
|
+
name: "Indoor Plant Kit",
|
|
56
|
+
storeId: "store-2",
|
|
57
|
+
price: 45.99,
|
|
58
|
+
currency: "USD",
|
|
59
|
+
status: "ACTIVE",
|
|
60
|
+
stock: 75
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "prod-5",
|
|
64
|
+
name: "LED Desk Lamp",
|
|
65
|
+
storeId: "store-1",
|
|
66
|
+
price: 34.99,
|
|
67
|
+
currency: "USD",
|
|
68
|
+
status: "OUT_OF_STOCK",
|
|
69
|
+
stock: 0
|
|
70
|
+
}
|
|
71
|
+
];
|
|
72
|
+
var mockOrders = [
|
|
73
|
+
{
|
|
74
|
+
id: "ord-1",
|
|
75
|
+
storeId: "store-1",
|
|
76
|
+
customerId: "cust-1",
|
|
77
|
+
total: 329.98,
|
|
78
|
+
currency: "USD",
|
|
79
|
+
status: "DELIVERED",
|
|
80
|
+
itemCount: 2,
|
|
81
|
+
createdAt: "2024-01-15T10:00:00Z"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: "ord-2",
|
|
85
|
+
storeId: "store-2",
|
|
86
|
+
customerId: "cust-2",
|
|
87
|
+
total: 135.98,
|
|
88
|
+
currency: "USD",
|
|
89
|
+
status: "SHIPPED",
|
|
90
|
+
itemCount: 2,
|
|
91
|
+
createdAt: "2024-01-14T14:00:00Z"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "ord-3",
|
|
95
|
+
storeId: "store-1",
|
|
96
|
+
customerId: "cust-3",
|
|
97
|
+
total: 79.99,
|
|
98
|
+
currency: "USD",
|
|
99
|
+
status: "PROCESSING",
|
|
100
|
+
itemCount: 1,
|
|
101
|
+
createdAt: "2024-01-16T08:00:00Z"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: "ord-4",
|
|
105
|
+
storeId: "store-2",
|
|
106
|
+
customerId: "cust-4",
|
|
107
|
+
total: 45.99,
|
|
108
|
+
currency: "USD",
|
|
109
|
+
status: "PENDING",
|
|
110
|
+
itemCount: 1,
|
|
111
|
+
createdAt: "2024-01-16T12:00:00Z"
|
|
112
|
+
}
|
|
113
|
+
];
|
|
114
|
+
function formatCurrency(value, currency = "USD") {
|
|
115
|
+
return new Intl.NumberFormat("en-US", {
|
|
116
|
+
style: "currency",
|
|
117
|
+
currency,
|
|
118
|
+
minimumFractionDigits: 2
|
|
119
|
+
}).format(value);
|
|
120
|
+
}
|
|
121
|
+
var marketplaceDashboardMarkdownRenderer = {
|
|
122
|
+
target: "markdown",
|
|
123
|
+
render: async (desc) => {
|
|
124
|
+
if (desc.source.type !== "component" || desc.source.componentKey !== "MarketplaceDashboard") {
|
|
125
|
+
throw new Error("marketplaceDashboardMarkdownRenderer: not MarketplaceDashboard");
|
|
126
|
+
}
|
|
127
|
+
const stores = mockStores;
|
|
128
|
+
const products = mockProducts;
|
|
129
|
+
const orders = mockOrders;
|
|
130
|
+
const activeStores = stores.filter((s) => s.status === "ACTIVE");
|
|
131
|
+
const activeProducts = products.filter((p) => p.status === "ACTIVE");
|
|
132
|
+
const totalRevenue = orders.reduce((sum, o) => sum + o.total, 0);
|
|
133
|
+
const pendingOrders = orders.filter((o) => o.status === "PENDING" || o.status === "PROCESSING");
|
|
134
|
+
const lines = [
|
|
135
|
+
"# Marketplace Dashboard",
|
|
136
|
+
"",
|
|
137
|
+
"> Two-sided marketplace overview",
|
|
138
|
+
"",
|
|
139
|
+
"## Summary",
|
|
140
|
+
"",
|
|
141
|
+
"| Metric | Value |",
|
|
142
|
+
"|--------|-------|",
|
|
143
|
+
`| Active Stores | ${activeStores.length} |`,
|
|
144
|
+
`| Active Products | ${activeProducts.length} |`,
|
|
145
|
+
`| Total Orders | ${orders.length} |`,
|
|
146
|
+
`| Total Revenue | ${formatCurrency(totalRevenue)} |`,
|
|
147
|
+
`| Pending Orders | ${pendingOrders.length} |`,
|
|
148
|
+
"",
|
|
149
|
+
"## Top Stores",
|
|
150
|
+
"",
|
|
151
|
+
"| Store | Products | Rating | Status |",
|
|
152
|
+
"|-------|----------|--------|--------|"
|
|
153
|
+
];
|
|
154
|
+
for (const store of stores.slice(0, 5)) {
|
|
155
|
+
lines.push(`| ${store.name} | ${store.productCount} | ⭐ ${store.rating || "N/A"} | ${store.status} |`);
|
|
156
|
+
}
|
|
157
|
+
lines.push("");
|
|
158
|
+
lines.push("## Recent Orders");
|
|
159
|
+
lines.push("");
|
|
160
|
+
lines.push("| Order | Items | Total | Status | Date |");
|
|
161
|
+
lines.push("|-------|-------|-------|--------|------|");
|
|
162
|
+
for (const order of orders.slice(0, 10)) {
|
|
163
|
+
const date = new Date(order.createdAt).toLocaleDateString();
|
|
164
|
+
lines.push(`| ${order.id} | ${order.itemCount} | ${formatCurrency(order.total, order.currency)} | ${order.status} | ${date} |`);
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
mimeType: "text/markdown",
|
|
168
|
+
body: lines.join(`
|
|
169
|
+
`)
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
var productCatalogMarkdownRenderer = {
|
|
174
|
+
target: "markdown",
|
|
175
|
+
render: async (desc) => {
|
|
176
|
+
if (desc.source.type !== "component" || desc.source.componentKey !== "ProductCatalog") {
|
|
177
|
+
throw new Error("productCatalogMarkdownRenderer: not ProductCatalog");
|
|
178
|
+
}
|
|
179
|
+
const products = mockProducts;
|
|
180
|
+
const stores = mockStores;
|
|
181
|
+
const lines = [
|
|
182
|
+
"# Product Catalog",
|
|
183
|
+
"",
|
|
184
|
+
"> Browse products across all marketplace stores",
|
|
185
|
+
""
|
|
186
|
+
];
|
|
187
|
+
for (const store of stores.filter((s) => s.status === "ACTIVE")) {
|
|
188
|
+
const storeProducts = products.filter((p) => p.storeId === store.id);
|
|
189
|
+
if (storeProducts.length === 0)
|
|
190
|
+
continue;
|
|
191
|
+
lines.push(`## ${store.name}`);
|
|
192
|
+
lines.push("");
|
|
193
|
+
lines.push("| Product | Price | Stock | Status |");
|
|
194
|
+
lines.push("|---------|-------|-------|--------|");
|
|
195
|
+
for (const product of storeProducts) {
|
|
196
|
+
const stockStatus = product.stock > 0 ? `${product.stock} in stock` : "Out of stock";
|
|
197
|
+
lines.push(`| ${product.name} | ${formatCurrency(product.price, product.currency)} | ${stockStatus} | ${product.status} |`);
|
|
198
|
+
}
|
|
199
|
+
lines.push("");
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
mimeType: "text/markdown",
|
|
203
|
+
body: lines.join(`
|
|
204
|
+
`)
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
var orderListMarkdownRenderer = {
|
|
209
|
+
target: "markdown",
|
|
210
|
+
render: async (desc) => {
|
|
211
|
+
if (desc.source.type !== "component" || desc.source.componentKey !== "OrderList") {
|
|
212
|
+
throw new Error("orderListMarkdownRenderer: not OrderList");
|
|
213
|
+
}
|
|
214
|
+
const orders = mockOrders;
|
|
215
|
+
const stores = mockStores;
|
|
216
|
+
const lines = [
|
|
217
|
+
"# Orders",
|
|
218
|
+
"",
|
|
219
|
+
"> Manage marketplace orders",
|
|
220
|
+
"",
|
|
221
|
+
"| Order ID | Store | Items | Total | Status | Created |",
|
|
222
|
+
"|----------|-------|-------|-------|--------|---------|"
|
|
223
|
+
];
|
|
224
|
+
for (const order of orders) {
|
|
225
|
+
const store = stores.find((s) => s.id === order.storeId);
|
|
226
|
+
const date = new Date(order.createdAt).toLocaleDateString();
|
|
227
|
+
lines.push(`| ${order.id} | ${store?.name ?? "Unknown"} | ${order.itemCount} | ${formatCurrency(order.total, order.currency)} | ${order.status} | ${date} |`);
|
|
228
|
+
}
|
|
229
|
+
lines.push("");
|
|
230
|
+
lines.push("## Order Status Legend");
|
|
231
|
+
lines.push("");
|
|
232
|
+
lines.push("- **PENDING**: Awaiting payment confirmation");
|
|
233
|
+
lines.push("- **PROCESSING**: Being prepared");
|
|
234
|
+
lines.push("- **SHIPPED**: In transit");
|
|
235
|
+
lines.push("- **DELIVERED**: Order completed");
|
|
236
|
+
lines.push("- **CANCELLED**: Order cancelled");
|
|
237
|
+
return {
|
|
238
|
+
mimeType: "text/markdown",
|
|
239
|
+
body: lines.join(`
|
|
240
|
+
`)
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
export {
|
|
245
|
+
productCatalogMarkdownRenderer,
|
|
246
|
+
orderListMarkdownRenderer,
|
|
247
|
+
marketplaceDashboardMarkdownRenderer
|
|
248
|
+
};
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
// src/ui/renderers/marketplace.markdown.ts
|
|
2
|
+
var mockStores = [
|
|
3
|
+
{
|
|
4
|
+
id: "store-1",
|
|
5
|
+
name: "Tech Gadgets Store",
|
|
6
|
+
status: "ACTIVE",
|
|
7
|
+
productCount: 45,
|
|
8
|
+
rating: 4.8
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: "store-2",
|
|
12
|
+
name: "Home & Garden",
|
|
13
|
+
status: "ACTIVE",
|
|
14
|
+
productCount: 120,
|
|
15
|
+
rating: 4.5
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: "store-3",
|
|
19
|
+
name: "Fashion Boutique",
|
|
20
|
+
status: "PENDING",
|
|
21
|
+
productCount: 0,
|
|
22
|
+
rating: 0
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
var mockProducts = [
|
|
26
|
+
{
|
|
27
|
+
id: "prod-1",
|
|
28
|
+
name: "Wireless Earbuds",
|
|
29
|
+
storeId: "store-1",
|
|
30
|
+
price: 79.99,
|
|
31
|
+
currency: "USD",
|
|
32
|
+
status: "ACTIVE",
|
|
33
|
+
stock: 150
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: "prod-2",
|
|
37
|
+
name: "Smart Watch",
|
|
38
|
+
storeId: "store-1",
|
|
39
|
+
price: 249.99,
|
|
40
|
+
currency: "USD",
|
|
41
|
+
status: "ACTIVE",
|
|
42
|
+
stock: 50
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "prod-3",
|
|
46
|
+
name: "Garden Tools Set",
|
|
47
|
+
storeId: "store-2",
|
|
48
|
+
price: 89.99,
|
|
49
|
+
currency: "USD",
|
|
50
|
+
status: "ACTIVE",
|
|
51
|
+
stock: 30
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: "prod-4",
|
|
55
|
+
name: "Indoor Plant Kit",
|
|
56
|
+
storeId: "store-2",
|
|
57
|
+
price: 45.99,
|
|
58
|
+
currency: "USD",
|
|
59
|
+
status: "ACTIVE",
|
|
60
|
+
stock: 75
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "prod-5",
|
|
64
|
+
name: "LED Desk Lamp",
|
|
65
|
+
storeId: "store-1",
|
|
66
|
+
price: 34.99,
|
|
67
|
+
currency: "USD",
|
|
68
|
+
status: "OUT_OF_STOCK",
|
|
69
|
+
stock: 0
|
|
70
|
+
}
|
|
71
|
+
];
|
|
72
|
+
var mockOrders = [
|
|
73
|
+
{
|
|
74
|
+
id: "ord-1",
|
|
75
|
+
storeId: "store-1",
|
|
76
|
+
customerId: "cust-1",
|
|
77
|
+
total: 329.98,
|
|
78
|
+
currency: "USD",
|
|
79
|
+
status: "DELIVERED",
|
|
80
|
+
itemCount: 2,
|
|
81
|
+
createdAt: "2024-01-15T10:00:00Z"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: "ord-2",
|
|
85
|
+
storeId: "store-2",
|
|
86
|
+
customerId: "cust-2",
|
|
87
|
+
total: 135.98,
|
|
88
|
+
currency: "USD",
|
|
89
|
+
status: "SHIPPED",
|
|
90
|
+
itemCount: 2,
|
|
91
|
+
createdAt: "2024-01-14T14:00:00Z"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: "ord-3",
|
|
95
|
+
storeId: "store-1",
|
|
96
|
+
customerId: "cust-3",
|
|
97
|
+
total: 79.99,
|
|
98
|
+
currency: "USD",
|
|
99
|
+
status: "PROCESSING",
|
|
100
|
+
itemCount: 1,
|
|
101
|
+
createdAt: "2024-01-16T08:00:00Z"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: "ord-4",
|
|
105
|
+
storeId: "store-2",
|
|
106
|
+
customerId: "cust-4",
|
|
107
|
+
total: 45.99,
|
|
108
|
+
currency: "USD",
|
|
109
|
+
status: "PENDING",
|
|
110
|
+
itemCount: 1,
|
|
111
|
+
createdAt: "2024-01-16T12:00:00Z"
|
|
112
|
+
}
|
|
113
|
+
];
|
|
114
|
+
function formatCurrency(value, currency = "USD") {
|
|
115
|
+
return new Intl.NumberFormat("en-US", {
|
|
116
|
+
style: "currency",
|
|
117
|
+
currency,
|
|
118
|
+
minimumFractionDigits: 2
|
|
119
|
+
}).format(value);
|
|
120
|
+
}
|
|
121
|
+
var marketplaceDashboardMarkdownRenderer = {
|
|
122
|
+
target: "markdown",
|
|
123
|
+
render: async (desc) => {
|
|
124
|
+
if (desc.source.type !== "component" || desc.source.componentKey !== "MarketplaceDashboard") {
|
|
125
|
+
throw new Error("marketplaceDashboardMarkdownRenderer: not MarketplaceDashboard");
|
|
126
|
+
}
|
|
127
|
+
const stores = mockStores;
|
|
128
|
+
const products = mockProducts;
|
|
129
|
+
const orders = mockOrders;
|
|
130
|
+
const activeStores = stores.filter((s) => s.status === "ACTIVE");
|
|
131
|
+
const activeProducts = products.filter((p) => p.status === "ACTIVE");
|
|
132
|
+
const totalRevenue = orders.reduce((sum, o) => sum + o.total, 0);
|
|
133
|
+
const pendingOrders = orders.filter((o) => o.status === "PENDING" || o.status === "PROCESSING");
|
|
134
|
+
const lines = [
|
|
135
|
+
"# Marketplace Dashboard",
|
|
136
|
+
"",
|
|
137
|
+
"> Two-sided marketplace overview",
|
|
138
|
+
"",
|
|
139
|
+
"## Summary",
|
|
140
|
+
"",
|
|
141
|
+
"| Metric | Value |",
|
|
142
|
+
"|--------|-------|",
|
|
143
|
+
`| Active Stores | ${activeStores.length} |`,
|
|
144
|
+
`| Active Products | ${activeProducts.length} |`,
|
|
145
|
+
`| Total Orders | ${orders.length} |`,
|
|
146
|
+
`| Total Revenue | ${formatCurrency(totalRevenue)} |`,
|
|
147
|
+
`| Pending Orders | ${pendingOrders.length} |`,
|
|
148
|
+
"",
|
|
149
|
+
"## Top Stores",
|
|
150
|
+
"",
|
|
151
|
+
"| Store | Products | Rating | Status |",
|
|
152
|
+
"|-------|----------|--------|--------|"
|
|
153
|
+
];
|
|
154
|
+
for (const store of stores.slice(0, 5)) {
|
|
155
|
+
lines.push(`| ${store.name} | ${store.productCount} | ⭐ ${store.rating || "N/A"} | ${store.status} |`);
|
|
156
|
+
}
|
|
157
|
+
lines.push("");
|
|
158
|
+
lines.push("## Recent Orders");
|
|
159
|
+
lines.push("");
|
|
160
|
+
lines.push("| Order | Items | Total | Status | Date |");
|
|
161
|
+
lines.push("|-------|-------|-------|--------|------|");
|
|
162
|
+
for (const order of orders.slice(0, 10)) {
|
|
163
|
+
const date = new Date(order.createdAt).toLocaleDateString();
|
|
164
|
+
lines.push(`| ${order.id} | ${order.itemCount} | ${formatCurrency(order.total, order.currency)} | ${order.status} | ${date} |`);
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
mimeType: "text/markdown",
|
|
168
|
+
body: lines.join(`
|
|
169
|
+
`)
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
var productCatalogMarkdownRenderer = {
|
|
174
|
+
target: "markdown",
|
|
175
|
+
render: async (desc) => {
|
|
176
|
+
if (desc.source.type !== "component" || desc.source.componentKey !== "ProductCatalog") {
|
|
177
|
+
throw new Error("productCatalogMarkdownRenderer: not ProductCatalog");
|
|
178
|
+
}
|
|
179
|
+
const products = mockProducts;
|
|
180
|
+
const stores = mockStores;
|
|
181
|
+
const lines = [
|
|
182
|
+
"# Product Catalog",
|
|
183
|
+
"",
|
|
184
|
+
"> Browse products across all marketplace stores",
|
|
185
|
+
""
|
|
186
|
+
];
|
|
187
|
+
for (const store of stores.filter((s) => s.status === "ACTIVE")) {
|
|
188
|
+
const storeProducts = products.filter((p) => p.storeId === store.id);
|
|
189
|
+
if (storeProducts.length === 0)
|
|
190
|
+
continue;
|
|
191
|
+
lines.push(`## ${store.name}`);
|
|
192
|
+
lines.push("");
|
|
193
|
+
lines.push("| Product | Price | Stock | Status |");
|
|
194
|
+
lines.push("|---------|-------|-------|--------|");
|
|
195
|
+
for (const product of storeProducts) {
|
|
196
|
+
const stockStatus = product.stock > 0 ? `${product.stock} in stock` : "Out of stock";
|
|
197
|
+
lines.push(`| ${product.name} | ${formatCurrency(product.price, product.currency)} | ${stockStatus} | ${product.status} |`);
|
|
198
|
+
}
|
|
199
|
+
lines.push("");
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
mimeType: "text/markdown",
|
|
203
|
+
body: lines.join(`
|
|
204
|
+
`)
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
var orderListMarkdownRenderer = {
|
|
209
|
+
target: "markdown",
|
|
210
|
+
render: async (desc) => {
|
|
211
|
+
if (desc.source.type !== "component" || desc.source.componentKey !== "OrderList") {
|
|
212
|
+
throw new Error("orderListMarkdownRenderer: not OrderList");
|
|
213
|
+
}
|
|
214
|
+
const orders = mockOrders;
|
|
215
|
+
const stores = mockStores;
|
|
216
|
+
const lines = [
|
|
217
|
+
"# Orders",
|
|
218
|
+
"",
|
|
219
|
+
"> Manage marketplace orders",
|
|
220
|
+
"",
|
|
221
|
+
"| Order ID | Store | Items | Total | Status | Created |",
|
|
222
|
+
"|----------|-------|-------|-------|--------|---------|"
|
|
223
|
+
];
|
|
224
|
+
for (const order of orders) {
|
|
225
|
+
const store = stores.find((s) => s.id === order.storeId);
|
|
226
|
+
const date = new Date(order.createdAt).toLocaleDateString();
|
|
227
|
+
lines.push(`| ${order.id} | ${store?.name ?? "Unknown"} | ${order.itemCount} | ${formatCurrency(order.total, order.currency)} | ${order.status} | ${date} |`);
|
|
228
|
+
}
|
|
229
|
+
lines.push("");
|
|
230
|
+
lines.push("## Order Status Legend");
|
|
231
|
+
lines.push("");
|
|
232
|
+
lines.push("- **PENDING**: Awaiting payment confirmation");
|
|
233
|
+
lines.push("- **PROCESSING**: Being prepared");
|
|
234
|
+
lines.push("- **SHIPPED**: In transit");
|
|
235
|
+
lines.push("- **DELIVERED**: Order completed");
|
|
236
|
+
lines.push("- **CANCELLED**: Order cancelled");
|
|
237
|
+
return {
|
|
238
|
+
mimeType: "text/markdown",
|
|
239
|
+
body: lines.join(`
|
|
240
|
+
`)
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
export {
|
|
245
|
+
productCatalogMarkdownRenderer,
|
|
246
|
+
orderListMarkdownRenderer,
|
|
247
|
+
marketplaceDashboardMarkdownRenderer
|
|
248
|
+
};
|
package/dist/docs/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import './marketplace.docblock';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC"}
|
package/dist/docs/index.js
CHANGED
|
@@ -1 +1,104 @@
|
|
|
1
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
// src/docs/marketplace.docblock.ts
|
|
3
|
+
import { registerDocBlocks } from "@contractspec/lib.contracts/docs";
|
|
4
|
+
var marketplaceDocBlocks = [
|
|
5
|
+
{
|
|
6
|
+
id: "docs.examples.marketplace",
|
|
7
|
+
title: "Marketplace (2-sided)",
|
|
8
|
+
summary: "Two-sided marketplace with stores, products, orders, payouts, and reviews. Demonstrates multi-actor flows, payments, and attachments.",
|
|
9
|
+
kind: "reference",
|
|
10
|
+
visibility: "public",
|
|
11
|
+
route: "/docs/examples/marketplace",
|
|
12
|
+
tags: ["marketplace", "orders", "payouts", "reviews"],
|
|
13
|
+
body: `## Entities
|
|
14
|
+
|
|
15
|
+
- Store, Product, Order, OrderItem, Payout, Review.
|
|
16
|
+
- Uses Files module for product media and receipt attachments.
|
|
17
|
+
|
|
18
|
+
## Contracts
|
|
19
|
+
|
|
20
|
+
- \`marketplace.store.create\`, \`marketplace.product.add\`, \`marketplace.order.place\`, \`marketplace.payout.process\`, \`marketplace.review.submit\`.
|
|
21
|
+
- Policy guards via Identity/RBAC for provider vs client actions.
|
|
22
|
+
|
|
23
|
+
## Events
|
|
24
|
+
|
|
25
|
+
- order.created/completed/cancelled, payout.queued/completed, review.submitted.
|
|
26
|
+
- Hooked into Notifications and Audit Trail modules.
|
|
27
|
+
|
|
28
|
+
## UI / Presentations
|
|
29
|
+
|
|
30
|
+
- Dashboard, product catalog, order list/detail, store management.
|
|
31
|
+
- Templates registered under \`marketplace\` in Studio Template Registry.
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
- Commission model encoded in spec; payouts scheduled via Jobs module.
|
|
36
|
+
- Feature flags can gate beta checkout or new reviews flow.
|
|
37
|
+
`
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "docs.examples.marketplace.goal",
|
|
41
|
+
title: "Marketplace \u2014 Goal",
|
|
42
|
+
summary: "Why this marketplace template exists and the outcomes it targets.",
|
|
43
|
+
kind: "goal",
|
|
44
|
+
visibility: "public",
|
|
45
|
+
route: "/docs/examples/marketplace/goal",
|
|
46
|
+
tags: ["marketplace", "goal"],
|
|
47
|
+
body: `## Why it matters
|
|
48
|
+
- Provides a regenerable 2-sided marketplace baseline without bespoke glue.
|
|
49
|
+
- Keeps payouts, catalog, orders, and reviews consistent across surfaces.
|
|
50
|
+
|
|
51
|
+
## Business/Product goal
|
|
52
|
+
- Safe provider/client flows with auditable payouts and moderation-ready reviews.
|
|
53
|
+
- Staged rollouts for payments/reviews via feature flags; explicit commission/tax fields.
|
|
54
|
+
|
|
55
|
+
## Success criteria
|
|
56
|
+
- Orders/payouts regenerate cleanly after spec changes.
|
|
57
|
+
- Events emit for lifecycle + audit; PII is scoped/redacted in presentations.`
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: "docs.examples.marketplace.usage",
|
|
61
|
+
title: "Marketplace \u2014 Usage",
|
|
62
|
+
summary: "How to seed, extend, and safely regenerate the marketplace.",
|
|
63
|
+
kind: "usage",
|
|
64
|
+
visibility: "public",
|
|
65
|
+
route: "/docs/examples/marketplace/usage",
|
|
66
|
+
tags: ["marketplace", "usage"],
|
|
67
|
+
body: `## Setup
|
|
68
|
+
1) Seed sample stores/products/orders via template registry (or create via UI).
|
|
69
|
+
2) Configure Files storage for media/receipts; set policy.pii for sensitive fields.
|
|
70
|
+
|
|
71
|
+
## Extend & regenerate
|
|
72
|
+
1) Adjust schemas for commission/tax/payout states or review moderation in the spec.
|
|
73
|
+
2) Regenerate to sync UI, API, events, notifications.
|
|
74
|
+
3) Gate risky changes (new payment providers) behind Feature Flags.
|
|
75
|
+
|
|
76
|
+
## Guardrails
|
|
77
|
+
- Emit events for order/payout state changes; log via Audit Trail.
|
|
78
|
+
- Avoid hidden commission math\u2014keep explicit fields.
|
|
79
|
+
- Redact buyer/provider PII in markdown/JSON presentations.`
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: "docs.examples.marketplace.constraints",
|
|
83
|
+
title: "Marketplace \u2014 Constraints & Safety",
|
|
84
|
+
summary: "Internal guardrails for payouts, order states, and regeneration semantics.",
|
|
85
|
+
kind: "reference",
|
|
86
|
+
visibility: "internal",
|
|
87
|
+
route: "/docs/examples/marketplace/constraints",
|
|
88
|
+
tags: ["marketplace", "constraints", "internal"],
|
|
89
|
+
body: `## Constraints
|
|
90
|
+
- Commission logic and order states must stay spec-defined; never adjust in code-only patches.
|
|
91
|
+
- Events to emit: order.created, order.completed, payout.queued, review.posted (minimum).
|
|
92
|
+
- Regeneration must not change payment semantics without explicit spec diff.
|
|
93
|
+
|
|
94
|
+
## Safety & PII
|
|
95
|
+
- Redact buyer/provider identifiers in markdown/JSON outputs; scope payouts per tenant/org.
|
|
96
|
+
- For MCP/web surfaces, avoid exposing raw payout calc inputs; use summaries.
|
|
97
|
+
|
|
98
|
+
## Testing/Verification
|
|
99
|
+
- Add fixtures covering order lifecycle and payout queueing.
|
|
100
|
+
- Run regeneration diff when changing commission/tax fields; verify presentations updated.
|
|
101
|
+
- Ensure Notifications/Audit wiring remains intact for order/payout/review events.`
|
|
102
|
+
}
|
|
103
|
+
];
|
|
104
|
+
registerDocBlocks(marketplaceDocBlocks);
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=marketplace.docblock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.docblock.d.ts","sourceRoot":"","sources":["../../src/docs/marketplace.docblock.ts"],"names":[],"mappings":""}
|