@atcute/lexicons 1.3.1 → 2.0.0
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/README.md +6 -10
- package/dist/syntax/at-uri.d.ts +2 -3
- package/dist/syntax/at-uri.d.ts.map +1 -1
- package/dist/syntax/at-uri.js +12 -13
- package/dist/syntax/at-uri.js.map +1 -1
- package/dist/utils.d.ts +0 -7
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/lib/syntax/at-uri.ts +14 -16
- package/lib/utils.ts +0 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -69,19 +69,15 @@ parse AT URIs to extract their components:
|
|
|
69
69
|
```ts
|
|
70
70
|
import { parseResourceUri, parseCanonicalResourceUri } from '@atcute/lexicons/syntax';
|
|
71
71
|
|
|
72
|
-
// parse any AT URI (handle or DID authority)
|
|
72
|
+
// parse any AT URI (handle or DID authority); throws SyntaxError on invalid input
|
|
73
73
|
const uri = parseResourceUri('at://alice.bsky.social/app.bsky.feed.post/123');
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
console.log(uri.value.rkey); // '123'
|
|
78
|
-
}
|
|
74
|
+
console.log(uri.repo); // 'alice.bsky.social'
|
|
75
|
+
console.log(uri.collection); // 'app.bsky.feed.post'
|
|
76
|
+
console.log(uri.rkey); // '123'
|
|
79
77
|
|
|
80
|
-
// parse canonical AT URI (DID authority only)
|
|
78
|
+
// parse canonical AT URI (DID authority only); throws SyntaxError on invalid input
|
|
81
79
|
const canonical = parseCanonicalResourceUri('at://did:plc:123/app.bsky.feed.post/abc');
|
|
82
|
-
|
|
83
|
-
console.log(canonical.value.repo); // 'did:plc:123'
|
|
84
|
-
}
|
|
80
|
+
console.log(canonical.repo); // 'did:plc:123'
|
|
85
81
|
```
|
|
86
82
|
|
|
87
83
|
### branded types
|
package/dist/syntax/at-uri.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type Result } from '../utils.ts';
|
|
2
1
|
import { type ActorIdentifier } from './at-identifier.ts';
|
|
3
2
|
import { type Did } from './did.ts';
|
|
4
3
|
import { type Nsid } from './nsid.ts';
|
|
@@ -27,7 +26,7 @@ export type ParsedResourceUri = {
|
|
|
27
26
|
fragment: string | undefined;
|
|
28
27
|
};
|
|
29
28
|
export declare const isResourceUri: (input: unknown) => input is ResourceUri;
|
|
30
|
-
export declare const parseResourceUri: (input: string) =>
|
|
29
|
+
export declare const parseResourceUri: (input: string) => ParsedResourceUri;
|
|
31
30
|
/**
|
|
32
31
|
* represents a canonical AT Protocol URI for a specific record.
|
|
33
32
|
*
|
|
@@ -43,5 +42,5 @@ export type ParsedCanonicalResourceUri = {
|
|
|
43
42
|
fragment: string | undefined;
|
|
44
43
|
};
|
|
45
44
|
export declare const isCanonicalResourceUri: (input: unknown) => input is CanonicalResourceUri;
|
|
46
|
-
export declare const parseCanonicalResourceUri: (input: string) =>
|
|
45
|
+
export declare const parseCanonicalResourceUri: (input: string) => ParsedCanonicalResourceUri;
|
|
47
46
|
//# sourceMappingURL=at-uri.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"at-uri.d.ts","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"at-uri.d.ts","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAS,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACpB,QAAQ,eAAe,EAAE,GACzB,QAAQ,eAAe,IAAI,IAAI,EAAE,GACjC,QAAQ,eAAe,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC/F;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1F;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AA8C9F,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,KAAK,IAAI,WA8EvD,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,iBA0BhD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;AAEtE,MAAM,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,KAAK,IAAI,oBAuChE,CAAC;AAGF,eAAO,MAAM,yBAAyB,UAAW,MAAM,KAAG,0BA0BzD,CAAC"}
|
package/dist/syntax/at-uri.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {} from '../utils.js';
|
|
2
1
|
import { isActorIdentifier } from './at-identifier.js';
|
|
3
2
|
import { isDid } from './did.js';
|
|
4
3
|
import { isNsid } from './nsid.js';
|
|
@@ -109,23 +108,23 @@ export const isResourceUri = (input) => {
|
|
|
109
108
|
export const parseResourceUri = (input) => {
|
|
110
109
|
const len = input.length;
|
|
111
110
|
if (len < AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
|
|
112
|
-
|
|
111
|
+
throw new SyntaxError(`invalid at-uri: ${input}`);
|
|
113
112
|
}
|
|
114
113
|
const match = ATURI_RE.exec(input);
|
|
115
114
|
if (match === null) {
|
|
116
|
-
|
|
115
|
+
throw new SyntaxError(`invalid at-uri: ${input}`);
|
|
117
116
|
}
|
|
118
117
|
const [, r, c, k, f] = match;
|
|
119
118
|
if (!isActorIdentifier(r)) {
|
|
120
|
-
|
|
119
|
+
throw new SyntaxError(`invalid repo in at-uri: ${r}`);
|
|
121
120
|
}
|
|
122
121
|
if (c !== undefined && !isNsid(c)) {
|
|
123
|
-
|
|
122
|
+
throw new SyntaxError(`invalid collection in at-uri: ${c}`);
|
|
124
123
|
}
|
|
125
124
|
if (k !== undefined && !isRecordKey(k)) {
|
|
126
|
-
|
|
125
|
+
throw new SyntaxError(`invalid rkey in at-uri: ${k}`);
|
|
127
126
|
}
|
|
128
|
-
return {
|
|
127
|
+
return { repo: r, collection: c, rkey: k, fragment: f };
|
|
129
128
|
};
|
|
130
129
|
// #__NO_SIDE_EFFECTS__
|
|
131
130
|
export const isCanonicalResourceUri = (input) => {
|
|
@@ -163,22 +162,22 @@ export const isCanonicalResourceUri = (input) => {
|
|
|
163
162
|
export const parseCanonicalResourceUri = (input) => {
|
|
164
163
|
const len = input.length;
|
|
165
164
|
if (len < CANONICAL_AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
|
|
166
|
-
|
|
165
|
+
throw new SyntaxError(`invalid canonical-at-uri: ${input}`);
|
|
167
166
|
}
|
|
168
167
|
const match = ATURI_RE.exec(input);
|
|
169
168
|
if (match === null) {
|
|
170
|
-
|
|
169
|
+
throw new SyntaxError(`invalid canonical-at-uri: ${input}`);
|
|
171
170
|
}
|
|
172
171
|
const [, r, c, k, f] = match;
|
|
173
172
|
if (!isDid(r)) {
|
|
174
|
-
|
|
173
|
+
throw new SyntaxError(`invalid repo in canonical-at-uri: ${r}`);
|
|
175
174
|
}
|
|
176
175
|
if (!isNsid(c)) {
|
|
177
|
-
|
|
176
|
+
throw new SyntaxError(`invalid collection in canonical-at-uri: ${c}`);
|
|
178
177
|
}
|
|
179
178
|
if (!isRecordKey(k)) {
|
|
180
|
-
|
|
179
|
+
throw new SyntaxError(`invalid rkey in canonical-at-uri: ${k}`);
|
|
181
180
|
}
|
|
182
|
-
return {
|
|
181
|
+
return { repo: r, collection: c, rkey: k, fragment: f };
|
|
183
182
|
};
|
|
184
183
|
//# sourceMappingURL=at-uri.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"at-uri.js","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"at-uri.js","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,EAAE;IAAE,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAA;CAQ3E,CAAC;AAEF,eAAO,MAAM,WAAW,MAAO,KAAK,YAAY,MAAM,KAAG,KAExD,CAAC"}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,MAAM,GAA8D,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;IACvG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAQ,EAAE,OAAgB,EAAS,EAAE;IAChE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxB,CAAC,CAAC"}
|
package/lib/syntax/at-uri.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { type Result } from '../utils.ts';
|
|
2
|
-
|
|
3
1
|
import { isActorIdentifier, type ActorIdentifier } from './at-identifier.ts';
|
|
4
2
|
import { isDid, type Did } from './did.ts';
|
|
5
3
|
import { isNsid, type Nsid } from './nsid.ts';
|
|
@@ -147,32 +145,32 @@ export const isResourceUri = (input: unknown): input is ResourceUri => {
|
|
|
147
145
|
};
|
|
148
146
|
|
|
149
147
|
// #__NO_SIDE_EFFECTS__
|
|
150
|
-
export const parseResourceUri = (input: string):
|
|
148
|
+
export const parseResourceUri = (input: string): ParsedResourceUri => {
|
|
151
149
|
const len = input.length;
|
|
152
150
|
if (len < AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
|
|
153
|
-
|
|
151
|
+
throw new SyntaxError(`invalid at-uri: ${input}`);
|
|
154
152
|
}
|
|
155
153
|
|
|
156
154
|
const match = ATURI_RE.exec(input);
|
|
157
155
|
if (match === null) {
|
|
158
|
-
|
|
156
|
+
throw new SyntaxError(`invalid at-uri: ${input}`);
|
|
159
157
|
}
|
|
160
158
|
|
|
161
159
|
const [, r, c, k, f] = match;
|
|
162
160
|
|
|
163
161
|
if (!isActorIdentifier(r)) {
|
|
164
|
-
|
|
162
|
+
throw new SyntaxError(`invalid repo in at-uri: ${r}`);
|
|
165
163
|
}
|
|
166
164
|
|
|
167
165
|
if (c !== undefined && !isNsid(c)) {
|
|
168
|
-
|
|
166
|
+
throw new SyntaxError(`invalid collection in at-uri: ${c}`);
|
|
169
167
|
}
|
|
170
168
|
|
|
171
169
|
if (k !== undefined && !isRecordKey(k)) {
|
|
172
|
-
|
|
170
|
+
throw new SyntaxError(`invalid rkey in at-uri: ${k}`);
|
|
173
171
|
}
|
|
174
172
|
|
|
175
|
-
return {
|
|
173
|
+
return { repo: r, collection: c, rkey: k, fragment: f };
|
|
176
174
|
};
|
|
177
175
|
|
|
178
176
|
/**
|
|
@@ -234,30 +232,30 @@ export const isCanonicalResourceUri = (input: unknown): input is CanonicalResour
|
|
|
234
232
|
};
|
|
235
233
|
|
|
236
234
|
// #__NO_SIDE_EFFECTS__
|
|
237
|
-
export const parseCanonicalResourceUri = (input: string):
|
|
235
|
+
export const parseCanonicalResourceUri = (input: string): ParsedCanonicalResourceUri => {
|
|
238
236
|
const len = input.length;
|
|
239
237
|
if (len < CANONICAL_AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
|
|
240
|
-
|
|
238
|
+
throw new SyntaxError(`invalid canonical-at-uri: ${input}`);
|
|
241
239
|
}
|
|
242
240
|
|
|
243
241
|
const match = ATURI_RE.exec(input);
|
|
244
242
|
if (match === null) {
|
|
245
|
-
|
|
243
|
+
throw new SyntaxError(`invalid canonical-at-uri: ${input}`);
|
|
246
244
|
}
|
|
247
245
|
|
|
248
246
|
const [, r, c, k, f] = match;
|
|
249
247
|
|
|
250
248
|
if (!isDid(r)) {
|
|
251
|
-
|
|
249
|
+
throw new SyntaxError(`invalid repo in canonical-at-uri: ${r}`);
|
|
252
250
|
}
|
|
253
251
|
|
|
254
252
|
if (!isNsid(c)) {
|
|
255
|
-
|
|
253
|
+
throw new SyntaxError(`invalid collection in canonical-at-uri: ${c}`);
|
|
256
254
|
}
|
|
257
255
|
|
|
258
256
|
if (!isRecordKey(k)) {
|
|
259
|
-
|
|
257
|
+
throw new SyntaxError(`invalid rkey in canonical-at-uri: ${k}`);
|
|
260
258
|
}
|
|
261
259
|
|
|
262
|
-
return {
|
|
260
|
+
return { repo: r, collection: c, rkey: k, fragment: f };
|
|
263
261
|
};
|
package/lib/utils.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atcute/lexicons",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "AT Protocol core lexicon types and schema validations",
|
|
5
5
|
"license": "0BSD",
|
|
6
6
|
"repository": {
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@standard-schema/spec": "^1.1.0",
|
|
31
31
|
"esm-env": "^1.2.2",
|
|
32
|
-
"@atcute/
|
|
33
|
-
"@atcute/
|
|
32
|
+
"@atcute/util-text": "^1.3.1",
|
|
33
|
+
"@atcute/uint8array": "^1.1.1"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@vitest/coverage-v8": "^4.1.5",
|