@fncts/base 0.0.15 → 0.0.16
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 +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
|
}
|