@truecodeio/sdk-core 0.2.8 → 0.2.10
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/app-router-types.d.ts +39 -1
- package/dist/client.d.ts +39 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +41 -26
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -148,7 +148,7 @@ declare const appRouter: import('@trpc/server').TRPCBuiltRouter<{
|
|
|
148
148
|
content: unknown;
|
|
149
149
|
createdBy: string;
|
|
150
150
|
status: string;
|
|
151
|
-
}
|
|
151
|
+
};
|
|
152
152
|
meta: object;
|
|
153
153
|
}>;
|
|
154
154
|
templateUpdate: import('@trpc/server').TRPCMutationProcedure<{
|
|
@@ -225,6 +225,44 @@ declare const appRouter: import('@trpc/server').TRPCBuiltRouter<{
|
|
|
225
225
|
} | null;
|
|
226
226
|
meta: object;
|
|
227
227
|
}>;
|
|
228
|
+
generateImageUploadUrl: import('@trpc/server').TRPCMutationProcedure<{
|
|
229
|
+
input: {
|
|
230
|
+
templateId: string;
|
|
231
|
+
fileName: string;
|
|
232
|
+
fileSize: number;
|
|
233
|
+
fileType: string;
|
|
234
|
+
};
|
|
235
|
+
output: {
|
|
236
|
+
uploadUrl: string;
|
|
237
|
+
path: string;
|
|
238
|
+
fileName: string;
|
|
239
|
+
};
|
|
240
|
+
meta: object;
|
|
241
|
+
}>;
|
|
242
|
+
confirmImageUpload: import('@trpc/server').TRPCMutationProcedure<{
|
|
243
|
+
input: {
|
|
244
|
+
path: string;
|
|
245
|
+
fileName: string;
|
|
246
|
+
originalFileName: string;
|
|
247
|
+
};
|
|
248
|
+
output: {
|
|
249
|
+
url: string;
|
|
250
|
+
path: string;
|
|
251
|
+
fileName: string;
|
|
252
|
+
originalFileName: string;
|
|
253
|
+
};
|
|
254
|
+
meta: object;
|
|
255
|
+
}>;
|
|
256
|
+
deleteImage: import('@trpc/server').TRPCMutationProcedure<{
|
|
257
|
+
input: {
|
|
258
|
+
templateId: string;
|
|
259
|
+
fileName: string;
|
|
260
|
+
};
|
|
261
|
+
output: {
|
|
262
|
+
success: boolean;
|
|
263
|
+
};
|
|
264
|
+
meta: object;
|
|
265
|
+
}>;
|
|
228
266
|
}>>;
|
|
229
267
|
export type AppRouter = typeof appRouter;
|
|
230
268
|
export {};
|
package/dist/client.d.ts
CHANGED
|
@@ -151,7 +151,7 @@ export declare const createClient: ({ apiKey }: ClientConfig) => import('@trpc/c
|
|
|
151
151
|
content: unknown;
|
|
152
152
|
createdBy: string;
|
|
153
153
|
status: string;
|
|
154
|
-
}
|
|
154
|
+
};
|
|
155
155
|
meta: object;
|
|
156
156
|
}>;
|
|
157
157
|
templateUpdate: import('@trpc/server').TRPCMutationProcedure<{
|
|
@@ -228,5 +228,43 @@ export declare const createClient: ({ apiKey }: ClientConfig) => import('@trpc/c
|
|
|
228
228
|
} | null;
|
|
229
229
|
meta: object;
|
|
230
230
|
}>;
|
|
231
|
+
generateImageUploadUrl: import('@trpc/server').TRPCMutationProcedure<{
|
|
232
|
+
input: {
|
|
233
|
+
templateId: string;
|
|
234
|
+
fileName: string;
|
|
235
|
+
fileSize: number;
|
|
236
|
+
fileType: string;
|
|
237
|
+
};
|
|
238
|
+
output: {
|
|
239
|
+
uploadUrl: string;
|
|
240
|
+
path: string;
|
|
241
|
+
fileName: string;
|
|
242
|
+
};
|
|
243
|
+
meta: object;
|
|
244
|
+
}>;
|
|
245
|
+
confirmImageUpload: import('@trpc/server').TRPCMutationProcedure<{
|
|
246
|
+
input: {
|
|
247
|
+
path: string;
|
|
248
|
+
fileName: string;
|
|
249
|
+
originalFileName: string;
|
|
250
|
+
};
|
|
251
|
+
output: {
|
|
252
|
+
url: string;
|
|
253
|
+
path: string;
|
|
254
|
+
fileName: string;
|
|
255
|
+
originalFileName: string;
|
|
256
|
+
};
|
|
257
|
+
meta: object;
|
|
258
|
+
}>;
|
|
259
|
+
deleteImage: import('@trpc/server').TRPCMutationProcedure<{
|
|
260
|
+
input: {
|
|
261
|
+
templateId: string;
|
|
262
|
+
fileName: string;
|
|
263
|
+
};
|
|
264
|
+
output: {
|
|
265
|
+
success: boolean;
|
|
266
|
+
};
|
|
267
|
+
meta: object;
|
|
268
|
+
}>;
|
|
231
269
|
}>>>;
|
|
232
270
|
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -58,7 +58,22 @@ export declare const createBokoClient: (options: ClientOptions) => {
|
|
|
58
58
|
isCollapsed: boolean;
|
|
59
59
|
props: Readonly<{
|
|
60
60
|
content: string;
|
|
61
|
-
|
|
61
|
+
}>;
|
|
62
|
+
}> | Readonly<{
|
|
63
|
+
id: string;
|
|
64
|
+
type: "image";
|
|
65
|
+
name: string;
|
|
66
|
+
isCollapsed: boolean;
|
|
67
|
+
props: Readonly<{
|
|
68
|
+
type: "placeholder";
|
|
69
|
+
}> | Readonly<{
|
|
70
|
+
type: "image";
|
|
71
|
+
url: string;
|
|
72
|
+
fileName: string;
|
|
73
|
+
altText: string;
|
|
74
|
+
width: number;
|
|
75
|
+
height: number;
|
|
76
|
+
preserveAspectRatio: boolean;
|
|
62
77
|
}>;
|
|
63
78
|
}> | Readonly<{
|
|
64
79
|
id: string;
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ const i = ({ apiKey: n }) => r({
|
|
|
11
11
|
})
|
|
12
12
|
})
|
|
13
13
|
]
|
|
14
|
-
}),
|
|
14
|
+
}), c = e.object({
|
|
15
15
|
id: e.string(),
|
|
16
16
|
type: e.literal("spacer"),
|
|
17
17
|
name: e.string(),
|
|
@@ -19,24 +19,34 @@ const i = ({ apiKey: n }) => r({
|
|
|
19
19
|
props: e.object({
|
|
20
20
|
size: e.number()
|
|
21
21
|
}).readonly()
|
|
22
|
-
}).readonly(),
|
|
22
|
+
}).readonly(), s = e.object({
|
|
23
23
|
id: e.string(),
|
|
24
24
|
type: e.literal("text"),
|
|
25
25
|
name: e.string(),
|
|
26
26
|
isCollapsed: e.boolean(),
|
|
27
27
|
props: e.object({
|
|
28
|
-
content: e.string()
|
|
29
|
-
type: e.enum([
|
|
30
|
-
"paragraph",
|
|
31
|
-
"heading-1",
|
|
32
|
-
"heading-2",
|
|
33
|
-
"heading-3",
|
|
34
|
-
"heading-4",
|
|
35
|
-
"heading-5",
|
|
36
|
-
"heading-6"
|
|
37
|
-
])
|
|
28
|
+
content: e.string()
|
|
38
29
|
}).readonly()
|
|
39
|
-
}).readonly(),
|
|
30
|
+
}).readonly(), d = e.object({
|
|
31
|
+
id: e.string(),
|
|
32
|
+
type: e.literal("image"),
|
|
33
|
+
name: e.string(),
|
|
34
|
+
isCollapsed: e.boolean(),
|
|
35
|
+
props: e.discriminatedUnion("type", [
|
|
36
|
+
e.object({
|
|
37
|
+
type: e.literal("placeholder")
|
|
38
|
+
}),
|
|
39
|
+
e.object({
|
|
40
|
+
type: e.literal("image"),
|
|
41
|
+
url: e.string(),
|
|
42
|
+
fileName: e.string(),
|
|
43
|
+
altText: e.string(),
|
|
44
|
+
width: e.number(),
|
|
45
|
+
height: e.number(),
|
|
46
|
+
preserveAspectRatio: e.boolean()
|
|
47
|
+
})
|
|
48
|
+
]).readonly()
|
|
49
|
+
}).readonly(), m = e.object({
|
|
40
50
|
id: e.string(),
|
|
41
51
|
type: e.literal("button"),
|
|
42
52
|
name: e.string(),
|
|
@@ -65,26 +75,31 @@ const i = ({ apiKey: n }) => r({
|
|
|
65
75
|
fontSize: e.number().min(8).max(72).default(16),
|
|
66
76
|
fontWeight: e.number().min(100).max(900).multipleOf(100).default(400)
|
|
67
77
|
}).readonly()
|
|
68
|
-
}).readonly(),
|
|
78
|
+
}).readonly(), p = e.enum(["default", "equal", "none"]), b = e.enum(["start", "center", "end"]), g = e.object({
|
|
69
79
|
id: e.string(),
|
|
70
80
|
type: e.literal("column"),
|
|
71
81
|
name: e.string(),
|
|
72
82
|
isCollapsed: e.boolean(),
|
|
73
83
|
props: e.object({
|
|
74
|
-
flexChildSize:
|
|
84
|
+
flexChildSize: p,
|
|
75
85
|
alignment: e.object({
|
|
76
|
-
vertical:
|
|
86
|
+
vertical: b
|
|
77
87
|
}).readonly()
|
|
78
88
|
}).readonly(),
|
|
79
89
|
children: e.array(
|
|
80
|
-
e.lazy(() => e.union([
|
|
90
|
+
e.lazy(() => e.union([
|
|
91
|
+
m,
|
|
92
|
+
s,
|
|
93
|
+
c,
|
|
94
|
+
d
|
|
95
|
+
]))
|
|
81
96
|
).readonly()
|
|
82
|
-
}).readonly(),
|
|
97
|
+
}).readonly(), u = e.enum([
|
|
83
98
|
"default",
|
|
84
99
|
"start",
|
|
85
100
|
"center",
|
|
86
101
|
"end"
|
|
87
|
-
]),
|
|
102
|
+
]), y = e.object({
|
|
88
103
|
id: e.string(),
|
|
89
104
|
type: e.literal("row"),
|
|
90
105
|
name: e.string(),
|
|
@@ -101,13 +116,13 @@ const i = ({ apiKey: n }) => r({
|
|
|
101
116
|
color: e.string()
|
|
102
117
|
}).readonly(),
|
|
103
118
|
alignment: e.object({
|
|
104
|
-
horizontal:
|
|
119
|
+
horizontal: u
|
|
105
120
|
}).readonly()
|
|
106
121
|
}).readonly(),
|
|
107
122
|
children: e.array(
|
|
108
|
-
e.lazy(() =>
|
|
123
|
+
e.lazy(() => g)
|
|
109
124
|
).readonly()
|
|
110
|
-
}).readonly(),
|
|
125
|
+
}).readonly(), h = e.object({
|
|
111
126
|
id: e.string(),
|
|
112
127
|
type: e.literal("root"),
|
|
113
128
|
name: e.string(),
|
|
@@ -116,9 +131,9 @@ const i = ({ apiKey: n }) => r({
|
|
|
116
131
|
color: e.string()
|
|
117
132
|
}).readonly(),
|
|
118
133
|
children: e.array(
|
|
119
|
-
e.lazy(() =>
|
|
134
|
+
e.lazy(() => y)
|
|
120
135
|
).readonly()
|
|
121
|
-
}).readonly(),
|
|
136
|
+
}).readonly(), S = (n) => {
|
|
122
137
|
const o = i({
|
|
123
138
|
apiKey: n.apiKey
|
|
124
139
|
});
|
|
@@ -130,13 +145,13 @@ const i = ({ apiKey: n }) => r({
|
|
|
130
145
|
template: {
|
|
131
146
|
...t.template,
|
|
132
147
|
// TODO: Do we need to parse the content here or on procedure level?
|
|
133
|
-
content:
|
|
148
|
+
content: h.parse(t.template.content)
|
|
134
149
|
}
|
|
135
150
|
} : null;
|
|
136
151
|
}
|
|
137
152
|
};
|
|
138
153
|
};
|
|
139
154
|
export {
|
|
140
|
-
|
|
155
|
+
S as createBokoClient
|
|
141
156
|
};
|
|
142
157
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/client.ts","../../../node_modules/.pnpm/@truecodeio+domain-shared@0.1.6/node_modules/@truecodeio/domain-shared/src/schemas/tree-nodes/index.ts","../src/index.ts"],"sourcesContent":["import { createTRPCClient, httpBatchLink } from \"@trpc/client\";\nimport superjson from \"superjson\";\nimport type { AppRouter } from \"./app-router-types\";\n\ntype ClientConfig = {\n apiKey: string;\n};\n\nexport const createClient = ({ apiKey }: ClientConfig) => {\n return createTRPCClient<AppRouter>({\n links: [\n httpBatchLink({\n transformer: superjson,\n url: __SERVER_URL__,\n headers: () => {\n return {\n Authorization: `ApiKey ${apiKey}`,\n };\n },\n }),\n ],\n });\n};\n","import { z } from \"zod\";\n\nexport const spacerNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"spacer\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n size: z.number(),\n })\n .readonly(),\n })\n .readonly();\n\nexport const textNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"text\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n content: z.string(),\n type: z.enum([\n \"paragraph\",\n \"heading-1\",\n \"heading-2\",\n \"heading-3\",\n \"heading-4\",\n \"heading-5\",\n \"heading-6\",\n ]),\n })\n .readonly(),\n })\n .readonly();\n\nexport const buttonNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"button\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n title: z.string(),\n background: z\n .object({\n color: z\n .object({\n default: z.string(),\n hover: z.string(),\n })\n .readonly(),\n })\n .readonly(),\n text: z\n .object({\n color: z\n .object({\n default: z.string(),\n hover: z.string(),\n })\n .readonly(),\n })\n .readonly(),\n padding: z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n })\n .readonly(),\n borderRadius: z.number(),\n fontSize: z.number().min(8).max(72).default(16),\n fontWeight: z.number().min(100).max(900).multipleOf(100).default(400),\n })\n .readonly(),\n })\n .readonly();\n\nexport const flexChildSizeSchema = z.enum([\"default\", \"equal\", \"none\"]);\n\nexport const verticalAlignmentSchema = z.enum([\"start\", \"center\", \"end\"]);\n\nexport const columnNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"column\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n flexChildSize: flexChildSizeSchema,\n alignment: z\n .object({\n vertical: verticalAlignmentSchema,\n })\n .readonly(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return z.union([buttonNodeSchema, textNodeSchema, spacerNodeSchema]);\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport const horizontalAlignmentSchema = z.enum([\n \"default\",\n \"start\",\n \"center\",\n \"end\",\n]);\n\nexport const rowNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"row\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n padding: z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n })\n .readonly(),\n gap: z.number(),\n background: z\n .object({\n color: z.string(),\n })\n .readonly(),\n alignment: z\n .object({\n horizontal: horizontalAlignmentSchema,\n })\n .readonly(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return columnNodeSchema;\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport const rootNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"root\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n color: z.string(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return rowNodeSchema;\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport type ButtonNodeT = z.infer<typeof buttonNodeSchema>;\n\nexport type RootNodeT = z.infer<typeof rootNodeSchema>;\n\nexport type RowNodeT = z.infer<typeof rowNodeSchema>;\n\nexport type ColumnNodeT = z.infer<typeof columnNodeSchema>;\n\nexport type TextNodeT = z.infer<typeof textNodeSchema>;\n\nexport type SpacerNodeT = z.infer<typeof spacerNodeSchema>;\n\nexport type NodeT =\n | RootNodeT\n | RowNodeT\n | ColumnNodeT\n | ButtonNodeT\n | TextNodeT\n | SpacerNodeT;\n\ntype ChildrenNonContainableNodeT = ButtonNodeT | TextNodeT | SpacerNodeT;\n\nexport type ChildrenContainableNodeT = Exclude<\n NodeT,\n ChildrenNonContainableNodeT\n>;\n\nexport type ChildrenNodeT = Exclude<NodeT, RootNodeT>;\n\nexport type NodeByTypeT = {\n [N in NodeT as N[\"type\"]]: N;\n};\n","import { createClient } from \"./client.ts\";\nimport { rootNodeSchema } from \"@truecodeio/domain-shared/schemas/tree-nodes/index.ts\";\n\ntype ClientOptions = {\n apiKey: string;\n};\n\nexport const createBokoClient = (options: ClientOptions) => {\n const client = createClient({\n apiKey: options.apiKey,\n });\n\n return {\n getEligibleCampaign: async () => {\n const eligibleCampaign = await client.getEligibleCampaign.query();\n\n if (!eligibleCampaign) {\n return null;\n }\n\n return {\n ...eligibleCampaign,\n template: {\n ...eligibleCampaign.template,\n // TODO: Do we need to parse the content here or on procedure level?\n content: rootNodeSchema.parse(eligibleCampaign.template.content),\n },\n };\n },\n };\n};\n\nexport type EligibleCampaign = NonNullable<\n Awaited<\n ReturnType<ReturnType<typeof createBokoClient>[\"getEligibleCampaign\"]>\n >\n>;\n"],"names":["createClient","apiKey","createTRPCClient","httpBatchLink","superjson","spacerNodeSchema","z","textNodeSchema","buttonNodeSchema","flexChildSizeSchema","verticalAlignmentSchema","columnNodeSchema","horizontalAlignmentSchema","rowNodeSchema","rootNodeSchema","createBokoClient","options","client","eligibleCampaign"],"mappings":"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","x_google_ignoreList":[1]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/client.ts","../../../node_modules/.pnpm/@truecodeio+domain-shared@0.1.7/node_modules/@truecodeio/domain-shared/src/schemas/tree-nodes/index.ts","../src/index.ts"],"sourcesContent":["import { createTRPCClient, httpBatchLink } from \"@trpc/client\";\nimport superjson from \"superjson\";\nimport type { AppRouter } from \"./app-router-types\";\n\ntype ClientConfig = {\n apiKey: string;\n};\n\nexport const createClient = ({ apiKey }: ClientConfig) => {\n return createTRPCClient<AppRouter>({\n links: [\n httpBatchLink({\n transformer: superjson,\n url: __SERVER_URL__,\n headers: () => {\n return {\n Authorization: `ApiKey ${apiKey}`,\n };\n },\n }),\n ],\n });\n};\n","import { z } from \"zod\";\n\nexport const spacerNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"spacer\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n size: z.number(),\n })\n .readonly(),\n })\n .readonly();\n\nexport const textNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"text\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n content: z.string(),\n })\n .readonly(),\n })\n .readonly();\n\nexport const imageNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"image\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"placeholder\"),\n }),\n z.object({\n type: z.literal(\"image\"),\n url: z.string(),\n fileName: z.string(),\n altText: z.string(),\n width: z.number(),\n height: z.number(),\n preserveAspectRatio: z.boolean(),\n }),\n ])\n .readonly(),\n })\n .readonly();\n\nexport const buttonNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"button\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n title: z.string(),\n background: z\n .object({\n color: z\n .object({\n default: z.string(),\n hover: z.string(),\n })\n .readonly(),\n })\n .readonly(),\n text: z\n .object({\n color: z\n .object({\n default: z.string(),\n hover: z.string(),\n })\n .readonly(),\n })\n .readonly(),\n padding: z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n })\n .readonly(),\n borderRadius: z.number(),\n fontSize: z.number().min(8).max(72).default(16),\n fontWeight: z.number().min(100).max(900).multipleOf(100).default(400),\n })\n .readonly(),\n })\n .readonly();\n\nexport const flexChildSizeSchema = z.enum([\"default\", \"equal\", \"none\"]);\n\nexport const verticalAlignmentSchema = z.enum([\"start\", \"center\", \"end\"]);\n\nexport const columnNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"column\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n flexChildSize: flexChildSizeSchema,\n alignment: z\n .object({\n vertical: verticalAlignmentSchema,\n })\n .readonly(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return z.union([\n buttonNodeSchema,\n textNodeSchema,\n spacerNodeSchema,\n imageNodeSchema,\n ]);\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport const horizontalAlignmentSchema = z.enum([\n \"default\",\n \"start\",\n \"center\",\n \"end\",\n]);\n\nexport const rowNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"row\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n padding: z\n .object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n })\n .readonly(),\n gap: z.number(),\n background: z\n .object({\n color: z.string(),\n })\n .readonly(),\n alignment: z\n .object({\n horizontal: horizontalAlignmentSchema,\n })\n .readonly(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return columnNodeSchema;\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport const rootNodeSchema = z\n .object({\n id: z.string(),\n type: z.literal(\"root\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z\n .object({\n color: z.string(),\n })\n .readonly(),\n children: z\n .array(\n z.lazy(() => {\n return rowNodeSchema;\n }),\n )\n .readonly(),\n })\n .readonly();\n\nexport type ButtonNodeT = z.infer<typeof buttonNodeSchema>;\n\nexport type RootNodeT = z.infer<typeof rootNodeSchema>;\n\nexport type RowNodeT = z.infer<typeof rowNodeSchema>;\n\nexport type ColumnNodeT = z.infer<typeof columnNodeSchema>;\n\nexport type TextNodeT = z.infer<typeof textNodeSchema>;\n\nexport type SpacerNodeT = z.infer<typeof spacerNodeSchema>;\n\nexport type ImageNodeT = z.infer<typeof imageNodeSchema>;\n\nexport type NodeT =\n | RootNodeT\n | RowNodeT\n | ColumnNodeT\n | ButtonNodeT\n | TextNodeT\n | SpacerNodeT\n | ImageNodeT;\n\ntype ChildrenNonContainableNodeT =\n | ButtonNodeT\n | TextNodeT\n | SpacerNodeT\n | ImageNodeT;\n\nexport type ChildrenContainableNodeT = Exclude<\n NodeT,\n ChildrenNonContainableNodeT\n>;\n\nexport type ChildrenNodeT = Exclude<NodeT, RootNodeT>;\n\nexport type NodeByTypeT = {\n [N in NodeT as N[\"type\"]]: N;\n};\n","import { createClient } from \"./client.ts\";\nimport { rootNodeSchema } from \"@truecodeio/domain-shared/schemas/tree-nodes/index.ts\";\n\ntype ClientOptions = {\n apiKey: string;\n};\n\nexport const createBokoClient = (options: ClientOptions) => {\n const client = createClient({\n apiKey: options.apiKey,\n });\n\n return {\n getEligibleCampaign: async () => {\n const eligibleCampaign = await client.getEligibleCampaign.query();\n\n if (!eligibleCampaign) {\n return null;\n }\n\n return {\n ...eligibleCampaign,\n template: {\n ...eligibleCampaign.template,\n // TODO: Do we need to parse the content here or on procedure level?\n content: rootNodeSchema.parse(eligibleCampaign.template.content),\n },\n };\n },\n };\n};\n\nexport type EligibleCampaign = NonNullable<\n Awaited<\n ReturnType<ReturnType<typeof createBokoClient>[\"getEligibleCampaign\"]>\n >\n>;\n"],"names":["createClient","apiKey","createTRPCClient","httpBatchLink","superjson","spacerNodeSchema","z","textNodeSchema","imageNodeSchema","buttonNodeSchema","flexChildSizeSchema","verticalAlignmentSchema","columnNodeSchema","horizontalAlignmentSchema","rowNodeSchema","rootNodeSchema","createBokoClient","options","client","eligibleCampaign"],"mappings":"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","x_google_ignoreList":[1]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truecodeio/sdk-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@trpc/client": "^11.4.
|
|
16
|
-
"@trpc/server": "11.4.
|
|
17
|
-
"@truecodeio/domain-shared": "^0.1.
|
|
15
|
+
"@trpc/client": "^11.4.4",
|
|
16
|
+
"@trpc/server": "^11.4.4",
|
|
17
|
+
"@truecodeio/domain-shared": "^0.1.7",
|
|
18
18
|
"superjson": "^2.2.2",
|
|
19
|
-
"zod": "^4.0.
|
|
19
|
+
"zod": "^4.0.17"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"typescript-eslint": "^8.
|
|
23
|
-
"vite": "^7.
|
|
22
|
+
"typescript-eslint": "^8.39.1",
|
|
23
|
+
"vite": "^7.1.2",
|
|
24
24
|
"vite-plugin-dts": "^4.5.4",
|
|
25
25
|
"@boko/eslint-config": "1.0.0",
|
|
26
26
|
"@boko/tsconfig": "^1.0.0"
|