@nakanoaas/notion-valibot-schema 0.0.3 → 0.0.5

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.
Files changed (138) hide show
  1. package/README.md +26 -24
  2. package/dist/checkbox.cjs +29 -0
  3. package/dist/checkbox.cjs.map +1 -1
  4. package/dist/checkbox.d.cts +30 -0
  5. package/dist/checkbox.d.mts +30 -0
  6. package/dist/checkbox.mjs +29 -0
  7. package/dist/checkbox.mjs.map +1 -1
  8. package/dist/created-by.cjs +75 -0
  9. package/dist/created-by.cjs.map +1 -1
  10. package/dist/created-by.d.cts +76 -0
  11. package/dist/created-by.d.mts +76 -0
  12. package/dist/created-by.mjs +75 -0
  13. package/dist/created-by.mjs.map +1 -1
  14. package/dist/created-time.cjs +27 -0
  15. package/dist/created-time.cjs.map +1 -1
  16. package/dist/created-time.d.cts +28 -0
  17. package/dist/created-time.d.mts +28 -0
  18. package/dist/created-time.mjs +27 -0
  19. package/dist/created-time.mjs.map +1 -1
  20. package/dist/date.cjs +203 -13
  21. package/dist/date.cjs.map +1 -1
  22. package/dist/date.d.cts +214 -6
  23. package/dist/date.d.mts +214 -6
  24. package/dist/date.mjs +201 -12
  25. package/dist/date.mjs.map +1 -1
  26. package/dist/email.cjs +58 -0
  27. package/dist/email.cjs.map +1 -1
  28. package/dist/email.d.cts +59 -0
  29. package/dist/email.d.mts +59 -0
  30. package/dist/email.mjs +58 -0
  31. package/dist/email.mjs.map +1 -1
  32. package/dist/files.cjs +39 -0
  33. package/dist/files.cjs.map +1 -1
  34. package/dist/files.d.cts +40 -0
  35. package/dist/files.d.mts +40 -0
  36. package/dist/files.mjs +39 -0
  37. package/dist/files.mjs.map +1 -1
  38. package/dist/formula.cjs +72 -0
  39. package/dist/formula.cjs.map +1 -1
  40. package/dist/formula.d.cts +73 -0
  41. package/dist/formula.d.mts +73 -0
  42. package/dist/formula.mjs +72 -0
  43. package/dist/formula.mjs.map +1 -1
  44. package/dist/index.cjs +7 -3
  45. package/dist/index.d.cts +4 -4
  46. package/dist/index.d.mts +4 -4
  47. package/dist/index.mjs +4 -4
  48. package/dist/last-edited-by.cjs +68 -0
  49. package/dist/last-edited-by.cjs.map +1 -1
  50. package/dist/last-edited-by.d.cts +69 -0
  51. package/dist/last-edited-by.d.mts +69 -0
  52. package/dist/last-edited-by.mjs +68 -0
  53. package/dist/last-edited-by.mjs.map +1 -1
  54. package/dist/last-edited-time.cjs +27 -0
  55. package/dist/last-edited-time.cjs.map +1 -1
  56. package/dist/last-edited-time.d.cts +28 -0
  57. package/dist/last-edited-time.d.mts +28 -0
  58. package/dist/last-edited-time.mjs +27 -0
  59. package/dist/last-edited-time.mjs.map +1 -1
  60. package/dist/multi-select.cjs +60 -0
  61. package/dist/multi-select.cjs.map +1 -1
  62. package/dist/multi-select.d.cts +61 -0
  63. package/dist/multi-select.d.mts +61 -0
  64. package/dist/multi-select.mjs +60 -0
  65. package/dist/multi-select.mjs.map +1 -1
  66. package/dist/number.cjs +58 -0
  67. package/dist/number.cjs.map +1 -1
  68. package/dist/number.d.cts +59 -0
  69. package/dist/number.d.mts +59 -0
  70. package/dist/number.mjs +58 -0
  71. package/dist/number.mjs.map +1 -1
  72. package/dist/people.cjs +84 -0
  73. package/dist/people.cjs.map +1 -1
  74. package/dist/people.d.cts +85 -0
  75. package/dist/people.d.mts +85 -0
  76. package/dist/people.mjs +84 -0
  77. package/dist/people.mjs.map +1 -1
  78. package/dist/phone-number.cjs +58 -0
  79. package/dist/phone-number.cjs.map +1 -1
  80. package/dist/phone-number.d.cts +59 -0
  81. package/dist/phone-number.d.mts +59 -0
  82. package/dist/phone-number.mjs +58 -0
  83. package/dist/phone-number.mjs.map +1 -1
  84. package/dist/place.cjs +128 -0
  85. package/dist/place.cjs.map +1 -1
  86. package/dist/place.d.cts +85 -0
  87. package/dist/place.d.mts +85 -0
  88. package/dist/place.mjs +128 -0
  89. package/dist/place.mjs.map +1 -1
  90. package/dist/relation.cjs +137 -1
  91. package/dist/relation.cjs.map +1 -1
  92. package/dist/relation.d.cts +113 -1
  93. package/dist/relation.d.mts +113 -1
  94. package/dist/relation.mjs +136 -2
  95. package/dist/relation.mjs.map +1 -1
  96. package/dist/rollup.cjs +203 -10
  97. package/dist/rollup.cjs.map +1 -1
  98. package/dist/rollup.d.cts +201 -0
  99. package/dist/rollup.d.mts +201 -0
  100. package/dist/rollup.mjs +203 -10
  101. package/dist/rollup.mjs.map +1 -1
  102. package/dist/select.cjs +120 -0
  103. package/dist/select.cjs.map +1 -1
  104. package/dist/select.d.cts +121 -0
  105. package/dist/select.d.mts +121 -0
  106. package/dist/select.mjs +120 -0
  107. package/dist/select.mjs.map +1 -1
  108. package/dist/status.cjs +120 -0
  109. package/dist/status.cjs.map +1 -1
  110. package/dist/status.d.cts +121 -0
  111. package/dist/status.d.mts +121 -0
  112. package/dist/status.mjs +120 -0
  113. package/dist/status.mjs.map +1 -1
  114. package/dist/text.cjs +103 -3
  115. package/dist/text.cjs.map +1 -1
  116. package/dist/text.d.cts +73 -10
  117. package/dist/text.d.mts +73 -10
  118. package/dist/text.mjs +103 -3
  119. package/dist/text.mjs.map +1 -1
  120. package/dist/unique-id.cjs +73 -2
  121. package/dist/unique-id.cjs.map +1 -1
  122. package/dist/unique-id.d.cts +81 -2
  123. package/dist/unique-id.d.mts +81 -2
  124. package/dist/unique-id.mjs +72 -2
  125. package/dist/unique-id.mjs.map +1 -1
  126. package/dist/url.cjs +58 -0
  127. package/dist/url.cjs.map +1 -1
  128. package/dist/url.d.cts +59 -0
  129. package/dist/url.d.mts +59 -0
  130. package/dist/url.mjs +58 -0
  131. package/dist/url.mjs.map +1 -1
  132. package/dist/verification.cjs +82 -5
  133. package/dist/verification.cjs.map +1 -1
  134. package/dist/verification.d.cts +81 -0
  135. package/dist/verification.d.mts +81 -0
  136. package/dist/verification.mjs +82 -5
  137. package/dist/verification.mjs.map +1 -1
  138. package/package.json +1 -1
