@sylphx/flow 0.2.3 → 0.2.4
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/dist/chunk-057m762a.js +4 -0
- package/dist/{chunk-7nht27vs.js.map → chunk-057m762a.js.map} +1 -1
- package/dist/chunk-2j2gmjg5.js +107 -0
- package/dist/{chunk-wnaa55wn.js.map → chunk-2j2gmjg5.js.map} +6 -5
- package/dist/{chunk-asr22mbn.js → chunk-2nfq57ym.js} +1 -1
- package/dist/{chunk-cs1s5c3g.js → chunk-372bgp30.js} +3 -3
- package/dist/{chunk-cs1s5c3g.js.map → chunk-372bgp30.js.map} +1 -1
- package/dist/{chunk-m9nt0bj3.js → chunk-51kpynby.js} +3 -3
- package/dist/{chunk-m9nt0bj3.js.map → chunk-51kpynby.js.map} +1 -1
- package/dist/{chunk-1rptg3yg.js → chunk-585jp0rg.js} +1 -1
- package/dist/{chunk-hj6r7703.js → chunk-66qzap9m.js} +2 -2
- package/dist/{chunk-hj6r7703.js.map → chunk-66qzap9m.js.map} +1 -1
- package/dist/{chunk-z2rtyk3d.js → chunk-6eb5a8kv.js} +4 -4
- package/dist/{chunk-z2rtyk3d.js.map → chunk-6eb5a8kv.js.map} +1 -1
- package/dist/chunk-7h737bp8.js +4 -0
- package/dist/{chunk-fs3f7acb.js.map → chunk-7h737bp8.js.map} +2 -2
- package/dist/chunk-8ep9gk6d.js +4 -0
- package/dist/{chunk-5szm4n3x.js.map → chunk-8ep9gk6d.js.map} +2 -2
- package/dist/{chunk-bnxtqetr.js → chunk-9qzv4trv.js} +3 -3
- package/dist/{chunk-bnxtqetr.js.map → chunk-9qzv4trv.js.map} +2 -2
- package/dist/chunk-b0047ggx.js +3 -0
- package/dist/{chunk-w2vbmr93.js.map → chunk-b0047ggx.js.map} +2 -2
- package/dist/{chunk-gyq335sw.js → chunk-ceyg2zjg.js} +3 -3
- package/dist/{chunk-gyq335sw.js.map → chunk-ceyg2zjg.js.map} +1 -1
- package/dist/chunk-cjy100rr.js +6 -0
- package/dist/{chunk-d4hj6d4t.js.map → chunk-cjy100rr.js.map} +2 -2
- package/dist/{chunk-gh83x9ya.js → chunk-d6k94684.js} +1 -1
- package/dist/chunk-e74zv5ct.js +19 -0
- package/dist/chunk-e74zv5ct.js.map +10 -0
- package/dist/{chunk-hxj4eapp.js → chunk-etqfkn4f.js} +3 -3
- package/dist/{chunk-hxj4eapp.js.map → chunk-etqfkn4f.js.map} +1 -1
- package/dist/{chunk-8z1sf25t.js → chunk-f676awyz.js} +3 -3
- package/dist/{chunk-8z1sf25t.js.map → chunk-f676awyz.js.map} +1 -1
- package/dist/{chunk-sxy6vp20.js → chunk-f9yb2zk3.js} +2 -2
- package/dist/{chunk-sxy6vp20.js.map → chunk-f9yb2zk3.js.map} +1 -1
- package/dist/{chunk-hft1735c.js → chunk-fyvtp08n.js} +2 -2
- package/dist/{chunk-hft1735c.js.map → chunk-fyvtp08n.js.map} +1 -1
- package/dist/chunk-gmmm7xpw.js +23 -0
- package/dist/{chunk-jgsq3xax.js.map → chunk-gmmm7xpw.js.map} +4 -4
- package/dist/{chunk-xata5rw6.js → chunk-mtrcdhzn.js} +3 -3
- package/dist/{chunk-xata5rw6.js.map → chunk-mtrcdhzn.js.map} +1 -1
- package/dist/{chunk-8krxe10w.js → chunk-ny1s8fnh.js} +2 -2
- package/dist/{chunk-8krxe10w.js.map → chunk-ny1s8fnh.js.map} +1 -1
- package/dist/{chunk-4fr8q0jy.js → chunk-rsagxdqj.js} +71 -71
- package/dist/{chunk-4fr8q0jy.js.map → chunk-rsagxdqj.js.map} +3 -3
- package/dist/{chunk-vjf57v4h.js → chunk-rvx8bgqk.js} +3 -3
- package/dist/{chunk-vjf57v4h.js.map → chunk-rvx8bgqk.js.map} +1 -1
- package/dist/{chunk-9c2nr2fz.js → chunk-sgafqzer.js} +3 -3
- package/dist/{chunk-9c2nr2fz.js.map → chunk-sgafqzer.js.map} +2 -2
- package/dist/{chunk-s6g21d1g.js → chunk-vc4xy6dm.js} +3 -3
- package/dist/{chunk-s6g21d1g.js.map → chunk-vc4xy6dm.js.map} +1 -1
- package/dist/chunk-weshapwk.js +27 -0
- package/dist/{chunk-wrx1n6q6.js.map → chunk-weshapwk.js.map} +11 -4
- package/dist/{chunk-ndah8mn9.js → chunk-z61qdct1.js} +2 -2
- package/dist/{chunk-ndah8mn9.js.map → chunk-z61qdct1.js.map} +1 -1
- package/dist/index.js +332 -331
- package/dist/index.js.map +14 -11
- package/package.json +1 -1
- package/dist/chunk-5szm4n3x.js +0 -4
- package/dist/chunk-7nht27vs.js +0 -4
- package/dist/chunk-d4hj6d4t.js +0 -6
- package/dist/chunk-f06ma45b.js +0 -15
- package/dist/chunk-f06ma45b.js.map +0 -16
- package/dist/chunk-fs3f7acb.js +0 -4
- package/dist/chunk-jgsq3xax.js +0 -23
- package/dist/chunk-w2vbmr93.js +0 -3
- package/dist/chunk-wd9qbbe5.js +0 -5
- package/dist/chunk-wd9qbbe5.js.map +0 -10
- package/dist/chunk-wnaa55wn.js +0 -108
- package/dist/chunk-wrx1n6q6.js +0 -16
- /package/dist/{chunk-asr22mbn.js.map → chunk-2nfq57ym.js.map} +0 -0
- /package/dist/{chunk-1rptg3yg.js.map → chunk-585jp0rg.js.map} +0 -0
- /package/dist/{chunk-gh83x9ya.js.map → chunk-d6k94684.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
var k=(h)=>({_tag:"Success",value:h}),q=(h)=>({_tag:"Failure",error:h});var w=(h,j=(b)=>b)=>{try{return k(h())}catch(b){return q(j(b))}},x=async(h,j=(b)=>b)=>{try{let b=await h();return k(b)}catch(b){return q(j(b))}};
|
|
2
|
-
export{k as
|
|
2
|
+
export{k as Ca,q as Da,w as Ea,x as Fa};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=FF5F7BD6E94DC77B64756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"/**\n * Result type for functional error handling\n * Represents success or failure without exceptions\n *\n * DESIGN RATIONALE:\n * - Explicit error handling at type level\n * - Composable through map/flatMap\n * - Forces caller to handle errors\n * - No hidden control flow (no thrown exceptions)\n */\n\nexport type Result<T, E = Error> = Success<T> | Failure<E>;\n\nexport interface Success<T> {\n readonly _tag: 'Success';\n readonly value: T;\n}\n\nexport interface Failure<E> {\n readonly _tag: 'Failure';\n readonly error: E;\n}\n\n/**\n * Constructors\n */\n\nexport const success = <T>(value: T): Success<T> => ({\n _tag: 'Success',\n value,\n});\n\nexport const failure = <E>(error: E): Failure<E> => ({\n _tag: 'Failure',\n error,\n});\n\n/**\n * Type guards\n */\n\nexport const isSuccess = <T, E>(result: Result<T, E>): result is Success<T> =>\n result._tag === 'Success';\n\nexport const isFailure = <T, E>(result: Result<T, E>): result is Failure<E> =>\n result._tag === 'Failure';\n\n/**\n * Transformations\n */\n\n/**\n * Transform the success value\n * Failure propagates unchanged\n */\nexport const map =\n <T, U, E>(fn: (value: T) => U) =>\n (result: Result<T, E>): Result<U, E> => {\n if (isSuccess(result)) {\n return success(fn(result.value));\n }\n return result;\n };\n\n/**\n * Transform the success value with a function that returns a Result\n * Enables chaining operations that can fail\n * Failure propagates unchanged\n */\nexport const flatMap =\n <T, U, E>(fn: (value: T) => Result<U, E>) =>\n (result: Result<T, E>): Result<U, E> => {\n if (isSuccess(result)) {\n return fn(result.value);\n }\n return result;\n };\n\n/**\n * Transform the error\n * Success propagates unchanged\n */\nexport const mapError =\n <T, E, F>(fn: (error: E) => F) =>\n (result: Result<T, E>): Result<T, F> => {\n if (isFailure(result)) {\n return failure(fn(result.error));\n }\n return result;\n };\n\n/**\n * Extract value or provide default\n */\nexport const getOrElse =\n <T>(defaultValue: T) =>\n <E>(result: Result<T, E>): T => {\n if (isSuccess(result)) {\n return result.value;\n }\n return defaultValue;\n };\n\n/**\n * Extract value or compute default\n */\nexport const getOrElseLazy =\n <T>(fn: () => T) =>\n <E>(result: Result<T, E>): T => {\n if (isSuccess(result)) {\n return result.value;\n }\n return fn();\n };\n\n/**\n * Pattern matching\n */\nexport const match =\n <T, E, U>(onSuccess: (value: T) => U, onFailure: (error: E) => U) =>\n (result: Result<T, E>): U => {\n if (isSuccess(result)) {\n return onSuccess(result.value);\n }\n return onFailure(result.error);\n };\n\n/**\n * Convert thrown exception to Result\n */\nexport const tryCatch = <T, E = Error>(\n fn: () => T,\n onError: (error: unknown) => E = (error: unknown) => error as E\n): Result<T, E> => {\n try {\n return success(fn());\n } catch (error) {\n return failure(onError(error));\n }\n};\n\n/**\n * Convert Promise to Result\n */\nexport const tryCatchAsync = async <T, E = Error>(\n fn: () => Promise<T>,\n onError: (error: unknown) => E = (error: unknown) => error as E\n): Promise<Result<T, E>> => {\n try {\n const value = await fn();\n return success(value);\n } catch (error) {\n return failure(onError(error));\n }\n};\n\n/**\n * Combine multiple Results into a single Result containing an array\n * Fails if any Result is a Failure (short-circuits on first failure)\n */\nexport const all = <T, E>(results: Result<T, E>[]): Result<T[], E> => {\n const values: T[] = [];\n\n for (const result of results) {\n if (isFailure(result)) {\n return result;\n }\n values.push(result.value);\n }\n\n return success(values);\n};\n\n/**\n * Run side effect for success case\n */\nexport const tap =\n <T, E>(fn: (value: T) => void) =>\n (result: Result<T, E>): Result<T, E> => {\n if (isSuccess(result)) {\n fn(result.value);\n }\n return result;\n };\n\n/**\n * Run side effect for failure case\n */\nexport const tapError =\n <T, E>(fn: (error: E) => void) =>\n (result: Result<T, E>): Result<T, E> => {\n if (isFailure(result)) {\n fn(result.error);\n }\n return result;\n };\n\n/**\n * Functional pipe for composing Result transformations\n */\nexport const pipe =\n <T, E>(result: Result<T, E>) =>\n <U>(fn: (result: Result<T, E>) => U): U =>\n fn(result);\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "AA2BO,IAAM,EAAU,CAAI,KAA0B,CACnD,KAAM,UACN,OACF,GAEa,EAAU,CAAI,KAA0B,CACnD,KAAM,UACN,OACF,GA+FO,IAAM,EAAW,CACtB,EACA,EAAiC,CAAC,IAAmB,IACpC,CACjB,GAAI,CACF,OAAO,EAAQ,EAAG,CAAC,EACnB,MAAO,EAAO,CACd,OAAO,EAAQ,EAAQ,CAAK,CAAC,IAOpB,EAAgB,MAC3B,EACA,EAAiC,CAAC,IAAmB,IAC3B,CAC1B,GAAI,CACF,IAAM,EAAQ,MAAM,EAAG,EACvB,OAAO,EAAQ,CAAK,EACpB,MAAO,EAAO,CACd,OAAO,EAAQ,EAAQ,CAAK,CAAC",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "FF5F7BD6E94DC77B64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|