@atproto/lexicon 0.4.1 → 0.4.3
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/CHANGELOG.md +18 -0
- package/dist/types.d.ts +6282 -6282
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +53 -9
- package/dist/types.js.map +1 -1
- package/dist/util.js +3 -4
- package/dist/util.js.map +1 -1
- package/dist/validation.js +5 -6
- package/dist/validation.js.map +1 -1
- package/dist/validators/blob.js +1 -2
- package/dist/validators/blob.js.map +1 -1
- package/dist/validators/complex.js +4 -5
- package/dist/validators/complex.js.map +1 -1
- package/dist/validators/formats.d.ts.map +1 -1
- package/dist/validators/formats.js +25 -22
- package/dist/validators/formats.js.map +1 -1
- package/dist/validators/primitives.d.ts.map +1 -1
- package/dist/validators/primitives.js +70 -38
- package/dist/validators/primitives.js.map +1 -1
- package/dist/validators/xrpc.js +1 -2
- package/dist/validators/xrpc.js.map +1 -1
- package/jest.config.js +1 -2
- package/package.json +5 -4
- package/src/types.ts +52 -3
- package/src/validators/formats.ts +15 -10
- package/src/validators/primitives.ts +74 -34
- package/tests/general.test.ts +80 -3
- package/tsconfig.build.tsbuildinfo +1 -0
- package/tsconfig.tests.tsbuildinfo +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/validators/formats.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/validators/formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/validators/primitives.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EACL,WAAW,EAIX,gBAAgB,EAGjB,MAAM,UAAU,CAAA;AAEjB,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAoBlB;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CA+BlB;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAmElB;AAED,wBAAgB,MAAM,CACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/validators/primitives.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EACL,WAAW,EAIX,gBAAgB,EAGjB,MAAM,UAAU,CAAA;AAEjB,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAoBlB;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CA+BlB;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAmElB;AAED,wBAAgB,MAAM,CACpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CA6JlB;AAED,wBAAgB,KAAK,CACnB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAmClB;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CASlB;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,gBAAgB,CAUlB"}
|
|
@@ -23,7 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.validate = validate;
|
|
27
|
+
exports.boolean = boolean;
|
|
28
|
+
exports.integer = integer;
|
|
29
|
+
exports.string = string;
|
|
30
|
+
exports.bytes = bytes;
|
|
31
|
+
exports.cidLink = cidLink;
|
|
32
|
+
exports.unknown = unknown;
|
|
27
33
|
const common_web_1 = require("@atproto/common-web");
|
|
28
34
|
const cid_1 = require("multiformats/cid");
|
|
29
35
|
const formats = __importStar(require("./formats"));
|
|
@@ -49,7 +55,6 @@ function validate(lexicons, path, def, value) {
|
|
|
49
55
|
};
|
|
50
56
|
}
|
|
51
57
|
}
|
|
52
|
-
exports.validate = validate;
|
|
53
58
|
function boolean(lexicons, path, def, value) {
|
|
54
59
|
def = def;
|
|
55
60
|
// type
|
|
@@ -80,7 +85,6 @@ function boolean(lexicons, path, def, value) {
|
|
|
80
85
|
}
|
|
81
86
|
return { success: true, value };
|
|
82
87
|
}
|
|
83
|
-
exports.boolean = boolean;
|
|
84
88
|
function integer(lexicons, path, def, value) {
|
|
85
89
|
def = def;
|
|
86
90
|
// type
|
|
@@ -138,7 +142,6 @@ function integer(lexicons, path, def, value) {
|
|
|
138
142
|
}
|
|
139
143
|
return { success: true, value };
|
|
140
144
|
}
|
|
141
|
-
exports.integer = integer;
|
|
142
145
|
function string(lexicons, path, def, value) {
|
|
143
146
|
def = def;
|
|
144
147
|
// type
|
|
@@ -175,40 +178,73 @@ function string(lexicons, path, def, value) {
|
|
|
175
178
|
};
|
|
176
179
|
}
|
|
177
180
|
}
|
|
178
|
-
// maxLength
|
|
179
|
-
if (typeof def.maxLength === 'number') {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
// maxLength and minLength
|
|
182
|
+
if (typeof def.maxLength === 'number' || typeof def.minLength === 'number') {
|
|
183
|
+
const len = (0, common_web_1.utf8Len)(value);
|
|
184
|
+
if (typeof def.maxLength === 'number') {
|
|
185
|
+
if (len > def.maxLength) {
|
|
186
|
+
return {
|
|
187
|
+
success: false,
|
|
188
|
+
error: new types_1.ValidationError(`${path} must not be longer than ${def.maxLength} characters`),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
185
191
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
};
|
|
192
|
+
if (typeof def.minLength === 'number') {
|
|
193
|
+
if (len < def.minLength) {
|
|
194
|
+
return {
|
|
195
|
+
success: false,
|
|
196
|
+
error: new types_1.ValidationError(`${path} must not be shorter than ${def.minLength} characters`),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
194
199
|
}
|
|
195
200
|
}
|
|
196
|
-
// maxGraphemes
|
|
197
|
-
if (typeof def.maxGraphemes === 'number'
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
// maxGraphemes and minGraphemes
|
|
202
|
+
if (typeof def.maxGraphemes === 'number' ||
|
|
203
|
+
typeof def.minGraphemes === 'number') {
|
|
204
|
+
let needsMaxGraphemesCheck = false;
|
|
205
|
+
let needsMinGraphemesCheck = false;
|
|
206
|
+
if (typeof def.maxGraphemes === 'number') {
|
|
207
|
+
if (value.length <= def.maxGraphemes) {
|
|
208
|
+
// If the JavaScript string length (UTF-16) is within the maximum limit,
|
|
209
|
+
// its grapheme length (which <= .length) will also be within.
|
|
210
|
+
needsMaxGraphemesCheck = false;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
needsMaxGraphemesCheck = true;
|
|
214
|
+
}
|
|
203
215
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
216
|
+
if (typeof def.minGraphemes === 'number') {
|
|
217
|
+
if (value.length < def.minGraphemes) {
|
|
218
|
+
// If the JavaScript string length (UTF-16) is below the minimal limit,
|
|
219
|
+
// its grapheme length (which <= .length) will also be below.
|
|
220
|
+
// Fail early.
|
|
221
|
+
return {
|
|
222
|
+
success: false,
|
|
223
|
+
error: new types_1.ValidationError(`${path} must not be shorter than ${def.minGraphemes} graphemes`),
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
needsMinGraphemesCheck = true;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (needsMaxGraphemesCheck || needsMinGraphemesCheck) {
|
|
231
|
+
const len = (0, common_web_1.graphemeLen)(value);
|
|
232
|
+
if (typeof def.maxGraphemes === 'number') {
|
|
233
|
+
if (len > def.maxGraphemes) {
|
|
234
|
+
return {
|
|
235
|
+
success: false,
|
|
236
|
+
error: new types_1.ValidationError(`${path} must not be longer than ${def.maxGraphemes} graphemes`),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (typeof def.minGraphemes === 'number') {
|
|
241
|
+
if (len < def.minGraphemes) {
|
|
242
|
+
return {
|
|
243
|
+
success: false,
|
|
244
|
+
error: new types_1.ValidationError(`${path} must not be shorter than ${def.minGraphemes} graphemes`),
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
}
|
|
212
248
|
}
|
|
213
249
|
}
|
|
214
250
|
if (typeof def.format === 'string') {
|
|
@@ -239,7 +275,6 @@ function string(lexicons, path, def, value) {
|
|
|
239
275
|
}
|
|
240
276
|
return { success: true, value };
|
|
241
277
|
}
|
|
242
|
-
exports.string = string;
|
|
243
278
|
function bytes(lexicons, path, def, value) {
|
|
244
279
|
def = def;
|
|
245
280
|
if (!value || !(value instanceof Uint8Array)) {
|
|
@@ -268,7 +303,6 @@ function bytes(lexicons, path, def, value) {
|
|
|
268
303
|
}
|
|
269
304
|
return { success: true, value };
|
|
270
305
|
}
|
|
271
|
-
exports.bytes = bytes;
|
|
272
306
|
function cidLink(lexicons, path, def, value) {
|
|
273
307
|
if (cid_1.CID.asCID(value) === null) {
|
|
274
308
|
return {
|
|
@@ -278,7 +312,6 @@ function cidLink(lexicons, path, def, value) {
|
|
|
278
312
|
}
|
|
279
313
|
return { success: true, value };
|
|
280
314
|
}
|
|
281
|
-
exports.cidLink = cidLink;
|
|
282
315
|
function unknown(lexicons, path, def, value) {
|
|
283
316
|
// type
|
|
284
317
|
if (!value || typeof value !== 'object') {
|
|
@@ -289,5 +322,4 @@ function unknown(lexicons, path, def, value) {
|
|
|
289
322
|
}
|
|
290
323
|
return { success: true, value };
|
|
291
324
|
}
|
|
292
|
-
exports.unknown = unknown;
|
|
293
325
|
//# sourceMappingURL=primitives.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/validators/primitives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/validators/primitives.ts"],"names":[],"mappings":"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"}
|
package/dist/validators/xrpc.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.params =
|
|
26
|
+
exports.params = params;
|
|
27
27
|
const types_1 = require("../types");
|
|
28
28
|
const PrimitiveValidators = __importStar(require("./primitives"));
|
|
29
29
|
const complex_1 = require("./complex");
|
|
@@ -63,5 +63,4 @@ function params(lexicons, path, def, val) {
|
|
|
63
63
|
}
|
|
64
64
|
return { success: true, value: resultValue };
|
|
65
65
|
}
|
|
66
|
-
exports.params = params;
|
|
67
66
|
//# sourceMappingURL=xrpc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../src/validators/xrpc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../src/validators/xrpc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBA2CC;AAhDD,oCAA+E;AAE/E,kEAAmD;AACnD,uCAAiC;AAEjC,SAAgB,MAAM,CACpB,QAAkB,EAClB,IAAY,EACZ,GAAsB,EACtB,GAAY;IAEZ,OAAO;IACP,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAEjD,aAAa;IACb,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,OAAO;gBACtB,CAAC,CAAC,IAAA,eAAK,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACtE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClE,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,WAAW,CAAA;YACxD,mEAAmE;YACnE,IAAI,eAAe,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,uBAAe,CAAC,GAAG,IAAI,4BAA4B,GAAG,GAAG,CAAC;iBACtE,CAAA;YACH,CAAC;iBAAM,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,8FAA8F;YAC9F,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,qBAAqB;oBACrB,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;gBAC5B,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;AAC9C,CAAC"}
|
package/jest.config.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/** @type {import('jest').Config} */
|
|
2
2
|
module.exports = {
|
|
3
3
|
displayName: 'Lexicon',
|
|
4
|
-
transform: { '^.+\\.
|
|
5
|
-
transformIgnorePatterns: [`<rootDir>/node_modules/(?!get-port)`],
|
|
4
|
+
transform: { '^.+\\.ts$': '@swc/jest' },
|
|
6
5
|
setupFiles: ['<rootDir>/../../jest.setup.ts'],
|
|
7
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/lexicon",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "atproto Lexicon schema language library",
|
|
6
6
|
"keywords": [
|
|
@@ -19,11 +19,12 @@
|
|
|
19
19
|
"iso-datestring-validator": "^2.2.2",
|
|
20
20
|
"multiformats": "^9.9.0",
|
|
21
21
|
"zod": "^3.23.8",
|
|
22
|
-
"@atproto/common-web": "^0.3.
|
|
23
|
-
"@atproto/syntax": "^0.3.
|
|
22
|
+
"@atproto/common-web": "^0.3.1",
|
|
23
|
+
"@atproto/syntax": "^0.3.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"jest": "^28.1.2"
|
|
26
|
+
"jest": "^28.1.2",
|
|
27
|
+
"typescript": "^5.6.3"
|
|
27
28
|
},
|
|
28
29
|
"scripts": {
|
|
29
30
|
"test": "jest",
|
package/src/types.ts
CHANGED
|
@@ -145,7 +145,21 @@ export const lexArray = z
|
|
|
145
145
|
.object({
|
|
146
146
|
type: z.literal('array'),
|
|
147
147
|
description: z.string().optional(),
|
|
148
|
-
items: z.
|
|
148
|
+
items: z.discriminatedUnion('type', [
|
|
149
|
+
// lexPrimitive
|
|
150
|
+
lexBoolean,
|
|
151
|
+
lexInteger,
|
|
152
|
+
lexString,
|
|
153
|
+
lexUnknown,
|
|
154
|
+
// lexIpldType
|
|
155
|
+
lexBytes,
|
|
156
|
+
lexCidLink,
|
|
157
|
+
// lexRefVariant
|
|
158
|
+
lexRef,
|
|
159
|
+
lexRefUnion,
|
|
160
|
+
// other
|
|
161
|
+
lexBlob,
|
|
162
|
+
]),
|
|
149
163
|
minLength: z.number().int().optional(),
|
|
150
164
|
maxLength: z.number().int().optional(),
|
|
151
165
|
})
|
|
@@ -176,7 +190,23 @@ export const lexObject = z
|
|
|
176
190
|
required: z.string().array().optional(),
|
|
177
191
|
nullable: z.string().array().optional(),
|
|
178
192
|
properties: z.record(
|
|
179
|
-
z.
|
|
193
|
+
z.discriminatedUnion('type', [
|
|
194
|
+
lexArray,
|
|
195
|
+
|
|
196
|
+
// lexPrimitive
|
|
197
|
+
lexBoolean,
|
|
198
|
+
lexInteger,
|
|
199
|
+
lexString,
|
|
200
|
+
lexUnknown,
|
|
201
|
+
// lexIpldType
|
|
202
|
+
lexBytes,
|
|
203
|
+
lexCidLink,
|
|
204
|
+
// lexRefVariant
|
|
205
|
+
lexRef,
|
|
206
|
+
lexRefUnion,
|
|
207
|
+
// other
|
|
208
|
+
lexBlob,
|
|
209
|
+
]),
|
|
180
210
|
),
|
|
181
211
|
})
|
|
182
212
|
.strict()
|
|
@@ -191,7 +221,17 @@ export const lexXrpcParameters = z
|
|
|
191
221
|
type: z.literal('params'),
|
|
192
222
|
description: z.string().optional(),
|
|
193
223
|
required: z.string().array().optional(),
|
|
194
|
-
properties: z.record(
|
|
224
|
+
properties: z.record(
|
|
225
|
+
z.discriminatedUnion('type', [
|
|
226
|
+
lexPrimitiveArray,
|
|
227
|
+
|
|
228
|
+
// lexPrimitive
|
|
229
|
+
lexBoolean,
|
|
230
|
+
lexInteger,
|
|
231
|
+
lexString,
|
|
232
|
+
lexUnknown,
|
|
233
|
+
]),
|
|
234
|
+
),
|
|
195
235
|
})
|
|
196
236
|
.strict()
|
|
197
237
|
.superRefine(requiredPropertiesRefinement)
|
|
@@ -201,6 +241,7 @@ export const lexXrpcBody = z
|
|
|
201
241
|
.object({
|
|
202
242
|
description: z.string().optional(),
|
|
203
243
|
encoding: z.string(),
|
|
244
|
+
// @NOTE using discriminatedUnion with a refined schema requires zod >= 4
|
|
204
245
|
schema: z.union([lexRefVariant, lexObject]).optional(),
|
|
205
246
|
})
|
|
206
247
|
.strict()
|
|
@@ -209,6 +250,7 @@ export type LexXrpcBody = z.infer<typeof lexXrpcBody>
|
|
|
209
250
|
export const lexXrpcSubscriptionMessage = z
|
|
210
251
|
.object({
|
|
211
252
|
description: z.string().optional(),
|
|
253
|
+
// @NOTE using discriminatedUnion with a refined schema requires zod >= 4
|
|
212
254
|
schema: z.union([lexRefVariant, lexObject]).optional(),
|
|
213
255
|
})
|
|
214
256
|
.strict()
|
|
@@ -353,6 +395,13 @@ export const lexUserType = z.custom<
|
|
|
353
395
|
}
|
|
354
396
|
}
|
|
355
397
|
|
|
398
|
+
if (typeof val['type'] !== 'string') {
|
|
399
|
+
return {
|
|
400
|
+
message: 'Type property must be a string',
|
|
401
|
+
fatal: true,
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
356
405
|
return {
|
|
357
406
|
message: `Invalid type: ${val['type']} must be one of: record, query, procedure, subscription, blob, array, token, object, boolean, integer, string, bytes, cid-link, unknown`,
|
|
358
407
|
fatal: true,
|
|
@@ -47,6 +47,7 @@ export function atUri(path: string, value: string): ValidationResult {
|
|
|
47
47
|
error: new ValidationError(`${path} must be a valid at-uri`),
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
|
|
50
51
|
return { success: true, value }
|
|
51
52
|
}
|
|
52
53
|
|
|
@@ -59,6 +60,7 @@ export function did(path: string, value: string): ValidationResult {
|
|
|
59
60
|
error: new ValidationError(`${path} must be a valid did`),
|
|
60
61
|
}
|
|
61
62
|
}
|
|
63
|
+
|
|
62
64
|
return { success: true, value }
|
|
63
65
|
}
|
|
64
66
|
|
|
@@ -71,21 +73,24 @@ export function handle(path: string, value: string): ValidationResult {
|
|
|
71
73
|
error: new ValidationError(`${path} must be a valid handle`),
|
|
72
74
|
}
|
|
73
75
|
}
|
|
76
|
+
|
|
74
77
|
return { success: true, value }
|
|
75
78
|
}
|
|
76
79
|
|
|
77
80
|
export function atIdentifier(path: string, value: string): ValidationResult {
|
|
78
|
-
|
|
79
|
-
if (
|
|
80
|
-
const
|
|
81
|
-
if (
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
// We can discriminate based on the "did:" prefix
|
|
82
|
+
if (value.startsWith('did:')) {
|
|
83
|
+
const didResult = did(path, value)
|
|
84
|
+
if (didResult.success) return didResult
|
|
85
|
+
} else {
|
|
86
|
+
const handleResult = handle(path, value)
|
|
87
|
+
if (handleResult.success) return handleResult
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
success: false,
|
|
92
|
+
error: new ValidationError(`${path} must be a valid did or a handle`),
|
|
87
93
|
}
|
|
88
|
-
return { success: true, value }
|
|
89
94
|
}
|
|
90
95
|
|
|
91
96
|
export function nsid(path: string, value: string): ValidationResult {
|
|
@@ -197,50 +197,90 @@ export function string(
|
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
-
// maxLength
|
|
201
|
-
if (typeof def.maxLength === 'number') {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
200
|
+
// maxLength and minLength
|
|
201
|
+
if (typeof def.maxLength === 'number' || typeof def.minLength === 'number') {
|
|
202
|
+
const len = utf8Len(value)
|
|
203
|
+
|
|
204
|
+
if (typeof def.maxLength === 'number') {
|
|
205
|
+
if (len > def.maxLength) {
|
|
206
|
+
return {
|
|
207
|
+
success: false,
|
|
208
|
+
error: new ValidationError(
|
|
209
|
+
`${path} must not be longer than ${def.maxLength} characters`,
|
|
210
|
+
),
|
|
211
|
+
}
|
|
208
212
|
}
|
|
209
213
|
}
|
|
210
|
-
}
|
|
211
214
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
if (typeof def.minLength === 'number') {
|
|
216
|
+
if (len < def.minLength) {
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
error: new ValidationError(
|
|
220
|
+
`${path} must not be shorter than ${def.minLength} characters`,
|
|
221
|
+
),
|
|
222
|
+
}
|
|
220
223
|
}
|
|
221
224
|
}
|
|
222
225
|
}
|
|
223
226
|
|
|
224
|
-
// maxGraphemes
|
|
225
|
-
if (
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
227
|
+
// maxGraphemes and minGraphemes
|
|
228
|
+
if (
|
|
229
|
+
typeof def.maxGraphemes === 'number' ||
|
|
230
|
+
typeof def.minGraphemes === 'number'
|
|
231
|
+
) {
|
|
232
|
+
let needsMaxGraphemesCheck = false
|
|
233
|
+
let needsMinGraphemesCheck = false
|
|
234
|
+
|
|
235
|
+
if (typeof def.maxGraphemes === 'number') {
|
|
236
|
+
if (value.length <= def.maxGraphemes) {
|
|
237
|
+
// If the JavaScript string length (UTF-16) is within the maximum limit,
|
|
238
|
+
// its grapheme length (which <= .length) will also be within.
|
|
239
|
+
needsMaxGraphemesCheck = false
|
|
240
|
+
} else {
|
|
241
|
+
needsMaxGraphemesCheck = true
|
|
232
242
|
}
|
|
233
243
|
}
|
|
234
|
-
}
|
|
235
244
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
245
|
+
if (typeof def.minGraphemes === 'number') {
|
|
246
|
+
if (value.length < def.minGraphemes) {
|
|
247
|
+
// If the JavaScript string length (UTF-16) is below the minimal limit,
|
|
248
|
+
// its grapheme length (which <= .length) will also be below.
|
|
249
|
+
// Fail early.
|
|
250
|
+
return {
|
|
251
|
+
success: false,
|
|
252
|
+
error: new ValidationError(
|
|
253
|
+
`${path} must not be shorter than ${def.minGraphemes} graphemes`,
|
|
254
|
+
),
|
|
255
|
+
}
|
|
256
|
+
} else {
|
|
257
|
+
needsMinGraphemesCheck = true
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if (needsMaxGraphemesCheck || needsMinGraphemesCheck) {
|
|
262
|
+
const len = graphemeLen(value)
|
|
263
|
+
|
|
264
|
+
if (typeof def.maxGraphemes === 'number') {
|
|
265
|
+
if (len > def.maxGraphemes) {
|
|
266
|
+
return {
|
|
267
|
+
success: false,
|
|
268
|
+
error: new ValidationError(
|
|
269
|
+
`${path} must not be longer than ${def.maxGraphemes} graphemes`,
|
|
270
|
+
),
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
if (typeof def.minGraphemes === 'number') {
|
|
276
|
+
if (len < def.minGraphemes) {
|
|
277
|
+
return {
|
|
278
|
+
success: false,
|
|
279
|
+
error: new ValidationError(
|
|
280
|
+
`${path} must not be shorter than ${def.minGraphemes} graphemes`,
|
|
281
|
+
),
|
|
282
|
+
}
|
|
283
|
+
}
|
|
244
284
|
}
|
|
245
285
|
}
|
|
246
286
|
}
|