package/dist/place.cjs CHANGED
@@ -3,13 +3,141 @@ let valibot = require("valibot");
3
3
  valibot = require_rolldown_runtime.__toESM(valibot);
4
4
 
5
5
  //#region src/place.ts
6
+ /**
7
+ * Schema for a Notion place object structure.
8
+ *
9
+ * **Input:**
10
+ * ```
11
+ * {
12
+ * lat: number;
13
+ * lon: number;
14
+ * name?: string | null;
15
+ * address?: string | null;
16
+ * }
17
+ * ```
18
+ *
19
+ * **Output:**
20
+ * ```
21
+ * {
22
+ * lat: number;
23
+ * lon: number;
24
+ * name?: string | null;
25
+ * address?: string | null;
26
+ * }
27
+ * ```
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import * as v from "valibot";
32
+ * import { PlaceObjectSchema } from "@nakanoaas/notion-valibot-utils";
33
+ *
34
+ * const PageSchema = v.object({
35
+ * id: v.string(),
36
+ * properties: v.object({
37
+ * Location: v.object({
38
+ * place: PlaceObjectSchema,
39
+ * }),
40
+ * }),
41
+ * });
42
+ *
43
+ * const page = await notion.pages.retrieve({ page_id: "..." });
44
+ * const parsed = v.parse(PageSchema, page);
45
+ * // parsed.properties.Location.place: { lat: number; lon: number; name?: string | null; address?: string | null }
46
+ * ```
47
+ *
48
+ * @internal
49
+ */
6
50
  const PlaceObjectSchema = valibot.object({
7
51
  lat: valibot.number(),
8
52
  lon: valibot.number(),
9
53
  name: valibot.nullish(valibot.string()),
10
54
  address: valibot.nullish(valibot.string())
11
55
  });
