@atproto/lex-schema 0.0.8 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/LICENSE.txt +1 -1
- package/dist/core/$type.d.ts +11 -0
- package/dist/core/$type.d.ts.map +1 -1
- package/dist/core/$type.js +4 -0
- package/dist/core/$type.js.map +1 -1
- package/dist/core/schema.d.ts +31 -24
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +38 -8
- package/dist/core/schema.js.map +1 -1
- package/dist/core/string-format.d.ts +35 -35
- package/dist/core/string-format.d.ts.map +1 -1
- package/dist/core/string-format.js +49 -91
- package/dist/core/string-format.js.map +1 -1
- package/dist/core/validation-issue.js +1 -1
- package/dist/core/validation-issue.js.map +1 -1
- package/dist/core/validator.d.ts +53 -32
- package/dist/core/validator.d.ts.map +1 -1
- package/dist/core/validator.js +18 -22
- package/dist/core/validator.js.map +1 -1
- package/dist/external.d.ts +0 -85
- package/dist/external.d.ts.map +1 -1
- package/dist/external.js +0 -164
- package/dist/external.js.map +1 -1
- package/dist/helpers.d.ts +10 -5
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +3 -3
- package/dist/helpers.js.map +1 -1
- package/dist/schema/array.d.ts +9 -5
- package/dist/schema/array.d.ts.map +1 -1
- package/dist/schema/array.js +14 -5
- package/dist/schema/array.js.map +1 -1
- package/dist/schema/blob.d.ts +9 -7
- package/dist/schema/blob.d.ts.map +1 -1
- package/dist/schema/blob.js +9 -5
- package/dist/schema/blob.js.map +1 -1
- package/dist/schema/boolean.d.ts +3 -7
- package/dist/schema/boolean.d.ts.map +1 -1
- package/dist/schema/boolean.js +6 -7
- package/dist/schema/boolean.js.map +1 -1
- package/dist/schema/bytes.d.ts +3 -2
- package/dist/schema/bytes.d.ts.map +1 -1
- package/dist/schema/bytes.js +7 -3
- package/dist/schema/bytes.js.map +1 -1
- package/dist/schema/cid.d.ts +10 -8
- package/dist/schema/cid.d.ts.map +1 -1
- package/dist/schema/cid.js +5 -1
- package/dist/schema/cid.js.map +1 -1
- package/dist/schema/custom.d.ts +6 -5
- package/dist/schema/custom.d.ts.map +1 -1
- package/dist/schema/custom.js +10 -4
- package/dist/schema/custom.js.map +1 -1
- package/dist/schema/dict.d.ts +8 -8
- package/dist/schema/dict.d.ts.map +1 -1
- package/dist/schema/dict.js +11 -2
- package/dist/schema/dict.js.map +1 -1
- package/dist/schema/discriminated-union.d.ts +21 -14
- package/dist/schema/discriminated-union.d.ts.map +1 -1
- package/dist/schema/discriminated-union.js +7 -0
- package/dist/schema/discriminated-union.js.map +1 -1
- package/dist/schema/enum.d.ts +7 -9
- package/dist/schema/enum.d.ts.map +1 -1
- package/dist/schema/enum.js +8 -4
- package/dist/schema/enum.js.map +1 -1
- package/dist/schema/integer.d.ts +5 -5
- package/dist/schema/integer.d.ts.map +1 -1
- package/dist/schema/integer.js +9 -5
- package/dist/schema/integer.js.map +1 -1
- package/dist/schema/intersection.d.ts +4 -4
- package/dist/schema/intersection.d.ts.map +1 -1
- package/dist/schema/intersection.js +5 -0
- package/dist/schema/intersection.js.map +1 -1
- package/dist/schema/literal.d.ts +6 -9
- package/dist/schema/literal.d.ts.map +1 -1
- package/dist/schema/literal.js +7 -4
- package/dist/schema/literal.js.map +1 -1
- package/dist/schema/never.d.ts +3 -2
- package/dist/schema/never.d.ts.map +1 -1
- package/dist/schema/never.js +5 -1
- package/dist/schema/never.js.map +1 -1
- package/dist/schema/null.d.ts +4 -3
- package/dist/schema/null.d.ts.map +1 -1
- package/dist/schema/null.js +6 -4
- package/dist/schema/null.js.map +1 -1
- package/dist/schema/nullable.d.ts +6 -5
- package/dist/schema/nullable.d.ts.map +1 -1
- package/dist/schema/nullable.js +9 -5
- package/dist/schema/nullable.js.map +1 -1
- package/dist/schema/object.d.ts +10 -8
- package/dist/schema/object.d.ts.map +1 -1
- package/dist/schema/object.js +11 -3
- package/dist/schema/object.js.map +1 -1
- package/dist/schema/optional.d.ts +7 -5
- package/dist/schema/optional.d.ts.map +1 -1
- package/dist/schema/optional.js +14 -6
- package/dist/schema/optional.js.map +1 -1
- package/dist/schema/params.d.ts +24 -13
- package/dist/schema/params.d.ts.map +1 -1
- package/dist/schema/params.js +47 -25
- package/dist/schema/params.js.map +1 -1
- package/dist/schema/payload.d.ts +12 -9
- package/dist/schema/payload.d.ts.map +1 -1
- package/dist/schema/payload.js +11 -0
- package/dist/schema/payload.js.map +1 -1
- package/dist/schema/permission-set.d.ts +1 -0
- package/dist/schema/permission-set.d.ts.map +1 -1
- package/dist/schema/permission-set.js +5 -0
- package/dist/schema/permission-set.js.map +1 -1
- package/dist/schema/permission.d.ts +6 -5
- package/dist/schema/permission.d.ts.map +1 -1
- package/dist/schema/permission.js +5 -0
- package/dist/schema/permission.js.map +1 -1
- package/dist/schema/procedure.d.ts +2 -1
- package/dist/schema/procedure.d.ts.map +1 -1
- package/dist/schema/procedure.js +5 -0
- package/dist/schema/procedure.js.map +1 -1
- package/dist/schema/query.d.ts +2 -1
- package/dist/schema/query.d.ts.map +1 -1
- package/dist/schema/query.js +5 -0
- package/dist/schema/query.js.map +1 -1
- package/dist/schema/record.d.ts +48 -30
- package/dist/schema/record.d.ts.map +1 -1
- package/dist/schema/record.js +12 -9
- package/dist/schema/record.js.map +1 -1
- package/dist/schema/ref.d.ts +9 -6
- package/dist/schema/ref.d.ts.map +1 -1
- package/dist/schema/ref.js +9 -16
- package/dist/schema/ref.js.map +1 -1
- package/dist/schema/refine.d.ts +4 -4
- package/dist/schema/refine.d.ts.map +1 -1
- package/dist/schema/refine.js.map +1 -1
- package/dist/schema/regexp.d.ts +4 -3
- package/dist/schema/regexp.d.ts.map +1 -1
- package/dist/schema/regexp.js +5 -0
- package/dist/schema/regexp.js.map +1 -1
- package/dist/schema/string.d.ts +7 -8
- package/dist/schema/string.d.ts.map +1 -1
- package/dist/schema/string.js +13 -19
- package/dist/schema/string.js.map +1 -1
- package/dist/schema/subscription.d.ts +2 -1
- package/dist/schema/subscription.d.ts.map +1 -1
- package/dist/schema/subscription.js +5 -0
- package/dist/schema/subscription.js.map +1 -1
- package/dist/schema/token.d.ts +6 -5
- package/dist/schema/token.d.ts.map +1 -1
- package/dist/schema/token.js +5 -0
- package/dist/schema/token.js.map +1 -1
- package/dist/schema/typed-object.d.ts +43 -26
- package/dist/schema/typed-object.d.ts.map +1 -1
- package/dist/schema/typed-object.js +6 -3
- package/dist/schema/typed-object.js.map +1 -1
- package/dist/schema/typed-ref.d.ts +16 -25
- package/dist/schema/typed-ref.d.ts.map +1 -1
- package/dist/schema/typed-ref.js +7 -17
- package/dist/schema/typed-ref.js.map +1 -1
- package/dist/schema/typed-union.d.ts +9 -21
- package/dist/schema/typed-union.d.ts.map +1 -1
- package/dist/schema/typed-union.js +15 -11
- package/dist/schema/typed-union.js.map +1 -1
- package/dist/schema/union.d.ts +6 -6
- package/dist/schema/union.d.ts.map +1 -1
- package/dist/schema/union.js +7 -5
- package/dist/schema/union.js.map +1 -1
- package/dist/schema/unknown-object.d.ts +5 -4
- package/dist/schema/unknown-object.d.ts.map +1 -1
- package/dist/schema/unknown-object.js +5 -1
- package/dist/schema/unknown-object.js.map +1 -1
- package/dist/schema/unknown.d.ts +3 -2
- package/dist/schema/unknown.d.ts.map +1 -1
- package/dist/schema/unknown.js +5 -1
- package/dist/schema/unknown.js.map +1 -1
- package/dist/schema/with-default.d.ts +9 -0
- package/dist/schema/with-default.d.ts.map +1 -0
- package/dist/schema/with-default.js +27 -0
- package/dist/schema/with-default.js.map +1 -0
- package/dist/schema.d.ts +2 -2
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +2 -4
- package/dist/schema.js.map +1 -1
- package/dist/util/assertion-util.d.ts +0 -6
- package/dist/util/assertion-util.d.ts.map +1 -1
- package/dist/util/assertion-util.js +0 -28
- package/dist/util/assertion-util.js.map +1 -1
- package/dist/util/memoize.d.ts +2 -2
- package/dist/util/memoize.d.ts.map +1 -1
- package/dist/util/memoize.js +23 -39
- package/dist/util/memoize.js.map +1 -1
- package/package.json +3 -3
- package/src/core/$type.test.ts +20 -0
- package/src/core/$type.ts +30 -0
- package/src/core/schema.ts +86 -38
- package/src/core/string-format.ts +119 -158
- package/src/core/validation-issue.ts +1 -1
- package/src/core/validator.ts +93 -53
- package/src/external.ts +0 -404
- package/src/helpers.test.ts +22 -21
- package/src/helpers.ts +14 -14
- package/src/schema/array.test.ts +38 -40
- package/src/schema/array.ts +35 -13
- package/src/schema/blob.test.ts +21 -21
- package/src/schema/blob.ts +19 -17
- package/src/schema/boolean.test.ts +9 -8
- package/src/schema/boolean.ts +7 -13
- package/src/schema/bytes.test.ts +13 -13
- package/src/schema/bytes.ts +13 -8
- package/src/schema/cid.test.ts +3 -3
- package/src/schema/cid.ts +15 -13
- package/src/schema/custom.test.ts +26 -26
- package/src/schema/custom.ts +20 -13
- package/src/schema/dict.test.ts +21 -39
- package/src/schema/dict.ts +28 -19
- package/src/schema/discriminated-union.test.ts +128 -128
- package/src/schema/discriminated-union.ts +45 -26
- package/src/schema/enum.test.ts +17 -16
- package/src/schema/enum.ts +16 -16
- package/src/schema/integer.test.ts +22 -21
- package/src/schema/integer.ts +12 -9
- package/src/schema/intersection.test.ts +10 -10
- package/src/schema/intersection.ts +17 -14
- package/src/schema/literal.test.ts +35 -34
- package/src/schema/literal.ts +12 -15
- package/src/schema/never.test.ts +5 -5
- package/src/schema/never.ts +7 -2
- package/src/schema/null.test.ts +3 -3
- package/src/schema/null.ts +9 -9
- package/src/schema/nullable.test.ts +31 -42
- package/src/schema/nullable.ts +17 -9
- package/src/schema/object.test.ts +10 -12
- package/src/schema/object.ts +27 -18
- package/src/schema/optional.test.ts +21 -28
- package/src/schema/optional.ts +27 -10
- package/src/schema/params.test.ts +471 -47
- package/src/schema/params.ts +72 -38
- package/src/schema/payload.test.ts +150 -156
- package/src/schema/payload.ts +35 -19
- package/src/schema/permission-set.test.ts +206 -273
- package/src/schema/permission-set.ts +8 -0
- package/src/schema/permission.test.ts +177 -177
- package/src/schema/permission.ts +13 -5
- package/src/schema/procedure.test.ts +183 -242
- package/src/schema/procedure.ts +18 -5
- package/src/schema/query.test.ts +186 -200
- package/src/schema/query.ts +16 -4
- package/src/schema/record.test.ts +121 -101
- package/src/schema/record.ts +74 -40
- package/src/schema/ref.test.ts +101 -118
- package/src/schema/ref.ts +33 -28
- package/src/schema/refine.test.ts +28 -28
- package/src/schema/refine.ts +23 -20
- package/src/schema/regexp.test.ts +29 -33
- package/src/schema/regexp.ts +11 -7
- package/src/schema/string.test.ts +35 -35
- package/src/schema/string.ts +24 -33
- package/src/schema/subscription.test.ts +259 -387
- package/src/schema/subscription.ts +16 -4
- package/src/schema/token.test.ts +47 -324
- package/src/schema/token.ts +14 -7
- package/src/schema/typed-object.test.ts +98 -81
- package/src/schema/typed-object.ts +68 -33
- package/src/schema/typed-ref.test.ts +206 -234
- package/src/schema/typed-ref.ts +40 -42
- package/src/schema/typed-union.test.ts +40 -64
- package/src/schema/typed-union.ts +36 -58
- package/src/schema/union.test.ts +17 -27
- package/src/schema/union.ts +20 -16
- package/src/schema/unknown-object.test.ts +8 -8
- package/src/schema/unknown-object.ts +9 -7
- package/src/schema/unknown.test.ts +4 -4
- package/src/schema/unknown.ts +7 -5
- package/src/schema/with-default.ts +35 -0
- package/src/schema.ts +2 -6
- package/src/util/assertion-util.ts +0 -39
- package/src/util/memoize.ts +26 -46
- package/dist/schema/_parameters.d.ts +0 -17
- package/dist/schema/_parameters.d.ts.map +0 -1
- package/dist/schema/_parameters.js +0 -20
- package/dist/schema/_parameters.js.map +0 -1
- package/src/schema/_parameters.test.ts +0 -417
- package/src/schema/_parameters.ts +0 -26
package/dist/external.js
CHANGED
|
@@ -1,171 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.params = exports.refine = exports.optional = exports.nullable = exports.unknownObject = exports.string = exports.blob = exports.bytes = exports.cidLink = exports.integer = exports.boolean = exports.unknown = exports.never = exports.null = void 0;
|
|
4
|
-
exports.literal = literal;
|
|
5
|
-
exports._enum = _enum;
|
|
6
|
-
exports.enum = _enum;
|
|
7
|
-
exports.regexp = regexp;
|
|
8
|
-
exports.array = array;
|
|
9
|
-
exports.object = object;
|
|
10
|
-
exports.dict = dict;
|
|
11
|
-
exports.ref = ref;
|
|
12
|
-
exports.custom = custom;
|
|
13
|
-
exports.union = union;
|
|
14
|
-
exports.intersection = intersection;
|
|
15
|
-
exports.discriminatedUnion = discriminatedUnion;
|
|
16
|
-
exports.token = token;
|
|
17
|
-
exports.typedRef = typedRef;
|
|
18
|
-
exports.typedUnion = typedUnion;
|
|
19
|
-
exports.typedObject = typedObject;
|
|
20
|
-
exports.record = record;
|
|
21
|
-
exports.payload = payload;
|
|
22
|
-
exports.jsonPayload = jsonPayload;
|
|
23
|
-
exports.query = query;
|
|
24
|
-
exports.procedure = procedure;
|
|
25
|
-
exports.subscription = subscription;
|
|
26
|
-
exports.permission = permission;
|
|
27
|
-
exports.permissionSet = permissionSet;
|
|
28
3
|
const tslib_1 = require("tslib");
|
|
29
|
-
const core_js_1 = require("./core.js");
|
|
30
|
-
const schema_js_1 = require("./schema.js");
|
|
31
|
-
Object.defineProperty(exports, "refine", { enumerable: true, get: function () { return schema_js_1.refine; } });
|
|
32
|
-
const memoize_js_1 = require("./util/memoize.js");
|
|
33
4
|
tslib_1.__exportStar(require("./core.js"), exports);
|
|
34
5
|
tslib_1.__exportStar(require("./helpers.js"), exports);
|
|
35
6
|
tslib_1.__exportStar(require("./schema.js"), exports);
|
|
36
|
-
exports.never = (0, memoize_js_1.memoizedOptions)(function () {
|
|
37
|
-
return new schema_js_1.NeverSchema();
|
|
38
|
-
});
|
|
39
|
-
exports.unknown = (0, memoize_js_1.memoizedOptions)(function () {
|
|
40
|
-
return new schema_js_1.UnknownSchema();
|
|
41
|
-
});
|
|
42
|
-
const _null = /*#__PURE__*/ (0, memoize_js_1.memoizedOptions)(function () {
|
|
43
|
-
return new schema_js_1.NullSchema();
|
|
44
|
-
});
|
|
45
|
-
exports.null = _null;
|
|
46
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
47
|
-
function literal(value, options) {
|
|
48
|
-
return new schema_js_1.LiteralSchema(value, options);
|
|
49
|
-
}
|
|
50
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
51
|
-
function _enum(value, options) {
|
|
52
|
-
return new schema_js_1.EnumSchema(value, options);
|
|
53
|
-
}
|
|
54
|
-
exports.boolean = (0, memoize_js_1.memoizedOptions)(function (options) {
|
|
55
|
-
return new schema_js_1.BooleanSchema(options);
|
|
56
|
-
}, (options) => {
|
|
57
|
-
const keys = Object.keys(options);
|
|
58
|
-
if (keys.length === 1 && keys[0] === 'default')
|
|
59
|
-
return options.default;
|
|
60
|
-
});
|
|
61
|
-
exports.integer = (0, memoize_js_1.memoizedOptions)(function (options) {
|
|
62
|
-
return new schema_js_1.IntegerSchema(options);
|
|
63
|
-
});
|
|
64
|
-
exports.cidLink = (0, memoize_js_1.memoizedOptions)(function (options = {}) {
|
|
65
|
-
return new schema_js_1.CidSchema(options);
|
|
66
|
-
});
|
|
67
|
-
exports.bytes = (0, memoize_js_1.memoizedOptions)(function (options) {
|
|
68
|
-
return new schema_js_1.BytesSchema(options);
|
|
69
|
-
});
|
|
70
|
-
exports.blob = (0, memoize_js_1.memoizedOptions)(function (options = {}) {
|
|
71
|
-
return new schema_js_1.BlobSchema(options);
|
|
72
|
-
});
|
|
73
|
-
exports.string = (0, memoize_js_1.memoizedOptions)(function (options = {}) {
|
|
74
|
-
return new schema_js_1.StringSchema(options);
|
|
75
|
-
});
|
|
76
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
77
|
-
function regexp(pattern) {
|
|
78
|
-
return new schema_js_1.RegexpSchema(pattern);
|
|
79
|
-
}
|
|
80
|
-
function array(items, options) {
|
|
81
|
-
return new schema_js_1.ArraySchema(items, options);
|
|
82
|
-
}
|
|
83
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
84
|
-
function object(properties) {
|
|
85
|
-
return new schema_js_1.ObjectSchema(properties);
|
|
86
|
-
}
|
|
87
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
88
|
-
function dict(key, value) {
|
|
89
|
-
return new schema_js_1.DictSchema(key, value);
|
|
90
|
-
}
|
|
91
|
-
exports.unknownObject = (0, memoize_js_1.memoizedOptions)(function () {
|
|
92
|
-
return new schema_js_1.UnknownObjectSchema();
|
|
93
|
-
});
|
|
94
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
95
|
-
function ref(get) {
|
|
96
|
-
return new schema_js_1.RefSchema(get);
|
|
97
|
-
}
|
|
98
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
99
|
-
function custom(assertion, message, path) {
|
|
100
|
-
return new schema_js_1.CustomSchema(assertion, message, path);
|
|
101
|
-
}
|
|
102
|
-
exports.nullable = (0, memoize_js_1.memoizedTransformer)(function (schema) {
|
|
103
|
-
return new schema_js_1.NullableSchema(schema);
|
|
104
|
-
});
|
|
105
|
-
exports.optional = (0, memoize_js_1.memoizedTransformer)(function (schema) {
|
|
106
|
-
return new schema_js_1.OptionalSchema(schema);
|
|
107
|
-
});
|
|
108
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
109
|
-
function union(validators) {
|
|
110
|
-
return new schema_js_1.UnionSchema(validators);
|
|
111
|
-
}
|
|
112
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
113
|
-
function intersection(left, right) {
|
|
114
|
-
return new schema_js_1.IntersectionSchema(left, right);
|
|
115
|
-
}
|
|
116
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
117
|
-
function discriminatedUnion(discriminator, variants) {
|
|
118
|
-
return new schema_js_1.DiscriminatedUnionSchema(discriminator, variants);
|
|
119
|
-
}
|
|
120
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
121
|
-
function token(nsid, hash) {
|
|
122
|
-
return new schema_js_1.TokenSchema((0, core_js_1.$type)(nsid, hash));
|
|
123
|
-
}
|
|
124
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
125
|
-
function typedRef(get) {
|
|
126
|
-
return new schema_js_1.TypedRefSchema(get);
|
|
127
|
-
}
|
|
128
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
129
|
-
function typedUnion(refs, closed) {
|
|
130
|
-
return new schema_js_1.TypedUnionSchema(refs, closed);
|
|
131
|
-
}
|
|
132
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
133
|
-
function typedObject(nsid, hash, schema) {
|
|
134
|
-
return new schema_js_1.TypedObjectSchema((0, core_js_1.$type)(nsid, hash), schema);
|
|
135
|
-
}
|
|
136
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
137
|
-
function record(key, type, schema) {
|
|
138
|
-
return new schema_js_1.RecordSchema(key, type, schema);
|
|
139
|
-
}
|
|
140
|
-
exports.params = (0, memoize_js_1.memoizedOptions)(function (properties = {}) {
|
|
141
|
-
return new schema_js_1.ParamsSchema(properties);
|
|
142
|
-
});
|
|
143
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
144
|
-
function payload(encoding = undefined, schema = undefined) {
|
|
145
|
-
return new schema_js_1.Payload(encoding, schema);
|
|
146
|
-
}
|
|
147
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
148
|
-
function jsonPayload(properties) {
|
|
149
|
-
return payload('application/json', object(properties));
|
|
150
|
-
}
|
|
151
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
152
|
-
function query(nsid, parameters, output, errors = undefined) {
|
|
153
|
-
return new schema_js_1.Query(nsid, parameters, output, errors);
|
|
154
|
-
}
|
|
155
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
156
|
-
function procedure(nsid, parameters, input, output, errors = undefined) {
|
|
157
|
-
return new schema_js_1.Procedure(nsid, parameters, input, output, errors);
|
|
158
|
-
}
|
|
159
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
160
|
-
function subscription(nsid, parameters, message, errors = undefined) {
|
|
161
|
-
return new schema_js_1.Subscription(nsid, parameters, message, errors);
|
|
162
|
-
}
|
|
163
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
164
|
-
function permission(resource, options = {}) {
|
|
165
|
-
return new schema_js_1.Permission(resource, options);
|
|
166
|
-
}
|
|
167
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
168
|
-
function permissionSet(nsid, permissions, options) {
|
|
169
|
-
return new schema_js_1.PermissionSet(nsid, permissions, options);
|
|
170
|
-
}
|
|
171
7
|
//# sourceMappingURL=external.js.map
|
package/dist/external.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external.js","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n $Type,\n $TypeOf,\n $type,\n Infer,\n LexiconRecordKey,\n NsidString,\n PropertyKey,\n Schema,\n Validator,\n} from './core.js'\nimport {\n ArraySchema,\n ArraySchemaOptions,\n BlobSchema,\n BlobSchemaOptions,\n BooleanSchema,\n BooleanSchemaOptions,\n BytesSchema,\n BytesSchemaOptions,\n CidSchema,\n CidSchemaOptions,\n CustomAssertion,\n CustomSchema,\n DictSchema,\n DiscriminatedUnionSchema,\n DiscriminatedUnionVariants,\n EnumSchema,\n EnumSchemaOptions,\n IntegerSchema,\n IntegerSchemaOptions,\n IntersectionSchema,\n LiteralSchema,\n LiteralSchemaOptions,\n NeverSchema,\n NullSchema,\n NullableSchema,\n ObjectSchema,\n ObjectSchemaShape,\n OptionalSchema,\n ParamsSchema,\n ParamsSchemaShape,\n Payload,\n PayloadSchema,\n Permission,\n PermissionOptions,\n PermissionSet,\n PermissionSetOptions,\n Procedure,\n Query,\n RecordSchema,\n RefSchema,\n RefSchemaGetter,\n RegexpSchema,\n StringSchema,\n StringSchemaOptions,\n Subscription,\n TokenSchema,\n TypedObjectSchema,\n TypedRefGetter,\n TypedRefSchema,\n TypedUnionSchema,\n UnionSchema,\n UnionSchemaValidators,\n UnknownObjectOutput,\n UnknownObjectSchema,\n UnknownSchema,\n refine,\n} from './schema.js'\nimport { memoizedOptions, memoizedTransformer } from './util/memoize.js'\n\nexport * from './core.js'\nexport * from './helpers.js'\nexport * from './schema.js'\n\nexport { _null as null }\n\nexport const never = /*#__PURE__*/ memoizedOptions(function () {\n return new NeverSchema()\n})\n\nexport const unknown = /*#__PURE__*/ memoizedOptions(function () {\n return new UnknownSchema()\n})\n\nconst _null = /*#__PURE__*/ memoizedOptions(function () {\n return new NullSchema()\n})\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function literal<const V extends null | string | number | boolean>(\n value: V,\n options?: LiteralSchemaOptions<V>,\n) {\n return new LiteralSchema<V>(value, options)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function _enum<const V extends null | string | number | boolean>(\n value: readonly V[],\n options?: EnumSchemaOptions<V>,\n) {\n return new EnumSchema<V>(value, options)\n}\n\n// @NOTE \"enum\" is a reserved keyword in JS/TS\nexport { _enum as enum }\n\nexport const boolean = /*#__PURE__*/ memoizedOptions(\n function (options?: BooleanSchemaOptions) {\n return new BooleanSchema(options)\n },\n (options) => {\n const keys = Object.keys(options)\n if (keys.length === 1 && keys[0] === 'default') return options.default!\n },\n)\n\nexport const integer = /*#__PURE__*/ memoizedOptions(function (\n options?: IntegerSchemaOptions,\n) {\n return new IntegerSchema(options)\n})\n\nexport const cidLink = /*#__PURE__*/ memoizedOptions(function <\n O extends CidSchemaOptions = NonNullable<unknown>,\n>(options: O = {} as O) {\n return new CidSchema(options)\n})\n\nexport const bytes = /*#__PURE__*/ memoizedOptions(function (\n options?: BytesSchemaOptions,\n) {\n return new BytesSchema(options)\n})\n\nexport const blob = /*#__PURE__*/ memoizedOptions(function <\n O extends BlobSchemaOptions = NonNullable<unknown>,\n>(options: O = {} as O) {\n return new BlobSchema(options)\n})\n\nexport const string = /*#__PURE__*/ memoizedOptions(function <\n const O extends StringSchemaOptions = NonNullable<unknown>,\n>(options: StringSchemaOptions & O = {} as O) {\n return new StringSchema<O>(options)\n})\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function regexp<T extends string = string>(pattern: RegExp) {\n return new RegexpSchema<T>(pattern)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function array<const S extends Validator>(\n items: S,\n options?: ArraySchemaOptions,\n): ArraySchema<S>\nexport function array<T, const S extends Validator<T> = Validator<T>>(\n items: S,\n options?: ArraySchemaOptions,\n): ArraySchema<S>\nexport function array<const S extends Validator>(\n items: S,\n options?: ArraySchemaOptions,\n) {\n return new ArraySchema<S>(items, options)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function object<const P extends ObjectSchemaShape>(properties: P) {\n return new ObjectSchema<P>(properties)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function dict<\n const K extends Validator<string>,\n const V extends Validator,\n>(key: K, value: V) {\n return new DictSchema<K, V>(key, value)\n}\n\n// Utility\nexport type { UnknownObjectOutput as UnknownObject }\n\nexport const unknownObject = /*#__PURE__*/ memoizedOptions(function () {\n return new UnknownObjectSchema()\n})\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function ref<T>(get: RefSchemaGetter<T>) {\n return new RefSchema<T>(get)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function custom<T>(\n assertion: CustomAssertion<T>,\n message: string,\n path?: PropertyKey | readonly PropertyKey[],\n) {\n return new CustomSchema<T>(assertion, message, path)\n}\n\nexport const nullable = /*#__PURE__*/ memoizedTransformer(function <\n const S extends Validator,\n>(schema: S) {\n return new NullableSchema<Infer<S>>(schema)\n})\n\nexport const optional = /*#__PURE__*/ memoizedTransformer(function <\n const S extends Validator,\n>(schema: S) {\n return new OptionalSchema<Infer<S>>(schema)\n})\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function union<const V extends UnionSchemaValidators>(validators: V) {\n return new UnionSchema<V>(validators)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function intersection<\n const Left extends ObjectSchema,\n const Right extends DictSchema,\n>(left: Left, right: Right) {\n return new IntersectionSchema<Left, Right>(left, right)\n}\n\nexport { refine }\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function discriminatedUnion<\n const Discriminator extends string,\n const Options extends DiscriminatedUnionVariants<Discriminator>,\n>(discriminator: Discriminator, variants: Options) {\n return new DiscriminatedUnionSchema<Discriminator, Options>(\n discriminator,\n variants,\n )\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function token<const N extends NsidString, const H extends string>(\n nsid: N,\n hash: H,\n) {\n return new TokenSchema($type(nsid, hash))\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function typedRef<const V extends { $type?: string }>(\n get: TypedRefGetter<V>,\n) {\n return new TypedRefSchema<V>(get)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function typedUnion<\n const R extends readonly TypedRefSchema[],\n const C extends boolean,\n>(refs: R, closed: C) {\n return new TypedUnionSchema<R, C>(refs, closed)\n}\n\n/**\n * This function offers two overloads:\n * - One that allows creating a {@link TypedObjectSchema}, and infer the output\n * type from the provided arguments, without requiring to specify any of the\n * generics. This is useful when you want to define a record without\n * explicitly defining its interface. This version does not support circular\n * references, as TypeScript cannot infer types in such cases.\n * - One allows creating a {@link TypedObjectSchema} with an explicitly defined\n * interface. This will typically be used by codegen (`lex build`) to generate\n * schemas that work even if they contain circular references.\n */\nexport function typedObject<\n const N extends NsidString,\n const H extends string,\n const S extends Validator<{ [k: string]: unknown }>,\n>(nsid: N, hash: H, schema: S): TypedObjectSchema<$Type<N, H>, S>\nexport function typedObject<V extends { $type?: $Type }>(\n nsid: V extends { $type?: infer T extends string }\n ? T extends `${infer N}#${string}`\n ? N\n : T // (T is a \"main\" type, so already an NSID)\n : never,\n hash: V extends { $type?: infer T extends string }\n ? T extends `${string}#${infer H}`\n ? H\n : 'main'\n : never,\n schema: Validator<Omit<V, '$type'>>,\n): TypedObjectSchema<$TypeOf<V>, Validator<Omit<V, '$type'>>>\n/*@__NO_SIDE_EFFECTS__*/\nexport function typedObject<\n const N extends NsidString,\n const H extends string,\n const S extends Validator<{ [k: string]: unknown }>,\n>(nsid: N, hash: H, schema: S) {\n return new TypedObjectSchema<$Type<N, H>, S>($type(nsid, hash), schema)\n}\n\n/**\n * Ensures that a `$type` used in a record is a valid NSID (i.e. no fragment).\n */\ntype AsNsid<T> = T extends `${string}#${string}` ? never : T\n\n/**\n * This function offers two overloads:\n * - One that allows creating a {@link RecordSchema}, and infer the output type\n * from the provided arguments, without requiring to specify any of the\n * generics. This is useful when you want to define a record without\n * explicitly defining its interface. This version does not support circular\n * references, as TypeScript cannot infer types in such cases.\n * - One allows creating a {@link RecordSchema} with an explicitly defined\n * interface. This will typically be used by codegen (`lex build`) to generate\n * schemas that work even if they contain circular references.\n */\nexport function record<\n const K extends LexiconRecordKey,\n const T extends NsidString,\n const S extends Validator<{ [k: string]: unknown }>,\n>(key: K, type: AsNsid<T>, schema: S): RecordSchema<K, T, S>\nexport function record<\n const K extends LexiconRecordKey,\n const V extends { $type: NsidString },\n>(\n key: K,\n type: AsNsid<V['$type']>,\n schema: Validator<Omit<V, '$type'>>,\n): RecordSchema<K, V['$type'], Validator<Omit<V, '$type'>>>\n/*@__NO_SIDE_EFFECTS__*/\nexport function record<\n const K extends LexiconRecordKey,\n const T extends NsidString,\n const S extends Validator<{ [k: string]: unknown }>,\n>(key: K, type: T, schema: S) {\n return new RecordSchema<K, T, S>(key, type, schema)\n}\n\nexport const params = /*#__PURE__*/ memoizedOptions(function <\n const P extends ParamsSchemaShape = NonNullable<unknown>,\n>(properties: P = {} as P) {\n return new ParamsSchema<P>(properties)\n})\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function payload<\n const E extends string | undefined = undefined,\n const S extends PayloadSchema<E> = undefined,\n>(encoding: E = undefined as E, schema: S = undefined as S) {\n return new Payload<E, S>(encoding, schema)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function jsonPayload<const P extends ObjectSchemaShape>(\n properties: P,\n): Payload<'application/json', ObjectSchema<P>> {\n return payload('application/json', object(properties))\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function query<\n const N extends NsidString,\n const P extends ParamsSchema,\n const O extends Payload,\n const E extends undefined | readonly string[] = undefined,\n>(nsid: N, parameters: P, output: O, errors: E = undefined as E) {\n return new Query<N, P, O, E>(nsid, parameters, output, errors)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function procedure<\n const N extends NsidString,\n const P extends ParamsSchema,\n const I extends Payload,\n const O extends Payload,\n const E extends undefined | readonly string[] = undefined,\n>(nsid: N, parameters: P, input: I, output: O, errors: E = undefined as E) {\n return new Procedure<N, P, I, O, E>(nsid, parameters, input, output, errors)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function subscription<\n const N extends NsidString,\n const P extends ParamsSchema,\n const M extends Schema,\n const E extends undefined | readonly string[] = undefined,\n>(nsid: N, parameters: P, message: M, errors: E = undefined as E) {\n return new Subscription<N, P, M, E>(nsid, parameters, message, errors)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function permission<\n const R extends string,\n const O extends PermissionOptions,\n>(resource: R, options: PermissionOptions & O = {} as O) {\n return new Permission<R, O>(resource, options)\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function permissionSet<\n const N extends NsidString,\n const P extends readonly Permission[],\n>(nsid: N, permissions: P, options?: PermissionSetOptions) {\n return new PermissionSet<N, P>(nsid, permissions, options)\n}\n"]}
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,uDAA4B;AAC5B,sDAA2B","sourcesContent":["export * from './core.js'\nexport * from './helpers.js'\nexport * from './schema.js'\n"]}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { LexValue } from '@atproto/lex-data';
|
|
2
|
+
import { InferOutput, Restricted, Schema } from './core.js';
|
|
3
3
|
import { InferPayload, InferPayloadBody, InferPayloadEncoding, Payload, Procedure, Query, Subscription } from './schema.js';
|
|
4
4
|
export type Main<T> = T | {
|
|
5
5
|
main: T;
|
|
@@ -14,7 +14,7 @@ export declare function getMain<T extends object>(ns: Main<T>): T;
|
|
|
14
14
|
* when not explicitly provided.
|
|
15
15
|
*/
|
|
16
16
|
type BinaryData = Restricted<'Binary data'>;
|
|
17
|
-
export type InferMethodParams<M extends Procedure | Query | Subscription> =
|
|
17
|
+
export type InferMethodParams<M extends Procedure | Query | Subscription> = InferOutput<M['parameters']>;
|
|
18
18
|
export type InferMethodInput<M extends Procedure | Query | Subscription, B = BinaryData> = M extends {
|
|
19
19
|
input: Payload;
|
|
20
20
|
} ? InferPayload<M['input'], B> : undefined;
|
|
@@ -35,7 +35,12 @@ export type InferMethodOutputEncoding<M extends Procedure | Query | Subscription
|
|
|
35
35
|
} ? InferPayloadEncoding<M['output']> : undefined;
|
|
36
36
|
export type InferMethodMessage<M extends Procedure | Query | Subscription> = M extends {
|
|
37
37
|
message: Schema;
|
|
38
|
-
} ?
|
|
39
|
-
export declare const lexErrorData:
|
|
38
|
+
} ? LexValue & InferOutput<M['message']> : undefined;
|
|
39
|
+
export declare const lexErrorData: import("./schema.js").ObjectSchema<{
|
|
40
|
+
readonly error: import("./schema.js").StringSchema<{
|
|
41
|
+
readonly minLength: 1;
|
|
42
|
+
}>;
|
|
43
|
+
readonly message: import("./schema.js").OptionalSchema<import("./schema.js").StringSchema<{}>>;
|
|
44
|
+
}>;
|
|
40
45
|
export {};
|
|
41
46
|
//# sourceMappingURL=helpers.d.ts.map
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,OAAO,EACP,SAAS,EACT,KAAK,EACL,YAAY,EAIb,MAAM,aAAa,CAAA;AAEpB,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAA;AAErC,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAExD;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;AAE3C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,IACtE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAA;AAE9B,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,EAC1C,CAAC,GAAG,UAAU,IACZ,CAAC,SAAS;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;AAE1E,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,EAC1C,CAAC,GAAG,UAAU,IACZ,CAAC,SAAS;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;AAE9E,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,IACxC,CAAC,SAAS;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAA;AAE/E,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,EAC1C,CAAC,GAAG,UAAU,IACZ,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;AAE5E,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,EAC1C,CAAC,GAAG,UAAU,IACZ,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;AAEhF,MAAM,MAAM,yBAAyB,CACnC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,IACxC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAC7B,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GACjC,SAAS,CAAA;AAEb,MAAM,MAAM,kBAAkB,CAE5B,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,YAAY,IACxC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAC7B,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GACpC,SAAS,CAAA;AAEb,eAAO,MAAM,YAAY;;;;;EAGQ,CAAA"}
|
package/dist/helpers.js
CHANGED
|
@@ -6,8 +6,8 @@ const schema_js_1 = require("./schema.js");
|
|
|
6
6
|
function getMain(ns) {
|
|
7
7
|
return 'main' in ns ? ns.main : ns;
|
|
8
8
|
}
|
|
9
|
-
exports.lexErrorData =
|
|
10
|
-
error:
|
|
11
|
-
message:
|
|
9
|
+
exports.lexErrorData = (0, schema_js_1.object)({
|
|
10
|
+
error: (0, schema_js_1.string)({ minLength: 1 }),
|
|
11
|
+
message: (0, schema_js_1.optional)((0, schema_js_1.string)()),
|
|
12
12
|
});
|
|
13
13
|
//# sourceMappingURL=helpers.js.map
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAiBA,0BAEC;AAjBD,2CAWoB;AAIpB,SAAgB,OAAO,CAAmB,EAAW;IACnD,OAAO,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACpC,CAAC;AAoDY,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;AAiBA,0BAEC;AAjBD,2CAWoB;AAIpB,SAAgB,OAAO,CAAmB,EAAW;IACnD,OAAO,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AACpC,CAAC;AAoDY,QAAA,YAAY,GAAG,IAAA,kBAAM,EAAC;IACjC,KAAK,EAAE,IAAA,kBAAM,EAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC/B,OAAO,EAAE,IAAA,oBAAQ,EAAC,IAAA,kBAAM,GAAE,CAAC;CAC5B,CAAgC,CAAA","sourcesContent":["import { LexErrorData, LexValue } from '@atproto/lex-data'\nimport { InferOutput, Restricted, Schema } from './core.js'\nimport {\n InferPayload,\n InferPayloadBody,\n InferPayloadEncoding,\n Payload,\n Procedure,\n Query,\n Subscription,\n object,\n optional,\n string,\n} from './schema.js'\n\nexport type Main<T> = T | { main: T }\n\nexport function getMain<T extends object>(ns: Main<T>): T {\n return 'main' in ns ? ns.main : ns\n}\n\n/**\n * Every XRPC implementation should translate `application/json` and `text/*`\n * payloads into their native equivalent ({@link LexValue} or string). Binary\n * data payloads, however, can be represented differently depending on the\n * environment and use case (e.g. `Uint8Array`, `Blob`, `Buffer`,\n * `ReadableStream`, etc.). This type is a placeholder to represent binary data\n * when not explicitly provided.\n */\ntype BinaryData = Restricted<'Binary data'>\n\nexport type InferMethodParams<M extends Procedure | Query | Subscription> =\n InferOutput<M['parameters']>\n\nexport type InferMethodInput<\n M extends Procedure | Query | Subscription,\n B = BinaryData,\n> = M extends { input: Payload } ? InferPayload<M['input'], B> : undefined\n\nexport type InferMethodInputBody<\n M extends Procedure | Query | Subscription,\n B = BinaryData,\n> = M extends { input: Payload } ? InferPayloadBody<M['input'], B> : undefined\n\nexport type InferMethodInputEncoding<\n M extends Procedure | Query | Subscription,\n> = M extends { input: Payload } ? InferPayloadEncoding<M['input']> : undefined\n\nexport type InferMethodOutput<\n M extends Procedure | Query | Subscription,\n B = BinaryData,\n> = M extends { output: Payload } ? InferPayload<M['output'], B> : undefined\n\nexport type InferMethodOutputBody<\n M extends Procedure | Query | Subscription,\n B = BinaryData,\n> = M extends { output: Payload } ? InferPayloadBody<M['output'], B> : undefined\n\nexport type InferMethodOutputEncoding<\n M extends Procedure | Query | Subscription,\n> = M extends { output: Payload }\n ? InferPayloadEncoding<M['output']>\n : undefined\n\nexport type InferMethodMessage<\n //\n M extends Procedure | Query | Subscription,\n> = M extends { message: Schema }\n ? LexValue & InferOutput<M['message']>\n : undefined\n\nexport const lexErrorData = object({\n error: string({ minLength: 1 }),\n message: optional(string()),\n}) satisfies Schema<LexErrorData>\n"]}
|
package/dist/schema/array.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InferInput, InferOutput, Schema, ValidationContext, Validator } from '../core.js';
|
|
2
2
|
export type ArraySchemaOptions = {
|
|
3
3
|
minLength?: number;
|
|
4
4
|
maxLength?: number;
|
|
5
5
|
};
|
|
6
|
-
export declare class ArraySchema<const
|
|
7
|
-
readonly
|
|
6
|
+
export declare class ArraySchema<const TItem extends Validator> extends Schema<Array<InferInput<TItem>>, Array<InferOutput<TItem>>> {
|
|
7
|
+
readonly validator: TItem;
|
|
8
8
|
readonly options: ArraySchemaOptions;
|
|
9
|
-
constructor(
|
|
10
|
-
validateInContext(input: unknown, ctx:
|
|
9
|
+
constructor(validator: TItem, options?: ArraySchemaOptions);
|
|
10
|
+
validateInContext(input: unknown, ctx: ValidationContext): import("../core.js").ValidationResult<any[]>;
|
|
11
11
|
}
|
|
12
|
+
declare function arraySchema<const TValidator extends Validator>(items: TValidator, options?: ArraySchemaOptions): ArraySchema<TValidator>;
|
|
13
|
+
declare function arraySchema<const TValue, const TValidator extends Validator<TValue> = Validator<TValue>>(items: TValidator, options?: ArraySchemaOptions): ArraySchema<TValidator>;
|
|
14
|
+
export declare const array: typeof arraySchema;
|
|
15
|
+
export {};
|
|
12
16
|
//# sourceMappingURL=array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/schema/array.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/schema/array.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,SAAS,EACV,MAAM,YAAY,CAAA;AAGnB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,qBAAa,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,SAAS,CAAE,SAAQ,MAAM,CACpE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACxB,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAC1B;IAEG,QAAQ,CAAC,SAAS,EAAE,KAAK;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB;gBAD3B,SAAS,EAAE,KAAK,EAChB,OAAO,GAAE,kBAAuB;IAK3C,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB;CAmCzD;AAGD,iBAAS,WAAW,CAAC,KAAK,CAAC,UAAU,SAAS,SAAS,EACrD,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,WAAW,CAAC,UAAU,CAAC,CAAA;AAC1B,iBAAS,WAAW,CAClB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,EAC9D,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;AAQ3E,eAAO,MAAM,KAAK,oBAAiD,CAAA"}
|
package/dist/schema/array.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArraySchema = void 0;
|
|
3
|
+
exports.array = exports.ArraySchema = void 0;
|
|
4
4
|
const core_js_1 = require("../core.js");
|
|
5
|
+
const memoize_js_1 = require("../util/memoize.js");
|
|
5
6
|
class ArraySchema extends core_js_1.Schema {
|
|
6
|
-
|
|
7
|
+
validator;
|
|
7
8
|
options;
|
|
8
|
-
constructor(
|
|
9
|
+
constructor(validator, options = {}) {
|
|
9
10
|
super();
|
|
10
|
-
this.
|
|
11
|
+
this.validator = validator;
|
|
11
12
|
this.options = options;
|
|
12
13
|
}
|
|
13
14
|
validateInContext(input, ctx) {
|
|
@@ -23,10 +24,14 @@ class ArraySchema extends core_js_1.Schema {
|
|
|
23
24
|
}
|
|
24
25
|
let copy;
|
|
25
26
|
for (let i = 0; i < input.length; i++) {
|
|
26
|
-
const result = ctx.validateChild(input, i, this.
|
|
27
|
+
const result = ctx.validateChild(input, i, this.validator);
|
|
27
28
|
if (!result.success)
|
|
28
29
|
return result;
|
|
29
30
|
if (result.value !== input[i]) {
|
|
31
|
+
if (ctx.options.mode === 'validate') {
|
|
32
|
+
// In "validate" mode, we can't modify the input, so we issue an error
|
|
33
|
+
return ctx.issueInvalidPropertyValue(input, i, [result.value]);
|
|
34
|
+
}
|
|
30
35
|
// Copy on write (but only if we did not already make a copy)
|
|
31
36
|
copy ??= Array.from(input);
|
|
32
37
|
copy[i] = result.value;
|
|
@@ -36,4 +41,8 @@ class ArraySchema extends core_js_1.Schema {
|
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
exports.ArraySchema = ArraySchema;
|
|
44
|
+
function arraySchema(items, options) {
|
|
45
|
+
return new ArraySchema(items, options);
|
|
46
|
+
}
|
|
47
|
+
exports.array = (0, memoize_js_1.memoizedTransformer)(arraySchema);
|
|
39
48
|
//# sourceMappingURL=array.js.map
|
package/dist/schema/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/schema/array.ts"],"names":[],"mappings":";;;AAAA,wCAMmB;
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/schema/array.ts"],"names":[],"mappings":";;;AAAA,wCAMmB;AACnB,mDAAwD;AAOxD,MAAa,WAA2C,SAAQ,gBAG/D;IAEY;IACA;IAFX,YACW,SAAgB,EAChB,UAA8B,EAAE;QAEzC,KAAK,EAAE,CAAA;QAHE,cAAS,GAAT,SAAS,CAAO;QAChB,YAAO,GAAP,OAAO,CAAyB;IAG3C,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,GAAsB;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE7C,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACnE,CAAC;QAED,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,IAA2B,CAAA;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAA;YAElC,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACpC,sEAAsE;oBACtE,OAAO,GAAG,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBAChE,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;YACxB,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAA;IACnC,CAAC;CACF;AA9CD,kCA8CC;AAWD,SAAS,WAAW,CAClB,KAAiB,EACjB,OAA4B;IAE5B,OAAO,IAAI,WAAW,CAAa,KAAK,EAAE,OAAO,CAAC,CAAA;AACpD,CAAC;AAEY,QAAA,KAAK,GAAiB,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAA","sourcesContent":["import {\n InferInput,\n InferOutput,\n Schema,\n ValidationContext,\n Validator,\n} from '../core.js'\nimport { memoizedTransformer } from '../util/memoize.js'\n\nexport type ArraySchemaOptions = {\n minLength?: number\n maxLength?: number\n}\n\nexport class ArraySchema<const TItem extends Validator> extends Schema<\n Array<InferInput<TItem>>,\n Array<InferOutput<TItem>>\n> {\n constructor(\n readonly validator: TItem,\n readonly options: ArraySchemaOptions = {},\n ) {\n super()\n }\n\n validateInContext(input: unknown, ctx: ValidationContext) {\n if (!Array.isArray(input)) {\n return ctx.issueInvalidType(input, 'array')\n }\n\n const { minLength, maxLength } = this.options\n\n if (minLength != null && input.length < minLength) {\n return ctx.issueTooSmall(input, 'array', minLength, input.length)\n }\n\n if (maxLength != null && input.length > maxLength) {\n return ctx.issueTooBig(input, 'array', maxLength, input.length)\n }\n\n let copy: undefined | unknown[]\n\n for (let i = 0; i < input.length; i++) {\n const result = ctx.validateChild(input, i, this.validator)\n if (!result.success) return result\n\n if (result.value !== input[i]) {\n if (ctx.options.mode === 'validate') {\n // In \"validate\" mode, we can't modify the input, so we issue an error\n return ctx.issueInvalidPropertyValue(input, i, [result.value])\n }\n\n // Copy on write (but only if we did not already make a copy)\n copy ??= Array.from(input)\n copy[i] = result.value\n }\n }\n\n return ctx.success(copy ?? input)\n }\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nfunction arraySchema<const TValidator extends Validator>(\n items: TValidator,\n options?: ArraySchemaOptions,\n): ArraySchema<TValidator>\nfunction arraySchema<\n const TValue,\n const TValidator extends Validator<TValue> = Validator<TValue>,\n>(items: TValidator, options?: ArraySchemaOptions): ArraySchema<TValidator>\nfunction arraySchema<const TValidator extends Validator>(\n items: TValidator,\n options?: ArraySchemaOptions,\n) {\n return new ArraySchema<TValidator>(items, options)\n}\n\nexport const array = /*#__PURE__*/ memoizedTransformer(arraySchema)\n"]}
|
package/dist/schema/blob.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BlobRef, BlobRefCheckOptions, LegacyBlobRef } from '@atproto/lex-data';
|
|
2
|
-
import { Schema,
|
|
2
|
+
import { Schema, ValidationContext } from '../core.js';
|
|
3
3
|
export type BlobSchemaOptions = BlobRefCheckOptions & {
|
|
4
4
|
/**
|
|
5
5
|
* Whether to allow legacy blob references format
|
|
@@ -16,13 +16,15 @@ export type BlobSchemaOptions = BlobRefCheckOptions & {
|
|
|
16
16
|
maxSize?: number;
|
|
17
17
|
};
|
|
18
18
|
export type { BlobRef, LegacyBlobRef };
|
|
19
|
-
export
|
|
19
|
+
export declare class BlobSchema<const TOptions extends BlobSchemaOptions = NonNullable<unknown>> extends Schema<TOptions extends {
|
|
20
20
|
allowLegacy: true;
|
|
21
|
-
} ? BlobRef | LegacyBlobRef : BlobRef
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
validateInContext(input: unknown, ctx: ValidatorContext): ValidationResult<BlobSchemaOutput<O>>;
|
|
21
|
+
} ? BlobRef | LegacyBlobRef : BlobRef> {
|
|
22
|
+
readonly options?: TOptions | undefined;
|
|
23
|
+
constructor(options?: TOptions | undefined);
|
|
24
|
+
validateInContext(input: unknown, ctx: ValidationContext): import("../core.js").ValidationResult<BlobRef | LegacyBlobRef>;
|
|
26
25
|
matchesMime(mime: string): boolean;
|
|
27
26
|
}
|
|
27
|
+
export declare const blob: <O extends BlobSchemaOptions = {
|
|
28
|
+
allowLegacy?: false;
|
|
29
|
+
}>(options?: O) => BlobSchema<O>;
|
|
28
30
|
//# sourceMappingURL=blob.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../src/schema/blob.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,aAAa,EAGd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../src/schema/blob.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,aAAa,EAGd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGtD,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG;IACpD;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;AAEtC,qBAAa,UAAU,CACrB,KAAK,CAAC,QAAQ,SAAS,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,CAC/D,SAAQ,MAAM,CACd,QAAQ,SAAS;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,GAAG,aAAa,GAAG,OAAO,CAC3E;IACa,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ;gBAAlB,OAAO,CAAC,EAAE,QAAQ,YAAA;IAIvC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB;IA2BxD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAKnC;AAaD,eAAO,MAAM,IAAI,GACf,CAAC,SAAS,iBAAiB;kBAAmB,KAAK;aACzC,CAAC,kBAEX,CAAA"}
|
package/dist/schema/blob.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlobSchema = void 0;
|
|
3
|
+
exports.blob = exports.BlobSchema = void 0;
|
|
4
4
|
const lex_data_1 = require("@atproto/lex-data");
|
|
5
5
|
const core_js_1 = require("../core.js");
|
|
6
|
+
const memoize_js_1 = require("../util/memoize.js");
|
|
6
7
|
class BlobSchema extends core_js_1.Schema {
|
|
7
8
|
options;
|
|
8
9
|
constructor(options) {
|
|
@@ -14,24 +15,24 @@ class BlobSchema extends core_js_1.Schema {
|
|
|
14
15
|
? (0, lex_data_1.isBlobRef)(input, this.options)
|
|
15
16
|
? input
|
|
16
17
|
: null
|
|
17
|
-
: this.options
|
|
18
|
+
: this.options?.allowLegacy === true && (0, lex_data_1.isLegacyBlobRef)(input)
|
|
18
19
|
? input
|
|
19
20
|
: null;
|
|
20
21
|
if (!blob) {
|
|
21
22
|
return ctx.issueInvalidType(input, 'blob');
|
|
22
23
|
}
|
|
23
|
-
const
|
|
24
|
+
const accept = this.options?.accept;
|
|
24
25
|
if (accept && !matchesMime(blob.mimeType, accept)) {
|
|
25
26
|
return ctx.issueInvalidPropertyValue(blob, 'mimeType', accept);
|
|
26
27
|
}
|
|
27
|
-
const
|
|
28
|
+
const maxSize = this.options?.maxSize;
|
|
28
29
|
if (maxSize != null && 'size' in blob && blob.size > maxSize) {
|
|
29
30
|
return ctx.issueTooBig(blob, 'blob', maxSize, blob.size);
|
|
30
31
|
}
|
|
31
32
|
return ctx.success(blob);
|
|
32
33
|
}
|
|
33
34
|
matchesMime(mime) {
|
|
34
|
-
const
|
|
35
|
+
const accept = this.options?.accept;
|
|
35
36
|
if (!accept)
|
|
36
37
|
return true;
|
|
37
38
|
return matchesMime(mime, accept);
|
|
@@ -50,4 +51,7 @@ function matchesMime(mime, accepted) {
|
|
|
50
51
|
}
|
|
51
52
|
return false;
|
|
52
53
|
}
|
|
54
|
+
exports.blob = (0, memoize_js_1.memoizedOptions)(function (options) {
|
|
55
|
+
return new BlobSchema(options);
|
|
56
|
+
});
|
|
53
57
|
//# sourceMappingURL=blob.js.map
|
package/dist/schema/blob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/schema/blob.ts"],"names":[],"mappings":";;;AAAA,gDAM0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/schema/blob.ts"],"names":[],"mappings":";;;AAAA,gDAM0B;AAC1B,wCAAsD;AACtD,mDAAoD;AAoBpD,MAAa,UAEX,SAAQ,gBAET;IACsB;IAArB,YAAqB,OAAkB;QACrC,KAAK,EAAE,CAAA;QADY,YAAO,GAAP,OAAO,CAAW;IAEvC,CAAC;IAED,iBAAiB,CAAC,KAAc,EAAE,GAAsB;QACtD,MAAM,IAAI,GACP,KAAa,EAAE,KAAK,KAAK,SAAS;YACjC,CAAC,CAAC,IAAA,oBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;gBAC9B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,IAAI,IAAA,0BAAe,EAAC,KAAK,CAAC;gBAC5D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAA;QAEZ,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAA;QACnC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAA;QACrC,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;YAC7D,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAA;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;CACF;AAzCD,gCAyCC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,QAAkB;IACnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAEY,QAAA,IAAI,GAAiB,IAAA,4BAAe,EAAC,UAEhD,OAAW;IACX,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA","sourcesContent":["import {\n BlobRef,\n BlobRefCheckOptions,\n LegacyBlobRef,\n isBlobRef,\n isLegacyBlobRef,\n} from '@atproto/lex-data'\nimport { Schema, ValidationContext } from '../core.js'\nimport { memoizedOptions } from '../util/memoize.js'\n\nexport type BlobSchemaOptions = BlobRefCheckOptions & {\n /**\n * Whether to allow legacy blob references format\n * @see {@link LegacyBlobRef}\n */\n allowLegacy?: boolean\n /**\n * List of accepted mime types\n */\n accept?: string[]\n /**\n * Maximum size in bytes\n */\n maxSize?: number\n}\n\nexport type { BlobRef, LegacyBlobRef }\n\nexport class BlobSchema<\n const TOptions extends BlobSchemaOptions = NonNullable<unknown>,\n> extends Schema<\n TOptions extends { allowLegacy: true } ? BlobRef | LegacyBlobRef : BlobRef\n> {\n constructor(readonly options?: TOptions) {\n super()\n }\n\n validateInContext(input: unknown, ctx: ValidationContext) {\n const blob: null | BlobRef | LegacyBlobRef =\n (input as any)?.$type !== undefined\n ? isBlobRef(input, this.options)\n ? input\n : null\n : this.options?.allowLegacy === true && isLegacyBlobRef(input)\n ? input\n : null\n\n if (!blob) {\n return ctx.issueInvalidType(input, 'blob')\n }\n\n const accept = this.options?.accept\n if (accept && !matchesMime(blob.mimeType, accept)) {\n return ctx.issueInvalidPropertyValue(blob, 'mimeType', accept)\n }\n\n const maxSize = this.options?.maxSize\n if (maxSize != null && 'size' in blob && blob.size > maxSize) {\n return ctx.issueTooBig(blob, 'blob', maxSize, blob.size)\n }\n\n return ctx.success(blob)\n }\n\n matchesMime(mime: string): boolean {\n const accept = this.options?.accept\n if (!accept) return true\n return matchesMime(mime, accept)\n }\n}\n\nfunction matchesMime(mime: string, accepted: string[]): boolean {\n if (accepted.includes('*/*')) return true\n if (accepted.includes(mime)) return true\n for (const value of accepted) {\n if (value.endsWith('/*') && mime.startsWith(value.slice(0, -1))) {\n return true\n }\n }\n return false\n}\n\nexport const blob = /*#__PURE__*/ memoizedOptions(function <\n O extends BlobSchemaOptions = { allowLegacy?: false },\n>(options?: O) {\n return new BlobSchema(options)\n})\n"]}
|
package/dist/schema/boolean.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { Schema,
|
|
2
|
-
export type BooleanSchemaOptions = {
|
|
3
|
-
default?: boolean;
|
|
4
|
-
};
|
|
1
|
+
import { Schema, ValidationContext } from '../core.js';
|
|
5
2
|
export declare class BooleanSchema extends Schema<boolean> {
|
|
6
|
-
|
|
7
|
-
constructor(options?: BooleanSchemaOptions | undefined);
|
|
8
|
-
validateInContext(input: unknown | undefined, ctx: ValidatorContext): ValidationResult<boolean>;
|
|
3
|
+
validateInContext(input: unknown, ctx: ValidationContext): import("../core.js").ValidationResult<boolean>;
|
|
9
4
|
}
|
|
5
|
+
export declare const boolean: () => BooleanSchema;
|
|
10
6
|
//# sourceMappingURL=boolean.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/schema/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/schema/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGtD,qBAAa,aAAc,SAAQ,MAAM,CAAC,OAAO,CAAC;IAChD,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB;CAOzD;AAED,eAAO,MAAM,OAAO,qBAElB,CAAA"}
|
package/dist/schema/boolean.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BooleanSchema = void 0;
|
|
3
|
+
exports.boolean = exports.BooleanSchema = void 0;
|
|
4
4
|
const core_js_1 = require("../core.js");
|
|
5
|
+
const memoize_js_1 = require("../util/memoize.js");
|
|
5
6
|
class BooleanSchema extends core_js_1.Schema {
|
|
6
|
-
|
|
7
|
-
constructor(options) {
|
|
8
|
-
super();
|
|
9
|
-
this.options = options;
|
|
10
|
-
}
|
|
11
|
-
validateInContext(input = this.options?.default, ctx) {
|
|
7
|
+
validateInContext(input, ctx) {
|
|
12
8
|
if (typeof input === 'boolean') {
|
|
13
9
|
return ctx.success(input);
|
|
14
10
|
}
|
|
@@ -16,4 +12,7 @@ class BooleanSchema extends core_js_1.Schema {
|
|
|
16
12
|
}
|
|
17
13
|
}
|
|
18
14
|
exports.BooleanSchema = BooleanSchema;
|
|
15
|
+
exports.boolean = (0, memoize_js_1.memoizedOptions)(function () {
|
|
16
|
+
return new BooleanSchema();
|
|
17
|
+
});
|
|
19
18
|
//# sourceMappingURL=boolean.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/schema/boolean.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/schema/boolean.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AACtD,mDAAoD;AAEpD,MAAa,aAAc,SAAQ,gBAAe;IAChD,iBAAiB,CAAC,KAAc,EAAE,GAAsB;QACtD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC/C,CAAC;CACF;AARD,sCAQC;AAEY,QAAA,OAAO,GAAiB,IAAA,4BAAe,EAAC;IACnD,OAAO,IAAI,aAAa,EAAE,CAAA;AAC5B,CAAC,CAAC,CAAA","sourcesContent":["import { Schema, ValidationContext } from '../core.js'\nimport { memoizedOptions } from '../util/memoize.js'\n\nexport class BooleanSchema extends Schema<boolean> {\n validateInContext(input: unknown, ctx: ValidationContext) {\n if (typeof input === 'boolean') {\n return ctx.success(input)\n }\n\n return ctx.issueInvalidType(input, 'boolean')\n }\n}\n\nexport const boolean = /*#__PURE__*/ memoizedOptions(function () {\n return new BooleanSchema()\n})\n"]}
|
package/dist/schema/bytes.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Schema,
|
|
1
|
+
import { Schema, ValidationContext } from '../core.js';
|
|
2
2
|
export type BytesSchemaOptions = {
|
|
3
3
|
minLength?: number;
|
|
4
4
|
maxLength?: number;
|
|
@@ -6,6 +6,7 @@ export type BytesSchemaOptions = {
|
|
|
6
6
|
export declare class BytesSchema extends Schema<Uint8Array> {
|
|
7
7
|
readonly options: BytesSchemaOptions;
|
|
8
8
|
constructor(options?: BytesSchemaOptions);
|
|
9
|
-
validateInContext(input: unknown, ctx:
|
|
9
|
+
validateInContext(input: unknown, ctx: ValidationContext): import("../core.js").ValidationResult<Uint8Array<ArrayBufferLike>>;
|
|
10
10
|
}
|
|
11
|
+
export declare const bytes: (options?: BytesSchemaOptions) => BytesSchema;
|
|
11
12
|
//# sourceMappingURL=bytes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/schema/bytes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/schema/bytes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGtD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,qBAAa,WAAY,SAAQ,MAAM,CAAC,UAAU,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,kBAAkB;gBAA3B,OAAO,GAAE,kBAAuB;IAIrD,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB;CAoBzD;AAED,eAAO,MAAM,KAAK,aACN,kBAAkB,gBAG5B,CAAA"}
|
package/dist/schema/bytes.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BytesSchema = void 0;
|
|
3
|
+
exports.bytes = exports.BytesSchema = void 0;
|
|
4
4
|
const lex_data_1 = require("@atproto/lex-data");
|
|
5
5
|
const core_js_1 = require("../core.js");
|
|
6
|
+
const memoize_js_1 = require("../util/memoize.js");
|
|
6
7
|
class BytesSchema extends core_js_1.Schema {
|
|
7
8
|
options;
|
|
8
9
|
constructor(options = {}) {
|
|
@@ -10,8 +11,8 @@ class BytesSchema extends core_js_1.Schema {
|
|
|
10
11
|
this.options = options;
|
|
11
12
|
}
|
|
12
13
|
validateInContext(input, ctx) {
|
|
13
|
-
//
|
|
14
|
-
const bytes = (0, lex_data_1.asUint8Array)(input);
|
|
14
|
+
// In "parse" mode, coerce different binary formats into Uint8Array
|
|
15
|
+
const bytes = ctx.options.mode === 'parse' ? (0, lex_data_1.asUint8Array)(input) : (0, lex_data_1.ifUint8Array)(input);
|
|
15
16
|
if (!bytes) {
|
|
16
17
|
return ctx.issueInvalidType(input, 'bytes');
|
|
17
18
|
}
|
|
@@ -27,4 +28,7 @@ class BytesSchema extends core_js_1.Schema {
|
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
exports.BytesSchema = BytesSchema;
|
|
31
|
+
exports.bytes = (0, memoize_js_1.memoizedOptions)(function (options) {
|
|
32
|
+
return new BytesSchema(options);
|
|
33
|
+
});
|
|
30
34
|
//# sourceMappingURL=bytes.js.map
|