Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@anilkumarthakur/match

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@anilkumarthakur/match - npm Package Compare versions

Comparing version
0.0.5
to
0.0.6
+5
dist/index.d.ts
import { match } from './match';
import { Match as matchType } from './types/main';
export { match };
export type { matchType };
const i = (c) => {
const n = [];
let e = null;
const o = {
on: (t, r) => {
const u = (s) => s === t;
return n.push({ predicate: u, action: r }), o;
},
otherwise: (t) => (e = t, a())
}, a = () => {
for (const { predicate: t, action: r } of n)
if (t(c))
return r();
if (e)
return e();
throw new Error("No match found and no default action provided.");
};
return o;
};
export {
i as match
};
//# sourceMappingURL=index.es.js.map
{"version":3,"file":"index.es.js","sources":["../src/match.ts"],"sourcesContent":["import { Match } from './types/main'\n\nconst match = <T, U>(value: T) => {\n const cases: Match<T, U>[] = []\n let defaultAction: (() => U) | null = null\n\n const matcher = {\n on: (expected: T, action: () => U) => {\n const predicate = (val: T) => val === expected\n cases.push({ predicate, action })\n return matcher\n },\n otherwise: (action: () => U): U => {\n defaultAction = action\n return execute()\n }\n }\n\n const execute = (): U => {\n for (const { predicate, action } of cases) {\n if (predicate(value)) {\n return action()\n }\n }\n if (defaultAction) {\n return defaultAction()\n }\n throw new Error('No match found and no default action provided.')\n }\n\n return matcher\n}\n\nexport { match }\n"],"names":["match","value","cases","defaultAction","matcher","expected","action","predicate","val","execute"],"mappings":"AAEM,MAAAA,IAAQ,CAAOC,MAAa;AAChC,QAAMC,IAAuB,CAAA;AAC7B,MAAIC,IAAkC;AAEtC,QAAMC,IAAU;AAAA,IACd,IAAI,CAACC,GAAaC,MAAoB;AAC9B,YAAAC,IAAY,CAACC,MAAWA,MAAQH;AACtC,aAAAH,EAAM,KAAK,EAAE,WAAAK,GAAW,QAAAD,EAAQ,CAAA,GACzBF;AAAA,IACT;AAAA,IACA,WAAW,CAACE,OACMH,IAAAG,GACTG,EAAQ;AAAA,EACjB,GAGIA,IAAU,MAAS;AACvB,eAAW,EAAE,WAAAF,GAAW,QAAAD,EAAO,KAAKJ;AAC9B,UAAAK,EAAUN,CAAK;AACjB,eAAOK,EAAO;AAGlB,QAAIH;AACF,aAAOA,EAAc;AAEjB,UAAA,IAAI,MAAM,gDAAgD;AAAA,EAAA;AAG3D,SAAAC;AACT;"}
(function(e,t){typeof exports=="object"&&typeof module<"u"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.match={}))})(this,function(e){"use strict";const t=u=>{const i=[];let o=null;const c={on:(n,r)=>{const f=s=>s===n;return i.push({predicate:f,action:r}),c},otherwise:n=>(o=n,d())},d=()=>{for(const{predicate:n,action:r}of i)if(n(u))return r();if(o)return o();throw new Error("No match found and no default action provided.")};return c};e.match=t,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
//# sourceMappingURL=index.umd.js.map
{"version":3,"file":"index.umd.js","sources":["../src/match.ts"],"sourcesContent":["import { Match } from './types/main'\n\nconst match = <T, U>(value: T) => {\n const cases: Match<T, U>[] = []\n let defaultAction: (() => U) | null = null\n\n const matcher = {\n on: (expected: T, action: () => U) => {\n const predicate = (val: T) => val === expected\n cases.push({ predicate, action })\n return matcher\n },\n otherwise: (action: () => U): U => {\n defaultAction = action\n return execute()\n }\n }\n\n const execute = (): U => {\n for (const { predicate, action } of cases) {\n if (predicate(value)) {\n return action()\n }\n }\n if (defaultAction) {\n return defaultAction()\n }\n throw new Error('No match found and no default action provided.')\n }\n\n return matcher\n}\n\nexport { match }\n"],"names":["match","value","cases","defaultAction","matcher","expected","action","predicate","val","execute"],"mappings":"6NAEM,MAAAA,EAAeC,GAAa,CAChC,MAAMC,EAAuB,CAAA,EAC7B,IAAIC,EAAkC,KAEtC,MAAMC,EAAU,CACd,GAAI,CAACC,EAAaC,IAAoB,CAC9B,MAAAC,EAAaC,GAAWA,IAAQH,EACtC,OAAAH,EAAM,KAAK,CAAE,UAAAK,EAAW,OAAAD,CAAQ,CAAA,EACzBF,CACT,EACA,UAAYE,IACMH,EAAAG,EACTG,EAAQ,EACjB,EAGIA,EAAU,IAAS,CACvB,SAAW,CAAE,UAAAF,EAAW,OAAAD,CAAO,IAAKJ,EAC9B,GAAAK,EAAUN,CAAK,EACjB,OAAOK,EAAO,EAGlB,GAAIH,EACF,OAAOA,EAAc,EAEjB,MAAA,IAAI,MAAM,gDAAgD,CAAA,EAG3D,OAAAC,CACT"}
declare const match: <T, U>(value: T) => {
on: (expected: T, action: () => U) => any;
otherwise: (action: () => U) => U;
};
export { match };
export type Match<T, U> = {
predicate: (val: T) => boolean;
action: () => U;
};
+1
-1
{
"name": "@anilkumarthakur/match",
"private": false,
"version": "0.0.5",
"version": "0.0.6",
"type": "module",

@@ -6,0 +6,0 @@ "main": "dist/index.umd.js",