Skip to content

Commit a6859bb

Browse files
committed
docs: remove module documentation
it seems JSR use README as module documentation when it doesn't exist
1 parent 696cb0c commit a6859bb

File tree

1 file changed

+0
-243
lines changed

1 file changed

+0
-243
lines changed

mod.ts

Lines changed: 0 additions & 243 deletions
Original file line numberDiff line numberDiff line change
@@ -1,246 +1,3 @@
1-
/**
2-
* A utility pack for handling `unknown` type.
3-
*
4-
* ## Usage
5-
*
6-
* It provides `is` module for type predicate functions and `assert`, `ensure`, and
7-
* `maybe` helper functions.
8-
*
9-
* ### is\* and as\*
10-
*
11-
* Type predicate function is a function which returns `true` if a given value is
12-
* expected type. For example, `isString` (or `is.String`) returns `true` if a
13-
* given value is `string`.
14-
*
15-
* ```typescript
16-
* import { is } from "@core/unknownutil";
17-
*
18-
* const a: unknown = "Hello";
19-
* if (is.String(a)) {
20-
* // 'a' is 'string' in this block
21-
* }
22-
* ```
23-
*
24-
* For more complex types, you can use `is*Of` (or `is.*Of`) functions and `as*`
25-
* (or `as.*`) functions like:
26-
*
27-
* ```typescript
28-
* import {
29-
* as,
30-
* is,
31-
* PredicateType,
32-
* } from "@core/unknownutil";
33-
*
34-
* const isArticle = is.ObjectOf({
35-
* title: is.String,
36-
* body: is.String,
37-
* refs: is.ArrayOf(
38-
* is.UnionOf([
39-
* is.String,
40-
* is.ObjectOf({
41-
* name: is.String,
42-
* url: is.String,
43-
* }),
44-
* ]),
45-
* ),
46-
* createTime: as.Optional(is.InstanceOf(Date)),
47-
* updateTime: as.Optional(is.InstanceOf(Date)),
48-
* });
49-
*
50-
* // Infer the type of `Article` from the definition of `isArticle`
51-
* type Article = PredicateType<typeof isArticle>;
52-
*
53-
* const a: unknown = {
54-
* title: "Awesome article",
55-
* body: "This is an awesome article",
56-
* refs: [{ name: "Deno", url: "https://deno.land/" }, "https://github.com"],
57-
* };
58-
* if (isArticle(a)) {
59-
* // a is narrowed to the type of `isArticle`
60-
* console.log(a.title);
61-
* console.log(a.body);
62-
* for (const ref of a.refs) {
63-
* if (is.String(ref)) {
64-
* console.log(ref);
65-
* } else {
66-
* console.log(ref.name);
67-
* console.log(ref.url);
68-
* }
69-
* }
70-
* }
71-
* ```
72-
*
73-
* Additionally, you can manipulate the predicate function returned from
74-
* `isObjectOf` with `isPickOf`, `isOmitOf`, `isPartialOf`, and `isRequiredOf`
75-
* similar to TypeScript's `Pick`, `Omit`, `Partial`, `Required` utility types.
76-
*
77-
* ```typescript
78-
* import { as, is } from "@core/unknownutil";
79-
*
80-
* const isArticle = is.ObjectOf({
81-
* title: is.String,
82-
* body: is.String,
83-
* refs: is.ArrayOf(
84-
* is.UnionOf([
85-
* is.String,
86-
* is.ObjectOf({
87-
* name: is.String,
88-
* url: is.String,
89-
* }),
90-
* ]),
91-
* ),
92-
* createTime: as.Optional(is.InstanceOf(Date)),
93-
* updateTime: as.Optional(is.InstanceOf(Date)),
94-
* });
95-
*
96-
* const isArticleCreateParams = is.PickOf(isArticle, ["title", "body", "refs"]);
97-
* // is equivalent to
98-
* //const isArticleCreateParams = is.ObjectOf({
99-
* // title: is.String,
100-
* // body: is.String,
101-
* // refs: is.ArrayOf(
102-
* // is.UnionOf([
103-
* // is.String,
104-
* // is.ObjectOf({
105-
* // name: is.String,
106-
* // url: is.String,
107-
* // }),
108-
* // ]),
109-
* // ),
110-
* //});
111-
*
112-
* const isArticleUpdateParams = is.OmitOf(isArticleCreateParams, ["title"]);
113-
* // is equivalent to
114-
* //const isArticleUpdateParams = is.ObjectOf({
115-
* // body: is.String,
116-
* // refs: is.ArrayOf(
117-
* // is.UnionOf([
118-
* // is.String,
119-
* // is.ObjectOf({
120-
* // name: is.String,
121-
* // url: is.String,
122-
* // }),
123-
* // ]),
124-
* // ),
125-
* //});
126-
*
127-
* const isArticlePatchParams = is.PartialOf(isArticleUpdateParams);
128-
* // is equivalent to
129-
* //const isArticlePatchParams = is.ObjectOf({
130-
* // body: as.Optional(is.String),
131-
* // refs: as.Optional(is.ArrayOf(
132-
* // is.UnionOf([
133-
* // is.String,
134-
* // is.ObjectOf({
135-
* // name: is.String,
136-
* // url: is.String,
137-
* // }),
138-
* // ]),
139-
* // )),
140-
* //});
141-
*
142-
* const isArticleAvailableParams = is.RequiredOf(isArticle);
143-
* // is equivalent to
144-
* //const isArticlePutParams = is.ObjectOf({
145-
* // body: is.String,
146-
* // refs: is.ArrayOf(
147-
* // is.UnionOf([
148-
* // is.String,
149-
* // is.ObjectOf({
150-
* // name: is.String,
151-
* // url: is.String,
152-
* // }),
153-
* // ]),
154-
* // ),
155-
* // createTime: is.InstanceOf(Date),
156-
* // updateTime: is.InstanceOf(Date),
157-
* //});
158-
* ```
159-
*
160-
* If you need an union type or an intersection type, use `isUnionOf` and `isIntersectionOf`
161-
* like:
162-
*
163-
* ```typescript
164-
* import { is } from "@core/unknownutil";
165-
*
166-
* const isFoo = is.ObjectOf({
167-
* foo: is.String,
168-
* });
169-
*
170-
* const isBar = is.ObjectOf({
171-
* bar: is.String,
172-
* });
173-
*
174-
* const isFooOrBar = is.UnionOf([isFoo, isBar]);
175-
* // { foo: string } | { bar: string }
176-
*
177-
* const isFooAndBar = is.IntersectionOf([isFoo, isBar]);
178-
* // { foo: string } & { bar: string }
179-
* ```
180-
*
181-
* ### assert
182-
*
183-
* The `assert` function does nothing if a given value is expected type. Otherwise,
184-
* it throws an `AssertError` exception like:
185-
*
186-
* ```typescript
187-
* import {
188-
* assert,
189-
* is,
190-
* } from "@core/unknownutil";
191-
*
192-
* const a: unknown = "Hello";
193-
*
194-
* // `assert` does nothing or throws an `AssertError`
195-
* assert(a, is.String);
196-
* // a is now narrowed to string
197-
*
198-
* // With custom message
199-
* assert(a, is.String, { message: "a must be a string" });
200-
* ```
201-
*
202-
* ### ensure
203-
*
204-
* The `ensure` function return the value as-is if a given value is expected type.
205-
* Otherwise, it throws an `AssertError` exception like:
206-
*
207-
* ```typescript
208-
* import {
209-
* ensure,
210-
* is,
211-
* } from "@core/unknownutil";
212-
*
213-
* const a: unknown = "Hello";
214-
*
215-
* // `ensure` returns `string` or throws an `AssertError`
216-
* const _: string = ensure(a, is.String);
217-
*
218-
* // With custom message
219-
* const __: string = ensure(a, is.String, { message: "a must be a string" });
220-
* ```
221-
*
222-
* ### maybe
223-
*
224-
* The `maybe` function return the value as-is if a given value is expected type.
225-
* Otherwise, it returns `undefined` that suites with
226-
* [nullish coalescing operator (`??`)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing)
227-
* like:
228-
*
229-
* ```typescript
230-
* import {
231-
* is,
232-
* maybe,
233-
* } from "@core/unknownutil";
234-
*
235-
* const a: unknown = "Hello";
236-
*
237-
* // `maybe` returns `string | undefined` so it suites with `??`
238-
* const _: string = maybe(a, is.String) ?? "default value";
239-
* ```
240-
*
241-
* @module
242-
*/
243-
2441
export type * from "./type.ts";
2452

2463
export * from "./as/mod.ts";

0 commit comments

Comments
 (0)