@axium/tasks 0.3.5 → 0.4.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/common.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { WithRequired } from 'utilium';
2
1
  import * as z from 'zod';
3
2
  export declare const TaskInit: z.ZodObject<{
4
3
  summary: z.ZodOptional<z.ZodString>;
@@ -6,12 +5,20 @@ export declare const TaskInit: z.ZodObject<{
6
5
  listId: z.ZodUUID;
7
6
  parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
8
7
  completed: z.ZodOptional<z.ZodBoolean>;
9
- due: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
8
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
10
9
  }, z.core.$strip>;
11
10
  export type TaskInit = z.infer<typeof TaskInit>;
12
- export interface Task extends TaskInit {
13
- id: string;
14
- created: Date;
11
+ export declare const Task: z.ZodObject<{
12
+ summary: z.ZodOptional<z.ZodString>;
13
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
+ listId: z.ZodUUID;
15
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
16
+ completed: z.ZodOptional<z.ZodBoolean>;
17
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
18
+ id: z.ZodUUID;
19
+ created: z.ZodCoercedDate<unknown>;
20
+ }, z.core.$strip>;
21
+ export interface Task extends z.infer<typeof Task> {
15
22
  }
16
23
  export declare const TaskListInit: z.ZodObject<{
17
24
  name: z.ZodString;
@@ -22,28 +29,172 @@ export declare const TaskListUpdate: z.ZodObject<{
22
29
  all_completed: z.ZodOptional<z.ZodBoolean>;
23
30
  }, z.core.$strip>;
24
31
  export type TaskListUpdate = z.infer<typeof TaskListUpdate>;
25
- export interface TaskList extends TaskListInit {
26
- id: string;
27
- userId: string;
28
- created: Date;
29
- tasks?: Task[];
32
+ export declare const TaskList: z.ZodObject<{
33
+ name: z.ZodString;
34
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ id: z.ZodUUID;
36
+ userId: z.ZodUUID;
37
+ created: z.ZodCoercedDate<unknown>;
38
+ tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{
39
+ summary: z.ZodOptional<z.ZodString>;
40
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ listId: z.ZodUUID;
42
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
43
+ completed: z.ZodOptional<z.ZodBoolean>;
44
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
45
+ id: z.ZodUUID;
46
+ created: z.ZodCoercedDate<unknown>;
47
+ }, z.core.$strip>>>;
48
+ }, z.core.$strip>;
49
+ export interface TaskList extends z.infer<typeof TaskList> {
30
50
  }
51
+ declare const TasksAPI: {
52
+ readonly 'users/:id/task_lists': {
53
+ readonly GET: z.ZodArray<z.ZodObject<{
54
+ name: z.ZodString;
55
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ id: z.ZodUUID;
57
+ userId: z.ZodUUID;
58
+ created: z.ZodCoercedDate<unknown>;
59
+ tasks: z.ZodNonOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
60
+ summary: z.ZodOptional<z.ZodString>;
61
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ listId: z.ZodUUID;
63
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
64
+ completed: z.ZodOptional<z.ZodBoolean>;
65
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
66
+ id: z.ZodUUID;
67
+ created: z.ZodCoercedDate<unknown>;
68
+ }, z.core.$strip>>>>;
69
+ }, z.core.$strip>>;
70
+ readonly PUT: readonly [z.ZodObject<{
71
+ name: z.ZodString;
72
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
73
+ }, z.core.$strip>, z.ZodObject<{
74
+ name: z.ZodString;
75
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
76
+ id: z.ZodUUID;
77
+ userId: z.ZodUUID;
78
+ created: z.ZodCoercedDate<unknown>;
79
+ tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{
80
+ summary: z.ZodOptional<z.ZodString>;
81
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ listId: z.ZodUUID;
83
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
84
+ completed: z.ZodOptional<z.ZodBoolean>;
85
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
86
+ id: z.ZodUUID;
87
+ created: z.ZodCoercedDate<unknown>;
88
+ }, z.core.$strip>>>;
89
+ }, z.core.$strip>];
90
+ };
91
+ readonly 'task_lists/:id': {
92
+ readonly GET: z.ZodObject<{
93
+ name: z.ZodString;
94
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
95
+ id: z.ZodUUID;
96
+ userId: z.ZodUUID;
97
+ created: z.ZodCoercedDate<unknown>;
98
+ tasks: z.ZodNonOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
99
+ summary: z.ZodOptional<z.ZodString>;
100
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
101
+ listId: z.ZodUUID;
102
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
103
+ completed: z.ZodOptional<z.ZodBoolean>;
104
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
105
+ id: z.ZodUUID;
106
+ created: z.ZodCoercedDate<unknown>;
107
+ }, z.core.$strip>>>>;
108
+ }, z.core.$strip>;
109
+ readonly PATCH: readonly [z.ZodObject<{
110
+ name: z.ZodString;
111
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
112
+ }, z.core.$strip>, z.ZodObject<{
113
+ name: z.ZodString;
114
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
115
+ id: z.ZodUUID;
116
+ userId: z.ZodUUID;
117
+ created: z.ZodCoercedDate<unknown>;
118
+ tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{
119
+ summary: z.ZodOptional<z.ZodString>;
120
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
+ listId: z.ZodUUID;
122
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
123
+ completed: z.ZodOptional<z.ZodBoolean>;
124
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
125
+ id: z.ZodUUID;
126
+ created: z.ZodCoercedDate<unknown>;
127
+ }, z.core.$strip>>>;
128
+ }, z.core.$strip>];
129
+ readonly POST: readonly [z.ZodObject<{
130
+ all_completed: z.ZodOptional<z.ZodBoolean>;
131
+ }, z.core.$strip>, {}];
132
+ readonly PUT: readonly [z.ZodObject<{
133
+ summary: z.ZodOptional<z.ZodString>;
134
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
135
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
136
+ completed: z.ZodOptional<z.ZodBoolean>;
137
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
138
+ }, z.core.$strip>, z.ZodObject<{
139
+ summary: z.ZodOptional<z.ZodString>;
140
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
141
+ listId: z.ZodUUID;
142
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
143
+ completed: z.ZodOptional<z.ZodBoolean>;
144
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
145
+ id: z.ZodUUID;
146
+ created: z.ZodCoercedDate<unknown>;
147
+ }, z.core.$strip>];
148
+ readonly DELETE: z.ZodObject<{
149
+ name: z.ZodString;
150
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
151
+ id: z.ZodUUID;
152
+ userId: z.ZodUUID;
153
+ created: z.ZodCoercedDate<unknown>;
154
+ tasks: z.ZodOptional<z.ZodArray<z.ZodObject<{
155
+ summary: z.ZodOptional<z.ZodString>;
156
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
157
+ listId: z.ZodUUID;
158
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
159
+ completed: z.ZodOptional<z.ZodBoolean>;
160
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
161
+ id: z.ZodUUID;
162
+ created: z.ZodCoercedDate<unknown>;
163
+ }, z.core.$strip>>>;
164
+ }, z.core.$strip>;
165
+ };
166
+ readonly 'tasks/:id': {
167
+ readonly PATCH: readonly [z.ZodObject<{
168
+ summary: z.ZodOptional<z.ZodString>;
169
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
170
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
171
+ completed: z.ZodOptional<z.ZodBoolean>;
172
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
173
+ }, z.core.$strip>, z.ZodObject<{
174
+ summary: z.ZodOptional<z.ZodString>;
175
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
176
+ listId: z.ZodUUID;
177
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
178
+ completed: z.ZodOptional<z.ZodBoolean>;
179
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
180
+ id: z.ZodUUID;
181
+ created: z.ZodCoercedDate<unknown>;
182
+ }, z.core.$strip>];
183
+ readonly DELETE: z.ZodObject<{
184
+ summary: z.ZodOptional<z.ZodString>;
185
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
186
+ listId: z.ZodUUID;
187
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
188
+ completed: z.ZodOptional<z.ZodBoolean>;
189
+ due: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
190
+ id: z.ZodUUID;
191
+ created: z.ZodCoercedDate<unknown>;
192
+ }, z.core.$strip>;
193
+ };
194
+ };
195
+ type TasksAPI = typeof TasksAPI;
31
196
  declare module '@axium/core/api' {
32
- interface $API {
33
- 'users/:id/task_lists': {
34
- GET: WithRequired<TaskList, 'tasks'>[];
35
- PUT: [z.input<typeof TaskListInit>, TaskList];
36
- };
37
- 'task_lists/:id': {
38
- GET: WithRequired<TaskList, 'tasks'>;
39
- PATCH: [z.input<typeof TaskListInit>, TaskList];
40
- POST: [z.input<typeof TaskListUpdate>, {}];
41
- PUT: [Omit<z.input<typeof TaskInit>, 'listId'>, Task];
42
- DELETE: TaskList;
43
- };
44
- 'tasks/:id': {
45
- PATCH: [Omit<z.input<typeof TaskInit>, 'listId'>, Task];
46
- DELETE: Task;
47
- };
197
+ interface $API extends TasksAPI {
48
198
  }
49
199
  }
200
+ export {};
package/dist/common.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { $API } from '@axium/core';
1
2
  import * as z from 'zod';
2
3
  export const TaskInit = z.object({
3
4
  summary: z.string().max(100).optional(),
@@ -5,7 +6,11 @@ export const TaskInit = z.object({
5
6
  listId: z.uuid(),
6
7
  parentId: z.uuid().nullish(),
7
8
  completed: z.boolean().optional(),
8
- due: z.date().nullish(),
9
+ due: z.coerce.date().nullish(),
10
+ });
11
+ export const Task = TaskInit.extend({
12
+ id: z.uuid(),
13
+ created: z.coerce.date(),
9
14
  });
10
15
  export const TaskListInit = z.object({
11
16
  name: z.string().min(1).max(50),
@@ -14,3 +19,27 @@ export const TaskListInit = z.object({
14
19
  export const TaskListUpdate = z.object({
15
20
  all_completed: z.boolean().optional(),
16
21
  });
22
+ export const TaskList = TaskListInit.extend({
23
+ id: z.uuid(),
24
+ userId: z.uuid(),
25
+ created: z.coerce.date(),
26
+ tasks: Task.array().optional(),
27
+ });
28
+ const TasksAPI = {
29
+ 'users/:id/task_lists': {
30
+ GET: TaskList.required({ tasks: true }).array(),
31
+ PUT: [TaskListInit, TaskList],
32
+ },
33
+ 'task_lists/:id': {
34
+ GET: TaskList.required({ tasks: true }),
35
+ PATCH: [TaskListInit, TaskList],
36
+ POST: [TaskListUpdate, {}],
37
+ PUT: [TaskInit.omit({ listId: true }), Task],
38
+ DELETE: TaskList,
39
+ },
40
+ 'tasks/:id': {
41
+ PATCH: [TaskInit.omit({ listId: true }), Task],
42
+ DELETE: Task,
43
+ },
44
+ };
45
+ Object.assign($API, TasksAPI);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axium/tasks",
3
- "version": "0.3.5",
3
+ "version": "0.4.0",
4
4
  "author": "James Prevett <axium@jamespre.dev>",
5
5
  "description": "Tasks for Axium",
6
6
  "funding": {
@@ -35,8 +35,8 @@
35
35
  "build": "tsc"
36
36
  },
37
37
  "peerDependencies": {
38
- "@axium/client": ">=0.9.6",
39
- "@axium/core": ">=0.12.0",
38
+ "@axium/client": ">=0.11.0",
39
+ "@axium/core": ">=0.17.0",
40
40
  "@axium/server": ">=0.28.0",
41
41
  "@sveltejs/kit": "^2.27.3",
42
42
  "utilium": "^2.3.8"
@@ -0,0 +1 @@
1
+ import '@axium/tasks/common';
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { FormDialog, Icon } from '@axium/client/components';
3
3
  import { fetchAPI } from '@axium/client/requests';
4
- import { parseList } from '@axium/tasks/client';
5
4
  import { TaskListInit } from '@axium/tasks/common';
6
5
  import { TaskList } from '@axium/tasks/components';
7
6
 
@@ -35,7 +34,6 @@
35
34
  submit={async rawInit => {
36
35
  const init = TaskListInit.parse(rawInit);
37
36
  const result = await fetchAPI('PUT', 'users/:id/task_lists', init, data.session!.userId);
38
- parseList(result);
39
37
  lists.push(Object.assign(result, { tasks: [] }));
40
38
  }}
41
39
  >
package/dist/client.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import type { TaskList } from './common.js';
2
- export declare function parseList<const T extends TaskList>(list: T): T;
package/dist/client.js DELETED
@@ -1,8 +0,0 @@
1
- export function parseList(list) {
2
- list.created = new Date(list.created);
3
- for (const task of list.tasks || []) {
4
- task.created = new Date(task.created);
5
- task.due = task.due ? new Date(task.due) : null;
6
- }
7
- return list;
8
- }