@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.
Files changed (91) hide show
  1. package/LICENSE +17 -0
  2. package/README.md +11 -0
  3. package/dist/ambient.d.ts +8 -0
  4. package/dist/ambient.js +2 -0
  5. package/dist/ambient.js.map +1 -0
  6. package/dist/index.d.ts +16 -0
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/interfaces/blob.d.ts +20 -0
  10. package/dist/interfaces/blob.js +20 -0
  11. package/dist/interfaces/blob.js.map +1 -0
  12. package/dist/interfaces/bytes.d.ts +23 -0
  13. package/dist/interfaces/bytes.js +21 -0
  14. package/dist/interfaces/bytes.js.map +1 -0
  15. package/dist/interfaces/cid-link.d.ts +24 -0
  16. package/dist/interfaces/cid-link.js +13 -0
  17. package/dist/interfaces/cid-link.js.map +1 -0
  18. package/dist/interfaces/index.d.ts +3 -0
  19. package/dist/interfaces/index.js +4 -0
  20. package/dist/interfaces/index.js.map +1 -0
  21. package/dist/syntax/at-identifier.d.ts +8 -0
  22. package/dist/syntax/at-identifier.js +7 -0
  23. package/dist/syntax/at-identifier.js.map +1 -0
  24. package/dist/syntax/at-uri.d.ts +46 -0
  25. package/dist/syntax/at-uri.js +64 -0
  26. package/dist/syntax/at-uri.js.map +1 -0
  27. package/dist/syntax/cid.d.ts +5 -0
  28. package/dist/syntax/cid.js +10 -0
  29. package/dist/syntax/cid.js.map +1 -0
  30. package/dist/syntax/datetime.d.ts +2 -0
  31. package/dist/syntax/datetime.js +6 -0
  32. package/dist/syntax/datetime.js.map +1 -0
  33. package/dist/syntax/did.d.ts +9 -0
  34. package/dist/syntax/did.js +6 -0
  35. package/dist/syntax/did.js.map +1 -0
  36. package/dist/syntax/handle.d.ts +6 -0
  37. package/dist/syntax/handle.js +6 -0
  38. package/dist/syntax/handle.js.map +1 -0
  39. package/dist/syntax/index.d.ts +11 -0
  40. package/dist/syntax/index.js +12 -0
  41. package/dist/syntax/index.js.map +1 -0
  42. package/dist/syntax/language.d.ts +2 -0
  43. package/dist/syntax/language.js +6 -0
  44. package/dist/syntax/language.js.map +1 -0
  45. package/dist/syntax/nsid.d.ts +5 -0
  46. package/dist/syntax/nsid.js +6 -0
  47. package/dist/syntax/nsid.js.map +1 -0
  48. package/dist/syntax/record-key.d.ts +5 -0
  49. package/dist/syntax/record-key.js +6 -0
  50. package/dist/syntax/record-key.js.map +1 -0
  51. package/dist/syntax/tid.d.ts +5 -0
  52. package/dist/syntax/tid.js +6 -0
  53. package/dist/syntax/tid.js.map +1 -0
  54. package/dist/syntax/uri.d.ts +5 -0
  55. package/dist/syntax/uri.js +6 -0
  56. package/dist/syntax/uri.js.map +1 -0
  57. package/dist/types/brand.d.ts +13 -0
  58. package/dist/types/brand.js +2 -0
  59. package/dist/types/brand.js.map +1 -0
  60. package/dist/utils.d.ts +11 -0
  61. package/dist/utils.js +12 -0
  62. package/dist/utils.js.map +1 -0
  63. package/dist/validations/index.d.ts +409 -0
  64. package/dist/validations/index.js +1003 -0
  65. package/dist/validations/index.js.map +1 -0
  66. package/dist/validations/utils.d.ts +8 -0
  67. package/dist/validations/utils.js +54 -0
  68. package/dist/validations/utils.js.map +1 -0
  69. package/lib/ambient.ts +7 -0
  70. package/lib/index.ts +38 -0
  71. package/lib/interfaces/blob.ts +47 -0
  72. package/lib/interfaces/bytes.ts +45 -0
  73. package/lib/interfaces/cid-link.ts +36 -0
  74. package/lib/interfaces/index.ts +3 -0
  75. package/lib/syntax/at-identifier.ts +13 -0
  76. package/lib/syntax/at-uri.ts +117 -0
  77. package/lib/syntax/cid.ts +16 -0
  78. package/lib/syntax/datetime.ts +9 -0
  79. package/lib/syntax/did.ts +16 -0
  80. package/lib/syntax/handle.ts +13 -0
  81. package/lib/syntax/index.ts +11 -0
  82. package/lib/syntax/language.ts +9 -0
  83. package/lib/syntax/nsid.ts +12 -0
  84. package/lib/syntax/record-key.ts +11 -0
  85. package/lib/syntax/tid.ts +11 -0
  86. package/lib/syntax/uri.ts +11 -0
  87. package/lib/types/brand.ts +11 -0
  88. package/lib/utils.ts +15 -0
  89. package/lib/validations/index.ts +1749 -0
  90. package/lib/validations/utils.ts +62 -0
  91. 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
@@ -0,0 +1,7 @@
1
+ export interface XRPCQueries {}
2
+
3
+ export interface XRPCProcedures {}
4
+
5
+ export interface XRPCSubscriptions {}
6
+
7
+ export interface Records {}
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,3 @@
1
+ export { isBlob, isLegacyBlob, type Blob, type LegacyBlob } from './blob.js';
2
+ export { isBytes, type Bytes } from './bytes.js';
3
+ export { isCidLink, type CidLink } from './cid-link.js';
@@ -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
+ };