@stackone/core 1.29.0 → 1.30.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/index.es.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{notMissing as e,
|
|
1
|
+
import{notMissing as e,getCountrySubDivisionNameBySubDivisionCode as t,getCountryAlpha2CodeByAlpha2Code as r,isString as s,isMissing as n,safeParseToDateTimeString as o,safeParseToBoolean as a,safeParseToNumber as i,safeParseToString as u}from"@stackone/utils";import{z as c}from"zod";import{evaluate as l,safeEvaluateRecord as d}from"@stackone/expressions";import{RequestParameterLocations as p,HttpMethods as m,RequestClientFactory as f,parseRequestParameters as g,createAuthorizationHeaders as y}from"@stackone/transport";const b=c.object({stepsDataToGroup:c.array(c.string()),isSingleRecord:c.boolean().optional()}),h=c.object({data:c.unknown()}),v=(e,t,r)=>Object.entries(e).reduce(((e,[s,n])=>{const o=n?.output?.data;return Array.isArray(o)&&o.length===t?e[s]={output:{data:o[r]}}:e[s]=n,e}),{}),k=(e,t,r)=>{if(!e||!r)return{record:e};const s={unified:{...e},..."object"==typeof r?r:{}},n={},o=[],a={...e};for(const r of t){const{error:t,value:i}=_(s,e.id,r);t?o.push(t):r.isUnified?a[r.targetFieldKey]=i:n[r.targetFieldKey]=i}return{record:{...a,unified_custom_fields:Object.keys(n).length>0?n:void 0},errors:o.length>0?o:void 0}},_=(e,t,r)=>{const{expression:s,targetFieldKey:n}=r;if(!s)return{error:{message:"Expression is empty",id:t,targetField:n}};let o;try{o=l(s,e)}catch{return{error:{message:"Invalid expression",id:t,targetField:n}}}return void 0===o?{error:{message:"Expression returned no value",id:t,targetField:n}}:{value:o}},S=c.object({fields:c.object({targetFieldKey:c.string(),expression:c.string(),type:c.enum(["string","number","boolean","datetime_string","enum"]),isUnified:c.boolean().optional(),enumMapper:c.object({matcher:c.string().or(c.object({matchExpression:c.string(),value:c.string()}).array())}).optional()}).array(),dataSource:c.string()}),F=c.object({data:c.unknown()}),j=(e,t)=>{if(!t)return;const r={},s=[],n={};for(const o of e){const{error:e,value:a}=w(t,t?.id,o);e?s.push(e):o.isUnified?n[o.targetFieldKey]=a:r[o.targetFieldKey]=a}return{record:{...n,unified_custom_fields:Object.keys(r).length>0?r:void 0},errors:s.length>0?s:void 0}},w=(e,t,r)=>{switch(r.type){case"string":case"number":case"boolean":case"datetime_string":return x(r,t,e);case"enum":return A(r,t,e);default:return{error:{message:"Invalid type",id:t,targetField:r.targetFieldKey}}}},x=(e,t,r)=>{if(!e.expression)return{error:{message:"Expression is empty",id:t,targetField:e.targetFieldKey}};let s;try{s=l(e.expression,r)}catch{return{error:{message:"Invalid expression",id:t,targetField:e.targetFieldKey}}}return void 0===s?{error:{message:"Expression returned no value",id:t,targetField:e.targetFieldKey}}:{value:s}},A=(n,o,a)=>{const i=x(n,o,a),u=e(i.value)?i.value:null;if(void 0===n.enumMapper)return{error:{message:"Enum mapper was not defined",id:o,targetField:n.targetFieldKey}};const c=n.enumMapper.matcher;if(s(c)){const s=(e=>{switch(e){case"country_alpha2code_to_alpha2code":return r;case"country_subdivisionname_to_subdivisioncode":return t;default:return}})(c);return e(s)?{value:{value:s(u),source_value:u}}:{error:{message:`The built-in matcher "${c}" is not supported`,id:o,targetField:n.targetFieldKey}}}for(const e of c){const{matchExpression:t,value:r}=e;if(!0===l(t,a))return{value:{value:r,source_value:u}}}return{value:{value:"unmapped_value",source_value:u}}},E=c.object({type:c.literal("basic"),username:c.string(),password:c.string(),encoding:c.string().optional()}),K=c.object({type:c.literal("bearer"),token:c.string()}),T=c.discriminatedUnion("type",[E,K]),U=c.object({baseUrl:c.string(),url:c.string(),method:c.enum(m),response:c.object({collection:c.boolean().optional(),indexField:c.string().optional(),dataKey:c.string().optional()}).optional(),args:c.object({name:c.string(),value:c.unknown(),in:c.enum(p),condition:c.string().optional()}).array().optional()}),C=c.object({data:c.unknown(),raw:c.unknown().optional()}),M=(e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce(((e,r)=>{const s=t.indexField;return s&&r[s]&&(e[r[s]]=r),e}),{});if(!t?.collection&&t?.indexField){const r=t.indexField;return r&&e[r]?{[e[r]]:e}:e}return e},O=c.object({fields:c.object({targetFieldKey:c.string(),type:c.string(),isUnified:c.boolean().optional()}).array().optional(),dataSource:c.string()}),R=c.object({data:c.unknown()});var D;!function(e){e.String="string",e.Number="number",e.Boolean="boolean",e.DateTimeString="datetime_string"}(D||(D={}));const I=({value:e,type:t,format:r})=>{if(n(e))return null;switch(t){case D.String:return u({value:e});case D.Number:return i({value:e});case D.Boolean:return a({value:e});case D.DateTimeString:return o({value:e,format:r});default:return e}},P=e=>Object.values(D).includes(e),$=(t,r)=>{const s={...t};return r.forEach((r=>{const{targetFieldKey:n,type:o}=r;P(o)&&(r.isUnified&&e(s[n])?s[n]=I({value:t[n],type:o}):s.unified_custom_fields&&e(s.unified_custom_fields?.[n])&&(s.unified_custom_fields[n]=I({value:t.unified_custom_fields?.[n],type:o})))})),{...s}},L=(t,r)=>{const s={...t};return r.forEach((r=>{const{targetFieldKey:n,type:o}=r;P(o)&&(r.isUnified&&e(s[n])?s[n]=I({value:t[n],type:o}):s.unified_custom_fields&&e(s.unified_custom_fields?.[n])&&(s.unified_custom_fields[n]=I({value:t.unified_custom_fields?.[n],type:o})))})),{...s}};var q;!function(e){e.TYPECAST="typecast",e.MAP_FIELDS="map_fields",e.GROUP_DATA="group_data",e.REQUEST="request"}(q||(q={}));const G={[q.TYPECAST]:{v1:{fn:async({block:e})=>{const t=e?.fieldConfigs;if(!t||"disabled"===e?.debug?.custom_mappings)return{block:e,successful:!0};let r;return r=Array.isArray(e.result)?e.result.map((e=>$(e,t))):$(e.result,t),{block:{...e,result:r},successful:!0}}},v2:{fn:async({block:e,params:t})=>{const{fields:r,dataSource:s}=O.parse(t),n=l(s,e);if(!r||"disabled"===e?.debug?.custom_mappings)return{block:e,successful:!0};let o;return o=Array.isArray(n)?n.map((e=>L(e,r))):L(n,r),{block:{...e},successful:!0,output:{data:o}}},inputSchema:O,outputSchema:R}},[q.MAP_FIELDS]:{v1:{fn:async({block:e})=>{const t=e?.fieldConfigs,r=[],s=e.steps;if(!t||"disabled"===e?.debug?.custom_mappings||!s)return{block:e,successful:!0};let n;if(Array.isArray(e.result)){const o=e.result.length;n=e.result.map(((e,n)=>{const a=v(s,o,n),i=k(e,t,a);return r.push(...i.errors||[]),i.record}))}else{const o=k(e.result,t,s);n=o.record,r.push(...o.errors||[])}return{block:{...e,result:n},successful:!0,errors:Object.keys(r).length>0?r:void 0}}},v2:{fn:async({block:e,params:t})=>{const r=[],{fields:s,dataSource:n}=S.parse(t),o=l(n,e);if(!s||!n||"disabled"===e?.debug?.custom_mappings||!o)return{block:e,successful:!0};let a;if(Array.isArray(o))a=o.map((e=>{const t=j(s,e);return r.push(...t?.errors||[]),t?.record}));else{const e=j(s,o);a=e?.record,r.push(...e?.errors||[])}return{block:{...e},successful:!0,output:{data:a},errors:Object.keys(r).length>0?r:void 0}},inputSchema:S,outputSchema:F}},[q.REQUEST]:{v1:{fn:async({block:e,params:t})=>{const r=f.build();if(!e.httpClient)throw new Error("HTTP client is not configured");const{args:s}=t,n=s?s.filter((t=>!t.condition||!0===l(t.condition,e))).map((e=>({...e,condition:void 0}))):void 0,o=t?d({...t,args:n},e):{},{baseUrl:a,url:i,method:u,response:c,args:p}=U.parse(o),m=o?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,b=T.parse(m),h=p?g(p):{query:{},body:{},headers:{}},v=y(b),k={...h?.headers??{},...v};let _;try{_=await r.performRequest({httpClient:e.httpClient,url:`${a}${i}`,queryParams:h?.query,method:u,headers:k,body:h?.body})}catch(t){return{block:e,successful:!1,errors:[t]}}const S=c?.dataKey?_.data[c?.dataKey]:_.data,F=M(S,c);return{block:e,successful:!0,output:{data:F,raw:_}}},inputSchema:U,outputSchema:C}},[q.GROUP_DATA]:{v1:{fn:async({block:t,params:r})=>{const{stepsDataToGroup:s,isSingleRecord:n}=b.parse(r),o=s.reduce(((r,s)=>{const o=t.steps?.[s]?.output?.data;return o?n?{...r,[s]:{...o}}:(Object.keys(o).forEach((t=>{const n=e(r[t])?r[t]:{};r[t]={...n,[s]:{...o[t]}}})),r):r}),{});return{block:{...t},successful:!0,output:{data:n?o:Object.values(o)}}},inputSchema:b,outputSchema:h}}},H=(e,t)=>async({block:r,params:s})=>{try{e.inputSchema&&e.inputSchema.parse(s)}catch{return{block:r,successful:!1,errors:[{message:`Input parameters for ${t} are invalid`}]}}const n=await e.fn({block:r,params:s});try{e.outputSchema&&e.outputSchema.parse(n.output)}catch{return{block:r,successful:!1,errors:[{message:`Output data of ${t} has unexpected format`}]}}return n},N={build({functionName:e,version:t="1",validateSchemas:r=!1,stepFunctionsList:s=G}){const n=s?.[e]?.[`v${t}`];if(!n)throw new Error(`Unknown step function: ${e} v${t}`);return r?{...n,fn:H(n,e)}:n}},z={hris:{title:"HRIS",key:"hris",description:"Human Resource Information System"},crm:{title:"CRM",key:"crm",description:"Customer Relationship Management"},ats:{title:"ATS",key:"ats",description:"Applicant Tracking System"},lms:{title:"LMS",key:"lms",description:"Learning Management System"},marketing:{title:"Marketing",key:"marketing",description:"Marketing"},filestorage:{title:"File Storage",key:"filestorage",description:"File Storage"}},B=e=>z[e.toLowerCase()]??null,Q=e=>!!z[e.toLowerCase()];export{T as AUTHENTICATION_SCHEMA,q as StepFunctionName,N as StepFunctionsFactory,B as getCategoryDetails,Q as isValidCategory};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@stackone/utils"),t=require("zod"),r=require("@stackone/expressions"),s=require("@stackone/transport");const n=t.z.object({stepsDataToGroup:t.z.array(t.z.string()),isSingleRecord:t.z.boolean().optional()}),a=t.z.object({data:t.z.unknown()}),o=(e,t,r)=>Object.entries(e).reduce(((e,[s,n])=>{const a=n?.output?.data;return Array.isArray(a)&&a.length===t?e[s]={output:{data:a[r]}}:e[s]=n,e}),{}),i=(e,t,r)=>{if(!e||!r)return{record:e};const s={unified:{...e},..."object"==typeof r?r:{}},n={},a=[],o={...e};for(const r of t){const{error:t,value:i}=u(s,e.id,r);t?a.push(t):r.isUnified?o[r.targetFieldKey]=i:n[r.targetFieldKey]=i}return{record:{...o,unified_custom_fields:Object.keys(n).length>0?n:void 0},errors:a.length>0?a:void 0}},u=(e,t,s)=>{const{expression:n,targetFieldKey:a}=s;if(!n)return{error:{message:"Expression is empty",id:t,targetField:a}};let o;try{o=r.evaluate(n,e)}catch{return{error:{message:"Invalid expression",id:t,targetField:a}}}return void 0===o?{error:{message:"Expression returned no value",id:t,targetField:a}}:{value:o}},c=t.z.object({fields:t.z.object({targetFieldKey:t.z.string(),expression:t.z.string(),type:t.z.enum(["string","number","boolean","datetime_string","enum"]),isUnified:t.z.boolean().optional(),enumMapper:t.z.object({matcher:t.z.string().or(t.z.object({matchExpression:t.z.string(),value:t.z.string()}).array())}).optional()}).array(),dataSource:t.z.string()}),l=t.z.object({data:t.z.unknown()}),d=(e,t)=>{if(!t)return;const r={},s=[],n={};for(const a of e){const{error:e,value:o}=p(t,t?.id,a);e?s.push(e):a.isUnified?n[a.targetFieldKey]=o:r[a.targetFieldKey]=o}return{record:{...n,unified_custom_fields:Object.keys(r).length>0?r:void 0},errors:s.length>0?s:void 0}},p=(e,t,r)=>{switch(r.type){case"string":case"number":case"boolean":case"datetime_string":return m(r,t,e);case"enum":return g(r,t,e);default:return{error:{message:"Invalid type",id:t,targetField:r.targetFieldKey}}}},m=(e,t,s)=>{if(!e.expression)return{error:{message:"Expression is empty",id:t,targetField:e.targetFieldKey}};let n;try{n=r.evaluate(e.expression,s)}catch
|
|
1
|
+
"use strict";var e=require("@stackone/utils"),t=require("zod"),r=require("@stackone/expressions"),s=require("@stackone/transport");const n=t.z.object({stepsDataToGroup:t.z.array(t.z.string()),isSingleRecord:t.z.boolean().optional()}),a=t.z.object({data:t.z.unknown()}),o=(e,t,r)=>Object.entries(e).reduce(((e,[s,n])=>{const a=n?.output?.data;return Array.isArray(a)&&a.length===t?e[s]={output:{data:a[r]}}:e[s]=n,e}),{}),i=(e,t,r)=>{if(!e||!r)return{record:e};const s={unified:{...e},..."object"==typeof r?r:{}},n={},a=[],o={...e};for(const r of t){const{error:t,value:i}=u(s,e.id,r);t?a.push(t):r.isUnified?o[r.targetFieldKey]=i:n[r.targetFieldKey]=i}return{record:{...o,unified_custom_fields:Object.keys(n).length>0?n:void 0},errors:a.length>0?a:void 0}},u=(e,t,s)=>{const{expression:n,targetFieldKey:a}=s;if(!n)return{error:{message:"Expression is empty",id:t,targetField:a}};let o;try{o=r.evaluate(n,e)}catch{return{error:{message:"Invalid expression",id:t,targetField:a}}}return void 0===o?{error:{message:"Expression returned no value",id:t,targetField:a}}:{value:o}},c=t.z.object({fields:t.z.object({targetFieldKey:t.z.string(),expression:t.z.string(),type:t.z.enum(["string","number","boolean","datetime_string","enum"]),isUnified:t.z.boolean().optional(),enumMapper:t.z.object({matcher:t.z.string().or(t.z.object({matchExpression:t.z.string(),value:t.z.string()}).array())}).optional()}).array(),dataSource:t.z.string()}),l=t.z.object({data:t.z.unknown()}),d=(e,t)=>{if(!t)return;const r={},s=[],n={};for(const a of e){const{error:e,value:o}=p(t,t?.id,a);e?s.push(e):a.isUnified?n[a.targetFieldKey]=o:r[a.targetFieldKey]=o}return{record:{...n,unified_custom_fields:Object.keys(r).length>0?r:void 0},errors:s.length>0?s:void 0}},p=(e,t,r)=>{switch(r.type){case"string":case"number":case"boolean":case"datetime_string":return m(r,t,e);case"enum":return g(r,t,e);default:return{error:{message:"Invalid type",id:t,targetField:r.targetFieldKey}}}},m=(e,t,s)=>{if(!e.expression)return{error:{message:"Expression is empty",id:t,targetField:e.targetFieldKey}};let n;try{n=r.evaluate(e.expression,s)}catch{return{error:{message:"Invalid expression",id:t,targetField:e.targetFieldKey}}}return void 0===n?{error:{message:"Expression returned no value",id:t,targetField:e.targetFieldKey}}:{value:n}},g=(t,s,n)=>{const a=m(t,s,n),o=e.notMissing(a.value)?a.value:null;if(void 0===t.enumMapper)return{error:{message:"Enum mapper was not defined",id:s,targetField:t.targetFieldKey}};const i=t.enumMapper.matcher;if(e.isString(i)){const r=(t=>{switch(t){case"country_alpha2code_to_alpha2code":return e.getCountryAlpha2CodeByAlpha2Code;case"country_subdivisionname_to_subdivisioncode":return e.getCountrySubDivisionNameBySubDivisionCode;default:return}})(i);return e.notMissing(r)?{value:{value:r(o),source_value:o}}:{error:{message:`The built-in matcher "${i}" is not supported`,id:s,targetField:t.targetFieldKey}}}for(const e of i){const{matchExpression:t,value:s}=e;if(!0===r.evaluate(t,n))return{value:{value:s,source_value:o}}}return{value:{value:"unmapped_value",source_value:o}}},f=t.z.object({type:t.z.literal("basic"),username:t.z.string(),password:t.z.string(),encoding:t.z.string().optional()}),y=t.z.object({type:t.z.literal("bearer"),token:t.z.string()}),b=t.z.discriminatedUnion("type",[f,y]),v=t.z.object({baseUrl:t.z.string(),url:t.z.string(),method:t.z.enum(s.HttpMethods),response:t.z.object({collection:t.z.boolean().optional(),indexField:t.z.string().optional(),dataKey:t.z.string().optional()}).optional(),args:t.z.object({name:t.z.string(),value:t.z.unknown(),in:t.z.enum(s.RequestParameterLocations),condition:t.z.string().optional()}).array().optional()}),h=t.z.object({data:t.z.unknown(),raw:t.z.unknown().optional()}),z=(e,t)=>{if(t?.collection&&t?.indexField&&Array.isArray(e))return e.reduce(((e,r)=>{const s=t.indexField;return s&&r[s]&&(e[r[s]]=r),e}),{});if(!t?.collection&&t?.indexField){const r=t.indexField;return r&&e[r]?{[e[r]]:e}:e}return e},S=t.z.object({fields:t.z.object({targetFieldKey:t.z.string(),type:t.z.string(),isUnified:t.z.boolean().optional()}).array().optional(),dataSource:t.z.string()}),k=t.z.object({data:t.z.unknown()});var F;!function(e){e.String="string",e.Number="number",e.Boolean="boolean",e.DateTimeString="datetime_string"}(F||(F={}));const _=({value:t,type:r,format:s})=>{if(e.isMissing(t))return null;switch(r){case F.String:return e.safeParseToString({value:t});case F.Number:return e.safeParseToNumber({value:t});case F.Boolean:return e.safeParseToBoolean({value:t});case F.DateTimeString:return e.safeParseToDateTimeString({value:t,format:s});default:return t}},x=e=>Object.values(F).includes(e),A=(t,r)=>{const s={...t};return r.forEach((r=>{const{targetFieldKey:n,type:a}=r;x(a)&&(r.isUnified&&e.notMissing(s[n])?s[n]=_({value:t[n],type:a}):s.unified_custom_fields&&e.notMissing(s.unified_custom_fields?.[n])&&(s.unified_custom_fields[n]=_({value:t.unified_custom_fields?.[n],type:a})))})),{...s}},T=(t,r)=>{const s={...t};return r.forEach((r=>{const{targetFieldKey:n,type:a}=r;x(a)&&(r.isUnified&&e.notMissing(s[n])?s[n]=_({value:t[n],type:a}):s.unified_custom_fields&&e.notMissing(s.unified_custom_fields?.[n])&&(s.unified_custom_fields[n]=_({value:t.unified_custom_fields?.[n],type:a})))})),{...s}};var j;exports.StepFunctionName=void 0,(j=exports.StepFunctionName||(exports.StepFunctionName={})).TYPECAST="typecast",j.MAP_FIELDS="map_fields",j.GROUP_DATA="group_data",j.REQUEST="request";const E={[exports.StepFunctionName.TYPECAST]:{v1:{fn:async({block:e})=>{const t=e?.fieldConfigs;if(!t||"disabled"===e?.debug?.custom_mappings)return{block:e,successful:!0};let r;return r=Array.isArray(e.result)?e.result.map((e=>A(e,t))):A(e.result,t),{block:{...e,result:r},successful:!0}}},v2:{fn:async({block:e,params:t})=>{const{fields:s,dataSource:n}=S.parse(t),a=r.evaluate(n,e);if(!s||"disabled"===e?.debug?.custom_mappings)return{block:e,successful:!0};let o;return o=Array.isArray(a)?a.map((e=>T(e,s))):T(a,s),{block:{...e},successful:!0,output:{data:o}}},inputSchema:S,outputSchema:k}},[exports.StepFunctionName.MAP_FIELDS]:{v1:{fn:async({block:e})=>{const t=e?.fieldConfigs,r=[],s=e.steps;if(!t||"disabled"===e?.debug?.custom_mappings||!s)return{block:e,successful:!0};let n;if(Array.isArray(e.result)){const a=e.result.length;n=e.result.map(((e,n)=>{const u=o(s,a,n),c=i(e,t,u);return r.push(...c.errors||[]),c.record}))}else{const a=i(e.result,t,s);n=a.record,r.push(...a.errors||[])}return{block:{...e,result:n},successful:!0,errors:Object.keys(r).length>0?r:void 0}}},v2:{fn:async({block:e,params:t})=>{const s=[],{fields:n,dataSource:a}=c.parse(t),o=r.evaluate(a,e);if(!n||!a||"disabled"===e?.debug?.custom_mappings||!o)return{block:e,successful:!0};let i;if(Array.isArray(o))i=o.map((e=>{const t=d(n,e);return s.push(...t?.errors||[]),t?.record}));else{const e=d(n,o);i=e?.record,s.push(...e?.errors||[])}return{block:{...e},successful:!0,output:{data:i},errors:Object.keys(s).length>0?s:void 0}},inputSchema:c,outputSchema:l}},[exports.StepFunctionName.REQUEST]:{v1:{fn:async({block:e,params:t})=>{const n=s.RequestClientFactory.build();if(!e.httpClient)throw new Error("HTTP client is not configured");const{args:a}=t,o=a?a.filter((t=>!t.condition||!0===r.evaluate(t.condition,e))).map((e=>({...e,condition:void 0}))):void 0,i=t?r.safeEvaluateRecord({...t,args:o},e):{},{baseUrl:u,url:c,method:l,response:d,args:p}=v.parse(i),m=i?.authentication?.[e.context.authenticationType]?.[e.context.environment]?.authorization,g=b.parse(m),f=p?s.parseRequestParameters(p):{query:{},body:{},headers:{}},y=s.createAuthorizationHeaders(g),h={...f?.headers??{},...y};let S;try{S=await n.performRequest({httpClient:e.httpClient,url:`${u}${c}`,queryParams:f?.query,method:l,headers:h,body:f?.body})}catch(t){return{block:e,successful:!1,errors:[t]}}const k=d?.dataKey?S.data[d?.dataKey]:S.data,F=z(k,d);return{block:e,successful:!0,output:{data:F,raw:S}}},inputSchema:v,outputSchema:h}},[exports.StepFunctionName.GROUP_DATA]:{v1:{fn:async({block:t,params:r})=>{const{stepsDataToGroup:s,isSingleRecord:a}=n.parse(r),o=s.reduce(((r,s)=>{const n=t.steps?.[s]?.output?.data;return n?a?{...r,[s]:{...n}}:(Object.keys(n).forEach((t=>{const a=e.notMissing(r[t])?r[t]:{};r[t]={...a,[s]:{...n[t]}}})),r):r}),{});return{block:{...t},successful:!0,output:{data:a?o:Object.values(o)}}},inputSchema:n,outputSchema:a}}},w=(e,t)=>async({block:r,params:s})=>{try{e.inputSchema&&e.inputSchema.parse(s)}catch{return{block:r,successful:!1,errors:[{message:`Input parameters for ${t} are invalid`}]}}const n=await e.fn({block:r,params:s});try{e.outputSchema&&e.outputSchema.parse(n.output)}catch{return{block:r,successful:!1,errors:[{message:`Output data of ${t} has unexpected format`}]}}return n},C={build({functionName:e,version:t="1",validateSchemas:r=!1,stepFunctionsList:s=E}){const n=s?.[e]?.[`v${t}`];if(!n)throw new Error(`Unknown step function: ${e} v${t}`);return r?{...n,fn:w(n,e)}:n}},M={hris:{title:"HRIS",key:"hris",description:"Human Resource Information System"},crm:{title:"CRM",key:"crm",description:"Customer Relationship Management"},ats:{title:"ATS",key:"ats",description:"Applicant Tracking System"},lms:{title:"LMS",key:"lms",description:"Learning Management System"},marketing:{title:"Marketing",key:"marketing",description:"Marketing"},filestorage:{title:"File Storage",key:"filestorage",description:"File Storage"}};exports.AUTHENTICATION_SCHEMA=b,exports.StepFunctionsFactory=C,exports.getCategoryDetails=e=>M[e.toLowerCase()]??null,exports.isValidCategory=e=>!!M[e.toLowerCase()];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getEnumMatcher: (matcher: string) => ((value: unknown) => unknown) | undefined;
|