56
+ /**
57
+ * Schema to extract the `place` property from a Notion page property.
58
+ *
59
+ * **Input:**
60
+ * ```
61
+ * {
62
+ * place: {
63
+ * lat: number;
64
+ * lon: number;
65
+ * name?: string | null;
66
+ * address?: string | null;
67
+ * };
68
+ * }
69
+ * ```
70
+ *
71
+ * **Output:**
72
+ * ```
73
+ * {
74
+ * lat: number;
75
+ * lon: number;
76
+ * name?: string | null;
77
+ * address?: string | null;
78
+ * }
79
+ * ```
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * import * as v from "valibot";
84
+ * import { PlaceSchema } from "@nakanoaas/notion-valibot-utils";
85
+ *
86
+ * const PageSchema = v.object({
87
+ * id: v.string(),
88
+ * properties: v.object({
89
+ * Location: PlaceSchema,
90
+ * }),
91
+ * });
92
+ *
93
+ * const page = await notion.pages.retrieve({ page_id: "..." });
94
+ * const parsed = v.parse(PageSchema, page);
95
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null }
96
+ * ```
97
+ */
12
98
  const PlaceSchema = valibot.pipe(valibot.object({ place: PlaceObjectSchema }), valibot.transform((v) => v.place));
99
+ /**
100
+ * Schema to extract the `place` property from a Notion page property or `null`.
101
+ *
102
+ * **Input:**
103
+ * ```
104
+ * {
105
+ * place: {
106
+ * lat: number;
107
+ * lon: number;
108
+ * name?: string | null;
109
+ * address?: string | null;
110
+ * } | null;
111
+ * }
112
+ * ```
113
+ *
114
+ * **Output:**
115
+ * ```
116
+ * {
117
+ * lat: number;
118
+ * lon: number;
119
+ * name?: string | null;
120
+ * address?: string | null;
121
+ * } | null
122
+ * ```
123
+ *
124
+ * @example
125
+ * ```ts
126
+ * import * as v from "valibot";
127
+ * import { NullablePlaceSchema } from "@nakanoaas/notion-valibot-utils";
128
+ *
129
+ * const PageSchema = v.object({
130
+ * id: v.string(),
131
+ * properties: v.object({
132
+ * Location: NullablePlaceSchema,
133
+ * }),
134
+ * });
135
+ *
136
+ * const page = await notion.pages.retrieve({ page_id: "..." });
137
+ * const parsed = v.parse(PageSchema, page);
138
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null } | null
139
+ * ```
140
+ */
13
141
  const NullablePlaceSchema = valibot.pipe(valibot.object({ place: valibot.nullable(PlaceObjectSchema) }), valibot.transform((v) => v.place));
14
142
 
15
143
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"place.cjs","names":["v"],"sources":["../src/place.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nconst PlaceObjectSchema = v.object({\n\tlat: v.number(),\n\tlon: v.number(),\n\tname: v.nullish(v.string()),\n\taddress: v.nullish(v.string()),\n});\n\nexport const PlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: PlaceObjectSchema,\n\t}),\n\tv.transform((v) => v.place),\n);\n\nexport const NullablePlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: v.nullable(PlaceObjectSchema),\n\t}),\n\tv.transform((v) => v.place),\n);\n"],"mappings":";;;;;AAEA,MAAM,oBAAoBA,QAAE,OAAO;CAClC,KAAKA,QAAE,QAAQ;CACf,KAAKA,QAAE,QAAQ;CACf,MAAMA,QAAE,QAAQA,QAAE,QAAQ,CAAC;CAC3B,SAASA,QAAE,QAAQA,QAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAa,cAAcA,QAAE,KAC5BA,QAAE,OAAO,EACR,OAAO,mBACP,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,MAAM,CAC3B;AAED,MAAa,sBAAsBA,QAAE,KACpCA,QAAE,OAAO,EACR,OAAOA,QAAE,SAAS,kBAAkB,EACpC,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,MAAM,CAC3B"}
1
+ {"version":3,"file":"place.cjs","names":["v"],"sources":["../src/place.ts"],"sourcesContent":["import * as v from \"valibot\";\n\n/**\n * Schema for a Notion place object structure.\n *\n * **Input:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * }\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { PlaceObjectSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Location: v.object({\n * place: PlaceObjectSchema,\n * }),\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Location.place: { lat: number; lon: number; name?: string | null; address?: string | null }\n * ```\n *\n * @internal\n */\nconst PlaceObjectSchema = v.object({\n\tlat: v.number(),\n\tlon: v.number(),\n\tname: v.nullish(v.string()),\n\taddress: v.nullish(v.string()),\n});\n\n/**\n * Schema to extract the `place` property from a Notion page property.\n *\n * **Input:**\n * ```\n * {\n * place: {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * };\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * }\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { PlaceSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Location: PlaceSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null }\n * ```\n */\nexport const PlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: PlaceObjectSchema,\n\t}),\n\tv.transform((v) => v.place),\n);\n\n/**\n * Schema to extract the `place` property from a Notion page property or `null`.\n *\n * **Input:**\n * ```\n * {\n * place: {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * } | null;\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * } | null\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { NullablePlaceSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Location: NullablePlaceSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null } | null\n * ```\n */\nexport const NullablePlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: v.nullable(PlaceObjectSchema),\n\t}),\n\tv.transform((v) => v.place),\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAM,oBAAoBA,QAAE,OAAO;CAClC,KAAKA,QAAE,QAAQ;CACf,KAAKA,QAAE,QAAQ;CACf,MAAMA,QAAE,QAAQA,QAAE,QAAQ,CAAC;CAC3B,SAASA,QAAE,QAAQA,QAAE,QAAQ,CAAC;CAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CF,MAAa,cAAcA,QAAE,KAC5BA,QAAE,OAAO,EACR,OAAO,mBACP,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,MAAM,CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CD,MAAa,sBAAsBA,QAAE,KACpCA,QAAE,OAAO,EACR,OAAOA,QAAE,SAAS,kBAAkB,EACpC,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,MAAM,CAC3B"}
package/dist/place.d.cts CHANGED
@@ -1,6 +1,49 @@
1
1
  import * as v from "valibot";
2
2
 
3
3
  //#region src/place.d.ts
4
+
5
+ /**
6
+ * Schema to extract the `place` property from a Notion page property.
7
+ *
8
+ * **Input:**
9
+ * ```
10
+ * {
11
+ * place: {
12
+ * lat: number;
13
+ * lon: number;
14
+ * name?: string | null;
15
+ * address?: string | null;
16
+ * };
17
+ * }
18
+ * ```
19
+ *
20
+ * **Output:**
21
+ * ```
22
+ * {
23
+ * lat: number;
24
+ * lon: number;
25
+ * name?: string | null;
26
+ * address?: string | null;
27
+ * }
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import * as v from "valibot";
33
+ * import { PlaceSchema } from "@nakanoaas/notion-valibot-utils";
34
+ *
35
+ * const PageSchema = v.object({
36
+ * id: v.string(),
37
+ * properties: v.object({
38
+ * Location: PlaceSchema,
39
+ * }),
40
+ * });
41
+ *
42
+ * const page = await notion.pages.retrieve({ page_id: "..." });
43
+ * const parsed = v.parse(PageSchema, page);
44
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null }
45
+ * ```
46
+ */
4
47
  declare const PlaceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
5
48
  readonly place: v.ObjectSchema<{
6
49
  readonly lat: v.NumberSchema<undefined>;
@@ -21,6 +64,48 @@ declare const PlaceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
21
64
  name?: string | null | undefined;
22
65
  address?: string | null | undefined;
23
66
  }>]>;
