UNPKG

@eeue56/ts-core

Version:

Core library for TypeScript inspired by Elm

91 lines 9.09 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = __importDefault(require("ava")); const Maybe = __importStar(require("./maybe")); const aNothingValue = Maybe.Nothing(); const aRealValue = 'just something'; const aJustValue = Maybe.Just(aRealValue); const aSecondRealValue = 'just something else'; const aSecondJustValue = Maybe.Just(aSecondRealValue); const aThirdRealValue = 'another just something else'; const aThirdJustValue = Maybe.Just(aThirdRealValue); ava_1.default('withDefault', (t) => { const defaultValue = 'a default'; t.deepEqual(Maybe.withDefault(defaultValue, aNothingValue), defaultValue); t.deepEqual(Maybe.withDefault(defaultValue, aJustValue), aRealValue); }); ava_1.default('map', (t) => { const innerValue = aRealValue.length; const convertFunc = (str) => { return str.length; }; const inner = Maybe.Just(innerValue); // Nothing => Nothing t.deepEqual(Maybe.map(convertFunc, aNothingValue), Maybe.Nothing()); // Just => Just t.deepEqual(Maybe.map(convertFunc, aJustValue), inner); }); ava_1.default('map2', (t) => { const convertFunc = (first, second) => { return first.length + second.length; }; const inner = Maybe.Just(aRealValue.length + aSecondRealValue.length); // Nothing => Just => Nothing t.deepEqual(Maybe.map2(convertFunc, aNothingValue, aJustValue), Maybe.Nothing()); // Just => Nothing => Nothing t.deepEqual(Maybe.map2(convertFunc, aJustValue, aNothingValue), Maybe.Nothing()); // Nothing => Nothing => Nothing t.deepEqual(Maybe.map2(convertFunc, aNothingValue, aNothingValue), Maybe.Nothing()); // Just => Just => Just t.deepEqual(Maybe.map2(convertFunc, aJustValue, aSecondJustValue), inner); t.deepEqual(Maybe.map2(convertFunc, aSecondJustValue, aJustValue), inner); }); ava_1.default('map3', (t) => { const convertFunc = (first, second, third) => { return first.length + second.length + third.length; }; const inner = Maybe.Just(aRealValue.length + aSecondRealValue.length + aThirdRealValue.length); // Just => Nothing => Nothing => Nothing t.deepEqual(Maybe.map3(convertFunc, aJustValue, aNothingValue, aNothingValue), Maybe.Nothing()); // Nothing => Just => Nothing => Nothing t.deepEqual(Maybe.map3(convertFunc, aNothingValue, aJustValue, aNothingValue), Maybe.Nothing()); // Nothing => Nothing => Just => Nothing t.deepEqual(Maybe.map3(convertFunc, aNothingValue, aNothingValue, aJustValue), Maybe.Nothing()); // Nothing => Nothing => Nothing => Nothing t.deepEqual(Maybe.map3(convertFunc, aNothingValue, aNothingValue, aNothingValue), Maybe.Nothing()); // Just => Just => Just t.deepEqual(Maybe.map3(convertFunc, aJustValue, aSecondJustValue, aThirdJustValue), inner); t.deepEqual(Maybe.map3(convertFunc, aSecondJustValue, aThirdJustValue, aJustValue), inner); }); ava_1.default('andThen', (t) => { const convertFunc = (value) => { return Maybe.Just(value.length); }; // Nothing => Nothing t.deepEqual(Maybe.andThen(convertFunc, aNothingValue), Maybe.Nothing()); // Just => Just t.deepEqual(Maybe.andThen(convertFunc, aJustValue), Maybe.Just(aRealValue.length)); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF5YmUuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbWF5YmUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBdUI7QUFFdkIsK0NBQWlDO0FBRWpDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQVUsQ0FBQztBQUU5QyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztBQUNwQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTFDLE1BQU0sZ0JBQWdCLEdBQUcscUJBQXFCLENBQUM7QUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdEQsTUFBTSxlQUFlLEdBQUcsNkJBQTZCLENBQUM7QUFDdEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVwRCxhQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDdEIsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFMUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMsQ0FBQztBQUVILGFBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNkLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFFckMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtRQUN4QyxPQUFPLEdBQUcs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