@atcute/lexicons 1.2.7 → 1.2.9

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 (48) hide show
  1. package/dist/index.d.ts +16 -16
  2. package/dist/interfaces/blob.d.ts +2 -2
  3. package/dist/interfaces/cid-link.d.ts +1 -1
  4. package/dist/interfaces/index.d.ts +3 -3
  5. package/dist/syntax/at-identifier.d.ts +2 -2
  6. package/dist/syntax/at-uri.d.ts +5 -5
  7. package/dist/syntax/at-uri.d.ts.map +1 -1
  8. package/dist/syntax/at-uri.js +125 -8
  9. package/dist/syntax/at-uri.js.map +1 -1
  10. package/dist/syntax/cid.d.ts.map +1 -1
  11. package/dist/syntax/cid.js +2 -6
  12. package/dist/syntax/cid.js.map +1 -1
  13. package/dist/syntax/handle.d.ts.map +1 -1
  14. package/dist/syntax/handle.js +49 -2
  15. package/dist/syntax/handle.js.map +1 -1
  16. package/dist/syntax/index.d.ts +11 -11
  17. package/dist/syntax/nsid.d.ts.map +1 -1
  18. package/dist/syntax/nsid.js +75 -2
  19. package/dist/syntax/nsid.js.map +1 -1
  20. package/dist/syntax/record-key.d.ts.map +1 -1
  21. package/dist/syntax/record-key.js +26 -2
  22. package/dist/syntax/record-key.js.map +1 -1
  23. package/dist/syntax/utils/ascii.d.ts +3 -0
  24. package/dist/syntax/utils/ascii.d.ts.map +1 -0
  25. package/dist/syntax/utils/ascii.js +9 -0
  26. package/dist/syntax/utils/ascii.js.map +1 -0
  27. package/dist/validations/index.d.ts +3 -3
  28. package/dist/validations/index.d.ts.map +1 -1
  29. package/dist/validations/index.js +16 -11
  30. package/dist/validations/index.js.map +1 -1
  31. package/dist/validations/utils.d.ts.map +1 -1
  32. package/dist/validations/utils.js +1 -0
  33. package/dist/validations/utils.js.map +1 -1
  34. package/lib/index.ts +16 -16
  35. package/lib/interfaces/blob.ts +2 -2
  36. package/lib/interfaces/cid-link.ts +1 -1
  37. package/lib/interfaces/index.ts +3 -3
  38. package/lib/syntax/at-identifier.ts +2 -2
  39. package/lib/syntax/at-uri.ts +155 -13
  40. package/lib/syntax/cid.ts +2 -7
  41. package/lib/syntax/handle.ts +57 -3
  42. package/lib/syntax/index.ts +11 -11
  43. package/lib/syntax/nsid.ts +85 -4
  44. package/lib/syntax/record-key.ts +32 -3
  45. package/lib/syntax/utils/ascii.ts +9 -0
  46. package/lib/validations/index.ts +33 -30
  47. package/lib/validations/utils.ts +1 -0
  48. package/package.json +7 -7
