PageSourceSearch

https://arrow-kt.io/assets/js/e3d50916.2259e5e5.js

js arrow-kt.io collected 2026-10-03 22:27:53 UTC 2,664 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkarrow_website=self.webpackChunkarrow_website||[]).push([["171"],{18225(t,e,n){n.r(e),n.d(e,{assets:()=>m,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>s});var i=n(67254),a=n(74848),o=n(28453);let r={title:"Domain Model Validation In Kotlin: Part 4",image:"https://miro.medium.com/max/1400/1*3jegLLY4GbGj71nauV2l_Q.png",category:"articles",tags:["core","articles"],link:"https://tibtof.medium.com/domain-model-validation-in-kotlin-part-4-2462b334ca6c"},l,m={authorsImageUrls:[]},s=[];function c(t){let e={p:"p",...(0,o.R)(),...t.components};return(0,a.jsx)(e.p,{children:"In this final part of the series, Tiberiu puts everything together in a small CLI application, using Arrow data types and computation blocks\nto handle validation errors and exceptions in a unitary and composable way."})}function p(t={}){let{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}},28453(t,e,n){n.d(e,{R:()=>r,x:()=>l});var i=n(96540);let a={},o=i.createContext(a);function r(t){let e=i.useContext(o);return i.useMemo(function(){return"function"==typeof t?t(e):{...e,...t}},[e,t])}function l(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:r(t.components),i.createElement(o.Provider,{value:e},t.children)}},67254(t){t.exports=JSON.parse('{"permalink":"/community/blog/2022/03/31/domain-model-validation-in-kotlin-part-4","source":"@site/content/blog/2022-03-31-domain-model-validation-in-kotlin-part-4.md","title":"Domain Model Validation In Kotlin: Part 4","description":"In this final part of the series, Tiberiu puts everything together in a small CLI application, using Arrow data types and computation blocks","date":"2022-03-31T00:00:00.000Z","tags":[{"inline":true,"label":"core","permalink":"/community/blog/tags/core"},{"inline":true,"label":"articles","permalink":"/community/blog/tags/articles"}],"readingTime":0.18,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Domain Model Validation In Kotlin: Part 4","image":"https://miro.medium.com/max/1400/1*3jegLLY4GbGj71nauV2l_Q.png","category":"articles","tags":["core","articles"],"link":"https://tibtof.medium.com/domain-model-validation-in-kotlin-part-4-2462b334ca6c"},"unlisted":false,"prevItem":{"title":"Functional programming in Kotlin: exploring Arrow by Ties Van de Ven","permalink":"/community/blog/2022/05/18/functional-programming-kotlin-exploring-arrow-ties-van-de-ven"},"nextItem":{"title":"Domain Model Validation In Kotlin: Part 3","permalink":"/community/blog/2022/03/10/domain-model-validation-in-kotlin-part-3"}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.