@truecodeio/sdk-core 0.2.7 → 0.2.9
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 +19 -0
- package/dist/client.d.ts +19 -0
- package/dist/index.d.ts +55 -26
- package/dist/index.js +66 -32
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
|
@@ -83,6 +83,25 @@ declare const appRouter: import('@trpc/server').TRPCBuiltRouter<{
|
|
|
83
83
|
output: void;
|
|
84
84
|
meta: object;
|
|
85
85
|
}>;
|
|
86
|
+
updateCampaign: import('@trpc/server').TRPCMutationProcedure<{
|
|
87
|
+
input: {
|
|
88
|
+
id: string;
|
|
89
|
+
name?: string | undefined;
|
|
90
|
+
status?: string | undefined;
|
|
91
|
+
templateId?: string | undefined;
|
|
92
|
+
};
|
|
93
|
+
output: {
|
|
94
|
+
id: string;
|
|
95
|
+
name: string;
|
|
96
|
+
organizationId: string;
|
|
97
|
+
templateId: string;
|
|
98
|
+
createdBy: string;
|
|
99
|
+
createdAt: Date;
|
|
100
|
+
updatedAt: Date;
|
|
101
|
+
status: string;
|
|
102
|
+
};
|
|
103
|
+
meta: object;
|
|
104
|
+
}>;
|
|
86
105
|
getTemplates: import('@trpc/server').TRPCQueryProcedure<{
|
|
87
106
|
input: void;
|
|
88
107
|
output: {
|
package/dist/client.d.ts
CHANGED
|
@@ -86,6 +86,25 @@ export declare const createClient: ({ apiKey }: ClientConfig) => import('@trpc/c
|
|
|
86
86
|
output: void;
|
|
87
87
|
meta: object;
|
|
88
88
|
}>;
|
|
89
|
+
updateCampaign: import('@trpc/server').TRPCMutationProcedure<{
|
|
90
|
+
input: {
|
|
91
|
+
id: string;
|
|
92
|
+
name?: string | undefined;
|
|
93
|
+
status?: string | undefined;
|
|
94
|
+
templateId?: string | undefined;
|
|
95
|
+
};
|
|
96
|
+
output: {
|
|
97
|
+
id: string;
|
|
98
|
+
name: string;
|
|
99
|
+
organizationId: string;
|
|
100
|
+
templateId: string;
|
|
101
|
+
createdBy: string;
|
|
102
|
+
createdAt: Date;
|
|
103
|
+
updatedAt: Date;
|
|
104
|
+
status: string;
|
|
105
|
+
};
|
|
106
|
+
meta: object;
|
|
107
|
+
}>;
|
|
89
108
|
getTemplates: import('@trpc/server').TRPCQueryProcedure<{
|
|
90
109
|
input: void;
|
|
91
110
|
output: {
|
package/dist/index.d.ts
CHANGED
|
@@ -4,66 +4,95 @@ type ClientOptions = {
|
|
|
4
4
|
export declare const createBokoClient: (options: ClientOptions) => {
|
|
5
5
|
getEligibleCampaign: () => Promise<{
|
|
6
6
|
template: {
|
|
7
|
-
content: {
|
|
7
|
+
content: Readonly<{
|
|
8
8
|
id: string;
|
|
9
9
|
type: "root";
|
|
10
10
|
name: string;
|
|
11
11
|
isCollapsed: boolean;
|
|
12
|
-
props: {
|
|
12
|
+
props: Readonly<{
|
|
13
13
|
color: string;
|
|
14
|
-
}
|
|
15
|
-
children: {
|
|
14
|
+
}>;
|
|
15
|
+
children: readonly Readonly<{
|
|
16
16
|
id: string;
|
|
17
17
|
type: "row";
|
|
18
18
|
name: string;
|
|
19
19
|
isCollapsed: boolean;
|
|
20
|
-
props: {
|
|
21
|
-
padding: {
|
|
20
|
+
props: Readonly<{
|
|
21
|
+
padding: Readonly<{
|
|
22
22
|
top: number;
|
|
23
23
|
right: number;
|
|
24
24
|
bottom: number;
|
|
25
25
|
left: number;
|
|
26
|
-
}
|
|
26
|
+
}>;
|
|
27
27
|
gap: number;
|
|
28
|
-
background: {
|
|
28
|
+
background: Readonly<{
|
|
29
29
|
color: string;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
}>;
|
|
31
|
+
alignment: Readonly<{
|
|
32
|
+
horizontal: "default" | "start" | "center" | "end";
|
|
33
|
+
}>;
|
|
34
|
+
}>;
|
|
35
|
+
children: readonly Readonly<{
|
|
33
36
|
id: string;
|
|
34
37
|
type: "column";
|
|
35
38
|
name: string;
|
|
36
39
|
isCollapsed: boolean;
|
|
37
|
-
props:
|
|
38
|
-
|
|
40
|
+
props: Readonly<{
|
|
41
|
+
flexChildSize: "default" | "equal" | "none";
|
|
42
|
+
alignment: Readonly<{
|
|
43
|
+
vertical: "start" | "center" | "end";
|
|
44
|
+
}>;
|
|
45
|
+
}>;
|
|
46
|
+
children: readonly (Readonly<{
|
|
39
47
|
id: string;
|
|
40
48
|
type: "spacer";
|
|
41
49
|
name: string;
|
|
42
50
|
isCollapsed: boolean;
|
|
43
|
-
props: {
|
|
51
|
+
props: Readonly<{
|
|
44
52
|
size: number;
|
|
45
|
-
}
|
|
46
|
-
} | {
|
|
53
|
+
}>;
|
|
54
|
+
}> | Readonly<{
|
|
47
55
|
id: string;
|
|
48
56
|
type: "text";
|
|
49
57
|
name: string;
|
|
50
58
|
isCollapsed: boolean;
|
|
51
|
-
props: {
|
|
52
|
-
type: "paragraph" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6";
|
|
59
|
+
props: Readonly<{
|
|
53
60
|
content: string;
|
|
54
|
-
|
|
55
|
-
|
|
61
|
+
type: "paragraph" | "heading-1" | "heading-2" | "heading-3" | "heading-4" | "heading-5" | "heading-6";
|
|
62
|
+
}>;
|
|
63
|
+
}> | Readonly<{
|
|
56
64
|
id: string;
|
|
57
65
|
type: "button";
|
|
58
66
|
name: string;
|
|
59
67
|
isCollapsed: boolean;
|
|
60
|
-
props: {
|
|
68
|
+
props: Readonly<{
|
|
61
69
|
title: string;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
background: Readonly<{
|
|
71
|
+
color: Readonly<{
|
|
72
|
+
default: string;
|
|
73
|
+
hover: string;
|
|
74
|
+
}>;
|
|
75
|
+
}>;
|
|
76
|
+
text: Readonly<{
|
|
77
|
+
color: Readonly<{
|
|
78
|
+
default: string;
|
|
79
|
+
hover: string;
|
|
80
|
+
}>;
|
|
81
|
+
}>;
|
|
82
|
+
padding: Readonly<{
|
|
83
|
+
top: number;
|
|
84
|
+
right: number;
|
|
85
|
+
bottom: number;
|
|
86
|
+
left: number;
|
|
87
|
+
}>;
|
|
88
|
+
borderRadius: number;
|
|
89
|
+
fontSize: number;
|
|
90
|
+
fontWeight: number;
|
|
91
|
+
}>;
|
|
92
|
+
}>)[];
|
|
93
|
+
}>[];
|
|
94
|
+
}>[];
|
|
95
|
+
}>;
|
|
67
96
|
id: string;
|
|
68
97
|
name: string;
|
|
69
98
|
organizationId: string;
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { createTRPCClient as
|
|
2
|
-
import
|
|
1
|
+
import { createTRPCClient as r, httpBatchLink as a } from "@trpc/client";
|
|
2
|
+
import l from "superjson";
|
|
3
3
|
import { z as e } from "zod";
|
|
4
|
-
const
|
|
4
|
+
const i = ({ apiKey: n }) => r({
|
|
5
5
|
links: [
|
|
6
6
|
a({
|
|
7
|
-
transformer:
|
|
7
|
+
transformer: l,
|
|
8
8
|
url: "https://boko-server-0d640b8d4fbf.herokuapp.com",
|
|
9
9
|
headers: () => ({
|
|
10
|
-
Authorization: `ApiKey ${
|
|
10
|
+
Authorization: `ApiKey ${n}`
|
|
11
11
|
})
|
|
12
12
|
})
|
|
13
13
|
]
|
|
14
|
-
}),
|
|
14
|
+
}), d = e.object({
|
|
15
15
|
id: e.string(),
|
|
16
16
|
type: e.literal("spacer"),
|
|
17
17
|
name: e.string(),
|
|
18
18
|
isCollapsed: e.boolean(),
|
|
19
19
|
props: e.object({
|
|
20
20
|
size: e.number()
|
|
21
|
-
})
|
|
22
|
-
}),
|
|
21
|
+
}).readonly()
|
|
22
|
+
}).readonly(), c = e.object({
|
|
23
23
|
id: e.string(),
|
|
24
24
|
type: e.literal("text"),
|
|
25
25
|
name: e.string(),
|
|
@@ -35,25 +35,56 @@ const l = ({ apiKey: r }) => o({
|
|
|
35
35
|
"heading-5",
|
|
36
36
|
"heading-6"
|
|
37
37
|
])
|
|
38
|
-
})
|
|
39
|
-
}),
|
|
38
|
+
}).readonly()
|
|
39
|
+
}).readonly(), s = e.object({
|
|
40
40
|
id: e.string(),
|
|
41
41
|
type: e.literal("button"),
|
|
42
42
|
name: e.string(),
|
|
43
43
|
isCollapsed: e.boolean(),
|
|
44
44
|
props: e.object({
|
|
45
|
-
title: e.string()
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
title: e.string(),
|
|
46
|
+
background: e.object({
|
|
47
|
+
color: e.object({
|
|
48
|
+
default: e.string(),
|
|
49
|
+
hover: e.string()
|
|
50
|
+
}).readonly()
|
|
51
|
+
}).readonly(),
|
|
52
|
+
text: e.object({
|
|
53
|
+
color: e.object({
|
|
54
|
+
default: e.string(),
|
|
55
|
+
hover: e.string()
|
|
56
|
+
}).readonly()
|
|
57
|
+
}).readonly(),
|
|
58
|
+
padding: e.object({
|
|
59
|
+
top: e.number(),
|
|
60
|
+
right: e.number(),
|
|
61
|
+
bottom: e.number(),
|
|
62
|
+
left: e.number()
|
|
63
|
+
}).readonly(),
|
|
64
|
+
borderRadius: e.number(),
|
|
65
|
+
fontSize: e.number().min(8).max(72).default(16),
|
|
66
|
+
fontWeight: e.number().min(100).max(900).multipleOf(100).default(400)
|
|
67
|
+
}).readonly()
|
|
68
|
+
}).readonly(), m = e.enum(["default", "equal", "none"]), p = e.enum(["start", "center", "end"]), b = e.object({
|
|
48
69
|
id: e.string(),
|
|
49
70
|
type: e.literal("column"),
|
|
50
71
|
name: e.string(),
|
|
51
72
|
isCollapsed: e.boolean(),
|
|
52
|
-
props: e.
|
|
73
|
+
props: e.object({
|
|
74
|
+
flexChildSize: m,
|
|
75
|
+
alignment: e.object({
|
|
76
|
+
vertical: p
|
|
77
|
+
}).readonly()
|
|
78
|
+
}).readonly(),
|
|
53
79
|
children: e.array(
|
|
54
|
-
e.lazy(() => e.union([
|
|
55
|
-
)
|
|
56
|
-
}),
|
|
80
|
+
e.lazy(() => e.union([s, c, d]))
|
|
81
|
+
).readonly()
|
|
82
|
+
}).readonly(), g = e.enum([
|
|
83
|
+
"default",
|
|
84
|
+
"start",
|
|
85
|
+
"center",
|
|
86
|
+
"end"
|
|
87
|
+
]), u = e.object({
|
|
57
88
|
id: e.string(),
|
|
58
89
|
type: e.literal("row"),
|
|
59
90
|
name: e.string(),
|
|
@@ -64,45 +95,48 @@ const l = ({ apiKey: r }) => o({
|
|
|
64
95
|
right: e.number(),
|
|
65
96
|
bottom: e.number(),
|
|
66
97
|
left: e.number()
|
|
67
|
-
}),
|
|
98
|
+
}).readonly(),
|
|
68
99
|
gap: e.number(),
|
|
69
100
|
background: e.object({
|
|
70
101
|
color: e.string()
|
|
71
|
-
})
|
|
72
|
-
|
|
102
|
+
}).readonly(),
|
|
103
|
+
alignment: e.object({
|
|
104
|
+
horizontal: g
|
|
105
|
+
}).readonly()
|
|
106
|
+
}).readonly(),
|
|
73
107
|
children: e.array(
|
|
74
|
-
e.lazy(() =>
|
|
75
|
-
)
|
|
76
|
-
}),
|
|
108
|
+
e.lazy(() => b)
|
|
109
|
+
).readonly()
|
|
110
|
+
}).readonly(), y = e.object({
|
|
77
111
|
id: e.string(),
|
|
78
112
|
type: e.literal("root"),
|
|
79
113
|
name: e.string(),
|
|
80
114
|
isCollapsed: e.boolean(),
|
|
81
115
|
props: e.object({
|
|
82
116
|
color: e.string()
|
|
83
|
-
}),
|
|
117
|
+
}).readonly(),
|
|
84
118
|
children: e.array(
|
|
85
|
-
e.lazy(() =>
|
|
86
|
-
)
|
|
87
|
-
}),
|
|
88
|
-
const
|
|
89
|
-
apiKey:
|
|
119
|
+
e.lazy(() => u)
|
|
120
|
+
).readonly()
|
|
121
|
+
}).readonly(), C = (n) => {
|
|
122
|
+
const o = i({
|
|
123
|
+
apiKey: n.apiKey
|
|
90
124
|
});
|
|
91
125
|
return {
|
|
92
126
|
getEligibleCampaign: async () => {
|
|
93
|
-
const t = await
|
|
127
|
+
const t = await o.getEligibleCampaign.query();
|
|
94
128
|
return t ? {
|
|
95
129
|
...t,
|
|
96
130
|
template: {
|
|
97
131
|
...t.template,
|
|
98
132
|
// TODO: Do we need to parse the content here or on procedure level?
|
|
99
|
-
content:
|
|
133
|
+
content: y.parse(t.template.content)
|
|
100
134
|
}
|
|
101
135
|
} : null;
|
|
102
136
|
}
|
|
103
137
|
};
|
|
104
138
|
};
|
|
105
139
|
export {
|
|
106
|
-
|
|
140
|
+
C as createBokoClient
|
|
107
141
|
};
|
|
108
142
|
//# 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+client-shared@0.1.5/node_modules/@truecodeio/client-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.object({\n id: z.string(),\n type: z.literal(\"spacer\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n size: z.number(),\n }),\n});\n\nexport const textNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"text\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.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});\n\nexport const buttonNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"button\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n title: z.string(),\n }),\n});\n\nexport const columnNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"column\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.record(z.string(), z.unknown()),\n children: z.array(\n z.lazy(() => {\n return z.union([buttonNodeSchema, textNodeSchema, spacerNodeSchema]);\n }),\n ),\n});\n\nexport const rowNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"row\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n padding: z.object({\n top: z.number(),\n right: z.number(),\n bottom: z.number(),\n left: z.number(),\n }),\n gap: z.number(),\n background: z.object({\n color: z.string(),\n }),\n }),\n children: z.array(\n z.lazy(() => {\n return columnNodeSchema;\n }),\n ),\n});\n\nexport const rootNodeSchema = z.object({\n id: z.string(),\n type: z.literal(\"root\"),\n name: z.string(),\n isCollapsed: z.boolean(),\n props: z.object({\n color: z.string(),\n }),\n children: z.array(\n z.lazy(() => {\n return rowNodeSchema;\n }),\n ),\n});\n\nexport type NodeT =\n | z.infer<typeof rootNodeSchema>\n | z.infer<typeof rowNodeSchema>\n | z.infer<typeof columnNodeSchema>\n | z.infer<typeof buttonNodeSchema>\n | z.infer<typeof textNodeSchema>\n | z.infer<typeof spacerNodeSchema>;\n","import { createClient } from \"./client.ts\";\nimport { rootNodeSchema } from \"@truecodeio/client-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","columnNodeSchema","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.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]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truecodeio/sdk-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -12,18 +12,18 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@trpc/client": "^11.4.
|
|
16
|
-
"@trpc/server": "11.4.
|
|
17
|
-
"@truecodeio/
|
|
15
|
+
"@trpc/client": "^11.4.3",
|
|
16
|
+
"@trpc/server": "^11.4.3",
|
|
17
|
+
"@truecodeio/domain-shared": "^0.1.6",
|
|
18
18
|
"superjson": "^2.2.2",
|
|
19
|
-
"zod": "^
|
|
19
|
+
"zod": "^4.0.10"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"typescript-eslint": "^8.
|
|
23
|
-
"vite": "^7.0.
|
|
24
|
-
"vite-plugin-dts": "^4.4
|
|
25
|
-
"@boko/
|
|
26
|
-
"@boko/
|
|
22
|
+
"typescript-eslint": "^8.38.0",
|
|
23
|
+
"vite": "^7.0.6",
|
|
24
|
+
"vite-plugin-dts": "^4.5.4",
|
|
25
|
+
"@boko/tsconfig": "^1.0.0",
|
|
26
|
+
"@boko/eslint-config": "1.0.0"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "vite build",
|