package/dist/index.d.ts CHANGED
@@ -1,17 +1,17 @@
1
- export type { ActorIdentifier } from './syntax/at-identifier.js';
2
- export { isCanonicalResourceUri, isResourceUri, parseCanonicalResourceUri, parseResourceUri, type CanonicalResourceUri, type ParsedCanonicalResourceUri, type ParsedResourceUri, type ResourceUri, } from './syntax/at-uri.js';
3
- export type { Cid } from './syntax/cid.js';
4
- export type { Datetime } from './syntax/datetime.js';
5
- export type { Did } from './syntax/did.js';
6
- export type { Handle } from './syntax/handle.js';
7
- export type { LanguageCode } from './syntax/language.js';
8
- export type { Nsid } from './syntax/nsid.js';
9
- export type { RecordKey } from './syntax/record-key.js';
10
- export type { Tid } from './syntax/tid.js';
11
- export type { GenericUri } from './syntax/uri.js';
12
- export type { Blob, LegacyBlob } from './interfaces/blob.js';
13
- export type { Bytes } from './interfaces/bytes.js';
14
- export type { CidLink } from './interfaces/cid-link.js';
15
- export type { $type } from './types/brand.js';
16
- export { is, parse, safeParse, ValidationError, type InferInput, type InferOutput, type InferXRPCBodyInput, type InferXRPCBodyOutput, type ValidationResult, } from './validations/index.js';
1
+ export type { ActorIdentifier } from './syntax/at-identifier.ts';
2
+ export { isCanonicalResourceUri, isResourceUri, parseCanonicalResourceUri, parseResourceUri, type CanonicalResourceUri, type ParsedCanonicalResourceUri, type ParsedResourceUri, type ResourceUri, } from './syntax/at-uri.ts';
3
+ export type { Cid } from './syntax/cid.ts';
4
+ export type { Datetime } from './syntax/datetime.ts';
5
+ export type { Did } from './syntax/did.ts';
6
+ export type { Handle } from './syntax/handle.ts';
7
+ export type { LanguageCode } from './syntax/language.ts';
8
+ export type { Nsid } from './syntax/nsid.ts';
9
+ export type { RecordKey } from './syntax/record-key.ts';
10
+ export type { Tid } from './syntax/tid.ts';
11
+ export type { GenericUri } from './syntax/uri.ts';
12
+ export type { Blob, LegacyBlob } from './interfaces/blob.ts';
13
+ export type { Bytes } from './interfaces/bytes.ts';
14
+ export type { CidLink } from './interfaces/cid-link.ts';
15
+ export type { $type } from './types/brand.ts';
16
+ export { is, parse, safeParse, ValidationError, type InferInput, type InferOutput, type InferXRPCBodyInput, type InferXRPCBodyOutput, type ValidationResult, } from './validations/index.ts';
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- import type { Cid } from '../syntax/cid.js';
2
- import { type CidLink } from './cid-link.js';
1
+ import type { Cid } from '../syntax/cid.ts';
2
+ import { type CidLink } from './cid-link.ts';
3
3
  /**
4
4
  * represents a reference to a data blob
5
5
  */
@@ -1,4 +1,4 @@
1
- import { type Cid } from '../syntax/cid.js';
1
+ import { type Cid } from '../syntax/cid.ts';
2
2
  /**
3
3
  * represents a content identifier (CID) reference
4
4
  */
