@fncts/base 0.0.15 → 0.0.16
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/_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 +2 -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 +2 -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 +2 -2
- package/_src/data/Tag/definition.ts +3 -2
- package/data/Environment/definition.d.ts +2 -3
- package/data/Tag/constructors.d.ts +1 -1
- package/data/Tag/definition.d.ts +2 -1
- package/package.json +1 -1
@@ -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]}
|
@@ -14,7 +14,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
14
14
|
/**
|
15
15
|
* @tsplus static fncts.TagOps __call
|
16
16
|
*/
|
17
|
-
function makeTag() {
|
18
|
-
return new tsplus_module_1.Tag();
|
17
|
+
function makeTag(id) {
|
18
|
+
return new tsplus_module_1.Tag(id);
|
19
19
|
}
|
20
20
|
//# sourceMappingURL=constructors.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constructors.cjs","mappings":";;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,OAAV,
|
1
|
+
{"version":3,"file":"constructors.cjs","mappings":";;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,OAAV,CAAqBC,EAArB,EAA+B;EACnC,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]}
|
@@ -3,7 +3,7 @@ import * as tsplus_module_1 from "@fncts/base/data/Tag/definition";
|
|
3
3
|
* @tsplus static fncts.TagOps __call
|
4
4
|
*/
|
5
5
|
|
6
|
-
export function makeTag() {
|
7
|
-
return new tsplus_module_1.Tag();
|
6
|
+
export function makeTag(id) {
|
7
|
+
return new tsplus_module_1.Tag(id);
|
8
8
|
}
|
9
9
|
//# sourceMappingURL=constructors.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constructors.mjs","mappings":";AAAA;;;;AAGA,OAAM,SAAUA,OAAV,
|
1
|
+
{"version":3,"file":"constructors.mjs","mappings":";AAAA;;;;AAGA,OAAM,SAAUA,OAAV,CAAqBC,EAArB,EAA+B;EACnC,OAAO,oBAAIC,GAAJ,CAAQD,EAAR,CAAP;AACD","names":["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 {
|
@@ -13,12 +13,11 @@ export declare type EnvSymbol = typeof EnvSymbol;
|
|
13
13
|
* @tsplus companion fncts.EnvironmentOps
|
14
14
|
*/
|
15
15
|
export declare class Environment<R> implements Hashable, Equatable {
|
16
|
-
readonly map: HashMap<Tag<any>,
|
17
|
-
readonly index: number;
|
16
|
+
readonly map: HashMap<Tag<any>, unknown>;
|
18
17
|
cache: HashMap<Tag<any>, unknown>;
|
19
18
|
readonly _typeId: EnvSymbol;
|
20
19
|
readonly [EnvSymbol]: (_: never) => R;
|
21
|
-
constructor(map: HashMap<Tag<any>,
|
20
|
+
constructor(map: HashMap<Tag<any>, unknown>, cache?: HashMap<Tag<any>, unknown>);
|
22
21
|
get [Symbol.hash](): number;
|
23
22
|
[Symbol.equals](that: unknown): boolean;
|
24
23
|
}
|
package/data/Tag/definition.d.ts
CHANGED
@@ -9,10 +9,11 @@ export declare type TagTypeId = typeof TagTypeId;
|
|
9
9
|
* @tsplus companion fncts.TagOps
|
10
10
|
*/
|
11
11
|
export declare class Tag<in out T> implements Hashable, Equatable {
|
12
|
+
readonly id: string;
|
12
13
|
_T: (_: T) => T;
|
13
14
|
readonly _typeId: TagTypeId;
|
14
15
|
private static counter;
|
15
|
-
|
16
|
+
constructor(id: string);
|
16
17
|
get [Symbol.hash](): number;
|
17
18
|
[Symbol.equals](that: unknown): boolean;
|
18
19
|
}
|