@atproto/lex-schema 0.0.4 → 0.0.5
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 +37 -0
- package/dist/core/$type.d.ts +7 -0
- package/dist/core/$type.d.ts.map +1 -1
- package/dist/core/$type.js.map +1 -1
- package/dist/core/result.d.ts +7 -6
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/result.js +9 -8
- package/dist/core/result.js.map +1 -1
- package/dist/core/string-format.d.ts +37 -26
- package/dist/core/string-format.d.ts.map +1 -1
- package/dist/core/string-format.js +66 -59
- package/dist/core/string-format.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/external.d.ts +7 -6
- package/dist/external.d.ts.map +1 -1
- package/dist/external.js +1 -0
- package/dist/external.js.map +1 -1
- package/dist/helpers.d.ts +36 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +3 -0
- package/dist/helpers.js.map +1 -0
- package/dist/schema/blob.d.ts +1 -0
- package/dist/schema/blob.d.ts.map +1 -1
- package/dist/schema/blob.js +32 -18
- package/dist/schema/blob.js.map +1 -1
- package/dist/schema/custom.js +1 -1
- package/dist/schema/custom.js.map +1 -1
- package/dist/schema/integer.js +1 -1
- package/dist/schema/integer.js.map +1 -1
- package/dist/schema/params.d.ts +0 -1
- package/dist/schema/params.d.ts.map +1 -1
- package/dist/schema/params.js.map +1 -1
- package/dist/schema/payload.d.ts +17 -15
- package/dist/schema/payload.d.ts.map +1 -1
- package/dist/schema/payload.js +28 -0
- package/dist/schema/payload.js.map +1 -1
- package/dist/schema/procedure.d.ts +3 -6
- package/dist/schema/procedure.d.ts.map +1 -1
- package/dist/schema/procedure.js +1 -0
- package/dist/schema/procedure.js.map +1 -1
- package/dist/schema/query.d.ts +3 -5
- package/dist/schema/query.d.ts.map +1 -1
- package/dist/schema/query.js +1 -0
- package/dist/schema/query.js.map +1 -1
- package/dist/schema/record.d.ts +13 -12
- package/dist/schema/record.d.ts.map +1 -1
- package/dist/schema/record.js.map +1 -1
- package/dist/schema/refine.js +1 -1
- package/dist/schema/refine.js.map +1 -1
- package/dist/schema/subscription.d.ts +4 -7
- package/dist/schema/subscription.d.ts.map +1 -1
- package/dist/schema/subscription.js.map +1 -1
- package/dist/schema/typed-object.d.ts +7 -6
- package/dist/schema/typed-object.d.ts.map +1 -1
- package/dist/schema/typed-object.js.map +1 -1
- package/dist/schema/union.d.ts.map +1 -1
- package/dist/schema/union.js +1 -4
- package/dist/schema/union.js.map +1 -1
- package/dist/util/assertion-util.d.ts +8 -0
- package/dist/util/assertion-util.d.ts.map +1 -0
- package/dist/util/assertion-util.js +31 -0
- package/dist/util/assertion-util.js.map +1 -0
- package/dist/validation/schema.d.ts +21 -2
- package/dist/validation/schema.d.ts.map +1 -1
- package/dist/validation/schema.js +25 -2
- package/dist/validation/schema.js.map +1 -1
- package/dist/validation/validation-error.d.ts.map +1 -1
- package/dist/validation/validation-error.js +3 -3
- package/dist/validation/validation-error.js.map +1 -1
- package/dist/validation/validation-issue.js +10 -2
- package/dist/validation/validation-issue.js.map +1 -1
- package/dist/validation/validator.d.ts +4 -3
- package/dist/validation/validator.d.ts.map +1 -1
- package/dist/validation/validator.js +13 -10
- package/dist/validation/validator.js.map +1 -1
- package/package.json +2 -2
- package/src/core/$type.ts +4 -0
- package/src/core/result.ts +9 -8
- package/src/core/string-format.ts +88 -68
- package/src/core/types.ts +4 -0
- package/src/external.ts +9 -8
- package/src/helpers.test.ts +486 -0
- package/src/helpers.ts +61 -0
- package/src/schema/blob.test.ts +2 -4
- package/src/schema/blob.ts +31 -23
- package/src/schema/custom.test.ts +5 -5
- package/src/schema/custom.ts +1 -1
- package/src/schema/integer.ts +1 -1
- package/src/schema/params.ts +0 -7
- package/src/schema/payload.ts +67 -34
- package/src/schema/permission-set.test.ts +36 -36
- package/src/schema/procedure.test.ts +1 -62
- package/src/schema/procedure.ts +8 -20
- package/src/schema/query.test.ts +22 -69
- package/src/schema/query.ts +7 -14
- package/src/schema/record.ts +8 -4
- package/src/schema/refine.ts +1 -1
- package/src/schema/subscription.test.ts +30 -93
- package/src/schema/subscription.ts +11 -24
- package/src/schema/typed-object.ts +7 -3
- package/src/schema/union.ts +1 -4
- package/src/util/assertion-util.ts +40 -0
- package/src/validation/schema.ts +29 -4
- package/src/validation/validation-error.ts +4 -4
- package/src/validation/validation-issue.ts +12 -2
- package/src/validation/validator.ts +16 -12
- package/tsconfig.tests.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# @atproto/lex-schema
|
|
2
2
|
|
|
3
|
+
## 0.0.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add `cast()` method to Schema classes. This acts as a type cast that does not alter the value or throws if the value does not match the schema.
|
|
8
|
+
|
|
9
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Forbid use of unsafe integers
|
|
10
|
+
|
|
11
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Replace `InferParamsSchema` with `InferMethodParams`
|
|
12
|
+
|
|
13
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add `matchesEncoding` method on the `PayloadSchema` class.
|
|
14
|
+
|
|
15
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Replace `InferProcedureParameters` with `InferMethodParams`
|
|
16
|
+
|
|
17
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Export format checking utilities for string (`isDidString`, `isCidString`, etc.)
|
|
18
|
+
|
|
19
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Expose `$Typed` and `Un$Typed` utilities
|
|
20
|
+
|
|
21
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Rename `ResultFailure`'s error field to `reason`
|
|
22
|
+
|
|
23
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Type the `encoding` field of `Payload` more accurately. Methods with an encoding of `*/*` are now correctly represented as `${string}/${string}` instead of the `*/*` literal type.
|
|
24
|
+
|
|
25
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add `matchesMime` utility method on `BlobSchema` class
|
|
26
|
+
|
|
27
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Enforce size and accept options when validating blobs
|
|
28
|
+
|
|
29
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Replace `InferProcedureInputBody` with `InferMethodInputBody`
|
|
30
|
+
|
|
31
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add `check()` method to all Schema classes. That method is an alias for the `assert()` method that allows to avoid `ts(2775)` errors.
|
|
32
|
+
|
|
33
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Rename format assertion and checking utilities to all contain the `String` prefix (like in `asAtUriString`, `assertAtUriString`, etc.)
|
|
34
|
+
|
|
35
|
+
- [#4457](https://github.com/bluesky-social/atproto/pull/4457) [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Replace `InferProcedureOutputBody` with `InferMethodOutputBody`
|
|
36
|
+
|
|
37
|
+
- Updated dependencies [[`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece), [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece), [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece), [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece), [`e6b6107`](https://github.com/bluesky-social/atproto/commit/e6b6107e028fee964972274b71f5da1329a7bece)]:
|
|
38
|
+
- @atproto/lex-data@0.0.4
|
|
39
|
+
|
|
3
40
|
## 0.0.4
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
package/dist/core/$type.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { NsidString } from './string-format.js';
|
|
2
|
+
import { OmitKey } from './types.js';
|
|
2
3
|
export type $Type<N extends NsidString = NsidString, H extends string = string> = N extends NsidString ? string extends H ? N | `${N}#${string}` : H extends 'main' ? N : `${N}#${H}` : never;
|
|
3
4
|
export type $TypeOf<O extends {
|
|
4
5
|
$type?: string;
|
|
5
6
|
}> = NonNullable<O['$type']>;
|
|
6
7
|
export declare function $type<N extends NsidString, H extends string>(nsid: N, hash: H): $Type<N, H>;
|
|
8
|
+
export type $Typed<V, T extends string = string> = V & {
|
|
9
|
+
$type: T;
|
|
10
|
+
};
|
|
11
|
+
export type Un$Typed<V extends {
|
|
12
|
+
$type?: string;
|
|
13
|
+
}> = OmitKey<V, '$type'>;
|
|
7
14
|
//# sourceMappingURL=$type.d.ts.map
|
package/dist/core/$type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$type.d.ts","sourceRoot":"","sources":["../../src/core/$type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"$type.d.ts","sourceRoot":"","sources":["../../src/core/$type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,MAAM,KAAK,CACf,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,MAAM,GAAG,MAAM,IACvB,CAAC,SAAS,UAAU,GACpB,MAAM,SAAS,CAAC,GACd,CAAC,GAAG,GAAG,CAAC,IAAI,MAAM,EAAE,GACpB,CAAC,SAAS,MAAM,GACd,CAAC,GACD,GAAG,CAAC,IAAI,CAAC,EAAE,GACf,KAAK,CAAA;AAET,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAG3E,wBAAgB,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,EAC1D,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,GACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAEb;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AACnE,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA"}
|
package/dist/core/$type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"$type.js","sourceRoot":"","sources":["../../src/core/$type.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"$type.js","sourceRoot":"","sources":["../../src/core/$type.ts"],"names":[],"mappings":";;AAiBA,sBAKC;AAND,wBAAwB;AACxB,SAAgB,KAAK,CACnB,IAAO,EACP,IAAO;IAEP,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAgB,CAAA;AACpE,CAAC","sourcesContent":["import { NsidString } from './string-format.js'\nimport { OmitKey } from './types.js'\n\nexport type $Type<\n N extends NsidString = NsidString,\n H extends string = string,\n> = N extends NsidString\n ? string extends H\n ? N | `${N}#${string}`\n : H extends 'main'\n ? N\n : `${N}#${H}`\n : never\n\nexport type $TypeOf<O extends { $type?: string }> = NonNullable<O['$type']>\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function $type<N extends NsidString, H extends string>(\n nsid: N,\n hash: H,\n): $Type<N, H> {\n return (hash === 'main' ? nsid : `${nsid}#${hash}`) as $Type<N, H>\n}\n\nexport type $Typed<V, T extends string = string> = V & { $type: T }\nexport type Un$Typed<V extends { $type?: string }> = OmitKey<V, '$type'>\n"]}
|
package/dist/core/result.d.ts
CHANGED
|
@@ -4,12 +4,12 @@ export type ResultSuccess<V = any> = {
|
|
|
4
4
|
};
|
|
5
5
|
export type ResultFailure<E = Error> = {
|
|
6
6
|
success: false;
|
|
7
|
-
|
|
7
|
+
reason: E;
|
|
8
8
|
};
|
|
9
9
|
export type Result<V = any, E = Error> = ResultSuccess<V> | ResultFailure<E>;
|
|
10
10
|
export declare function success<V>(value: V): ResultSuccess<V>;
|
|
11
|
-
export declare function failure<E>(
|
|
12
|
-
export declare function
|
|
11
|
+
export declare function failure<E>(reason: E): ResultFailure<E>;
|
|
12
|
+
export declare function failureReason<T>(result: ResultFailure<T>): T;
|
|
13
13
|
export declare function successValue<T>(result: ResultSuccess<T>): T;
|
|
14
14
|
/**
|
|
15
15
|
* Catches any error and wraps it in a {@link ResultFailure<Error>}.
|
|
@@ -19,9 +19,9 @@ export declare function successValue<T>(result: ResultSuccess<T>): T;
|
|
|
19
19
|
* @example
|
|
20
20
|
*
|
|
21
21
|
* ```ts
|
|
22
|
-
* declare function someFunction(): Promise<
|
|
22
|
+
* declare function someFunction(): Promise<string>
|
|
23
23
|
*
|
|
24
|
-
* const result = await someFunction().
|
|
24
|
+
* const result = await someFunction().then(success, catchall)
|
|
25
25
|
* if (result.success) {
|
|
26
26
|
* console.log(result.value) // string
|
|
27
27
|
* } else {
|
|
@@ -41,9 +41,10 @@ export declare function catchall(err: unknown): ResultFailure<Error>;
|
|
|
41
41
|
* class FooError extends Error {}
|
|
42
42
|
* class BarError extends Error {}
|
|
43
43
|
*
|
|
44
|
-
* declare function someFunction(): Promise<
|
|
44
|
+
* declare function someFunction(): Promise<string>
|
|
45
45
|
*
|
|
46
46
|
* const result = await someFunction()
|
|
47
|
+
* .then(success)
|
|
47
48
|
* .catch(createCatcher(FooError))
|
|
48
49
|
* .catch(createCatcher(BarError))
|
|
49
50
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AAChE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,KAAK,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAA;AAChE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,KAAK,IAAI;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAA;AAEpE,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAG5E,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAErD;AAGD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAEtD;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAE5D;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAE3D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAG3D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IACtD,KAAK,OAAO,KAAG,aAAa,CAAC,CAAC,CAAC,CAIxC"}
|
package/dist/core/result.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.success = success;
|
|
4
4
|
exports.failure = failure;
|
|
5
|
-
exports.
|
|
5
|
+
exports.failureReason = failureReason;
|
|
6
6
|
exports.successValue = successValue;
|
|
7
7
|
exports.catchall = catchall;
|
|
8
8
|
exports.createCatcher = createCatcher;
|
|
@@ -11,12 +11,12 @@ function success(value) {
|
|
|
11
11
|
return { success: true, value };
|
|
12
12
|
}
|
|
13
13
|
/*@__NO_SIDE_EFFECTS__*/
|
|
14
|
-
function failure(
|
|
15
|
-
return { success: false,
|
|
14
|
+
function failure(reason) {
|
|
15
|
+
return { success: false, reason };
|
|
16
16
|
}
|
|
17
17
|
/*@__NO_SIDE_EFFECTS__*/
|
|
18
|
-
function
|
|
19
|
-
return result.
|
|
18
|
+
function failureReason(result) {
|
|
19
|
+
return result.reason;
|
|
20
20
|
}
|
|
21
21
|
/*@__NO_SIDE_EFFECTS__*/
|
|
22
22
|
function successValue(result) {
|
|
@@ -30,9 +30,9 @@ function successValue(result) {
|
|
|
30
30
|
* @example
|
|
31
31
|
*
|
|
32
32
|
* ```ts
|
|
33
|
-
* declare function someFunction(): Promise<
|
|
33
|
+
* declare function someFunction(): Promise<string>
|
|
34
34
|
*
|
|
35
|
-
* const result = await someFunction().
|
|
35
|
+
* const result = await someFunction().then(success, catchall)
|
|
36
36
|
* if (result.success) {
|
|
37
37
|
* console.log(result.value) // string
|
|
38
38
|
* } else {
|
|
@@ -57,9 +57,10 @@ function catchall(err) {
|
|
|
57
57
|
* class FooError extends Error {}
|
|
58
58
|
* class BarError extends Error {}
|
|
59
59
|
*
|
|
60
|
-
* declare function someFunction(): Promise<
|
|
60
|
+
* declare function someFunction(): Promise<string>
|
|
61
61
|
*
|
|
62
62
|
* const result = await someFunction()
|
|
63
|
+
* .then(success)
|
|
63
64
|
* .catch(createCatcher(FooError))
|
|
64
65
|
* .catch(createCatcher(BarError))
|
|
65
66
|
*
|
package/dist/core/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":";;AAMA,0BAEC;AAGD,0BAEC;AAGD,
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/core/result.ts"],"names":[],"mappings":";;AAMA,0BAEC;AAGD,0BAEC;AAGD,sCAEC;AAGD,oCAEC;AAsBD,4BAGC;AA0BD,sCAKC;AA1ED,wBAAwB;AACxB,SAAgB,OAAO,CAAI,KAAQ;IACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC;AAED,wBAAwB;AACxB,SAAgB,OAAO,CAAI,MAAS;IAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACnC,CAAC;AAED,wBAAwB;AACxB,SAAgB,aAAa,CAAI,MAAwB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC;AAED,wBAAwB;AACxB,SAAgB,YAAY,CAAI,MAAwB;IACtD,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAwB;AACxB,SAAgB,QAAQ,CAAC,GAAY;IACnC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAwB;AACxB,SAAgB,aAAa,CAAI,IAA+B;IAC9D,OAAO,CAAC,GAAY,EAAoB,EAAE;QACxC,IAAI,GAAG,YAAY,IAAI;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5C,MAAM,GAAG,CAAA;IACX,CAAC,CAAA;AACH,CAAC","sourcesContent":["export type ResultSuccess<V = any> = { success: true; value: V }\nexport type ResultFailure<E = Error> = { success: false; reason: E }\n\nexport type Result<V = any, E = Error> = ResultSuccess<V> | ResultFailure<E>\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function success<V>(value: V): ResultSuccess<V> {\n return { success: true, value }\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function failure<E>(reason: E): ResultFailure<E> {\n return { success: false, reason }\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function failureReason<T>(result: ResultFailure<T>): T {\n return result.reason\n}\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function successValue<T>(result: ResultSuccess<T>): T {\n return result.value\n}\n\n/**\n * Catches any error and wraps it in a {@link ResultFailure<Error>}.\n *\n * @param err - The error to catch.\n * @returns A {@link ResultFailure<Error>} containing the caught error.\n * @example\n *\n * ```ts\n * declare function someFunction(): Promise<string>\n *\n * const result = await someFunction().then(success, catchall)\n * if (result.success) {\n * console.log(result.value) // string\n * } else {\n * console.error(result.error instanceof Error) // true\n * console.error(result.error.message) // string\n * }\n * ```\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function catchall(err: unknown): ResultFailure<Error> {\n if (err instanceof Error) return failure(err)\n return failure(new Error('Unknown error', { cause: err }))\n}\n\n/**\n * Creates a catcher function for the given constructor that wraps caught errors\n * in a {@link ResultFailure}.\n *\n * @example\n *\n * ```ts\n * class FooError extends Error {}\n * class BarError extends Error {}\n *\n * declare function someFunction(): Promise<string>\n *\n * const result = await someFunction()\n * .then(success)\n * .catch(createCatcher(FooError))\n * .catch(createCatcher(BarError))\n *\n * if (result.success) {\n * console.log(result.value) // string\n * } else {\n * console.error(result.error) // FooError | BarError\n * }\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function createCatcher<T>(Ctor: new (...args: any[]) => T) {\n return (err: unknown): ResultFailure<T> => {\n if (err instanceof Ctor) return failure(err)\n throw err\n }\n}\n"]}
|
|
@@ -1,32 +1,43 @@
|
|
|
1
|
+
import { isLanguageString } from '@atproto/lex-data';
|
|
1
2
|
import { AtIdentifierString, AtUriString, DatetimeString, DidString, HandleString, NsidString, RecordKeyString, TidString } from '@atproto/syntax';
|
|
2
|
-
|
|
3
|
-
type CastFn<T> = <I extends string>(input: I) => I & T;
|
|
4
|
-
export type { AtIdentifierString, AtUriString, DatetimeString, DidString, HandleString, NsidString, RecordKeyString, TidString, };
|
|
5
|
-
export declare const assertDid: AssertFn<DidString>;
|
|
6
|
-
export declare const assertAtUri: AssertFn<AtUriString>;
|
|
7
|
-
export declare const assertAtIdentifier: AssertFn<AtIdentifierString>;
|
|
8
|
-
export declare const assertNsid: AssertFn<NsidString>;
|
|
9
|
-
export declare const assertTid: AssertFn<TidString>;
|
|
10
|
-
export declare const assertRecordKey: AssertFn<RecordKeyString>;
|
|
11
|
-
export declare const assertDatetime: AssertFn<DatetimeString>;
|
|
12
|
-
export declare const assertCidString: AssertFn<string>;
|
|
13
|
-
export declare const assertHandle: AssertFn<HandleString>;
|
|
3
|
+
import { AssertFn, CastFn, CheckFn } from '../util/assertion-util.js';
|
|
14
4
|
export type CidString = string;
|
|
15
|
-
export type UriString = `${string}:${string}`;
|
|
16
5
|
export type LanguageString = string;
|
|
17
|
-
export
|
|
18
|
-
export declare function
|
|
19
|
-
export
|
|
20
|
-
export declare const
|
|
21
|
-
export declare const
|
|
22
|
-
export declare const
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
25
|
-
export declare const
|
|
26
|
-
export declare const
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
29
|
-
export declare const
|
|
6
|
+
export type UriString = `${string}:${string}`;
|
|
7
|
+
export declare function isUriString<T extends string>(input: T): input is T & UriString;
|
|
8
|
+
export type { AtIdentifierString, AtUriString, DatetimeString, DidString, HandleString, NsidString, RecordKeyString, TidString, } from '@atproto/syntax';
|
|
9
|
+
export declare const assertAtIdentifierString: AssertFn<AtIdentifierString>;
|
|
10
|
+
export declare const assertAtUriString: AssertFn<AtUriString>;
|
|
11
|
+
export declare const assertCidString: AssertFn<CidString>;
|
|
12
|
+
export declare const assertDatetimeString: AssertFn<DatetimeString>;
|
|
13
|
+
export declare const assertDidString: AssertFn<DidString>;
|
|
14
|
+
export declare const assertHandleString: AssertFn<HandleString>;
|
|
15
|
+
export declare const assertLanguageString: AssertFn<LanguageString>;
|
|
16
|
+
export declare const assertNsidString: AssertFn<NsidString>;
|
|
17
|
+
export declare const assertRecordKeyString: AssertFn<RecordKeyString>;
|
|
18
|
+
export declare const assertTidString: AssertFn<TidString>;
|
|
19
|
+
export declare const assertUriString: AssertFn<UriString>;
|
|
20
|
+
export declare const asAtIdentifierString: CastFn<AtIdentifierString>;
|
|
21
|
+
export declare const asAtUriString: CastFn<AtUriString>;
|
|
22
|
+
export declare const asCidString: CastFn<CidString>;
|
|
23
|
+
export declare const asDatetimeString: CastFn<DatetimeString>;
|
|
24
|
+
export declare const asDidString: CastFn<DidString>;
|
|
25
|
+
export declare const asHandleString: CastFn<HandleString>;
|
|
26
|
+
export declare const asLanguageString: CastFn<LanguageString>;
|
|
27
|
+
export declare const asNsidString: CastFn<NsidString>;
|
|
28
|
+
export declare const asRecordKeyString: CastFn<RecordKeyString>;
|
|
29
|
+
export declare const asTidString: CastFn<TidString>;
|
|
30
|
+
export declare const asUriString: CastFn<UriString>;
|
|
31
|
+
export { isLanguageString };
|
|
32
|
+
export declare const isAtIdentifierString: CheckFn<AtIdentifierString>;
|
|
33
|
+
export declare const isAtUriString: CheckFn<AtUriString>;
|
|
34
|
+
export declare const isCidString: CheckFn<CidString>;
|
|
35
|
+
export declare const isDatetimeString: CheckFn<DatetimeString>;
|
|
36
|
+
export declare const isDidString: CheckFn<DidString>;
|
|
37
|
+
export declare const isHandleString: CheckFn<HandleString>;
|
|
38
|
+
export declare const isNsidString: CheckFn<NsidString>;
|
|
39
|
+
export declare const isRecordKeyString: CheckFn<RecordKeyString>;
|
|
40
|
+
export declare const isTidString: CheckFn<TidString>;
|
|
30
41
|
export declare const STRING_FORMATS: readonly ["datetime", "uri", "at-uri", "did", "handle", "at-identifier", "nsid", "cid", "language", "tid", "record-key"];
|
|
31
42
|
export type StringFormat = (typeof STRING_FORMATS)[number];
|
|
32
43
|
export type InferStringFormat<F> = F extends 'datetime' ? DatetimeString : F extends 'uri' ? UriString : F extends 'at-uri' ? AtUriString : F extends 'did' ? DidString : F extends 'handle' ? HandleString : F extends 'at-identifier' ? AtIdentifierString : F extends 'nsid' ? NsidString : string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-format.d.ts","sourceRoot":"","sources":["../../src/core/string-format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-format.d.ts","sourceRoot":"","sources":["../../src/core/string-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STRING_FORMATS = exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.assertLanguage = assertLanguage;
|
|
3
|
+
exports.STRING_FORMATS = exports.isTidString = exports.isRecordKeyString = exports.isNsidString = exports.isHandleString = exports.isDidString = exports.isDatetimeString = exports.isCidString = exports.isAtUriString = exports.isAtIdentifierString = exports.isLanguageString = exports.asUriString = exports.asTidString = exports.asRecordKeyString = exports.asNsidString = exports.asLanguageString = exports.asHandleString = exports.asDidString = exports.asDatetimeString = exports.asCidString = exports.asAtUriString = exports.asAtIdentifierString = exports.assertUriString = exports.assertTidString = exports.assertRecordKeyString = exports.assertNsidString = exports.assertLanguageString = exports.assertHandleString = exports.assertDidString = exports.assertDatetimeString = exports.assertCidString = exports.assertAtUriString = exports.assertAtIdentifierString = void 0;
|
|
4
|
+
exports.isUriString = isUriString;
|
|
6
5
|
exports.assertStringFormat = assertStringFormat;
|
|
7
6
|
const lex_data_1 = require("@atproto/lex-data");
|
|
7
|
+
Object.defineProperty(exports, "isLanguageString", { enumerable: true, get: function () { return lex_data_1.isLanguageString; } });
|
|
8
8
|
const syntax_1 = require("@atproto/syntax");
|
|
9
|
+
const assertion_util_js_1 = require("../util/assertion-util.js");
|
|
9
10
|
/*@__NO_SIDE_EFFECTS__*/
|
|
10
|
-
function
|
|
11
|
-
return (input)
|
|
12
|
-
assertFn(input);
|
|
13
|
-
return input;
|
|
14
|
-
};
|
|
11
|
+
function isUriString(input) {
|
|
12
|
+
return /^\w+:(?:\/\/)?[^\s/][^\s]*$/.test(input);
|
|
15
13
|
}
|
|
16
|
-
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
19
|
-
exports.assertNsid = syntax_1.ensureValidNsid;
|
|
20
|
-
exports.assertTid = syntax_1.ensureValidTid;
|
|
21
|
-
exports.assertRecordKey = syntax_1.ensureValidRecordKey;
|
|
22
|
-
exports.assertDatetime = syntax_1.ensureValidDatetime;
|
|
14
|
+
// Export utilities for formats missing from @atproto/syntax
|
|
15
|
+
exports.assertAtIdentifierString = syntax_1.ensureValidAtIdentifier;
|
|
16
|
+
exports.assertAtUriString = syntax_1.ensureValidAtUri;
|
|
23
17
|
exports.assertCidString = lex_data_1.ensureValidCidString;
|
|
24
|
-
exports.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
exports.asDid =
|
|
38
|
-
/*#__PURE__*/ createCastFunction(syntax_1.ensureValidDid);
|
|
39
|
-
exports.asAtUri =
|
|
40
|
-
/*#__PURE__*/ createCastFunction(syntax_1.ensureValidAtUri);
|
|
41
|
-
exports.asNsid =
|
|
42
|
-
/*#__PURE__*/ createCastFunction(syntax_1.ensureValidNsid);
|
|
43
|
-
exports.asTid =
|
|
44
|
-
/*#__PURE__*/ createCastFunction(syntax_1.ensureValidTid);
|
|
45
|
-
exports.asRecordKey =
|
|
46
|
-
/*#__PURE__*/ createCastFunction(syntax_1.ensureValidRecordKey);
|
|
47
|
-
exports.asDatetime =
|
|
48
|
-
/*#__PURE__*/ createCastFunction(syntax_1.ensureValidDatetime);
|
|
18
|
+
exports.assertDatetimeString = syntax_1.ensureValidDatetime;
|
|
19
|
+
exports.assertDidString = syntax_1.ensureValidDid;
|
|
20
|
+
exports.assertHandleString = syntax_1.ensureValidHandle;
|
|
21
|
+
exports.assertLanguageString = (0, assertion_util_js_1.createAssertFunction)(lex_data_1.isLanguageString, 'Invalid BCP 47 string');
|
|
22
|
+
exports.assertNsidString = syntax_1.ensureValidNsid;
|
|
23
|
+
exports.assertRecordKeyString = syntax_1.ensureValidRecordKey;
|
|
24
|
+
exports.assertTidString = syntax_1.ensureValidTid;
|
|
25
|
+
exports.assertUriString = (0, assertion_util_js_1.createAssertFunction)(isUriString, 'Invalid URI');
|
|
26
|
+
exports.asAtIdentifierString =
|
|
27
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(exports.assertAtIdentifierString);
|
|
28
|
+
exports.asAtUriString =
|
|
29
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidAtUri);
|
|
49
30
|
exports.asCidString =
|
|
50
|
-
/*#__PURE__*/ createCastFunction(lex_data_1.ensureValidCidString);
|
|
51
|
-
exports.
|
|
52
|
-
/*#__PURE__*/ createCastFunction(syntax_1.
|
|
53
|
-
exports.
|
|
54
|
-
/*#__PURE__*/ createCastFunction(
|
|
55
|
-
exports.
|
|
56
|
-
/*#__PURE__*/ createCastFunction(
|
|
57
|
-
exports.
|
|
58
|
-
/*#__PURE__*/ createCastFunction(exports.
|
|
31
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(lex_data_1.ensureValidCidString);
|
|
32
|
+
exports.asDatetimeString =
|
|
33
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidDatetime);
|
|
34
|
+
exports.asDidString =
|
|
35
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidDid);
|
|
36
|
+
exports.asHandleString =
|
|
37
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidHandle);
|
|
38
|
+
exports.asLanguageString =
|
|
39
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(exports.assertLanguageString);
|
|
40
|
+
exports.asNsidString =
|
|
41
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidNsid);
|
|
42
|
+
exports.asRecordKeyString =
|
|
43
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidRecordKey);
|
|
44
|
+
exports.asTidString =
|
|
45
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(syntax_1.ensureValidTid);
|
|
46
|
+
exports.asUriString =
|
|
47
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCastFunction)(exports.assertUriString);
|
|
48
|
+
exports.isAtIdentifierString =
|
|
49
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertAtIdentifierString);
|
|
50
|
+
exports.isAtUriString =
|
|
51
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertAtIdentifierString);
|
|
52
|
+
exports.isCidString =
|
|
53
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertCidString);
|
|
54
|
+
exports.isDatetimeString =
|
|
55
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertDatetimeString);
|
|
56
|
+
exports.isDidString =
|
|
57
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertDidString);
|
|
58
|
+
exports.isHandleString =
|
|
59
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertHandleString);
|
|
60
|
+
exports.isNsidString =
|
|
61
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertNsidString);
|
|
62
|
+
exports.isRecordKeyString =
|
|
63
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertRecordKeyString);
|
|
64
|
+
exports.isTidString =
|
|
65
|
+
/*#__PURE__*/ (0, assertion_util_js_1.createCheckFunction)(exports.assertTidString);
|
|
59
66
|
// String formatting types and utilities
|
|
60
67
|
exports.STRING_FORMATS = Object.freeze([
|
|
61
68
|
'datetime',
|
|
@@ -71,17 +78,17 @@ exports.STRING_FORMATS = Object.freeze([
|
|
|
71
78
|
'record-key',
|
|
72
79
|
]);
|
|
73
80
|
const formatters = /*#__PURE__*/ new Map([
|
|
74
|
-
['
|
|
75
|
-
['uri',
|
|
76
|
-
['at-uri', exports.assertAtUri],
|
|
77
|
-
['did', exports.assertDid],
|
|
78
|
-
['handle', exports.assertHandle],
|
|
79
|
-
['at-identifier', exports.assertAtIdentifier],
|
|
80
|
-
['nsid', exports.assertNsid],
|
|
81
|
+
['at-identifier', exports.assertAtIdentifierString],
|
|
82
|
+
['at-uri', exports.assertAtUriString],
|
|
81
83
|
['cid', exports.assertCidString],
|
|
82
|
-
['
|
|
83
|
-
['
|
|
84
|
-
['
|
|
84
|
+
['datetime', exports.assertDatetimeString],
|
|
85
|
+
['did', exports.assertDidString],
|
|
86
|
+
['handle', exports.assertHandleString],
|
|
87
|
+
['language', exports.assertLanguageString],
|
|
88
|
+
['nsid', exports.assertNsidString],
|
|
89
|
+
['record-key', exports.assertRecordKeyString],
|
|
90
|
+
['tid', exports.assertTidString],
|
|
91
|
+
['uri', exports.assertUriString],
|
|
85
92
|
]);
|
|
86
93
|
/*@__NO_SIDE_EFFECTS__*/
|
|
87
94
|
function assertStringFormat(input, format) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-format.js","sourceRoot":"","sources":["../../src/core/string-format.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"string-format.js","sourceRoot":"","sources":["../../src/core/string-format.ts"],"names":[],"mappings":"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","sourcesContent":["import { ensureValidCidString, isLanguageString } from '@atproto/lex-data'\nimport {\n AtIdentifierString,\n AtUriString,\n DatetimeString,\n DidString,\n HandleString,\n NsidString,\n RecordKeyString,\n TidString,\n ensureValidAtIdentifier,\n ensureValidAtUri,\n ensureValidDatetime,\n ensureValidDid,\n ensureValidHandle,\n ensureValidNsid,\n ensureValidRecordKey,\n ensureValidTid,\n} from '@atproto/syntax'\nimport {\n AssertFn,\n CastFn,\n CheckFn,\n createAssertFunction,\n createCastFunction,\n createCheckFunction,\n} from '../util/assertion-util.js'\n\n// Format utilities missing from @atproto/syntax\nexport type CidString = string\nexport type LanguageString = string\nexport type UriString = `${string}:${string}`\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function isUriString<T extends string>(\n input: T,\n): input is T & UriString {\n return /^\\w+:(?:\\/\\/)?[^\\s/][^\\s]*$/.test(input)\n}\n\n// Re-export utility typed as assertion functions so that TypeScript can\n// infer the narrowed type after calling them.\n\nexport type {\n AtIdentifierString,\n AtUriString,\n DatetimeString,\n DidString,\n HandleString,\n NsidString,\n RecordKeyString,\n TidString,\n} from '@atproto/syntax'\n\n// Export utilities for formats missing from @atproto/syntax\n\nexport const assertAtIdentifierString: AssertFn<AtIdentifierString> =\n ensureValidAtIdentifier\nexport const assertAtUriString: AssertFn<AtUriString> = ensureValidAtUri\nexport const assertCidString: AssertFn<CidString> = ensureValidCidString\nexport const assertDatetimeString: AssertFn<DatetimeString> =\n ensureValidDatetime\nexport const assertDidString: AssertFn<DidString> = ensureValidDid\nexport const assertHandleString: AssertFn<HandleString> = ensureValidHandle\nexport const assertLanguageString: AssertFn<LanguageString> =\n createAssertFunction<LanguageString>(\n isLanguageString,\n 'Invalid BCP 47 string',\n )\nexport const assertNsidString: AssertFn<NsidString> = ensureValidNsid\nexport const assertRecordKeyString: AssertFn<RecordKeyString> =\n ensureValidRecordKey\nexport const assertTidString: AssertFn<TidString> = ensureValidTid\nexport const assertUriString: AssertFn<UriString> =\n createAssertFunction<UriString>(isUriString, 'Invalid URI')\n\nexport const asAtIdentifierString: CastFn<AtIdentifierString> =\n /*#__PURE__*/ createCastFunction(assertAtIdentifierString)\nexport const asAtUriString: CastFn<AtUriString> =\n /*#__PURE__*/ createCastFunction(ensureValidAtUri)\nexport const asCidString: CastFn<CidString> =\n /*#__PURE__*/ createCastFunction(ensureValidCidString)\nexport const asDatetimeString: CastFn<DatetimeString> =\n /*#__PURE__*/ createCastFunction(ensureValidDatetime)\nexport const asDidString: CastFn<DidString> =\n /*#__PURE__*/ createCastFunction(ensureValidDid)\nexport const asHandleString: CastFn<HandleString> =\n /*#__PURE__*/ createCastFunction(ensureValidHandle)\nexport const asLanguageString: CastFn<LanguageString> =\n /*#__PURE__*/ createCastFunction(assertLanguageString)\nexport const asNsidString: CastFn<NsidString> =\n /*#__PURE__*/ createCastFunction(ensureValidNsid)\nexport const asRecordKeyString: CastFn<RecordKeyString> =\n /*#__PURE__*/ createCastFunction(ensureValidRecordKey)\nexport const asTidString: CastFn<TidString> =\n /*#__PURE__*/ createCastFunction(ensureValidTid)\nexport const asUriString: CastFn<UriString> =\n /*#__PURE__*/ createCastFunction(assertUriString)\n\nexport { isLanguageString }\nexport const isAtIdentifierString: CheckFn<AtIdentifierString> =\n /*#__PURE__*/ createCheckFunction(assertAtIdentifierString)\nexport const isAtUriString: CheckFn<AtUriString> =\n /*#__PURE__*/ createCheckFunction(assertAtIdentifierString)\nexport const isCidString: CheckFn<CidString> =\n /*#__PURE__*/ createCheckFunction(assertCidString)\nexport const isDatetimeString: CheckFn<DatetimeString> =\n /*#__PURE__*/ createCheckFunction(assertDatetimeString)\nexport const isDidString: CheckFn<DidString> =\n /*#__PURE__*/ createCheckFunction(assertDidString)\nexport const isHandleString: CheckFn<HandleString> =\n /*#__PURE__*/ createCheckFunction(assertHandleString)\nexport const isNsidString: CheckFn<NsidString> =\n /*#__PURE__*/ createCheckFunction(assertNsidString)\nexport const isRecordKeyString: CheckFn<RecordKeyString> =\n /*#__PURE__*/ createCheckFunction(assertRecordKeyString)\nexport const isTidString: CheckFn<TidString> =\n /*#__PURE__*/ createCheckFunction(assertTidString)\n\n// String formatting types and utilities\n\nexport const STRING_FORMATS = Object.freeze([\n 'datetime',\n 'uri',\n 'at-uri',\n 'did',\n 'handle',\n 'at-identifier',\n 'nsid',\n 'cid',\n 'language',\n 'tid',\n 'record-key',\n] as const)\n\nexport type StringFormat = (typeof STRING_FORMATS)[number]\n\nexport type InferStringFormat<F> =\n //\n F extends 'datetime'\n ? DatetimeString\n : F extends 'uri'\n ? UriString\n : F extends 'at-uri'\n ? AtUriString\n : F extends 'did'\n ? DidString\n : F extends 'handle'\n ? HandleString\n : F extends 'at-identifier'\n ? AtIdentifierString\n : F extends 'nsid'\n ? NsidString\n : // LanguageString | CidString | TidString | RecordKeyString\n string\n\nconst formatters = /*#__PURE__*/ new Map<StringFormat, (str: string) => void>([\n ['at-identifier', assertAtIdentifierString],\n ['at-uri', assertAtUriString],\n ['cid', assertCidString],\n ['datetime', assertDatetimeString],\n ['did', assertDidString],\n ['handle', assertHandleString],\n ['language', assertLanguageString],\n ['nsid', assertNsidString],\n ['record-key', assertRecordKeyString],\n ['tid', assertTidString],\n ['uri', assertUriString],\n] as const)\n\n/*@__NO_SIDE_EFFECTS__*/\nexport function assertStringFormat<F extends StringFormat>(\n input: string,\n format: F,\n): asserts input is InferStringFormat<F> {\n const assertFn = formatters.get(format)\n if (assertFn) assertFn(input)\n // Fool-proof\n else throw new Error(`Unknown string format: ${format}`)\n}\n"]}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -23,5 +23,8 @@ export type WithOptionalProperties<P> = Simplify<{
|
|
|
23
23
|
} & {
|
|
24
24
|
-readonly [K in keyof P as undefined extends P[K] ? K : never]?: P[K];
|
|
25
25
|
}>;
|
|
26
|
+
export type OmitKey<T, K extends keyof T> = {
|
|
27
|
+
[K2 in keyof T as K2 extends K ? never : K2]: T[K2];
|
|
28
|
+
};
|
|
26
29
|
export {};
|
|
27
30
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAEzE,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAA;AACzC;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,MAAM,IAAI,OAAO,YAAY,GAAG;IACrE,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,QAAQ,CAC9C;IACE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvE,GAAG;IACF,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtE,CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AAEzE,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAA;AACzC;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,MAAM,IAAI,OAAO,YAAY,GAAG;IACrE,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,QAAQ,CAC9C;IACE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvE,GAAG;IACF,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACtE,CACF,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KACzC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;CACpD,CAAA"}
|
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Same as {@link string} but prevents TypeScript allowing union types to\n * be widened to `string` in IDEs.\n */\nexport type UnknownString = string & NonNullable<unknown>\n\nexport type Simplify<T> = { [K in keyof T]: T[K] } & NonNullable<unknown>\n\ndeclare const __restricted: unique symbol\n/**\n * A type that represents a value that cannot be used, with a custom\n * message explaining the restriction.\n */\nexport type Restricted<Message extends string> = typeof __restricted & {\n [__restricted]: Message\n}\n\n/**\n * Converts all properties of `P` that are optional (i.e. may be `undefined`)\n * into actual optional properties on the resulting type.\n */\nexport type WithOptionalProperties<P> = Simplify<\n {\n -readonly [K in keyof P as undefined extends P[K] ? never : K]-?: P[K]\n } & {\n -readonly [K in keyof P as undefined extends P[K] ? K : never]?: P[K]\n }\n>\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Same as {@link string} but prevents TypeScript allowing union types to\n * be widened to `string` in IDEs.\n */\nexport type UnknownString = string & NonNullable<unknown>\n\nexport type Simplify<T> = { [K in keyof T]: T[K] } & NonNullable<unknown>\n\ndeclare const __restricted: unique symbol\n/**\n * A type that represents a value that cannot be used, with a custom\n * message explaining the restriction.\n */\nexport type Restricted<Message extends string> = typeof __restricted & {\n [__restricted]: Message\n}\n\n/**\n * Converts all properties of `P` that are optional (i.e. may be `undefined`)\n * into actual optional properties on the resulting type.\n */\nexport type WithOptionalProperties<P> = Simplify<\n {\n -readonly [K in keyof P as undefined extends P[K] ? never : K]-?: P[K]\n } & {\n -readonly [K in keyof P as undefined extends P[K] ? K : never]?: P[K]\n }\n>\n\nexport type OmitKey<T, K extends keyof T> = {\n [K2 in keyof T as K2 extends K ? never : K2]: T[K2]\n}\n"]}
|
package/dist/external.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { $Type, $TypeOf, LexiconRecordKey, NsidString } from './core.js';
|
|
2
|
-
import { ArraySchema, ArraySchemaOptions, BlobSchema, BlobSchemaOptions, BooleanSchema, BooleanSchemaOptions, BytesSchema, BytesSchemaOptions, CidSchema, CidSchemaOptions, CustomAssertion, CustomSchema, DictSchema, DiscriminatedUnionSchema, DiscriminatedUnionVariants, EnumSchema, EnumSchemaOptions, IntegerSchema, IntegerSchemaOptions, IntersectionSchema, LiteralSchema, LiteralSchemaOptions, NeverSchema, NullSchema, NullableSchema, ObjectSchema, ObjectSchemaShape, OptionalSchema, ParamsSchema, ParamsSchemaShape, Payload,
|
|
3
|
-
import { Infer, PropertyKey, Validator } from './validation.js';
|
|
2
|
+
import { ArraySchema, ArraySchemaOptions, BlobSchema, BlobSchemaOptions, BooleanSchema, BooleanSchemaOptions, BytesSchema, BytesSchemaOptions, CidSchema, CidSchemaOptions, CustomAssertion, CustomSchema, DictSchema, DiscriminatedUnionSchema, DiscriminatedUnionVariants, EnumSchema, EnumSchemaOptions, IntegerSchema, IntegerSchemaOptions, IntersectionSchema, LiteralSchema, LiteralSchemaOptions, NeverSchema, NullSchema, NullableSchema, ObjectSchema, ObjectSchemaShape, OptionalSchema, ParamsSchema, ParamsSchemaShape, Payload, PayloadSchema, Permission, PermissionOptions, PermissionSet, PermissionSetOptions, Procedure, Query, RecordSchema, RefSchema, RefSchemaGetter, RegexpSchema, StringSchema, StringSchemaOptions, Subscription, TokenSchema, TypedObjectSchema, TypedRefGetter, TypedRefSchema, TypedUnionSchema, UnionSchema, UnionSchemaValidators, UnknownObjectOutput, UnknownObjectSchema, UnknownSchema, refine } from './schema.js';
|
|
3
|
+
import { Infer, PropertyKey, Schema, Validator } from './validation.js';
|
|
4
4
|
export * from './core.js';
|
|
5
|
+
export * from './helpers.js';
|
|
5
6
|
export * from './schema.js';
|
|
6
7
|
export * from './validation.js';
|
|
7
8
|
export declare function never(): NeverSchema;
|
|
@@ -49,7 +50,7 @@ export declare function typedUnion<const R extends readonly TypedRefSchema[], co
|
|
|
49
50
|
* schemas that work even if they contain circular references.
|
|
50
51
|
*/
|
|
51
52
|
export declare function typedObject<const N extends NsidString, const H extends string, const S extends Validator<{
|
|
52
|
-
[
|
|
53
|
+
[k: string]: unknown;
|
|
53
54
|
}>>(nsid: N, hash: H, schema: S): TypedObjectSchema<$Type<N, H>, S>;
|
|
54
55
|
export declare function typedObject<V extends {
|
|
55
56
|
$type?: $Type;
|
|
@@ -74,16 +75,16 @@ type AsNsid<T> = T extends `${string}#${string}` ? never : T;
|
|
|
74
75
|
* schemas that work even if they contain circular references.
|
|
75
76
|
*/
|
|
76
77
|
export declare function record<const K extends LexiconRecordKey, const T extends NsidString, const S extends Validator<{
|
|
77
|
-
[
|
|
78
|
+
[k: string]: unknown;
|
|
78
79
|
}>>(key: K, type: AsNsid<T>, schema: S): RecordSchema<K, T, S>;
|
|
79
80
|
export declare function record<const K extends LexiconRecordKey, const V extends {
|
|
80
81
|
$type: NsidString;
|
|
81
82
|
}>(key: K, type: AsNsid<V['$type']>, schema: Validator<Omit<V, '$type'>>): RecordSchema<K, V['$type'], Validator<Omit<V, '$type'>>>;
|
|
82
83
|
export declare function params<const P extends ParamsSchemaShape = NonNullable<unknown>>(properties?: P): ParamsSchema<P>;
|
|
83
|
-
export declare function payload<const E extends string | undefined = undefined, const S extends
|
|
84
|
+
export declare function payload<const E extends string | undefined = undefined, const S extends PayloadSchema<E> = undefined>(encoding?: E, schema?: S): Payload<E, S>;
|
|
84
85
|
export declare function query<const N extends NsidString, const P extends ParamsSchema, const O extends Payload, const E extends undefined | readonly string[] = undefined>(nsid: N, parameters: P, output: O, errors?: E): Query<N, P, O, E>;
|
|
85
86
|
export declare function procedure<const N extends NsidString, const P extends ParamsSchema, const I extends Payload, const O extends Payload, const E extends undefined | readonly string[] = undefined>(nsid: N, parameters: P, input: I, output: O, errors?: E): Procedure<N, P, I, O, E>;
|
|
86
|
-
export declare function subscription<const N extends NsidString, const P extends ParamsSchema, const M extends
|
|
87
|
+
export declare function subscription<const N extends NsidString, const P extends ParamsSchema, const M extends Schema, const E extends undefined | readonly string[] = undefined>(nsid: N, parameters: P, message: M, errors?: E): Subscription<N, P, M, E>;
|
|
87
88
|
export declare function permission<const R extends string, const O extends PermissionOptions>(resource: R, options?: PermissionOptions & O): Permission<R, O>;
|
|
88
89
|
export declare function permissionSet<const N extends NsidString, const P extends readonly Permission[]>(nsid: N, permissions: P, options?: PermissionSetOptions): PermissionSet<N, P>;
|
|
89
90
|
//# sourceMappingURL=external.d.ts.map
|