67
+ /**
68
+ * Schema to extract the `place` property from a Notion page property or `null`.
69
+ *
70
+ * **Input:**
71
+ * ```
72
+ * {
73
+ * place: {
74
+ * lat: number;
75
+ * lon: number;
76
+ * name?: string | null;
77
+ * address?: string | null;
78
+ * } | null;
79
+ * }
80
+ * ```
81
+ *
82
+ * **Output:**
83
+ * ```
84
+ * {
85
+ * lat: number;
86
+ * lon: number;
87
+ * name?: string | null;
88
+ * address?: string | null;
89
+ * } | null
90
+ * ```
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * import * as v from "valibot";
95
+ * import { NullablePlaceSchema } from "@nakanoaas/notion-valibot-utils";
96
+ *
97
+ * const PageSchema = v.object({
98
+ * id: v.string(),
99
+ * properties: v.object({
100
+ * Location: NullablePlaceSchema,
101
+ * }),
102
+ * });
103
+ *
104
+ * const page = await notion.pages.retrieve({ page_id: "..." });
105
+ * const parsed = v.parse(PageSchema, page);
106
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null } | null
107
+ * ```
108
+ */
24
109
  declare const NullablePlaceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
25
110
  readonly place: v.NullableSchema<v.ObjectSchema<{
26
111
  readonly lat: v.NumberSchema<undefined>;
package/dist/place.d.mts CHANGED
@@ -1,6 +1,49 @@
1
1
  import * as v from "valibot";
2
2
 
3
3
  //#region src/place.d.ts
4
+
5
+ /**
6
+ * Schema to extract the `place` property from a Notion page property.
7
+ *
8
+ * **Input:**
9
+ * ```
10
+ * {
11
+ * place: {
12
+ * lat: number;
13
+ * lon: number;
14
+ * name?: string | null;
15
+ * address?: string | null;
16
+ * };
17
+ * }
18
+ * ```
19
+ *
20
+ * **Output:**
21
+ * ```
22
+ * {
23
+ * lat: number;
24
+ * lon: number;
25
+ * name?: string | null;
26
+ * address?: string | null;
27
+ * }
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import * as v from "valibot";
33
+ * import { PlaceSchema } from "@nakanoaas/notion-valibot-utils";
34
+ *
35
+ * const PageSchema = v.object({
36
+ * id: v.string(),
37
+ * properties: v.object({
38
+ * Location: PlaceSchema,
39
+ * }),
40
+ * });
41
+ *
42
+ * const page = await notion.pages.retrieve({ page_id: "..." });
43
+ * const parsed = v.parse(PageSchema, page);
44
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null }
45
+ * ```
46
+ */
4
47
  declare const PlaceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
5
48
  readonly place: v.ObjectSchema<{
6
49
  readonly lat: v.NumberSchema<undefined>;
@@ -21,6 +64,48 @@ declare const PlaceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
21
64
  name?: string | null | undefined;
22
65
  address?: string | null | undefined;
23
66
  }>]>;
