@bodil/monkey-business 0.3.3 → 0.3.5

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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qDAAqD;AACrD,sCAAsC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAgB,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,OAAO,0CAA0C,CAAC;AAClD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,4CAA4C,CAAC;AA6NpD,SAAS;AAET,gBAAgB,CAAC,MAAM,EAAE;IACrB,GAAG,CAAsC,GAAM,EAAE,GAAM;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,UAAU,CACN,GAAsB,EACtB,EAAmD;QAEnD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM;AAEN,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;IAC5B,mBAAmB,CAEf,GAAM,EACN,YAAwC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,CAAwB,GAAM;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;CACJ,CAAC,CAAC;AAEH,UAAU;AAEV,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE;IAChC,mBAAmB,CAEf,GAAM,EACN,YAAwC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,CAA4C,GAAM;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;CACJ,CAAC,CAAC;AAEH,QAAQ;AAER,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE;IAC9B,MAAM,CAAoB,KAAQ;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,CAEJ,SAA8D;QAE9D,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAA0B,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,WAAW,CAAoB,KAAa;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,8BAA8B,KAAK,oBAAoB,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAoB,KAAQ,EAAE,KAAa;QAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,yBAAyB,KAAK,oBAAoB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,UAAU,CAAC,uBAAuB,KAAK,gBAAgB,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa,CAET,KAAQ,EACR,GAAe,EACf,aAA6B,MAAM;QAEnC,OAAO,IAAI,CAAC,MAAM,CACd,KAAK,EACL,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CACpE,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAQ,EAAuB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAQ,EAA2B,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACnF,CAAC;IAED,GAAG,CAAoB,KAAa;QAChC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAEF,KAAc,EACd,QAAkC;QAElC,OAAO,CACH,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC9C,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1B,eAAe,CAAC,UAAU,CAAC,CAAC;AAC5B,eAAe,CAAC,aAAa,CAAC,CAAC;AAC/B,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1B,eAAe,CAAC,eAAe,CAAC,CAAC;AACjC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC3B,eAAe,CAAC,aAAa,CAAC,CAAC;AAC/B,eAAe,CAAC,KAAK,CAAC,CAAC;AACvB,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE1B,WAAW;AAEX,gBAAgB,CAAC,QAAQ,EAAE;IACvB,KAAK;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;CACJ,CAAC,CAAC;AAEH,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE;IACjC,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,SAAS,CAEL,SAA+C;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAI;YACpB,IAAI;gBACA,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBACvB,OAAO,MAAM,CAAC;oBAClB,CAAC;oBACD,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBACnC,OAAO,MAAM,CAAC;oBAClB,CAAC;gBACL,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC5C,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAEL,SAA+C;QAE/C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,QAAQ,CAAC,IAAI,CAAI;YACpB,IAAI;gBACA,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBACvB,OAAO,MAAM,CAAC;oBAClB,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBACpC,OAAO,GAAG,IAAI,CAAC;wBACf,OAAO,MAAM,CAAC;oBAClB,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAEH,KAA8D;QAE9D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS,CAEL,IAAY;QAEZ,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAW;YAC3B,IAAI;gBACA,IAAI,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC5C,CAAC;gBACD,MAAM,IAAI,GAAG,EAAE,CAAC;gBAChB,OAAO,IAAI,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;wBACvB,IAAI,GAAG,IAAI,CAAC;wBACZ,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;4BAClB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;4BAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;oBAC3C,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACxB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBACvB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;oBACxC,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAwC,IAAY;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACxC,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YACzC,QAAQ,GAAG,WAAW,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;YACpD,QAAQ,IAAI,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,WAAW;QACP,OAAO,QAAQ,CAAC,IAAI,CAChB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CACrF,CAAC;IACN,CAAC;IAED,MAAM,CAEF,KAAwB,EACxB,WAAgD,MAAM,CAAC,EAAE;QAEzD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,IACI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBACjB,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAY,CAAC,CAAC,EAC9E,CAAC;gBACC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AA8HrC,SAAS;AAET,gBAAgB,CAAC,MAAM,EAAE;IACrB,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,UAAU,EAAE,MAAM,CAAC,UAAU;CAChC,CAAC,CAAC;AAEH,MAAM;AAEN,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;IAC5B,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;IAC5C,QAAQ,EAAE,GAAG,CAAC,QAAQ;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM;CACrB,CAAC,CAAC;AAEH,UAAU;AAEV,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE;IAChC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;IAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;CACzB,CAAC,CAAC;AAEH,QAAQ;AAER,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE;IAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,WAAW,EAAE,KAAK,CAAC,WAAW;IAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,WAAW,EAAE,KAAK,CAAC,WAAW;IAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,MAAM,EAAE,KAAK,CAAC,MAAM;CACvB,CAAC,CAAC;AAEH,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1B,eAAe,CAAC,UAAU,CAAC,CAAC;AAC5B,eAAe,CAAC,aAAa,CAAC,CAAC;AAC/B,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1B,eAAe,CAAC,eAAe,CAAC,CAAC;AACjC,eAAe,CAAC,SAAS,CAAC,CAAC;AAC3B,eAAe,CAAC,aAAa,CAAC,CAAC;AAC/B,eAAe,CAAC,KAAK,CAAC,CAAC;AACvB,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE1B,WAAW;AAEX,gBAAgB,CAAC,QAAQ,EAAE;IACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;IACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;CAC9B,CAAC,CAAC;AAEH,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE;IACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;IAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;IAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,4DAA4D;IAC5D,SAAS,EAAE,QAAQ,CAAC,SAAS;IAC7B,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;IACnD,OAAO,EAAE,QAAQ,CAAC,OAAO;IACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;IACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;CAC1B,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { test, expect, expectTypeOf } from "vitest";
2
1
  import { order as Order } from "@bodil/core";
