@morphic-ts/eq-interpreters
Advanced tools
Comparing version 0.6.5-alpha.0 to 0.6.5-alpha.1
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
const core_1 = require("@morphic-ts/common/lib/core"); | ||
const _1 = require("."); | ||
var tslib_1 = require("tslib"); | ||
var core_1 = require("@morphic-ts/common/lib/core"); | ||
var _1 = require("."); | ||
tslib_1.__exportStar(require("./model-eq"), exports); // to thread type level augmentations | ||
@@ -7,0 +7,0 @@ /** |
@@ -10,7 +10,8 @@ "use strict"; | ||
*/ | ||
class EqType { | ||
constructor(eq) { | ||
var EqType = /** @class */ (function () { | ||
function EqType(eq) { | ||
this.eq = eq; | ||
} | ||
} | ||
return EqType; | ||
}()); | ||
exports.EqType = EqType; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
var tslib_1 = require("tslib"); | ||
tslib_1.__exportStar(require("./hkt"), exports); | ||
tslib_1.__exportStar(require("./config"), exports); | ||
tslib_1.__exportStar(require("./interpreters"), exports); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
const utils_1 = require("@morphic-ts/common/lib/utils"); | ||
const refined_1 = require("./model-eq/refined"); | ||
const newtype_1 = require("./model-eq/newtype"); | ||
const unknown_1 = require("./model-eq/unknown"); | ||
const primitives_1 = require("./model-eq/primitives"); | ||
const intersections_1 = require("./model-eq/intersections"); | ||
const object_1 = require("./model-eq/object"); | ||
const tagged_unions_1 = require("./model-eq/tagged-unions"); | ||
const recursive_1 = require("./model-eq/recursive"); | ||
const str_map_1 = require("./model-eq/str-map"); | ||
const set_1 = require("./model-eq/set"); | ||
var tslib_1 = require("tslib"); | ||
var utils_1 = require("@morphic-ts/common/lib/utils"); | ||
var refined_1 = require("./model-eq/refined"); | ||
var newtype_1 = require("./model-eq/newtype"); | ||
var unknown_1 = require("./model-eq/unknown"); | ||
var primitives_1 = require("./model-eq/primitives"); | ||
var intersections_1 = require("./model-eq/intersections"); | ||
var object_1 = require("./model-eq/object"); | ||
var tagged_unions_1 = require("./model-eq/tagged-unions"); | ||
var recursive_1 = require("./model-eq/recursive"); | ||
var str_map_1 = require("./model-eq/str-map"); | ||
var set_1 = require("./model-eq/set"); | ||
tslib_1.__exportStar(require("./hkt"), exports); | ||
@@ -19,3 +19,3 @@ /** | ||
*/ | ||
const allModelEq = utils_1.merge(refined_1.eqRefinedInterpreter, newtype_1.eqNewtypeInterpreter, unknown_1.eqUnknownInterpreter, primitives_1.eqPrimitiveInterpreter, intersections_1.eqIntersectionInterpreter, object_1.eqObjectInterpreter, tagged_unions_1.eqTaggedUnionInterpreter, recursive_1.eqRecursiveInterpreter, str_map_1.eqStrMapInterpreter, set_1.eqSetInterpreter); | ||
var allModelEq = utils_1.merge(refined_1.eqRefinedInterpreter, newtype_1.eqNewtypeInterpreter, unknown_1.eqUnknownInterpreter, primitives_1.eqPrimitiveInterpreter, intersections_1.eqIntersectionInterpreter, object_1.eqObjectInterpreter, tagged_unions_1.eqTaggedUnionInterpreter, recursive_1.eqRecursiveInterpreter, str_map_1.eqStrMapInterpreter, set_1.eqSetInterpreter); | ||
/** | ||
@@ -22,0 +22,0 @@ * @since 0.0.1 |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const tslib_1 = require("tslib"); | ||
var tslib_1 = require("tslib"); | ||
tslib_1.__exportStar(require("./primitives"), exports); | ||
@@ -5,0 +5,0 @@ tslib_1.__exportStar(require("./intersections"), exports); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const Monoid_1 = require("fp-ts/lib/Monoid"); | ||
const hkt_1 = require("../hkt"); | ||
var Monoid_1 = require("fp-ts/lib/Monoid"); | ||
var hkt_1 = require("../hkt"); | ||
/** | ||
@@ -10,8 +10,11 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
intersection: (types) => { | ||
const equals = types.map(({ eq }) => eq.equals); | ||
intersection: function (types) { | ||
var equals = types.map(function (_a) { | ||
var eq = _a.eq; | ||
return eq.equals; | ||
}); | ||
return new hkt_1.EqType({ | ||
equals: (a, b) => Monoid_1.fold(Monoid_1.monoidAll)(equals.map(eq => eq(a, b))) // TODO: optimize | ||
equals: function (a, b) { return Monoid_1.fold(Monoid_1.monoidAll)(equals.map(function (eq) { return eq(a, b); })); } // TODO: optimize | ||
}); | ||
} | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const hkt_1 = require("../hkt"); | ||
const function_1 = require("fp-ts/lib/function"); | ||
var hkt_1 = require("../hkt"); | ||
var function_1 = require("fp-ts/lib/function"); | ||
/** | ||
@@ -10,3 +10,3 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
newtype: () => function_1.identity | ||
newtype: function () { return function_1.identity; } | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const hkt_1 = require("../hkt"); | ||
const utils_1 = require("@morphic-ts/common/lib/utils"); | ||
const Eq_1 = require("fp-ts/lib/Eq"); | ||
var hkt_1 = require("../hkt"); | ||
var utils_1 = require("@morphic-ts/common/lib/utils"); | ||
var Eq_1 = require("fp-ts/lib/Eq"); | ||
/** | ||
@@ -11,4 +11,6 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
interface: props => new hkt_1.EqType(Eq_1.getStructEq(utils_1.projectField(props)('eq'))), | ||
partial: (props) => new hkt_1.EqType(Eq_1.getStructEq(utils_1.projectField(props)('eq'))) // relies on Eq<A> whereas we need Eq<Partial<A>> (but works - covered by tests) | ||
interface: function (props) { return new hkt_1.EqType(Eq_1.getStructEq(utils_1.projectField(props)('eq'))); }, | ||
partial: function (props) { | ||
return new hkt_1.EqType(Eq_1.getStructEq(utils_1.projectField(props)('eq'))); | ||
} // relies on Eq<A> whereas we need Eq<Partial<A>> (but works - covered by tests) | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const fp_ts_1 = require("fp-ts"); | ||
const Eq_1 = require("fp-ts/lib/Eq"); | ||
const hkt_1 = require("../hkt"); | ||
var fp_ts_1 = require("fp-ts"); | ||
var Eq_1 = require("fp-ts/lib/Eq"); | ||
var hkt_1 = require("../hkt"); | ||
/** | ||
@@ -11,11 +11,17 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
date: _ => new hkt_1.EqType(Eq_1.eq.contramap(Eq_1.eqNumber, (date) => date.getTime())), | ||
boolean: _ => new hkt_1.EqType(Eq_1.eqBoolean), | ||
string: _ => new hkt_1.EqType(Eq_1.eqString), | ||
number: _ => new hkt_1.EqType(Eq_1.eqNumber), | ||
bigint: _ => new hkt_1.EqType({ equals: Eq_1.strictEqual }), | ||
stringLiteral: (_) => new hkt_1.EqType(Eq_1.eqString), | ||
keysOf: _keys => new hkt_1.EqType({ equals: Eq_1.strictEqual }), | ||
nullable: ({ eq }) => new hkt_1.EqType(fp_ts_1.option.getEq(eq)), | ||
array: ({ eq }) => new hkt_1.EqType(fp_ts_1.array.getEq(eq)) | ||
date: function (_) { return new hkt_1.EqType(Eq_1.eq.contramap(Eq_1.eqNumber, function (date) { return date.getTime(); })); }, | ||
boolean: function (_) { return new hkt_1.EqType(Eq_1.eqBoolean); }, | ||
string: function (_) { return new hkt_1.EqType(Eq_1.eqString); }, | ||
number: function (_) { return new hkt_1.EqType(Eq_1.eqNumber); }, | ||
bigint: function (_) { return new hkt_1.EqType({ equals: Eq_1.strictEqual }); }, | ||
stringLiteral: function (_) { return new hkt_1.EqType(Eq_1.eqString); }, | ||
keysOf: function (_keys) { return new hkt_1.EqType({ equals: Eq_1.strictEqual }); }, | ||
nullable: function (_a) { | ||
var eq = _a.eq; | ||
return new hkt_1.EqType(fp_ts_1.option.getEq(eq)); | ||
}, | ||
array: function (_a) { | ||
var eq = _a.eq; | ||
return new hkt_1.EqType(fp_ts_1.array.getEq(eq)); | ||
} | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const hkt_1 = require("../hkt"); | ||
const utils_1 = require("@morphic-ts/common/lib/utils"); | ||
var hkt_1 = require("../hkt"); | ||
var utils_1 = require("@morphic-ts/common/lib/utils"); | ||
/** | ||
@@ -10,7 +10,7 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
recursive: a => { | ||
const get = utils_1.memo(() => a(res)); | ||
const res = new hkt_1.EqType({ equals: (a, b) => get().eq.equals(a, b) }); | ||
recursive: function (a) { | ||
var get = utils_1.memo(function () { return a(res); }); | ||
var res = new hkt_1.EqType({ equals: function (a, b) { return get().eq.equals(a, b); } }); | ||
return res; | ||
} | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const hkt_1 = require("../hkt"); | ||
const function_1 = require("fp-ts/lib/function"); | ||
var hkt_1 = require("../hkt"); | ||
var function_1 = require("fp-ts/lib/function"); | ||
/** | ||
@@ -6,0 +6,0 @@ * @since 0.0.1 |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const fp_ts_1 = require("fp-ts"); | ||
const hkt_1 = require("../hkt"); | ||
var fp_ts_1 = require("fp-ts"); | ||
var hkt_1 = require("../hkt"); | ||
/** | ||
@@ -10,3 +10,6 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
set: ({ eq }) => new hkt_1.EqType(fp_ts_1.set.getEq(eq)) | ||
set: function (_a) { | ||
var eq = _a.eq; | ||
return new hkt_1.EqType(fp_ts_1.set.getEq(eq)); | ||
} | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const fp_ts_1 = require("fp-ts"); | ||
const hkt_1 = require("../hkt"); | ||
var fp_ts_1 = require("fp-ts"); | ||
var hkt_1 = require("../hkt"); | ||
/** | ||
@@ -10,3 +10,3 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
strMap: codomain => new hkt_1.EqType(fp_ts_1.record.getEq(codomain.eq)) | ||
strMap: function (codomain) { return new hkt_1.EqType(fp_ts_1.record.getEq(codomain.eq)); } | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const hkt_1 = require("../hkt"); | ||
const utils_1 = require("@morphic-ts/common/lib/utils"); | ||
var hkt_1 = require("../hkt"); | ||
var utils_1 = require("@morphic-ts/common/lib/utils"); | ||
/** | ||
@@ -10,6 +10,6 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
taggedUnion: (tag, types) => { | ||
const equals = utils_1.mapRecord(types, a => a.eq.equals); | ||
taggedUnion: function (tag, types) { | ||
var equals = utils_1.mapRecord(types, function (a) { return a.eq.equals; }); | ||
return new hkt_1.EqType({ | ||
equals: (a, b) => { | ||
equals: function (a, b) { | ||
if (a === b) { | ||
@@ -19,3 +19,3 @@ return true; | ||
else { | ||
const aTag = a[tag]; | ||
var aTag = a[tag]; | ||
return aTag === b[tag] ? equals[aTag](a, b) : false; | ||
@@ -22,0 +22,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const hkt_1 = require("../hkt"); | ||
const fast_equals_1 = require("fast-equals"); | ||
const getAlgebraConfig = () => (configKey) => (config) => (config !== undefined ? config[configKey] : undefined); | ||
const getUnkownConfig = getAlgebraConfig(); | ||
const getEqURIUnkownConfig = getUnkownConfig(hkt_1.EqURI); | ||
var hkt_1 = require("../hkt"); | ||
var fast_equals_1 = require("fast-equals"); | ||
var getAlgebraConfig = function () { return function (configKey) { return function (config) { return (config !== undefined ? config[configKey] : undefined); }; }; }; | ||
var getUnkownConfig = getAlgebraConfig(); | ||
var getEqURIUnkownConfig = getUnkownConfig(hkt_1.EqURI); | ||
/** | ||
@@ -13,5 +13,5 @@ * @since 0.0.1 | ||
_F: hkt_1.EqURI, | ||
unknown: cfg => { | ||
const config = getEqURIUnkownConfig(cfg); | ||
const equals = config === undefined | ||
unknown: function (cfg) { | ||
var config = getEqURIUnkownConfig(cfg); | ||
var equals = config === undefined | ||
? fast_equals_1.circularDeepEqual | ||
@@ -23,4 +23,4 @@ : config.compare === 'default-circular' | ||
: config.compare.equals; | ||
return new hkt_1.EqType({ equals }); | ||
return new hkt_1.EqType({ equals: equals }); | ||
} | ||
}; |
{ | ||
"name": "@morphic-ts/eq-interpreters", | ||
"version": "0.6.5-alpha.0", | ||
"version": "0.6.5-alpha.1", | ||
"description": "Morphic Eq (fp-ts) package for equality", | ||
@@ -24,5 +24,5 @@ "author": "Stéphane Le Dorze <stephane.ledorze@gmail.com>", | ||
"dependencies": { | ||
"@morphic-ts/algebras": "^0.4.4-alpha.0", | ||
"@morphic-ts/common": "^0.4.4-alpha.0", | ||
"@morphic-ts/model-algebras": "^0.6.4-alpha.0", | ||
"@morphic-ts/algebras": "^0.4.4-alpha.1", | ||
"@morphic-ts/common": "^0.4.4-alpha.1", | ||
"@morphic-ts/model-algebras": "^0.6.4-alpha.1", | ||
"fast-equals": "^2.0.0", | ||
@@ -72,3 +72,3 @@ "fp-ts": "^2.4.1" | ||
}, | ||
"gitHead": "f41dfd97353244f79a2a51500fe3ba15aa42620e" | ||
"gitHead": "fa7645c4038010c771910506df3e7027aa4ecf2d" | ||
} |
28038
63
701