happy-rusty 1.0.2 → 1.0.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/README.md CHANGED
@@ -5,4 +5,62 @@
5
5
  * [option](https://doc.rust-lang.org/core/option/index.html)
6
6
  * [result](https://doc.rust-lang.org/core/result/index.html)
7
7
 
8
- ## More is coming
8
+ ## More is coming
9
+
10
+ ## Installation
11
+
12
+ Via [JSR](https://jsr.io/@happy-js/happy-rusty)(**recommand**)
13
+ ```
14
+ npx jsr add @happy-js/happy-rusty
15
+ ```
16
+
17
+ or just from npm
18
+ ```
19
+ npm install --save happy-rusty
20
+ ```
21
+
22
+ for deno
23
+ ```
24
+ deno add @happy-js/happy-rusty
25
+ ```
26
+
27
+ for bun
28
+ ```
29
+ bunx jsr add @happy-js/happy-rusty
30
+ ```
31
+
32
+ then import to your code.
33
+ ```ts
34
+ import { Some, None, Ok, Err } from '@happy-js/happy-rusty';
35
+ ```
36
+
37
+ Enjoy the happiness.
38
+
39
+ ## Examples
40
+
41
+ ```ts
42
+ import { Some, None, Ok, Err } from '@happy-js/happy-rusty';
43
+
44
+ function judge(n: number): Option<Promise<Result<number, Error>>> {
45
+ if (n < 0 || n >= 1) {
46
+ return None;
47
+ }
48
+
49
+ return Some(new Promise(resolve => {
50
+ const r = Math.random();
51
+ resolve(r > n ? Ok(r) : Err(new Error('lose')));
52
+ }));
53
+ }
54
+
55
+ const res = judge(0.8);
56
+ if (res.isNone()) {
57
+ console.error('invalid number');
58
+ } else {
59
+ const result = await res.unwrap();
60
+ if (result.isErr()) {
61
+ console.assert(result.err().message === 'lose');
62
+ } else {
63
+ console.log(result.unwrap()); // must greater than 0.8
64
+ }
65
+ }
66
+ ```
package/dist/main.cjs.map CHANGED
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;ACAA;;;CAGC,GAED;;CAEC,GAoCM,SAAS,0CAAQ,KAAQ;IAC5B,IAAI,SAAS,MACT,MAAM,IAAI,MAAM;IAGpB,OAAO;QACH,MAAM;QACN,QAAQ,IAAM;QACd,QAAQ,IAAM;QACd,QAAQ,IAAM;IAClB;AACJ;AAMO,MAAM,4CAAa;IACtB,MAAM;IACN,QAAQ,IAAM;IACd,QAAQ,IAAM;IACd,QAAQ;QACJ,MAAM,IAAI,MAAM;IACpB;AACJ;;;ACnEA;;;CAGC,GAED;;CAEC,GA2DM,SAAS,0CAAS,KAAQ;IAC7B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ,IAAM;IAClB;AACJ;AAeO,SAAS,0CAAU,KAAQ;IAC9B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ;YACJ,MAAM;QACV;QACA,KAAK,IAAM;IACf;AACJ;;","sources":["src/mod.ts","src/enum/option.ts","src/enum/result.ts"],"sourcesContent":["export { None, Some, type Option } from './enum/option.ts';\nexport { Err, Ok, type Result } from './enum/result.ts';\n","/**\n * @fileoverview 仿rust的[Option](https://doc.rust-lang.org/core/option/index.html)枚举,\n * 用于替代null和undefined的使用。\n */\n\n/**\n * option::Some type\n */\ninterface Some<T> {\n readonly kind: 'Some';\n readonly isSome: (this: Option<T>) => this is Some<T>;\n readonly isNone: (this: Option<T>) => this is None;\n readonly unwrap: () => T;\n}\n\n/**\n * option::None type\n */\ninterface None {\n readonly kind: 'None';\n readonly isSome: <T>(this: Option<T>) => this is Some<T>;\n readonly isNone: <T>(this: Option<T>) => this is None;\n readonly unwrap: () => never;\n}\n\n/**\n * option::Option type\n */\nexport type Option<T> = Some<T> | None;\n\n/**\n * 创建一个`Some`对象\n *\n * # Examples\n *\n * ```\n * const v = Some(10);\n * console.assert(v.unwrap() === 10);\n * ```\n *\n * @param value 被包裹的值,不能为null和undefined\n * @returns {Some}\n */\nexport function Some<T>(value: T): Option<T> {\n if (value == null) {\n throw new Error('Some value can not be null or undefined');\n }\n\n return {\n kind: 'Some',\n isSome: () => true,\n isNone: () => false,\n unwrap: () => value,\n };\n}\n\n/**\n * `None`值是固定的\n * @constant {None}\n */\nexport const None: None = {\n kind: 'None',\n isSome: () => false,\n isNone: () => true,\n unwrap: () => {\n throw new Error('None can not unwrap');\n },\n};","/**\n * @fileoverview 仿rust的[Result](https://doc.rust-lang.org/core/result/index.html)枚举,\n * 用于错误处理。\n */\n\n/**\n * result::Ok type\n */\ninterface Ok<T, E> {\n readonly kind: 'Ok';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => T;\n}\n\n/**\n * result::Err type\n */\ninterface Err<T, E> {\n readonly kind: 'Err';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => never;\n readonly err: () => E;\n}\n\n/**\n * result::Result type\n */\nexport type Result<T, E> = Ok<T, E> | Err<T, E>;\n\n/**\n * 创建一个`Ok`对象\n *\n * # Examples\n *\n * ```\n * const v = Ok(10);\n * console.assert(v.unwrap() === 10);\n *\nfunction judge(n: number): Option<Promise<Result<number, Error>>> {\n if (n < 0 || n >= 1) {\n return None;\n }\n\n return Some(new Promise(resolve => {\n const r = Math.random();\n resolve(r > n ? Ok(r) : Err(new Error('lose')));\n }));\n}\n\nconst res = judge(0.8);\nif (res.isSome()) {\n const result = await res.unwrap();\n if (result.isErr()) {\n console.assert(result.err().message === 'lose');\n } else {\n console.log(result.unwrap());\n }\n}\n *\n * ```\n *\n * @param value 被包裹的值\n * @returns {Ok}\n */\nexport function Ok<T, E>(value: T): Result<T, E> {\n return {\n kind: 'Ok',\n isOk: () => true,\n isErr: () => false,\n unwrap: () => value,\n };\n}\n\n/**\n * 创建一个`Err`对象\n *\n * # Examples\n *\n * ```\n * const e = Err(new Error('unknown error'));\n * console.assert(e.err().message === 'unknown error');\n * ```\n *\n * @param error 被包裹的错误\n * @returns {Err}\n */\nexport function Err<T, E>(error: E): Result<T, E> {\n return {\n kind: 'Err',\n isOk: () => false,\n isErr: () => true,\n unwrap: () => {\n throw error;\n },\n err: () => error,\n };\n}"],"names":[],"version":3,"file":"main.cjs.map"}
1
+ {"mappings":";;;;;;;;;ACAA;;;CAGC,GAED;;CAEC,GAoCM,SAAS,0CAAQ,KAAQ;IAC5B,IAAI,SAAS,MACT,MAAM,IAAI,MAAM;IAGpB,OAAO;QACH,MAAM;QACN,QAAQ,IAAM;QACd,QAAQ,IAAM;QACd,QAAQ,IAAM;IAClB;AACJ;AAMO,MAAM,4CAAa;IACtB,MAAM;IACN,QAAQ,IAAM;IACd,QAAQ,IAAM;IACd,QAAQ;QACJ,MAAM,IAAI,MAAM;IACpB;AACJ;;;ACnEA;;;CAGC,GAGD;;CAEC,GA6DM,SAAS,0CAAS,KAAQ;IAC7B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ,IAAM;IAClB;AACJ;AAeO,SAAS,0CAAU,KAAQ;IAC9B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ;YACJ,MAAM;QACV;QACA,KAAK,IAAM;IACf;AACJ;;","sources":["src/mod.ts","src/enum/option.ts","src/enum/result.ts"],"sourcesContent":["export { None, Some, type Option } from './enum/option.ts';\nexport { Err, Ok, type Result } from './enum/result.ts';\n","/**\n * @fileoverview 仿rust的[Option](https://doc.rust-lang.org/core/option/index.html)枚举,\n * 用于替代null和undefined的使用。\n */\n\n/**\n * option::Some type\n */\ninterface Some<T> {\n readonly kind: 'Some';\n readonly isSome: (this: Option<T>) => this is Some<T>;\n readonly isNone: (this: Option<T>) => this is None;\n readonly unwrap: () => T;\n}\n\n/**\n * option::None type\n */\ninterface None {\n readonly kind: 'None';\n readonly isSome: <T>(this: Option<T>) => this is Some<T>;\n readonly isNone: <T>(this: Option<T>) => this is None;\n readonly unwrap: () => never;\n}\n\n/**\n * option::Option type\n */\nexport type Option<T> = Some<T> | None;\n\n/**\n * 创建一个`Some`对象\n *\n * # Examples\n *\n * ```\n * const v = Some(10);\n * console.assert(v.unwrap() === 10);\n * ```\n *\n * @param value 被包裹的值,不能为null和undefined\n * @returns {Some}\n */\nexport function Some<T>(value: T): Option<T> {\n if (value == null) {\n throw new Error('Some value can not be null or undefined');\n }\n\n return {\n kind: 'Some',\n isSome: () => true,\n isNone: () => false,\n unwrap: () => value,\n } as const;\n}\n\n/**\n * `None`值是固定的\n * @constant {None}\n */\nexport const None: None = {\n kind: 'None',\n isSome: () => false,\n isNone: () => true,\n unwrap: () => {\n throw new Error('None can not unwrap');\n },\n} as const;","/**\n * @fileoverview 仿rust的[Result](https://doc.rust-lang.org/core/result/index.html)枚举,\n * 用于错误处理。\n */\n\n\n/**\n * result::Ok type\n */\ninterface Ok<T, E> {\n readonly kind: 'Ok';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => T;\n}\n\n/**\n * result::Err type\n */\ninterface Err<T, E> {\n readonly kind: 'Err';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => never;\n readonly err: () => E;\n}\n\n/**\n * result::Result type\n */\nexport type Result<T, E> = Ok<T, E> | Err<T, E>;\n\n/**\n * 创建一个`Ok`对象\n *\n * # Examples\n *\n * ```\n * const v = Ok(10);\n * console.assert(v.unwrap() === 10);\n *\nfunction judge(n: number): Option<Promise<Result<number, Error>>> {\n if (n < 0 || n >= 1) {\n return None;\n }\n\n return Some(new Promise(resolve => {\n const r = Math.random();\n resolve(r > n ? Ok(r) : Err(new Error('lose')));\n }));\n}\n\nconst res = judge(0.8);\nif (res.isNone()) {\n console.error('invalid number');\n} else {\n const result = await res.unwrap();\n if (result.isErr()) {\n console.assert(result.err().message === 'lose');\n } else {\n console.log(result.unwrap()); // must greater than 0.8\n }\n}\n *\n * ```\n *\n * @param value 被包裹的值\n * @returns {Ok}\n */\nexport function Ok<T, E>(value: T): Result<T, E> {\n return {\n kind: 'Ok',\n isOk: () => true,\n isErr: () => false,\n unwrap: () => value,\n } as const;\n}\n\n/**\n * 创建一个`Err`对象\n *\n * # Examples\n *\n * ```\n * const e = Err(new Error('unknown error'));\n * console.assert(e.err().message === 'unknown error');\n * ```\n *\n * @param error 被包裹的错误\n * @returns {Err}\n */\nexport function Err<T, E>(error: E): Result<T, E> {\n return {\n kind: 'Err',\n isOk: () => false,\n isErr: () => true,\n unwrap: () => {\n throw error;\n },\n err: () => error,\n } as const;\n}"],"names":[],"version":3,"file":"main.cjs.map"}
package/dist/main.mjs.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"ACAA;;;CAGC,GAED;;CAEC,GAoCM,SAAS,0CAAQ,KAAQ;IAC5B,IAAI,SAAS,MACT,MAAM,IAAI,MAAM;IAGpB,OAAO;QACH,MAAM;QACN,QAAQ,IAAM;QACd,QAAQ,IAAM;QACd,QAAQ,IAAM;IAClB;AACJ;AAMO,MAAM,4CAAa;IACtB,MAAM;IACN,QAAQ,IAAM;IACd,QAAQ,IAAM;IACd,QAAQ;QACJ,MAAM,IAAI,MAAM;IACpB;AACJ;;;ACnEA;;;CAGC,GAED;;CAEC,GA2DM,SAAS,0CAAS,KAAQ;IAC7B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ,IAAM;IAClB;AACJ;AAeO,SAAS,0CAAU,KAAQ;IAC9B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ;YACJ,MAAM;QACV;QACA,KAAK,IAAM;IACf;AACJ;;","sources":["src/mod.ts","src/enum/option.ts","src/enum/result.ts"],"sourcesContent":["export { None, Some, type Option } from './enum/option.ts';\nexport { Err, Ok, type Result } from './enum/result.ts';\n","/**\n * @fileoverview 仿rust的[Option](https://doc.rust-lang.org/core/option/index.html)枚举,\n * 用于替代null和undefined的使用。\n */\n\n/**\n * option::Some type\n */\ninterface Some<T> {\n readonly kind: 'Some';\n readonly isSome: (this: Option<T>) => this is Some<T>;\n readonly isNone: (this: Option<T>) => this is None;\n readonly unwrap: () => T;\n}\n\n/**\n * option::None type\n */\ninterface None {\n readonly kind: 'None';\n readonly isSome: <T>(this: Option<T>) => this is Some<T>;\n readonly isNone: <T>(this: Option<T>) => this is None;\n readonly unwrap: () => never;\n}\n\n/**\n * option::Option type\n */\nexport type Option<T> = Some<T> | None;\n\n/**\n * 创建一个`Some`对象\n *\n * # Examples\n *\n * ```\n * const v = Some(10);\n * console.assert(v.unwrap() === 10);\n * ```\n *\n * @param value 被包裹的值,不能为null和undefined\n * @returns {Some}\n */\nexport function Some<T>(value: T): Option<T> {\n if (value == null) {\n throw new Error('Some value can not be null or undefined');\n }\n\n return {\n kind: 'Some',\n isSome: () => true,\n isNone: () => false,\n unwrap: () => value,\n };\n}\n\n/**\n * `None`值是固定的\n * @constant {None}\n */\nexport const None: None = {\n kind: 'None',\n isSome: () => false,\n isNone: () => true,\n unwrap: () => {\n throw new Error('None can not unwrap');\n },\n};","/**\n * @fileoverview 仿rust的[Result](https://doc.rust-lang.org/core/result/index.html)枚举,\n * 用于错误处理。\n */\n\n/**\n * result::Ok type\n */\ninterface Ok<T, E> {\n readonly kind: 'Ok';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => T;\n}\n\n/**\n * result::Err type\n */\ninterface Err<T, E> {\n readonly kind: 'Err';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => never;\n readonly err: () => E;\n}\n\n/**\n * result::Result type\n */\nexport type Result<T, E> = Ok<T, E> | Err<T, E>;\n\n/**\n * 创建一个`Ok`对象\n *\n * # Examples\n *\n * ```\n * const v = Ok(10);\n * console.assert(v.unwrap() === 10);\n *\nfunction judge(n: number): Option<Promise<Result<number, Error>>> {\n if (n < 0 || n >= 1) {\n return None;\n }\n\n return Some(new Promise(resolve => {\n const r = Math.random();\n resolve(r > n ? Ok(r) : Err(new Error('lose')));\n }));\n}\n\nconst res = judge(0.8);\nif (res.isSome()) {\n const result = await res.unwrap();\n if (result.isErr()) {\n console.assert(result.err().message === 'lose');\n } else {\n console.log(result.unwrap());\n }\n}\n *\n * ```\n *\n * @param value 被包裹的值\n * @returns {Ok}\n */\nexport function Ok<T, E>(value: T): Result<T, E> {\n return {\n kind: 'Ok',\n isOk: () => true,\n isErr: () => false,\n unwrap: () => value,\n };\n}\n\n/**\n * 创建一个`Err`对象\n *\n * # Examples\n *\n * ```\n * const e = Err(new Error('unknown error'));\n * console.assert(e.err().message === 'unknown error');\n * ```\n *\n * @param error 被包裹的错误\n * @returns {Err}\n */\nexport function Err<T, E>(error: E): Result<T, E> {\n return {\n kind: 'Err',\n isOk: () => false,\n isErr: () => true,\n unwrap: () => {\n throw error;\n },\n err: () => error,\n };\n}"],"names":[],"version":3,"file":"main.mjs.map"}
1
+ {"mappings":"ACAA;;;CAGC,GAED;;CAEC,GAoCM,SAAS,0CAAQ,KAAQ;IAC5B,IAAI,SAAS,MACT,MAAM,IAAI,MAAM;IAGpB,OAAO;QACH,MAAM;QACN,QAAQ,IAAM;QACd,QAAQ,IAAM;QACd,QAAQ,IAAM;IAClB;AACJ;AAMO,MAAM,4CAAa;IACtB,MAAM;IACN,QAAQ,IAAM;IACd,QAAQ,IAAM;IACd,QAAQ;QACJ,MAAM,IAAI,MAAM;IACpB;AACJ;;;ACnEA;;;CAGC,GAGD;;CAEC,GA6DM,SAAS,0CAAS,KAAQ;IAC7B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ,IAAM;IAClB;AACJ;AAeO,SAAS,0CAAU,KAAQ;IAC9B,OAAO;QACH,MAAM;QACN,MAAM,IAAM;QACZ,OAAO,IAAM;QACb,QAAQ;YACJ,MAAM;QACV;QACA,KAAK,IAAM;IACf;AACJ;;","sources":["src/mod.ts","src/enum/option.ts","src/enum/result.ts"],"sourcesContent":["export { None, Some, type Option } from './enum/option.ts';\nexport { Err, Ok, type Result } from './enum/result.ts';\n","/**\n * @fileoverview 仿rust的[Option](https://doc.rust-lang.org/core/option/index.html)枚举,\n * 用于替代null和undefined的使用。\n */\n\n/**\n * option::Some type\n */\ninterface Some<T> {\n readonly kind: 'Some';\n readonly isSome: (this: Option<T>) => this is Some<T>;\n readonly isNone: (this: Option<T>) => this is None;\n readonly unwrap: () => T;\n}\n\n/**\n * option::None type\n */\ninterface None {\n readonly kind: 'None';\n readonly isSome: <T>(this: Option<T>) => this is Some<T>;\n readonly isNone: <T>(this: Option<T>) => this is None;\n readonly unwrap: () => never;\n}\n\n/**\n * option::Option type\n */\nexport type Option<T> = Some<T> | None;\n\n/**\n * 创建一个`Some`对象\n *\n * # Examples\n *\n * ```\n * const v = Some(10);\n * console.assert(v.unwrap() === 10);\n * ```\n *\n * @param value 被包裹的值,不能为null和undefined\n * @returns {Some}\n */\nexport function Some<T>(value: T): Option<T> {\n if (value == null) {\n throw new Error('Some value can not be null or undefined');\n }\n\n return {\n kind: 'Some',\n isSome: () => true,\n isNone: () => false,\n unwrap: () => value,\n } as const;\n}\n\n/**\n * `None`值是固定的\n * @constant {None}\n */\nexport const None: None = {\n kind: 'None',\n isSome: () => false,\n isNone: () => true,\n unwrap: () => {\n throw new Error('None can not unwrap');\n },\n} as const;","/**\n * @fileoverview 仿rust的[Result](https://doc.rust-lang.org/core/result/index.html)枚举,\n * 用于错误处理。\n */\n\n\n/**\n * result::Ok type\n */\ninterface Ok<T, E> {\n readonly kind: 'Ok';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => T;\n}\n\n/**\n * result::Err type\n */\ninterface Err<T, E> {\n readonly kind: 'Err';\n readonly isOk: (this: Result<T, E>) => this is Ok<T, E>;\n readonly isErr: (this: Result<T, E>) => this is Err<T, E>;\n readonly unwrap: () => never;\n readonly err: () => E;\n}\n\n/**\n * result::Result type\n */\nexport type Result<T, E> = Ok<T, E> | Err<T, E>;\n\n/**\n * 创建一个`Ok`对象\n *\n * # Examples\n *\n * ```\n * const v = Ok(10);\n * console.assert(v.unwrap() === 10);\n *\nfunction judge(n: number): Option<Promise<Result<number, Error>>> {\n if (n < 0 || n >= 1) {\n return None;\n }\n\n return Some(new Promise(resolve => {\n const r = Math.random();\n resolve(r > n ? Ok(r) : Err(new Error('lose')));\n }));\n}\n\nconst res = judge(0.8);\nif (res.isNone()) {\n console.error('invalid number');\n} else {\n const result = await res.unwrap();\n if (result.isErr()) {\n console.assert(result.err().message === 'lose');\n } else {\n console.log(result.unwrap()); // must greater than 0.8\n }\n}\n *\n * ```\n *\n * @param value 被包裹的值\n * @returns {Ok}\n */\nexport function Ok<T, E>(value: T): Result<T, E> {\n return {\n kind: 'Ok',\n isOk: () => true,\n isErr: () => false,\n unwrap: () => value,\n } as const;\n}\n\n/**\n * 创建一个`Err`对象\n *\n * # Examples\n *\n * ```\n * const e = Err(new Error('unknown error'));\n * console.assert(e.err().message === 'unknown error');\n * ```\n *\n * @param error 被包裹的错误\n * @returns {Err}\n */\nexport function Err<T, E>(error: E): Result<T, E> {\n return {\n kind: 'Err',\n isOk: () => false,\n isErr: () => true,\n unwrap: () => {\n throw error;\n },\n err: () => error,\n } as const;\n}"],"names":[],"version":3,"file":"main.mjs.map"}
package/dist/types.d.ts CHANGED
@@ -91,12 +91,14 @@ function judge(n: number): Option<Promise<Result<number, Error>>> {
91
91
  }
92
92
 
93
93
  const res = judge(0.8);
94
- if (res.isSome()) {
94
+ if (res.isNone()) {
95
+ console.error('invalid number');
96
+ } else {
95
97
  const result = await res.unwrap();
96
98
  if (result.isErr()) {
97
99
  console.assert(result.err().message === 'lose');
98
100
  } else {
99
- console.log(result.unwrap());
101
+ console.log(result.unwrap()); // must greater than 0.8
100
102
  }
101
103
  }
102
104
  *
@@ -1 +1 @@
1
- {"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,sBAAe,CAAC;IACZ,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;CAChC;AAED;;GAEG;AACH,mBAAmB,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;AAEvC;;;;;;;;;;;;GAYG;AACH,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAW3C;AAED;;;GAGG;AACH,OAAO,MAAM,MAAM,IAOlB,CAAC;ACnEF;;;GAGG;AAEH;;GAEG;AACH,oBAAa,CAAC,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAc,CAAC,EAAE,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,mBAAmB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAO/C;AAED;;;;;;;;;;;;GAYG;AACH,oBAAoB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAUhD","sources":["src/src/enum/option.ts","src/src/enum/result.ts","src/src/mod.ts","src/mod.ts"],"sourcesContent":[null,null,null,"export { None, Some, type Option } from './enum/option.ts';\nexport { Err, Ok, type Result } from './enum/result.ts';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,sBAAe,CAAC;IACZ,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;CAChC;AAED;;GAEG;AACH,mBAAmB,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;AAEvC;;;;;;;;;;;;GAYG;AACH,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAW3C;AAED;;;GAGG;AACH,OAAO,MAAM,MAAM,IAOT,CAAC;ACnEX;;;GAGG;AAGH;;GAEG;AACH,oBAAa,CAAC,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAc,CAAC,EAAE,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,mBAAmB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAO/C;AAED;;;;;;;;;;;;GAYG;AACH,oBAAoB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAUhD","sources":["src/src/enum/option.ts","src/src/enum/result.ts","src/src/mod.ts","src/mod.ts"],"sourcesContent":[null,null,null,"export { None, Some, type Option } from './enum/option.ts';\nexport { Err, Ok, type Result } from './enum/result.ts';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Porting some excellent design implementations from Rust to JavaScript.",
4
4
  "author": "jiang115jie@gmail.com",
5
5
  "license": "GPL-3.0",
6
- "version": "1.0.2",
6
+ "version": "1.0.3",
7
7
  "source": "./src/mod.ts",
8
8
  "main": "./dist/main.cjs",
9
9
  "module": "./dist/main.mjs",