functionalscript 0.0.208 → 0.0.210
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/function/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/** @type {<X, O>(f: Func<X, O>) => <I>(g: Func<I, X>) => Func<I, O>} */
|
|
8
|
-
const
|
|
8
|
+
const compose = f => g => x => f(g(x))
|
|
9
9
|
|
|
10
10
|
/** @type {<T>(value: T) => T} */
|
|
11
11
|
const id = value => value
|
|
@@ -14,5 +14,5 @@ module.exports = {
|
|
|
14
14
|
/** @readonly */
|
|
15
15
|
id,
|
|
16
16
|
/** @readonly */
|
|
17
|
-
|
|
17
|
+
compose,
|
|
18
18
|
}
|
package/json/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
const seq = require('../sequence')
|
|
2
|
-
const map = require('../map')
|
|
3
2
|
const op = require('../sequence/operator')
|
|
4
3
|
const object = require('../object')
|
|
5
4
|
const array = require('../sequence/array')
|
|
6
|
-
const {
|
|
5
|
+
const { compose: combine } = require('../function')
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* @typedef {{
|
|
@@ -25,7 +24,7 @@ const addProperty = value => {
|
|
|
25
24
|
const [name, tail] = result
|
|
26
25
|
return { ...srcObject, [name]: f(tail)(object.at(name)(srcObject)) }
|
|
27
26
|
}
|
|
28
|
-
return
|
|
27
|
+
return combine(f)(array.sequence)
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
/** @type {(_: string) => seq.Sequence<string>} */
|
|
@@ -84,16 +83,16 @@ const serialize = sort => {
|
|
|
84
83
|
f(v))
|
|
85
84
|
/** @type {(object: Object) => seq.Sequence<string>} */
|
|
86
85
|
const objectSerialize = input => {
|
|
87
|
-
const
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
return objectList(
|
|
86
|
+
const entries = object.entries(input)
|
|
87
|
+
const sortedEntries = sort(entries)
|
|
88
|
+
const serializedEntries = seq.map(propertySerialize)(sortedEntries)
|
|
89
|
+
return objectList(serializedEntries)
|
|
91
90
|
}
|
|
92
91
|
/** @type {(input: Array) => seq.Sequence<string>} */
|
|
93
92
|
const arraySerialize = input => {
|
|
94
|
-
const
|
|
95
|
-
const
|
|
96
|
-
return arrayList(
|
|
93
|
+
const sequence = array.sequence(input)
|
|
94
|
+
const serializedEntries = seq.map(f)(sequence)
|
|
95
|
+
return arrayList(serializedEntries)
|
|
97
96
|
}
|
|
98
97
|
/** @type {(value: Json) => seq.Sequence < string >} */
|
|
99
98
|
const f = value => {
|
package/module-manager/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const array = require('../sequence/array')
|
|
2
|
-
const { combine } = require('../function')
|
|
2
|
+
const { compose: combine } = require('../function')
|
|
3
3
|
const option = require('../option')
|
|
4
4
|
const { head, last, splitLast, splitFirst } = array
|
|
5
5
|
const iter = require('../sequence/iterable')
|
package/package.json
CHANGED
package/sequence/index.js
CHANGED