2
+ import { expect, expectTypeOf, test } from "vitest";
3
3
  import ".";
4
4
  import "@bodil/opt-vitest";
5
5
  const Iterator = globalThis.Iterator;
@@ -43,6 +43,21 @@ test("Map.getOrSet", () => {
43
43
  expect(map.getOrInsertComputed("bar", defaultValue)).toEqual("Robert");
44
44
  expect(map.getOrInsertComputed("Mike", defaultValueCat)).toEqual("RobertMike");
45
45
  expect(map.get("bar")).toEqual("Robert");
46
+ expect(map.getOrSet("foo", defaultValue)).toEqual("Joe");
47
+ expect(map.getOrSet("baz", defaultValue)).toEqual("Robert");
48
+ expect(map.get("baz")).toEqual("Robert");
49
+ });
50
+ test("WeakMap.getOrSet", () => {
51
+ const defaultValue = () => "Robert";
52
+ const weakmap = new WeakMap();
53
+ const foo = {};
54
+ const bar = {};
55
+ weakmap.set(foo, "Joe");
56
+ expect(weakmap.getOrInsertComputed(foo, defaultValue)).toEqual("Joe");
57
+ expect(weakmap.getOrInsertComputed(bar, defaultValue)).toEqual("Robert");
58
+ expect(weakmap.getOrSet(foo, defaultValue)).toEqual("Joe");
59
+ expect(weakmap.getOrSet(bar, defaultValue)).toEqual("Robert");
60
+ expect(weakmap.get(bar)).toEqual("Robert");
46
61
  });
