@atproto/lexicon 0.4.6-next.5 → 0.4.6
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 +10 -0
- package/dist/lexicons.d.ts.map +1 -1
- package/dist/lexicons.js +34 -14
- package/dist/lexicons.js.map +1 -1
- package/dist/types.d.ts +1016 -1010
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -5
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +3 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +12 -0
- package/dist/util.js.map +1 -1
- package/dist/validators/complex.d.ts.map +1 -1
- package/dist/validators/complex.js +59 -31
- package/dist/validators/complex.js.map +1 -1
- package/dist/validators/formats.d.ts.map +1 -1
- package/dist/validators/formats.js +9 -6
- package/dist/validators/formats.js.map +1 -1
- package/dist/validators/primitives.d.ts +6 -0
- package/dist/validators/primitives.d.ts.map +1 -1
- package/dist/validators/primitives.js +6 -0
- package/dist/validators/primitives.js.map +1 -1
- package/jest.config.js +0 -1
- package/package.json +3 -3
- package/src/lexicons.ts +12 -18
- package/src/types.ts +17 -7
- package/src/util.ts +15 -0
- package/src/validators/complex.ts +65 -36
- package/src/validators/formats.ts +11 -8
- package/src/validators/primitives.ts +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @atproto/lexicon
|
|
2
2
|
|
|
3
|
+
## 0.4.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#3220](https://github.com/bluesky-social/atproto/pull/3220) [`61dc0d60e`](https://github.com/bluesky-social/atproto/commit/61dc0d60e19b88c6427a54c6d95a391b5f4da7bd) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Apply new linting rules regarding import order
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`61dc0d60e`](https://github.com/bluesky-social/atproto/commit/61dc0d60e19b88c6427a54c6d95a391b5f4da7bd), [`8a30e0ed9`](https://github.com/bluesky-social/atproto/commit/8a30e0ed9239cb2037d54fb98e70e8b0cfbc3e39)]:
|
|
10
|
+
- @atproto/common-web@0.4.0
|
|
11
|
+
- @atproto/syntax@0.3.2
|
|
12
|
+
|
|
3
13
|
## 0.4.5
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/dist/lexicons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicons.d.ts","sourceRoot":"","sources":["../src/lexicons.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EAEX,UAAU,EAEV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"lexicons.d.ts","sourceRoot":"","sources":["../src/lexicons.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EAEX,UAAU,EAEV,gBAAgB,EAGjB,MAAM,SAAS,CAAA;AAWhB;;GAEG;AACH,qBAAa,QAAS,YAAW,QAAQ,CAAC,UAAU,CAAC;IACnD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAY;IACzC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAY;gBAE9B,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IAQvC;;;;;;;;;;OAUG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC;IAIzC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAiB1B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM;IAYlB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKxC;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAK5C;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,EAC/D,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,GACnB,OAAO,CAAC,WAAW,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAiBpC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,gBAAgB;IAgB1D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAkBhD;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAUpD;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAMnD;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAMpD;;OAEG;IACH,sBAAsB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC;IAMtE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAI1C"}
|
package/dist/lexicons.js
CHANGED
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.Lexicons = void 0;
|
|
4
27
|
const types_1 = require("./types");
|
|
5
28
|
const util_1 = require("./util");
|
|
6
29
|
const validation_1 = require("./validation");
|
|
7
|
-
const
|
|
30
|
+
const ComplexValidators = __importStar(require("./validators/complex"));
|
|
8
31
|
/**
|
|
9
32
|
* A collection of compiled lexicons.
|
|
10
33
|
*/
|
|
@@ -101,16 +124,16 @@ class Lexicons {
|
|
|
101
124
|
* Validate a record or object.
|
|
102
125
|
*/
|
|
103
126
|
validate(lexUri, value) {
|
|
127
|
+
lexUri = (0, util_1.toLexUri)(lexUri);
|
|
128
|
+
const def = this.getDefOrThrow(lexUri, ['record', 'object']);
|
|
104
129
|
if (!(0, types_1.isObj)(value)) {
|
|
105
130
|
throw new types_1.ValidationError(`Value must be an object`);
|
|
106
131
|
}
|
|
107
|
-
const lexUriNormalized = (0, util_1.toLexUri)(lexUri);
|
|
108
|
-
const def = this.getDefOrThrow(lexUriNormalized, ['record', 'object']);
|
|
109
132
|
if (def.type === 'record') {
|
|
110
|
-
return
|
|
133
|
+
return ComplexValidators.object(this, 'Record', def.record, value);
|
|
111
134
|
}
|
|
112
135
|
else if (def.type === 'object') {
|
|
113
|
-
return
|
|
136
|
+
return ComplexValidators.object(this, 'Object', def, value);
|
|
114
137
|
}
|
|
115
138
|
else {
|
|
116
139
|
// shouldn't happen
|
|
@@ -121,21 +144,18 @@ class Lexicons {
|
|
|
121
144
|
* Validate a record and throw on any error.
|
|
122
145
|
*/
|
|
123
146
|
assertValidRecord(lexUri, value) {
|
|
147
|
+
lexUri = (0, util_1.toLexUri)(lexUri);
|
|
148
|
+
const def = this.getDefOrThrow(lexUri, ['record']);
|
|
124
149
|
if (!(0, types_1.isObj)(value)) {
|
|
125
150
|
throw new types_1.ValidationError(`Record must be an object`);
|
|
126
151
|
}
|
|
127
|
-
if (!('$type'
|
|
128
|
-
throw new types_1.ValidationError(`Record/$type must be a string`);
|
|
129
|
-
}
|
|
130
|
-
const { $type } = value;
|
|
131
|
-
if (typeof $type !== 'string') {
|
|
152
|
+
if (!(0, types_1.hasProp)(value, '$type') || typeof value.$type !== 'string') {
|
|
132
153
|
throw new types_1.ValidationError(`Record/$type must be a string`);
|
|
133
154
|
}
|
|
134
|
-
const
|
|
135
|
-
if ((0, util_1.toLexUri)($type) !==
|
|
136
|
-
throw new types_1.ValidationError(`Invalid $type: must be ${
|
|
155
|
+
const $type = value.$type || '';
|
|
156
|
+
if ((0, util_1.toLexUri)($type) !== lexUri) {
|
|
157
|
+
throw new types_1.ValidationError(`Invalid $type: must be ${lexUri}, got ${$type}`);
|
|
137
158
|
}
|
|
138
|
-
const def = this.getDefOrThrow(lexUriNormalized, ['record']);
|
|
139
159
|
return (0, validation_1.assertValidRecord)(this, def, value);
|
|
140
160
|
}
|
|
141
161
|
/**
|
package/dist/lexicons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../src/lexicons.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../src/lexicons.ts"],"names":[],"mappings":"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"}
|