@fncts/base 0.0.15 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- package/_cjs/data/Environment/api.cjs +15 -25
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs +1 -2
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/Patch/api.cjs +3 -3
- package/_cjs/data/Patch/api.cjs.map +1 -1
- package/_cjs/data/Tag/constructors.cjs +5 -2
- package/_cjs/data/Tag/constructors.cjs.map +1 -1
- package/_cjs/data/Tag/definition.cjs +3 -3
- package/_cjs/data/Tag/definition.cjs.map +1 -1
- package/_mjs/data/Environment/api.mjs +12 -21
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs +1 -2
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/Patch/api.mjs +3 -3
- package/_mjs/data/Patch/api.mjs.map +1 -1
- package/_mjs/data/Tag/constructors.mjs +4 -2
- package/_mjs/data/Tag/constructors.mjs.map +1 -1
- package/_mjs/data/Tag/definition.mjs +3 -3
- package/_mjs/data/Tag/definition.mjs.map +1 -1
- package/_src/data/Environment/api.ts +8 -14
- package/_src/data/Environment/definition.ts +1 -2
- package/_src/data/Patch/api.ts +4 -4
- package/_src/data/Tag/constructors.ts +5 -2
- package/_src/data/Tag/definition.ts +3 -2
- package/collection/compat/Array/definition.d.ts +2 -2
- package/collection/immutable/Conc/definition.d.ts +1 -1
- package/collection/immutable/HashMap/definition.d.ts +1 -1
- package/collection/immutable/HashMap/internal.d.ts +3 -3
- package/collection/immutable/HashSet/definition.d.ts +1 -1
- package/collection/immutable/ImmutableArray/definition.d.ts +1 -1
- package/collection/immutable/List/definition.d.ts +1 -1
- package/collection/immutable/RoseTree/definition.d.ts +1 -1
- package/collection/immutable/SortedMap/node.d.ts +2 -2
- package/collection/immutable/Vector/definition.d.ts +1 -1
- package/collection/immutable/Vector/internal.d.ts +2 -2
- package/control/Eval/definition.d.ts +2 -2
- package/control/Z/definition.d.ts +3 -3
- package/data/Branded/definition.d.ts +1 -1
- package/data/Byte.d.ts +1 -1
- package/data/CaseClass.d.ts +1 -1
- package/data/Cause/definition.d.ts +2 -2
- package/data/Datum/definition.d.ts +2 -2
- package/data/DatumEither/definition.d.ts +1 -1
- package/data/DecodeError/definition.d.ts +1 -1
- package/data/Decoder/definition.d.ts +1 -1
- package/data/Duration/definition.d.ts +1 -1
- package/data/Either/definition.d.ts +1 -1
- package/data/EitherT/definition.d.ts +1 -1
- package/data/Environment/api.d.ts +1 -1
- package/data/Environment/definition.d.ts +3 -4
- package/data/ExecutionStrategy.d.ts +1 -1
- package/data/Exit/definition.d.ts +2 -2
- package/data/FiberId/definition.d.ts +3 -3
- package/data/Maybe/definition.d.ts +1 -1
- package/data/Patch/definition.d.ts +2 -2
- package/data/Struct/api.d.ts +5 -5
- package/data/Tag/constructors.d.ts +2 -1
- package/data/Tag/definition.d.ts +3 -2
- package/data/These/definition.d.ts +2 -2
- package/data/TraceElement/definition.d.ts +1 -1
- package/data/Zipped.d.ts +2 -2
- package/data/exceptions/InterruptedException.d.ts +1 -1
- package/json/EitherJson.d.ts +1 -1
- package/json/MaybeJson.d.ts +1 -1
- package/json/TheseJson.d.ts +1 -1
- package/optics/At/definition.d.ts +1 -1
- package/optics/Index/definition.d.ts +1 -1
- package/package.json +3 -2
- package/typeclass/Applicative.d.ts +1 -1
- package/typeclass/Apply.d.ts +2 -2
- package/typeclass/Equatable/fast-equals.d.ts +4 -4
- package/typeclass/Guard/definition.d.ts +1 -1
- package/typeclass/Has.d.ts +1 -1
- package/typeclass/HashEq.d.ts +1 -1
- package/typeclass/Monoid.d.ts +1 -1
- package/typeclass/Ordering.d.ts +1 -1
- package/typeclass/Showable/show.d.ts +4 -4
- package/typeclass/Showable/styles.d.ts +5 -5
- package/types/extractions.d.ts +8 -8
- package/types/utility.d.ts +4 -4
- package/util/PCGRandom.d.ts +2 -2
- package/util/predicates.d.ts +1 -1
- package/util/rand/distribution/Distribution.d.ts +1 -1
- package/util/rand/distribution/internals/ArrayInt.d.ts +2 -2
@@ -3,7 +3,9 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.
|
6
|
+
exports.add = void 0;
|
7
|
+
exports.clean = clean;
|
8
|
+
exports.empty = void 0;
|
7
9
|
exports.get = get;
|
8
10
|
exports.getMaybe = getMaybe;
|
9
11
|
exports.make = void 0;
|
@@ -17,17 +19,11 @@ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
|
|
17
19
|
|
18
20
|
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/function/api"));
|
19
21
|
|
20
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/
|
21
|
-
|
22
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Ord/api/contramap"));
|
23
|
-
|
24
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/List/api"));
|
22
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/List/api/foldLeft"));
|
25
23
|
|
26
|
-
var
|
24
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/Equatable/api"));
|
27
25
|
|
28
|
-
var
|
29
|
-
|
30
|
-
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
26
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
31
27
|
|
32
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
33
29
|
|
@@ -37,8 +33,6 @@ const add = add_1;
|
|
37
33
|
exports.add = add;
|
38
34
|
const make = make_1;
|
39
35
|
exports.make = make;
|
40
|
-
const clean = clean_1;
|
41
|
-
exports.clean = clean;
|
42
36
|
const unsafeGet = unsafeGet_1;
|
43
37
|
/**
|
44
38
|
* @tsplus fluent fncts.Environment add
|
@@ -47,8 +41,7 @@ const unsafeGet = unsafeGet_1;
|
|
47
41
|
exports.unsafeGet = unsafeGet;
|
48
42
|
|
49
43
|
function add_1(self, service, tag) {
|
50
|
-
|
51
|
-
return new tsplus_module_1.Environment(tsplus_module_2.set_(self0.map, tag, [service, self0.index]), self0.index + 1);
|
44
|
+
return new tsplus_module_1.Environment(tsplus_module_2.set_(self.map, tag, service));
|
52
45
|
}
|
53
46
|
/**
|
54
47
|
* @tsplus static fncts.EnvironmentOps empty
|
@@ -79,7 +72,7 @@ function getMaybe(self, tag) {
|
|
79
72
|
|
80
73
|
|
81
74
|
function make_1() {
|
82
|
-
return new tsplus_module_1.Environment(tsplus_module_2.makeDefault(),
|
75
|
+
return new tsplus_module_1.Environment(tsplus_module_2.makeDefault(), tsplus_module_2.makeDefault());
|
83
76
|
}
|
84
77
|
/**
|
85
78
|
* @tsplus operator fncts.Environment +
|
@@ -88,17 +81,16 @@ function make_1() {
|
|
88
81
|
|
89
82
|
|
90
83
|
function union(self, that) {
|
91
|
-
|
92
|
-
return new tsplus_module_1.Environment(tsplus_module_2.union_(self0.map, tsplus_module_2.map_(that0.map, ([service, index]) => [service, self0.index + index])), self0.index + that0.index);
|
84
|
+
return new tsplus_module_1.Environment(tsplus_module_2.union_(self.map, that.map));
|
93
85
|
}
|
94
86
|
/**
|
95
87
|
* @tsplus getter fncts.Environment clean
|
96
88
|
*/
|
97
89
|
|
98
90
|
|
99
|
-
function
|
100
|
-
const [map, index] =
|
101
|
-
return new tsplus_module_1.Environment(map
|
91
|
+
function clean(self) {
|
92
|
+
const [map, index] = tsplus_module_4.foldLeft_(tsplus_module_2.toList(self.map), [tsplus_module_2.makeDefault(), 0], ([map, index], [tag, service]) => [tsplus_module_2.set_(map, tag, [service, index]), index + 1]);
|
93
|
+
return new tsplus_module_1.Environment(map);
|
102
94
|
}
|
103
95
|
/**
|
104
96
|
* @tsplus fluent fncts.Environment unsafeGet
|
@@ -106,17 +98,15 @@ function clean_1(self) {
|
|
106
98
|
|
107
99
|
|
108
100
|
function unsafeGet_1(self, tag) {
|
109
|
-
return
|
110
|
-
let index = -1;
|
101
|
+
return tsplus_module_6.match_(tsplus_module_2.get_(self.cache, tag), () => {
|
111
102
|
const iterator = self.map[Symbol.iterator]();
|
112
103
|
let service = null;
|
113
104
|
let r;
|
114
105
|
|
115
106
|
while (!(r = iterator.next()).done) {
|
116
|
-
const [curTag,
|
107
|
+
const [curTag, curService] = r.value;
|
117
108
|
|
118
|
-
if (
|
119
|
-
index = curIndex;
|
109
|
+
if (tsplus_module_5.strictEquals(curTag, tag)) {
|
120
110
|
service = curService;
|
121
111
|
}
|
122
112
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.cjs","mappings":"
|
1
|
+
{"version":3,"file":"api.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAGgBA,GAAG;;MA4BHC,IAAI;;MA8BJC,SAAS;AA7DzB;;;;;;AAGA,eAA2CC,IAA3C,EAAiEC,OAAjE,EAA6EC,GAA7E,EAAwF;EACtF,OAAO,oBAAIC,WAAJ,CAAgBC,yBAAI,CAACC,GAAL,EAAaH,GAAb,EAAkBD,OAAlB,CAAhB,CAAP;AACD;AAED;;;;;AAGO,MAAMK,KAAK,gBAAGC,QAAd;AAIP;;;;;;AAGM,SAAUC,GAAV,CAAoCR,IAApC,EAA0DE,GAA1D,EAAgE;EACpE,OAAoBO,kBAAeP,GAAf,CAApB;AACD;AAED;;;;;AAGM,SAAUQ,QAAV,CAAwCV,IAAxC,EAA8DE,GAA9D,EAAyE;EAC7E,OAAOE,yBAAI,CAACO,KAAL,EAAeT,GAAf,CAAP;AACD;AAED;;;;;AAGA;EACE,OAAO,oBAAIC,WAAJ,CAAgBC,6BAAhB,EAAuCA,6BAAvC,CAAP;AACD;AAED;;;;;;AAIM,SAAUQ,KAAV,CAAuBZ,IAAvB,EAA6Ca,IAA7C,EAAkE;EACtE,OAAO,oBAAIV,WAAJ,CACLC,2BAAI,CAACC,GAAL,EAAeQ,IAAI,CAACR,GAApB,CADK,CAAP;AAGD;AAED;;;;;AAGM,SAAUS,KAAV,CAAmBd,IAAnB,EAAuC;EAC3C,MAAM,CAACK,GAAD,EAAMU,KAAN,IAAeC,qDAAI,CAACX,GAAL,GAEjB,CAACD,6BAAD,EAAkE,CAAlE,CAFiB,EAGjB,CAAC,CAACC,GAAD,EAAMU,KAAN,CAAD,EAAe,CAACb,GAAD,EAAMD,OAAN,CAAf,KAAkC,CAACG,0BAAQF,GAAR,EAAa,CAACD,OAAD,EAAUc,KAAV,CAAb,CAAD,EAA0CA,KAAK,GAAG,CAAlD,CAHjB,CAArB;EAMA,OAAO,oBAAIZ,WAAJ,CAAgBE,GAAhB,CAAP;AACD;AAED;;;;;AAGA,qBAAgCL,IAAhC,EAAsDE,GAAtD,EAAiE;EAC/D,OAAOe,gDAAI,CAACN,KAAL,EAAeT,GAAf,GACL,MAAK;IACH,MAAMgB,QAAQ,GAAGlB,IAAI,CAACK,GAAL,CAASc,MAAM,CAACD,QAAhB,GAAjB;IACA,IAAIjB,OAAO,GAAM,IAAjB;IACA,IAAImB,CAAJ;;IACA,OAAO,CAAC,CAACA,CAAC,GAAGF,QAAQ,CAACG,IAAT,EAAL,EAAsBC,IAA9B,EAAoC;MAClC,MAAM,CAACC,MAAD,EAASC,UAAT,IAAuBJ,CAAC,CAACK,KAA/B;;MACA,iCAAIF,MAAJ,EAAcrB,GAAd,GAAmB;QACjBD,OAAO,GAAGuB,UAAV;MACD;IACF;;IACD,IAAIvB,OAAO,KAAK,IAAhB,EAAsB,MAAM,IAAIyB,KAAJ,CAAU,kDAAV,CAAN,CAAtB,KACK;MACH1B,IAAI,CAACW,KAAL,GAAaP,yBAAI,CAACO,KAAL,EAAeT,GAAf,EAAoBD,OAApB,CAAb;MACA,OAAOA,OAAP;IACD;EACF,CAhBI,EAiBJ0B,CAAD,IAAOA,CAjBF,CAAP;AAmBD;AAED;;;;;AAGM,SAAUC,MAAV,CAAiC5B,IAAjC,EAAuD6B,CAAvD,EAAuE3B,GAAvE,EAAkF;EACtF,OAAO4B,YAASD,CAAC,CAACpB,kBAAeP,GAAf,CAAD,CAAV,EAAiCA,GAAjC,CAAP;AACD","names":["add","make","unsafeGet","self","service","tag","Environment","tsplus_module_2","map","empty","make_1","get","unsafeGet_1","getMaybe","cache","union","that","clean","index","tsplus_module_4","tsplus_module_6","iterator","Symbol","r","next","done","curTag","curService","value","Error","a","update","f","add_1"],"sourceRoot":"","sources":["../../../_src/data/Environment/api.ts"],"sourcesContent":[null]}
|
@@ -35,9 +35,8 @@ const EnvSymbol = EnvSymbol_1;
|
|
35
35
|
exports.EnvSymbol = EnvSymbol;
|
36
36
|
|
37
37
|
class Environment {
|
38
|
-
constructor(map,
|
38
|
+
constructor(map, cache = tsplus_module_1.makeDefault()) {
|
39
39
|
this.map = map;
|
40
|
-
this.index = index;
|
41
40
|
this.cache = cache;
|
42
41
|
this._typeId = EnvSymbol_1;
|
43
42
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGO,MAAMA,2BAAYC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;MAAMC,SAAS;AAItB;;;;;;;AAIM,MAAOC,WAAP,CAAkB;EAGtBC,YACWC,GADX,
|
1
|
+
{"version":3,"file":"definition.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGO,MAAMA,2BAAYC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;MAAMC,SAAS;AAItB;;;;;;;AAIM,MAAOC,WAAP,CAAkB;EAGtBC,YACWC,GADX,EAESC,QAAoCC,6BAF7C,EAEkE;IADvD;IACF;IAJA,eAAOR,WAAP;EAKL;;EAEA,mCAAa;IACf,OAAOS,4BAAiB,KAAKF,KAAtB,CAAP;EACD;;EAED,+BAAgBG,IAAhB,EAA6B;IAC3B,OAAOC,aAAa,CAACD,IAAD,CAAb,GAAqBE,6BAAC,KAAKN,GAAN,EAAaI,IAAI,CAACJ,GAAlB,CAArB,GAA6C,KAApD;EACD;;AAdqB;;;;AAiBlB,SAAUK,aAAV,CAAwBE,CAAxB,EAAkC;EACtC,OAAOC,0BAAUD,CAAV,EAAWb,WAAX,CAAP;AACD","names":["EnvSymbol_1","Symbol","for","EnvSymbol","Environment","constructor","map","cache","tsplus_module_1","tsplus_module_3","that","isEnvironment","tsplus_module_5","u","tsplus_module_6"],"sourceRoot":"","sources":["../../../_src/data/Environment/definition.ts"],"sourcesContent":[null]}
|
package/_cjs/data/Patch/api.cjs
CHANGED
@@ -118,9 +118,9 @@ const OrdEnvironmentMap = /*#__PURE__*/tsplus_module_5.contramap(tsplus_module_4
|
|
118
118
|
*/
|
119
119
|
|
120
120
|
function diff(oldValue, newValue) {
|
121
|
-
const sorted = tsplus_module_6.toArray(newValue.map)
|
122
|
-
const [missingServices, patch] = tsplus_module_8.foldLeft(sorted, [tsplus_module_6.beginMutation(oldValue.map), empty_1()], ([map, patch], [tag,
|
123
|
-
if (oldService === newService
|
121
|
+
const sorted = tsplus_module_6.toArray(newValue.map);
|
122
|
+
const [missingServices, patch] = tsplus_module_8.foldLeft(sorted, [tsplus_module_6.beginMutation(oldValue.map), empty_1()], ([map, patch], [tag, newService]) => tsplus_module_7.match_(tsplus_module_6.get_(map, tag), () => [tsplus_module_6.remove_(map, tag), compose_1(patch, new _Patch.AddService(newService, tag))], oldService => {
|
123
|
+
if (oldService === newService) {
|
124
124
|
return [tsplus_module_6.remove_(map, tag), patch];
|
125
125
|
} else {
|
126
126
|
return [tsplus_module_6.remove_(map, tag), compose_1(patch, new _Patch.UpdateService(_ => newService, tag))];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;MAsCgBA,OAAO;;MA+BPC,KAAK;;;AAjErB;;;AAGA,SAASC,SAAT,CAAmBC,WAAnB,EAAkDC,OAAlD,EAAgF;sBAA7DD;MAAAE,YAA+BD;sBAA/BD;MAAAG,YAA+BF;;YAAkD;IAClG,IAAIG,kCAAJ,EAAuB;MACrB;IACD;;IACD,MAAMC,IAAI,GAAGH,UAAQG,IAArB;IACA,MAAMC,IAAI,GAAGJ,UAAQI,IAArB;IACA;;IACA,QAAQD,IAAI,CAACE,IAAb;MACE,KAAK,YAAL;wBACmBC,mCAAgBH,IAAI,CAACI,OAArB,EAA8BJ,IAAI,CAACK,GAAnC;oBAAyCJ;;;;;MAC5D,KAAK,SAAL;;oBACgCK,qBAAKN,IAAI,CAACO,KAAV,EAAiBD,qBAAKN,IAAI,CAACQ,MAAV,EAAkBP,IAAlB,CAAjB;;;;;MAChC,KAAK,OAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;wBACmBE,sCAAmBH,IAAI,CAACS,MAAxB,EAAgCT,IAAI,CAACK,GAArC;oBAA2CJ;;;;IAVhE;EAYD;AAAA;AAED;;;;;AAGM,SAAUS,KAAV,CAAyBC,KAAzB,EAAgDhB,WAAhD,EAA4E;EAChF,OAAOD,SAAS,CAACC,WAAD,EAAcW,qBAAKK,KAAL,CAAd,CAAhB;AACD;AAED;;;;;AAGA,mBAAuCC,IAAvC,EAA6DC,IAA7D,EAAmF;EACjF,OAAO,IAAIC,oBAAJ,CAAYF,IAAZ,EAAkBC,IAAlB,CAAP;AACD;;AAED,MAAME,iBAAiB,gBAAGC,+CAAsBC,CAAD,IAA4DA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjF,CAA1B;AAEA;;;;AAGM,SAAUC,IAAV,CAAwBC,QAAxB,EAAmDC,QAAnD,EAA6E;EACjF,MAAMC,MAAM,
|
1
|
+
{"version":3,"file":"api.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;MAsCgBA,OAAO;;MA+BPC,KAAK;;;AAjErB;;;AAGA,SAASC,SAAT,CAAmBC,WAAnB,EAAkDC,OAAlD,EAAgF;sBAA7DD;MAAAE,YAA+BD;sBAA/BD;MAAAG,YAA+BF;;YAAkD;IAClG,IAAIG,kCAAJ,EAAuB;MACrB;IACD;;IACD,MAAMC,IAAI,GAAGH,UAAQG,IAArB;IACA,MAAMC,IAAI,GAAGJ,UAAQI,IAArB;IACA;;IACA,QAAQD,IAAI,CAACE,IAAb;MACE,KAAK,YAAL;wBACmBC,mCAAgBH,IAAI,CAACI,OAArB,EAA8BJ,IAAI,CAACK,GAAnC;oBAAyCJ;;;;;MAC5D,KAAK,SAAL;;oBACgCK,qBAAKN,IAAI,CAACO,KAAV,EAAiBD,qBAAKN,IAAI,CAACQ,MAAV,EAAkBP,IAAlB,CAAjB;;;;;MAChC,KAAK,OAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;wBACmBE,sCAAmBH,IAAI,CAACS,MAAxB,EAAgCT,IAAI,CAACK,GAArC;oBAA2CJ;;;;IAVhE;EAYD;AAAA;AAED;;;;;AAGM,SAAUS,KAAV,CAAyBC,KAAzB,EAAgDhB,WAAhD,EAA4E;EAChF,OAAOD,SAAS,CAACC,WAAD,EAAcW,qBAAKK,KAAL,CAAd,CAAhB;AACD;AAED;;;;;AAGA,mBAAuCC,IAAvC,EAA6DC,IAA7D,EAAmF;EACjF,OAAO,IAAIC,oBAAJ,CAAYF,IAAZ,EAAkBC,IAAlB,CAAP;AACD;;AAED,MAAME,iBAAiB,gBAAGC,+CAAsBC,CAAD,IAA4DA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjF,CAA1B;AAEA;;;;AAGM,SAAUC,IAAV,CAAwBC,QAAxB,EAAmDC,QAAnD,EAA6E;EACjF,MAAMC,MAAM,2BAAqBD,QAAQ,CAACE,GAA9B,CAAZ;EACA,MAAM,CAACC,eAAD,EAAkBZ,KAAlB,IAA2Ba,iCAC/B,+BAACL,QAAQ,CAACG,GAAV,GAA6BG,SAA7B,CAD+B,EAE/B,CAAC,CAACH,GAAD,EAAMX,KAAN,CAAD,EAAe,CAACN,GAAD,EAAMqB,UAAN,CAAf,KACEC,iDAAQtB,GAAR,GACE,MAAM,CAACuB,6BAAWvB,GAAX,CAAD,EAAkBwB,iBAAc,IAAIC,iBAAJ,CAAeJ,UAAf,EAA2BrB,GAA3B,CAAd,CAAlB,CADR,EAEG0B,UAAD,IAAe;IACb,IAAIA,UAAU,KAAKL,UAAnB,EAA+B;MAC7B,OAAO,CAACE,6BAAWvB,GAAX,CAAD,EAAkBM,KAAlB,CAAP;IACD,CAFD,MAEO;MACL,OAAO,CAACiB,6BAAWvB,GAAX,CAAD,EAAkBwB,iBAAc,IAAIG,oBAAJ,CAAmBf,CAAD,IAAYS,UAA9B,EAA0CrB,GAA1C,CAAd,CAAlB,CAAP;IACD;EACF,CARH,CAH6B,CAAjC;EAcA,OAAOuB,oDAAkCjB,KAAlC,EAAyC,CAACN,GAAD,EAAMM,KAAN,KAAgBkB,iBAAc,IAAII,oBAAJ,CAAkB5B,GAAlB,CAAd,CAAzD,CAAP;AACD;AAED;;;;;AAGA;EACE,OAAO,IAAI6B,kBAAJ,EAAP;AACD","names":["compose","empty","applyLoop","environment","patches","patches_1","patches_2","tsplus_module_1","head","tail","_tag","tsplus_module_2","service","tag","tsplus_module_3","first","second","update","apply","patch","self","that","Compose","OrdEnvironmentMap","tsplus_module_5","_","diff","oldValue","newValue","sorted","map","missingServices","tsplus_module_8","empty_1","newService","tsplus_module_7","tsplus_module_6","compose_1","AddService","oldService","UpdateService","RemoveService","Empty"],"sourceRoot":"","sources":["../../../_src/data/Patch/api.ts"],"sourcesContent":[null]}
|
@@ -7,14 +7,17 @@ exports.makeTag = makeTag;
|
|
7
7
|
|
8
8
|
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Tag/definition"));
|
9
9
|
|
10
|
+
var _uuid = /*#__PURE__*/require("uuid");
|
11
|
+
|
10
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
11
13
|
|
12
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
13
15
|
|
14
16
|
/**
|
15
17
|
* @tsplus static fncts.TagOps __call
|
18
|
+
* @fncts tag
|
16
19
|
*/
|
17
|
-
function makeTag() {
|
18
|
-
return new tsplus_module_1.Tag();
|
20
|
+
function makeTag(id = (0, _uuid.v4)()) {
|
21
|
+
return new tsplus_module_1.Tag(id);
|
19
22
|
}
|
20
23
|
//# sourceMappingURL=constructors.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constructors.cjs","mappings":"
|
1
|
+
{"version":3,"file":"constructors.cjs","mappings":";;;;;;;;;AAAA;;;;;;AAEA;;;;AAIM,SAAUA,OAAV,CAAqBC,KAAa,eAAlC,EAAsC;EAC1C,OAAO,oBAAIC,GAAJ,CAAQD,EAAR,CAAP;AACD","names":["makeTag","id","Tag"],"sourceRoot":"","sources":["../../../_src/data/Tag/constructors.ts"],"sourcesContent":[null]}
|
@@ -33,13 +33,13 @@ const _tagHash = /*#__PURE__*/tsplus_module_1.hashString("fncts.Tag");
|
|
33
33
|
|
34
34
|
|
35
35
|
class Tag {
|
36
|
-
constructor() {
|
36
|
+
constructor(id) {
|
37
|
+
this.id = id;
|
37
38
|
this._typeId = TagTypeId;
|
38
|
-
this.id = Tag.counter.getAndIncrement();
|
39
39
|
}
|
40
40
|
|
41
41
|
get [tsplus_module_2.hashSymbol]() {
|
42
|
-
return tsplus_module_1.combineHash(_tagHash, tsplus_module_1.
|
42
|
+
return tsplus_module_1.combineHash(_tagHash, tsplus_module_1.hashString(this.id));
|
43
43
|
}
|
44
44
|
|
45
45
|
[tsplus_module_3.equalsSymbol](that) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.cjs","mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;AAEO,MAAMA,SAAS,gBAAGC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;;;AAGP,MAAMC,QAAQ,gBAAGC,2BAAgB,WAAhB,CAAjB;AAEA;;;;;;;;AAMM,MAAOC,GAAP,CAAU;
|
1
|
+
{"version":3,"file":"definition.cjs","mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;AAEO,MAAMA,SAAS,gBAAGC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;;;AAGP,MAAMC,QAAQ,gBAAGC,2BAAgB,WAAhB,CAAjB;AAEA;;;;;;;;AAMM,MAAOC,GAAP,CAAU;EAKdC,YAAqBC,EAArB,EAA+B;IAAV;IAHZ,eAAqBP,SAArB;EAG0B;;EAE/B,mCAAa;IACf,OAAOI,4BAAiBD,QAAjB,EAA2BC,2BAAgB,KAAKG,EAArB,CAA3B,CAAP;EACD;;EAED,+BAAgBC,IAAhB,EAA6B;IAC3B,OAAOC,KAAK,CAACD,IAAD,CAAL,IAAe,KAAKD,EAAL,KAAYC,IAAI,CAACD,EAAvC;EACD;;AAba;;;AAGCF,2BAAe,IAAIK,0BAAJ,CAAiB,CAAjB,CAAf;;AAaX,SAAUD,KAAV,CAAgBE,CAAhB,EAA0B;EAC9B,OAAOC,0BAAUD,CAAV,EAAaX,SAAb,CAAP;AACD","names":["TagTypeId","Symbol","for","_tagHash","tsplus_module_1","Tag","constructor","id","that","isTag","AtomicNumber","u","tsplus_module_4"],"sourceRoot":"","sources":["../../../_src/data/Tag/definition.ts"],"sourcesContent":[null]}
|
@@ -1,23 +1,18 @@
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/base/data/Environment/definition";
|
2
2
|
import * as tsplus_module_2 from "@fncts/base/collection/immutable/HashMap/api";
|
3
3
|
import * as tsplus_module_3 from "@fncts/base/data/function/api";
|
4
|
-
import * as tsplus_module_4 from "@fncts/base/
|
5
|
-
import * as tsplus_module_5 from "@fncts/base/typeclass/
|
6
|
-
import * as tsplus_module_6 from "@fncts/base/
|
7
|
-
import * as tsplus_module_7 from "@fncts/base/collection/immutable/List/api/foldLeft";
|
8
|
-
import * as tsplus_module_8 from "@fncts/base/typeclass/Equatable/api";
|
9
|
-
import * as tsplus_module_9 from "@fncts/base/data/Maybe/destructors";
|
4
|
+
import * as tsplus_module_4 from "@fncts/base/collection/immutable/List/api/foldLeft";
|
5
|
+
import * as tsplus_module_5 from "@fncts/base/typeclass/Equatable/api";
|
6
|
+
import * as tsplus_module_6 from "@fncts/base/data/Maybe/destructors";
|
10
7
|
export const add = add_1;
|
11
8
|
export const make = make_1;
|
12
|
-
export const clean = clean_1;
|
13
9
|
export const unsafeGet = unsafeGet_1;
|
14
10
|
/**
|
15
11
|
* @tsplus fluent fncts.Environment add
|
16
12
|
*/
|
17
13
|
|
18
14
|
function add_1(self, service, tag) {
|
19
|
-
|
20
|
-
return new tsplus_module_1.Environment(tsplus_module_2.set_(self0.map, tag, [service, self0.index]), self0.index + 1);
|
15
|
+
return new tsplus_module_1.Environment(tsplus_module_2.set_(self.map, tag, service));
|
21
16
|
}
|
22
17
|
/**
|
23
18
|
* @tsplus static fncts.EnvironmentOps empty
|
@@ -44,7 +39,7 @@ export function getMaybe(self, tag) {
|
|
44
39
|
*/
|
45
40
|
|
46
41
|
function make_1() {
|
47
|
-
return new tsplus_module_1.Environment(tsplus_module_2.makeDefault(),
|
42
|
+
return new tsplus_module_1.Environment(tsplus_module_2.makeDefault(), tsplus_module_2.makeDefault());
|
48
43
|
}
|
49
44
|
/**
|
50
45
|
* @tsplus operator fncts.Environment +
|
@@ -53,34 +48,30 @@ function make_1() {
|
|
53
48
|
|
54
49
|
|
55
50
|
export function union(self, that) {
|
56
|
-
|
57
|
-
return new tsplus_module_1.Environment(tsplus_module_2.union_(self0.map, tsplus_module_2.map_(that0.map, ([service, index]) => [service, self0.index + index])), self0.index + that0.index);
|
51
|
+
return new tsplus_module_1.Environment(tsplus_module_2.union_(self.map, that.map));
|
58
52
|
}
|
59
53
|
/**
|
60
54
|
* @tsplus getter fncts.Environment clean
|
61
55
|
*/
|
62
56
|
|
63
|
-
function
|
64
|
-
const [map, index] =
|
65
|
-
return new tsplus_module_1.Environment(map
|
57
|
+
export function clean(self) {
|
58
|
+
const [map, index] = tsplus_module_4.foldLeft_(tsplus_module_2.toList(self.map), [tsplus_module_2.makeDefault(), 0], ([map, index], [tag, service]) => [tsplus_module_2.set_(map, tag, [service, index]), index + 1]);
|
59
|
+
return new tsplus_module_1.Environment(map);
|
66
60
|
}
|
67
61
|
/**
|
68
62
|
* @tsplus fluent fncts.Environment unsafeGet
|
69
63
|
*/
|
70
64
|
|
71
|
-
|
72
65
|
function unsafeGet_1(self, tag) {
|
73
|
-
return
|
74
|
-
let index = -1;
|
66
|
+
return tsplus_module_6.match_(tsplus_module_2.get_(self.cache, tag), () => {
|
75
67
|
const iterator = self.map[Symbol.iterator]();
|
76
68
|
let service = null;
|
77
69
|
let r;
|
78
70
|
|
79
71
|
while (!(r = iterator.next()).done) {
|
80
|
-
const [curTag,
|
72
|
+
const [curTag, curService] = r.value;
|
81
73
|
|
82
|
-
if (
|
83
|
-
index = curIndex;
|
74
|
+
if (tsplus_module_5.strictEquals(curTag, tag)) {
|
84
75
|
service = curService;
|
85
76
|
}
|
86
77
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.mjs","mappings":"
|
1
|
+
{"version":3,"file":"api.mjs","mappings":";;;;;;aAGgBA,GAAG;aA4BHC,IAAI;aA8BJC,SAAS;AA7DzB;;;;AAGA,eAA2CC,IAA3C,EAAiEC,OAAjE,EAA6EC,GAA7E,EAAwF;EACtF,OAAO,oBAAIC,WAAJ,CAAgBC,yBAAI,CAACC,GAAL,EAAaH,GAAb,EAAkBD,OAAlB,CAAhB,CAAP;AACD;AAED;;;;;AAGA,OAAO,MAAMK,KAAK,gBAAGC,QAAd;AAIP;;;;AAGA,OAAM,SAAUC,GAAV,CAAoCR,IAApC,EAA0DE,GAA1D,EAAgE;EACpE,OAAoBO,kBAAeP,GAAf,CAApB;AACD;AAED;;;;AAGA,OAAM,SAAUQ,QAAV,CAAwCV,IAAxC,EAA8DE,GAA9D,EAAyE;EAC7E,OAAOE,yBAAI,CAACO,KAAL,EAAeT,GAAf,CAAP;AACD;AAED;;;;AAGA;EACE,OAAO,oBAAIC,WAAJ,CAAgBC,6BAAhB,EAAuCA,6BAAvC,CAAP;AACD;AAED;;;;;;AAIA,OAAM,SAAUQ,KAAV,CAAuBZ,IAAvB,EAA6Ca,IAA7C,EAAkE;EACtE,OAAO,oBAAIV,WAAJ,CACLC,2BAAI,CAACC,GAAL,EAAeQ,IAAI,CAACR,GAApB,CADK,CAAP;AAGD;AAED;;;;AAGA,OAAM,SAAUS,KAAV,CAAmBd,IAAnB,EAAuC;EAC3C,MAAM,CAACK,GAAD,EAAMU,KAAN,IAAeC,qDAAI,CAACX,GAAL,GAEjB,CAACD,6BAAD,EAAkE,CAAlE,CAFiB,EAGjB,CAAC,CAACC,GAAD,EAAMU,KAAN,CAAD,EAAe,CAACb,GAAD,EAAMD,OAAN,CAAf,KAAkC,CAACG,0BAAQF,GAAR,EAAa,CAACD,OAAD,EAAUc,KAAV,CAAb,CAAD,EAA0CA,KAAK,GAAG,CAAlD,CAHjB,CAArB;EAMA,OAAO,oBAAIZ,WAAJ,CAAgBE,GAAhB,CAAP;AACD;AAED;;;;AAGA,qBAAgCL,IAAhC,EAAsDE,GAAtD,EAAiE;EAC/D,OAAOe,gDAAI,CAACN,KAAL,EAAeT,GAAf,GACL,MAAK;IACH,MAAMgB,QAAQ,GAAGlB,IAAI,CAACK,GAAL,CAASc,MAAM,CAACD,QAAhB,GAAjB;IACA,IAAIjB,OAAO,GAAM,IAAjB;IACA,IAAImB,CAAJ;;IACA,OAAO,CAAC,CAACA,CAAC,GAAGF,QAAQ,CAACG,IAAT,EAAL,EAAsBC,IAA9B,EAAoC;MAClC,MAAM,CAACC,MAAD,EAASC,UAAT,IAAuBJ,CAAC,CAACK,KAA/B;;MACA,iCAAIF,MAAJ,EAAcrB,GAAd,GAAmB;QACjBD,OAAO,GAAGuB,UAAV;MACD;IACF;;IACD,IAAIvB,OAAO,KAAK,IAAhB,EAAsB,MAAM,IAAIyB,KAAJ,CAAU,kDAAV,CAAN,CAAtB,KACK;MACH1B,IAAI,CAACW,KAAL,GAAaP,yBAAI,CAACO,KAAL,EAAeT,GAAf,EAAoBD,OAApB,CAAb;MACA,OAAOA,OAAP;IACD;EACF,CAhBI,EAiBJ0B,CAAD,IAAOA,CAjBF,CAAP;AAmBD;AAED;;;;;AAGA,OAAM,SAAUC,MAAV,CAAiC5B,IAAjC,EAAuD6B,CAAvD,EAAuE3B,GAAvE,EAAkF;EACtF,OAAO4B,YAASD,CAAC,CAACpB,kBAAeP,GAAf,CAAD,CAAV,EAAiCA,GAAjC,CAAP;AACD","names":["add","make","unsafeGet","self","service","tag","Environment","tsplus_module_2","map","empty","make_1","get","unsafeGet_1","getMaybe","cache","union","that","clean","index","tsplus_module_4","tsplus_module_6","iterator","Symbol","r","next","done","curTag","curService","value","Error","a","update","f","add_1"],"sourceRoot":"","sources":["../../../_src/data/Environment/api.ts"],"sourcesContent":[null]}
|
@@ -16,9 +16,8 @@ export const EnvSymbol = EnvSymbol_1;
|
|
16
16
|
*/
|
17
17
|
|
18
18
|
export class Environment {
|
19
|
-
constructor(map,
|
19
|
+
constructor(map, cache = tsplus_module_1.makeDefault()) {
|
20
20
|
this.map = map;
|
21
|
-
this.index = index;
|
22
21
|
this.cache = cache;
|
23
22
|
this._typeId = EnvSymbol_1;
|
24
23
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":";;;;;;AAAA;;;;AAGO,MAAMA,2BAAYC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;aAAMC,SAAS;AAItB;;;;;AAIA,OAAM,MAAOC,WAAP,CAAkB;EAGtBC,YACWC,GADX,
|
1
|
+
{"version":3,"file":"definition.mjs","mappings":";;;;;;AAAA;;;;AAGO,MAAMA,2BAAYC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;aAAMC,SAAS;AAItB;;;;;AAIA,OAAM,MAAOC,WAAP,CAAkB;EAGtBC,YACWC,GADX,EAESC,QAAoCC,6BAF7C,EAEkE;IADvD;IACF;IAJA,eAAOR,WAAP;EAKL;;EAEA,mCAAa;IACf,OAAOS,4BAAiB,KAAKF,KAAtB,CAAP;EACD;;EAED,+BAAgBG,IAAhB,EAA6B;IAC3B,OAAOC,aAAa,CAACD,IAAD,CAAb,GAAqBE,6BAAC,KAAKN,GAAN,EAAaI,IAAI,CAACJ,GAAlB,CAArB,GAA6C,KAApD;EACD;;AAdqB;AAiBxB,OAAM,SAAUK,aAAV,CAAwBE,CAAxB,EAAkC;EACtC,OAAOC,0BAAUD,CAAV,EAAWb,WAAX,CAAP;AACD","names":["EnvSymbol_1","Symbol","for","EnvSymbol","Environment","constructor","map","cache","tsplus_module_1","tsplus_module_3","that","isEnvironment","tsplus_module_5","u","tsplus_module_6"],"sourceRoot":"","sources":["../../../_src/data/Environment/definition.ts"],"sourcesContent":[null]}
|
package/_mjs/data/Patch/api.mjs
CHANGED
@@ -92,9 +92,9 @@ const OrdEnvironmentMap = /*#__PURE__*/tsplus_module_5.contramap(tsplus_module_4
|
|
92
92
|
*/
|
93
93
|
|
94
94
|
export function diff(oldValue, newValue) {
|
95
|
-
const sorted = tsplus_module_6.toArray(newValue.map)
|
96
|
-
const [missingServices, patch] = tsplus_module_8.foldLeft(sorted, [tsplus_module_6.beginMutation(oldValue.map), empty_1()], ([map, patch], [tag,
|
97
|
-
if (oldService === newService
|
95
|
+
const sorted = tsplus_module_6.toArray(newValue.map);
|
96
|
+
const [missingServices, patch] = tsplus_module_8.foldLeft(sorted, [tsplus_module_6.beginMutation(oldValue.map), empty_1()], ([map, patch], [tag, newService]) => tsplus_module_7.match_(tsplus_module_6.get_(map, tag), () => [tsplus_module_6.remove_(map, tag), compose_1(patch, new AddService(newService, tag))], oldService => {
|
97
|
+
if (oldService === newService) {
|
98
98
|
return [tsplus_module_6.remove_(map, tag), patch];
|
99
99
|
} else {
|
100
100
|
return [tsplus_module_6.remove_(map, tag), compose_1(patch, new UpdateService(_ => newService, tag))];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.mjs","mappings":";;;;;;;;aAyCgBA,OAAO;aA+BPC,KAAK;AAxErB,SAASC,IAAT,QAAqB,uCAArB;AACA,SAASC,UAAT,EAAqBC,aAArB,EAAoCC,aAApC,QAAyD,wBAAzD;AAEA,SAASC,KAAT,QAAsB,mCAAtB;AACA,SAASC,OAAT,QAAwB,mCAAxB;AACA,SAASC,QAAT,QAAyB,mCAAzB;AAEA;;;;AAGA,SAASC,SAAT,CAAmBC,WAAnB,EAAkDC,OAAlD,EAAgF;sBAA7DD;MAAAE,YAA+BD;sBAA/BD;MAAAG,YAA+BF;;YAAkD;IAClG,IAAIG,kCAAJ,EAAuB;MACrB;IACD;;IACD,MAAMC,IAAI,GAAGH,UAAQG,IAArB;IACA,MAAMC,IAAI,GAAGJ,UAAQI,IAArB;IACA;;IACA,QAAQD,IAAI,CAACE,IAAb;MACE,KAAK,YAAL;wBACmBC,mCAAgBH,IAAI,CAACI,OAArB,EAA8BJ,IAAI,CAACK,GAAnC;oBAAyCJ;;;;;MAC5D,KAAK,SAAL;;oBACgCK,qBAAKN,IAAI,CAACO,KAAV,EAAiBD,qBAAKN,IAAI,CAACQ,MAAV,EAAkBP,IAAlB,CAAjB;;;;;MAChC,KAAK,OAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;wBACmBE,sCAAmBH,IAAI,CAACS,MAAxB,EAAgCT,IAAI,CAACK,GAArC;oBAA2CJ;;;;IAVhE;EAYD;AAAA;AAED;;;;;AAGA,OAAM,SAAUS,KAAV,CAAyBC,KAAzB,EAAgDhB,WAAhD,EAA4E;EAChF,OAAOD,SAAS,CAACC,WAAD,EAAcW,qBAAKK,KAAL,CAAd,CAAhB;AACD;AAED;;;;AAGA,mBAAuCC,IAAvC,EAA6DC,IAA7D,EAAmF;EACjF,OAAO,IAAIrB,OAAJ,CAAYoB,IAAZ,EAAkBC,IAAlB,CAAP;AACD;;AAED,MAAMC,iBAAiB,gBAAGC,+CAAsBC,CAAD,IAA4DA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjF,CAA1B;AAEA;;;;AAGA,OAAM,SAAUC,IAAV,CAAwBC,QAAxB,EAAmDC,QAAnD,EAA6E;EACjF,MAAMC,MAAM,
|
1
|
+
{"version":3,"file":"api.mjs","mappings":";;;;;;;;aAyCgBA,OAAO;aA+BPC,KAAK;AAxErB,SAASC,IAAT,QAAqB,uCAArB;AACA,SAASC,UAAT,EAAqBC,aAArB,EAAoCC,aAApC,QAAyD,wBAAzD;AAEA,SAASC,KAAT,QAAsB,mCAAtB;AACA,SAASC,OAAT,QAAwB,mCAAxB;AACA,SAASC,QAAT,QAAyB,mCAAzB;AAEA;;;;AAGA,SAASC,SAAT,CAAmBC,WAAnB,EAAkDC,OAAlD,EAAgF;sBAA7DD;MAAAE,YAA+BD;sBAA/BD;MAAAG,YAA+BF;;YAAkD;IAClG,IAAIG,kCAAJ,EAAuB;MACrB;IACD;;IACD,MAAMC,IAAI,GAAGH,UAAQG,IAArB;IACA,MAAMC,IAAI,GAAGJ,UAAQI,IAArB;IACA;;IACA,QAAQD,IAAI,CAACE,IAAb;MACE,KAAK,YAAL;wBACmBC,mCAAgBH,IAAI,CAACI,OAArB,EAA8BJ,IAAI,CAACK,GAAnC;oBAAyCJ;;;;;MAC5D,KAAK,SAAL;;oBACgCK,qBAAKN,IAAI,CAACO,KAAV,EAAiBD,qBAAKN,IAAI,CAACQ,MAAV,EAAkBP,IAAlB,CAAjB;;;;;MAChC,KAAK,OAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;;oBACgCA;;;;;MAChC,KAAK,eAAL;wBACmBE,sCAAmBH,IAAI,CAACS,MAAxB,EAAgCT,IAAI,CAACK,GAArC;oBAA2CJ;;;;IAVhE;EAYD;AAAA;AAED;;;;;AAGA,OAAM,SAAUS,KAAV,CAAyBC,KAAzB,EAAgDhB,WAAhD,EAA4E;EAChF,OAAOD,SAAS,CAACC,WAAD,EAAcW,qBAAKK,KAAL,CAAd,CAAhB;AACD;AAED;;;;AAGA,mBAAuCC,IAAvC,EAA6DC,IAA7D,EAAmF;EACjF,OAAO,IAAIrB,OAAJ,CAAYoB,IAAZ,EAAkBC,IAAlB,CAAP;AACD;;AAED,MAAMC,iBAAiB,gBAAGC,+CAAsBC,CAAD,IAA4DA,CAAC,CAAC,CAAD,CAAD,CAAK,CAAL,CAAjF,CAA1B;AAEA;;;;AAGA,OAAM,SAAUC,IAAV,CAAwBC,QAAxB,EAAmDC,QAAnD,EAA6E;EACjF,MAAMC,MAAM,2BAAqBD,QAAQ,CAACE,GAA9B,CAAZ;EACA,MAAM,CAACC,eAAD,EAAkBX,KAAlB,IAA2BY,iCAC/B,+BAACL,QAAQ,CAACG,GAAV,GAA6BG,SAA7B,CAD+B,EAE/B,CAAC,CAACH,GAAD,EAAMV,KAAN,CAAD,EAAe,CAACN,GAAD,EAAMoB,UAAN,CAAf,KACEC,iDAAQrB,GAAR,GACE,MAAM,CAACsB,6BAAWtB,GAAX,CAAD,EAAkBuB,iBAAc,IAAIxC,UAAJ,CAAeqC,UAAf,EAA2BpB,GAA3B,CAAd,CAAlB,CADR,EAEGwB,UAAD,IAAe;IACb,IAAIA,UAAU,KAAKJ,UAAnB,EAA+B;MAC7B,OAAO,CAACE,6BAAWtB,GAAX,CAAD,EAAkBM,KAAlB,CAAP;IACD,CAFD,MAEO;MACL,OAAO,CAACgB,6BAAWtB,GAAX,CAAD,EAAkBuB,iBAAc,IAAItC,aAAJ,CAAmB0B,CAAD,IAAYS,UAA9B,EAA0CpB,GAA1C,CAAd,CAAlB,CAAP;IACD;EACF,CARH,CAH6B,CAAjC;EAcA,OAAOsB,oDAAkChB,KAAlC,EAAyC,CAACN,GAAD,EAAMM,KAAN,KAAgBiB,iBAAc,IAAIvC,aAAJ,CAAkBgB,GAAlB,CAAd,CAAzD,CAAP;AACD;AAED;;;;AAGA;EACE,OAAO,IAAId,KAAJ,EAAP;AACD","names":["compose","empty","Cons","AddService","RemoveService","UpdateService","Empty","Compose","concrete","applyLoop","environment","patches","patches_1","patches_2","tsplus_module_1","head","tail","_tag","tsplus_module_2","service","tag","tsplus_module_3","first","second","update","apply","patch","self","that","OrdEnvironmentMap","tsplus_module_5","_","diff","oldValue","newValue","sorted","map","missingServices","tsplus_module_8","empty_1","newService","tsplus_module_7","tsplus_module_6","compose_1","oldService"],"sourceRoot":"","sources":["../../../_src/data/Patch/api.ts"],"sourcesContent":[null]}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/base/data/Tag/definition";
|
2
|
+
import { v4 } from "uuid";
|
2
3
|
/**
|
3
4
|
* @tsplus static fncts.TagOps __call
|
5
|
+
* @fncts tag
|
4
6
|
*/
|
5
7
|
|
6
|
-
export function makeTag() {
|
7
|
-
return new tsplus_module_1.Tag();
|
8
|
+
export function makeTag(id = v4()) {
|
9
|
+
return new tsplus_module_1.Tag(id);
|
8
10
|
}
|
9
11
|
//# sourceMappingURL=constructors.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constructors.mjs","mappings":";AAAA
|
1
|
+
{"version":3,"file":"constructors.mjs","mappings":";AAAA,SAASA,EAAT,QAAmB,MAAnB;AAEA;;;;;AAIA,OAAM,SAAUC,OAAV,CAAqBC,KAAaF,EAAE,EAApC,EAAsC;EAC1C,OAAO,oBAAIG,GAAJ,CAAQD,EAAR,CAAP;AACD","names":["v4","makeTag","id","Tag"],"sourceRoot":"","sources":["../../../_src/data/Tag/constructors.ts"],"sourcesContent":[null]}
|
@@ -15,13 +15,13 @@ const _tagHash = /*#__PURE__*/tsplus_module_1.hashString("fncts.Tag");
|
|
15
15
|
|
16
16
|
|
17
17
|
export class Tag {
|
18
|
-
constructor() {
|
18
|
+
constructor(id) {
|
19
|
+
this.id = id;
|
19
20
|
this._typeId = TagTypeId;
|
20
|
-
this.id = Tag.counter.getAndIncrement();
|
21
21
|
}
|
22
22
|
|
23
23
|
get [tsplus_module_2.hashSymbol]() {
|
24
|
-
return tsplus_module_1.combineHash(_tagHash, tsplus_module_1.
|
24
|
+
return tsplus_module_1.combineHash(_tagHash, tsplus_module_1.hashString(this.id));
|
25
25
|
}
|
26
26
|
|
27
27
|
[tsplus_module_3.equalsSymbol](that) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":";;;;AAAA,SAASA,YAAT,QAA6B,mCAA7B;AAEA,OAAO,MAAMC,SAAS,gBAAGC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;;AAGP,MAAMC,QAAQ,gBAAGC,2BAAgB,WAAhB,CAAjB;AAEA;;;;;;;;AAMA,OAAM,MAAOC,GAAP,CAAU;
|
1
|
+
{"version":3,"file":"definition.mjs","mappings":";;;;AAAA,SAASA,YAAT,QAA6B,mCAA7B;AAEA,OAAO,MAAMC,SAAS,gBAAGC,MAAM,CAACC,GAAP,CAAW,WAAX,CAAlB;;AAGP,MAAMC,QAAQ,gBAAGC,2BAAgB,WAAhB,CAAjB;AAEA;;;;;;;;AAMA,OAAM,MAAOC,GAAP,CAAU;EAKdC,YAAqBC,EAArB,EAA+B;IAAV;IAHZ,eAAqBP,SAArB;EAG0B;;EAE/B,mCAAa;IACf,OAAOI,4BAAiBD,QAAjB,EAA2BC,2BAAgB,KAAKG,EAArB,CAA3B,CAAP;EACD;;EAED,+BAAgBC,IAAhB,EAA6B;IAC3B,OAAOC,KAAK,CAACD,IAAD,CAAL,IAAe,KAAKD,EAAL,KAAYC,IAAI,CAACD,EAAvC;EACD;;AAba;AAGCF,2BAAe,IAAIN,YAAJ,CAAiB,CAAjB,CAAf;AAajB,OAAM,SAAUU,KAAV,CAAgBC,CAAhB,EAA0B;EAC9B,OAAOC,0BAAUD,CAAV,EAAaV,SAAb,CAAP;AACD","names":["AtomicNumber","TagTypeId","Symbol","for","_tagHash","tsplus_module_1","Tag","constructor","id","that","isTag","u","tsplus_module_4"],"sourceRoot":"","sources":["../../../_src/data/Tag/definition.ts"],"sourcesContent":[null]}
|
@@ -2,8 +2,7 @@
|
|
2
2
|
* @tsplus fluent fncts.Environment add
|
3
3
|
*/
|
4
4
|
export function add<R, H extends S, S = H>(self: Environment<R>, service: H, tag: Tag<S>): Environment<R | S> {
|
5
|
-
|
6
|
-
return new Environment(self0.map.set(tag, [service, self0.index]), self0.index + 1);
|
5
|
+
return new Environment(self.map.set(tag, service));
|
7
6
|
}
|
8
7
|
|
9
8
|
/**
|
@@ -31,7 +30,7 @@ export function getMaybe<R extends Has<S>, S>(self: Environment<R>, tag: Tag<S>)
|
|
31
30
|
* @tsplus static fncts.EnvironmentOps __call
|
32
31
|
*/
|
33
32
|
export function make(): Environment<never> {
|
34
|
-
return new Environment(HashMap.makeDefault(),
|
33
|
+
return new Environment(HashMap.makeDefault(), HashMap.makeDefault());
|
35
34
|
}
|
36
35
|
|
37
36
|
/**
|
@@ -39,10 +38,8 @@ export function make(): Environment<never> {
|
|
39
38
|
* @tsplus fluent fncts.Environment union
|
40
39
|
*/
|
41
40
|
export function union<R, R1>(self: Environment<R>, that: Environment<R1>): Environment<R & R1> {
|
42
|
-
const [self0, that0] = self.index + that.index < self.index ? [self.clean, that.clean] : [self, that];
|
43
41
|
return new Environment(
|
44
|
-
|
45
|
-
self0.index + that0.index,
|
42
|
+
self.map.union(that.map),
|
46
43
|
);
|
47
44
|
}
|
48
45
|
|
@@ -51,13 +48,12 @@ export function union<R, R1>(self: Environment<R>, that: Environment<R1>): Envir
|
|
51
48
|
*/
|
52
49
|
export function clean<R>(self: Environment<R>): Environment<R> {
|
53
50
|
const [map, index] = self.map.toList
|
54
|
-
.sort(Number.Ord.contramap(([, [, idx]]) => idx))
|
55
51
|
.foldLeft(
|
56
52
|
[HashMap.makeDefault<Tag<unknown>, readonly [unknown, number]>(), 0],
|
57
|
-
([map, index], [tag,
|
53
|
+
([map, index], [tag, service]) => [map.set(tag, [service, index] as const), index + 1],
|
58
54
|
);
|
59
55
|
|
60
|
-
return new Environment(map
|
56
|
+
return new Environment(map);
|
61
57
|
}
|
62
58
|
|
63
59
|
/**
|
@@ -66,14 +62,12 @@ export function clean<R>(self: Environment<R>): Environment<R> {
|
|
66
62
|
export function unsafeGet<R, S>(self: Environment<R>, tag: Tag<S>): S {
|
67
63
|
return self.cache.get(tag).match(
|
68
64
|
() => {
|
69
|
-
let index = -1;
|
70
65
|
const iterator = self.map[Symbol.iterator]();
|
71
66
|
let service: S = null!;
|
72
|
-
let r: IteratorResult<readonly [Tag<unknown>,
|
67
|
+
let r: IteratorResult<readonly [Tag<unknown>, unknown]>;
|
73
68
|
while (!(r = iterator.next()).done) {
|
74
|
-
const [curTag,
|
75
|
-
if (curTag == tag
|
76
|
-
index = curIndex;
|
69
|
+
const [curTag, curService] = r.value;
|
70
|
+
if (curTag == tag) {
|
77
71
|
service = curService as S;
|
78
72
|
}
|
79
73
|
}
|
@@ -13,8 +13,7 @@ export class Environment<R> implements Hashable, Equatable {
|
|
13
13
|
readonly _typeId: EnvSymbol = EnvSymbol;
|
14
14
|
readonly [EnvSymbol]!: (_: never) => R;
|
15
15
|
constructor(
|
16
|
-
readonly map: HashMap<Tag<any>,
|
17
|
-
readonly index: number,
|
16
|
+
readonly map: HashMap<Tag<any>, unknown>,
|
18
17
|
public cache: HashMap<Tag<any>, unknown> = HashMap.makeDefault(),
|
19
18
|
) {}
|
20
19
|
|
package/_src/data/Patch/api.ts
CHANGED
@@ -49,14 +49,14 @@ const OrdEnvironmentMap = Number.Ord.contramap((_: readonly [Tag<unknown>, reado
|
|
49
49
|
* @tsplus static fncts.Environment.PatchOps diff
|
50
50
|
*/
|
51
51
|
export function diff<In, Out>(oldValue: Environment<In>, newValue: Environment<Out>): Patch<In, Out> {
|
52
|
-
const sorted = newValue.map.toArray
|
52
|
+
const sorted = newValue.map.toArray;
|
53
53
|
const [missingServices, patch] = sorted.foldLeft(
|
54
54
|
[oldValue.map.beginMutation, Patch.empty() as Patch<any, any>],
|
55
|
-
([map, patch], [tag,
|
55
|
+
([map, patch], [tag, newService]) =>
|
56
56
|
map.get(tag).match(
|
57
57
|
() => [map.remove(tag), patch.compose(new AddService(newService, tag))],
|
58
|
-
(
|
59
|
-
if (oldService === newService
|
58
|
+
(oldService) => {
|
59
|
+
if (oldService === newService) {
|
60
60
|
return [map.remove(tag), patch];
|
61
61
|
} else {
|
62
62
|
return [map.remove(tag), patch.compose(new UpdateService((_: any) => newService, tag))];
|
@@ -15,10 +15,11 @@ export class Tag<in out T> implements Hashable, Equatable {
|
|
15
15
|
declare _T: (_: T) => T;
|
16
16
|
readonly _typeId: TagTypeId = TagTypeId;
|
17
17
|
private static counter = new AtomicNumber(0);
|
18
|
-
|
18
|
+
|
19
|
+
constructor(readonly id: string) {}
|
19
20
|
|
20
21
|
get [Symbol.hash](): number {
|
21
|
-
return Hashable.combine(_tagHash, Hashable.
|
22
|
+
return Hashable.combine(_tagHash, Hashable.string(this.id));
|
22
23
|
}
|
23
24
|
|
24
25
|
[Symbol.equals](that: unknown): boolean {
|
@@ -15,6 +15,6 @@ declare global {
|
|
15
15
|
export interface ArrayConstructor {
|
16
16
|
}
|
17
17
|
}
|
18
|
-
export
|
19
|
-
export
|
18
|
+
export type ESArray<A> = globalThis.Array<A>;
|
19
|
+
export type ESReadonlyArray<A> = globalThis.ReadonlyArray<A>;
|
20
20
|
export declare const ESArray: ArrayConstructor;
|
@@ -7,7 +7,7 @@ import { unsafeCoerce } from "@fncts/base/data/function/api";
|
|
7
7
|
export declare const BUFFER_SIZE = 64;
|
8
8
|
export declare const UPDATE_BUFFER_SIZE = 256;
|
9
9
|
export declare const ConcTypeId: unique symbol;
|
10
|
-
export
|
10
|
+
export type ConcTypeId = typeof ConcTypeId;
|
11
11
|
export declare const enum ConcTag {
|
12
12
|
Empty = "Empty",
|
13
13
|
Concat = "Concat",
|
@@ -37,7 +37,7 @@ export declare class HashMapIterator<K, V, T> implements IterableIterator<T> {
|
|
37
37
|
next(): IteratorResult<T>;
|
38
38
|
[Symbol.iterator](): IterableIterator<T>;
|
39
39
|
}
|
40
|
-
|
40
|
+
type Cont<K, V, A> = [len: number, children: Node<K, V>[], i: number, f: (node: readonly [K, V]) => A, cont: Cont<K, V, A>] | undefined;
|
41
41
|
interface VisitResult<K, V, A> {
|
42
42
|
value: A;
|
43
43
|
cont: Cont<K, V, A>;
|
@@ -17,7 +17,7 @@ export declare function popcount(x: number): number;
|
|
17
17
|
export declare function hashFragment(shift: number, h: number): number;
|
18
18
|
export declare function toBitmap(x: number): number;
|
19
19
|
export declare function fromBitmap(bitmap: number, bit: number): number;
|
20
|
-
export
|
20
|
+
export type Node<K, V> = LeafNode<K, V> | CollisionNode<K, V> | IndexedNode<K, V> | ArrayNode<K, V> | EmptyNode<K, V>;
|
21
21
|
export interface SizeRef {
|
22
22
|
value: number;
|
23
23
|
}
|
@@ -29,8 +29,8 @@ export declare const _EmptyNode: EmptyNode<never, never>;
|
|
29
29
|
export declare function isEmptyNode(a: unknown): a is EmptyNode<unknown, unknown>;
|
30
30
|
export declare function isLeaf<K, V>(node: Node<K, V>): node is EmptyNode<K, V> | LeafNode<K, V> | CollisionNode<K, V>;
|
31
31
|
export declare function canEditNode<K, V>(edit: number, node: Node<K, V>): boolean;
|
32
|
-
export
|
33
|
-
export
|
32
|
+
export type KeyEq<K> = Eq<K>["equals"];
|
33
|
+
export type UpdateFn<V> = (v: Maybe<V>) => Maybe<V>;
|
34
34
|
export declare class LeafNode<K, V> {
|
35
35
|
readonly edit: number;
|
36
36
|
readonly hash: number;
|