@atproto/syntax 0.4.1 → 0.4.3
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/CHANGELOG.md +18 -0
- package/LICENSE.txt +1 -1
- package/dist/at-identifier.d.ts +6 -0
- package/dist/at-identifier.d.ts.map +1 -0
- package/dist/at-identifier.js +28 -0
- package/dist/at-identifier.js.map +1 -0
- package/dist/aturi.d.ts +8 -6
- package/dist/aturi.d.ts.map +1 -1
- package/dist/aturi.js +41 -83
- package/dist/aturi.js.map +1 -1
- package/dist/aturi_validation.d.ts +6 -2
- package/dist/aturi_validation.d.ts.map +1 -1
- package/dist/aturi_validation.js +66 -60
- package/dist/aturi_validation.js.map +1 -1
- package/dist/datetime.d.ts +11 -4
- package/dist/datetime.d.ts.map +1 -1
- package/dist/datetime.js +22 -25
- package/dist/datetime.js.map +1 -1
- package/dist/did.d.ts +4 -2
- package/dist/did.d.ts.map +1 -1
- package/dist/did.js +24 -19
- package/dist/did.js.map +1 -1
- package/dist/handle.d.ts +7 -6
- package/dist/handle.d.ts.map +1 -1
- package/dist/handle.js +32 -35
- package/dist/handle.js.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -21
- package/dist/index.js.map +1 -1
- package/dist/language.d.ts +18 -0
- package/dist/language.d.ts.map +1 -0
- package/dist/language.js +30 -0
- package/dist/language.js.map +1 -0
- package/dist/nsid.d.ts +6 -5
- package/dist/nsid.d.ts.map +1 -1
- package/dist/nsid.js +6 -11
- package/dist/nsid.js.map +1 -1
- package/dist/recordkey.d.ts +3 -2
- package/dist/recordkey.d.ts.map +1 -1
- package/dist/recordkey.js +33 -22
- package/dist/recordkey.js.map +1 -1
- package/dist/tid.d.ts +3 -2
- package/dist/tid.d.ts.map +1 -1
- package/dist/tid.js +10 -10
- package/dist/tid.js.map +1 -1
- package/dist/uri.d.ts +3 -0
- package/dist/uri.d.ts.map +1 -0
- package/dist/uri.js +7 -0
- package/dist/uri.js.map +1 -0
- package/package.json +7 -4
- package/src/at-identifier.ts +33 -0
- package/src/aturi.ts +59 -46
- package/src/aturi_validation.ts +78 -51
- package/src/datetime.ts +26 -14
- package/src/did.ts +28 -15
- package/src/handle.ts +29 -26
- package/src/index.ts +10 -7
- package/src/language.ts +39 -0
- package/src/nsid.ts +14 -8
- package/src/recordkey.ts +42 -17
- package/src/tid.ts +9 -5
- package/src/uri.ts +5 -0
- package/tests/aturi.test.ts +3 -2
- package/tests/datetime.test.ts +1 -0
- package/tests/did.test.ts +1 -0
- package/tests/handle.test.ts +1 -0
- package/tests/language.test.ts +88 -0
- package/tests/nsid.test.ts +1 -0
- package/tests/recordkey.test.ts +1 -0
- package/tests/tid.test.ts +1 -0
- package/tsconfig.build.json +6 -2
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.json +6 -4
- package/vitest.config.ts +5 -0
- package/jest.config.js +0 -7
- package/tsconfig.tests.tsbuildinfo +0 -1
package/src/uri.ts
ADDED
package/tests/aturi.test.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as fs from 'node:fs'
|
|
2
2
|
import * as readline from 'node:readline'
|
|
3
|
-
import {
|
|
3
|
+
import { describe, expect, it } from 'vitest'
|
|
4
|
+
import { AtUri, ensureValidAtUri, ensureValidAtUriRegex } from '../src'
|
|
4
5
|
|
|
5
|
-
describe(
|
|
6
|
+
describe(AtUri, () => {
|
|
6
7
|
it('parses valid at uris', () => {
|
|
7
8
|
// input host path query hash
|
|
8
9
|
type AtUriTest = [string, string, string, string, string]
|
package/tests/datetime.test.ts
CHANGED
package/tests/did.test.ts
CHANGED
package/tests/handle.test.ts
CHANGED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { isValidLanguage, parseLanguageString } from '../src'
|
|
3
|
+
|
|
4
|
+
describe(isValidLanguage, () => {
|
|
5
|
+
it('validates BCP 47', () => {
|
|
6
|
+
// valid
|
|
7
|
+
expect(isValidLanguage('de')).toEqual(true)
|
|
8
|
+
expect(isValidLanguage('de-CH')).toEqual(true)
|
|
9
|
+
expect(isValidLanguage('de-DE-1901')).toEqual(true)
|
|
10
|
+
expect(isValidLanguage('es-419')).toEqual(true)
|
|
11
|
+
expect(isValidLanguage('sl-IT-nedis')).toEqual(true)
|
|
12
|
+
expect(isValidLanguage('mn-Cyrl-MN')).toEqual(true)
|
|
13
|
+
expect(isValidLanguage('x-fr-CH')).toEqual(true)
|
|
14
|
+
expect(
|
|
15
|
+
isValidLanguage('en-GB-boont-r-extended-sequence-x-private'),
|
|
16
|
+
).toEqual(true)
|
|
17
|
+
expect(isValidLanguage('sr-Cyrl')).toEqual(true)
|
|
18
|
+
expect(isValidLanguage('hy-Latn-IT-arevela')).toEqual(true)
|
|
19
|
+
expect(isValidLanguage('i-klingon')).toEqual(true)
|
|
20
|
+
// invalid
|
|
21
|
+
expect(isValidLanguage('')).toEqual(false)
|
|
22
|
+
expect(isValidLanguage('x')).toEqual(false)
|
|
23
|
+
expect(isValidLanguage('de-CH-')).toEqual(false)
|
|
24
|
+
expect(isValidLanguage('i-bad-grandfathered')).toEqual(false)
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
describe(parseLanguageString, () => {
|
|
29
|
+
it('parses BCP 47', () => {
|
|
30
|
+
// valid
|
|
31
|
+
expect(parseLanguageString('de')).toEqual({
|
|
32
|
+
language: 'de',
|
|
33
|
+
})
|
|
34
|
+
expect(parseLanguageString('de-CH')).toEqual({
|
|
35
|
+
language: 'de',
|
|
36
|
+
region: 'CH',
|
|
37
|
+
})
|
|
38
|
+
expect(parseLanguageString('de-DE-1901')).toEqual({
|
|
39
|
+
language: 'de',
|
|
40
|
+
region: 'DE',
|
|
41
|
+
variant: '1901',
|
|
42
|
+
})
|
|
43
|
+
expect(parseLanguageString('es-419')).toEqual({
|
|
44
|
+
language: 'es',
|
|
45
|
+
region: '419',
|
|
46
|
+
})
|
|
47
|
+
expect(parseLanguageString('sl-IT-nedis')).toEqual({
|
|
48
|
+
language: 'sl',
|
|
49
|
+
region: 'IT',
|
|
50
|
+
variant: 'nedis',
|
|
51
|
+
})
|
|
52
|
+
expect(parseLanguageString('mn-Cyrl-MN')).toEqual({
|
|
53
|
+
language: 'mn',
|
|
54
|
+
script: 'Cyrl',
|
|
55
|
+
region: 'MN',
|
|
56
|
+
})
|
|
57
|
+
expect(parseLanguageString('x-fr-CH')).toEqual({
|
|
58
|
+
privateUse: 'x-fr-CH',
|
|
59
|
+
})
|
|
60
|
+
expect(
|
|
61
|
+
parseLanguageString('en-GB-boont-r-extended-sequence-x-private'),
|
|
62
|
+
).toEqual({
|
|
63
|
+
language: 'en',
|
|
64
|
+
region: 'GB',
|
|
65
|
+
variant: 'boont',
|
|
66
|
+
extension: 'r-extended-sequence',
|
|
67
|
+
privateUse: 'x-private',
|
|
68
|
+
})
|
|
69
|
+
expect(parseLanguageString('sr-Cyrl')).toEqual({
|
|
70
|
+
language: 'sr',
|
|
71
|
+
script: 'Cyrl',
|
|
72
|
+
})
|
|
73
|
+
expect(parseLanguageString('hy-Latn-IT-arevela')).toEqual({
|
|
74
|
+
language: 'hy',
|
|
75
|
+
script: 'Latn',
|
|
76
|
+
region: 'IT',
|
|
77
|
+
variant: 'arevela',
|
|
78
|
+
})
|
|
79
|
+
expect(parseLanguageString('i-klingon')).toEqual({
|
|
80
|
+
grandfathered: 'i-klingon',
|
|
81
|
+
})
|
|
82
|
+
// invalid
|
|
83
|
+
expect(parseLanguageString('')).toEqual(null)
|
|
84
|
+
expect(parseLanguageString('x')).toEqual(null)
|
|
85
|
+
expect(parseLanguageString('de-CH-')).toEqual(null)
|
|
86
|
+
expect(parseLanguageString('i-bad-grandfathered')).toEqual(null)
|
|
87
|
+
})
|
|
88
|
+
})
|
package/tests/nsid.test.ts
CHANGED
package/tests/recordkey.test.ts
CHANGED
package/tests/tid.test.ts
CHANGED
package/tsconfig.build.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "../../tsconfig/isomorphic.json",
|
|
3
|
+
"include": ["./src"],
|
|
4
|
+
"exclude": ["**/*.test.ts"],
|
|
3
5
|
"compilerOptions": {
|
|
6
|
+
"noImplicitAny": true,
|
|
7
|
+
"importHelpers": true,
|
|
8
|
+
"target": "ES2023",
|
|
4
9
|
"rootDir": "./src",
|
|
5
10
|
"outDir": "./dist"
|
|
6
|
-
}
|
|
7
|
-
"include": ["./src"]
|
|
11
|
+
}
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/aturi.ts","./src/aturi_validation.ts","./src/datetime.ts","./src/did.ts","./src/handle.ts","./src/index.ts","./src/nsid.ts","./src/recordkey.ts","./src/tid.ts"],"version":"5.8.2"}
|
|
1
|
+
{"root":["./src/at-identifier.ts","./src/aturi.ts","./src/aturi_validation.ts","./src/datetime.ts","./src/did.ts","./src/handle.ts","./src/index.ts","./src/language.ts","./src/nsid.ts","./src/recordkey.ts","./src/tid.ts","./src/uri.ts"],"version":"5.8.2"}
|
package/tsconfig.tests.json
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"extends": "../../tsconfig/
|
|
2
|
+
"extends": "../../tsconfig/vitest.json",
|
|
3
|
+
"include": ["./tests", "./src/**/*.test.ts"],
|
|
3
4
|
"compilerOptions": {
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
"noImplicitAny": true,
|
|
6
|
+
"rootDir": "./",
|
|
7
|
+
"baseUrl": "./"
|
|
8
|
+
}
|
|
7
9
|
}
|
package/vitest.config.ts
ADDED
package/jest.config.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["./tests/aturi.test.ts","./tests/datetime.test.ts","./tests/did.test.ts","./tests/handle.test.ts","./tests/nsid.test.ts","./tests/recordkey.test.ts","./tests/tid.test.ts"],"version":"5.8.3"}
|