47
62
  test("Map.remove", () => {
48
63
  const map = new Map([
@@ -86,12 +101,26 @@ test("Array.filterPresent", () => {
86
101
  expect(cleanArray).toEqual([1, 2, 3, 4]);
87
102
  expectTypeOf(cleanArray).toExtend();
88
103
  });
104
+ test("Array.filterNonNullable", () => {
105
+ const array = [1, null, 2, undefined, 3, null, 4];
106
+ const cleanArray = array.nonNullable();
107
+ expect(cleanArray.some((v) => v === undefined || v === null)).toBeFalsy();
108
+ expect(cleanArray).toEqual([1, 2, 3, 4]);
109
+ expectTypeOf(cleanArray).toExtend();
110
+ });
111
+ test("Iterator.chunks", () => {
112
+ expect(Array.from(Iterator.from([1, 2, 3, 4]).chunks(2))).toEqual([
113
+ [1, 2],
114
+ [3, 4],
115
+ ]);
116
+ expect(Array.from(Iterator.from([1, 2, 3]).chunks(2))).toEqual([[1, 2], [3]]);
117
+ });
89
118
  test("Iterator.partition", () => {
90
- expect(Array.from(Iterator.from([1, 2, 3, 4]).partition(2))).toEqual([
119
+ expect(Array.from(Iterator.from([1, 2, 3, 4]).chunks(2))).toEqual([
91
120
  [1, 2],
92
121
  [3, 4],
93
122
  ]);
94
- expect(Array.from(Iterator.from([1, 2, 3]).partition(2))).toEqual([[1, 2], [3]]);
123
+ expect(Array.from(Iterator.from([1, 2, 3]).chunks(2))).toEqual([[1, 2], [3]]);
95
124
  });
96
125
  test("Iterator.frontBiasedPartition", () => {
97
126
  expect(Array.from(Iterator.from([1, 2, 3, 4]).frontBiasedPartition(2))).toEqual([
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { Present } from "@bodil/core/types";
2
+ import { type Option } from "@bodil/opt";
3
+ /**
4
+ * Sequence multiple iterators into a single one.
5
+ * @see https://github.com/tc39/proposal-iterator-sequencing
6
+ * @function
7
+ */
8
+ export declare const concat: <T>(...inputs: Array<Iterable<T>>) => IteratorObject<T>;
9
+ /**
10
+ * @see https://github.com/tc39/proposal-joint-iteration
11
+ * @function
12
+ */
13
+ export declare const zip: <T>(inputs: Iterable<Iterable<T>>) => IteratorObject<Array<T>>;
14
+ /**
15
+ * @see https://github.com/tc39/proposal-joint-iteration
16
+ * @function
17
+ */
18
+ export declare const zipKeyed: <T>(inputs: Record<string, Iterable<T>>) => IteratorObject<Record<string, T>>;
19
+ /**
20
+ * Split the input up into arrays of at most `size` items.
21
+ * @function
22
+ */
23
+ export declare const chunks: <T>(this: Iterator<T>, size: number) => IteratorObject<Array<T>, undefined>;
24
+ /**
25
+ * Construct an empty iterator.
26
+ */
27
+ export declare function empty<T>(): IteratorObject<T>;
28
+ /**
29
+ * Get the next value from the iterator, wrapped in an {@link Option}
30
+ * type. If the iterator has no more values, return {@link None}.
31
+ */
32
+ export declare function takeOne<T>(this: Iterator<T>): Option<T>;
33
+ /**
34
+ * Take items from the iterator only until the first time `predicate` returns false.
35
+ */
36
+ export declare function takeWhile<T>(this: IteratorObject<T, undefined>, predicate: (value: T, index: number) => boolean): IteratorObject<T, undefined>;
37
+ /**
38
+ * Ignore all items matching `predicate` until the first item that
39
+ * doesn't match.
40
+ */
41
+ export declare function skipWhile<T>(this: IteratorObject<T, undefined>, predicate: (value: T, index: number) => boolean): IteratorObject<T, undefined>;
42
+ /**
43
+ * Iterate until calling `mapFn` on an item returns a value, then return
44
+ * that value. Return `undefined` if `mapFn` never returns a value.
45
+ */
46
+ export declare function findMap<T, U>(this: IteratorObject<T, undefined>, mapFn: (value: T, index: number) => NonNullable<U> | undefined): NonNullable<U> | undefined;
47
+ /**
48
+ * Split the input up into arrays of at most `size` items.
49
+ *
50
+ * @deprecated This has been standardised as {@link IteratorObject#chunks}.
51
+ */
52
+ export declare function partition<T>(this: IteratorObject<T, undefined>, size: number): IteratorObject<Array<T>, undefined>;
53
+ /**
54
+ * As {@link IteratorObject#partition}, but if the input length isn't
55
+ * divisible by `size`, ensure the *first* array is the shortest one
56
+ * rather than the last.
57
+ *
58
+ * Be warned that this requires the entire input iterable to be read up
59
+ * front to decide its length, so this function is not lazy.
60
+ */
61
+ export declare function frontBiasedPartition<T>(this: IteratorObject<T, undefined>, size: number): Array<Array<T>>;
62
+ /**
63
+ * Filter out any items which are `undefined`.
64
+ */
65
+ export declare function present<T>(this: IteratorObject<T, undefined>): IteratorObject<Present<T>, undefined>;
66
+ /**
67
+ * Filter out any items which are `null` or `undefined`.
68
+ */
69
+ export declare function nonNullable<T>(this: IteratorObject<T, undefined>): IteratorObject<NonNullable<T>, undefined>;
70
+ /**
71
+ * Test whether the given Iterable has the same contents as this
72
+ * iterator.
73
+ *
74
+ * Note that this will consume this iterator up to the point
75
+ * where the values diverge. You should not rely on any particular state
76
+ * of the iterator afterwards, but consider it spent.
77
+ */
78
+ export declare function equals(this: IteratorObject<unknown, undefined>, value: Iterable<unknown>, equalsFn?: (a: unknown, b: unknown) => boolean): boolean;
@@ -0,0 +1,176 @@
1
+ /* eslint-disable @typescript-eslint/no-this-alias */
2
+ // deno-lint-ignore-file no-this-alias
3
+ import { assert } from "@bodil/core/assert";
4
+ import { None, Some } from "@bodil/opt";
5
+ import getConcatPolyfill from "es-iterator-helpers/Iterator.concat/polyfill";
6
+ import getChunksPolyfill from "es-iterator-helpers/Iterator.prototype.chunks/polyfill";
7
+ import getZipPolyfill from "es-iterator-helpers/Iterator.zip/polyfill";
8
+ import getZipKeyedPolyfill from "es-iterator-helpers/Iterator.zipKeyed/polyfill";
9
+ /**
10
+ * Sequence multiple iterators into a single one.
11
+ * @see https://github.com/tc39/proposal-iterator-sequencing
12
+ * @function
13
+ */
14
+ export const concat = getConcatPolyfill();
15
+ /**
16
+ * @see https://github.com/tc39/proposal-joint-iteration
17
+ * @function
18
+ */
19
+ export const zip = getZipPolyfill();
20
+ /**
21
+ * @see https://github.com/tc39/proposal-joint-iteration
22
+ * @function
23
+ */
24
+ export const zipKeyed = getZipKeyedPolyfill();
25
+ /**
26
+ * Split the input up into arrays of at most `size` items.
27
+ * @function
28
+ */
29
+ export const chunks = getChunksPolyfill();
30
+ /**
31
+ * Construct an empty iterator.
32
+ */
33
+ export function empty() {
34
+ return Iterator.from([]);
35
+ }
36
+ /**
37
+ * Get the next value from the iterator, wrapped in an {@link Option}
38
+ * type. If the iterator has no more values, return {@link None}.
39
+ */
40
+ export function takeOne() {
41
+ const result = this.next();
42
+ return result.done === true ? None : Some(result.value);
43
+ }
44
+ /**
45
+ * Take items from the iterator only until the first time `predicate` returns false.
46
+ */
47
+ export function takeWhile(predicate) {
48
+ const iter = this;
49
+ let index = 0;
50
+ let done = false;
51
+ return Iterator.from({
52
+ next() {
53
+ if (!done) {
54
+ const result = iter.next();
55
+ if (result.done === true) {
56
+ return result;
57
+ }
58
+ if (predicate(result.value, index++)) {
59
+ return result;
60
+ }
61
+ }
62
+ done = true;
63
+ return { done: true, value: undefined };
64
+ },
65
+ });
66
+ }
67
+ /**
68
+ * Ignore all items matching `predicate` until the first item that
69
+ * doesn't match.
70
+ */
71
+ export function skipWhile(predicate) {
72
+ const iter = this;
73
+ let index = 0;
74
+ let skipped = false;
75
+ return Iterator.from({
76
+ next() {
77
+ if (skipped) {
78
+ return iter.next();
79
+ }
80
+ while (true) {
81
+ const result = iter.next();
82
+ if (result.done === true) {
83
+ return result;
84
+ }
85
+ if (!predicate(result.value, index++)) {
86
+ skipped = true;
87
+ return result;
88
+ }
89
+ }
90
+ },
91
+ });
92
+ }
93
+ /**
94
+ * Iterate until calling `mapFn` on an item returns a value, then return
95
+ * that value. Return `undefined` if `mapFn` never returns a value.
96
+ */
97
+ export function findMap(mapFn) {
98
+ let index = 0;
99
+ while (true) {
100
+ const result = this.next();
101
+ if (result.done === true) {
102
+ return undefined;
103
+ }
104
+ const mapped = mapFn(result.value, index++);
105
+ if (mapped !== undefined) {
106
+ return mapped;
107
+ }
108
+ }
109
+ }
110
+ /**
111
+ * Split the input up into arrays of at most `size` items.
112
+ *
113
+ * @deprecated This has been standardised as {@link IteratorObject#chunks}.
114
+ */
115
+ export function partition(size) {
116
+ return (chunks).call(this, size);
117
+ }
118
+ /**
119
+ * As {@link IteratorObject#partition}, but if the input length isn't
120
+ * divisible by `size`, ensure the *first* array is the shortest one
121
+ * rather than the last.
122
+ *
123
+ * Be warned that this requires the entire input iterable to be read up
124
+ * front to decide its length, so this function is not lazy.
125
+ */
126
+ export function frontBiasedPartition(size) {
127
+ const input = this.toArray();
128
+ let inputPos = 0;
129
+ const firstLength = input.length % size;
130
+ const output = [];
131
+ if (firstLength > 0) {
132
+ output.push(input.slice(0, firstLength));
133
+ inputPos = firstLength;
134
+ }
135
+ while (inputPos < input.length) {
136
+ output.push(input.slice(inputPos, inputPos + size));
137
+ inputPos += size;
138
+ }
139
+ assert(inputPos === input.length);
140
+ return output;
141
+ }
142
+ /**
143
+ * Filter out any items which are `undefined`.
144
+ */
145
+ export function present() {
146
+ return Iterator.from(this.filter((item) => item !== undefined));
147
+ }
148
+ /**
149
+ * Filter out any items which are `null` or `undefined`.
150
+ */
151
+ export function nonNullable() {
152
+ return Iterator.from(this.filter((item) => item !== undefined && item !== null));
153
+ }
154
+ /**
155
+ * Test whether the given Iterable has the same contents as this
156
+ * iterator.
157
+ *
158
+ * Note that this will consume this iterator up to the point
159
+ * where the values diverge. You should not rely on any particular state
160
+ * of the iterator afterwards, but consider it spent.
161
+ */
162
+ export function equals(value, equalsFn = Object.is) {
163
+ const other = Iterator.from(value);
164
+ while (true) {
165
+ const a = this.next();
166
+ const b = other.next();
167
+ if (a.done !== b.done ||
168
+ (a.done === false && b.done === false && !equalsFn(a.value, b.value))) {
169
+ return false;
170
+ }
171
+ if (a.done === true && b.done === true) {
172
+ return true;
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=iterator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterator.js","sourceRoot":"","sources":["../src/iterator.ts"],"names":[],"mappings":"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"}
package/dist/map.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { type Option } from "@bodil/opt";
2
+ /**
3
+ * If `key` exists in the map, return the value associated with it.
4
+ * Otherwise, call `defaultValue()` to create a new value, insert that
5
+ * into the map under `key`, and return it.
6
+ */
7
+ export declare function getOrInsertComputed<K, V>(this: Map<K, NonNullable<V>>, key: K, defaultValue: (key: K) => NonNullable<V>): V;
8
+ /**
9
+ * Alias for {@link getOrInsertComputed}.
10
+ * @function
11
+ */
12
+ export declare const getOrSet: typeof getOrInsertComputed;
13
+ /**
14
+ * If `key` exists in the map, remove the key/value pair from the map
15
+ * and return the removed value. Otherwise, return {@link None}.
16
+ *
17
+ * @see {@link Map.delete}
18
+ */
19
+ export declare function remove<K, V>(this: Map<K, V>, key: K): Option<V>;
package/dist/map.js ADDED
@@ -0,0 +1,31 @@
1
+ import { None, Some } from "@bodil/opt";
2
+ /**
3
+ * If `key` exists in the map, return the value associated with it.
4
+ * Otherwise, call `defaultValue()` to create a new value, insert that
5
+ * into the map under `key`, and return it.
6
+ */
7
+ export function getOrInsertComputed(key, defaultValue) {
8
+ const result = this.get(key);
9
+ if (result !== undefined) {
10
+ return result;
11
+ }
12
+ const newValue = defaultValue(key);
13
+ this.set(key, newValue);
14
+ return newValue;
15
+ }
16
+ /**
17
+ * Alias for {@link getOrInsertComputed}.
18
+ * @function
19
+ */
20
+ export const getOrSet = getOrInsertComputed;
21
+ /**
22
+ * If `key` exists in the map, remove the key/value pair from the map
23
+ * and return the removed value. Otherwise, return {@link None}.
24
+ *
25
+ * @see {@link Map.delete}
26
+ */
27
+ export function remove(key) {
28
+ const result = this.get(key);
29
+ return this.delete(key) ? Some(result) : None;
30
+ }
31
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAE/B,GAAM,EACN,YAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAwB,GAAM;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Option } from "@bodil/opt";
2
+ /**
3
+ * Checked key lookup. Returns {@link None} if a key isn't present.
4
+ * Returns a {@link Some} if the key is present, even if the value is
5
+ * `undefined`.
6
+ */
7
+ export declare function get<O extends object, K extends keyof O>(obj: O, key: K): Option<O[K]>;
8
+ /**
9
+ * Create a new object by mapping an existing object's `Object.entries`
10
+ * through a function.
11
+ */
12
+ export declare function mapEntries<A, B>(obj: Record<string, A>, fn: (entry: [key: string, value: A]) => [string, B]): Record<string, B>;
package/dist/object.js ADDED
@@ -0,0 +1,17 @@
1
+ import { None, Some } from "@bodil/opt";
2
+ /**
3
+ * Checked key lookup. Returns {@link None} if a key isn't present.
4
+ * Returns a {@link Some} if the key is present, even if the value is
5
+ * `undefined`.
6
+ */
7
+ export function get(obj, key) {
8
+ return Object.hasOwn(obj, key) ? Some(obj[key]) : None;
9
+ }
10
+ /**
11
+ * Create a new object by mapping an existing object's `Object.entries`
12
+ * through a function.
13
+ */
14
+ export function mapEntries(obj, fn) {
15
+ return Object.fromEntries(Object.entries(obj).map(fn));
16
+ }
17
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAsC,GAAM,EAAE,GAAM;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACtB,GAAsB,EACtB,EAAmD;IAEnD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type Option } from "@bodil/opt";
2
+ /**
3
+ * If `key` exists in the map, return the value associated with it.
4
+ * Otherwise, call `defaultValue()` to create a new value, insert that
5
+ * into the map under `key`, and return it.
6
+ */
7
+ export declare function getOrInsertComputed<K extends WeakKey, V>(this: WeakMap<K, NonNullable<V>>, key: K, defaultValue: (key: K) => NonNullable<V>): V;
8
+ /**
9
+ * Alias for {@link getOrInsertComputed}.
10
+ * @function
11
+ */
12
+ export declare const getOrSet: typeof getOrInsertComputed;
13
+ /**
14
+ * If `key` exists in the map, remove the key/value pair from the map
15
+ * and return the removed value. Otherwise, return {@link None}.
16
+ *
17
+ * @see {@link WeakMap.delete}
18
+ */
19
+ export declare function remove<K extends WeakKey, V>(this: WeakMap<K, V>, key: K): Option<V>;
@@ -0,0 +1,31 @@
1
+ import { None, Some } from "@bodil/opt";
2
+ /**
3
+ * If `key` exists in the map, return the value associated with it.
4
+ * Otherwise, call `defaultValue()` to create a new value, insert that
5
+ * into the map under `key`, and return it.
6
+ */
7
+ export function getOrInsertComputed(key, defaultValue) {
8
+ const result = this.get(key);
9
+ if (result !== undefined) {
10
+ return result;
11
+ }
12
+ const newValue = defaultValue(key);
13
+ this.set(key, newValue);
14
+ return newValue;
15
+ }
16
+ /**
17
+ * Alias for {@link getOrInsertComputed}.
18
+ * @function
19
+ */
20
+ export const getOrSet = getOrInsertComputed;
21
+ /**
22
+ * If `key` exists in the map, remove the key/value pair from the map
23
+ * and return the removed value. Otherwise, return {@link None}.
24
+ *
25
+ * @see {@link WeakMap.delete}
26
+ */
27
+ export function remove(key) {
28
+ const result = this.get(key);
29
+ return this.delete(key) ? Some(result) : None;
30
+ }
31
+ //# sourceMappingURL=weakmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weakmap.js","sourceRoot":"","sources":["../src/weakmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAE/B,GAAM,EACN,YAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAA4C,GAAM;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC"}