AK-21/Graphite-Industrial-Intelligence
0
1const require_chunk = require('./chunk-DWy1uDak.cjs');2const __trpc_server_observable = require_chunk.__toESM(require("@trpc/server/observable"));3 4//#region src/links/internals/createChain.ts5/** @internal */6function createChain(opts) {7 return (0, __trpc_server_observable.observable)((observer) => {8 function execute(index = 0, op = opts.op) {9 const next = opts.links[index];10 if (!next) throw new Error("No more links to execute - did you forget to add an ending link?");11 const subscription = next({12 op,13 next(nextOp) {14 const nextObserver = execute(index + 1, nextOp);15 return nextObserver;16 }17 });18 return subscription;19 }20 const obs$ = execute();21 return obs$.subscribe(observer);22 });23}24 25//#endregion26//#region src/links/splitLink.ts27function asArray(value) {28 return Array.isArray(value) ? value : [value];29}30function splitLink(opts) {31 return (runtime) => {32 const yes = asArray(opts.true).map((link) => link(runtime));33 const no = asArray(opts.false).map((link) => link(runtime));34 return (props) => {35 return (0, __trpc_server_observable.observable)((observer) => {36 const links = opts.condition(props.op) ? yes : no;37 return createChain({38 op: props.op,39 links40 }).subscribe(observer);41 });42 };43 };44}45 46//#endregion47Object.defineProperty(exports, 'createChain', {48 enumerable: true,49 get: function () {50 return createChain;51 }52});53Object.defineProperty(exports, 'splitLink', {54 enumerable: true,55 get: function () {56 return splitLink;57 }58});