+1
-1
atproto/syntax/nsid.go
+1
-1
atproto/syntax/nsid.go
···
6
6
"strings"
7
7
)
8
8
9
-
var nsidRegex = regexp.MustCompile(`^[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-Z]{0,61}[a-zA-Z])?)$`)
9
+
var nsidRegex = regexp.MustCompile(`^[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})?)$`)
10
10
11
11
// String type which represents a syntaxtually valid Namespace Identifier (NSID), as would pass Lexicon syntax validation.
12
12
//
+1
atproto/syntax/testdata/aturi_syntax_valid.txt
+1
atproto/syntax/testdata/aturi_syntax_valid.txt
+2
-4
atproto/syntax/testdata/nsid_syntax_invalid.txt
+2
-4
atproto/syntax/testdata/nsid_syntax_invalid.txt
···
3
3
com.example.oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
4
4
com.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.middle.foo
5
5
6
-
# invliad examples
6
+
# invalid examples
7
7
com.example.foo.*
8
8
com.example.foo.blah*
9
9
com.example.foo.*blah
10
-
com.example.f00
11
10
com.exa💩ple.thing
12
11
a-0.b-1.c-3
13
12
a-0.b-1.c-o
14
-
a0.b1.c3
15
13
1.0.0.127.record
16
14
0two.example.foo
17
15
example.com
···
29
27
com.atproto.feed.po#t
30
28
com.atproto.feed.p!ot
31
29
com.example-.foo
32
-
30
+
com.example.fooBar.2
+3
atproto/syntax/testdata/nsid_syntax_valid.txt
+3
atproto/syntax/testdata/nsid_syntax_valid.txt
···
5
5
6
6
# valid examples
7
7
com.example.fooBar
8
+
com.example.fooBarV2
8
9
net.users.bob.ping
9
10
a.b.c
10
11
m.xn--masekowski-d0b.pl
···
18
19
a01.thing.record
19
20
a.0.c
20
21
xn--fiqs8s.xn--fiqa61au8b7zsevnm8ak20mc4a87e.record.two
22
+
a0.b1.c3
23
+
com.example.f00
21
24
22
25
# allows onion (Tor) NSIDs
23
26
onion.expyuzz4wqqyqhjn.spec.getThing