import type { ObjRec, PH } from './utils/types.ts';import curryN from './utils/curry_n.ts';
type Dissoc_2 = (obj: ObjRec) => ObjRec;
type Dissoc_1 = (prop: string | number) => ObjRec;
type Dissoc = & ((prop: string | number) => Dissoc_2) & ((prop: PH, obj: ObjRec) => Dissoc_1) & ((prop: string | number, obj: ObjRec) => ObjRec);
function _dissoc(prop: string | number, obj: ObjRec) { const result: ObjRec = {};
for (let p in obj) result[p] = obj[p];
delete result[prop]; return result;}
export const dissoc: Dissoc = curryN(2, _dissoc);