67
+ /**
68
+ * Schema to extract the `place` property from a Notion page property or `null`.
69
+ *
70
+ * **Input:**
71
+ * ```
72
+ * {
73
+ * place: {
74
+ * lat: number;
75
+ * lon: number;
76
+ * name?: string | null;
77
+ * address?: string | null;
78
+ * } | null;
79
+ * }
80
+ * ```
81
+ *
82
+ * **Output:**
83
+ * ```
84
+ * {
85
+ * lat: number;
86
+ * lon: number;
87
+ * name?: string | null;
88
+ * address?: string | null;
89
+ * } | null
90
+ * ```
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * import * as v from "valibot";
95
+ * import { NullablePlaceSchema } from "@nakanoaas/notion-valibot-utils";
96
+ *
97
+ * const PageSchema = v.object({
98
+ * id: v.string(),
99
+ * properties: v.object({
100
+ * Location: NullablePlaceSchema,
101
+ * }),
102
+ * });
103
+ *
104
+ * const page = await notion.pages.retrieve({ page_id: "..." });
105
+ * const parsed = v.parse(PageSchema, page);
106
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null } | null
107
+ * ```
108
+ */
24
109
  declare const NullablePlaceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
25
110
  readonly place: v.NullableSchema<v.ObjectSchema<{
26
111
  readonly lat: v.NumberSchema<undefined>;
package/dist/place.mjs CHANGED
@@ -1,13 +1,141 @@
1
1
  import * as v from "valibot";
2
2
 
3
3
  //#region src/place.ts
4
+ /**
5
+ * Schema for a Notion place object structure.
6
+ *
7
+ * **Input:**
8
+ * ```
9
+ * {
10
+ * lat: number;
11
+ * lon: number;
12
+ * name?: string | null;
13
+ * address?: string | null;
14
+ * }
15
+ * ```
16
+ *
17
+ * **Output:**
18
+ * ```
19
+ * {
20
+ * lat: number;
21
+ * lon: number;
22
+ * name?: string | null;
23
+ * address?: string | null;
24
+ * }
25
+ * ```
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import * as v from "valibot";
30
+ * import { PlaceObjectSchema } from "@nakanoaas/notion-valibot-utils";
31
+ *
32
+ * const PageSchema = v.object({
33
+ * id: v.string(),
34
+ * properties: v.object({
35
+ * Location: v.object({
36
+ * place: PlaceObjectSchema,
37
+ * }),
38
+ * }),
39
+ * });
40
+ *
41
+ * const page = await notion.pages.retrieve({ page_id: "..." });
42
+ * const parsed = v.parse(PageSchema, page);
43
+ * // parsed.properties.Location.place: { lat: number; lon: number; name?: string | null; address?: string | null }
44
+ * ```
45
+ *
46
+ * @internal
47
+ */
4
48
  const PlaceObjectSchema = v.object({
5
49
  lat: v.number(),
6
50
  lon: v.number(),
7
51
  name: v.nullish(v.string()),
8
52
  address: v.nullish(v.string())
9
53
  });
54
+ /**
55
+ * Schema to extract the `place` property from a Notion page property.
56
+ *
57
+ * **Input:**
58
+ * ```
59
+ * {
60
+ * place: {
61
+ * lat: number;
62
+ * lon: number;
63
+ * name?: string | null;
64
+ * address?: string | null;
65
+ * };
66
+ * }
67
+ * ```
68
+ *
69
+ * **Output:**
70
+ * ```
71
+ * {
72
+ * lat: number;
73
+ * lon: number;
74
+ * name?: string | null;
75
+ * address?: string | null;
76
+ * }
77
+ * ```
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * import * as v from "valibot";
82
+ * import { PlaceSchema } from "@nakanoaas/notion-valibot-utils";
83
+ *
84
+ * const PageSchema = v.object({
85
+ * id: v.string(),
86
+ * properties: v.object({
87
+ * Location: PlaceSchema,
88
+ * }),
89
+ * });
90
+ *
91
+ * const page = await notion.pages.retrieve({ page_id: "..." });
92
+ * const parsed = v.parse(PageSchema, page);
93
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null }
94
+ * ```
95
+ */
10
96
  const PlaceSchema = v.pipe(v.object({ place: PlaceObjectSchema }), v.transform((v$1) => v$1.place));
97
+ /**
98
+ * Schema to extract the `place` property from a Notion page property or `null`.
99
+ *
100
+ * **Input:**
101
+ * ```
102
+ * {
103
+ * place: {
104
+ * lat: number;
105
+ * lon: number;
106
+ * name?: string | null;
107
+ * address?: string | null;
108
+ * } | null;
109
+ * }
110
+ * ```
111
+ *
112
+ * **Output:**
113
+ * ```
114
+ * {
115
+ * lat: number;
116
+ * lon: number;
117
+ * name?: string | null;
118
+ * address?: string | null;
119
+ * } | null
120
+ * ```
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * import * as v from "valibot";
125
+ * import { NullablePlaceSchema } from "@nakanoaas/notion-valibot-utils";
126
+ *
127
+ * const PageSchema = v.object({
128
+ * id: v.string(),
129
+ * properties: v.object({
130
+ * Location: NullablePlaceSchema,
131
+ * }),
132
+ * });
133
+ *
134
+ * const page = await notion.pages.retrieve({ page_id: "..." });
135
+ * const parsed = v.parse(PageSchema, page);
136
+ * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null } | null
137
+ * ```
138
+ */
11
139
  const NullablePlaceSchema = v.pipe(v.object({ place: v.nullable(PlaceObjectSchema) }), v.transform((v$1) => v$1.place));
12
140
 
13
141
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"place.mjs","names":["v"],"sources":["../src/place.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nconst PlaceObjectSchema = v.object({\n\tlat: v.number(),\n\tlon: v.number(),\n\tname: v.nullish(v.string()),\n\taddress: v.nullish(v.string()),\n});\n\nexport const PlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: PlaceObjectSchema,\n\t}),\n\tv.transform((v) => v.place),\n);\n\nexport const NullablePlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: v.nullable(PlaceObjectSchema),\n\t}),\n\tv.transform((v) => v.place),\n);\n"],"mappings":";;;AAEA,MAAM,oBAAoB,EAAE,OAAO;CAClC,KAAK,EAAE,QAAQ;CACf,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC3B,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAa,cAAc,EAAE,KAC5B,EAAE,OAAO,EACR,OAAO,mBACP,CAAC,EACF,EAAE,WAAW,QAAMA,IAAE,MAAM,CAC3B;AAED,MAAa,sBAAsB,EAAE,KACpC,EAAE,OAAO,EACR,OAAO,EAAE,SAAS,kBAAkB,EACpC,CAAC,EACF,EAAE,WAAW,QAAMA,IAAE,MAAM,CAC3B"}
1
+ {"version":3,"file":"place.mjs","names":["v"],"sources":["../src/place.ts"],"sourcesContent":["import * as v from \"valibot\";\n\n/**\n * Schema for a Notion place object structure.\n *\n * **Input:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * }\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { PlaceObjectSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Location: v.object({\n * place: PlaceObjectSchema,\n * }),\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Location.place: { lat: number; lon: number; name?: string | null; address?: string | null }\n * ```\n *\n * @internal\n */\nconst PlaceObjectSchema = v.object({\n\tlat: v.number(),\n\tlon: v.number(),\n\tname: v.nullish(v.string()),\n\taddress: v.nullish(v.string()),\n});\n\n/**\n * Schema to extract the `place` property from a Notion page property.\n *\n * **Input:**\n * ```\n * {\n * place: {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * };\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * }\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { PlaceSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Location: PlaceSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null }\n * ```\n */\nexport const PlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: PlaceObjectSchema,\n\t}),\n\tv.transform((v) => v.place),\n);\n\n/**\n * Schema to extract the `place` property from a Notion page property or `null`.\n *\n * **Input:**\n * ```\n * {\n * place: {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * } | null;\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * lat: number;\n * lon: number;\n * name?: string | null;\n * address?: string | null;\n * } | null\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { NullablePlaceSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Location: NullablePlaceSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Location: { lat: number; lon: number; name?: string | null; address?: string | null } | null\n * ```\n */\nexport const NullablePlaceSchema = v.pipe(\n\tv.object({\n\t\tplace: v.nullable(PlaceObjectSchema),\n\t}),\n\tv.transform((v) => v.place),\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,MAAM,oBAAoB,EAAE,OAAO;CAClC,KAAK,EAAE,QAAQ;CACf,KAAK,EAAE,QAAQ;CACf,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC3B,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC9B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CF,MAAa,cAAc,EAAE,KAC5B,EAAE,OAAO,EACR,OAAO,mBACP,CAAC,EACF,EAAE,WAAW,QAAMA,IAAE,MAAM,CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CD,MAAa,sBAAsB,EAAE,KACpC,EAAE,OAAO,EACR,OAAO,EAAE,SAAS,kBAAkB,EACpC,CAAC,EACF,EAAE,WAAW,QAAMA,IAAE,MAAM,CAC3B"}
package/dist/relation.cjs CHANGED
@@ -3,8 +3,144 @@ let valibot = require("valibot");
3
3
  valibot = require_rolldown_runtime.__toESM(valibot);
4
4
 
5
5
  //#region src/relation.ts
6
- const RelationSchema = valibot.pipe(valibot.object({ relation: valibot.array(valibot.object({ id: valibot.string() })) }), valibot.transform((v) => v.relation.map((r) => r.id)));
6
+ /**
7
+ * Schema for a Notion relation object structure.
8
+ *
9
+ * **Input:**
10
+ * ```
11
+ * {
12
+ * id: string;
13
+ * }
14
+ * ```
15
+ *
16
+ * **Output:**
17
+ * ```
18
+ * {
19
+ * id: string;
20
+ * }
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import * as v from "valibot";
26
+ * import { InnerRelationSchema } from "@nakanoaas/notion-valibot-utils";
27
+ *
28
+ * const PageSchema = v.object({
29
+ * id: v.string(),
30
+ * properties: v.object({
31
+ * Relation: v.object({
32
+ * relation: v.array(InnerRelationSchema),
33
+ * }),
34
+ * }),
35
+ * });
36
+ *
37
+ * const page = await notion.pages.retrieve({ page_id: "..." });
38
+ * const parsed = v.parse(PageSchema, page);
39
+ * // parsed.properties.Relation.relation: Array<{ id: string }>
40
+ * ```
41
+ *
42
+ * @internal
43
+ */
44
+ const InnerRelationSchema = valibot.object({ id: valibot.string() });
45
+ /**
46
+ * Schema to extract the `relation` property from a Notion page property and transform it to an array of page IDs.
47
+ *
48
+ * **Input:**
49
+ * ```
50
+ * {
51
+ * relation: Array<{
52
+ * id: string;
53
+ * }>;
54
+ * }
55
+ * ```
56
+ *
57
+ * **Output:** `string[]`
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * import * as v from "valibot";
62
+ * import { RelationSchema } from "@nakanoaas/notion-valibot-utils";
63
+ *
64
+ * const PageSchema = v.object({
65
+ * id: v.string(),
66
+ * properties: v.object({
67
+ * RelatedPages: RelationSchema,
68
+ * }),
69
+ * });
70
+ *
71
+ * const page = await notion.pages.retrieve({ page_id: "..." });
72
+ * const parsed = v.parse(PageSchema, page);
73
+ * // parsed.properties.RelatedPages: string[]
74
+ * ```
75
+ */
76
+ const RelationSchema = valibot.pipe(valibot.object({ relation: valibot.array(InnerRelationSchema) }), valibot.transform((v) => v.relation.map((r) => r.id)));
77
+ /**
78
+ * Schema to extract the `relation` property from a Notion page property and transform it to a single page ID.
79
+ *
80
+ * **Input:**
81
+ * ```
82
+ * {
83
+ * relation: [{
84
+ * id: string;
85
+ * }];
86
+ * }
87
+ * ```
88
+ *
89
+ * **Output:** `string`
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * import * as v from "valibot";
94
+ * import { SingleRelationSchema } from "@nakanoaas/notion-valibot-utils";
95
+ *
96
+ * const PageSchema = v.object({
97
+ * id: v.string(),
98
+ * properties: v.object({
99
+ * ParentPage: SingleRelationSchema,
100
+ * }),
101
+ * });
102
+ *
103
+ * const page = await notion.pages.retrieve({ page_id: "..." });
104
+ * const parsed = v.parse(PageSchema, page);
105
+ * // parsed.properties.ParentPage: string
106
+ * ```
107
+ */
108
+ const SingleRelationSchema = valibot.pipe(valibot.object({ relation: valibot.tuple([InnerRelationSchema]) }), valibot.transform((v) => v.relation[0].id));
109
+ /**
110
+ * Schema to extract the `relation` property from a Notion page property and transform it to a single page ID or `null`.
111
+ *
112
+ * **Input:**
113
+ * ```
114
+ * {
115
+ * relation: Array<{
116
+ * id: string;
117
+ * }>;
118
+ * }
119
+ * ```
120
+ *
121
+ * **Output:** `string | null`
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * import * as v from "valibot";
126
+ * import { NullableSingleRelationSchema } from "@nakanoaas/notion-valibot-utils";
127
+ *
128
+ * const PageSchema = v.object({
129
+ * id: v.string(),
130
+ * properties: v.object({
131
+ * ParentPage: NullableSingleRelationSchema,
132
+ * }),
133
+ * });
134
+ *
135
+ * const page = await notion.pages.retrieve({ page_id: "..." });
136
+ * const parsed = v.parse(PageSchema, page);
137
+ * // parsed.properties.ParentPage: string | null
138
+ * ```
139
+ */
140
+ const NullableSingleRelationSchema = valibot.pipe(valibot.object({ relation: valibot.array(InnerRelationSchema) }), valibot.transform((v) => v.relation[0]?.id ?? null));
7
141
 
8
142
  //#endregion
143
+ exports.NullableSingleRelationSchema = NullableSingleRelationSchema;
9
144
  exports.RelationSchema = RelationSchema;
145
+ exports.SingleRelationSchema = SingleRelationSchema;
10
146
  //# sourceMappingURL=relation.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation.cjs","names":["v"],"sources":["../src/relation.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nexport const RelationSchema = v.pipe(\n\tv.object({\n\t\trelation: v.array(v.object({ id: v.string() })),\n\t}),\n\tv.transform((v) => v.relation.map((r) => r.id)),\n);\n"],"mappings":";;;;;AAEA,MAAa,iBAAiBA,QAAE,KAC/BA,QAAE,OAAO,EACR,UAAUA,QAAE,MAAMA,QAAE,OAAO,EAAE,IAAIA,QAAE,QAAQ,EAAE,CAAC,CAAC,EAC/C,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,SAAS,KAAK,MAAM,EAAE,GAAG,CAAC,CAC/C"}
1
+ {"version":3,"file":"relation.cjs","names":["v"],"sources":["../src/relation.ts"],"sourcesContent":["import * as v from \"valibot\";\n\n/**\n * Schema for a Notion relation object structure.\n *\n * **Input:**\n * ```\n * {\n * id: string;\n * }\n * ```\n *\n * **Output:**\n * ```\n * {\n * id: string;\n * }\n * ```\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { InnerRelationSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * Relation: v.object({\n * relation: v.array(InnerRelationSchema),\n * }),\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.Relation.relation: Array<{ id: string }>\n * ```\n *\n * @internal\n */\nconst InnerRelationSchema = v.object({ id: v.string() });\n\n/**\n * Schema to extract the `relation` property from a Notion page property and transform it to an array of page IDs.\n *\n * **Input:**\n * ```\n * {\n * relation: Array<{\n * id: string;\n * }>;\n * }\n * ```\n *\n * **Output:** `string[]`\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { RelationSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * RelatedPages: RelationSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.RelatedPages: string[]\n * ```\n */\nexport const RelationSchema = v.pipe(\n\tv.object({\n\t\trelation: v.array(InnerRelationSchema),\n\t}),\n\tv.transform((v) => v.relation.map((r) => r.id)),\n);\n\n/**\n * Schema to extract the `relation` property from a Notion page property and transform it to a single page ID.\n *\n * **Input:**\n * ```\n * {\n * relation: [{\n * id: string;\n * }];\n * }\n * ```\n *\n * **Output:** `string`\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { SingleRelationSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * ParentPage: SingleRelationSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.ParentPage: string\n * ```\n */\nexport const SingleRelationSchema = v.pipe(\n\tv.object({\n\t\trelation: v.tuple([InnerRelationSchema]),\n\t}),\n\tv.transform((v) => v.relation[0].id),\n);\n\n/**\n * Schema to extract the `relation` property from a Notion page property and transform it to a single page ID or `null`.\n *\n * **Input:**\n * ```\n * {\n * relation: Array<{\n * id: string;\n * }>;\n * }\n * ```\n *\n * **Output:** `string | null`\n *\n * @example\n * ```ts\n * import * as v from \"valibot\";\n * import { NullableSingleRelationSchema } from \"@nakanoaas/notion-valibot-utils\";\n *\n * const PageSchema = v.object({\n * id: v.string(),\n * properties: v.object({\n * ParentPage: NullableSingleRelationSchema,\n * }),\n * });\n *\n * const page = await notion.pages.retrieve({ page_id: \"...\" });\n * const parsed = v.parse(PageSchema, page);\n * // parsed.properties.ParentPage: string | null\n * ```\n */\nexport const NullableSingleRelationSchema = v.pipe(\n\tv.object({\n\t\trelation: v.array(InnerRelationSchema),\n\t}),\n\tv.transform((v) => v.relation[0]?.id ?? null),\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,MAAM,sBAAsBA,QAAE,OAAO,EAAE,IAAIA,QAAE,QAAQ,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCxD,MAAa,iBAAiBA,QAAE,KAC/BA,QAAE,OAAO,EACR,UAAUA,QAAE,MAAM,oBAAoB,EACtC,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,SAAS,KAAK,MAAM,EAAE,GAAG,CAAC,CAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCD,MAAa,uBAAuBA,QAAE,KACrCA,QAAE,OAAO,EACR,UAAUA,QAAE,MAAM,CAAC,oBAAoB,CAAC,EACxC,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,SAAS,GAAG,GAAG,CACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCD,MAAa,+BAA+BA,QAAE,KAC7CA,QAAE,OAAO,EACR,UAAUA,QAAE,MAAM,oBAAoB,EACtC,CAAC,EACFA,QAAE,WAAW,MAAM,EAAE,SAAS,IAAI,MAAM,KAAK,CAC7C"}