fortepiano 0.1.0
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/README.md +3 -0
- package/lib/Aggregate.d.ts +4 -0
- package/lib/Aggregate.js +2 -0
- package/lib/Binary.d.ts +5 -0
- package/lib/Binary.js +15 -0
- package/lib/Buffer.d.ts +5 -0
- package/lib/Buffer.js +45 -0
- package/lib/Cache.d.ts +18 -0
- package/lib/Cache.js +50 -0
- package/lib/Console.d.ts +20 -0
- package/lib/Console.js +25 -0
- package/lib/Crypto.d.ts +5 -0
- package/lib/Crypto.js +39 -0
- package/lib/Date.d.ts +4 -0
- package/lib/Date.js +30 -0
- package/lib/Eq.d.ts +4 -0
- package/lib/Eq.js +29 -0
- package/lib/Error.d.ts +6 -0
- package/lib/Error.js +56 -0
- package/lib/GeneratorL.d.ts +208 -0
- package/lib/GeneratorL.js +501 -0
- package/lib/Http.d.ts +60 -0
- package/lib/Http.js +131 -0
- package/lib/IOAsyncGenerator.d.ts +102 -0
- package/lib/IOAsyncGenerator.js +456 -0
- package/lib/Log.d.ts +4 -0
- package/lib/Log.js +5 -0
- package/lib/Magma.d.ts +2 -0
- package/lib/Magma.js +26 -0
- package/lib/Matrix.d.ts +9 -0
- package/lib/Matrix.js +36 -0
- package/lib/Mock.d.ts +76 -0
- package/lib/Mock.js +113 -0
- package/lib/Option.d.ts +2 -0
- package/lib/Option.js +26 -0
- package/lib/Random.d.ts +7 -0
- package/lib/Random.js +7 -0
- package/lib/Reader.d.ts +4 -0
- package/lib/Reader.js +31 -0
- package/lib/ReaderEither.d.ts +9 -0
- package/lib/ReaderEither.js +34 -0
- package/lib/ReaderTask.d.ts +8 -0
- package/lib/ReaderTask.js +35 -0
- package/lib/ReaderTaskEither.d.ts +17 -0
- package/lib/ReaderTaskEither.js +42 -0
- package/lib/ReadonlyArray.d.ts +75 -0
- package/lib/ReadonlyArray.js +70 -0
- package/lib/ReadonlyRecord.d.ts +4 -0
- package/lib/ReadonlyRecord.js +28 -0
- package/lib/ReadonlyTuple.d.ts +14 -0
- package/lib/ReadonlyTuple.js +34 -0
- package/lib/Storage.d.ts +15 -0
- package/lib/Storage.js +57 -0
- package/lib/Stream.d.ts +5 -0
- package/lib/Stream.js +31 -0
- package/lib/TaskEither.d.ts +2 -0
- package/lib/TaskEither.js +32 -0
- package/lib/Type.d.ts +11 -0
- package/lib/Type.js +53 -0
- package/lib/Validation.d.ts +4 -0
- package/lib/Validation.js +30 -0
- package/lib/cache/Memcached.d.ts +4 -0
- package/lib/cache/Memcached.js +50 -0
- package/lib/cache/Memory.d.ts +2 -0
- package/lib/cache/Memory.js +66 -0
- package/lib/cache/Redis.d.ts +4 -0
- package/lib/cache/Redis.js +58 -0
- package/lib/cache/Storage.d.ts +4 -0
- package/lib/cache/Storage.js +62 -0
- package/lib/function.d.ts +52 -0
- package/lib/function.js +101 -0
- package/lib/http/Axios.d.ts +3 -0
- package/lib/http/Axios.js +59 -0
- package/lib/http/Fetch.d.ts +2 -0
- package/lib/http/Fetch.js +71 -0
- package/lib/http/Got.d.ts +3 -0
- package/lib/http/Got.js +60 -0
- package/lib/http/Mock.d.ts +2 -0
- package/lib/http/Mock.js +52 -0
- package/lib/index.d.ts +48 -0
- package/lib/index.js +86 -0
- package/lib/log/Void.d.ts +3 -0
- package/lib/log/Void.js +6 -0
- package/lib/number.d.ts +3 -0
- package/lib/number.js +8 -0
- package/lib/storage/Flydrive.d.ts +4 -0
- package/lib/storage/Flydrive.js +67 -0
- package/lib/storage/Fs.d.ts +3 -0
- package/lib/storage/Fs.js +53 -0
- package/lib/string.d.ts +5 -0
- package/lib/string.js +33 -0
- package/lib/struct.d.ts +9 -0
- package/lib/struct.js +47 -0
- package/package.json +87 -0
package/README.md
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# fortepiano
|
|
2
|
+
[](https://github.com/facile-it/fortepiano/actions/workflows/main.yaml)
|
|
3
|
+
[](https://codecov.io/gh/facile-it/fortepiano)
|
package/lib/Aggregate.js
ADDED
package/lib/Binary.d.ts
ADDED
package/lib/Binary.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MonoidXor = exports.MonoidOr = exports.MonoidAnd = void 0;
|
|
4
|
+
exports.MonoidAnd = {
|
|
5
|
+
empty: 1,
|
|
6
|
+
concat: (x, y) => Number(Boolean(x) && Boolean(y)),
|
|
7
|
+
};
|
|
8
|
+
exports.MonoidOr = {
|
|
9
|
+
empty: 0,
|
|
10
|
+
concat: (x, y) => Number(Boolean(x) || Boolean(y)),
|
|
11
|
+
};
|
|
12
|
+
exports.MonoidXor = {
|
|
13
|
+
empty: 0,
|
|
14
|
+
concat: (x, y) => Number(x ? !y : Boolean(y)),
|
|
15
|
+
};
|
package/lib/Buffer.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as t from 'io-ts';
|
|
3
|
+
export declare const BufferC: t.Type<Buffer, string, unknown>;
|
|
4
|
+
export declare const BufferFromStringC: t.Type<Buffer, string, unknown>;
|
|
5
|
+
export declare const fromStream: (stream: NodeJS.ReadableStream) => import("fp-ts/lib/TaskEither").TaskEither<Error, Buffer>;
|
package/lib/Buffer.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.fromStream = exports.BufferFromStringC = exports.BufferC = void 0;
|
|
23
|
+
const t = __importStar(require("io-ts"));
|
|
24
|
+
const $E = __importStar(require("./Error"));
|
|
25
|
+
const $TE = __importStar(require("./TaskEither"));
|
|
26
|
+
const is = (u) => u instanceof Buffer;
|
|
27
|
+
exports.BufferC = new t.Type('Buffer', is, (u, c) => (is(u) ? t.success(u) : t.failure(u, c)), (b) => b.toString('base64'));
|
|
28
|
+
exports.BufferFromStringC = new t.Type('BufferFromString', is, (u, c) => {
|
|
29
|
+
try {
|
|
30
|
+
return t.string.is(u)
|
|
31
|
+
? t.success(Buffer.from(u, 'base64'))
|
|
32
|
+
: t.failure(u, c);
|
|
33
|
+
}
|
|
34
|
+
catch (_) {
|
|
35
|
+
return t.failure(u, c);
|
|
36
|
+
}
|
|
37
|
+
}, exports.BufferC.encode);
|
|
38
|
+
const fromStream = (stream) => $TE.tryCatch(() => new Promise((resolve, reject) => {
|
|
39
|
+
const buffer = [];
|
|
40
|
+
stream
|
|
41
|
+
.on('error', reject)
|
|
42
|
+
.on('data', (data) => buffer.push(data))
|
|
43
|
+
.on('end', () => resolve(Buffer.concat(buffer)));
|
|
44
|
+
}), $E.fromUnknown(Error('Cannot read stream into buffer')));
|
|
45
|
+
exports.fromStream = fromStream;
|
package/lib/Cache.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Endomorphism } from 'fp-ts/function';
|
|
2
|
+
import * as J from 'fp-ts/Json';
|
|
3
|
+
import * as RNEA from 'fp-ts/ReadonlyNonEmptyArray';
|
|
4
|
+
import * as TE from 'fp-ts/TaskEither';
|
|
5
|
+
import * as t from 'io-ts';
|
|
6
|
+
import { memory } from './cache/Memory';
|
|
7
|
+
import { storage } from './cache/Storage';
|
|
8
|
+
import * as $L from './Log';
|
|
9
|
+
export interface Cache {
|
|
10
|
+
readonly get: <A>(key: string, codec: t.Type<A, unknown>) => TE.TaskEither<Error, A>;
|
|
11
|
+
readonly set: <A>(key: string, codec: t.Type<A, J.Json>, ttl?: number) => (value: A) => TE.TaskEither<Error, void>;
|
|
12
|
+
readonly delete: (key: string) => TE.TaskEither<Error, void>;
|
|
13
|
+
readonly clear: TE.TaskEither<Error, void>;
|
|
14
|
+
}
|
|
15
|
+
export declare const chain: (...caches: RNEA.ReadonlyNonEmptyArray<Cache>) => Cache;
|
|
16
|
+
export declare function log(logStart: $L.Logger, logEnd: $L.Logger): Endomorphism<Cache>;
|
|
17
|
+
export declare function log(log: $L.Logger): Endomorphism<Cache>;
|
|
18
|
+
export { memory, storage };
|
package/lib/Cache.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.storage = exports.memory = exports.log = exports.chain = void 0;
|
|
23
|
+
const function_1 = require("fp-ts/function");
|
|
24
|
+
const R = __importStar(require("fp-ts/Random"));
|
|
25
|
+
const RNEA = __importStar(require("fp-ts/ReadonlyNonEmptyArray"));
|
|
26
|
+
const TE = __importStar(require("fp-ts/TaskEither"));
|
|
27
|
+
const Memory_1 = require("./cache/Memory");
|
|
28
|
+
Object.defineProperty(exports, "memory", { enumerable: true, get: function () { return Memory_1.memory; } });
|
|
29
|
+
const Storage_1 = require("./cache/Storage");
|
|
30
|
+
Object.defineProperty(exports, "storage", { enumerable: true, get: function () { return Storage_1.storage; } });
|
|
31
|
+
const $L = __importStar(require("./Log"));
|
|
32
|
+
const $R = __importStar(require("./Random"));
|
|
33
|
+
const chain = (...caches) => ({
|
|
34
|
+
get: (key, codec) => function_1.pipe(caches, RNEA.reduce(TE.left(Error()), (value, { get }) => TE.Alt.alt(value, () => get(key, codec)))),
|
|
35
|
+
set: (key, codec, ttl) => (value) => function_1.pipe(caches, TE.traverseArray(({ set }) => set(key, codec, ttl)(value)), TE.map(function_1.constVoid)),
|
|
36
|
+
delete: (key) => function_1.pipe(caches, TE.traverseArray(({ delete: _delete }) => _delete(key)), TE.map(function_1.constVoid)),
|
|
37
|
+
clear: function_1.pipe(caches, TE.traverseArray(({ clear }) => clear), TE.map(function_1.constVoid)),
|
|
38
|
+
});
|
|
39
|
+
exports.chain = chain;
|
|
40
|
+
function log(log0, log1) {
|
|
41
|
+
const logStart = undefined !== log1 ? log0 : $L.void;
|
|
42
|
+
const logEnd = log1 || log0;
|
|
43
|
+
return (cache) => ({
|
|
44
|
+
get: (key, codec) => $R.salt(TE.MonadIO)(R.randomInt(0, Number.MAX_SAFE_INTEGER), (salt) => function_1.pipe(logStart(`[${salt}] \rItem "${key}" retrieved from cache`), TE.fromIO, TE.chain(() => cache.get(key, codec)), TE.chainFirstIOK(() => logEnd(`[${salt}] \rItem "${key}" retrieved from cache`)))),
|
|
45
|
+
set: (key, codec, ttl) => (value) => $R.salt(TE.MonadIO)(R.randomInt(0, Number.MAX_SAFE_INTEGER), (salt) => function_1.pipe(logStart(`[${salt}] \rItem "${key}" saved to cache`), TE.fromIO, TE.chain(() => cache.set(key, codec, ttl)(value)), TE.chainFirstIOK(() => logEnd(`[${salt}] \rItem "${key}" saved to cache`)))),
|
|
46
|
+
delete: (key) => $R.salt(TE.MonadIO)(R.randomInt(0, Number.MAX_SAFE_INTEGER), (salt) => function_1.pipe(logStart(`[${salt}] \rItem "${key}" deleted from cache`), TE.fromIO, TE.chain(() => cache.delete(key)), TE.chainFirstIOK(() => logEnd(`[${salt}] \rItem "${key}" deleted from cache`)))),
|
|
47
|
+
clear: $R.salt(TE.MonadIO)(R.randomInt(0, Number.MAX_SAFE_INTEGER), (salt) => function_1.pipe(logStart(`[${salt}] \rCache cleared`), TE.fromIO, TE.chain(() => cache.clear), TE.chainFirstIOK(() => logEnd(`[${salt}] \rCache cleared`)))),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
exports.log = log;
|
package/lib/Console.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as IO from 'fp-ts/IO';
|
|
2
|
+
import * as RR from 'fp-ts/ReadonlyRecord';
|
|
3
|
+
import * as $S from './struct';
|
|
4
|
+
export declare const error: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
5
|
+
export declare const info: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
6
|
+
export declare const log: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
7
|
+
export declare const trace: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
8
|
+
export declare const warn: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
9
|
+
export declare const assert: (condition?: boolean | undefined, ...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
10
|
+
export declare const count: (a?: unknown) => IO.IO<void>;
|
|
11
|
+
export declare const countReset: (a?: unknown) => IO.IO<void>;
|
|
12
|
+
export declare const group: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
13
|
+
export declare const groupCollapsed: (...as: ReadonlyArray<unknown>) => IO.IO<void>;
|
|
14
|
+
export declare const groupEnd: IO.IO<void>;
|
|
15
|
+
export declare function table<A extends $S.struct, K extends keyof A>(data: ReadonlyArray<A> | RR.ReadonlyRecord<string, A>, columns?: ReadonlyArray<K>): IO.IO<void>;
|
|
16
|
+
export declare function table(data: $S.struct | ReadonlyArray<unknown>): IO.IO<void>;
|
|
17
|
+
export declare function table(a?: undefined | boolean | number | string, ...as: ReadonlyArray<unknown>): IO.IO<void>;
|
|
18
|
+
export declare const time: (a?: unknown) => IO.IO<void>;
|
|
19
|
+
export declare const timeEnd: (a?: unknown) => IO.IO<void>;
|
|
20
|
+
export declare const timeLog: (a?: unknown) => IO.IO<void>;
|
package/lib/Console.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.timeLog = exports.timeEnd = exports.time = exports.table = exports.groupEnd = exports.groupCollapsed = exports.group = exports.countReset = exports.count = exports.assert = exports.warn = exports.trace = exports.log = exports.info = exports.error = void 0;
|
|
4
|
+
const _noArgs = (method) => () => console[method]();
|
|
5
|
+
const _singleArg = (method) => (a) => () => console[method](a);
|
|
6
|
+
const _multipleArgs = (method) => (...as) => () => console[method](...as);
|
|
7
|
+
exports.error = _multipleArgs('error');
|
|
8
|
+
exports.info = _multipleArgs('info');
|
|
9
|
+
exports.log = _multipleArgs('log');
|
|
10
|
+
exports.trace = _multipleArgs('trace');
|
|
11
|
+
exports.warn = _multipleArgs('warn');
|
|
12
|
+
const assert = (condition, ...as) => () => console.assert(condition, ...as);
|
|
13
|
+
exports.assert = assert;
|
|
14
|
+
exports.count = _singleArg('count');
|
|
15
|
+
exports.countReset = _singleArg('countReset');
|
|
16
|
+
exports.group = _multipleArgs('group');
|
|
17
|
+
exports.groupCollapsed = _multipleArgs('groupCollapsed');
|
|
18
|
+
exports.groupEnd = _noArgs('groupEnd');
|
|
19
|
+
function table(...args) {
|
|
20
|
+
return () => console.table(...args);
|
|
21
|
+
}
|
|
22
|
+
exports.table = table;
|
|
23
|
+
exports.time = _singleArg('time');
|
|
24
|
+
exports.timeEnd = _singleArg('timeEnd');
|
|
25
|
+
exports.timeLog = _singleArg('timeLog');
|
package/lib/Crypto.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import * as TE from 'fp-ts/TaskEither';
|
|
3
|
+
export declare const randomBytes: (size: number) => TE.TaskEither<Error, Buffer>;
|
|
4
|
+
export declare const hash: (size: number, encoding?: BufferEncoding) => TE.TaskEither<Error, string>;
|
|
5
|
+
export declare const uuid4: TE.TaskEither<Error, string>;
|
package/lib/Crypto.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.uuid4 = exports.hash = exports.randomBytes = void 0;
|
|
26
|
+
/* eslint-disable no-bitwise */
|
|
27
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
28
|
+
const function_1 = require("fp-ts/function");
|
|
29
|
+
const TE = __importStar(require("fp-ts/TaskEither"));
|
|
30
|
+
const $E = __importStar(require("./Error"));
|
|
31
|
+
const randomBytes = (size) => function_1.pipe(TE.tryCatch(() => new Promise((resolve, reject) => crypto_1.default.randomBytes(size, (error, buffer) => null !== error ? reject(error) : resolve(buffer))), $E.fromUnknown(Error(`Cannot generate ${size} random bytes`))));
|
|
32
|
+
exports.randomBytes = randomBytes;
|
|
33
|
+
const hash = (size, encoding = 'hex') => function_1.pipe(exports.randomBytes(size), TE.map((buffer) => buffer.toString(encoding)));
|
|
34
|
+
exports.hash = hash;
|
|
35
|
+
exports.uuid4 = function_1.pipe(exports.hash(16, 'hex'), TE.map((s) => `${s.slice(0, 8)}-${s.slice(8, 12)}-4${s.slice(13, 16)}-${(((s.charCodeAt(16) > 57
|
|
36
|
+
? s.charCodeAt(16) - 97
|
|
37
|
+
: s.charCodeAt(16) - 48) &
|
|
38
|
+
0x3) |
|
|
39
|
+
0x8).toString(16)}${s.slice(17, 20)}-${s.slice(20)}`));
|
package/lib/Date.d.ts
ADDED
package/lib/Date.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.parse = exports.fromString = exports.fromDate = void 0;
|
|
23
|
+
const function_1 = require("fp-ts/function");
|
|
24
|
+
const O = __importStar(require("fp-ts/Option"));
|
|
25
|
+
const fromDate = (date) => isFinite(date) ? O.some(date) : O.none;
|
|
26
|
+
exports.fromDate = fromDate;
|
|
27
|
+
const fromString = (date) => function_1.pipe(new Date(date), exports.fromDate);
|
|
28
|
+
exports.fromString = fromString;
|
|
29
|
+
const parse = (date) => function_1.pipe(date, Date.parse, O.of, O.filter(isFinite));
|
|
30
|
+
exports.parse = parse;
|
package/lib/Eq.d.ts
ADDED
package/lib/Eq.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.getEqSize = exports.eqType = void 0;
|
|
23
|
+
const E = __importStar(require("fp-ts/Eq"));
|
|
24
|
+
const function_1 = require("fp-ts/function");
|
|
25
|
+
const N = __importStar(require("fp-ts/number"));
|
|
26
|
+
const S = __importStar(require("fp-ts/string"));
|
|
27
|
+
exports.eqType = function_1.pipe(S.Eq, E.contramap((a) => typeof a));
|
|
28
|
+
const getEqSize = (A) => function_1.pipe(N.Eq, E.contramap(A.size));
|
|
29
|
+
exports.getEqSize = getEqSize;
|
package/lib/Error.d.ts
ADDED
package/lib/Error.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.wrap = exports.fromUnknown = exports.ErrorC = void 0;
|
|
23
|
+
const function_1 = require("fp-ts/function");
|
|
24
|
+
const O = __importStar(require("fp-ts/Option"));
|
|
25
|
+
const t = __importStar(require("io-ts"));
|
|
26
|
+
const PathReporter_1 = require("io-ts/PathReporter");
|
|
27
|
+
const $S = __importStar(require("./struct"));
|
|
28
|
+
const is = (u) => t
|
|
29
|
+
.intersection([
|
|
30
|
+
t.type({ name: t.string, message: t.string }),
|
|
31
|
+
t.partial({ stack: t.string }),
|
|
32
|
+
])
|
|
33
|
+
.is(u) || u instanceof Error;
|
|
34
|
+
exports.ErrorC = new t.Type('Error', is, (u, c) => (is(u) ? t.success(u) : t.failure(u, c)), $S.lookup('message'));
|
|
35
|
+
const _fromUnknown = (u) => {
|
|
36
|
+
try {
|
|
37
|
+
// eslint-disable-next-line no-nested-ternary
|
|
38
|
+
return exports.ErrorC.is(u)
|
|
39
|
+
? O.some(u)
|
|
40
|
+
: t.string.is(u)
|
|
41
|
+
? O.some(Error(u))
|
|
42
|
+
: O.some(Error(PathReporter_1.failure(u).join('\n')));
|
|
43
|
+
}
|
|
44
|
+
catch (_) {
|
|
45
|
+
return O.none;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const fromUnknown = (e) => function_1.flow(_fromUnknown, O.getOrElse(() => e));
|
|
49
|
+
exports.fromUnknown = fromUnknown;
|
|
50
|
+
const withPrev = (prev) => (error) => {
|
|
51
|
+
;
|
|
52
|
+
error.prev = prev;
|
|
53
|
+
return error;
|
|
54
|
+
};
|
|
55
|
+
const wrap = (e) => (u) => function_1.pipe(u, _fromUnknown, O.match(() => e, (error) => withPrev(error)(e)));
|
|
56
|
+
exports.wrap = wrap;
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import * as $generatorL from 'fp-ts/Alt';
|
|
2
|
+
import * as Alte from 'fp-ts/Alternative';
|
|
3
|
+
import * as Appli from 'fp-ts/Applicative';
|
|
4
|
+
import * as _Apply from 'fp-ts/Apply';
|
|
5
|
+
import * as Ch from 'fp-ts/Chain';
|
|
6
|
+
import * as Co from 'fp-ts/Compactable';
|
|
7
|
+
import * as Ei from 'fp-ts/Either';
|
|
8
|
+
import * as Eq from 'fp-ts/Eq';
|
|
9
|
+
import * as Ex from 'fp-ts/Extend';
|
|
10
|
+
import * as Fi from 'fp-ts/Filterable';
|
|
11
|
+
import * as FiWI from 'fp-ts/FilterableWithIndex';
|
|
12
|
+
import * as Fo from 'fp-ts/Foldable';
|
|
13
|
+
import * as FoWI from 'fp-ts/FoldableWithIndex';
|
|
14
|
+
import * as FIO from 'fp-ts/FromIO';
|
|
15
|
+
import { Lazy, Predicate, Refinement } from 'fp-ts/function';
|
|
16
|
+
import * as Fu from 'fp-ts/Functor';
|
|
17
|
+
import * as FuWI from 'fp-ts/FunctorWithIndex';
|
|
18
|
+
import { Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from 'fp-ts/HKT';
|
|
19
|
+
import * as IO from 'fp-ts/IO';
|
|
20
|
+
import * as Mona from 'fp-ts/Monad';
|
|
21
|
+
import * as MIO from 'fp-ts/MonadIO';
|
|
22
|
+
import * as Mono from 'fp-ts/Monoid';
|
|
23
|
+
import * as Op from 'fp-ts/Option';
|
|
24
|
+
import * as Or from 'fp-ts/Ord';
|
|
25
|
+
import * as P from 'fp-ts/Pointed';
|
|
26
|
+
import * as RNEA from 'fp-ts/ReadonlyNonEmptyArray';
|
|
27
|
+
import * as S from 'fp-ts/Separated';
|
|
28
|
+
import * as T from 'fp-ts/Traversable';
|
|
29
|
+
import * as TWI from 'fp-ts/TraversableWithIndex';
|
|
30
|
+
import * as U from 'fp-ts/Unfoldable';
|
|
31
|
+
import * as W from 'fp-ts/Witherable';
|
|
32
|
+
import { Int } from 'io-ts';
|
|
33
|
+
export declare const URI = "GeneratorL";
|
|
34
|
+
export declare type URI = typeof URI;
|
|
35
|
+
declare module 'fp-ts/HKT' {
|
|
36
|
+
interface URItoKind<A> {
|
|
37
|
+
[URI]: GeneratorL<A>;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export declare type GeneratorL<A> = Lazy<Generator<A>>;
|
|
41
|
+
export declare const getMonoid: <A>() => Mono.Monoid<GeneratorL<A>>;
|
|
42
|
+
export declare const getEq: <A>(E: Eq.Eq<A>) => Eq.Eq<GeneratorL<A>>;
|
|
43
|
+
export declare const getOrd: <A>(O: Or.Ord<A>) => Or.Ord<GeneratorL<A>>;
|
|
44
|
+
export declare const Functor: Fu.Functor1<URI>;
|
|
45
|
+
export declare const map: <A, B>(a: (a: A) => B) => (b: GeneratorL<A>) => GeneratorL<B>;
|
|
46
|
+
export declare const flap: <A>(a: A) => <B>(fab: GeneratorL<(a: A) => B>) => GeneratorL<B>;
|
|
47
|
+
export declare const bindTo: <N extends string>(name: N) => <A>(fa: GeneratorL<A>) => GeneratorL<{ readonly [K in N]: A; }>;
|
|
48
|
+
export declare const Pointed: P.Pointed1<URI>;
|
|
49
|
+
export declare const of: <A>(a: A) => GeneratorL<A>;
|
|
50
|
+
export declare const Do: GeneratorL<{}>;
|
|
51
|
+
export declare const FunctorWithIndex: FuWI.FunctorWithIndex1<URI, number>;
|
|
52
|
+
export declare const mapWithIndex: <A, B>(a: (i: number, a: A) => B) => (b: GeneratorL<A>) => GeneratorL<B>;
|
|
53
|
+
export declare const Apply: _Apply.Apply1<URI>;
|
|
54
|
+
export declare const ap: <A, B>(a: GeneratorL<A>) => (b: GeneratorL<(a: A) => B>) => GeneratorL<B>;
|
|
55
|
+
export declare const apFirst: <B>(second: GeneratorL<B>) => <A>(first: GeneratorL<A>) => GeneratorL<A>;
|
|
56
|
+
export declare const apSecond: <B>(second: GeneratorL<B>) => <A>(first: GeneratorL<A>) => GeneratorL<B>;
|
|
57
|
+
export declare const apS: <N extends string, A, B>(name: Exclude<N, keyof A>, fb: GeneratorL<B>) => (fa: GeneratorL<A>) => GeneratorL<{ readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
|
|
58
|
+
export declare const Applicative: Appli.Applicative1<URI>;
|
|
59
|
+
export declare const Chain: Ch.Chain1<URI>;
|
|
60
|
+
export declare const chain: <A, B>(a: (a: A) => GeneratorL<B>) => (b: GeneratorL<A>) => GeneratorL<B>;
|
|
61
|
+
export declare const chainFirst: <A, B>(f: (a: A) => GeneratorL<B>) => (first: GeneratorL<A>) => GeneratorL<A>;
|
|
62
|
+
export declare const bind: <N extends string, A, B>(name: Exclude<N, keyof A>, f: (a: A) => GeneratorL<B>) => (ma: GeneratorL<A>) => GeneratorL<{ readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
|
|
63
|
+
export declare const chainWithIndex: <A, B>(f: (i: number, a: A) => GeneratorL<B>) => (fa: GeneratorL<A>) => GeneratorL<B>;
|
|
64
|
+
export declare const Monad: Mona.Monad1<URI>;
|
|
65
|
+
export declare const FromIO: FIO.FromIO1<URI>;
|
|
66
|
+
export declare const fromIO: import("fp-ts/lib/NaturalTransformation").NaturalTransformation11<"IO", "GeneratorL">;
|
|
67
|
+
export declare const fromIOK: <A extends readonly unknown[], B>(f: (...a: A) => IO.IO<B>) => (...a: A) => GeneratorL<B>;
|
|
68
|
+
export declare const chainIOK: <A, B>(f: (a: A) => IO.IO<B>) => (first: GeneratorL<A>) => GeneratorL<B>;
|
|
69
|
+
export declare const chainFirstIOK: <A, B>(f: (a: A) => IO.IO<B>) => (first: GeneratorL<A>) => GeneratorL<A>;
|
|
70
|
+
export declare const MonadIO: MIO.MonadIO1<URI>;
|
|
71
|
+
export declare const Unfoldable: U.Unfoldable1<URI>;
|
|
72
|
+
export declare const unfold: <A, B>(a: (b: B) => Op.Option<[A, B]>) => (b: B) => GeneratorL<A>;
|
|
73
|
+
export declare const Alt: $generatorL.Alt1<URI>;
|
|
74
|
+
export declare const alt: <A>(a: Lazy<GeneratorL<A>>) => (b: GeneratorL<A>) => GeneratorL<A>;
|
|
75
|
+
export declare const Alternative: Alte.Alternative1<URI>;
|
|
76
|
+
export declare const zero: <A>() => GeneratorL<A>;
|
|
77
|
+
export declare const Extend: Ex.Extend1<URI>;
|
|
78
|
+
export declare const extend: <A, B>(a: (wa: GeneratorL<A>) => B) => (b: GeneratorL<A>) => GeneratorL<B>;
|
|
79
|
+
export declare const duplicate: <A>(fa: GeneratorL<A>) => GeneratorL<GeneratorL<A>>;
|
|
80
|
+
export declare const Compactable: Co.Compactable1<URI>;
|
|
81
|
+
export declare const compact: <A>(fa: GeneratorL<Op.Option<A>>) => GeneratorL<A>;
|
|
82
|
+
export declare const separate: <A, B>(fa: GeneratorL<Ei.Either<A, B>>) => S.Separated<GeneratorL<A>, GeneratorL<B>>;
|
|
83
|
+
export declare const Filterable: Fi.Filterable1<URI>;
|
|
84
|
+
export declare function filter<A, B extends A>(refinement: Refinement<A, B>): (fa: GeneratorL<A>) => GeneratorL<B>;
|
|
85
|
+
export declare function filter<A>(predicate: Predicate<A>): (fa: GeneratorL<A>) => GeneratorL<A>;
|
|
86
|
+
export declare const filterMap: <A, B>(a: (a: A) => Op.Option<B>) => (b: GeneratorL<A>) => GeneratorL<B>;
|
|
87
|
+
export declare function partition<A, B extends A>(refinement: Refinement<A, B>): (fa: GeneratorL<A>) => S.Separated<GeneratorL<A>, GeneratorL<B>>;
|
|
88
|
+
export declare function partition<A>(predicate: Predicate<A>): (fa: GeneratorL<A>) => S.Separated<GeneratorL<A>, GeneratorL<A>>;
|
|
89
|
+
export declare const partitionMap: <A, B, C>(a: (a: A) => Ei.Either<B, C>) => (b: GeneratorL<A>) => S.Separated<GeneratorL<B>, GeneratorL<C>>;
|
|
90
|
+
export declare const FilterableWithIndex: FiWI.FilterableWithIndex1<URI, number>;
|
|
91
|
+
export declare function filterWithIndex<A, B extends A>(refinementWithIndex: (i: number, a: A) => a is B): (fa: GeneratorL<A>) => GeneratorL<B>;
|
|
92
|
+
export declare function filterWithIndex<A>(predicateWithIndex: (i: number, a: A) => boolean): (fa: GeneratorL<A>) => GeneratorL<A>;
|
|
93
|
+
export declare const filterMapWithIndex: <A, B>(a: (i: number, a: A) => Op.Option<B>) => (b: GeneratorL<A>) => GeneratorL<B>;
|
|
94
|
+
export declare function partitionWithIndex<A, B extends A>(refinementWithIndex: (i: number, a: A) => a is B): (fa: GeneratorL<A>) => S.Separated<GeneratorL<A>, GeneratorL<B>>;
|
|
95
|
+
export declare function partitionWithIndex<A>(predicateWithIndex: (i: number, a: A) => boolean): (fa: GeneratorL<A>) => S.Separated<GeneratorL<A>, GeneratorL<A>>;
|
|
96
|
+
export declare const partitionMapWithIndex: <A, B, C>(a: (i: number, a: A) => Ei.Either<B, C>) => (b: GeneratorL<A>) => S.Separated<GeneratorL<B>, GeneratorL<C>>;
|
|
97
|
+
export declare const Foldable: Fo.Foldable1<URI>;
|
|
98
|
+
export declare const reduce: <A, B>(b: B, f: (b: B, a: A) => B) => (fa: GeneratorL<A>) => B;
|
|
99
|
+
export declare const foldMap: <M>(M: Mono.Monoid<M>) => <A>(f: (a: A) => M) => (fa: GeneratorL<A>) => M;
|
|
100
|
+
export declare const reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => (fa: GeneratorL<A>) => B;
|
|
101
|
+
export declare const FoldableWithIndex: FoWI.FoldableWithIndex1<URI, number>;
|
|
102
|
+
export declare const reduceWithIndex: <A, B>(b: B, f: (i: number, b: B, a: A) => B) => (fa: GeneratorL<A>) => B;
|
|
103
|
+
export declare const foldMapWithIndex: <M>(M: Mono.Monoid<M>) => <A>(f: (i: number, a: A) => M) => (fa: GeneratorL<A>) => M;
|
|
104
|
+
export declare const reduceRightWithIndex: <A, B>(b: B, f: (i: number, a: A, b: B) => B) => (fa: GeneratorL<A>) => B;
|
|
105
|
+
export declare function sequence<F extends URIS4>(F: Appli.Applicative4<F>): <S, R, E, A>(ta: GeneratorL<Kind4<F, S, R, E, A>>) => Kind4<F, S, R, E, GeneratorL<A>>;
|
|
106
|
+
export declare function sequence<F extends URIS3>(F: Appli.Applicative3<F>): <R, E, A>(ta: GeneratorL<Kind3<F, R, E, A>>) => Kind3<F, R, E, GeneratorL<A>>;
|
|
107
|
+
export declare function sequence<F extends URIS3, E>(F: Appli.Applicative3C<F, E>): <R, A>(ta: GeneratorL<Kind3<F, R, E, A>>) => Kind3<F, R, E, GeneratorL<A>>;
|
|
108
|
+
export declare function sequence<F extends URIS2>(F: Appli.Applicative2<F>): <E, A>(ta: GeneratorL<Kind2<F, E, A>>) => Kind2<F, E, GeneratorL<A>>;
|
|
109
|
+
export declare function sequence<F extends URIS2, E>(F: Appli.Applicative2C<F, E>): <A>(ta: GeneratorL<Kind2<F, E, A>>) => Kind2<F, E, GeneratorL<A>>;
|
|
110
|
+
export declare function sequence<F extends URIS>(F: Appli.Applicative1<F>): <A>(ta: GeneratorL<Kind<F, A>>) => Kind<F, GeneratorL<A>>;
|
|
111
|
+
export declare const Traversable: T.Traversable1<URI>;
|
|
112
|
+
export declare function traverse<F extends URIS4>(F: Appli.Applicative4<F>): <A, S, R, E, B>(f: (a: A) => Kind4<F, S, R, E, B>) => (ta: GeneratorL<A>) => Kind4<F, S, R, E, GeneratorL<B>>;
|
|
113
|
+
export declare function traverse<F extends URIS3>(F: Appli.Applicative3<F>): <A, R, E, B>(f: (a: A) => Kind3<F, R, E, B>) => (ta: GeneratorL<A>) => Kind3<F, R, E, GeneratorL<B>>;
|
|
114
|
+
export declare function traverse<F extends URIS3, E>(F: Appli.Applicative3C<F, E>): <A, R, B>(f: (a: A) => Kind3<F, R, E, B>) => (ta: GeneratorL<A>) => Kind3<F, R, E, GeneratorL<B>>;
|
|
115
|
+
export declare function traverse<F extends URIS2>(F: Appli.Applicative2<F>): <A, E, B>(f: (a: A) => Kind2<F, E, B>) => (ta: GeneratorL<A>) => Kind2<F, E, GeneratorL<B>>;
|
|
116
|
+
export declare function traverse<F extends URIS2, E>(F: Appli.Applicative2C<F, E>): <A, B>(f: (a: A) => Kind2<F, E, B>) => (ta: GeneratorL<A>) => Kind2<F, E, GeneratorL<B>>;
|
|
117
|
+
export declare function traverse<F extends URIS>(F: Appli.Applicative1<F>): <A, B>(f: (a: A) => Kind<F, B>) => (ta: GeneratorL<A>) => Kind<F, GeneratorL<B>>;
|
|
118
|
+
export declare const TraversableWithIndex: TWI.TraversableWithIndex1<URI, number>;
|
|
119
|
+
export declare function traverseWithIndex<F extends URIS4>(F: Appli.Applicative4<F>): <A, S, R, E, B>(f: (i: number, a: A) => Kind4<F, S, R, E, B>) => (ta: GeneratorL<A>) => Kind4<F, S, R, E, GeneratorL<B>>;
|
|
120
|
+
export declare function traverseWithIndex<F extends URIS3>(F: Appli.Applicative3<F>): <A, R, E, B>(f: (i: number, a: A) => Kind3<F, R, E, B>) => (ta: GeneratorL<A>) => Kind3<F, R, E, GeneratorL<B>>;
|
|
121
|
+
export declare function traverseWithIndex<F extends URIS3, E>(F: Appli.Applicative3C<F, E>): <A, R, B>(f: (i: number, a: A) => Kind3<F, R, E, B>) => (ta: GeneratorL<A>) => Kind3<F, R, E, GeneratorL<B>>;
|
|
122
|
+
export declare function traverseWithIndex<F extends URIS2>(F: Appli.Applicative2<F>): <A, E, B>(f: (i: number, a: A) => Kind2<F, E, B>) => (ta: GeneratorL<A>) => Kind2<F, E, GeneratorL<B>>;
|
|
123
|
+
export declare function traverseWithIndex<F extends URIS2, E>(F: Appli.Applicative2C<F, E>): <A, B>(f: (i: number, a: A) => Kind2<F, E, B>) => (ta: GeneratorL<A>) => Kind2<F, E, GeneratorL<B>>;
|
|
124
|
+
export declare function traverseWithIndex<F extends URIS>(F: Appli.Applicative1<F>): <A, B>(f: (i: number, a: A) => Kind<F, B>) => (ta: GeneratorL<A>) => Kind<F, GeneratorL<B>>;
|
|
125
|
+
export declare const Witherable: W.Witherable1<URI>;
|
|
126
|
+
export declare function wilt<F extends URIS3>(F: Appli.Applicative3<F>): <A, R, E, B, C>(f: (a: A) => Kind3<F, R, E, Ei.Either<B, C>>) => (wa: GeneratorL<A>) => Kind3<F, R, E, S.Separated<GeneratorL<B>, GeneratorL<C>>>;
|
|
127
|
+
export declare function wilt<F extends URIS3, E>(F: Appli.Applicative3C<F, E>): <A, R, B, C>(f: (a: A) => Kind3<F, R, E, Ei.Either<B, C>>) => (wa: GeneratorL<A>) => Kind3<F, R, E, S.Separated<GeneratorL<B>, GeneratorL<C>>>;
|
|
128
|
+
export declare function wilt<F extends URIS2>(F: Appli.Applicative2<F>): <A, E, B, C>(f: (a: A) => Kind2<F, E, Ei.Either<B, C>>) => (wa: GeneratorL<A>) => Kind2<F, E, S.Separated<GeneratorL<B>, GeneratorL<C>>>;
|
|
129
|
+
export declare function wilt<F extends URIS2, E>(F: Appli.Applicative2C<F, E>): <A, B, C>(f: (a: A) => Kind2<F, E, Ei.Either<B, C>>) => (wa: GeneratorL<A>) => Kind2<F, E, S.Separated<GeneratorL<B>, GeneratorL<C>>>;
|
|
130
|
+
export declare function wilt<F extends URIS>(F: Appli.Applicative1<F>): <A, B, C>(f: (a: A) => Kind<F, Ei.Either<B, C>>) => (wa: GeneratorL<A>) => Kind<F, S.Separated<GeneratorL<B>, GeneratorL<C>>>;
|
|
131
|
+
export declare function wither<F extends URIS3>(F: Appli.Applicative3<F>): <A, R, E, B>(f: (a: A) => Kind3<F, R, E, Op.Option<B>>) => (ta: GeneratorL<A>) => Kind3<F, R, E, GeneratorL<B>>;
|
|
132
|
+
export declare function wither<F extends URIS3, E>(F: Appli.Applicative3C<F, E>): <A, R, B>(f: (a: A) => Kind3<F, R, E, Op.Option<B>>) => (ta: GeneratorL<A>) => Kind3<F, R, E, GeneratorL<B>>;
|
|
133
|
+
export declare function wither<F extends URIS2>(F: Appli.Applicative2<F>): <A, E, B>(f: (a: A) => Kind2<F, E, Op.Option<B>>) => (ta: GeneratorL<A>) => Kind2<F, E, GeneratorL<B>>;
|
|
134
|
+
export declare function wither<F extends URIS2, E>(F: Appli.Applicative2C<F, E>): <A, B>(f: (a: A) => Kind2<F, E, Op.Option<B>>) => (ta: GeneratorL<A>) => Kind2<F, E, GeneratorL<B>>;
|
|
135
|
+
export declare function wither<F extends URIS>(F: Appli.Applicative1<F>): <A, B>(f: (a: A) => Kind<F, Op.Option<B>>) => (ta: GeneratorL<A>) => Kind<F, GeneratorL<B>>;
|
|
136
|
+
export declare const makeBy: <A>(f: (i: number) => A) => GeneratorL<A>;
|
|
137
|
+
export declare const range: (start: number, end?: number) => GeneratorL<number>;
|
|
138
|
+
export declare const replicate: <A>(a: A) => GeneratorL<A>;
|
|
139
|
+
export declare const fromReadonlyArray: <A>(as: readonly A[]) => GeneratorL<A>;
|
|
140
|
+
export declare const fromReadonlyRecord: <K extends string, A>(r: Readonly<Record<K, A>>) => GeneratorL<readonly [K, A]>;
|
|
141
|
+
export declare const random: GeneratorL<number>;
|
|
142
|
+
export declare const randomInt: (low: number, high: number) => GeneratorL<Int>;
|
|
143
|
+
export declare const randomRange: (min: number, max: number) => GeneratorL<number>;
|
|
144
|
+
export declare const randomBool: GeneratorL<boolean>;
|
|
145
|
+
export declare const randomElem: <A>(as: RNEA.ReadonlyNonEmptyArray<A>) => GeneratorL<A>;
|
|
146
|
+
export declare const prime: GeneratorL<number>;
|
|
147
|
+
export declare const exp: GeneratorL<number>;
|
|
148
|
+
export declare const fibonacci: GeneratorL<number>;
|
|
149
|
+
export declare const flatten: <A>(mma: GeneratorL<GeneratorL<A>>) => GeneratorL<A>;
|
|
150
|
+
export declare const prepend: <A>(a: A) => (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
151
|
+
export declare const append: <A>(a: A) => (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
152
|
+
export declare const takeLeft: (n: number) => <A>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
153
|
+
export declare const takeRight: (n: number) => <A>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
154
|
+
export declare function takeLeftWhile<A, B extends A>(refinement: Refinement<A, B>): (ma: GeneratorL<A>) => GeneratorL<B>;
|
|
155
|
+
export declare function takeLeftWhile<A>(predicate: Predicate<A>): (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
156
|
+
export declare const dropLeft: (n: number) => <A>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
157
|
+
export declare const dropRight: (n: number) => <A>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
158
|
+
export declare function dropLeftWhile<A, B extends A>(refinement: Refinement<A, B>): (ma: GeneratorL<A>) => GeneratorL<B>;
|
|
159
|
+
export declare function dropLeftWhile<A>(predicate: Predicate<A>): (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
160
|
+
export declare const scanLeft: <A, B>(b: B, f: (b: B, a: A) => B) => (ma: GeneratorL<A>) => GeneratorL<B>;
|
|
161
|
+
export declare const scanRight: <A, B>(b: B, f: (a: A, b: B) => B) => (ma: GeneratorL<A>) => GeneratorL<B>;
|
|
162
|
+
export declare function sieve<A>(f: (init: ReadonlyArray<A>, a: A) => boolean): (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
163
|
+
export declare const uniq: <A>(E: Eq.Eq<A>) => (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
164
|
+
export declare const sort: <B>(O: Or.Ord<B>) => <A extends B>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
165
|
+
export declare const sortBy: <B>(Os: readonly Or.Ord<B>[]) => <A extends B>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
166
|
+
export declare const reverse: <A>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
167
|
+
export declare const zipWith: <A, B, C>(mb: GeneratorL<B>, f: (a: A, b: B) => C) => (ma: GeneratorL<A>) => GeneratorL<C>;
|
|
168
|
+
export declare const zip: <B>(mb: GeneratorL<B>) => <A>(ma: GeneratorL<A>) => GeneratorL<readonly [A, B]>;
|
|
169
|
+
export declare const rights: <E, A>(ma: GeneratorL<Ei.Either<E, A>>) => GeneratorL<A>;
|
|
170
|
+
export declare const lefts: <E, A>(ma: GeneratorL<Ei.Either<E, A>>) => GeneratorL<E>;
|
|
171
|
+
export declare const prependAll: <A>(middle: A) => (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
172
|
+
export declare const intersperse: <A>(middle: A) => (ma: GeneratorL<A>) => GeneratorL<A>;
|
|
173
|
+
export declare const rotate: (n: number) => <A>(ma: GeneratorL<A>) => GeneratorL<A>;
|
|
174
|
+
export declare const chop: <A, B>(f: (ma: GeneratorL<A>) => readonly [B, GeneratorL<A>]) => (ma: GeneratorL<A>) => GeneratorL<B>;
|
|
175
|
+
export declare const chunksOf: (n: number) => <A>(ma: GeneratorL<A>) => GeneratorL<GeneratorL<A>>;
|
|
176
|
+
export declare const matchLeft: <A, B>(onEmpty: Lazy<B>, onNonEmpty: (head: A, tail: GeneratorL<A>) => B) => (ma: GeneratorL<A>) => B;
|
|
177
|
+
export declare const matchRight: <A, B>(onEmpty: Lazy<B>, onNonEmpty: (init: GeneratorL<A>, last: A) => B) => (ma: GeneratorL<A>) => B;
|
|
178
|
+
export declare const toReadonlyArray: <A>(ma: GeneratorL<A>) => readonly A[];
|
|
179
|
+
export declare const lookup: (i: number) => <A>(ma: GeneratorL<A>) => Op.Option<A>;
|
|
180
|
+
export declare const head: <A>(ma: GeneratorL<A>) => Op.Option<A>;
|
|
181
|
+
export declare const last: <A>(ma: GeneratorL<A>) => Op.Option<A>;
|
|
182
|
+
export declare const tail: <A>(ma: GeneratorL<A>) => Op.Option<GeneratorL<A>>;
|
|
183
|
+
export declare const init: <A>(ma: GeneratorL<A>) => Op.Option<GeneratorL<A>>;
|
|
184
|
+
export interface Spanned<I, R> {
|
|
185
|
+
init: GeneratorL<I>;
|
|
186
|
+
rest: GeneratorL<R>;
|
|
187
|
+
}
|
|
188
|
+
export declare function spanLeft<A, B extends A>(refinement: Refinement<A, B>): (ma: GeneratorL<A>) => Spanned<B, A>;
|
|
189
|
+
export declare function spanLeft<A>(predicate: Predicate<A>): (ma: GeneratorL<A>) => Spanned<A, A>;
|
|
190
|
+
export declare const splitAt: (n: number) => <A>(ma: GeneratorL<A>) => readonly [GeneratorL<A>, GeneratorL<A>];
|
|
191
|
+
export declare const unzip: <A, B>(mab: GeneratorL<readonly [A, B]>) => readonly [GeneratorL<A>, GeneratorL<B>];
|
|
192
|
+
export declare const isEmpty: (ma: GeneratorL<unknown>) => boolean;
|
|
193
|
+
export declare const isNonEmpty: Predicate<GeneratorL<unknown>>;
|
|
194
|
+
export declare const size: (b: GeneratorL<unknown>) => number;
|
|
195
|
+
export declare const isOutOfBound: (n: number) => (ma: GeneratorL<unknown>) => boolean;
|
|
196
|
+
export declare function findFirst<A, B extends A>(refinement: Refinement<A, B>): (ma: GeneratorL<A>) => Op.Option<B>;
|
|
197
|
+
export declare function findFirst<A>(predicate: Predicate<A>): (ma: GeneratorL<A>) => Op.Option<A>;
|
|
198
|
+
export declare const findFirstMap: <A, B>(f: (a: A) => Op.Option<B>) => (ma: GeneratorL<A>) => Op.Option<B>;
|
|
199
|
+
export declare const findFirstIndex: <A>(predicate: Predicate<A>) => (ma: GeneratorL<A>) => Op.Option<number>;
|
|
200
|
+
export declare function findLast<A, B extends A>(refinement: Refinement<A, B>): (ma: GeneratorL<A>) => Op.Option<B>;
|
|
201
|
+
export declare function findLast<A>(predicate: Predicate<A>): (ma: GeneratorL<A>) => Op.Option<A>;
|
|
202
|
+
export declare const findLastMap: <A, B>(f: (a: A) => Op.Option<B>) => (ma: GeneratorL<A>) => Op.Option<B>;
|
|
203
|
+
export declare const findLastIndex: <A>(predicate: Predicate<A>) => (ma: GeneratorL<A>) => Op.Option<number>;
|
|
204
|
+
export declare const elem: <A>(Eq: Eq.Eq<A>) => (a: A) => (ma: GeneratorL<A>) => Op.Option<A>;
|
|
205
|
+
export declare const insertAt: <A>(i: number, a: A) => (ma: GeneratorL<A>) => Op.Option<GeneratorL<A>>;
|
|
206
|
+
export declare const modifyAt: <A>(i: number, f: (a: A) => A) => (ma: GeneratorL<A>) => Op.Option<GeneratorL<A>>;
|
|
207
|
+
export declare const updateAt: <A>(i: number, a: A) => (ma: GeneratorL<A>) => Op.Option<GeneratorL<A>>;
|
|
208
|
+
export declare const deleteAt: <A>(i: number) => (ma: GeneratorL<A>) => Op.Option<GeneratorL<A>>;
|