-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathb9310ccf.f731b66e.js
1 lines (1 loc) · 5.84 KB
/
b9310ccf.f731b66e.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{162:function(e,t,r){"use strict";r.r(t),r.d(t,"frontMatter",(function(){return i})),r.d(t,"metadata",(function(){return c})),r.d(t,"rightToc",(function(){return l})),r.d(t,"default",(function(){return s}));var n=r(1),a=r(9),o=(r(0),r(179)),i={title:"About"},c={id:"about",title:"About",description:"Variant is a project I wished existed. I love TypeScript, but I find it's discriminated unions implementation elegant in some ways and clunky in others. See the [motivation page](motivation) for some of the problems this library addresses.\r",source:"@site/docs\\about.md",permalink:"/variant/docs/about",sidebar:"secondSidebar",next:{title:"Changelog",permalink:"/variant/docs/changelog"}},l=[{value:"\ud83d\udcdc The Author",id:"-the-author",children:[{value:"Contact",id:"contact",children:[]}]}],p={rightToc:l};function s(e){var t=e.components,r=Object(a.a)(e,["components"]);return Object(o.b)("wrapper",Object(n.a)({},p,r,{components:t,mdxType:"MDXLayout"}),Object(o.b)("p",null,"Variant is a project I wished existed. I love TypeScript, but I find it's discriminated unions implementation elegant in some ways and clunky in others. See the ",Object(o.b)("a",Object(n.a)({parentName:"p"},{href:"motivation"}),"motivation page")," for some of the problems this library addresses."),Object(o.b)("h2",{id:"-the-author"},"\ud83d\udcdc The Author"),Object(o.b)("p",null,"I'm Paarth. I've done a little of everything. I started using TypeScript in... 2015? 2014? I know I remember watching TypeScript get many of its major features and with each release it captured more of my time and attention. My favorite languages pre-TypeScript were OCaml and C#. I adored the expressivity of OCaml but was frustrated by its lack of a platform. As TypeScript introduced more expressive type features it gave me more of what I wanted from a statically typed functional language like OCaml but on the largest platform in the world. ",Object(o.b)("em",{parentName:"p"},"Yes, please"),". This project is my attempt at addressing one of the few major holes remaining."),Object(o.b)("p",null,"I use ",Object(o.b)("inlineCode",{parentName:"p"},"variant")," in almost every project I make. It's a language feature as a library. I'm lucky enough to get to use it in my professional projects as well. "),Object(o.b)("p",null,"I'd like to express my sincere thanks to the users and companies using ",Object(o.b)("inlineCode",{parentName:"p"},"variant")," in their codebases every day. \u2764\ufe0f"),Object(o.b)("h3",{id:"contact"},"Contact"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Email: ",Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"mailto:variant.developer@gmail.com"}),Object(o.b)("inlineCode",{parentName:"a"},"variant.developer@gmail.com"))),Object(o.b)("li",{parentName:"ul"},"Github: ",Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"https://github.com/paarthenon"}),"Paarthenon")),Object(o.b)("li",{parentName:"ul"},"StackOverflow: ",Object(o.b)("a",Object(n.a)({parentName:"li"},{href:"https://stackoverflow.com/users/2557260/paarth"}),"Paarth"))),Object(o.b)("p",null,"I'm active on reddit. I won't be posting my username because I learn from the mistakes of others but you might see me around the TypeScript subreddit."),Object(o.b)("p",null,"If you liked what you saw here and have any questions or would like to consult with me or my employer, please feel free to reach out to ",Object(o.b)("inlineCode",{parentName:"p"},"variant.developer@gmail.com"),". However, I should note that I am happily employed and will likely ",Object(o.b)("em",{parentName:"p"},"not")," pursue an opening as a Java developer with required relocation to New Jersey or similar opportunities."))}s.isMDXComponent=!0},179:function(e,t,r){"use strict";r.d(t,"a",(function(){return u})),r.d(t,"b",(function(){return d}));var n=r(0),a=r.n(n);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=a.a.createContext({}),s=function(e){var t=a.a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):c({},t,{},e)),r},u=function(e){var t=s(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},b=Object(n.forwardRef)((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(r),b=n,d=u["".concat(i,".").concat(b)]||u[b]||m[b]||o;return r?a.a.createElement(d,c({ref:t},p,{components:r})):a.a.createElement(d,c({ref:t},p))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=b;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c.mdxType="string"==typeof e?e:n,i[1]=c;for(var p=2;p<o;p++)i[p]=r[p];return a.a.createElement.apply(null,i)}return a.a.createElement.apply(null,r)}b.displayName="MDXCreateElement"}}]);