@atcute/lexicons 1.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/LICENSE +17 -0
- package/README.md +11 -0
- package/dist/ambient.d.ts +8 -0
- package/dist/ambient.js +2 -0
- package/dist/ambient.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/blob.d.ts +20 -0
- package/dist/interfaces/blob.js +20 -0
- package/dist/interfaces/blob.js.map +1 -0
- package/dist/interfaces/bytes.d.ts +23 -0
- package/dist/interfaces/bytes.js +21 -0
- package/dist/interfaces/bytes.js.map +1 -0
- package/dist/interfaces/cid-link.d.ts +24 -0
- package/dist/interfaces/cid-link.js +13 -0
- package/dist/interfaces/cid-link.js.map +1 -0
- package/dist/interfaces/index.d.ts +3 -0
- package/dist/interfaces/index.js +4 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/syntax/at-identifier.d.ts +8 -0
- package/dist/syntax/at-identifier.js +7 -0
- package/dist/syntax/at-identifier.js.map +1 -0
- package/dist/syntax/at-uri.d.ts +46 -0
- package/dist/syntax/at-uri.js +64 -0
- package/dist/syntax/at-uri.js.map +1 -0
- package/dist/syntax/cid.d.ts +5 -0
- package/dist/syntax/cid.js +10 -0
- package/dist/syntax/cid.js.map +1 -0
- package/dist/syntax/datetime.d.ts +2 -0
- package/dist/syntax/datetime.js +6 -0
- package/dist/syntax/datetime.js.map +1 -0
- package/dist/syntax/did.d.ts +9 -0
- package/dist/syntax/did.js +6 -0
- package/dist/syntax/did.js.map +1 -0
- package/dist/syntax/handle.d.ts +6 -0
- package/dist/syntax/handle.js +6 -0
- package/dist/syntax/handle.js.map +1 -0
- package/dist/syntax/index.d.ts +11 -0
- package/dist/syntax/index.js +12 -0
- package/dist/syntax/index.js.map +1 -0
- package/dist/syntax/language.d.ts +2 -0
- package/dist/syntax/language.js +6 -0
- package/dist/syntax/language.js.map +1 -0
- package/dist/syntax/nsid.d.ts +5 -0
- package/dist/syntax/nsid.js +6 -0
- package/dist/syntax/nsid.js.map +1 -0
- package/dist/syntax/record-key.d.ts +5 -0
- package/dist/syntax/record-key.js +6 -0
- package/dist/syntax/record-key.js.map +1 -0
- package/dist/syntax/tid.d.ts +5 -0
- package/dist/syntax/tid.js +6 -0
- package/dist/syntax/tid.js.map +1 -0
- package/dist/syntax/uri.d.ts +5 -0
- package/dist/syntax/uri.js +6 -0
- package/dist/syntax/uri.js.map +1 -0
- package/dist/types/brand.d.ts +13 -0
- package/dist/types/brand.js +2 -0
- package/dist/types/brand.js.map +1 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.js +12 -0
- package/dist/utils.js.map +1 -0
- package/dist/validations/index.d.ts +409 -0
- package/dist/validations/index.js +1003 -0
- package/dist/validations/index.js.map +1 -0
- package/dist/validations/utils.d.ts +8 -0
- package/dist/validations/utils.js +54 -0
- package/dist/validations/utils.js.map +1 -0
- package/lib/ambient.ts +7 -0
- package/lib/index.ts +38 -0
- package/lib/interfaces/blob.ts +47 -0
- package/lib/interfaces/bytes.ts +45 -0
- package/lib/interfaces/cid-link.ts +36 -0
- package/lib/interfaces/index.ts +3 -0
- package/lib/syntax/at-identifier.ts +13 -0
- package/lib/syntax/at-uri.ts +117 -0
- package/lib/syntax/cid.ts +16 -0
- package/lib/syntax/datetime.ts +9 -0
- package/lib/syntax/did.ts +16 -0
- package/lib/syntax/handle.ts +13 -0
- package/lib/syntax/index.ts +11 -0
- package/lib/syntax/language.ts +9 -0
- package/lib/syntax/nsid.ts +12 -0
- package/lib/syntax/record-key.ts +11 -0
- package/lib/syntax/tid.ts +11 -0
- package/lib/syntax/uri.ts +11 -0
- package/lib/types/brand.ts +11 -0
- package/lib/utils.ts +15 -0
- package/lib/validations/index.ts +1749 -0
- package/lib/validations/utils.ts +62 -0
- package/package.json +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/validations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const getUtf8Length: (str: string) => number;
|
|
2
|
+
export declare const getGraphemeLength: (text: string) => number;
|
|
3
|
+
export declare const lazyProperty: <T>(obj: object, prop: string | number | symbol, value: T) => T;
|
|
4
|
+
export declare const lazy: <T>(getter: () => T) => {
|
|
5
|
+
readonly value: T;
|
|
6
|
+
};
|
|
7
|
+
export declare const isArray: (arg: any) => arg is any[];
|
|
8
|
+
export declare const isObject: (input: unknown) => input is Record<string, unknown>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const segmenter = new Intl.Segmenter();
|
|
2
|
+
export const getUtf8Length = (str) => {
|
|
3
|
+
const len = str.length;
|
|
4
|
+
let u16pos = 0;
|
|
5
|
+
let u8pos = 0;
|
|
6
|
+
while (u16pos < len) {
|
|
7
|
+
const code = str.charCodeAt(u16pos);
|
|
8
|
+
if (code < 0x80) {
|
|
9
|
+
u16pos += 1;
|
|
10
|
+
u8pos += 1;
|
|
11
|
+
}
|
|
12
|
+
else if (code < 0x800) {
|
|
13
|
+
u16pos += 1;
|
|
14
|
+
u8pos += 2;
|
|
15
|
+
}
|
|
16
|
+
else if (code < 0xd800 || code > 0xdbff) {
|
|
17
|
+
u16pos += 1;
|
|
18
|
+
u8pos += 3;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
u16pos += 2;
|
|
22
|
+
u8pos += 4;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return u8pos;
|
|
26
|
+
};
|
|
27
|
+
export const getGraphemeLength = (text) => {
|
|
28
|
+
const iterator = segmenter.segment(text)[Symbol.iterator]();
|
|
29
|
+
let count = 0;
|
|
30
|
+
while (!iterator.next().done) {
|
|
31
|
+
count++;
|
|
32
|
+
}
|
|
33
|
+
return count;
|
|
34
|
+
};
|
|
35
|
+
// #__NO_SIDE_EFFECTS__
|
|
36
|
+
export const lazyProperty = (obj, prop, value) => {
|
|
37
|
+
Object.defineProperty(obj, prop, { value });
|
|
38
|
+
return value;
|
|
39
|
+
};
|
|
40
|
+
// #__NO_SIDE_EFFECTS__
|
|
41
|
+
export const lazy = (getter) => {
|
|
42
|
+
return {
|
|
43
|
+
get value() {
|
|
44
|
+
const value = getter();
|
|
45
|
+
return lazyProperty(this, 'value', value);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
export const isArray = /*#__PURE__*/ Array.isArray;
|
|
50
|
+
// #__NO_SIDE_EFFECTS__
|
|
51
|
+
export const isObject = (input) => {
|
|
52
|
+
return typeof input === 'object' && input !== null && !isArray(input);
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/validations/utils.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IAEvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC;YACZ,KAAK,IAAI,CAAC,CAAC;QACZ,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,EAAE,CAAC;IACT,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,GAAW,EAAE,IAA8B,EAAE,KAAQ,EAAK,EAAE;IAC3F,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAI,MAAe,EAAyB,EAAE;IACjE,OAAO;QACN,IAAI,KAAK;YACR,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;KACD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAEnD,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE;IAC5E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC"}
|
package/lib/ambient.ts
ADDED
package/lib/index.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type { ActorIdentifier } from './syntax/at-identifier.js';
|
|
2
|
+
export {
|
|
3
|
+
isCanonicalResourceUri,
|
|
4
|
+
isResourceUri,
|
|
5
|
+
parseCanonicalResourceUri,
|
|
6
|
+
parseResourceUri,
|
|
7
|
+
type CanonicalResourceUri,
|
|
8
|
+
type ParsedCanonicalResourceUri,
|
|
9
|
+
type ParsedResourceUri,
|
|
10
|
+
type ResourceUri,
|
|
11
|
+
} from './syntax/at-uri.js';
|
|
12
|
+
export type { Cid } from './syntax/cid.js';
|
|
13
|
+
export type { Datetime } from './syntax/datetime.js';
|
|
14
|
+
export type { Did } from './syntax/did.js';
|
|
15
|
+
export type { Handle } from './syntax/handle.js';
|
|
16
|
+
export type { LanguageCode } from './syntax/language.js';
|
|
17
|
+
export type { Nsid } from './syntax/nsid.js';
|
|
18
|
+
export type { RecordKey } from './syntax/record-key.js';
|
|
19
|
+
export type { Tid } from './syntax/tid.js';
|
|
20
|
+
export type { GenericUri } from './syntax/uri.js';
|
|
21
|
+
|
|
22
|
+
export type { Blob, LegacyBlob } from './interfaces/blob.js';
|
|
23
|
+
export type { Bytes } from './interfaces/bytes.js';
|
|
24
|
+
export type { CidLink } from './interfaces/cid-link.js';
|
|
25
|
+
|
|
26
|
+
export type { $type } from './types/brand.js';
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
is,
|
|
30
|
+
parse,
|
|
31
|
+
safeParse,
|
|
32
|
+
ValidationError,
|
|
33
|
+
type InferInput,
|
|
34
|
+
type InferOutput,
|
|
35
|
+
type InferXRPCBodyInput,
|
|
36
|
+
type InferXRPCBodyOutput,
|
|
37
|
+
type ValidationResult,
|
|
38
|
+
} from './validations/index.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Cid } from '../syntax/cid.js';
|
|
2
|
+
|
|
3
|
+
import { isCidLink, type CidLink } from './cid-link.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* represents a reference to a data blob
|
|
7
|
+
*/
|
|
8
|
+
export interface Blob<TMime extends string = string> {
|
|
9
|
+
$type: 'blob';
|
|
10
|
+
mimeType: TMime;
|
|
11
|
+
ref: CidLink;
|
|
12
|
+
size: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const isBlob = (input: unknown): input is Blob => {
|
|
16
|
+
const v = input as any;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
typeof v === 'object' &&
|
|
20
|
+
v !== null &&
|
|
21
|
+
v.$type === 'blob' &&
|
|
22
|
+
typeof v.mimeType === 'string' &&
|
|
23
|
+
Number.isSafeInteger(v.size) &&
|
|
24
|
+
isCidLink(v.ref) &&
|
|
25
|
+
Object.keys(v).length === 4
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* deprecated interface representing an interface to a data blob
|
|
31
|
+
*/
|
|
32
|
+
export interface LegacyBlob<TMime extends string = string> {
|
|
33
|
+
cid: Cid;
|
|
34
|
+
mimeType: TMime;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const isLegacyBlob = (input: unknown): input is LegacyBlob => {
|
|
38
|
+
const v = input as any;
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
typeof v === 'object' &&
|
|
42
|
+
v !== null &&
|
|
43
|
+
typeof v.cid === 'string' &&
|
|
44
|
+
typeof v.mimeType === 'string' &&
|
|
45
|
+
Object.keys(v).length === 2
|
|
46
|
+
);
|
|
47
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents an object containing raw binary data encoded as a base64 string
|
|
3
|
+
*/
|
|
4
|
+
export interface Bytes {
|
|
5
|
+
$bytes: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const BYTES_SYMBOL = Symbol.for('@atcute/bytes-wrapper');
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* this should match with {@link file://./../../../../utilities/cbor/lib/bytes.ts}
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export interface _BytesWrapper {
|
|
15
|
+
readonly [BYTES_SYMBOL]: true;
|
|
16
|
+
|
|
17
|
+
readonly buf: Uint8Array;
|
|
18
|
+
readonly $bytes: string;
|
|
19
|
+
|
|
20
|
+
toJSON(): Bytes;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
// #__NO_SIDE_EFFECTS__
|
|
27
|
+
export const _isBytesWrapper = (input: unknown): input is _BytesWrapper => {
|
|
28
|
+
return typeof input === 'object' && input !== null && BYTES_SYMBOL in input;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const BASE64_RE = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}(?:==)?|[A-Za-z0-9+/]{3}=?)?$/;
|
|
32
|
+
const isBase64 = (input: unknown): input is string => {
|
|
33
|
+
if (typeof input !== 'string') {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return BASE64_RE.test(input);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// #__NO_SIDE_EFFECTS__
|
|
41
|
+
export const isBytes = (input: unknown): input is Bytes => {
|
|
42
|
+
const v = input as any;
|
|
43
|
+
|
|
44
|
+
return typeof v === 'object' && v !== null && (BYTES_SYMBOL in v || isBase64(v.$bytes));
|
|
45
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { isCid, type Cid } from '../syntax/cid.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* represents a content identifier (CID) reference
|
|
5
|
+
*/
|
|
6
|
+
export interface CidLink {
|
|
7
|
+
$link: Cid;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const CID_LINK_SYMBOL = Symbol.for('@atcute/cid-link-wrapper');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* this should match with {@link file://./../../../../utilities/cid/lib/cid-link.ts}
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export interface _CidLinkWrapper {
|
|
17
|
+
readonly [CID_LINK_SYMBOL]: true;
|
|
18
|
+
|
|
19
|
+
readonly bytes: Uint8Array;
|
|
20
|
+
readonly $link: string;
|
|
21
|
+
|
|
22
|
+
toJSON(): CidLink;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export const _isCidLinkWrapper = (input: unknown): input is _CidLinkWrapper => {
|
|
29
|
+
return typeof input === 'object' && input !== null && CID_LINK_SYMBOL in input;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const isCidLink = (input: unknown): input is CidLink => {
|
|
33
|
+
const v = input as any;
|
|
34
|
+
|
|
35
|
+
return typeof v === 'object' && v !== null && (CID_LINK_SYMBOL in v || isCid(v.$link));
|
|
36
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { isDid, type Did } from './did.js';
|
|
2
|
+
import { isHandle, type Handle } from './handle.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* represents an account's identifier, either a {@link Did} or a
|
|
6
|
+
* {@link Handle}
|
|
7
|
+
*/
|
|
8
|
+
export type ActorIdentifier = Did | Handle;
|
|
9
|
+
|
|
10
|
+
// #__NO_SIDE_EFFECTS__
|
|
11
|
+
export const isActorIdentifier = (input: unknown): input is ActorIdentifier => {
|
|
12
|
+
return isDid(input) || isHandle(input);
|
|
13
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { isActorIdentifier, type ActorIdentifier } from './at-identifier.js';
|
|
2
|
+
import { isDid, type Did } from './did.js';
|
|
3
|
+
import { isNsid, type Nsid } from './nsid.js';
|
|
4
|
+
import { isRecordKey, type RecordKey } from './record-key.js';
|
|
5
|
+
|
|
6
|
+
import { type Result } from '../utils.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* represents a general AT Protocol URI, representing either an entire
|
|
10
|
+
* repository, a specific collection within a repository, or a record.
|
|
11
|
+
*
|
|
12
|
+
* it allows using handles over DIDs, but this means that it won't be stable.
|
|
13
|
+
*/
|
|
14
|
+
export type ResourceUri =
|
|
15
|
+
| `at://${ActorIdentifier}`
|
|
16
|
+
| `at://${ActorIdentifier}/${Nsid}`
|
|
17
|
+
| `at://${ActorIdentifier}/${Nsid}/${RecordKey}`;
|
|
18
|
+
|
|
19
|
+
export type ParsedResourceUri =
|
|
20
|
+
| { repo: ActorIdentifier; collection: undefined; rkey: undefined; fragment: string | undefined }
|
|
21
|
+
| { repo: ActorIdentifier; collection: Nsid; rkey: undefined; fragment: string | undefined }
|
|
22
|
+
| { repo: ActorIdentifier; collection: Nsid; rkey: RecordKey; fragment: string | undefined };
|
|
23
|
+
|
|
24
|
+
const ATURI_RE =
|
|
25
|
+
/^at:\/\/([a-zA-Z0-9._:%-]+)(?:\/([a-zA-Z0-9-.]+)(?:\/([a-zA-Z0-9._~:@!$&%')(*+,;=-]+))?)?(?:#(\/[a-zA-Z0-9._~:@!$&%')(*+,;=\-[\]/\\]*))?$/;
|
|
26
|
+
|
|
27
|
+
// #__NO_SIDE_EFFECTS__
|
|
28
|
+
export const isResourceUri = (input: unknown): input is ResourceUri => {
|
|
29
|
+
if (typeof input !== 'string') {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const match = ATURI_RE.exec(input);
|
|
34
|
+
if (match === null) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const [, r, c, k] = match;
|
|
39
|
+
|
|
40
|
+
return isActorIdentifier(r) && (c === undefined || isNsid(c)) && (k === undefined || isRecordKey(k));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// #__NO_SIDE_EFFECTS__
|
|
44
|
+
export const parseResourceUri = (input: string): Result<ParsedResourceUri, string> => {
|
|
45
|
+
const match = ATURI_RE.exec(input);
|
|
46
|
+
if (match === null) {
|
|
47
|
+
return { ok: false, error: `invalid at-uri: ${input}` };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const [, r, c, k, f] = match;
|
|
51
|
+
|
|
52
|
+
if (!isActorIdentifier(r)) {
|
|
53
|
+
return { ok: false, error: `invalid repo in at-uri: ${r}` };
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (c !== undefined && !isNsid(c)) {
|
|
57
|
+
return { ok: false, error: `invalid collection in at-uri: ${c}` };
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (k !== undefined && !isRecordKey(k)) {
|
|
61
|
+
return { ok: false, error: `invalid rkey in at-uri: ${k}` };
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return { ok: true, value: { repo: r, collection: c, rkey: k, fragment: f } };
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* represents a canonical AT Protocol URI for a specific record.
|
|
69
|
+
*
|
|
70
|
+
* this URI format uses the account's DID as the authority, ensuring that
|
|
71
|
+
* the URI remains valid even as the account changes handles, uniquely
|
|
72
|
+
* identifying a specific piece of record within AT Protocol.
|
|
73
|
+
*/
|
|
74
|
+
export type CanonicalResourceUri = `at://${Did}/${Nsid}/${RecordKey}`;
|
|
75
|
+
|
|
76
|
+
export type ParsedCanonicalResourceUri = {
|
|
77
|
+
repo: Did;
|
|
78
|
+
collection: Nsid;
|
|
79
|
+
rkey: RecordKey;
|
|
80
|
+
fragment: string | undefined;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// #__NO_SIDE_EFFECTS__
|
|
84
|
+
export const isCanonicalResourceUri = (input: string): input is CanonicalResourceUri => {
|
|
85
|
+
const match = ATURI_RE.exec(input);
|
|
86
|
+
if (match === null) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const [, r, c, k] = match;
|
|
91
|
+
|
|
92
|
+
return isDid(r) && isNsid(c) && isRecordKey(k);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
// #__NO_SIDE_EFFECTS__
|
|
96
|
+
export const parseCanonicalResourceUri = (input: string): Result<ParsedCanonicalResourceUri, string> => {
|
|
97
|
+
const match = ATURI_RE.exec(input);
|
|
98
|
+
if (match === null) {
|
|
99
|
+
return { ok: false, error: `invalid canonical-at-uri: ${input}` };
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const [, r, c, k, f] = match;
|
|
103
|
+
|
|
104
|
+
if (!isDid(r)) {
|
|
105
|
+
return { ok: false, error: `invalid repo in canonical-at-uri: ${r}` };
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (!isNsid(c)) {
|
|
109
|
+
return { ok: false, error: `invalid collection in canonical-at-uri: ${c}` };
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (!isRecordKey(k)) {
|
|
113
|
+
return { ok: false, error: `invalid rkey in canonical-at-uri: ${k}` };
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return { ok: true, value: { repo: r, collection: c, rkey: k, fragment: f } };
|
|
117
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents a content identifier (CID)
|
|
3
|
+
*/
|
|
4
|
+
export type Cid = string;
|
|
5
|
+
|
|
6
|
+
const DASL_CID_RE = /^baf[ky]re(?:aa|i[a-z2-7]{52})$/;
|
|
7
|
+
|
|
8
|
+
// #__NO_SIDE_EFFECTS__
|
|
9
|
+
export const isCid = (input: unknown): input is Cid => {
|
|
10
|
+
if (typeof input !== 'string') {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const length = input.length;
|
|
15
|
+
return (length === 8 || length === 59) && DASL_CID_RE.test(input);
|
|
16
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Datetime = string;
|
|
2
|
+
|
|
3
|
+
const DATE_TIME_RE =
|
|
4
|
+
/^((?!0{3})\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01]))T((?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d))(\.\d+)?(Z|(?!-00:00)[+-](?:[01]\d|2[0-3]):(?:[0-5]\d))$/;
|
|
5
|
+
|
|
6
|
+
// #__NO_SIDE_EFFECTS__
|
|
7
|
+
export const isDatetime = (input: unknown): input is Datetime => {
|
|
8
|
+
return typeof input === 'string' && input.length >= 20 && input.length <= 64 && DATE_TIME_RE.test(input);
|
|
9
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents a decentralized identifier (DID).
|
|
3
|
+
*/
|
|
4
|
+
export type Did<Method extends string = string> = `did:${Method}:${string}`;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* represents a decentralized identifier with methods supported in atproto
|
|
8
|
+
*/
|
|
9
|
+
export type AtprotoDid = Did<'plc' | 'web'>;
|
|
10
|
+
|
|
11
|
+
const DID_RE = /^did:([a-z]+):([a-zA-Z0-9._:%\-]*[a-zA-Z0-9._\-])$/;
|
|
12
|
+
|
|
13
|
+
// #__NO_SIDE_EFFECTS__
|
|
14
|
+
export const isDid = (input: unknown): input is Did => {
|
|
15
|
+
return typeof input === 'string' && input.length >= 7 && input.length <= 2048 && DID_RE.test(input);
|
|
16
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents an account's handle, using domains as a human-friendly
|
|
3
|
+
* identifier.
|
|
4
|
+
*/
|
|
5
|
+
export type Handle = `${string}.${string}`;
|
|
6
|
+
|
|
7
|
+
const HANDLE_RE =
|
|
8
|
+
/^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+([a-zA-Z][a-zA-Z0-9-]{0,61}[a-zA-Z])$/;
|
|
9
|
+
|
|
10
|
+
// #__NO_SIDE_EFFECTS__
|
|
11
|
+
export const isHandle = (input: unknown): input is Handle => {
|
|
12
|
+
return typeof input === 'string' && input.length >= 3 && input.length <= 253 && HANDLE_RE.test(input);
|
|
13
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './at-identifier.js';
|
|
2
|
+
export * from './at-uri.js';
|
|
3
|
+
export * from './cid.js';
|
|
4
|
+
export * from './datetime.js';
|
|
5
|
+
export * from './did.js';
|
|
6
|
+
export * from './handle.js';
|
|
7
|
+
export * from './language.js';
|
|
8
|
+
export * from './nsid.js';
|
|
9
|
+
export * from './record-key.js';
|
|
10
|
+
export * from './tid.js';
|
|
11
|
+
export * from './uri.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type LanguageCode = string;
|
|
2
|
+
|
|
3
|
+
const LANGUAGE_CODE_RE =
|
|
4
|
+
/^((?<grandfathered>(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang))|((?<language>([A-Za-z]{2,3}(-(?<extlang>[A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-(?<script>[A-Za-z]{4}))?(-(?<region>[A-Za-z]{2}|[0-9]{3}))?(-(?<variant>[A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-(?<extension>[0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(?<privateUseA>x(-[A-Za-z0-9]{1,8})+))?)|(?<privateUseB>x(-[A-Za-z0-9]{1,8})+))$/;
|
|
5
|
+
|
|
6
|
+
// #__NO_SIDE_EFFECTS__
|
|
7
|
+
export const isLanguageCode = (input: unknown): input is LanguageCode => {
|
|
8
|
+
return typeof input === 'string' && input.length >= 2 && LANGUAGE_CODE_RE.test(input);
|
|
9
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents a namespace identifier (NSID)
|
|
3
|
+
*/
|
|
4
|
+
export type Nsid = `${string}.${string}.${string}`;
|
|
5
|
+
|
|
6
|
+
const NSID_RE =
|
|
7
|
+
/^[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}?$/;
|
|
8
|
+
|
|
9
|
+
// #__NO_SIDE_EFFECTS__
|
|
10
|
+
export const isNsid = (input: unknown): input is Nsid => {
|
|
11
|
+
return typeof input === 'string' && input.length >= 5 && input.length <= 317 && NSID_RE.test(input);
|
|
12
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents a record key
|
|
3
|
+
*/
|
|
4
|
+
export type RecordKey = string;
|
|
5
|
+
|
|
6
|
+
const RECORD_KEY_RE = /^(?!\.{1,2}$)[a-zA-Z0-9_~.:-]{1,512}$/;
|
|
7
|
+
|
|
8
|
+
// #__NO_SIDE_EFFECTS__
|
|
9
|
+
export const isRecordKey = (input: unknown): input is RecordKey => {
|
|
10
|
+
return typeof input === 'string' && input.length >= 1 && input.length <= 512 && RECORD_KEY_RE.test(input);
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents a timestamp identifier (TID)
|
|
3
|
+
*/
|
|
4
|
+
export type Tid = string;
|
|
5
|
+
|
|
6
|
+
const TID_RE = /^[234567abcdefghij][234567abcdefghijklmnopqrstuvwxyz]{12}$/;
|
|
7
|
+
|
|
8
|
+
// #__NO_SIDE_EFFECTS__
|
|
9
|
+
export const isTid = (input: unknown): input is Tid => {
|
|
10
|
+
return typeof input === 'string' && input.length === 13 && TID_RE.test(input);
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* represents a generic URI
|
|
3
|
+
*/
|
|
4
|
+
export type GenericUri = `${string}:${string}`;
|
|
5
|
+
|
|
6
|
+
const URI_RE = /^\w+:(?:\/\/)?[^\s/][^\s]*$/;
|
|
7
|
+
|
|
8
|
+
// #__NO_SIDE_EFFECTS__
|
|
9
|
+
export const isGenericUri = (input: unknown): input is GenericUri => {
|
|
10
|
+
return typeof input === 'string' && input.length >= 3 && URI_RE.test(input);
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare namespace $type {
|
|
2
|
+
type get<TObject extends { $type?: string }> = NonNullable<TObject['$type']>;
|
|
3
|
+
|
|
4
|
+
type enforce<TObject extends { $type?: string }> = TObject extends any
|
|
5
|
+
? undefined extends TObject['$type']
|
|
6
|
+
? TObject & { $type: NonNullable<TObject['$type']> }
|
|
7
|
+
: TObject
|
|
8
|
+
: never;
|
|
9
|
+
|
|
10
|
+
type omit<TObject extends { $type?: string }> = Omit<TObject, '$type'>;
|
|
11
|
+
}
|
package/lib/utils.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type Result<T, E> = { ok: true; value: T } | { ok: false; error: E };
|
|
2
|
+
|
|
3
|
+
export const assert: { (condition: any, message?: string): asserts condition } = (condition, message) => {
|
|
4
|
+
if (!condition) {
|
|
5
|
+
if (import.meta.env.DEV) {
|
|
6
|
+
throw new Error(`Assertion failed` + (message ? `: ${message}` : ``));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
throw new Error(`Assertion failed`);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const assertNever = (_: never, message?: string): never => {
|
|
14
|
+
assert(false, message);
|
|
15
|
+
};
|