@descope/sdk-helpers 0.6.0 → 0.8.0
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/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.d.ts +23 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("tslib");const t=(e,t)=>e.length===t.length&&e.every(((e,
|
|
1
|
+
"use strict";var e=require("tslib");const t=(e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r]));var r,s,i,a;function l(e,t){const r=Object.getOwnPropertyNames(e),s=Object.getOwnPropertyNames(t);if(r.length!==s.length)return!1;for(let s=0;s<r.length;s+=1){const i=r[s],a=e[i],o=t[i];if(null===a||null===o){if(a!==o)return!1}else if("object"==typeof a&&"object"==typeof o){if(!l(a,o))return!1}else if(a!==o)return!1}return!0}r=new WeakMap,s=new WeakMap,i=new WeakMap,a=new WeakMap;const o=["=","+","-","@","\t","\r"],n=e=>{const t=(e=>e.length>0&&o.includes(e[0])?`'${e}`:e)(Array.isArray(e)?e.join("; "):String(null!=e?e:""));return t.includes(",")||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t};exports.State=class{constructor(t={},{forceUpdate:o=!1}={}){r.set(this,void 0),s.set(this,{}),i.set(this,0),a.set(this,!0),this.update=t=>{const i="function"==typeof t?t(e.__classPrivateFieldGet(this,r,"f")):t,o=Object.assign(Object.assign({},e.__classPrivateFieldGet(this,r,"f")),i);if(e.__classPrivateFieldGet(this,a,"f")||!l(e.__classPrivateFieldGet(this,r,"f"),o)){const t=e.__classPrivateFieldGet(this,r,"f");e.__classPrivateFieldSet(this,r,o,"f"),Object.freeze(e.__classPrivateFieldGet(this,r,"f")),setTimeout((()=>{Object.values(e.__classPrivateFieldGet(this,s,"f")).forEach((e=>e(o,t,((e,t)=>r=>e[r]!==t[r])(o,t))))}),0)}},e.__classPrivateFieldSet(this,r,t,"f"),e.__classPrivateFieldSet(this,a,o,"f")}get current(){return Object.assign({},e.__classPrivateFieldGet(this,r,"f"))}subscribe(t){return e.__classPrivateFieldSet(this,i,e.__classPrivateFieldGet(this,i,"f")+1,"f"),e.__classPrivateFieldGet(this,s,"f")[e.__classPrivateFieldGet(this,i,"f")]=t,e.__classPrivateFieldGet(this,i,"f").toString()}unsubscribe(t){const r=!!e.__classPrivateFieldGet(this,s,"f")[t];return r&&delete e.__classPrivateFieldGet(this,s,"f")[t],r}unsubscribeAll(){return e.__classPrivateFieldSet(this,s,{},"f"),!0}},exports.compareArrays=t,exports.compose=function(...e){return t=>e.reduce(((e,t)=>t(e)),t)},exports.createSingletonMixin=e=>{const t=Symbol((e=>{const t=e.toString();let r=0;for(let e=0;e<t.length;e++)r=(r<<5)-r+t.charCodeAt(e),r&=r;return r.toString(16)})(e));return r=>{if(r[t])return r;const s=e(r);return s[t]=!0,s}},exports.createTemplate=e=>{const t=document.createElement("template");return t.innerHTML=e,t},exports.debounce=(e,t=500)=>{let r;return function(...s){clearTimeout(r),r=setTimeout((()=>e.apply(this,s)),t)}},exports.decodeJWT=e=>{try{const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(r)}catch(e){return null}},exports.downloadCsv=(e,t)=>{const r=new Blob(["\ufeff"+e],{type:"text/csv;charset=utf-8;"}),s=URL.createObjectURL(r),i=document.createElement("a");i.href=s,i.setAttribute("download",t),document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(s)},exports.escapeCsvValue=n,exports.generateCsv=(e,t)=>[t.map((e=>n(e.header))).join(","),...e.map((e=>t.map((t=>n(e[t.path]))).join(",")))].join("\n"),exports.getUserLocale=function(e){if(e)return{locale:e.toLowerCase(),fallback:e.toLowerCase()};const t=navigator.language;return t?t.includes("-")?{locale:t.toLowerCase(),fallback:t.split("-")[0].toLowerCase()}:{locale:t.toLowerCase(),fallback:t.toLowerCase()}:{locale:"",fallback:""}},exports.isObjEmpty=e=>0===Object.keys(e).length&&e.constructor===Object,exports.isPlainObject=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,exports.kebabCase=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),exports.pathJoin=(...e)=>e.join("/").replace(/\/+/g,"/"),exports.pluralize=e=>(t,...r)=>t.reduce(((t,s,i)=>{var a;return`${t}${s}${(null===(a=null==r?void 0:r[i])||void 0===a?void 0:a[e>1?1:0])||""}`}),""),exports.withMemCache=e=>{let r,s;return(...i)=>(r&&t(r,i)||(r=i,s=e(...i)),s)};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/dom.ts","../../src/generic.ts","../../src/state.ts","../../src/compose.ts","../../src/mixins.ts","../../src/jwt.ts"],"sourcesContent":["export const createTemplate = (templateString: string) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n","// preventing duplicate separators\nexport const pathJoin = (...paths: string[]) =>\n paths.join('/').replace(/\\/+/g, '/');\n\nexport const compareArrays = (array1: any[], array2: any[]) =>\n array1.length === array2.length &&\n array1.every((value: any, index: number) => value === array2[index]);\n\nexport const withMemCache = <I extends any[], O>(fn: (...args: I) => O) => {\n let prevArgs: any[];\n let cache: any;\n return (...args: I) => {\n if (prevArgs && compareArrays(prevArgs, args)) return cache as O;\n\n prevArgs = args;\n cache = fn(...args);\n\n return cache as O;\n };\n};\n\nexport const kebabCase = (str: string) =>\n str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_.]+/g, '-')\n .toLowerCase();\n\nexport const isObjEmpty = (obj: object) =>\n Object.keys(obj).length === 0 && obj.constructor === Object;\n\nexport const pluralize =\n (amount: number) =>\n (strings: TemplateStringsArray, ...expressions: (string | number)[][]) =>\n strings.reduce(\n (acc, str, idx) =>\n `${acc}${str}${expressions?.[idx]?.[amount > 1 ? 1 : 0] || ''}`,\n '',\n );\n\nexport const debounce = (fn: Function, ms = 500) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function debounced(this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n};\n\nexport const isPlainObject = (obj: unknown) =>\n obj !== null &&\n typeof obj === 'object' &&\n Object.getPrototypeOf(obj) === Object.prototype;\n","const createIsChanged =\n <T extends Record<string, any>>(state: T, prevState: T) =>\n (attrName: keyof T) =>\n state[attrName] !== prevState[attrName];\n\ntype StateObject = Record<string, any>;\n\ntype UpdateStateCb<T> = (state: T) => Partial<T>;\ntype Subscribers<T> = Record<string, SubscribeCb<T>>;\n\n// eslint-disable-next-line import/exports-last\nexport type SubscribeCb<T> = (\n state: T,\n prevState: T,\n isChanged: ReturnType<typeof createIsChanged>,\n) => void | Promise<void>;\n\nfunction compareObjects(\n objectA: Record<string, any>,\n objectB: Record<string, any>,\n) {\n const aProperties = Object.getOwnPropertyNames(objectA);\n const bProperties = Object.getOwnPropertyNames(objectB);\n\n if (aProperties.length !== bProperties.length) {\n return false;\n }\n\n for (let i = 0; i < aProperties.length; i += 1) {\n const propName = aProperties[i];\n\n const valA = objectA[propName];\n const valB = objectB[propName];\n if (valA === null || valB === null) {\n if (valA !== valB) {\n return false;\n }\n } else if (typeof valA === 'object' && typeof valB === 'object') {\n // compare nested objects\n if (!compareObjects(valA, valB)) {\n return false;\n }\n } else if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nexport type IsChanged<T> = Parameters<SubscribeCb<T>>[2];\n\nexport class State<T extends StateObject> {\n #state: T;\n\n #subscribers: Subscribers<T> = {};\n\n #token = 0;\n\n #forceUpdate = true;\n\n constructor(init: T = {} as T, { forceUpdate = false } = {}) {\n this.#state = init;\n this.#forceUpdate = forceUpdate;\n }\n\n get current() {\n return { ...this.#state };\n }\n\n update = (newState: Partial<T> | UpdateStateCb<T>) => {\n const internalNewState =\n typeof newState === 'function' ? newState(this.#state) : newState;\n\n const nextState = { ...this.#state, ...internalNewState };\n if (this.#forceUpdate || !compareObjects(this.#state, nextState)) {\n const prevState = this.#state;\n this.#state = nextState;\n Object.freeze(this.#state);\n\n setTimeout(() => {\n Object.values(this.#subscribers).forEach((cb) =>\n cb(nextState, prevState, createIsChanged(nextState, prevState)),\n );\n }, 0);\n }\n };\n\n subscribe(cb: SubscribeCb<T>) {\n this.#token += 1;\n this.#subscribers[this.#token] = cb;\n\n return this.#token.toString();\n }\n\n unsubscribe(token: string) {\n const isFound = !!this.#subscribers[token];\n\n if (isFound) {\n delete this.#subscribers[token];\n }\n\n return isFound;\n }\n\n unsubscribeAll() {\n this.#subscribers = {};\n\n return true;\n }\n}\n","type Fn = (arg: any) => any;\n\nexport function compose<Input, A1>(\n fn1: (input: Input) => A1,\n): (input: Input) => A1;\n\nexport function compose<Input, A1, A2>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n): (input: Input) => A2;\n\nexport function compose<Input, A1, A2, A3>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n): (input: Input) => A3;\n\nexport function compose<Input, A1, A2, A3, A4>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n): (input: Input) => A4;\n\nexport function compose<Input, A1, A2, A3, A4, A5>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n): (input: Input) => A5;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n): (input: Input) => A6;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n): (input: Input) => A7;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n): (input: Input) => A8;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n): (input: Input) => A9;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n): (input: Input) => A10;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n): (input: Input) => A11;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n): (input: Input) => A12;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n): (input: Input) => A13;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n): (input: Input) => A14;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n): (input: Input) => A15;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n): (input: Input) => A16;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n): (input: Input) => A17;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n): (input: Input) => A18;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n): (input: Input) => A19;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n): (input: Input) => A20;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n): (input: Input) => A21;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n): (input: Input) => A22;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n): (input: Input) => A23;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n): (input: Input) => A24;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n): (input: Input) => A25;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n): (input: Input) => A26;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n): (input: Input) => A27;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n): (input: Input) => A28;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n): (input: Input) => A29;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n): (input: Input) => A30;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n): (input: Input) => A31;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n): (input: Input) => A32;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n): (input: Input) => A33;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n): (input: Input) => A34;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n): (input: Input) => A35;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n): (input: Input) => A36;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n): (input: Input) => A37;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n): (input: Input) => A38;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n): (input: Input) => A39;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n): (input: Input) => A40;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n): (input: Input) => A41;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n): (input: Input) => A42;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n): (input: Input) => A43;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n): (input: Input) => A44;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n): (input: Input) => A45;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n): (input: Input) => A46;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n): (input: Input) => A47;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n): (input: Input) => A48;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n): (input: Input) => A49;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n A50,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n fn50: (input: A49) => A50,\n): (input: Input) => A50;\n\n/**\n * Currently there is no way to create a compose function in Typescript without using overloading\n * This function currently support up to 50 wrappers\n * If needed you can add more by duplicating the type and add more parameters\n */\n\nexport function compose(...args: Fn[]) {\n return (data: any) => args.reduce((acc, elem) => elem(acc), data) as any;\n}\n","const getFunctionHash = (fn: Function) => {\n const functionSource = fn.toString();\n\n let hash = 0;\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < functionSource.length; i++) {\n const char = functionSource.charCodeAt(i);\n // eslint-disable-next-line no-bitwise\n hash = (hash << 5) - hash + char;\n // eslint-disable-next-line no-bitwise\n hash &= hash; // Convert to 32-bit integer\n }\n\n return hash.toString(16);\n};\n\ntype Mixin = (superclass: CustomElementConstructor) => CustomElementConstructor;\n\n// because a single mixin can be a dependency for many other mixins, a mixin can be loaded multiple times\n// some mixins should not be loaded multiple times, wrapping a mixin with this fn ensures it will load only once\nexport const createSingletonMixin = <T extends Mixin>(mixin: T): T => {\n const mixinNameSym = Symbol(getFunctionHash(mixin));\n\n const singletonMixin = (superclass: CustomElementConstructor) => {\n if (superclass[mixinNameSym]) {\n return superclass;\n }\n\n const cls = mixin(superclass);\n cls[mixinNameSym] = true;\n\n return cls;\n };\n\n return singletonMixin as T;\n};\n","// Helper function to decode JWT and extract claims\nexport const decodeJWT = (token: string) => {\n try {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n .join(''),\n );\n return JSON.parse(jsonPayload);\n } catch (e) {\n return null;\n }\n};\n"],"names":["compareArrays","array1","array2","length","every","value","index","compareObjects","objectA","objectB","aProperties","Object","getOwnPropertyNames","bProperties","i","propName","valA","valB","constructor","init","forceUpdate","_State_state","set","this","_State_subscribers","_State_token","_State_forceUpdate","update","newState","internalNewState","__classPrivateFieldGet","nextState","prevState","__classPrivateFieldSet","freeze","setTimeout","values","forEach","cb","state","attrName","createIsChanged","current","assign","subscribe","toString","unsubscribe","token","isFound","unsubscribeAll","args","data","reduce","acc","elem","mixin","mixinNameSym","Symbol","fn","functionSource","hash","charCodeAt","getFunctionHash","superclass","cls","templateString","template","document","createElement","innerHTML","ms","timeoutId","clearTimeout","apply","base64","split","replace","jsonPayload","decodeURIComponent","atob","map","c","slice","join","JSON","parse","e","obj","keys","getPrototypeOf","prototype","str","toLowerCase","paths","amount","strings","expressions","idx","_a","prevArgs","cache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/dom.ts","../../src/generic.ts","../../src/state.ts","../../src/jwt.ts","../../src/csv.ts","../../src/compose.ts","../../src/mixins.ts","../../src/locale.ts"],"sourcesContent":["export const createTemplate = (templateString: string) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n","// preventing duplicate separators\nexport const pathJoin = (...paths: string[]) =>\n paths.join('/').replace(/\\/+/g, '/');\n\nexport const compareArrays = (array1: any[], array2: any[]) =>\n array1.length === array2.length &&\n array1.every((value: any, index: number) => value === array2[index]);\n\nexport const withMemCache = <I extends any[], O>(fn: (...args: I) => O) => {\n let prevArgs: any[];\n let cache: any;\n return (...args: I) => {\n if (prevArgs && compareArrays(prevArgs, args)) return cache as O;\n\n prevArgs = args;\n cache = fn(...args);\n\n return cache as O;\n };\n};\n\nexport const kebabCase = (str: string) =>\n str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_.]+/g, '-')\n .toLowerCase();\n\nexport const isObjEmpty = (obj: object) =>\n Object.keys(obj).length === 0 && obj.constructor === Object;\n\nexport const pluralize =\n (amount: number) =>\n (strings: TemplateStringsArray, ...expressions: (string | number)[][]) =>\n strings.reduce(\n (acc, str, idx) =>\n `${acc}${str}${expressions?.[idx]?.[amount > 1 ? 1 : 0] || ''}`,\n '',\n );\n\nexport const debounce = (fn: Function, ms = 500) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function debounced(this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n};\n\nexport const isPlainObject = (obj: unknown) =>\n obj !== null &&\n typeof obj === 'object' &&\n Object.getPrototypeOf(obj) === Object.prototype;\n","const createIsChanged =\n <T extends Record<string, any>>(state: T, prevState: T) =>\n (attrName: keyof T) =>\n state[attrName] !== prevState[attrName];\n\ntype StateObject = Record<string, any>;\n\ntype UpdateStateCb<T> = (state: T) => Partial<T>;\ntype Subscribers<T> = Record<string, SubscribeCb<T>>;\n\n// eslint-disable-next-line import/exports-last\nexport type SubscribeCb<T> = (\n state: T,\n prevState: T,\n isChanged: ReturnType<typeof createIsChanged>,\n) => void | Promise<void>;\n\nfunction compareObjects(\n objectA: Record<string, any>,\n objectB: Record<string, any>,\n) {\n const aProperties = Object.getOwnPropertyNames(objectA);\n const bProperties = Object.getOwnPropertyNames(objectB);\n\n if (aProperties.length !== bProperties.length) {\n return false;\n }\n\n for (let i = 0; i < aProperties.length; i += 1) {\n const propName = aProperties[i];\n\n const valA = objectA[propName];\n const valB = objectB[propName];\n if (valA === null || valB === null) {\n if (valA !== valB) {\n return false;\n }\n } else if (typeof valA === 'object' && typeof valB === 'object') {\n // compare nested objects\n if (!compareObjects(valA, valB)) {\n return false;\n }\n } else if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nexport type IsChanged<T> = Parameters<SubscribeCb<T>>[2];\n\nexport class State<T extends StateObject> {\n #state: T;\n\n #subscribers: Subscribers<T> = {};\n\n #token = 0;\n\n #forceUpdate = true;\n\n constructor(init: T = {} as T, { forceUpdate = false } = {}) {\n this.#state = init;\n this.#forceUpdate = forceUpdate;\n }\n\n get current() {\n return { ...this.#state };\n }\n\n update = (newState: Partial<T> | UpdateStateCb<T>) => {\n const internalNewState =\n typeof newState === 'function' ? newState(this.#state) : newState;\n\n const nextState = { ...this.#state, ...internalNewState };\n if (this.#forceUpdate || !compareObjects(this.#state, nextState)) {\n const prevState = this.#state;\n this.#state = nextState;\n Object.freeze(this.#state);\n\n setTimeout(() => {\n Object.values(this.#subscribers).forEach((cb) =>\n cb(nextState, prevState, createIsChanged(nextState, prevState)),\n );\n }, 0);\n }\n };\n\n subscribe(cb: SubscribeCb<T>) {\n this.#token += 1;\n this.#subscribers[this.#token] = cb;\n\n return this.#token.toString();\n }\n\n unsubscribe(token: string) {\n const isFound = !!this.#subscribers[token];\n\n if (isFound) {\n delete this.#subscribers[token];\n }\n\n return isFound;\n }\n\n unsubscribeAll() {\n this.#subscribers = {};\n\n return true;\n }\n}\n","// Helper function to decode JWT and extract claims\nexport const decodeJWT = (token: string) => {\n try {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n .join(''),\n );\n return JSON.parse(jsonPayload);\n } catch (e) {\n return null;\n }\n};\n","const FORMULA_PREFIXES = ['=', '+', '-', '@', '\\t', '\\r'];\n\nconst sanitizeFormulaInjection = (str: string): string => {\n if (str.length > 0 && FORMULA_PREFIXES.includes(str[0])) {\n return `'${str}`;\n }\n return str;\n};\n\nexport const escapeCsvValue = (value: unknown): string => {\n const raw = Array.isArray(value) ? value.join('; ') : String(value ?? '');\n const str = sanitizeFormulaInjection(raw);\n if (\n str.includes(',') ||\n str.includes('\"') ||\n str.includes('\\n') ||\n str.includes('\\r')\n ) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n};\n\nexport const generateCsv = (\n records: Record<string, unknown>[],\n columns: { header: string; path: string }[],\n): string => {\n const header = columns.map((col) => escapeCsvValue(col.header)).join(',');\n const rows = records.map((record) =>\n columns.map((col) => escapeCsvValue(record[col.path])).join(','),\n );\n return [header, ...rows].join('\\n');\n};\n\nexport const downloadCsv = (csv: string, filename: string) => {\n const blob = new Blob(['\\uFEFF' + csv], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n};\n","type Fn = (arg: any) => any;\n\nexport function compose<Input, A1>(\n fn1: (input: Input) => A1,\n): (input: Input) => A1;\n\nexport function compose<Input, A1, A2>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n): (input: Input) => A2;\n\nexport function compose<Input, A1, A2, A3>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n): (input: Input) => A3;\n\nexport function compose<Input, A1, A2, A3, A4>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n): (input: Input) => A4;\n\nexport function compose<Input, A1, A2, A3, A4, A5>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n): (input: Input) => A5;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n): (input: Input) => A6;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n): (input: Input) => A7;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n): (input: Input) => A8;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n): (input: Input) => A9;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n): (input: Input) => A10;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n): (input: Input) => A11;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n): (input: Input) => A12;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n): (input: Input) => A13;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n): (input: Input) => A14;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n): (input: Input) => A15;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n): (input: Input) => A16;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n): (input: Input) => A17;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n): (input: Input) => A18;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n): (input: Input) => A19;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n): (input: Input) => A20;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n): (input: Input) => A21;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n): (input: Input) => A22;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n): (input: Input) => A23;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n): (input: Input) => A24;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n): (input: Input) => A25;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n): (input: Input) => A26;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n): (input: Input) => A27;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n): (input: Input) => A28;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n): (input: Input) => A29;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n): (input: Input) => A30;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n): (input: Input) => A31;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n): (input: Input) => A32;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n): (input: Input) => A33;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n): (input: Input) => A34;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n): (input: Input) => A35;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n): (input: Input) => A36;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n): (input: Input) => A37;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n): (input: Input) => A38;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n): (input: Input) => A39;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n): (input: Input) => A40;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n): (input: Input) => A41;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n): (input: Input) => A42;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n): (input: Input) => A43;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n): (input: Input) => A44;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n): (input: Input) => A45;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n): (input: Input) => A46;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n): (input: Input) => A47;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n): (input: Input) => A48;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n): (input: Input) => A49;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n A50,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n fn50: (input: A49) => A50,\n): (input: Input) => A50;\n\n/**\n * Currently there is no way to create a compose function in Typescript without using overloading\n * This function currently support up to 50 wrappers\n * If needed you can add more by duplicating the type and add more parameters\n */\n\nexport function compose(...args: Fn[]) {\n return (data: any) => args.reduce((acc, elem) => elem(acc), data) as any;\n}\n","const getFunctionHash = (fn: Function) => {\n const functionSource = fn.toString();\n\n let hash = 0;\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < functionSource.length; i++) {\n const char = functionSource.charCodeAt(i);\n // eslint-disable-next-line no-bitwise\n hash = (hash << 5) - hash + char;\n // eslint-disable-next-line no-bitwise\n hash &= hash; // Convert to 32-bit integer\n }\n\n return hash.toString(16);\n};\n\ntype Mixin = (superclass: CustomElementConstructor) => CustomElementConstructor;\n\n// because a single mixin can be a dependency for many other mixins, a mixin can be loaded multiple times\n// some mixins should not be loaded multiple times, wrapping a mixin with this fn ensures it will load only once\nexport const createSingletonMixin = <T extends Mixin>(mixin: T): T => {\n const mixinNameSym = Symbol(getFunctionHash(mixin));\n\n const singletonMixin = (superclass: CustomElementConstructor) => {\n if (superclass[mixinNameSym]) {\n return superclass;\n }\n\n const cls = mixin(superclass);\n cls[mixinNameSym] = true;\n\n return cls;\n };\n\n return singletonMixin as T;\n};\n","export type Locale = {\n locale: string;\n fallback: string;\n};\n\n/**\n * Resolves the user-facing locale, shared by the web-component flow runtime and the widget mixins\n * so both resolve locale identically.\n *\n * Order:\n * 1. Explicit locale argument (lowercased), used as its own fallback\n * 2. navigator.language (lowercased), with the language part as fallback for 'xx-YY' forms\n * 3. Empty strings\n */\nexport function getUserLocale(locale: string): Locale {\n if (locale) {\n return { locale: locale.toLowerCase(), fallback: locale.toLowerCase() };\n }\n const nl = navigator.language;\n if (!nl) {\n return { locale: '', fallback: '' };\n }\n\n if (nl.includes('-')) {\n return {\n locale: nl.toLowerCase(),\n fallback: nl.split('-')[0].toLowerCase(),\n };\n }\n\n return { locale: nl.toLowerCase(), fallback: nl.toLowerCase() };\n}\n"],"names":["compareArrays","array1","array2","length","every","value","index","compareObjects","objectA","objectB","aProperties","Object","getOwnPropertyNames","bProperties","i","propName","valA","valB","FORMULA_PREFIXES","escapeCsvValue","str","includes","sanitizeFormulaInjection","Array","isArray","join","String","replace","constructor","init","forceUpdate","_State_state","set","this","_State_subscribers","_State_token","_State_forceUpdate","update","newState","internalNewState","__classPrivateFieldGet","nextState","prevState","__classPrivateFieldSet","freeze","setTimeout","values","forEach","cb","state","attrName","createIsChanged","current","assign","subscribe","toString","unsubscribe","token","isFound","unsubscribeAll","args","data","reduce","acc","elem","mixin","mixinNameSym","Symbol","fn","functionSource","hash","charCodeAt","getFunctionHash","superclass","cls","templateString","template","document","createElement","innerHTML","ms","timeoutId","clearTimeout","apply","base64","split","jsonPayload","decodeURIComponent","atob","map","c","slice","JSON","parse","e","csv","filename","blob","Blob","type","url","URL","createObjectURL","link","href","setAttribute","body","appendChild","click","removeChild","revokeObjectURL","records","columns","col","header","record","path","locale","toLowerCase","fallback","nl","navigator","language","obj","keys","getPrototypeOf","prototype","paths","amount","strings","expressions","idx","_a","prevArgs","cache"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -82,4 +82,26 @@ declare class State<T extends StateObject> {
|
|
|
82
82
|
|
|
83
83
|
declare const decodeJWT: (token: string) => any;
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
declare const escapeCsvValue: (value: unknown) => string;
|
|
86
|
+
declare const generateCsv: (records: Record<string, unknown>[], columns: {
|
|
87
|
+
header: string;
|
|
88
|
+
path: string;
|
|
89
|
+
}[]) => string;
|
|
90
|
+
declare const downloadCsv: (csv: string, filename: string) => void;
|
|
91
|
+
|
|
92
|
+
type Locale = {
|
|
93
|
+
locale: string;
|
|
94
|
+
fallback: string;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Resolves the user-facing locale, shared by the web-component flow runtime and the widget mixins
|
|
98
|
+
* so both resolve locale identically.
|
|
99
|
+
*
|
|
100
|
+
* Order:
|
|
101
|
+
* 1. Explicit locale argument (lowercased), used as its own fallback
|
|
102
|
+
* 2. navigator.language (lowercased), with the language part as fallback for 'xx-YY' forms
|
|
103
|
+
* 3. Empty strings
|
|
104
|
+
*/
|
|
105
|
+
declare function getUserLocale(locale: string): Locale;
|
|
106
|
+
|
|
107
|
+
export { type IsChanged, type Locale, State, type SubscribeCb, compareArrays, compose, createSingletonMixin, createTemplate, debounce, decodeJWT, downloadCsv, escapeCsvValue, generateCsv, getUserLocale, isObjEmpty, isPlainObject, kebabCase, pathJoin, pluralize, withMemCache };
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__classPrivateFieldGet as
|
|
1
|
+
import{__classPrivateFieldGet as e,__classPrivateFieldSet as t}from"tslib";function r(...e){return t=>e.reduce(((e,t)=>t(e)),t)}const n=e=>{const t=document.createElement("template");return t.innerHTML=e,t},o=(...e)=>e.join("/").replace(/\/+/g,"/"),s=(e,t)=>e.length===t.length&&e.every(((e,r)=>e===t[r])),c=e=>{let t,r;return(...n)=>(t&&s(t,n)||(t=n,r=e(...n)),r)},i=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_.]+/g,"-").toLowerCase(),l=e=>0===Object.keys(e).length&&e.constructor===Object,a=e=>(t,...r)=>t.reduce(((t,n,o)=>{var s;return`${t}${n}${(null===(s=null==r?void 0:r[o])||void 0===s?void 0:s[e>1?1:0])||""}`}),""),u=(e,t=500)=>{let r;return function(...n){clearTimeout(r),r=setTimeout((()=>e.apply(this,n)),t)}},f=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,h=e=>{const t=Symbol((e=>{const t=e.toString();let r=0;for(let e=0;e<t.length;e++)r=(r<<5)-r+t.charCodeAt(e),r&=r;return r.toString(16)})(e));return r=>{if(r[t])return r;const n=e(r);return n[t]=!0,n}};var p,b,d,g;function j(e,t){const r=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(t);if(r.length!==n.length)return!1;for(let n=0;n<r.length;n+=1){const o=r[n],s=e[o],c=t[o];if(null===s||null===c){if(s!==c)return!1}else if("object"==typeof s&&"object"==typeof c){if(!j(s,c))return!1}else if(s!==c)return!1}return!0}class m{constructor(r={},{forceUpdate:n=!1}={}){p.set(this,void 0),b.set(this,{}),d.set(this,0),g.set(this,!0),this.update=r=>{const n="function"==typeof r?r(e(this,p,"f")):r,o=Object.assign(Object.assign({},e(this,p,"f")),n);if(e(this,g,"f")||!j(e(this,p,"f"),o)){const r=e(this,p,"f");t(this,p,o,"f"),Object.freeze(e(this,p,"f")),setTimeout((()=>{Object.values(e(this,b,"f")).forEach((e=>e(o,r,((e,t)=>r=>e[r]!==t[r])(o,r))))}),0)}},t(this,p,r,"f"),t(this,g,n,"f")}get current(){return Object.assign({},e(this,p,"f"))}subscribe(r){return t(this,d,e(this,d,"f")+1,"f"),e(this,b,"f")[e(this,d,"f")]=r,e(this,d,"f").toString()}unsubscribe(t){const r=!!e(this,b,"f")[t];return r&&delete e(this,b,"f")[t],r}unsubscribeAll(){return t(this,b,{},"f"),!0}}p=new WeakMap,b=new WeakMap,d=new WeakMap,g=new WeakMap;const y=e=>{try{const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r=decodeURIComponent(atob(t).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(r)}catch(e){return null}},O=["=","+","-","@","\t","\r"],w=e=>{const t=(e=>e.length>0&&O.includes(e[0])?`'${e}`:e)(Array.isArray(e)?e.join("; "):String(null!=e?e:""));return t.includes(",")||t.includes('"')||t.includes("\n")||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t},v=(e,t)=>[t.map((e=>w(e.header))).join(","),...e.map((e=>t.map((t=>w(e[t.path]))).join(",")))].join("\n"),C=(e,t)=>{const r=new Blob(["\ufeff"+e],{type:"text/csv;charset=utf-8;"}),n=URL.createObjectURL(r),o=document.createElement("a");o.href=n,o.setAttribute("download",t),document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(n)};function L(e){if(e)return{locale:e.toLowerCase(),fallback:e.toLowerCase()};const t=navigator.language;return t?t.includes("-")?{locale:t.toLowerCase(),fallback:t.split("-")[0].toLowerCase()}:{locale:t.toLowerCase(),fallback:t.toLowerCase()}:{locale:"",fallback:""}}export{m as State,s as compareArrays,r as compose,h as createSingletonMixin,n as createTemplate,u as debounce,y as decodeJWT,C as downloadCsv,w as escapeCsvValue,v as generateCsv,L as getUserLocale,l as isObjEmpty,f as isPlainObject,i as kebabCase,o as pathJoin,a as pluralize,c as withMemCache};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/compose.ts","../src/dom.ts","../src/generic.ts","../src/mixins.ts","../src/state.ts","../src/jwt.ts"],"sourcesContent":["type Fn = (arg: any) => any;\n\nexport function compose<Input, A1>(\n fn1: (input: Input) => A1,\n): (input: Input) => A1;\n\nexport function compose<Input, A1, A2>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n): (input: Input) => A2;\n\nexport function compose<Input, A1, A2, A3>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n): (input: Input) => A3;\n\nexport function compose<Input, A1, A2, A3, A4>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n): (input: Input) => A4;\n\nexport function compose<Input, A1, A2, A3, A4, A5>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n): (input: Input) => A5;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n): (input: Input) => A6;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n): (input: Input) => A7;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n): (input: Input) => A8;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n): (input: Input) => A9;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n): (input: Input) => A10;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n): (input: Input) => A11;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n): (input: Input) => A12;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n): (input: Input) => A13;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n): (input: Input) => A14;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n): (input: Input) => A15;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n): (input: Input) => A16;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n): (input: Input) => A17;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n): (input: Input) => A18;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n): (input: Input) => A19;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n): (input: Input) => A20;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n): (input: Input) => A21;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n): (input: Input) => A22;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n): (input: Input) => A23;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n): (input: Input) => A24;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n): (input: Input) => A25;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n): (input: Input) => A26;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n): (input: Input) => A27;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n): (input: Input) => A28;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n): (input: Input) => A29;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n): (input: Input) => A30;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n): (input: Input) => A31;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n): (input: Input) => A32;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n): (input: Input) => A33;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n): (input: Input) => A34;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n): (input: Input) => A35;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n): (input: Input) => A36;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n): (input: Input) => A37;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n): (input: Input) => A38;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n): (input: Input) => A39;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n): (input: Input) => A40;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n): (input: Input) => A41;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n): (input: Input) => A42;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n): (input: Input) => A43;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n): (input: Input) => A44;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n): (input: Input) => A45;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n): (input: Input) => A46;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n): (input: Input) => A47;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n): (input: Input) => A48;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n): (input: Input) => A49;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n A50,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n fn50: (input: A49) => A50,\n): (input: Input) => A50;\n\n/**\n * Currently there is no way to create a compose function in Typescript without using overloading\n * This function currently support up to 50 wrappers\n * If needed you can add more by duplicating the type and add more parameters\n */\n\nexport function compose(...args: Fn[]) {\n return (data: any) => args.reduce((acc, elem) => elem(acc), data) as any;\n}\n","export const createTemplate = (templateString: string) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n","// preventing duplicate separators\nexport const pathJoin = (...paths: string[]) =>\n paths.join('/').replace(/\\/+/g, '/');\n\nexport const compareArrays = (array1: any[], array2: any[]) =>\n array1.length === array2.length &&\n array1.every((value: any, index: number) => value === array2[index]);\n\nexport const withMemCache = <I extends any[], O>(fn: (...args: I) => O) => {\n let prevArgs: any[];\n let cache: any;\n return (...args: I) => {\n if (prevArgs && compareArrays(prevArgs, args)) return cache as O;\n\n prevArgs = args;\n cache = fn(...args);\n\n return cache as O;\n };\n};\n\nexport const kebabCase = (str: string) =>\n str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_.]+/g, '-')\n .toLowerCase();\n\nexport const isObjEmpty = (obj: object) =>\n Object.keys(obj).length === 0 && obj.constructor === Object;\n\nexport const pluralize =\n (amount: number) =>\n (strings: TemplateStringsArray, ...expressions: (string | number)[][]) =>\n strings.reduce(\n (acc, str, idx) =>\n `${acc}${str}${expressions?.[idx]?.[amount > 1 ? 1 : 0] || ''}`,\n '',\n );\n\nexport const debounce = (fn: Function, ms = 500) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function debounced(this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n};\n\nexport const isPlainObject = (obj: unknown) =>\n obj !== null &&\n typeof obj === 'object' &&\n Object.getPrototypeOf(obj) === Object.prototype;\n","const getFunctionHash = (fn: Function) => {\n const functionSource = fn.toString();\n\n let hash = 0;\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < functionSource.length; i++) {\n const char = functionSource.charCodeAt(i);\n // eslint-disable-next-line no-bitwise\n hash = (hash << 5) - hash + char;\n // eslint-disable-next-line no-bitwise\n hash &= hash; // Convert to 32-bit integer\n }\n\n return hash.toString(16);\n};\n\ntype Mixin = (superclass: CustomElementConstructor) => CustomElementConstructor;\n\n// because a single mixin can be a dependency for many other mixins, a mixin can be loaded multiple times\n// some mixins should not be loaded multiple times, wrapping a mixin with this fn ensures it will load only once\nexport const createSingletonMixin = <T extends Mixin>(mixin: T): T => {\n const mixinNameSym = Symbol(getFunctionHash(mixin));\n\n const singletonMixin = (superclass: CustomElementConstructor) => {\n if (superclass[mixinNameSym]) {\n return superclass;\n }\n\n const cls = mixin(superclass);\n cls[mixinNameSym] = true;\n\n return cls;\n };\n\n return singletonMixin as T;\n};\n","const createIsChanged =\n <T extends Record<string, any>>(state: T, prevState: T) =>\n (attrName: keyof T) =>\n state[attrName] !== prevState[attrName];\n\ntype StateObject = Record<string, any>;\n\ntype UpdateStateCb<T> = (state: T) => Partial<T>;\ntype Subscribers<T> = Record<string, SubscribeCb<T>>;\n\n// eslint-disable-next-line import/exports-last\nexport type SubscribeCb<T> = (\n state: T,\n prevState: T,\n isChanged: ReturnType<typeof createIsChanged>,\n) => void | Promise<void>;\n\nfunction compareObjects(\n objectA: Record<string, any>,\n objectB: Record<string, any>,\n) {\n const aProperties = Object.getOwnPropertyNames(objectA);\n const bProperties = Object.getOwnPropertyNames(objectB);\n\n if (aProperties.length !== bProperties.length) {\n return false;\n }\n\n for (let i = 0; i < aProperties.length; i += 1) {\n const propName = aProperties[i];\n\n const valA = objectA[propName];\n const valB = objectB[propName];\n if (valA === null || valB === null) {\n if (valA !== valB) {\n return false;\n }\n } else if (typeof valA === 'object' && typeof valB === 'object') {\n // compare nested objects\n if (!compareObjects(valA, valB)) {\n return false;\n }\n } else if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nexport type IsChanged<T> = Parameters<SubscribeCb<T>>[2];\n\nexport class State<T extends StateObject> {\n #state: T;\n\n #subscribers: Subscribers<T> = {};\n\n #token = 0;\n\n #forceUpdate = true;\n\n constructor(init: T = {} as T, { forceUpdate = false } = {}) {\n this.#state = init;\n this.#forceUpdate = forceUpdate;\n }\n\n get current() {\n return { ...this.#state };\n }\n\n update = (newState: Partial<T> | UpdateStateCb<T>) => {\n const internalNewState =\n typeof newState === 'function' ? newState(this.#state) : newState;\n\n const nextState = { ...this.#state, ...internalNewState };\n if (this.#forceUpdate || !compareObjects(this.#state, nextState)) {\n const prevState = this.#state;\n this.#state = nextState;\n Object.freeze(this.#state);\n\n setTimeout(() => {\n Object.values(this.#subscribers).forEach((cb) =>\n cb(nextState, prevState, createIsChanged(nextState, prevState)),\n );\n }, 0);\n }\n };\n\n subscribe(cb: SubscribeCb<T>) {\n this.#token += 1;\n this.#subscribers[this.#token] = cb;\n\n return this.#token.toString();\n }\n\n unsubscribe(token: string) {\n const isFound = !!this.#subscribers[token];\n\n if (isFound) {\n delete this.#subscribers[token];\n }\n\n return isFound;\n }\n\n unsubscribeAll() {\n this.#subscribers = {};\n\n return true;\n }\n}\n","// Helper function to decode JWT and extract claims\nexport const decodeJWT = (token: string) => {\n try {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n .join(''),\n );\n return JSON.parse(jsonPayload);\n } catch (e) {\n return null;\n }\n};\n"],"names":["compose","args","data","reduce","acc","elem","createTemplate","templateString","template","document","createElement","innerHTML","pathJoin","paths","join","replace","compareArrays","array1","array2","length","every","value","index","withMemCache","fn","prevArgs","cache","kebabCase","str","toLowerCase","isObjEmpty","obj","Object","keys","constructor","pluralize","amount","strings","expressions","idx","_a","debounce","ms","timeoutId","clearTimeout","setTimeout","apply","this","isPlainObject","getPrototypeOf","prototype","createSingletonMixin","mixin","mixinNameSym","Symbol","functionSource","toString","hash","i","charCodeAt","getFunctionHash","superclass","cls","compareObjects","objectA","objectB","aProperties","getOwnPropertyNames","bProperties","propName","valA","valB","State","init","forceUpdate","_State_state","set","_State_subscribers","_State_token","_State_forceUpdate","update","newState","internalNewState","__classPrivateFieldGet","nextState","prevState","__classPrivateFieldSet","freeze","values","forEach","cb","state","attrName","createIsChanged","current","assign","subscribe","unsubscribe","token","isFound","unsubscribeAll","decodeJWT","base64","split","jsonPayload","decodeURIComponent","atob","map","c","slice","JSON","parse","e"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/compose.ts","../src/dom.ts","../src/generic.ts","../src/mixins.ts","../src/state.ts","../src/jwt.ts","../src/csv.ts","../src/locale.ts"],"sourcesContent":["type Fn = (arg: any) => any;\n\nexport function compose<Input, A1>(\n fn1: (input: Input) => A1,\n): (input: Input) => A1;\n\nexport function compose<Input, A1, A2>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n): (input: Input) => A2;\n\nexport function compose<Input, A1, A2, A3>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n): (input: Input) => A3;\n\nexport function compose<Input, A1, A2, A3, A4>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n): (input: Input) => A4;\n\nexport function compose<Input, A1, A2, A3, A4, A5>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n): (input: Input) => A5;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n): (input: Input) => A6;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n): (input: Input) => A7;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n): (input: Input) => A8;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n): (input: Input) => A9;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n): (input: Input) => A10;\n\nexport function compose<Input, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n): (input: Input) => A11;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n): (input: Input) => A12;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n): (input: Input) => A13;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n): (input: Input) => A14;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n): (input: Input) => A15;\n\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n): (input: Input) => A16;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n): (input: Input) => A17;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n): (input: Input) => A18;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n): (input: Input) => A19;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n): (input: Input) => A20;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n): (input: Input) => A21;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n): (input: Input) => A22;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n): (input: Input) => A23;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n): (input: Input) => A24;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n): (input: Input) => A25;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n): (input: Input) => A26;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n): (input: Input) => A27;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n): (input: Input) => A28;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n): (input: Input) => A29;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n): (input: Input) => A30;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n): (input: Input) => A31;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n): (input: Input) => A32;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n): (input: Input) => A33;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n): (input: Input) => A34;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n): (input: Input) => A35;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n): (input: Input) => A36;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n): (input: Input) => A37;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n): (input: Input) => A38;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n): (input: Input) => A39;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n): (input: Input) => A40;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n): (input: Input) => A41;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n): (input: Input) => A42;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n): (input: Input) => A43;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n): (input: Input) => A44;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n): (input: Input) => A45;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n): (input: Input) => A46;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n): (input: Input) => A47;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n): (input: Input) => A48;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n): (input: Input) => A49;\nexport function compose<\n Input,\n A1,\n A2,\n A3,\n A4,\n A5,\n A6,\n A7,\n A8,\n A9,\n A10,\n A11,\n A12,\n A13,\n A14,\n A15,\n A16,\n A17,\n A18,\n A19,\n A20,\n A21,\n A22,\n A23,\n A24,\n A25,\n A26,\n A27,\n A28,\n A29,\n A30,\n A31,\n A32,\n A33,\n A34,\n A35,\n A36,\n A37,\n A38,\n A39,\n A40,\n A41,\n A42,\n A43,\n A44,\n A45,\n A46,\n A47,\n A48,\n A49,\n A50,\n>(\n fn1: (input: Input) => A1,\n fn2: (input: A1) => A2,\n fn3: (input: A2) => A3,\n fn4: (input: A3) => A4,\n fn5: (input: A4) => A5,\n fn6: (input: A5) => A6,\n fn7: (input: A6) => A7,\n fn8: (input: A7) => A8,\n fn9: (input: A8) => A9,\n fn10: (input: A9) => A10,\n fn11: (input: A10) => A11,\n fn12: (input: A11) => A12,\n fn13: (input: A12) => A13,\n fn14: (input: A13) => A14,\n fn15: (input: A14) => A15,\n fn16: (input: A15) => A16,\n fn17: (input: A16) => A17,\n fn18: (input: A17) => A18,\n fn19: (input: A18) => A19,\n fn20: (input: A19) => A20,\n fn21: (input: A20) => A21,\n fn22: (input: A21) => A22,\n fn23: (input: A22) => A23,\n fn24: (input: A23) => A24,\n fn25: (input: A24) => A25,\n fn26: (input: A25) => A26,\n fn27: (input: A26) => A27,\n fn28: (input: A27) => A28,\n fn29: (input: A28) => A29,\n fn30: (input: A29) => A30,\n fn31: (input: A30) => A31,\n fn32: (input: A31) => A32,\n fn33: (input: A32) => A33,\n fn34: (input: A33) => A34,\n fn35: (input: A34) => A35,\n fn36: (input: A35) => A36,\n fn37: (input: A36) => A37,\n fn38: (input: A37) => A38,\n fn39: (input: A38) => A39,\n fn40: (input: A39) => A40,\n fn41: (input: A40) => A41,\n fn42: (input: A41) => A42,\n fn43: (input: A42) => A43,\n fn44: (input: A43) => A44,\n fn45: (input: A44) => A45,\n fn46: (input: A45) => A46,\n fn47: (input: A46) => A47,\n fn48: (input: A47) => A48,\n fn49: (input: A48) => A49,\n fn50: (input: A49) => A50,\n): (input: Input) => A50;\n\n/**\n * Currently there is no way to create a compose function in Typescript without using overloading\n * This function currently support up to 50 wrappers\n * If needed you can add more by duplicating the type and add more parameters\n */\n\nexport function compose(...args: Fn[]) {\n return (data: any) => args.reduce((acc, elem) => elem(acc), data) as any;\n}\n","export const createTemplate = (templateString: string) => {\n const template = document.createElement('template');\n template.innerHTML = templateString;\n\n return template;\n};\n","// preventing duplicate separators\nexport const pathJoin = (...paths: string[]) =>\n paths.join('/').replace(/\\/+/g, '/');\n\nexport const compareArrays = (array1: any[], array2: any[]) =>\n array1.length === array2.length &&\n array1.every((value: any, index: number) => value === array2[index]);\n\nexport const withMemCache = <I extends any[], O>(fn: (...args: I) => O) => {\n let prevArgs: any[];\n let cache: any;\n return (...args: I) => {\n if (prevArgs && compareArrays(prevArgs, args)) return cache as O;\n\n prevArgs = args;\n cache = fn(...args);\n\n return cache as O;\n };\n};\n\nexport const kebabCase = (str: string) =>\n str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_.]+/g, '-')\n .toLowerCase();\n\nexport const isObjEmpty = (obj: object) =>\n Object.keys(obj).length === 0 && obj.constructor === Object;\n\nexport const pluralize =\n (amount: number) =>\n (strings: TemplateStringsArray, ...expressions: (string | number)[][]) =>\n strings.reduce(\n (acc, str, idx) =>\n `${acc}${str}${expressions?.[idx]?.[amount > 1 ? 1 : 0] || ''}`,\n '',\n );\n\nexport const debounce = (fn: Function, ms = 500) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function debounced(this: any, ...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\n };\n};\n\nexport const isPlainObject = (obj: unknown) =>\n obj !== null &&\n typeof obj === 'object' &&\n Object.getPrototypeOf(obj) === Object.prototype;\n","const getFunctionHash = (fn: Function) => {\n const functionSource = fn.toString();\n\n let hash = 0;\n\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < functionSource.length; i++) {\n const char = functionSource.charCodeAt(i);\n // eslint-disable-next-line no-bitwise\n hash = (hash << 5) - hash + char;\n // eslint-disable-next-line no-bitwise\n hash &= hash; // Convert to 32-bit integer\n }\n\n return hash.toString(16);\n};\n\ntype Mixin = (superclass: CustomElementConstructor) => CustomElementConstructor;\n\n// because a single mixin can be a dependency for many other mixins, a mixin can be loaded multiple times\n// some mixins should not be loaded multiple times, wrapping a mixin with this fn ensures it will load only once\nexport const createSingletonMixin = <T extends Mixin>(mixin: T): T => {\n const mixinNameSym = Symbol(getFunctionHash(mixin));\n\n const singletonMixin = (superclass: CustomElementConstructor) => {\n if (superclass[mixinNameSym]) {\n return superclass;\n }\n\n const cls = mixin(superclass);\n cls[mixinNameSym] = true;\n\n return cls;\n };\n\n return singletonMixin as T;\n};\n","const createIsChanged =\n <T extends Record<string, any>>(state: T, prevState: T) =>\n (attrName: keyof T) =>\n state[attrName] !== prevState[attrName];\n\ntype StateObject = Record<string, any>;\n\ntype UpdateStateCb<T> = (state: T) => Partial<T>;\ntype Subscribers<T> = Record<string, SubscribeCb<T>>;\n\n// eslint-disable-next-line import/exports-last\nexport type SubscribeCb<T> = (\n state: T,\n prevState: T,\n isChanged: ReturnType<typeof createIsChanged>,\n) => void | Promise<void>;\n\nfunction compareObjects(\n objectA: Record<string, any>,\n objectB: Record<string, any>,\n) {\n const aProperties = Object.getOwnPropertyNames(objectA);\n const bProperties = Object.getOwnPropertyNames(objectB);\n\n if (aProperties.length !== bProperties.length) {\n return false;\n }\n\n for (let i = 0; i < aProperties.length; i += 1) {\n const propName = aProperties[i];\n\n const valA = objectA[propName];\n const valB = objectB[propName];\n if (valA === null || valB === null) {\n if (valA !== valB) {\n return false;\n }\n } else if (typeof valA === 'object' && typeof valB === 'object') {\n // compare nested objects\n if (!compareObjects(valA, valB)) {\n return false;\n }\n } else if (valA !== valB) {\n return false;\n }\n }\n\n return true;\n}\n\nexport type IsChanged<T> = Parameters<SubscribeCb<T>>[2];\n\nexport class State<T extends StateObject> {\n #state: T;\n\n #subscribers: Subscribers<T> = {};\n\n #token = 0;\n\n #forceUpdate = true;\n\n constructor(init: T = {} as T, { forceUpdate = false } = {}) {\n this.#state = init;\n this.#forceUpdate = forceUpdate;\n }\n\n get current() {\n return { ...this.#state };\n }\n\n update = (newState: Partial<T> | UpdateStateCb<T>) => {\n const internalNewState =\n typeof newState === 'function' ? newState(this.#state) : newState;\n\n const nextState = { ...this.#state, ...internalNewState };\n if (this.#forceUpdate || !compareObjects(this.#state, nextState)) {\n const prevState = this.#state;\n this.#state = nextState;\n Object.freeze(this.#state);\n\n setTimeout(() => {\n Object.values(this.#subscribers).forEach((cb) =>\n cb(nextState, prevState, createIsChanged(nextState, prevState)),\n );\n }, 0);\n }\n };\n\n subscribe(cb: SubscribeCb<T>) {\n this.#token += 1;\n this.#subscribers[this.#token] = cb;\n\n return this.#token.toString();\n }\n\n unsubscribe(token: string) {\n const isFound = !!this.#subscribers[token];\n\n if (isFound) {\n delete this.#subscribers[token];\n }\n\n return isFound;\n }\n\n unsubscribeAll() {\n this.#subscribers = {};\n\n return true;\n }\n}\n","// Helper function to decode JWT and extract claims\nexport const decodeJWT = (token: string) => {\n try {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const jsonPayload = decodeURIComponent(\n atob(base64)\n .split('')\n .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n .join(''),\n );\n return JSON.parse(jsonPayload);\n } catch (e) {\n return null;\n }\n};\n","const FORMULA_PREFIXES = ['=', '+', '-', '@', '\\t', '\\r'];\n\nconst sanitizeFormulaInjection = (str: string): string => {\n if (str.length > 0 && FORMULA_PREFIXES.includes(str[0])) {\n return `'${str}`;\n }\n return str;\n};\n\nexport const escapeCsvValue = (value: unknown): string => {\n const raw = Array.isArray(value) ? value.join('; ') : String(value ?? '');\n const str = sanitizeFormulaInjection(raw);\n if (\n str.includes(',') ||\n str.includes('\"') ||\n str.includes('\\n') ||\n str.includes('\\r')\n ) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`;\n }\n return str;\n};\n\nexport const generateCsv = (\n records: Record<string, unknown>[],\n columns: { header: string; path: string }[],\n): string => {\n const header = columns.map((col) => escapeCsvValue(col.header)).join(',');\n const rows = records.map((record) =>\n columns.map((col) => escapeCsvValue(record[col.path])).join(','),\n );\n return [header, ...rows].join('\\n');\n};\n\nexport const downloadCsv = (csv: string, filename: string) => {\n const blob = new Blob(['\\uFEFF' + csv], { type: 'text/csv;charset=utf-8;' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n URL.revokeObjectURL(url);\n};\n","export type Locale = {\n locale: string;\n fallback: string;\n};\n\n/**\n * Resolves the user-facing locale, shared by the web-component flow runtime and the widget mixins\n * so both resolve locale identically.\n *\n * Order:\n * 1. Explicit locale argument (lowercased), used as its own fallback\n * 2. navigator.language (lowercased), with the language part as fallback for 'xx-YY' forms\n * 3. Empty strings\n */\nexport function getUserLocale(locale: string): Locale {\n if (locale) {\n return { locale: locale.toLowerCase(), fallback: locale.toLowerCase() };\n }\n const nl = navigator.language;\n if (!nl) {\n return { locale: '', fallback: '' };\n }\n\n if (nl.includes('-')) {\n return {\n locale: nl.toLowerCase(),\n fallback: nl.split('-')[0].toLowerCase(),\n };\n }\n\n return { locale: nl.toLowerCase(), fallback: nl.toLowerCase() };\n}\n"],"names":["compose","args","data","reduce","acc","elem","createTemplate","templateString","template","document","createElement","innerHTML","pathJoin","paths","join","replace","compareArrays","array1","array2","length","every","value","index","withMemCache","fn","prevArgs","cache","kebabCase","str","toLowerCase","isObjEmpty","obj","Object","keys","constructor","pluralize","amount","strings","expressions","idx","_a","debounce","ms","timeoutId","clearTimeout","setTimeout","apply","this","isPlainObject","getPrototypeOf","prototype","createSingletonMixin","mixin","mixinNameSym","Symbol","functionSource","toString","hash","i","charCodeAt","getFunctionHash","superclass","cls","compareObjects","objectA","objectB","aProperties","getOwnPropertyNames","bProperties","propName","valA","valB","State","init","forceUpdate","_State_state","set","_State_subscribers","_State_token","_State_forceUpdate","update","newState","internalNewState","__classPrivateFieldGet","nextState","prevState","__classPrivateFieldSet","freeze","values","forEach","cb","state","attrName","createIsChanged","current","assign","subscribe","unsubscribe","token","isFound","unsubscribeAll","decodeJWT","base64","split","jsonPayload","decodeURIComponent","atob","map","c","slice","JSON","parse","e","FORMULA_PREFIXES","escapeCsvValue","includes","sanitizeFormulaInjection","Array","isArray","String","generateCsv","records","columns","col","header","record","path","downloadCsv","csv","filename","blob","Blob","type","url","URL","createObjectURL","link","href","setAttribute","body","appendChild","click","removeChild","revokeObjectURL","getUserLocale","locale","fallback","nl","navigator","language"],"mappings":"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"}
|