@@ -1,4 +1,4 @@
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';
1
+ export { isBlob, isLegacyBlob, type Blob, type LegacyBlob } from './blob.ts';
2
+ export { isBytes, type Bytes } from './bytes.ts';
3
+ export { isCidLink, type CidLink } from './cid-link.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- import { type Did } from './did.js';
2
- import { type Handle } from './handle.js';
1
+ import { type Did } from './did.ts';
2
+ import { type Handle } from './handle.ts';
3
3
  /**
4
4
  * represents an account's identifier, either a {@link Did} or a
5
5
  * {@link Handle}
@@ -1,8 +1,8 @@
1
- import { type Result } from '../utils.js';
2
- import { type ActorIdentifier } from './at-identifier.js';
3
- import { type Did } from './did.js';
4
- import { type Nsid } from './nsid.js';
5
- import { type RecordKey } from './record-key.js';
1
+ import { type Result } from '../utils.ts';
2
+ import { type ActorIdentifier } from './at-identifier.ts';
3
+ import { type Did } from './did.ts';
4
+ import { type Nsid } from './nsid.ts';
5
+ import { type RecordKey } from './record-key.ts';
6
6
  /**
7
7
  * represents a general AT Protocol URI, representing either an entire
8
8
  * repository, a specific collection within a repository, or a record.
@@ -1 +1 @@
1
- {"version":3,"file":"at-uri.d.ts","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,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;AAE9D;;;;;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;AAM9F,eAAO,MAAM,aAAa,0CAazB,CAAC;AAGF,eAAO,MAAM,gBAAgB,sDAqB5B,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,qGAalC,CAAC;AAGF,eAAO,MAAM,yBAAyB,+DAqBrC,CAAC"}
1
+ {"version":3,"file":"at-uri.d.ts","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,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,0CA8EzB,CAAC;AAGF,eAAO,MAAM,gBAAgB,sDA0B5B,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,qGAuClC,CAAC;AAGF,eAAO,MAAM,yBAAyB,+DA0BrC,CAAC"}
@@ -3,21 +3,114 @@ import { isActorIdentifier } from './at-identifier.js';
3
3
  import { isDid } from './did.js';
4
4
  import { isNsid } from './nsid.js';
5
5
  import { isRecordKey } from './record-key.js';
6
+ import { isAsciiAlphaNum } from './utils/ascii.js';
7
+ // minimum valid non-canonical at-uri is `at://a.a` (8 chars)
8
+ const AT_URI_MIN_LENGTH = 8;
9
+ // minimum canonical at-uri is `at://did:m:v/a.b.c/x` (20 chars)
10
+ const CANONICAL_AT_URI_MIN_LENGTH = 5 + 7 + 1 + 5 + 1 + 1;
11
+ // maximum structural length:
12
+ // `at://` + DID (2048) + `/` + NSID (317) + `/` + rkey (512)
13
+ const AT_URI_MAX_LENGTH = 5 + 2048 + 1 + 317 + 1 + 512;
14
+ // repo: [a-zA-Z0-9._:%-]
15
+ // collection: [a-zA-Z0-9.-]
16
+ // rkey: [a-zA-Z0-9._~:@!$&%')(*+,;=-]
17
+ // fragment: /[a-zA-Z0-9._~:@!$&%')(*+,;=\-[\]/\\]*
6
18
  const ATURI_RE = /^at:\/\/([a-zA-Z0-9._:%-]+)(?:\/([a-zA-Z0-9-.]+)(?:\/([a-zA-Z0-9._~:@!$&%')(*+,;=-]+))?)?(?:#(\/[a-zA-Z0-9._~:@!$&%')(*+,;=\-[\]/\\]*))?$/;
19
+ const isFragmentChar = (c) => {
20
+ return (isAsciiAlphaNum(c) ||
21
+ c === 0x2e || // .
22
+ c === 0x5f || // _
23
+ c === 0x7e || // ~
24
+ c === 0x3a || // :
25
+ c === 0x40 || // @
26
+ c === 0x21 || // !
27
+ c === 0x24 || // $
28
+ c === 0x26 || // &
29
+ c === 0x25 || // %
30
+ c === 0x27 || // '
31
+ c === 0x29 || // )
32
+ c === 0x28 || // (
33
+ c === 0x2a || // *
34
+ c === 0x2b || // +
35
+ c === 0x2c || // ,
36
+ c === 0x3b || // ;
37
+ c === 0x3d || // =
38
+ c === 0x2d || // -
39
+ c === 0x5b || // [
40
+ c === 0x5d || // ]
41
+ c === 0x2f || // /
42
+ c === 0x5c // \
43
+ );
44
+ };
7
45
  // #__NO_SIDE_EFFECTS__
8
46
  export const isResourceUri = (input) => {
9
47
  if (typeof input !== 'string') {
10
48
  return false;
11
49
  }
12
- const match = ATURI_RE.exec(input);
13
- if (match === null) {
50
+ const len = input.length;
51
+ if (len < AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
14
52
  return false;
15
53
  }
16
- const [, r, c, k] = match;
17
- return isActorIdentifier(r) && (c === undefined || isNsid(c)) && (k === undefined || isRecordKey(k));
54
+ if (input.charCodeAt(0) !== 0x61 ||
55
+ input.charCodeAt(1) !== 0x74 ||
56
+ input.charCodeAt(2) !== 0x3a ||
57
+ input.charCodeAt(3) !== 0x2f ||
58
+ input.charCodeAt(4) !== 0x2f) {
59
+ return false;
60
+ }
61
+ const hash = input.indexOf('#', 5);
62
+ const stop = hash === -1 ? len : hash;
63
+ if (hash !== -1) {
64
+ const fragmentStart = hash + 1;
65
+ if (fragmentStart >= len || input.charCodeAt(fragmentStart) !== 0x2f) {
66
+ return false;
67
+ }
68
+ for (let idx = fragmentStart; idx < len; idx++) {
69
+ if (!isFragmentChar(input.charCodeAt(idx))) {
70
+ return false;
71
+ }
72
+ }
73
+ }
74
+ const firstSlash = input.indexOf('/', 5);
75
+ let repoEnd = stop;
76
+ let collection;
77
+ let rkey;
78
+ if (firstSlash !== -1 && firstSlash < stop) {
79
+ repoEnd = firstSlash;
80
+ const collectionStart = firstSlash + 1;
81
+ if (collectionStart >= stop) {
82
+ return false;
83
+ }
84
+ const secondSlash = input.indexOf('/', collectionStart);
85
+ if (secondSlash !== -1 && secondSlash < stop) {
86
+ if (secondSlash === collectionStart || secondSlash + 1 >= stop) {
87
+ return false;
88
+ }
89
+ const thirdSlash = input.indexOf('/', secondSlash + 1);
90
+ if (thirdSlash !== -1 && thirdSlash < stop) {
91
+ return false;
92
+ }
93
+ collection = input.substring(collectionStart, secondSlash);
94
+ rkey = input.substring(secondSlash + 1, stop);
95
+ }
96
+ else {
97
+ collection = input.substring(collectionStart, stop);
98
+ }
99
+ }
100
+ if (repoEnd <= 5) {
101
+ return false;
102
+ }
103
+ const repo = input.substring(5, repoEnd);
104
+ return (isActorIdentifier(repo) &&
105
+ (collection === undefined || isNsid(collection)) &&
106
+ (rkey === undefined || isRecordKey(rkey)));
18
107
  };
19
108
  // #__NO_SIDE_EFFECTS__
20
109
  export const parseResourceUri = (input) => {
110
+ const len = input.length;
111
+ if (len < AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
112
+ return { ok: false, error: `invalid at-uri: ${input}` };
113
+ }
21
114
  const match = ATURI_RE.exec(input);
22
115
  if (match === null) {
23
116
  return { ok: false, error: `invalid at-uri: ${input}` };
@@ -39,15 +132,39 @@ export const isCanonicalResourceUri = (input) => {
39
132
  if (typeof input !== 'string') {
40
133
  return false;
41
134
  }
42
- const match = ATURI_RE.exec(input);
43
- if (match === null) {
135
+ const len = input.length;
136
+ if (len < CANONICAL_AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
137
+ return false;
138
+ }
139
+ // must start with "at://"
140
+ if (input.charCodeAt(0) !== 0x61 ||
141
+ input.charCodeAt(1) !== 0x74 ||
142
+ input.charCodeAt(2) !== 0x3a ||
143
+ input.charCodeAt(3) !== 0x2f ||
144
+ input.charCodeAt(4) !== 0x2f) {
145
+ return false;
146
+ }
147
+ const firstSlash = input.indexOf('/', 5);
148
+ if (firstSlash === -1) {
149
+ return false;
150
+ }
151
+ const secondSlash = input.indexOf('/', firstSlash + 1);
152
+ if (secondSlash === -1) {
44
153
  return false;
45
154
  }
46
- const [, r, c, k] = match;
47
- return isDid(r) && isNsid(c) && isRecordKey(k);
155
+ // check for fragment
156
+ const hashPos = input.indexOf('#', secondSlash + 1);
157
+ const repo = input.substring(5, firstSlash);
158
+ const collection = input.substring(firstSlash + 1, secondSlash);
159
+ const rkey = hashPos === -1 ? input.substring(secondSlash + 1) : input.substring(secondSlash + 1, hashPos);
160
+ return isDid(repo) && isNsid(collection) && isRecordKey(rkey);
48
161
  };
49
162
  // #__NO_SIDE_EFFECTS__
50
163
  export const parseCanonicalResourceUri = (input) => {
164
+ const len = input.length;
165
+ if (len < CANONICAL_AT_URI_MIN_LENGTH || len > AT_URI_MAX_LENGTH) {
166
+ return { ok: false, error: `invalid canonical-at-uri: ${input}` };
167
+ }
51
168
  const match = ATURI_RE.exec(input);
52
169
  if (match === null) {
53
170
  return { ok: false, error: `invalid canonical-at-uri: ${input}` };
@@ -1 +1 @@
1
- {"version":3,"file":"at-uri.js","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"at-uri.js","sourceRoot":"","sources":["../../lib/syntax/at-uri.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cid.d.ts","sourceRoot":"","sources":["../../lib/syntax/cid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAKzB,eAAO,MAAM,KAAK,qCAOjB,CAAC"}
1
+ {"version":3,"file":"cid.d.ts","sourceRoot":"","sources":["../../lib/syntax/cid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAKzB,eAAO,MAAM,KAAK,qCAEjB,CAAC"}
@@ -1,10 +1,6 @@
1
- const DASL_CID_RE = /^baf[ky]re(?:aa|i[a-z2-7]{52})$/;
1
+ const DASL_CID_RE = /^baf[ky]rei[a-z2-7]{52}$/;
2
2
  // #__NO_SIDE_EFFECTS__
3
3
  export const isCid = (input) => {
4
- if (typeof input !== 'string') {
5
- return false;
6
- }
7
- const length = input.length;
8
- return (length === 8 || length === 59) && DASL_CID_RE.test(input);
4
+ return typeof input === 'string' && input.length === 59 && DASL_CID_RE.test(input);
9
5
  };
10
6
  //# sourceMappingURL=cid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cid.js","sourceRoot":"","sources":["../../lib/syntax/cid.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAc,EAAgB,EAAE,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CAClE,CAAC"}
1
+ {"version":3,"file":"cid.js","sourceRoot":"","sources":["../../lib/syntax/cid.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,uBAAuB;AACvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAc,EAAgB,EAAE,CAAC;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CACnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../lib/syntax/handle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAM3C,eAAO,MAAM,QAAQ,oDAEpB,CAAC"}
1
+ {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../lib/syntax/handle.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AA4B3C,eAAO,MAAM,QAAQ,oDAgCpB,CAAC"}
@@ -1,6 +1,53 @@
1
- const HANDLE_RE = /^([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-Z0-9])?$/;
1
+ import { isAsciiAlpha, isAsciiAlphaNum } from './utils/ascii.js';
2
+ // validates a domain label: starts/ends with alphanumeric, middle allows hyphens, max 63 chars
3
+ const isValidLabel = (input, start, end) => {
4
+ const len = end - start;
5
+ if (len === 0 || len > 63) {
6
+ return false;
7
+ }
8
+ const first = input.charCodeAt(start);
9
+ if (!isAsciiAlphaNum(first)) {
10
+ return false;
11
+ }
12
+ if (len > 1) {
13
+ if (!isAsciiAlphaNum(input.charCodeAt(end - 1)))
14
+ return false;
15
+ for (let j = start + 1; j < end - 1; j++) {
16
+ const c = input.charCodeAt(j);
17
+ if (!isAsciiAlphaNum(c) && c !== 0x2d) {
18
+ return false;
19
+ }
20
+ }
21
+ }
22
+ return true;
23
+ };
2
24
  // #__NO_SIDE_EFFECTS__
3
25
  export const isHandle = (input) => {
4
- return typeof input === 'string' && input.length >= 3 && input.length <= 253 && HANDLE_RE.test(input);
26
+ if (typeof input !== 'string') {
27
+ return false;
28
+ }
29
+ const len = input.length;
30
+ if (len < 3 || len > 253) {
31
+ return false;
32
+ }
33
+ let labelStart = 0;
34
+ let labelCount = 0;
35
+ let lastLabelStart = 0;
36
+ for (let i = 0; i <= len; i++) {
37
+ if (i === len || input.charCodeAt(i) === 0x2e) {
38
+ if (!isValidLabel(input, labelStart, i)) {
39
+ return false;
40
+ }
41
+ lastLabelStart = labelStart;
42
+ labelStart = i + 1;
43
+ labelCount++;
44
+ }
45
+ }
46
+ // need at least 2 labels (one dot)
47
+ if (labelCount < 2) {
48
+ return false;
49
+ }
50
+ // TLD must start with a letter
51
+ return isAsciiAlpha(input.charCodeAt(lastLabelStart));
5
52
  };
6
53
  //# sourceMappingURL=handle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../lib/syntax/handle.ts"],"names":[],"mappings":"AAMA,MAAM,SAAS,GACd,4FAA4F,CAAC;AAE9F,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC;IAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CACtG,CAAC"}
1
+ {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../lib/syntax/handle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAQjE,+FAA+F;AAC/F,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,GAAW,EAAW,EAAE,CAAC;IAC5E,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;IACxB,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACb,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AAAA,CACZ,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC;YACd,CAAC;YACD,cAAc,GAAG,UAAU,CAAC;YAC5B,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,UAAU,EAAE,CAAC;QACd,CAAC;IACF,CAAC;IAED,mCAAmC;IACnC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,+BAA+B;IAC/B,OAAO,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AAAA,CACtD,CAAC"}
@@ -1,12 +1,12 @@
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';
1
+ export * from './at-identifier.ts';
2
+ export * from './at-uri.ts';
3
+ export * from './cid.ts';
4
+ export * from './datetime.ts';
5
+ export * from './did.ts';
6
+ export * from './handle.ts';
7
+ export * from './language.ts';
8
+ export * from './nsid.ts';
9
+ export * from './record-key.ts';
10
+ export * from './tid.ts';
11
+ export * from './uri.ts';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nsid.d.ts","sourceRoot":"","sources":["../../lib/syntax/nsid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAMnD,eAAO,MAAM,MAAM,8DAElB,CAAC"}
1
+ {"version":3,"file":"nsid.d.ts","sourceRoot":"","sources":["../../lib/syntax/nsid.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAGnD,eAAO,MAAM,MAAM,8DAoFlB,CAAC"}
@@ -1,6 +1,79 @@
1
- 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}?$/;
1
+ import { isAsciiAlpha, isAsciiAlphaNum } from './utils/ascii.js';
2
2
  // #__NO_SIDE_EFFECTS__
3
3
  export const isNsid = (input) => {
4
- return typeof input === 'string' && input.length >= 5 && input.length <= 317 && NSID_RE.test(input);
4
+ if (typeof input !== 'string') {
5
+ return false;
6
+ }
7
+ const len = input.length;
8
+ if (len < 5 || len > 317) {
9
+ return false;
10
+ }
11
+ // find the last dot to separate domain labels from the name segment
12
+ let lastDot = -1;
13
+ for (let j = len - 1; j >= 0; j--) {
14
+ if (input.charCodeAt(j) === 0x2e) {
15
+ lastDot = j;
16
+ break;
17
+ }
18
+ }
19
+ if (lastDot === -1) {
20
+ return false;
21
+ }
22
+ // validate domain segments (before lastDot)
23
+ let segStart = 0;
24
+ let segIdx = 0;
25
+ for (let i = 0; i <= lastDot; i++) {
26
+ if (i === lastDot || input.charCodeAt(i) === 0x2e) {
27
+ const segLen = i - segStart;
28
+ if (segLen === 0 || segLen > 63) {
29
+ return false;
30
+ }
31
+ const first = input.charCodeAt(segStart);
32
+ if (segIdx === 0) {
33
+ // first domain label must start with a letter
34
+ if (!isAsciiAlpha(first)) {
35
+ return false;
36
+ }
37
+ }
38
+ else {
39
+ // subsequent domain labels start with alphanumeric
40
+ if (!isAsciiAlphaNum(first)) {
41
+ return false;
42
+ }
43
+ }
44
+ if (segLen > 1) {
45
+ if (!isAsciiAlphaNum(input.charCodeAt(i - 1))) {
46
+ return false;
47
+ }
48
+ for (let j = segStart + 1; j < i - 1; j++) {
49
+ const c = input.charCodeAt(j);
50
+ if (!isAsciiAlphaNum(c) && c !== 0x2d) {
51
+ return false;
52
+ }
53
+ }
54
+ }
55
+ segStart = i + 1;
56
+ segIdx++;
57
+ }
58
+ }
59
+ // need at least 2 domain segments
60
+ if (segIdx < 2) {
61
+ return false;
62
+ }
63
+ // name segment (after lastDot): starts with letter, rest alphanumeric, max 63
64
+ const nameStart = lastDot + 1;
65
+ const nameLen = len - nameStart;
66
+ if (nameLen === 0 || nameLen > 63) {
67
+ return false;
68
+ }
69
+ if (!isAsciiAlpha(input.charCodeAt(nameStart))) {
70
+ return false;
71
+ }
72
+ for (let j = nameStart + 1; j < len; j++) {
73
+ if (!isAsciiAlphaNum(input.charCodeAt(j))) {
74
+ return false;
75
+ }
76
+ }
77
+ return true;
5
78
  };
6
79
  //# sourceMappingURL=nsid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nsid.js","sourceRoot":"","sources":["../../lib/syntax/nsid.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,GACZ,8HAA8H,CAAC;AAEhI,uBAAuB;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAAC;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CACpG,CAAC"}
1
+ {"version":3,"file":"nsid.js","sourceRoot":"","sources":["../../lib/syntax/nsid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"record-key.d.ts","sourceRoot":"","sources":["../../lib/syntax/record-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAK/B,eAAO,MAAM,WAAW,qCAEvB,CAAC"}
1
+ {"version":3,"file":"record-key.d.ts","sourceRoot":"","sources":["../../lib/syntax/record-key.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAG/B,eAAO,MAAM,WAAW,qCA+BvB,CAAC"}
@@ -1,6 +1,30 @@
1
- const RECORD_KEY_RE = /^(?!\.{1,2}$)[a-zA-Z0-9_~.:-]{1,512}$/;
1
+ import { isAsciiAlphaNum } from './utils/ascii.js';
2
2
  // #__NO_SIDE_EFFECTS__
3
3
  export const isRecordKey = (input) => {
4
- return typeof input === 'string' && input.length >= 1 && input.length <= 512 && RECORD_KEY_RE.test(input);
4
+ if (typeof input !== 'string') {
5
+ return false;
6
+ }
7
+ const len = input.length;
8
+ if (len < 1 || len > 512) {
9
+ return false;
10
+ }
11
+ // reject "." and ".."
12
+ if (len <= 2 && input.charCodeAt(0) === 0x2e && (len === 1 || input.charCodeAt(1) === 0x2e)) {
13
+ return false;
14
+ }
15
+ for (let i = 0; i < len; i++) {
16
+ const c = input.charCodeAt(i);
17
+ // [a-zA-Z0-9_~.:-]
18
+ if (!isAsciiAlphaNum(c) &&
19
+ c !== 0x5f && // _
20
+ c !== 0x7e && // ~
21
+ c !== 0x2e && // .
22
+ c !== 0x3a && // :
23
+ c !== 0x2d // -
24
+ ) {
25
+ return false;
26
+ }
27
+ }
28
+ return true;
5
29
  };
6
30
  //# sourceMappingURL=record-key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-key.js","sourceRoot":"","sources":["../../lib/syntax/record-key.ts"],"names":[],"mappings":"AAKA,MAAM,aAAa,GAAG,uCAAuC,CAAC;AAE9D,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC;IAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAAA,CAC1G,CAAC"}
1
+ {"version":3,"file":"record-key.js","sourceRoot":"","sources":["../../lib/syntax/record-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOnD,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,sBAAsB;IACtB,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7F,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,mBAAmB;QACnB,IACC,CAAC,eAAe,CAAC,CAAC,CAAC;YACnB,CAAC,KAAK,IAAI,IAAI,IAAI;YAClB,CAAC,KAAK,IAAI,IAAI,IAAI;YAClB,CAAC,KAAK,IAAI,IAAI,IAAI;YAClB,CAAC,KAAK,IAAI,IAAI,IAAI;YAClB,CAAC,KAAK,IAAI,CAAC,IAAI;UACd,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AAAA,CACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const isAsciiAlpha: (c: number) => boolean;
2
+ export declare const isAsciiAlphaNum: (c: number) => boolean;
3
+ //# sourceMappingURL=ascii.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascii.d.ts","sourceRoot":"","sources":["../../../lib/syntax/utils/ascii.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,wBAExB,CAAC;AAGF,eAAO,MAAM,eAAe,wBAE3B,CAAC"}
@@ -0,0 +1,9 @@
1
+ // #__NO_SIDE_EFFECTS__
2
+ export const isAsciiAlpha = (c) => {
3
+ return (c >= 0x41 && c <= 0x5a) || (c >= 0x61 && c <= 0x7a);
4
+ };
5
+ // #__NO_SIDE_EFFECTS__
6
+ export const isAsciiAlphaNum = (c) => {
7
+ return isAsciiAlpha(c) || (c >= 0x30 && c <= 0x39);
8
+ };
9
+ //# sourceMappingURL=ascii.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascii.js","sourceRoot":"","sources":["../../../lib/syntax/utils/ascii.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC;IACnD,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AAAA,CAC5D,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC;IACtD,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AAAA,CACnD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { StandardSchemaV1 } from '@standard-schema/spec';
2
- import * as interfaces from '../interfaces/index.js';
3
- import * as syntax from '../syntax/index.js';
4
- import type { $type } from '../types/brand.js';
2
+ import * as interfaces from '../interfaces/index.ts';
3
+ import * as syntax from '../syntax/index.ts';
4
+ import type { $type } from '../types/brand.ts';
5
5
  /**
6
6
  * flag indicating whether xrpc schema generation helpers are used. set to true
7
7
  * when query() or procedure() is called. this enables conditional tree-shaking