@timbenniks/contentstack-platform-sdk 0.1.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/auth/index.cjs +607 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +108 -0
- package/dist/auth/index.d.ts +108 -0
- package/dist/auth/index.mjs +25 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/brandkit/index.cjs +525 -0
- package/dist/brandkit/index.cjs.map +1 -0
- package/dist/brandkit/index.d.cts +95 -0
- package/dist/brandkit/index.d.ts +95 -0
- package/dist/brandkit/index.mjs +11 -0
- package/dist/brandkit/index.mjs.map +1 -0
- package/dist/chunk-3C6J2BDB.mjs +84 -0
- package/dist/chunk-3C6J2BDB.mjs.map +1 -0
- package/dist/chunk-3KE63N3I.mjs +64 -0
- package/dist/chunk-3KE63N3I.mjs.map +1 -0
- package/dist/chunk-4CJ4IVPJ.mjs +212 -0
- package/dist/chunk-4CJ4IVPJ.mjs.map +1 -0
- package/dist/chunk-4JFUI7MJ.mjs +368 -0
- package/dist/chunk-4JFUI7MJ.mjs.map +1 -0
- package/dist/chunk-7VFGD32I.mjs +26 -0
- package/dist/chunk-7VFGD32I.mjs.map +1 -0
- package/dist/chunk-ARPJDW3A.mjs +44 -0
- package/dist/chunk-ARPJDW3A.mjs.map +1 -0
- package/dist/chunk-AVJHCFRK.mjs +52 -0
- package/dist/chunk-AVJHCFRK.mjs.map +1 -0
- package/dist/chunk-BK2IBTQS.mjs +131 -0
- package/dist/chunk-BK2IBTQS.mjs.map +1 -0
- package/dist/chunk-BUZ6CQHE.mjs +75 -0
- package/dist/chunk-BUZ6CQHE.mjs.map +1 -0
- package/dist/chunk-CKMAOWBQ.mjs +379 -0
- package/dist/chunk-CKMAOWBQ.mjs.map +1 -0
- package/dist/chunk-DJQLN4TR.mjs +1 -0
- package/dist/chunk-DJQLN4TR.mjs.map +1 -0
- package/dist/chunk-DMERADWM.mjs +67 -0
- package/dist/chunk-DMERADWM.mjs.map +1 -0
- package/dist/chunk-EREPKWTW.mjs +926 -0
- package/dist/chunk-EREPKWTW.mjs.map +1 -0
- package/dist/chunk-FQP4PB5X.mjs +88 -0
- package/dist/chunk-FQP4PB5X.mjs.map +1 -0
- package/dist/chunk-GNPQJBFX.mjs +144 -0
- package/dist/chunk-GNPQJBFX.mjs.map +1 -0
- package/dist/chunk-GOSB24M6.mjs +87 -0
- package/dist/chunk-GOSB24M6.mjs.map +1 -0
- package/dist/chunk-JL2E3EOT.mjs +255 -0
- package/dist/chunk-JL2E3EOT.mjs.map +1 -0
- package/dist/chunk-JYGZBKTH.mjs +222 -0
- package/dist/chunk-JYGZBKTH.mjs.map +1 -0
- package/dist/chunk-JZE2W7VW.mjs +52 -0
- package/dist/chunk-JZE2W7VW.mjs.map +1 -0
- package/dist/chunk-K76DKSHJ.mjs +18 -0
- package/dist/chunk-K76DKSHJ.mjs.map +1 -0
- package/dist/chunk-KLVIROVU.mjs +232 -0
- package/dist/chunk-KLVIROVU.mjs.map +1 -0
- package/dist/chunk-LPVVA5J3.mjs +18 -0
- package/dist/chunk-LPVVA5J3.mjs.map +1 -0
- package/dist/chunk-NKLOZ5VI.mjs +112 -0
- package/dist/chunk-NKLOZ5VI.mjs.map +1 -0
- package/dist/chunk-QGA4WBDC.mjs +7 -0
- package/dist/chunk-QGA4WBDC.mjs.map +1 -0
- package/dist/chunk-QW7TVYOA.mjs +56 -0
- package/dist/chunk-QW7TVYOA.mjs.map +1 -0
- package/dist/chunk-SU5QEKYW.mjs +83 -0
- package/dist/chunk-SU5QEKYW.mjs.map +1 -0
- package/dist/chunk-T5A2E2RI.mjs +654 -0
- package/dist/chunk-T5A2E2RI.mjs.map +1 -0
- package/dist/chunk-T5OIJQK7.mjs +116 -0
- package/dist/chunk-T5OIJQK7.mjs.map +1 -0
- package/dist/chunk-VW7DD6HV.mjs +253 -0
- package/dist/chunk-VW7DD6HV.mjs.map +1 -0
- package/dist/chunk-XH7NLHGW.mjs +133 -0
- package/dist/chunk-XH7NLHGW.mjs.map +1 -0
- package/dist/client-DJ5haQGd.d.cts +22 -0
- package/dist/client-DwVGVSQz.d.ts +22 -0
- package/dist/cma/index.cjs +1349 -0
- package/dist/cma/index.cjs.map +1 -0
- package/dist/cma/index.d.cts +22 -0
- package/dist/cma/index.d.ts +22 -0
- package/dist/cma/index.mjs +70 -0
- package/dist/cma/index.mjs.map +1 -0
- package/dist/errors-CAw-IRCP.d.cts +65 -0
- package/dist/errors-CAw-IRCP.d.ts +65 -0
- package/dist/generative-ai/index.cjs +401 -0
- package/dist/generative-ai/index.cjs.map +1 -0
- package/dist/generative-ai/index.d.cts +31 -0
- package/dist/generative-ai/index.d.ts +31 -0
- package/dist/generative-ai/index.mjs +10 -0
- package/dist/generative-ai/index.mjs.map +1 -0
- package/dist/images/index.cjs +185 -0
- package/dist/images/index.cjs.map +1 -0
- package/dist/images/index.d.cts +27 -0
- package/dist/images/index.d.ts +27 -0
- package/dist/images/index.mjs +8 -0
- package/dist/images/index.mjs.map +1 -0
- package/dist/index.cjs +2909 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.mjs +153 -0
- package/dist/index.mjs.map +1 -0
- package/dist/knowledge-vault/index.cjs +413 -0
- package/dist/knowledge-vault/index.cjs.map +1 -0
- package/dist/knowledge-vault/index.d.cts +49 -0
- package/dist/knowledge-vault/index.d.ts +49 -0
- package/dist/knowledge-vault/index.mjs +10 -0
- package/dist/knowledge-vault/index.mjs.map +1 -0
- package/dist/launch/index.cjs +624 -0
- package/dist/launch/index.cjs.map +1 -0
- package/dist/launch/index.d.cts +169 -0
- package/dist/launch/index.d.ts +169 -0
- package/dist/launch/index.mjs +11 -0
- package/dist/launch/index.mjs.map +1 -0
- package/dist/react/auth/index.cjs +113 -0
- package/dist/react/auth/index.cjs.map +1 -0
- package/dist/react/auth/index.d.cts +33 -0
- package/dist/react/auth/index.d.ts +33 -0
- package/dist/react/auth/index.mjs +13 -0
- package/dist/react/auth/index.mjs.map +1 -0
- package/dist/react/content/index.cjs +113 -0
- package/dist/react/content/index.cjs.map +1 -0
- package/dist/react/content/index.d.cts +25 -0
- package/dist/react/content/index.d.ts +25 -0
- package/dist/react/content/index.mjs +7 -0
- package/dist/react/content/index.mjs.map +1 -0
- package/dist/react/hooks/index.cjs +2097 -0
- package/dist/react/hooks/index.cjs.map +1 -0
- package/dist/react/hooks/index.d.cts +77 -0
- package/dist/react/hooks/index.d.ts +77 -0
- package/dist/react/hooks/index.mjs +46 -0
- package/dist/react/hooks/index.mjs.map +1 -0
- package/dist/react/index.cjs +2307 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +16 -0
- package/dist/react/index.d.ts +16 -0
- package/dist/react/index.mjs +67 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/react/provider/index.cjs +83 -0
- package/dist/react/provider/index.cjs.map +1 -0
- package/dist/react/provider/index.d.cts +30 -0
- package/dist/react/provider/index.d.ts +30 -0
- package/dist/react/provider/index.mjs +11 -0
- package/dist/react/provider/index.mjs.map +1 -0
- package/dist/regions/index.cjs +171 -0
- package/dist/regions/index.cjs.map +1 -0
- package/dist/regions/index.d.cts +55 -0
- package/dist/regions/index.d.ts +55 -0
- package/dist/regions/index.mjs +13 -0
- package/dist/regions/index.mjs.map +1 -0
- package/dist/request-builders-BxeolQIw.d.ts +735 -0
- package/dist/request-builders-C2IG1LUo.d.cts +735 -0
- package/dist/rte/index.cjs +683 -0
- package/dist/rte/index.cjs.map +1 -0
- package/dist/rte/index.d.cts +33 -0
- package/dist/rte/index.d.ts +33 -0
- package/dist/rte/index.mjs +17 -0
- package/dist/rte/index.mjs.map +1 -0
- package/dist/server/index.cjs +917 -0
- package/dist/server/index.cjs.map +1 -0
- package/dist/server/index.d.cts +6 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.mjs +45 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/middleware/index.cjs +614 -0
- package/dist/server/middleware/index.cjs.map +1 -0
- package/dist/server/middleware/index.d.cts +77 -0
- package/dist/server/middleware/index.d.ts +77 -0
- package/dist/server/middleware/index.mjs +27 -0
- package/dist/server/middleware/index.mjs.map +1 -0
- package/dist/server/proxy/index.cjs +329 -0
- package/dist/server/proxy/index.cjs.map +1 -0
- package/dist/server/proxy/index.d.cts +143 -0
- package/dist/server/proxy/index.d.ts +143 -0
- package/dist/server/proxy/index.mjs +29 -0
- package/dist/server/proxy/index.mjs.map +1 -0
- package/dist/server/webhooks/index.cjs +131 -0
- package/dist/server/webhooks/index.cjs.map +1 -0
- package/dist/server/webhooks/index.d.cts +230 -0
- package/dist/server/webhooks/index.d.ts +230 -0
- package/dist/server/webhooks/index.mjs +23 -0
- package/dist/server/webhooks/index.mjs.map +1 -0
- package/dist/types-6D9VR7pT.d.cts +26 -0
- package/dist/types-AelT0rFJ.d.cts +21 -0
- package/dist/types-AelT0rFJ.d.ts +21 -0
- package/dist/types-Bu5yCgmw.d.ts +26 -0
- package/dist/types-DgixK-ll.d.cts +23 -0
- package/dist/types-DgixK-ll.d.ts +23 -0
- package/dist/types-DrMwdlH9.d.cts +245 -0
- package/dist/types-DrMwdlH9.d.ts +245 -0
- package/dist/ui/css/index.cjs +31 -0
- package/dist/ui/css/index.cjs.map +1 -0
- package/dist/ui/css/index.d.cts +15 -0
- package/dist/ui/css/index.d.ts +15 -0
- package/dist/ui/css/index.mjs +7 -0
- package/dist/ui/css/index.mjs.map +1 -0
- package/dist/ui/index.cjs +368 -0
- package/dist/ui/index.cjs.map +1 -0
- package/dist/ui/index.d.cts +4 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.mjs +33 -0
- package/dist/ui/index.mjs.map +1 -0
- package/dist/ui/theme/index.cjs +105 -0
- package/dist/ui/theme/index.cjs.map +1 -0
- package/dist/ui/theme/index.d.cts +33 -0
- package/dist/ui/theme/index.d.ts +33 -0
- package/dist/ui/theme/index.mjs +15 -0
- package/dist/ui/theme/index.mjs.map +1 -0
- package/dist/ui/tokens/index.cjs +286 -0
- package/dist/ui/tokens/index.cjs.map +1 -0
- package/dist/ui/tokens/index.d.cts +54 -0
- package/dist/ui/tokens/index.d.ts +54 -0
- package/dist/ui/tokens/index.mjs +17 -0
- package/dist/ui/tokens/index.mjs.map +1 -0
- package/dist/ui/tokens.css +408 -0
- package/dist/vue/auth/index.cjs +141 -0
- package/dist/vue/auth/index.cjs.map +1 -0
- package/dist/vue/auth/index.d.cts +78 -0
- package/dist/vue/auth/index.d.ts +78 -0
- package/dist/vue/auth/index.mjs +13 -0
- package/dist/vue/auth/index.mjs.map +1 -0
- package/dist/vue/composables/index.cjs +2108 -0
- package/dist/vue/composables/index.cjs.map +1 -0
- package/dist/vue/composables/index.d.cts +78 -0
- package/dist/vue/composables/index.d.ts +78 -0
- package/dist/vue/composables/index.mjs +46 -0
- package/dist/vue/composables/index.mjs.map +1 -0
- package/dist/vue/content/index.cjs +142 -0
- package/dist/vue/content/index.cjs.map +1 -0
- package/dist/vue/content/index.d.cts +47 -0
- package/dist/vue/content/index.d.ts +47 -0
- package/dist/vue/content/index.mjs +7 -0
- package/dist/vue/content/index.mjs.map +1 -0
- package/dist/vue/index.cjs +2389 -0
- package/dist/vue/index.cjs.map +1 -0
- package/dist/vue/index.d.cts +16 -0
- package/dist/vue/index.d.ts +16 -0
- package/dist/vue/index.mjs +69 -0
- package/dist/vue/index.mjs.map +1 -0
- package/dist/vue/provider/index.cjs +97 -0
- package/dist/vue/provider/index.cjs.map +1 -0
- package/dist/vue/provider/index.d.cts +90 -0
- package/dist/vue/provider/index.d.ts +90 -0
- package/dist/vue/provider/index.mjs +13 -0
- package/dist/vue/provider/index.mjs.map +1 -0
- package/package.json +195 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContentstackConfigError
|
|
3
|
+
} from "./chunk-DMERADWM.mjs";
|
|
4
|
+
|
|
5
|
+
// src/regions/endpoints.ts
|
|
6
|
+
import {
|
|
7
|
+
getContentstackEndpoints,
|
|
8
|
+
getRegionForString
|
|
9
|
+
} from "@timbenniks/contentstack-endpoints";
|
|
10
|
+
var BRAND_KIT_URLS = {
|
|
11
|
+
us: {
|
|
12
|
+
brandKit: "https://brand-kits-api.contentstack.com",
|
|
13
|
+
brandKitAI: "https://ai.contentstack.com/brand-kits"
|
|
14
|
+
},
|
|
15
|
+
eu: {
|
|
16
|
+
brandKit: "https://eu-brand-kits-api.contentstack.com",
|
|
17
|
+
brandKitAI: "https://eu-ai.contentstack.com/brand-kits"
|
|
18
|
+
},
|
|
19
|
+
au: {
|
|
20
|
+
brandKit: "https://au-brand-kits-api.contentstack.com",
|
|
21
|
+
brandKitAI: "https://au-ai.contentstack.com/brand-kits"
|
|
22
|
+
},
|
|
23
|
+
"azure-na": {
|
|
24
|
+
brandKit: "https://azure-na-brand-kits-api.contentstack.com",
|
|
25
|
+
brandKitAI: "https://azure-na-ai.contentstack.com/brand-kits"
|
|
26
|
+
},
|
|
27
|
+
"azure-eu": {
|
|
28
|
+
brandKit: "https://azure-eu-brand-kits-api.contentstack.com",
|
|
29
|
+
brandKitAI: "https://azure-eu-ai.contentstack.com/brand-kits"
|
|
30
|
+
},
|
|
31
|
+
"gcp-na": {
|
|
32
|
+
brandKit: "https://gcp-na-brand-kits-api.contentstack.com",
|
|
33
|
+
brandKitAI: "https://gcp-na-ai.contentstack.com/brand-kits"
|
|
34
|
+
},
|
|
35
|
+
"gcp-eu": {
|
|
36
|
+
brandKit: "https://gcp-eu-brand-kits-api.contentstack.com",
|
|
37
|
+
brandKitAI: "https://gcp-eu-ai.contentstack.com/brand-kits"
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
function mapEndpoints(upstream, region, hostsOnly) {
|
|
41
|
+
const bk = BRAND_KIT_URLS[region];
|
|
42
|
+
const stripProtocol = (url) => url.replace(/^https?:\/\//, "");
|
|
43
|
+
return Object.freeze({
|
|
44
|
+
cma: upstream.contentManagement ?? "",
|
|
45
|
+
cda: upstream.contentDelivery ?? "",
|
|
46
|
+
graphql: upstream.graphqlDelivery ?? "",
|
|
47
|
+
images: upstream.images ?? "",
|
|
48
|
+
app: upstream.application ?? "",
|
|
49
|
+
preview: upstream.preview ?? "",
|
|
50
|
+
graphqlPreview: upstream.graphqlPreview ?? "",
|
|
51
|
+
launch: upstream.launch ?? "",
|
|
52
|
+
personalizeEdge: upstream.personalizeEdge ?? "",
|
|
53
|
+
brandKit: hostsOnly ? stripProtocol(bk.brandKit) : bk.brandKit,
|
|
54
|
+
brandKitAI: hostsOnly ? stripProtocol(bk.brandKitAI) : bk.brandKitAI
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
var ALL_REGIONS = [
|
|
58
|
+
"us",
|
|
59
|
+
"eu",
|
|
60
|
+
"au",
|
|
61
|
+
"azure-na",
|
|
62
|
+
"azure-eu",
|
|
63
|
+
"gcp-na",
|
|
64
|
+
"gcp-eu"
|
|
65
|
+
];
|
|
66
|
+
function buildEndpointMap() {
|
|
67
|
+
const map = {};
|
|
68
|
+
for (const region of ALL_REGIONS) {
|
|
69
|
+
map[region] = mapEndpoints(getContentstackEndpoints(region), region, false);
|
|
70
|
+
}
|
|
71
|
+
return Object.freeze(map);
|
|
72
|
+
}
|
|
73
|
+
function buildHostMap() {
|
|
74
|
+
const map = {};
|
|
75
|
+
for (const region of ALL_REGIONS) {
|
|
76
|
+
map[region] = mapEndpoints(getContentstackEndpoints(region, true), region, true);
|
|
77
|
+
}
|
|
78
|
+
return Object.freeze(map);
|
|
79
|
+
}
|
|
80
|
+
var ENDPOINT_MAP = buildEndpointMap();
|
|
81
|
+
var HOST_MAP = buildHostMap();
|
|
82
|
+
function isValidRegion(input) {
|
|
83
|
+
return getRegionForString(input) !== void 0;
|
|
84
|
+
}
|
|
85
|
+
var EXTRA_ALIASES = {
|
|
86
|
+
"north-america": "us",
|
|
87
|
+
europe: "eu",
|
|
88
|
+
australia: "au"
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
// src/regions/resolver.ts
|
|
92
|
+
var VALID_REGIONS = new Set(Object.keys(ENDPOINT_MAP));
|
|
93
|
+
function resolveEndpoints(region) {
|
|
94
|
+
return ENDPOINT_MAP[region];
|
|
95
|
+
}
|
|
96
|
+
function resolveHosts(region) {
|
|
97
|
+
return HOST_MAP[region];
|
|
98
|
+
}
|
|
99
|
+
function normalizeRegion(input) {
|
|
100
|
+
const lower = input.toLowerCase().trim();
|
|
101
|
+
if (VALID_REGIONS.has(lower)) {
|
|
102
|
+
return lower;
|
|
103
|
+
}
|
|
104
|
+
const extraAlias = EXTRA_ALIASES[lower];
|
|
105
|
+
if (extraAlias) {
|
|
106
|
+
return extraAlias;
|
|
107
|
+
}
|
|
108
|
+
if (isValidRegion(lower)) {
|
|
109
|
+
if (lower === "na" || lower === "aws-na" || lower === "aws_na") return "us";
|
|
110
|
+
if (lower === "aws-eu" || lower === "aws_eu") return "eu";
|
|
111
|
+
if (lower === "aws-au" || lower === "aws_au") return "au";
|
|
112
|
+
if (lower === "azure_na") return "azure-na";
|
|
113
|
+
if (lower === "azure_eu") return "azure-eu";
|
|
114
|
+
if (lower === "gcp_na") return "gcp-na";
|
|
115
|
+
if (lower === "gcp_eu") return "gcp-eu";
|
|
116
|
+
}
|
|
117
|
+
const validRegions = [...VALID_REGIONS].join(", ");
|
|
118
|
+
const validAliases = [...Object.keys(EXTRA_ALIASES), "na", "aws-na", "aws-eu", "aws-au"].join(
|
|
119
|
+
", "
|
|
120
|
+
);
|
|
121
|
+
throw new ContentstackConfigError(
|
|
122
|
+
`Unknown region "${input}". Valid regions: ${validRegions}. Aliases: ${validAliases}.`
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export {
|
|
127
|
+
resolveEndpoints,
|
|
128
|
+
resolveHosts,
|
|
129
|
+
normalizeRegion
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=chunk-BK2IBTQS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/regions/endpoints.ts","../src/regions/resolver.ts"],"sourcesContent":["import {\n type ContentstackEndpoints as UpstreamEndpoints,\n getContentstackEndpoints,\n getRegionForString,\n} from \"@timbenniks/contentstack-endpoints\"\nimport type { ContentstackEndpoints, ContentstackRegion } from \"./resolver.js\"\n\n/** Brand Kit endpoints not available in upstream package — maintained locally */\nconst BRAND_KIT_URLS: Record<ContentstackRegion, { brandKit: string; brandKitAI: string }> = {\n us: {\n brandKit: \"https://brand-kits-api.contentstack.com\",\n brandKitAI: \"https://ai.contentstack.com/brand-kits\",\n },\n eu: {\n brandKit: \"https://eu-brand-kits-api.contentstack.com\",\n brandKitAI: \"https://eu-ai.contentstack.com/brand-kits\",\n },\n au: {\n brandKit: \"https://au-brand-kits-api.contentstack.com\",\n brandKitAI: \"https://au-ai.contentstack.com/brand-kits\",\n },\n \"azure-na\": {\n brandKit: \"https://azure-na-brand-kits-api.contentstack.com\",\n brandKitAI: \"https://azure-na-ai.contentstack.com/brand-kits\",\n },\n \"azure-eu\": {\n brandKit: \"https://azure-eu-brand-kits-api.contentstack.com\",\n brandKitAI: \"https://azure-eu-ai.contentstack.com/brand-kits\",\n },\n \"gcp-na\": {\n brandKit: \"https://gcp-na-brand-kits-api.contentstack.com\",\n brandKitAI: \"https://gcp-na-ai.contentstack.com/brand-kits\",\n },\n \"gcp-eu\": {\n brandKit: \"https://gcp-eu-brand-kits-api.contentstack.com\",\n brandKitAI: \"https://gcp-eu-ai.contentstack.com/brand-kits\",\n },\n}\n\nfunction mapEndpoints(\n upstream: UpstreamEndpoints,\n region: ContentstackRegion,\n hostsOnly: boolean,\n): ContentstackEndpoints {\n const bk = BRAND_KIT_URLS[region]\n const stripProtocol = (url: string) => url.replace(/^https?:\\/\\//, \"\")\n\n return Object.freeze({\n cma: upstream.contentManagement ?? \"\",\n cda: upstream.contentDelivery ?? \"\",\n graphql: upstream.graphqlDelivery ?? \"\",\n images: upstream.images ?? \"\",\n app: upstream.application ?? \"\",\n preview: upstream.preview ?? \"\",\n graphqlPreview: upstream.graphqlPreview ?? \"\",\n launch: upstream.launch ?? \"\",\n personalizeEdge: upstream.personalizeEdge ?? \"\",\n brandKit: hostsOnly ? stripProtocol(bk.brandKit) : bk.brandKit,\n brandKitAI: hostsOnly ? stripProtocol(bk.brandKitAI) : bk.brandKitAI,\n })\n}\n\nconst ALL_REGIONS: ContentstackRegion[] = [\n \"us\",\n \"eu\",\n \"au\",\n \"azure-na\",\n \"azure-eu\",\n \"gcp-na\",\n \"gcp-eu\",\n]\n\nfunction buildEndpointMap(): Record<ContentstackRegion, ContentstackEndpoints> {\n const map = {} as Record<ContentstackRegion, ContentstackEndpoints>\n for (const region of ALL_REGIONS) {\n map[region] = mapEndpoints(getContentstackEndpoints(region), region, false)\n }\n return Object.freeze(map)\n}\n\nfunction buildHostMap(): Record<ContentstackRegion, ContentstackEndpoints> {\n const map = {} as Record<ContentstackRegion, ContentstackEndpoints>\n for (const region of ALL_REGIONS) {\n map[region] = mapEndpoints(getContentstackEndpoints(region, true), region, true)\n }\n return Object.freeze(map)\n}\n\nexport const ENDPOINT_MAP = buildEndpointMap()\nexport const HOST_MAP = buildHostMap()\n\n/** Check if a string is a valid region via the upstream package */\nexport function isValidRegion(input: string): boolean {\n return getRegionForString(input) !== undefined\n}\n\n/** Map of extra aliases our SDK supports beyond what the upstream package handles */\nexport const EXTRA_ALIASES: Record<string, ContentstackRegion> = {\n \"north-america\": \"us\",\n europe: \"eu\",\n australia: \"au\",\n}\n","import { ContentstackConfigError } from \"../http/errors.js\"\nimport { ENDPOINT_MAP, EXTRA_ALIASES, HOST_MAP, isValidRegion } from \"./endpoints.js\"\n\n/** All 7 Contentstack regions */\nexport type ContentstackRegion = \"us\" | \"eu\" | \"au\" | \"azure-na\" | \"azure-eu\" | \"gcp-na\" | \"gcp-eu\"\n\n/** Resolved endpoint URLs for a region */\nexport interface ContentstackEndpoints {\n /** CMA base URL, e.g. \"https://api.contentstack.io\" */\n cma: string\n /** CDA REST base URL, e.g. \"https://cdn.contentstack.io\" */\n cda: string\n /** GraphQL CDA endpoint */\n graphql: string\n /** Asset/image delivery base URL */\n images: string\n /** Application URL (for OAuth), e.g. \"https://app.contentstack.com\" */\n app: string\n /** Preview API base URL */\n preview: string\n /** GraphQL preview endpoint */\n graphqlPreview: string\n /** Launch API base URL */\n launch: string\n /** Personalize edge endpoint */\n personalizeEdge: string\n /** Brand Kit Management API base URL */\n brandKit: string\n /** Brand Kit GenAI and Knowledge Vault base URL */\n brandKitAI: string\n}\n\nconst VALID_REGIONS = new Set<string>(Object.keys(ENDPOINT_MAP))\n\n/**\n * Resolve all API endpoints for a Contentstack region.\n *\n * @example\n * ```ts\n * const endpoints = resolveEndpoints(\"eu\");\n * // endpoints.cma === \"https://eu-api.contentstack.com\"\n * // endpoints.app === \"https://eu-app.contentstack.com\"\n * ```\n */\nexport function resolveEndpoints(region: ContentstackRegion): ContentstackEndpoints {\n return ENDPOINT_MAP[region]\n}\n\n/**\n * Resolve endpoints with https:// stripped (for SDK host parameters).\n *\n * @example\n * ```ts\n * const hosts = resolveHosts(\"eu\");\n * // hosts.cda === \"eu-cdn.contentstack.com\"\n * ```\n */\nexport function resolveHosts(region: ContentstackRegion): ContentstackEndpoints {\n return HOST_MAP[region]\n}\n\n/**\n * Normalize region aliases: \"na\" → \"us\", \"NA\" → \"us\", etc.\n * Case-insensitive. Throws ContentstackConfigError for unknown regions.\n */\nexport function normalizeRegion(input: string): ContentstackRegion {\n const lower = input.toLowerCase().trim()\n\n if (VALID_REGIONS.has(lower)) {\n return lower as ContentstackRegion\n }\n\n // Check extra aliases our SDK supports (north-america, europe, australia)\n const extraAlias = EXTRA_ALIASES[lower]\n if (extraAlias) {\n return extraAlias\n }\n\n // Check aliases handled by the upstream package (na, us, aws-na, etc.)\n if (isValidRegion(lower)) {\n // The upstream package recognized it — map back to our canonical region\n // \"na\" and \"us\" both map to the NA region which we call \"us\"\n if (lower === \"na\" || lower === \"aws-na\" || lower === \"aws_na\") return \"us\"\n if (lower === \"aws-eu\" || lower === \"aws_eu\") return \"eu\"\n if (lower === \"aws-au\" || lower === \"aws_au\") return \"au\"\n if (lower === \"azure_na\") return \"azure-na\"\n if (lower === \"azure_eu\") return \"azure-eu\"\n if (lower === \"gcp_na\") return \"gcp-na\"\n if (lower === \"gcp_eu\") return \"gcp-eu\"\n }\n\n const validRegions = [...VALID_REGIONS].join(\", \")\n const validAliases = [...Object.keys(EXTRA_ALIASES), \"na\", \"aws-na\", \"aws-eu\", \"aws-au\"].join(\n \", \",\n )\n throw new ContentstackConfigError(\n `Unknown region \"${input}\". Valid regions: ${validRegions}. Aliases: ${validAliases}.`,\n )\n}\n\nexport { ContentstackConfigError }\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// src/ui/theme/theme.ts
|
|
2
|
+
var STORAGE_KEY = "cs-theme";
|
|
3
|
+
var DATA_ATTR = "data-theme";
|
|
4
|
+
function getTheme() {
|
|
5
|
+
if (typeof document === "undefined") return "system";
|
|
6
|
+
const attr = document.documentElement.getAttribute(DATA_ATTR);
|
|
7
|
+
if (attr === "light" || attr === "dark") return attr;
|
|
8
|
+
return "system";
|
|
9
|
+
}
|
|
10
|
+
function setTheme(theme) {
|
|
11
|
+
if (typeof document === "undefined") return;
|
|
12
|
+
if (theme === "system") {
|
|
13
|
+
document.documentElement.removeAttribute(DATA_ATTR);
|
|
14
|
+
} else {
|
|
15
|
+
document.documentElement.setAttribute(DATA_ATTR, theme);
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
if (typeof localStorage !== "undefined") {
|
|
19
|
+
localStorage.setItem(STORAGE_KEY, theme);
|
|
20
|
+
}
|
|
21
|
+
} catch {
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function initTheme() {
|
|
25
|
+
try {
|
|
26
|
+
if (typeof localStorage === "undefined") return;
|
|
27
|
+
const stored = localStorage.getItem(STORAGE_KEY);
|
|
28
|
+
if (stored === "light" || stored === "dark" || stored === "system") {
|
|
29
|
+
setTheme(stored);
|
|
30
|
+
}
|
|
31
|
+
} catch {
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function onThemeChange(callback) {
|
|
35
|
+
if (typeof window === "undefined") return () => {
|
|
36
|
+
};
|
|
37
|
+
const observer = new MutationObserver(() => {
|
|
38
|
+
callback(getTheme());
|
|
39
|
+
});
|
|
40
|
+
observer.observe(document.documentElement, {
|
|
41
|
+
attributes: true,
|
|
42
|
+
attributeFilter: [DATA_ATTR]
|
|
43
|
+
});
|
|
44
|
+
let mediaQuery;
|
|
45
|
+
const mediaHandler = () => {
|
|
46
|
+
if (getTheme() === "system") {
|
|
47
|
+
callback("system");
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
if (typeof window.matchMedia === "function") {
|
|
51
|
+
mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
|
|
52
|
+
mediaQuery.addEventListener("change", mediaHandler);
|
|
53
|
+
}
|
|
54
|
+
return () => {
|
|
55
|
+
observer.disconnect();
|
|
56
|
+
mediaQuery?.removeEventListener("change", mediaHandler);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function getEffectiveTheme() {
|
|
60
|
+
const theme = getTheme();
|
|
61
|
+
if (theme !== "system") return theme;
|
|
62
|
+
if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
|
|
63
|
+
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
64
|
+
}
|
|
65
|
+
return "light";
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
getTheme,
|
|
70
|
+
setTheme,
|
|
71
|
+
initTheme,
|
|
72
|
+
onThemeChange,
|
|
73
|
+
getEffectiveTheme
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=chunk-BUZ6CQHE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/theme/theme.ts"],"sourcesContent":["import type { Theme } from \"../tokens/types.js\"\n\nconst STORAGE_KEY = \"cs-theme\"\nconst DATA_ATTR = \"data-theme\"\n\n/**\n * Get the current theme setting.\n * Returns `\"light\"`, `\"dark\"`, or `\"system\"` (when no `data-theme` attribute is set).\n */\nexport function getTheme(): Theme {\n if (typeof document === \"undefined\") return \"system\"\n const attr = document.documentElement.getAttribute(DATA_ATTR)\n if (attr === \"light\" || attr === \"dark\") return attr\n return \"system\"\n}\n\n/**\n * Set the theme. Applies `data-theme` attribute to `<html>` and\n * persists the choice to `localStorage`.\n *\n * - `\"light\"` or `\"dark\"` sets the attribute explicitly.\n * - `\"system\"` removes the attribute, deferring to `prefers-color-scheme`.\n */\nexport function setTheme(theme: Theme): void {\n if (typeof document === \"undefined\") return\n\n if (theme === \"system\") {\n document.documentElement.removeAttribute(DATA_ATTR)\n } else {\n document.documentElement.setAttribute(DATA_ATTR, theme)\n }\n\n try {\n if (typeof localStorage !== \"undefined\") {\n localStorage.setItem(STORAGE_KEY, theme)\n }\n } catch {\n // localStorage may be unavailable (e.g., iframe sandboxing)\n }\n}\n\n/**\n * Initialize the theme from `localStorage` on page load.\n * Call this early (e.g., in a `<script>` tag or app init) to\n * prevent a flash of wrong theme.\n */\nexport function initTheme(): void {\n try {\n if (typeof localStorage === \"undefined\") return\n const stored = localStorage.getItem(STORAGE_KEY)\n if (stored === \"light\" || stored === \"dark\" || stored === \"system\") {\n setTheme(stored)\n }\n } catch {\n // localStorage may be unavailable\n }\n}\n\n/**\n * Subscribe to theme changes (both programmatic and OS-level).\n * Returns an unsubscribe function.\n */\nexport function onThemeChange(callback: (theme: Theme) => void): () => void {\n if (typeof window === \"undefined\") return () => {}\n\n const observer = new MutationObserver(() => {\n callback(getTheme())\n })\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [DATA_ATTR],\n })\n\n let mediaQuery: MediaQueryList | undefined\n const mediaHandler = () => {\n if (getTheme() === \"system\") {\n callback(\"system\")\n }\n }\n\n if (typeof window.matchMedia === \"function\") {\n mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\")\n mediaQuery.addEventListener(\"change\", mediaHandler)\n }\n\n return () => {\n observer.disconnect()\n mediaQuery?.removeEventListener(\"change\", mediaHandler)\n }\n}\n\n/**\n * Get the resolved effective theme (never `\"system\"`).\n * Useful when you need to know the actual visual appearance.\n */\nexport function getEffectiveTheme(): \"light\" | \"dark\" {\n const theme = getTheme()\n if (theme !== \"system\") return theme\n\n if (typeof window !== \"undefined\" && typeof window.matchMedia === \"function\") {\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\"\n }\n return \"light\"\n}\n"],"mappings":";AAEA,IAAM,cAAc;AACpB,IAAM,YAAY;AAMX,SAAS,WAAkB;AAChC,MAAI,OAAO,aAAa,YAAa,QAAO;AAC5C,QAAM,OAAO,SAAS,gBAAgB,aAAa,SAAS;AAC5D,MAAI,SAAS,WAAW,SAAS,OAAQ,QAAO;AAChD,SAAO;AACT;AASO,SAAS,SAAS,OAAoB;AAC3C,MAAI,OAAO,aAAa,YAAa;AAErC,MAAI,UAAU,UAAU;AACtB,aAAS,gBAAgB,gBAAgB,SAAS;AAAA,EACpD,OAAO;AACL,aAAS,gBAAgB,aAAa,WAAW,KAAK;AAAA,EACxD;AAEA,MAAI;AACF,QAAI,OAAO,iBAAiB,aAAa;AACvC,mBAAa,QAAQ,aAAa,KAAK;AAAA,IACzC;AAAA,EACF,QAAQ;AAAA,EAER;AACF;AAOO,SAAS,YAAkB;AAChC,MAAI;AACF,QAAI,OAAO,iBAAiB,YAAa;AACzC,UAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,QAAI,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU;AAClE,eAAS,MAAM;AAAA,IACjB;AAAA,EACF,QAAQ;AAAA,EAER;AACF;AAMO,SAAS,cAAc,UAA8C;AAC1E,MAAI,OAAO,WAAW,YAAa,QAAO,MAAM;AAAA,EAAC;AAEjD,QAAM,WAAW,IAAI,iBAAiB,MAAM;AAC1C,aAAS,SAAS,CAAC;AAAA,EACrB,CAAC;AAED,WAAS,QAAQ,SAAS,iBAAiB;AAAA,IACzC,YAAY;AAAA,IACZ,iBAAiB,CAAC,SAAS;AAAA,EAC7B,CAAC;AAED,MAAI;AACJ,QAAM,eAAe,MAAM;AACzB,QAAI,SAAS,MAAM,UAAU;AAC3B,eAAS,QAAQ;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,OAAO,OAAO,eAAe,YAAY;AAC3C,iBAAa,OAAO,WAAW,8BAA8B;AAC7D,eAAW,iBAAiB,UAAU,YAAY;AAAA,EACpD;AAEA,SAAO,MAAM;AACX,aAAS,WAAW;AACpB,gBAAY,oBAAoB,UAAU,YAAY;AAAA,EACxD;AACF;AAMO,SAAS,oBAAsC;AACpD,QAAM,QAAQ,SAAS;AACvB,MAAI,UAAU,SAAU,QAAO;AAE/B,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,YAAY;AAC5E,WAAO,OAAO,WAAW,8BAA8B,EAAE,UAAU,SAAS;AAAA,EAC9E;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useContentstackContext
|
|
3
|
+
} from "./chunk-LPVVA5J3.mjs";
|
|
4
|
+
import {
|
|
5
|
+
parseErrorResponse
|
|
6
|
+
} from "./chunk-7VFGD32I.mjs";
|
|
7
|
+
import {
|
|
8
|
+
createBrandKitClient
|
|
9
|
+
} from "./chunk-XH7NLHGW.mjs";
|
|
10
|
+
import {
|
|
11
|
+
createGenerativeAIClient
|
|
12
|
+
} from "./chunk-AVJHCFRK.mjs";
|
|
13
|
+
import {
|
|
14
|
+
buildAssetsParams,
|
|
15
|
+
buildCreateEntryRequest,
|
|
16
|
+
buildDeleteEntryRequest,
|
|
17
|
+
buildEntriesParams,
|
|
18
|
+
buildEntryParams,
|
|
19
|
+
buildPublishEntryRequest,
|
|
20
|
+
buildUpdateEntryRequest,
|
|
21
|
+
createCMAClient
|
|
22
|
+
} from "./chunk-EREPKWTW.mjs";
|
|
23
|
+
import {
|
|
24
|
+
createLaunchClient
|
|
25
|
+
} from "./chunk-KLVIROVU.mjs";
|
|
26
|
+
import {
|
|
27
|
+
createKnowledgeVaultClient
|
|
28
|
+
} from "./chunk-3KE63N3I.mjs";
|
|
29
|
+
import {
|
|
30
|
+
ContentstackError
|
|
31
|
+
} from "./chunk-DMERADWM.mjs";
|
|
32
|
+
|
|
33
|
+
// src/vue/composables/useEntries.ts
|
|
34
|
+
import { computed, toValue as toValue2 } from "vue";
|
|
35
|
+
|
|
36
|
+
// src/vue/composables/shared/useQuery.ts
|
|
37
|
+
import { onUnmounted, ref, toValue, watch } from "vue";
|
|
38
|
+
function useQuery(path, params, options) {
|
|
39
|
+
const { proxyBasePath } = useContentstackContext();
|
|
40
|
+
const data = ref(void 0);
|
|
41
|
+
const loading = ref(false);
|
|
42
|
+
const error = ref(null);
|
|
43
|
+
let abortController = null;
|
|
44
|
+
let intervalId = null;
|
|
45
|
+
const isClient = typeof window !== "undefined";
|
|
46
|
+
const enabled = options?.enabled ?? true;
|
|
47
|
+
const refetchInterval = options?.refetchInterval ?? 0;
|
|
48
|
+
async function fetchData(signal) {
|
|
49
|
+
loading.value = true;
|
|
50
|
+
error.value = null;
|
|
51
|
+
const currentPath = toValue(path);
|
|
52
|
+
const currentParams = toValue(params);
|
|
53
|
+
const search = currentParams ? `?${new URLSearchParams(currentParams).toString()}` : "";
|
|
54
|
+
const url = `${proxyBasePath}${currentPath}${search}`;
|
|
55
|
+
try {
|
|
56
|
+
const response = await fetch(url, { signal });
|
|
57
|
+
if (signal?.aborted) return;
|
|
58
|
+
if (!response.ok) {
|
|
59
|
+
const err = await parseErrorResponse(response, currentPath);
|
|
60
|
+
error.value = err;
|
|
61
|
+
data.value = void 0;
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const json = await response.json();
|
|
65
|
+
data.value = json;
|
|
66
|
+
} catch (err) {
|
|
67
|
+
if (err instanceof DOMException && err.name === "AbortError") return;
|
|
68
|
+
error.value = new ContentstackError(err instanceof Error ? err.message : "Network error", {
|
|
69
|
+
requestPath: currentPath,
|
|
70
|
+
cause: err instanceof Error ? err : void 0
|
|
71
|
+
});
|
|
72
|
+
data.value = void 0;
|
|
73
|
+
} finally {
|
|
74
|
+
if (!signal?.aborted) {
|
|
75
|
+
loading.value = false;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function doFetch() {
|
|
80
|
+
abortController?.abort();
|
|
81
|
+
const controller = new AbortController();
|
|
82
|
+
abortController = controller;
|
|
83
|
+
fetchData(controller.signal);
|
|
84
|
+
}
|
|
85
|
+
async function refetch() {
|
|
86
|
+
abortController?.abort();
|
|
87
|
+
const controller = new AbortController();
|
|
88
|
+
abortController = controller;
|
|
89
|
+
await fetchData(controller.signal);
|
|
90
|
+
}
|
|
91
|
+
watch(
|
|
92
|
+
() => ({ path: toValue(path), params: toValue(params), enabled: toValue(enabled) }),
|
|
93
|
+
(newVal) => {
|
|
94
|
+
if (!newVal.enabled || !isClient) return;
|
|
95
|
+
doFetch();
|
|
96
|
+
},
|
|
97
|
+
{ immediate: true, deep: true }
|
|
98
|
+
);
|
|
99
|
+
watch(
|
|
100
|
+
() => ({ enabled: toValue(enabled), refetchInterval }),
|
|
101
|
+
(newVal) => {
|
|
102
|
+
if (intervalId) {
|
|
103
|
+
clearInterval(intervalId);
|
|
104
|
+
intervalId = null;
|
|
105
|
+
}
|
|
106
|
+
if (isClient && newVal.enabled && newVal.refetchInterval > 0) {
|
|
107
|
+
intervalId = setInterval(() => {
|
|
108
|
+
doFetch();
|
|
109
|
+
}, newVal.refetchInterval);
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{ immediate: true }
|
|
113
|
+
);
|
|
114
|
+
onUnmounted(() => {
|
|
115
|
+
abortController?.abort();
|
|
116
|
+
if (intervalId) {
|
|
117
|
+
clearInterval(intervalId);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
return { data, loading, error, refetch };
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// src/vue/composables/useEntries.ts
|
|
124
|
+
function useEntries(contentTypeUid, options) {
|
|
125
|
+
const params = computed(() => buildEntriesParams(options));
|
|
126
|
+
const path = computed(() => `/content_types/${toValue2(contentTypeUid)}/entries`);
|
|
127
|
+
const result = useQuery(path, params, options);
|
|
128
|
+
const data = computed(() => result.data.value?.entries);
|
|
129
|
+
const count = computed(() => result.data.value?.count);
|
|
130
|
+
return {
|
|
131
|
+
...result,
|
|
132
|
+
data,
|
|
133
|
+
count
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// src/vue/composables/useEntry.ts
|
|
138
|
+
import { computed as computed2, toValue as toValue3 } from "vue";
|
|
139
|
+
function useEntry(contentTypeUid, entryUid, options) {
|
|
140
|
+
const params = computed2(() => buildEntryParams(options));
|
|
141
|
+
const path = computed2(
|
|
142
|
+
() => `/content_types/${toValue3(contentTypeUid)}/entries/${toValue3(entryUid)}`
|
|
143
|
+
);
|
|
144
|
+
const result = useQuery(path, params, options);
|
|
145
|
+
const data = computed2(() => result.data.value?.entry);
|
|
146
|
+
return {
|
|
147
|
+
...result,
|
|
148
|
+
data
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// src/vue/composables/useAssets.ts
|
|
153
|
+
import { computed as computed3 } from "vue";
|
|
154
|
+
function useAssets(options) {
|
|
155
|
+
const params = computed3(() => buildAssetsParams(options));
|
|
156
|
+
const result = useQuery("/assets", params, options);
|
|
157
|
+
const data = computed3(() => result.data.value?.assets);
|
|
158
|
+
return {
|
|
159
|
+
...result,
|
|
160
|
+
data
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// src/vue/composables/useContentTypes.ts
|
|
165
|
+
import { computed as computed4 } from "vue";
|
|
166
|
+
function useContentTypes(options) {
|
|
167
|
+
const result = useQuery("/content_types", void 0, options);
|
|
168
|
+
const data = computed4(() => result.data.value?.content_types);
|
|
169
|
+
return {
|
|
170
|
+
...result,
|
|
171
|
+
data
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// src/vue/composables/useCMA.ts
|
|
176
|
+
import { computed as computed5 } from "vue";
|
|
177
|
+
function useCMA() {
|
|
178
|
+
const { proxyBasePath, region, apiKey } = useContentstackContext();
|
|
179
|
+
const client = computed5(
|
|
180
|
+
() => createCMAClient({
|
|
181
|
+
region,
|
|
182
|
+
apiKey: apiKey ?? "proxy",
|
|
183
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
184
|
+
httpOptions: { baseUrl: proxyBasePath }
|
|
185
|
+
})
|
|
186
|
+
);
|
|
187
|
+
return client.value;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// src/vue/composables/useLaunch.ts
|
|
191
|
+
import { computed as computed6 } from "vue";
|
|
192
|
+
function useLaunch() {
|
|
193
|
+
const { launchProxyBasePath = "/api/launch", region, organizationUid } = useContentstackContext();
|
|
194
|
+
const client = computed6(
|
|
195
|
+
() => createLaunchClient({
|
|
196
|
+
region,
|
|
197
|
+
organizationUid: organizationUid ?? "proxy",
|
|
198
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
199
|
+
httpOptions: { baseUrl: launchProxyBasePath }
|
|
200
|
+
})
|
|
201
|
+
);
|
|
202
|
+
return client.value;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// src/vue/composables/useBrandKit.ts
|
|
206
|
+
import { computed as computed7 } from "vue";
|
|
207
|
+
function useBrandKit() {
|
|
208
|
+
const {
|
|
209
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
210
|
+
region,
|
|
211
|
+
organizationUid
|
|
212
|
+
} = useContentstackContext();
|
|
213
|
+
const client = computed7(
|
|
214
|
+
() => createBrandKitClient({
|
|
215
|
+
region,
|
|
216
|
+
organizationUid: organizationUid ?? "proxy",
|
|
217
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
218
|
+
httpOptions: { baseUrl: brandKitProxyBasePath }
|
|
219
|
+
})
|
|
220
|
+
);
|
|
221
|
+
return client.value;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// src/vue/composables/useKnowledgeVault.ts
|
|
225
|
+
import { computed as computed8 } from "vue";
|
|
226
|
+
function useKnowledgeVault() {
|
|
227
|
+
const {
|
|
228
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
229
|
+
region,
|
|
230
|
+
organizationUid,
|
|
231
|
+
brandKitUid
|
|
232
|
+
} = useContentstackContext();
|
|
233
|
+
const client = computed8(
|
|
234
|
+
() => createKnowledgeVaultClient({
|
|
235
|
+
region,
|
|
236
|
+
organizationUid: organizationUid ?? "proxy",
|
|
237
|
+
brandKitUid: brandKitUid ?? "proxy",
|
|
238
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
239
|
+
httpOptions: { baseUrl: brandKitProxyBasePath }
|
|
240
|
+
})
|
|
241
|
+
);
|
|
242
|
+
return client.value;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// src/vue/composables/useGenerativeAI.ts
|
|
246
|
+
import { computed as computed9 } from "vue";
|
|
247
|
+
function useGenerativeAI() {
|
|
248
|
+
const {
|
|
249
|
+
brandKitProxyBasePath = "/api/brandkit",
|
|
250
|
+
region,
|
|
251
|
+
organizationUid,
|
|
252
|
+
brandKitUid
|
|
253
|
+
} = useContentstackContext();
|
|
254
|
+
const client = computed9(
|
|
255
|
+
() => createGenerativeAIClient({
|
|
256
|
+
region,
|
|
257
|
+
organizationUid: organizationUid ?? "proxy",
|
|
258
|
+
brandKitUid: brandKitUid ?? "proxy",
|
|
259
|
+
auth: { type: "oauth", accessToken: "proxy" },
|
|
260
|
+
httpOptions: { baseUrl: brandKitProxyBasePath }
|
|
261
|
+
})
|
|
262
|
+
);
|
|
263
|
+
return client.value;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// src/vue/composables/shared/useMutation.ts
|
|
267
|
+
import { ref as ref2 } from "vue";
|
|
268
|
+
function useMutation(method, buildRequest) {
|
|
269
|
+
const { proxyBasePath } = useContentstackContext();
|
|
270
|
+
const data = ref2(void 0);
|
|
271
|
+
const loading = ref2(false);
|
|
272
|
+
const error = ref2(null);
|
|
273
|
+
const currentBuildRequest = buildRequest;
|
|
274
|
+
async function mutate(variables) {
|
|
275
|
+
const { path, body } = currentBuildRequest(variables);
|
|
276
|
+
const url = `${proxyBasePath}${path}`;
|
|
277
|
+
loading.value = true;
|
|
278
|
+
error.value = null;
|
|
279
|
+
try {
|
|
280
|
+
const response = await fetch(url, {
|
|
281
|
+
method,
|
|
282
|
+
headers: body !== void 0 ? { "Content-Type": "application/json" } : void 0,
|
|
283
|
+
body: body !== void 0 ? JSON.stringify(body) : void 0
|
|
284
|
+
});
|
|
285
|
+
if (!response.ok) {
|
|
286
|
+
const err = await parseErrorResponse(response, path);
|
|
287
|
+
error.value = err;
|
|
288
|
+
data.value = void 0;
|
|
289
|
+
throw err;
|
|
290
|
+
}
|
|
291
|
+
let json;
|
|
292
|
+
try {
|
|
293
|
+
json = await response.json();
|
|
294
|
+
} catch {
|
|
295
|
+
json = void 0;
|
|
296
|
+
}
|
|
297
|
+
data.value = json;
|
|
298
|
+
return json;
|
|
299
|
+
} catch (err) {
|
|
300
|
+
if (err instanceof ContentstackError) throw err;
|
|
301
|
+
const csError = new ContentstackError(err instanceof Error ? err.message : "Network error", {
|
|
302
|
+
requestPath: path,
|
|
303
|
+
cause: err instanceof Error ? err : void 0
|
|
304
|
+
});
|
|
305
|
+
error.value = csError;
|
|
306
|
+
data.value = void 0;
|
|
307
|
+
throw csError;
|
|
308
|
+
} finally {
|
|
309
|
+
loading.value = false;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
function reset() {
|
|
313
|
+
data.value = void 0;
|
|
314
|
+
error.value = null;
|
|
315
|
+
}
|
|
316
|
+
return { mutate, loading, error, data, reset };
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// src/vue/composables/usePublishEntry.ts
|
|
320
|
+
function usePublishEntry() {
|
|
321
|
+
return useMutation("POST", buildPublishEntryRequest);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// src/vue/composables/useCreateEntry.ts
|
|
325
|
+
import { computed as computed10 } from "vue";
|
|
326
|
+
function useCreateEntry() {
|
|
327
|
+
const result = useMutation(
|
|
328
|
+
"POST",
|
|
329
|
+
buildCreateEntryRequest
|
|
330
|
+
);
|
|
331
|
+
const data = computed10(() => result.data.value?.entry);
|
|
332
|
+
async function mutate(variables) {
|
|
333
|
+
const raw = await result.mutate(variables);
|
|
334
|
+
return raw.entry;
|
|
335
|
+
}
|
|
336
|
+
return {
|
|
337
|
+
...result,
|
|
338
|
+
data,
|
|
339
|
+
mutate
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// src/vue/composables/useUpdateEntry.ts
|
|
344
|
+
import { computed as computed11 } from "vue";
|
|
345
|
+
function useUpdateEntry() {
|
|
346
|
+
const result = useMutation("PUT", buildUpdateEntryRequest);
|
|
347
|
+
const data = computed11(() => result.data.value?.entry);
|
|
348
|
+
async function mutate(variables) {
|
|
349
|
+
const raw = await result.mutate(variables);
|
|
350
|
+
return raw.entry;
|
|
351
|
+
}
|
|
352
|
+
return {
|
|
353
|
+
...result,
|
|
354
|
+
data,
|
|
355
|
+
mutate
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// src/vue/composables/useDeleteEntry.ts
|
|
360
|
+
function useDeleteEntry() {
|
|
361
|
+
return useMutation("DELETE", buildDeleteEntryRequest);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export {
|
|
365
|
+
useEntries,
|
|
366
|
+
useEntry,
|
|
367
|
+
useAssets,
|
|
368
|
+
useContentTypes,
|
|
369
|
+
useCMA,
|
|
370
|
+
useLaunch,
|
|
371
|
+
useBrandKit,
|
|
372
|
+
useKnowledgeVault,
|
|
373
|
+
useGenerativeAI,
|
|
374
|
+
usePublishEntry,
|
|
375
|
+
useCreateEntry,
|
|
376
|
+
useUpdateEntry,
|
|
377
|
+
useDeleteEntry
|
|
378
|
+
};
|
|
379
|
+
//# sourceMappingURL=chunk-CKMAOWBQ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/vue/composables/useEntries.ts","../src/vue/composables/shared/useQuery.ts","../src/vue/composables/useEntry.ts","../src/vue/composables/useAssets.ts","../src/vue/composables/useContentTypes.ts","../src/vue/composables/useCMA.ts","../src/vue/composables/useLaunch.ts","../src/vue/composables/useBrandKit.ts","../src/vue/composables/useKnowledgeVault.ts","../src/vue/composables/useGenerativeAI.ts","../src/vue/composables/shared/useMutation.ts","../src/vue/composables/usePublishEntry.ts","../src/vue/composables/useCreateEntry.ts","../src/vue/composables/useUpdateEntry.ts","../src/vue/composables/useDeleteEntry.ts"],"sourcesContent":["import { type MaybeRef, type Ref, computed, toValue } from \"vue\"\nimport { type Entry, buildEntriesParams } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport interface UseEntriesOptions extends UseQueryOptions {\n locale?: string\n limit?: number\n skip?: number\n includePublishDetails?: boolean\n query?: Record<string, unknown>\n}\n\nexport interface UseEntriesResult extends Omit<UseQueryResult<Entry[]>, \"data\"> {\n data: Ref<Entry[] | undefined>\n count: Ref<number | undefined>\n}\n\nexport function useEntries(\n contentTypeUid: MaybeRef<string>,\n options?: UseEntriesOptions,\n): UseEntriesResult {\n const params = computed(() => buildEntriesParams(options))\n\n const path = computed(() => `/content_types/${toValue(contentTypeUid)}/entries`)\n\n const result = useQuery<{ entries: Entry[]; count?: number }>(path, params, options)\n\n const data = computed(() => result.data.value?.entries)\n const count = computed(() => result.data.value?.count)\n\n return {\n ...result,\n data,\n count,\n }\n}\n","import { type MaybeRef, type Ref, onUnmounted, ref, toValue, watch } from \"vue\"\nimport { ContentstackError, parseErrorResponse } from \"../../../index.js\"\nimport { useContentstackContext } from \"../../provider/context\"\n\nexport interface UseQueryOptions {\n enabled?: MaybeRef<boolean>\n refetchInterval?: number\n}\n\nexport interface UseQueryResult<T> {\n data: Ref<T | undefined>\n loading: Ref<boolean>\n error: Ref<ContentstackError | null>\n refetch: () => Promise<void>\n}\n\nexport function useQuery<T>(\n path: MaybeRef<string>,\n params?: MaybeRef<Record<string, string> | undefined>,\n options?: UseQueryOptions,\n): UseQueryResult<T> {\n const { proxyBasePath } = useContentstackContext()\n const data = ref<T | undefined>(undefined) as Ref<T | undefined>\n const loading = ref(false)\n const error = ref<ContentstackError | null>(null)\n let abortController: AbortController | null = null\n let intervalId: ReturnType<typeof setInterval> | null = null\n\n const isClient = typeof window !== \"undefined\"\n const enabled = options?.enabled ?? true\n const refetchInterval = options?.refetchInterval ?? 0\n\n async function fetchData(signal?: AbortSignal) {\n loading.value = true\n error.value = null\n\n const currentPath = toValue(path)\n const currentParams = toValue(params)\n const search = currentParams ? `?${new URLSearchParams(currentParams).toString()}` : \"\"\n const url = `${proxyBasePath}${currentPath}${search}`\n\n try {\n const response = await fetch(url, { signal })\n\n if (signal?.aborted) return\n\n if (!response.ok) {\n const err = await parseErrorResponse(response, currentPath)\n error.value = err\n data.value = undefined\n return\n }\n\n const json = await response.json()\n data.value = json as T\n } catch (err) {\n if (err instanceof DOMException && err.name === \"AbortError\") return\n error.value = new ContentstackError(err instanceof Error ? err.message : \"Network error\", {\n requestPath: currentPath,\n cause: err instanceof Error ? err : undefined,\n })\n data.value = undefined\n } finally {\n if (!signal?.aborted) {\n loading.value = false\n }\n }\n }\n\n function doFetch() {\n abortController?.abort()\n const controller = new AbortController()\n abortController = controller\n fetchData(controller.signal)\n }\n\n async function refetch(): Promise<void> {\n abortController?.abort()\n const controller = new AbortController()\n abortController = controller\n await fetchData(controller.signal)\n }\n\n // Watch reactive inputs and refetch when they change\n watch(\n () => ({ path: toValue(path), params: toValue(params), enabled: toValue(enabled) }),\n (newVal) => {\n if (!newVal.enabled || !isClient) return\n doFetch()\n },\n { immediate: true, deep: true },\n )\n\n // Handle refetch interval\n watch(\n () => ({ enabled: toValue(enabled), refetchInterval }),\n (newVal) => {\n if (intervalId) {\n clearInterval(intervalId)\n intervalId = null\n }\n if (isClient && newVal.enabled && newVal.refetchInterval > 0) {\n intervalId = setInterval(() => {\n doFetch()\n }, newVal.refetchInterval)\n }\n },\n { immediate: true },\n )\n\n onUnmounted(() => {\n abortController?.abort()\n if (intervalId) {\n clearInterval(intervalId)\n }\n })\n\n return { data, loading, error, refetch }\n}\n","import { type MaybeRef, type Ref, computed, toValue } from \"vue\"\nimport { type Entry, buildEntryParams } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport interface UseEntryOptions extends UseQueryOptions {\n locale?: string\n version?: number\n includePublishDetails?: boolean\n}\n\nexport function useEntry(\n contentTypeUid: MaybeRef<string>,\n entryUid: MaybeRef<string>,\n options?: UseEntryOptions,\n): UseQueryResult<Entry> {\n const params = computed(() => buildEntryParams(options))\n\n const path = computed(\n () => `/content_types/${toValue(contentTypeUid)}/entries/${toValue(entryUid)}`,\n )\n\n const result = useQuery<{ entry: Entry }>(path, params, options)\n\n const data = computed(() => result.data.value?.entry) as Ref<Entry | undefined>\n\n return {\n ...result,\n data,\n }\n}\n","import { type Ref, computed } from \"vue\"\nimport { type Asset, buildAssetsParams } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport interface UseAssetsOptions extends UseQueryOptions {\n folder?: string\n limit?: number\n skip?: number\n}\n\nexport function useAssets(options?: UseAssetsOptions): UseQueryResult<Asset[]> {\n const params = computed(() => buildAssetsParams(options))\n\n const result = useQuery<{ assets: Asset[] }>(\"/assets\", params, options)\n\n const data = computed(() => result.data.value?.assets) as Ref<Asset[] | undefined>\n\n return {\n ...result,\n data,\n }\n}\n","import { type Ref, computed } from \"vue\"\nimport type { ContentType } from \"../../index.js\"\nimport type { UseQueryOptions, UseQueryResult } from \"./shared/useQuery\"\nimport { useQuery } from \"./shared/useQuery\"\n\nexport function useContentTypes(options?: UseQueryOptions): UseQueryResult<ContentType[]> {\n const result = useQuery<{ content_types: ContentType[] }>(\"/content_types\", undefined, options)\n\n const data = computed(() => result.data.value?.content_types) as Ref<ContentType[] | undefined>\n\n return {\n ...result,\n data,\n }\n}\n","import { computed } from \"vue\"\nimport { type CMAClient, createCMAClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useCMA(): CMAClient {\n const { proxyBasePath, region, apiKey } = useContentstackContext()\n\n const client = computed(() =>\n createCMAClient({\n region,\n apiKey: apiKey ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: proxyBasePath },\n }),\n )\n\n return client.value\n}\n","import { computed } from \"vue\"\nimport { type LaunchClient, createLaunchClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useLaunch(): LaunchClient {\n const { launchProxyBasePath = \"/api/launch\", region, organizationUid } = useContentstackContext()\n\n const client = computed(() =>\n createLaunchClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: launchProxyBasePath },\n }),\n )\n\n return client.value\n}\n","import { computed } from \"vue\"\nimport { type BrandKitClient, createBrandKitClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useBrandKit(): BrandKitClient {\n const {\n brandKitProxyBasePath = \"/api/brandkit\",\n region,\n organizationUid,\n } = useContentstackContext()\n\n const client = computed(() =>\n createBrandKitClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: brandKitProxyBasePath },\n }),\n )\n\n return client.value\n}\n","import { computed } from \"vue\"\nimport { type KnowledgeVaultClient, createKnowledgeVaultClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useKnowledgeVault(): KnowledgeVaultClient {\n const {\n brandKitProxyBasePath = \"/api/brandkit\",\n region,\n organizationUid,\n brandKitUid,\n } = useContentstackContext()\n\n const client = computed(() =>\n createKnowledgeVaultClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n brandKitUid: brandKitUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: brandKitProxyBasePath },\n }),\n )\n\n return client.value\n}\n","import { computed } from \"vue\"\nimport { type GenerativeAIClient, createGenerativeAIClient } from \"../../index.js\"\nimport { useContentstackContext } from \"../provider/context\"\n\nexport function useGenerativeAI(): GenerativeAIClient {\n const {\n brandKitProxyBasePath = \"/api/brandkit\",\n region,\n organizationUid,\n brandKitUid,\n } = useContentstackContext()\n\n const client = computed(() =>\n createGenerativeAIClient({\n region,\n organizationUid: organizationUid ?? \"proxy\",\n brandKitUid: brandKitUid ?? \"proxy\",\n auth: { type: \"oauth\", accessToken: \"proxy\" },\n httpOptions: { baseUrl: brandKitProxyBasePath },\n }),\n )\n\n return client.value\n}\n","import { type Ref, ref } from \"vue\"\nimport { ContentstackError, parseErrorResponse } from \"../../../index.js\"\nimport { useContentstackContext } from \"../../provider/context\"\n\nexport interface UseMutationResult<TData, TVariables> {\n mutate: (variables: TVariables) => Promise<TData>\n loading: Ref<boolean>\n error: Ref<ContentstackError | null>\n data: Ref<TData | undefined>\n reset: () => void\n}\n\nexport function useMutation<TData, TVariables>(\n method: \"POST\" | \"PUT\" | \"DELETE\",\n buildRequest: (variables: TVariables) => { path: string; body?: unknown },\n): UseMutationResult<TData, TVariables> {\n const { proxyBasePath } = useContentstackContext()\n const data = ref<TData | undefined>(undefined) as Ref<TData | undefined>\n const loading = ref(false)\n const error = ref<ContentstackError | null>(null)\n\n const currentBuildRequest = buildRequest\n\n async function mutate(variables: TVariables): Promise<TData> {\n const { path, body } = currentBuildRequest(variables)\n const url = `${proxyBasePath}${path}`\n\n loading.value = true\n error.value = null\n\n try {\n const response = await fetch(url, {\n method,\n headers: body !== undefined ? { \"Content-Type\": \"application/json\" } : undefined,\n body: body !== undefined ? JSON.stringify(body) : undefined,\n })\n\n if (!response.ok) {\n const err = await parseErrorResponse(response, path)\n error.value = err\n data.value = undefined\n throw err\n }\n\n let json: TData | undefined\n try {\n json = (await response.json()) as TData\n } catch {\n // Support successful 204/empty-body mutation responses.\n json = undefined\n }\n data.value = json\n return json as TData\n } catch (err) {\n if (err instanceof ContentstackError) throw err\n const csError = new ContentstackError(err instanceof Error ? err.message : \"Network error\", {\n requestPath: path,\n cause: err instanceof Error ? err : undefined,\n })\n error.value = csError\n data.value = undefined\n throw csError\n } finally {\n loading.value = false\n }\n }\n\n function reset() {\n data.value = undefined\n error.value = null\n }\n\n return { mutate, loading, error, data, reset }\n}\n","import { type PublishEntryVariables, buildPublishEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function usePublishEntry(): UseMutationResult<void, PublishEntryVariables> {\n return useMutation<void, PublishEntryVariables>(\"POST\", buildPublishEntryRequest)\n}\n","import { type Ref, computed } from \"vue\"\nimport { type CreateEntryVariables, type Entry, buildCreateEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function useCreateEntry(): UseMutationResult<Entry, CreateEntryVariables> {\n const result = useMutation<{ entry: Entry }, CreateEntryVariables>(\n \"POST\",\n buildCreateEntryRequest,\n )\n\n const data = computed(() => result.data.value?.entry) as Ref<Entry | undefined>\n\n async function mutate(variables: CreateEntryVariables): Promise<Entry> {\n const raw = await result.mutate(variables)\n return raw.entry\n }\n\n return {\n ...result,\n data,\n mutate,\n }\n}\n","import { type Ref, computed } from \"vue\"\nimport { type Entry, type UpdateEntryVariables, buildUpdateEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function useUpdateEntry(): UseMutationResult<Entry, UpdateEntryVariables> {\n const result = useMutation<{ entry: Entry }, UpdateEntryVariables>(\"PUT\", buildUpdateEntryRequest)\n\n const data = computed(() => result.data.value?.entry) as Ref<Entry | undefined>\n\n async function mutate(variables: UpdateEntryVariables): Promise<Entry> {\n const raw = await result.mutate(variables)\n return raw.entry\n }\n\n return {\n ...result,\n data,\n mutate,\n }\n}\n","import { type DeleteEntryVariables, buildDeleteEntryRequest } from \"../../index.js\"\nimport type { UseMutationResult } from \"./shared/useMutation\"\nimport { useMutation } from \"./shared/useMutation\"\n\nexport function useDeleteEntry(): UseMutationResult<void, DeleteEntryVariables> {\n return useMutation<void, DeleteEntryVariables>(\"DELETE\", buildDeleteEntryRequest)\n}\n"],"mappings":"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","names":["toValue","toValue","computed","toValue","computed","toValue","computed","computed","computed","computed","computed","computed","computed","computed","computed","computed","computed","computed","computed","computed","ref","ref","computed","computed","computed","computed"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-DJQLN4TR.mjs.map
|