foomo-docs/assets/js/ce400a0c.1bd3c2a5.js
2023-05-10 21:17:34 +00:00

1 line
4.9 KiB
JavaScript

"use strict";(self.webpackChunkfoomo=self.webpackChunkfoomo||[]).push([[4122],{3905:(e,t,r)=>{r.d(t,{Zo:()=>a,kt:()=>d});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},c=Object.keys(e);for(o=0;o<c.length;o++)r=c[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o<c.length;o++)r=c[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=o.createContext({}),p=function(e){var t=o.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},a=function(e){var t=p(e.components);return o.createElement(i.Provider,{value:t},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,c=e.originalType,i=e.parentName,a=s(e,["components","mdxType","originalType","parentName"]),u=p(r),g=n,d=u["".concat(i,".").concat(g)]||u[g]||f[g]||c;return r?o.createElement(d,l(l({ref:t},a),{},{components:r})):o.createElement(d,l({ref:t},a))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=r.length,l=new Array(c);l[0]=g;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[u]="string"==typeof e?e:n,l[1]=s;for(var p=2;p<c;p++)l[p]=r[p];return o.createElement.apply(null,l)}return o.createElement.apply(null,r)}g.displayName="MDXCreateElement"},5875:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>f,frontMatter:()=>c,metadata:()=>s,toc:()=>p});var o=r(7462),n=(r(7294),r(3905));const c={},l="Wheel of Fortune",s={unversionedId:"projects/gotsrpc/playground/wheel-of-fortune",id:"projects/gotsrpc/playground/wheel-of-fortune",title:"Wheel of Fortune",description:"Spin the Wheel of Fortune to win a price.",source:"@site/docs/projects/gotsrpc/playground/02_wheel-of-fortune.md",sourceDirName:"projects/gotsrpc/playground",slug:"/projects/gotsrpc/playground/wheel-of-fortune",permalink:"/docs/projects/gotsrpc/playground/wheel-of-fortune",draft:!1,editUrl:"https://github.com/foomo/foomo-docs/tree/main/foomo/docs/projects/gotsrpc/playground/02_wheel-of-fortune.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{},sidebar:"projectsSidebar",previous:{title:"Hello, World!",permalink:"/docs/projects/gotsrpc/playground/hello-world"},next:{title:"Todos",permalink:"/docs/projects/gotsrpc/playground/todos"}},i={},p=[{value:"Go service",id:"go-service",level:2},{value:"Next.js TypeScript client",id:"nextjs-typescript-client",level:2}],a={toc:p},u="wrapper";function f(e){let{components:t,...r}=e;return(0,n.kt)(u,(0,o.Z)({},a,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"wheel-of-fortune"},"Wheel of Fortune"),(0,n.kt)("p",null,"Spin the Wheel of Fortune to win a price."),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"http://localhost:8080/wheel-of-fortune"},"http://localhost:8080/wheel-of-fortune")),(0,n.kt)("p",null,"This example shows the union feature as described here: ",(0,n.kt)("a",{parentName:"p",href:"../service-interfaces/value-objects#union-types"},"../service-interfaces/value-objects#union-types")),(0,n.kt)("h2",{id:"go-service"},"Go service"),(0,n.kt)("p",null,"Service interface defintion"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-go",metastring:'reference title="server/services/wof/service.go"',reference:!0,title:'"server/services/wof/service.go"'},"https://github.com/foomo/gotsrpc-playground/blob/main/server/services/wof/service.go\n")),(0,n.kt)("p",null,"Service implementation"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-go",metastring:'reference title="server/services/helloworld/service.go"',reference:!0,title:'"server/services/helloworld/service.go"'},"https://github.com/foomo/gotsrpc-playground/blob/main/server/server/wof.go\n")),(0,n.kt)("h2",{id:"nextjs-typescript-client"},"Next.js TypeScript client"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-typescript",metastring:'reference title="client/pages/wheel-of-fortune.tsx"',reference:!0,title:'"client/pages/wheel-of-fortune.tsx"'},"https://github.com/foomo/gotsrpc-playground/blob/main/client/pages/wheel-of-fortune.tsx\n")))}f.isMDXComponent=!0}}]);