@atcute/lex-cli 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/codegen.d.ts +1 -1
- package/dist/codegen.js +11 -6
- package/dist/codegen.js.map +1 -1
- package/package.json +5 -4
- package/src/cli.ts +2 -1
- package/src/codegen.ts +18 -6
- package/dist/schema.d.ts +0 -2561
- package/dist/schema.js +0 -233
- package/dist/schema.js.map +0 -1
- package/src/schema.ts +0 -531
package/dist/schema.js
DELETED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import * as v from '@badrap/valita';
|
|
2
|
-
// tsc dislikes this schema with the amount of type expansion that happens here.
|
|
3
|
-
// the interface declaration allows tsc to just reference it instead of
|
|
4
|
-
// expanding on every type reference.
|
|
5
|
-
const _integer = v
|
|
6
|
-
.number()
|
|
7
|
-
.assert((input) => input >= 0 && Number.isSafeInteger(input), `expected non-negative integer`);
|
|
8
|
-
const integer = _integer;
|
|
9
|
-
const _lexBoolean = v.object({
|
|
10
|
-
type: v.literal('boolean'),
|
|
11
|
-
description: v.string().optional(),
|
|
12
|
-
default: v.boolean().optional(),
|
|
13
|
-
const: v.boolean().optional(),
|
|
14
|
-
});
|
|
15
|
-
export const lexBoolean = _lexBoolean;
|
|
16
|
-
const _lexInteger = v.object({
|
|
17
|
-
type: v.literal('integer'),
|
|
18
|
-
description: v.string().optional(),
|
|
19
|
-
default: integer.optional(),
|
|
20
|
-
minimum: integer.optional(),
|
|
21
|
-
maximum: integer.optional(),
|
|
22
|
-
enum: v.array(integer).optional(),
|
|
23
|
-
const: integer.optional(),
|
|
24
|
-
});
|
|
25
|
-
export const lexInteger = _lexInteger;
|
|
26
|
-
const _lexStringFormat = v.union(v.literal('datetime'), v.literal('uri'), v.literal('at-uri'), v.literal('did'), v.literal('handle'), v.literal('at-identifier'), v.literal('nsid'), v.literal('cid'), v.literal('language'), v.literal('tid'), v.literal('record-key'));
|
|
27
|
-
export const lexStringFormat = _lexStringFormat;
|
|
28
|
-
const _lexString = v.object({
|
|
29
|
-
type: v.literal('string'),
|
|
30
|
-
format: lexStringFormat.optional(),
|
|
31
|
-
description: v.string().optional(),
|
|
32
|
-
default: v.string().optional(),
|
|
33
|
-
minLength: integer.optional(),
|
|
34
|
-
maxLength: integer.optional(),
|
|
35
|
-
minGraphemes: integer.optional(),
|
|
36
|
-
maxGraphemes: integer.optional(),
|
|
37
|
-
enum: v.array(v.string()).optional(),
|
|
38
|
-
const: v.string().optional(),
|
|
39
|
-
knownValues: v.array(v.string()).optional(),
|
|
40
|
-
});
|
|
41
|
-
export const lexString = _lexString;
|
|
42
|
-
const _lexUnknown = v.object({
|
|
43
|
-
type: v.literal('unknown'),
|
|
44
|
-
description: v.string().optional(),
|
|
45
|
-
});
|
|
46
|
-
export const lexUnknown = _lexUnknown;
|
|
47
|
-
const _lexPrimitive = v.union(lexBoolean, lexInteger, lexString, lexUnknown);
|
|
48
|
-
export const lexPrimitive = _lexPrimitive;
|
|
49
|
-
const _lexBytes = v.object({
|
|
50
|
-
type: v.literal('bytes'),
|
|
51
|
-
description: v.string().optional(),
|
|
52
|
-
minLength: integer.optional(),
|
|
53
|
-
maxLength: integer.optional(),
|
|
54
|
-
});
|
|
55
|
-
export const lexBytes = _lexBytes;
|
|
56
|
-
const _lexCidLink = v.object({
|
|
57
|
-
type: v.literal('cid-link'),
|
|
58
|
-
description: v.string().optional(),
|
|
59
|
-
});
|
|
60
|
-
export const lexCidLink = _lexCidLink;
|
|
61
|
-
const _lexIpldType = v.union(lexBytes, lexCidLink);
|
|
62
|
-
export const lexIpldType = _lexIpldType;
|
|
63
|
-
const REF_RE = /^(?=.)(?:[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+\.[a-zA-Z][a-zA-Z0-9]{0,62}?)?(?:#[a-zA-Z][a-zA-Z0-9_]{0,62}?)?$/;
|
|
64
|
-
const refString = v.string().assert((input) => REF_RE.test(input));
|
|
65
|
-
const _lexRef = v.object({
|
|
66
|
-
type: v.literal('ref'),
|
|
67
|
-
description: v.string().optional(),
|
|
68
|
-
ref: refString,
|
|
69
|
-
});
|
|
70
|
-
export const lexRef = _lexRef;
|
|
71
|
-
const _lexRefUnion = v.object({
|
|
72
|
-
type: v.literal('union'),
|
|
73
|
-
description: v.string().optional(),
|
|
74
|
-
refs: v.array(refString),
|
|
75
|
-
closed: v.boolean().optional(() => false),
|
|
76
|
-
});
|
|
77
|
-
export const lexRefUnion = _lexRefUnion;
|
|
78
|
-
const _lexRefVariant = v.union(lexRef, lexRefUnion);
|
|
79
|
-
export const lexRefVariant = _lexRefVariant;
|
|
80
|
-
const _lexBlob = v.object({
|
|
81
|
-
type: v.literal('blob'),
|
|
82
|
-
description: v.string().optional(),
|
|
83
|
-
accept: v.array(v.string()).optional(),
|
|
84
|
-
maxSize: integer.optional(),
|
|
85
|
-
});
|
|
86
|
-
export const lexBlob = _lexBlob;
|
|
87
|
-
const _lexArray = v.object({
|
|
88
|
-
type: v.literal('array'),
|
|
89
|
-
description: v.string().optional(),
|
|
90
|
-
items: v.union(lexPrimitive, lexIpldType, lexRefVariant, lexBlob),
|
|
91
|
-
minLength: integer.optional(),
|
|
92
|
-
maxLength: integer.optional(),
|
|
93
|
-
});
|
|
94
|
-
export const lexArray = _lexArray;
|
|
95
|
-
const _lexPrimitiveArray = lexArray.extend({
|
|
96
|
-
items: lexPrimitive,
|
|
97
|
-
});
|
|
98
|
-
export const lexPrimitiveArray = _lexPrimitiveArray;
|
|
99
|
-
const _lexToken = v.object({
|
|
100
|
-
type: v.literal('token'),
|
|
101
|
-
description: v.string().optional(),
|
|
102
|
-
});
|
|
103
|
-
export const lexToken = _lexToken;
|
|
104
|
-
const KEY_RE = /^[a-zA-Z][a-zA-Z0-9_]{0,62}?$/;
|
|
105
|
-
const refineObjectProperties = (input) => {
|
|
106
|
-
const { required = [], properties } = input;
|
|
107
|
-
for (const key in properties) {
|
|
108
|
-
if (!KEY_RE.test(key)) {
|
|
109
|
-
return v.err({
|
|
110
|
-
message: `invalid property key`,
|
|
111
|
-
path: ['properties', key],
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
if (required.length > 0) {
|
|
116
|
-
if (properties === undefined) {
|
|
117
|
-
return v.err({
|
|
118
|
-
message: `required fields specified but no properties defined`,
|
|
119
|
-
path: ['properties'],
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
for (const key of required) {
|
|
123
|
-
if (properties[key] === undefined) {
|
|
124
|
-
return v.err({
|
|
125
|
-
message: `required fields not defined`,
|
|
126
|
-
path: ['properties', key],
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return v.ok(input);
|
|
132
|
-
};
|
|
133
|
-
const _lexObject = v
|
|
134
|
-
.object({
|
|
135
|
-
type: v.literal('object'),
|
|
136
|
-
description: v.string().optional(),
|
|
137
|
-
required: v.array(v.string()).optional(),
|
|
138
|
-
nullable: v.array(v.string()).optional(),
|
|
139
|
-
properties: v.record(v.union(lexArray, lexPrimitive, lexIpldType, lexRefVariant, lexBlob)).optional(),
|
|
140
|
-
})
|
|
141
|
-
.chain(refineObjectProperties);
|
|
142
|
-
export const lexObject = _lexObject;
|
|
143
|
-
const _lexXrpcParameters = v
|
|
144
|
-
.object({
|
|
145
|
-
type: v.literal('params'),
|
|
146
|
-
description: v.string().optional(),
|
|
147
|
-
required: v.array(v.string()).optional(),
|
|
148
|
-
properties: v.record(v.union(lexPrimitive, lexPrimitiveArray)).optional(),
|
|
149
|
-
})
|
|
150
|
-
.chain(refineObjectProperties);
|
|
151
|
-
export const lexXrpcParameters = _lexXrpcParameters;
|
|
152
|
-
const _lexXrpcBody = v.object({
|
|
153
|
-
description: v.string().optional(),
|
|
154
|
-
encoding: v.string(),
|
|
155
|
-
schema: v.union(lexRefVariant, lexObject).optional(),
|
|
156
|
-
});
|
|
157
|
-
export const lexXrpcBody = _lexXrpcBody;
|
|
158
|
-
const _lexXrpcSubscriptionMessage = v.object({
|
|
159
|
-
description: v.string().optional(),
|
|
160
|
-
schema: v.union(lexRefVariant, lexObject).optional(),
|
|
161
|
-
});
|
|
162
|
-
export const lexXrpcSubscriptionMessage = _lexXrpcSubscriptionMessage;
|
|
163
|
-
const _lexXrpcError = v.object({
|
|
164
|
-
name: v.string(),
|
|
165
|
-
description: v.string().optional(),
|
|
166
|
-
});
|
|
167
|
-
export const lexXrpcError = _lexXrpcError;
|
|
168
|
-
const _lexXrpcQuery = v.object({
|
|
169
|
-
type: v.literal('query'),
|
|
170
|
-
description: v.string().optional(),
|
|
171
|
-
parameters: lexXrpcParameters.optional(),
|
|
172
|
-
output: lexXrpcBody.optional(),
|
|
173
|
-
errors: v.array(lexXrpcError).optional(),
|
|
174
|
-
});
|
|
175
|
-
export const lexXrpcQuery = _lexXrpcQuery;
|
|
176
|
-
const _lexXrpcProcedure = v.object({
|
|
177
|
-
type: v.literal('procedure'),
|
|
178
|
-
description: v.string().optional(),
|
|
179
|
-
parameters: lexXrpcParameters.optional(),
|
|
180
|
-
input: lexXrpcBody.optional(),
|
|
181
|
-
output: lexXrpcBody.optional(),
|
|
182
|
-
errors: v.array(lexXrpcError).optional(),
|
|
183
|
-
});
|
|
184
|
-
export const lexXrpcProcedure = _lexXrpcProcedure;
|
|
185
|
-
const _lexXrpcSubscription = v.object({
|
|
186
|
-
type: v.literal('subscription'),
|
|
187
|
-
description: v.string().optional(),
|
|
188
|
-
parameters: lexXrpcParameters.optional(),
|
|
189
|
-
message: lexXrpcSubscriptionMessage.optional(),
|
|
190
|
-
errors: v.array(lexXrpcError).optional(),
|
|
191
|
-
});
|
|
192
|
-
export const lexXrpcSubscription = _lexXrpcSubscription;
|
|
193
|
-
const LITERAL_KEY_RE = /^literal:(.+)$/;
|
|
194
|
-
const _lexRecord = v.object({
|
|
195
|
-
type: v.literal('record'),
|
|
196
|
-
description: v.string().optional(),
|
|
197
|
-
key: v
|
|
198
|
-
.union(v.literal('tid'), v.literal('nsid'), v.literal('any'), v.string().assert((input) => LITERAL_KEY_RE.test(input)))
|
|
199
|
-
.optional(() => 'any'),
|
|
200
|
-
record: lexObject,
|
|
201
|
-
});
|
|
202
|
-
export const lexRecord = _lexRecord;
|
|
203
|
-
const _lexUserType = v.union(lexRecord, lexXrpcQuery, lexXrpcProcedure, lexXrpcSubscription, lexObject, lexArray, lexToken, lexIpldType, lexBlob, lexPrimitive);
|
|
204
|
-
export const lexUserType = _lexUserType;
|
|
205
|
-
const NSID_RE = /^[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?:\.[a-zA-Z](?:[a-zA-Z0-9]{0,62})?)$/;
|
|
206
|
-
const _lexiconDoc = v
|
|
207
|
-
.object({
|
|
208
|
-
lexicon: v.literal(1),
|
|
209
|
-
id: v.string().assert((input) => NSID_RE.test(input), `must be valid nsid`),
|
|
210
|
-
revision: integer.optional(),
|
|
211
|
-
description: v.string().optional(),
|
|
212
|
-
// defs: v.record(v.pipe(v.string(), v.regex(/^[a-zA-Z][a-zA-Z0-9_]{0,62}?$/)), lexUserType),
|
|
213
|
-
defs: v.record(lexUserType),
|
|
214
|
-
})
|
|
215
|
-
.chain((input) => {
|
|
216
|
-
const { defs } = input;
|
|
217
|
-
for (const key in defs) {
|
|
218
|
-
const def = defs[key];
|
|
219
|
-
if (key !== 'main' &&
|
|
220
|
-
(def.type === 'record' ||
|
|
221
|
-
def.type === 'procedure' ||
|
|
222
|
-
def.type === 'query' ||
|
|
223
|
-
def.type === 'subscription')) {
|
|
224
|
-
return v.err({
|
|
225
|
-
message: `records, procedures, queries and subscriptions must be the main definition`,
|
|
226
|
-
path: ['defs', key],
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
return v.ok(input);
|
|
231
|
-
});
|
|
232
|
-
export const lexiconDoc = _lexiconDoc;
|
|
233
|
-
//# sourceMappingURL=schema.js.map
|
package/dist/schema.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|