@effect-app/infra 0.200.3 → 0.201.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 0.201.0
4
+
5
+ ### Minor Changes
6
+
7
+ - f37bb93: improve filter
8
+
9
+ ### Patch Changes
10
+
11
+ - 0a312c3: update packages
12
+
3
13
  ## 0.200.3
4
14
 
5
15
  ### Patch Changes
@@ -89,13 +89,13 @@ class RepositoryBaseC3 extends RepositoryBaseC2 {
89
89
  save = (...items) => this.saveAndPublish(items);
90
90
  saveWithEvents = events => (...items) => this.saveAndPublish(items, events);
91
91
  q2AndSaveOnePure = (q, pure) => this.q2((0, _effectApp.flow)(q, (0, _query.page)({
92
- limit: 1
92
+ take: 1
93
93
  }))).pipe(_effectApp.Effect.map(_effectApp.ReadonlyArray.toNonEmptyArray), _effectApp.Effect.flatMap(_effectApp.Effect.mapError(() => new _errors.NotFoundError({
94
94
  type: this.itemType,
95
95
  id: q
96
96
  }))), _effectApp.Effect.andThen(_ => (0, _Repository.saveWithPure_)(this, _[0], pure)));
97
97
  q2AndSavePure = (q, pure, batchSize) => this.q2((0, _effectApp.flow)(q, (0, _query.page)({
98
- limit: 1
98
+ take: 1
99
99
  }))).pipe(_effectApp.Effect.andThen(_ => batchSize === undefined ? (0, _Repository.saveManyWithPure_)(this, _, pure) : (0, _Repository.saveManyWithPureBatched_)(this, _, pure, batchSize)));
100
100
  /**
101
101
  * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
@@ -288,6 +288,10 @@ function makeRepo() {
288
288
  yield* $(changeFeed.publish([it, "remove"]));
289
289
  });
290
290
  }
291
+ const query = (repo, q) => {
292
+ const a = Q2.toFilter(q);
293
+ return _effectApp.Effect.flatMap(repo.utils.filter(a), _ => _effectApp.Unify.unify(a.schema ? repo.utils.parseMany2(_, a.schema) : repo.utils.parseMany(_)));
294
+ };
291
295
  const r = {
292
296
  /**
293
297
  * @internal
@@ -328,7 +332,7 @@ function makeRepo() {
328
332
  all,
329
333
  saveAndPublish,
330
334
  removeAndPublish,
331
- q2: q => (0, _query.query)(r, typeof q === "function" ? q((0, _query.make)()) : q)
335
+ q2: q => query(r, typeof q === "function" ? q((0, _query.make)()) : q)
332
336
  };
333
337
  return r;
334
338
  }).pipe(_effectApp.Effect
@@ -1 +1 @@
1
- {"version":3,"file":"RepositoryBase.cjs","names":["_Repository","require","_Store","_Array","_Effect","_filter","_schema","_effectApp","_Pure","_service","_errors","_query","_interopRequireWildcard","Q2","_ContextMapContainer","Q","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RepositoryBaseC","exports","RepositoryBaseC1","itemType","constructor","RepositoryBaseC2","impl","saveAndPublish","removeAndPublish","find","all","utils","changeFeed","mapped","q2","anyQb","QueryBuilder","make","RepositoryBaseC3","id","Effect","andThen","_","mapError","NotFoundError","type","log","evt","AnyPureDSL","removeById","count","filter","map","projectEffect","sync","NonNegativeInt","length","save","items","saveWithEvents","events","q2AndSaveOnePure","q","pure","flow","page","limit","pipe","ReadonlyArray","toNonEmptyArray","flatMap","saveWithPure_","q2AndSavePure","batchSize","undefined","saveManyWithPure_","saveManyWithPureBatched_","handleByIdAndSaveWithPure","req","ctx","byIdAndSaveWithPure","saveManyWithPure","saveAllWithEffectInt","runTerm","item","saveWithPure","f","collect","filterMap","project","queryEffect","parseMany","queryOneEffect","queryLegacy","query","b","fields","queryOne","queryAndSaveOnePureEffect","queryAndSaveOnePure","queryAndSavePureEffect","queryAndSavePure","queryAndSavePureEffectBatched","saveManyWithPureBatched","queryAndSavePureBatched","forEach","chunk_","batch","makeRepo","name","schema","mapFrom","mapTo","where","makeWhere","mapToPersistenceModel","getEtag","mapReverse","_etag","setEtag","mkStore","makeStore","args","gen","$","rctx","context","encode","S","provide","decode","store","makeInitial","config","ContextMapContainer","cms","etag","pubCfg","pub","publishEvents","unit","PubSub","unbounded","allE","concurrency","batching","orDie","structSchema","ast","_tag","union","types","from","pick","encodeId","findEId","Option","findE","flatMapOption","saveAllE","ret","batchSet","asUnit","saveAll","Array","it","Chunk","fromIterable","publish","toArray","remove","cm","parseMany2","tap","select","dec","encMany","array","decMany","xes","makeQuery","withLogSpan","Where","Query","self","f_","makeFilters","makeFilter_","mode","m","isArray","pluralize","s","endsWith","substring","encodeToPM","StoreMaker","withSpan","attributes","partitionValue","makeRepoFunctions","tag","serviceConstants","serviceFunctions","RepositoryBaseImpl","jitM","mkRepo","pm","Cls","makeWith","assignTag","assign","RepositoryDefaultImpl"],"sources":["../../src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"RepositoryBase.cjs","names":["_Repository","require","_Store","_Array","_Effect","_filter","_schema","_effectApp","_Pure","_service","_errors","_query","_interopRequireWildcard","Q2","_ContextMapContainer","Q","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RepositoryBaseC","exports","RepositoryBaseC1","itemType","constructor","RepositoryBaseC2","impl","saveAndPublish","removeAndPublish","find","all","utils","changeFeed","mapped","q2","anyQb","QueryBuilder","make","RepositoryBaseC3","id","Effect","andThen","_","mapError","NotFoundError","type","log","evt","AnyPureDSL","removeById","count","filter","map","projectEffect","sync","NonNegativeInt","length","save","items","saveWithEvents","events","q2AndSaveOnePure","q","pure","flow","page","take","pipe","ReadonlyArray","toNonEmptyArray","flatMap","saveWithPure_","q2AndSavePure","batchSize","undefined","saveManyWithPure_","saveManyWithPureBatched_","handleByIdAndSaveWithPure","req","ctx","byIdAndSaveWithPure","saveManyWithPure","saveAllWithEffectInt","runTerm","item","saveWithPure","f","collect","filterMap","project","queryEffect","parseMany","queryOneEffect","limit","queryLegacy","query","b","fields","queryOne","queryAndSaveOnePureEffect","queryAndSaveOnePure","queryAndSavePureEffect","queryAndSavePure","queryAndSavePureEffectBatched","saveManyWithPureBatched","queryAndSavePureBatched","forEach","chunk_","batch","makeRepo","name","schema","mapFrom","mapTo","where","makeWhere","mapToPersistenceModel","getEtag","mapReverse","_etag","setEtag","mkStore","makeStore","args","gen","$","rctx","context","encode","S","provide","decode","store","makeInitial","config","ContextMapContainer","cms","etag","pubCfg","pub","publishEvents","unit","PubSub","unbounded","allE","concurrency","batching","orDie","structSchema","ast","_tag","union","types","from","pick","encodeId","findEId","Option","findE","flatMapOption","saveAllE","ret","batchSet","asUnit","saveAll","Array","it","Chunk","fromIterable","publish","toArray","remove","repo","toFilter","Unify","unify","parseMany2","cm","tap","select","dec","encMany","array","decMany","xes","makeQuery","withLogSpan","Where","Query","self","f_","makeFilters","makeFilter_","mode","m","isArray","pluralize","s","endsWith","substring","encodeToPM","StoreMaker","withSpan","attributes","partitionValue","makeRepoFunctions","tag","serviceConstants","serviceFunctions","RepositoryBaseImpl","jitM","mkRepo","pm","Cls","makeWith","assignTag","assign","RepositoryDefaultImpl"],"sources":["../../src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -56,18 +56,18 @@ const or = (...operation) => current => new Or({
56
56
  operation: typeof operation[0] === "function" ? operation[0] : operation
57
57
  });
58
58
  exports.or = or;
59
- const order = (field, desc) => current => new Order({
59
+ const order = (field, direction = "ASC") => current => new Order({
60
60
  current,
61
61
  field,
62
- direction: desc ? "DESC" : "ASC"
62
+ direction
63
63
  });
64
64
  exports.order = order;
65
65
  const page = ({
66
- limit,
67
- skip
66
+ skip,
67
+ take
68
68
  }) => current => new Page({
69
69
  current,
70
- limit,
70
+ take,
71
71
  skip
72
72
  });
73
73
  exports.page = page;
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.cjs","names":["_effectApp","require","QId","exports","Symbol","Initial","Data","TaggedClass","constructor","value","Where","And","Or","Page","Order","Project","make","where","operation","current","and","or","order","field","desc","direction","page","limit","skip","project","schema"],"sources":["../../../src/services/query/dsl.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"dsl.cjs","names":["_effectApp","require","QId","exports","Symbol","Initial","Data","TaggedClass","constructor","value","Where","And","Or","Page","Order","Project","make","where","operation","current","and","or","order","field","direction","page","skip","take","project","schema"],"sources":["../../../src/services/query/dsl.ts"],"sourcesContent":[null],"mappings":";;;;;;AAOA,IAAAA,UAAA,GAAAC,OAAA;AASO,MAAMC,GAAG,GAAAC,OAAA,CAAAD,GAAA,GAAGE,MAAM,EAAE;AAsCrB,MAAOC,OAA0C,SAAQC,eAAI,CAACC,WAAW,CAAC,OAAO,CAAuB;EAGnG,CAACL,GAAG;EACbM,YAAA;IACE,KAAK,CAAC;MAAEC,KAAK,EAAE;IAAkB,CAAE,CAAC;EACtC;;AACDN,OAAA,CAAAE,OAAA,GAAAA,OAAA;AAEK,MAAOK,KAAwC,SAAQJ,eAAI,CAACC,WAAW,CAAC,OAAO,CAGnF;EACS,CAACL,GAAG;;AACdC,OAAA,CAAAO,KAAA,GAAAA,KAAA;AAEK,MAAOC,GAAsC,SAAQL,eAAI,CAACC,WAAW,CAAC,KAAK,CAG/E;EACS,CAACL,GAAG;;AACdC,OAAA,CAAAQ,GAAA,GAAAA,GAAA;AAEK,MAAOC,EAAqC,SAAQN,eAAI,CAACC,WAAW,CAAC,IAAI,CAG7E;EACS,CAACL,GAAG;;AACdC,OAAA,CAAAS,EAAA,GAAAA,EAAA;AAEK,MAAOC,IAAuC,SAAQP,eAAI,CAACC,WAAW,CAAC,MAAM,CAIjF;EACS,CAACL,GAAG;;AACdC,OAAA,CAAAU,IAAA,GAAAA,IAAA;AAEK,MAAOC,KACX,SAAQR,eAAI,CAACC,WAAW,CAAC,OAAO,CAI9B;EAGO,CAACL,GAAG;;AACdC,OAAA,CAAAW,KAAA,GAAAA,KAAA;AAEK,MAAOC,OAAgD,SAAQT,eAAI,CAACC,WAAW,CAAC,SAAS,CAG7F;EACS,CAACL,GAAG;;AACdC,OAAA,CAAAY,OAAA,GAAAA,OAAA;AAEM,MAAMC,IAAI,GAAgEA,CAAA,KAAM,IAAIX,OAAO,EAAE;AAAAF,OAAA,CAAAa,IAAA,GAAAA,IAAA;AAE7F,MAAMC,KAAK,GAAgBA,CAAC,GAAGC,SAAgB,KAAMC,OAAY,IAAK,IAAIT,KAAK,CAAC;EAAES,OAAO;EAAED;AAAS,CAAS,CAAC;AAAAf,OAAA,CAAAc,KAAA,GAAAA,KAAA;AAE9G,MAAMG,GAAG,GAAuBA,CAAC,GAAGF,SAAgB,KAAMC,OAAY,IAC3E,IAAIR,GAAG,CAAC;EAAEQ,OAAO;EAAED,SAAS,EAAE,OAAOA,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAGA;AAAS,CAAS,CAAC;AAAAf,OAAA,CAAAiB,GAAA,GAAAA,GAAA;AAEhG,MAAMC,EAAE,GAAuBA,CAAC,GAAGH,SAAgB,KAAMC,OAAY,IAC1E,IAAIP,EAAE,CAAC;EAAEO,OAAO;EAAED,SAAS,EAAE,OAAOA,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,GAAGA,SAAS,CAAC,CAAC,CAAC,GAAGA;AAAS,CAAS,CAAC;AAAAf,OAAA,CAAAkB,EAAA,GAAAA,EAAA;AAE/F,MAAMC,KAAK,GAIhBA,CAACC,KAAK,EAAEC,SAAS,GAAG,KAAK,KAAML,OAAO,IAAK,IAAIL,KAAK,CAAC;EAAEK,OAAO;EAAEI,KAAK;EAAEC;AAAS,CAAE,CAAC;AAAArB,OAAA,CAAAmB,KAAA,GAAAA,KAAA;AAE9E,MAAMG,IAAI,GAGfA,CAAC;EAAEC,IAAI;EAAEC;AAAI,CAAE,KAAMR,OAAO,IAC1B,IAAIN,IAAI,CAAC;EACPM,OAAO;EACPQ,IAAI;EACJD;CACD,CAAC;AAAAvB,OAAA,CAAAsB,IAAA,GAAAA,IAAA;AAEC,MAAMG,OAAO,GAIwBC,MAAM,IAAMV,OAAO,IAAK,IAAIJ,OAAO,CAAC;EAAEI,OAAO;EAAEU;AAAM,CAAE,CAAC;AAAA1B,OAAA,CAAAyB,OAAA,GAAAA,OAAA"}
@@ -3,37 +3,40 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.query = void 0;
6
+ exports.toFilter = void 0;
7
7
  var _Array = require("@effect-app/core/Array");
8
8
  var _effectApp = require("effect-app");
9
+ var _utils = require("effect-app/utils");
9
10
  var _query = require("../query.cjs");
10
11
  /* eslint-disable @typescript-eslint/no-explicit-any */
11
12
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
12
13
 
13
14
  const interpret = _ => {
14
- const values = [];
15
15
  const a = _;
16
- let schema = undefined;
17
- let limit = undefined;
18
- let skip = undefined;
19
- const order = [];
16
+ const data = {
17
+ filter: [],
18
+ schema: undefined,
19
+ limit: undefined,
20
+ skip: undefined,
21
+ order: []
22
+ };
20
23
  const upd = v => {
21
- values.push(...v.filter);
22
- order.push(...v.order);
23
- limit = v.limit;
24
- skip = v.skip;
25
- schema = v.schema;
24
+ data.filter.push(...v.filter);
25
+ data.order.push(...v.order);
26
+ data.limit = v.limit;
27
+ data.skip = v.skip;
28
+ data.schema = v.schema;
26
29
  };
27
30
  (0, _effectApp.pipe)(a, _effectApp.Match.valueTags({
28
31
  value: () => {
29
- // values.push(value)
32
+ // data.filter.push(value)
30
33
  },
31
34
  where: ({
32
35
  current,
33
36
  operation
34
37
  }) => {
35
38
  upd(interpret(current));
36
- values.push({
39
+ data.filter.push({
37
40
  t: "where",
38
41
  path: operation[0],
39
42
  op: operation.length === 2 ? "eq" : operation[1],
@@ -46,12 +49,12 @@ const interpret = _ => {
46
49
  }) => {
47
50
  upd(interpret(current));
48
51
  if (typeof operation === "function") {
49
- values.push({
52
+ data.filter.push({
50
53
  t: "and-scope",
51
54
  result: interpret(operation((0, _query.make)())).filter
52
55
  });
53
56
  } else {
54
- values.push({
57
+ data.filter.push({
55
58
  t: "and",
56
59
  path: operation[0],
57
60
  op: operation.length === 2 ? "eq" : operation[1],
@@ -65,12 +68,12 @@ const interpret = _ => {
65
68
  }) => {
66
69
  upd(interpret(current));
67
70
  if (typeof operation === "function") {
68
- values.push({
71
+ data.filter.push({
69
72
  t: "or-scope",
70
73
  result: interpret(operation((0, _query.make)())).filter
71
74
  });
72
75
  } else {
73
- values.push({
76
+ data.filter.push({
74
77
  t: "or",
75
78
  path: operation[0],
76
79
  op: operation.length === 2 ? "eq" : operation[1],
@@ -79,29 +82,29 @@ const interpret = _ => {
79
82
  }
80
83
  },
81
84
  order: ({
82
- current
85
+ current,
86
+ direction,
87
+ field
83
88
  }) => {
84
89
  upd(interpret(current));
90
+ data.order.push({
91
+ key: field,
92
+ direction
93
+ });
85
94
  },
86
95
  page: v => {
87
96
  upd(interpret(v.current));
88
- limit = v.limit;
89
- skip = v.skip;
97
+ data.limit = v.take;
98
+ data.skip = v.skip;
90
99
  },
91
100
  project: v => {
92
101
  upd(interpret(v.current));
93
- schema = v.schema;
102
+ data.schema = v.schema;
94
103
  }
95
104
  }));
96
- return {
97
- filter: values,
98
- limit,
99
- skip,
100
- schema,
101
- order
102
- };
105
+ return data;
103
106
  };
104
- const query = (repo, q) => {
107
+ const toFilter = q => {
105
108
  // TODO: Native interpreter for each db adapter, instead of the intermediate "new-kid" format
106
109
  const a = interpret(q);
107
110
  const schema = a.schema;
@@ -115,15 +118,17 @@ const query = (repo, q) => {
115
118
  select = t.propertySignatures.map(_ => _.name);
116
119
  }
117
120
  }
118
- return _effectApp.Effect.flatMap(repo.utils.filter({
121
+ return (0, _utils.dropUndefinedT)({
119
122
  limit: a.limit,
120
123
  skip: a.skip,
121
124
  select: _effectApp.Option.getOrUndefined((0, _Array.toNonEmptyArray)(select)),
125
+ schema,
126
+ order: _effectApp.Option.getOrUndefined((0, _Array.toNonEmptyArray)(a.order)),
122
127
  filter: a.filter.length ? {
123
128
  type: "new-kid",
124
129
  build: () => a.filter
125
130
  } : undefined
126
- }), _ => _effectApp.Unify.unify(schema ? repo.utils.parseMany2(_, schema) : repo.utils.parseMany(_)));
131
+ });
127
132
  };
128
- exports.query = query;
133
+ exports.toFilter = toFilter;
129
134
  //# sourceMappingURL=new-kid-interpreter.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"new-kid-interpreter.cjs","names":["_Array","require","_effectApp","_query","interpret","_","values","a","schema","undefined","limit","skip","order","upd","v","push","filter","pipe","Match","valueTags","value","where","current","operation","t","path","op","length","and","result","make","or","page","project","query","repo","q","select","ast","S","AST","isTransform","from","isTypeLiteral","propertySignatures","map","name","Effect","flatMap","utils","Option","getOrUndefined","toNonEmptyArray","type","build","Unify","unify","parseMany2","parseMany","exports"],"sources":["../../../src/services/query/new-kid-interpreter.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"new-kid-interpreter.cjs","names":["_Array","require","_effectApp","_utils","_query","interpret","_","a","data","filter","schema","undefined","limit","skip","order","upd","v","push","pipe","Match","valueTags","value","where","current","operation","t","path","op","length","and","result","make","or","direction","field","key","page","take","project","toFilter","q","select","ast","S","AST","isTransform","from","isTypeLiteral","propertySignatures","map","name","dropUndefinedT","Option","getOrUndefined","toNonEmptyArray","type","build","exports"],"sources":["../../../src/services/query/new-kid-interpreter.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -3,32 +3,69 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TestRepo = void 0;
6
+ exports.s = exports.SomeService = void 0;
7
7
  var _effectApp = require("effect-app");
8
+ var _service = require("effect-app/service");
9
+ var _utils = require("effect-app/utils");
10
+ var _util = require("util");
8
11
  var _query = require("./query.cjs");
9
12
  var _RepositoryBase = require("./RepositoryBase.cjs");
10
- var _RequestContextContainer = require("./RequestContextContainer.cjs");
11
- const s = _effectApp.S.struct({
12
- id: _effectApp.S.string,
13
- displayName: _effectApp.S.string,
14
- n: _effectApp.S.Date
13
+ var _Memory = require("./Store/Memory.cjs");
14
+ class s extends _effectApp.S.Class()({
15
+ id: _effectApp.S.StringId.withDefault,
16
+ displayName: _effectApp.S.NonEmptyString255,
17
+ n: _effectApp.S.Date.withDefault
18
+ }) {}
19
+ exports.s = s;
20
+ const MakeSomeService = _effectApp.Effect.succeed({
21
+ a: 1
15
22
  });
16
- class TestRepo extends (0, _RepositoryBase.RepositoryDefaultImpl)()()("test", s) {}
17
- exports.TestRepo = TestRepo;
18
- const a = (0, _effectApp.pipe)((0, _query.make)(), (0, _query.where)("displayName", "Verona"), (0, _query.or)((0, _effectApp.flow)((0, _query.where)("displayName", "Riley")
19
- // and("resource._tag", "Printer")
20
- )), (0, _query.order)("displayName"));
21
- const q = (0, _effectApp.pipe)(a,
22
- // page(2, 1)
23
- (0, _query.project)(
24
- // User.struct.pipe(S.pick("displayName"))
25
- _effectApp.S.transformOrFail(_effectApp.S.struct({
23
+ class SomeService extends (0, _service.TagClassMakeId)("SomeService", MakeSomeService)() {}
24
+ exports.SomeService = SomeService;
25
+ const q = (0, _effectApp.pipe)((0, _query.make)(),
26
+ // provided automatically inside Repo.q2()
27
+ (0, _query.where)("displayName", "Verona"), (0, _query.or)((0, _effectApp.flow)((0, _query.where)("displayName", "Riley"), (0, _query.and)("n", "gt", "2021-01-01T00:00:00Z") // TODO: work with To type translation, so Date?
28
+ )), (0, _query.order)("displayName"), (0, _query.page)({
29
+ take: 10
30
+ }), (0, _query.project)(_effectApp.S.transformOrFail(_effectApp.S.struct({
26
31
  displayName: _effectApp.S.string
27
32
  }),
28
- // for projection performance benefit, this should be limited to the fields interested
29
- _effectApp.S.struct({
30
- displayName: _effectApp.S.string
31
- }), _ => _effectApp.Effect.andThen(_RequestContextContainer.RequestContextContainer, _), () => _effectApp.Effect.die(new Error("not implemented")))));
32
- console.log(q);
33
- console.log(TestRepo.q2(() => q));
33
+ // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
34
+ _effectApp.S.struct((0, _utils.pick)(s.fields, "displayName")), _ => _effectApp.Effect.andThen(SomeService, _), () => _effectApp.Effect.die(new Error("not implemented")))));
35
+ it("works", () => {
36
+ console.log("raw", (0, _util.inspect)(q, undefined, 25));
37
+ const interpreted = (0, _query.toFilter)(q);
38
+ console.log("interpreted", (0, _util.inspect)(interpreted, undefined, 25));
39
+ const filtersBuilt = interpreted.filter.build();
40
+ console.log("filtersBuilt", (0, _util.inspect)(filtersBuilt, undefined, 25));
41
+ const items = [new s({
42
+ displayName: _effectApp.S.NonEmptyString255("Verona"),
43
+ n: new Date("2020-01-01T00:00:00Z")
44
+ }), new s({
45
+ displayName: _effectApp.S.NonEmptyString255("Riley")
46
+ }), new s({
47
+ displayName: _effectApp.S.NonEmptyString255("Riley"),
48
+ n: new Date("2020-01-01T00:00:00Z")
49
+ })].map(_ => _effectApp.S.encodeSync(s)(_));
50
+ const processed = (0, _Memory.memFilter)(interpreted)(items);
51
+ expect(processed).toEqual(items.slice(0, 2).toReversed().map(({
52
+ displayName
53
+ }) => ({
54
+ displayName
55
+ })));
56
+ });
57
+ it.skip("works with repo", () => {
58
+ class TestRepo extends (0, _RepositoryBase.RepositoryDefaultImpl)()()("test", s) {}
59
+ const q1 = TestRepo.q2(() => q);
60
+ // same as above, but with the `flow` helper
61
+ const q2 = TestRepo.q2((0, _effectApp.flow)((0, _query.where)("displayName", "Verona"), (0, _query.or)((0, _effectApp.flow)((0, _query.where)("displayName", "Riley"), (0, _query.and)("n", "gt", "2021-01-01T00:00:00Z") // TODO: work with To type translation, so Date?
62
+ )), (0, _query.order)("displayName"), (0, _query.page)({
63
+ take: 10
64
+ }), (0, _query.project)(_effectApp.S.transformOrFail(_effectApp.S.struct({
65
+ displayName: _effectApp.S.string
66
+ }),
67
+ // for projection performance benefit, this should be limited to the fields interested, and leads to SELECT fields
68
+ _effectApp.S.struct((0, _utils.pick)(s.fields, "displayName")), _ => _effectApp.Effect.andThen(SomeService, _), () => _effectApp.Effect.die(new Error("not implemented"))))));
69
+ expect([q1, q2]).toEqual([q1, q1]);
70
+ });
34
71
  //# sourceMappingURL=query.test.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.test.cjs","names":["_effectApp","require","_query","_RepositoryBase","_RequestContextContainer","s","S","struct","id","string","displayName","n","Date","TestRepo","RepositoryDefaultImpl","exports","a","pipe","make","where","or","flow","order","q","project","transformOrFail","_","Effect","andThen","RequestContextContainer","die","Error","console","log","q2"],"sources":["../../src/services/query.test.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AAEA,MAAMI,CAAC,GAAGC,YAAC,CAACC,MAAM,CAAC;EAAEC,EAAE,EAAEF,YAAC,CAACG,MAAM;EAAEC,WAAW,EAAEJ,YAAC,CAACG,MAAM;EAAEE,CAAC,EAAEL,YAAC,CAACM;AAAI,CAAE,CAAC;AAGhE,MAAOC,QAAS,SAAQ,IAAAC,qCAAqB,GAAY,EAAgD,CAC7G,MAAM,EACNT,CAAC,CACF;AAAGU,OAAA,CAAAF,QAAA,GAAAA,QAAA;AAEJ,MAAMG,CAAC,GAAG,IAAAC,eAAI,EACZ,IAAAC,WAAI,GAAgD,EACpD,IAAAC,YAAK,EAAC,aAAa,EAAE,QAAQ,CAAC,EAC9B,IAAAC,SAAE,EAAC,IAAAC,eAAI,EACL,IAAAF,YAAK,EAAC,aAAa,EAAE,OAAO;AAC5B;CACD,CAAC,EACF,IAAAG,YAAK,EAAC,aAAa,CAAC,CACrB;AACD,MAAMC,CAAC,GAAG,IAAAN,eAAI,EACZD,CAAC;AACD;AACA,IAAAQ,cAAO;AACL;AACAlB,YAAC,CAACmB,eAAe,CACfnB,YAAC,CAACC,MAAM,CAAC;EAAEG,WAAW,EAAEJ,YAAC,CAACG;AAAM,CAAE,CAAC;AAAE;AACrCH,YAAC,CAACC,MAAM,CAAC;EAAEG,WAAW,EAAEJ,YAAC,CAACG;AAAM,CAAE,CAAC,EAClCiB,CAAC,IAAKC,iBAAM,CAACC,OAAO,CAACC,gDAAuB,EAAEH,CAAC,CAAC,EACjD,MAAMC,iBAAM,CAACG,GAAG,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAC/C,CACF,CACF;AACDC,OAAO,CAACC,GAAG,CAACV,CAAC,CAAC;AACdS,OAAO,CAACC,GAAG,CAACpB,QAAQ,CAACqB,EAAE,CAAC,MAAMX,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"query.test.cjs","names":["_effectApp","require","_service","_utils","_util","_query","_RepositoryBase","_Memory","s","S","Class","id","StringId","withDefault","displayName","NonEmptyString255","n","Date","exports","MakeSomeService","Effect","succeed","a","SomeService","TagClassMakeId","q","pipe","make","where","or","flow","and","order","page","take","project","transformOrFail","struct","string","pick","fields","_","andThen","die","Error","it","console","log","inspect","undefined","interpreted","toFilter","filtersBuilt","filter","build","items","map","encodeSync","processed","memFilter","expect","toEqual","slice","toReversed","skip","TestRepo","RepositoryDefaultImpl","q1","q2"],"sources":["../../src/services/query.test.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAEM,MAAOO,CACX,SAAQC,YAAC,CAACC,KAAK,EAAK,CAAC;EAAEC,EAAE,EAAEF,YAAC,CAACG,QAAQ,CAACC,WAAW;EAAEC,WAAW,EAAEL,YAAC,CAACM,iBAAiB;EAAEC,CAAC,EAAEP,YAAC,CAACQ,IAAI,CAACJ;AAAW,CAAE,CAAC;AAC7GK,OAAA,CAAAV,CAAA,GAAAA,CAAA;AAKF,MAAMW,eAAe,GAAGC,iBAAM,CAACC,OAAO,CAAC;EAAEC,CAAC,EAAE;AAAC,CAAE,CAAC;AAC1C,MAAOC,WAAY,SAAQ,IAAAC,uBAAc,EAAC,aAAa,EAAEL,eAAe,CAAC,EAAe;AAAGD,OAAA,CAAAK,WAAA,GAAAA,WAAA;AAEjG,MAAME,CAAC,GAAG,IAAAC,eAAI,EACZ,IAAAC,WAAI,GAAU;AAAE;AAChB,IAAAC,YAAK,EAAC,aAAa,EAAE,QAAQ,CAAC,EAC9B,IAAAC,SAAE,EAAC,IAAAC,eAAI,EACL,IAAAF,YAAK,EAAC,aAAa,EAAE,OAAO,CAAC,EAC7B,IAAAG,UAAG,EAAC,GAAG,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;CACxC,CAAC,EACF,IAAAC,YAAK,EAAC,aAAa,CAAC,EACpB,IAAAC,WAAI,EAAC;EAAEC,IAAI,EAAE;AAAE,CAAE,CAAC,EAClB,IAAAC,cAAO,EACL1B,YAAC,CAAC2B,eAAe,CACf3B,YAAC,CAAC4B,MAAM,CAAC;EAAEvB,WAAW,EAAEL,YAAC,CAAC6B;AAAM,CAAE,CAAC;AAAE;AACrC7B,YAAC,CAAC4B,MAAM,CAAC,IAAAE,WAAI,EAAC/B,CAAC,CAACgC,MAAM,EAAE,aAAa,CAAC,CAAC,EACtCC,CAAC,IAAKrB,iBAAM,CAACsB,OAAO,CAACnB,WAAW,EAAEkB,CAAC,CAAC,EACrC,MAAMrB,iBAAM,CAACuB,GAAG,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAC/C,CACF,CACF;AAEDC,EAAE,CAAC,OAAO,EAAE,MAAK;EACfC,OAAO,CAACC,GAAG,CAAC,KAAK,EAAE,IAAAC,aAAO,EAACvB,CAAC,EAAEwB,SAAS,EAAE,EAAE,CAAC,CAAC;EAC7C,MAAMC,WAAW,GAAG,IAAAC,eAAQ,EAAC1B,CAAC,CAAC;EAC/BqB,OAAO,CAACC,GAAG,CAAC,aAAa,EAAE,IAAAC,aAAO,EAACE,WAAW,EAAED,SAAS,EAAE,EAAE,CAAC,CAAC;EAC/D,MAAMG,YAAY,GAAGF,WAAW,CAACG,MAAM,CAACC,KAAK,EAAE;EAC/CR,OAAO,CAACC,GAAG,CAAC,cAAc,EAAE,IAAAC,aAAO,EAACI,YAAY,EAAEH,SAAS,EAAE,EAAE,CAAC,CAAC;EACjE,MAAMM,KAAK,GAAG,CACZ,IAAI/C,CAAC,CAAC;IAAEM,WAAW,EAAEL,YAAC,CAACM,iBAAiB,CAAC,QAAQ,CAAC;IAAEC,CAAC,EAAE,IAAIC,IAAI,CAAC,sBAAsB;EAAC,CAAE,CAAC,EAC1F,IAAIT,CAAC,CAAC;IAAEM,WAAW,EAAEL,YAAC,CAACM,iBAAiB,CAAC,OAAO;EAAC,CAAE,CAAC,EACpD,IAAIP,CAAC,CAAC;IAAEM,WAAW,EAAEL,YAAC,CAACM,iBAAiB,CAAC,OAAO,CAAC;IAAEC,CAAC,EAAE,IAAIC,IAAI,CAAC,sBAAsB;EAAC,CAAE,CAAC,CAC1F,CACEuC,GAAG,CAAEf,CAAC,IAAKhC,YAAC,CAACgD,UAAU,CAACjD,CAAC,CAAC,CAACiC,CAAC,CAAC,CAAC;EAEjC,MAAMiB,SAAS,GAAG,IAAAC,iBAAS,EAACT,WAAW,CAAC,CAACK,KAAK,CAAC;EAE/CK,MAAM,CAACF,SAAS,CAAC,CAACG,OAAO,CAACN,KAAK,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,UAAU,EAAE,CAACP,GAAG,CAAC,CAAC;IAAE1C;EAAW,CAAE,MAAM;IAAEA;EAAW,CAAE,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC;AAEF+B,EAAE,CAACmB,IAAI,CAAC,iBAAiB,EAAE,MAAK;EAC9B,MAAMC,QAAS,SAAQ,IAAAC,qCAAqB,GAAY,EAAiD,CACvG,MAAM,EACN1D,CAAC,CACF;EACD,MAAM2D,EAAE,GAAGF,QAAQ,CAACG,EAAE,CAAC,MAAM3C,CAAC,CAAC;EAE/B;EACA,MAAM2C,EAAE,GAAGH,QAAQ,CAACG,EAAE,CAAC,IAAAtC,eAAI,EACzB,IAAAF,YAAK,EAAC,aAAa,EAAE,QAAQ,CAAC,EAC9B,IAAAC,SAAE,EAAC,IAAAC,eAAI,EACL,IAAAF,YAAK,EAAC,aAAa,EAAE,OAAO,CAAC,EAC7B,IAAAG,UAAG,EAAC,GAAG,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC;GACxC,CAAC,EACF,IAAAC,YAAK,EAAC,aAAa,CAAC,EACpB,IAAAC,WAAI,EAAC;IAAEC,IAAI,EAAE;EAAE,CAAE,CAAC,EAClB,IAAAC,cAAO,EACL1B,YAAC,CAAC2B,eAAe,CACf3B,YAAC,CAAC4B,MAAM,CAAC;IAAEvB,WAAW,EAAEL,YAAC,CAAC6B;EAAM,CAAE,CAAC;EAAE;EACrC7B,YAAC,CAAC4B,MAAM,CAAC,IAAAE,WAAI,EAAC/B,CAAC,CAACgC,MAAM,EAAE,aAAa,CAAC,CAAC,EACtCC,CAAC,IAAKrB,iBAAM,CAACsB,OAAO,CAACnB,WAAW,EAAEkB,CAAC,CAAC,EACrC,MAAMrB,iBAAM,CAACuB,GAAG,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAC/C,CACF,CACF,CAAC;EAEFgB,MAAM,CAAC,CAACO,EAAE,EAAEC,EAAE,CAAC,CAAC,CAACP,OAAO,CAAC,CAACM,EAAE,EAAEA,EAAE,CAAC,CAAC;AACpC,CAAC,CAAC"}
@@ -13,6 +13,6 @@ export declare function makeMemQueue<Evt extends {
13
13
  _tag: string;
14
14
  }, EvtE, DrainEvtE>(queueName: string, queueDrainName: string, schema: S.Schema<Evt, EvtE>, drainSchema: S.Schema<DrainEvt, DrainEvtE>): Effect.Effect<{
15
15
  publish: (messages_0: Evt, ...messages_1: Evt[]) => Effect.Effect<Fiber.RuntimeFiber<void[], never>, never, never>;
16
- makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>) => Effect.Effect<Fiber.RuntimeFiber<never, never>, never, RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | import("effect/Scope").Scope | Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>>;
16
+ makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>) => Effect.Effect<Fiber.RuntimeFiber<never, never>, never, import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>>;
17
17
  }, never, RequestContextContainer | MemQueue>;
18
18
  //# sourceMappingURL=memQueue.d.ts.map
@@ -12,7 +12,7 @@ export declare function makeServiceBusQueue<Evt extends {
12
12
  id: StringId;
13
13
  _tag: string;
14
14
  }, EvtE, DrainEvtE>(_queueName: string, queueDrainName: string, schema: S.Schema<Evt, EvtE>, drainSchema: S.Schema<DrainEvt, DrainEvtE>): Effect.Effect<{
15
- makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>) => Effect.Effect<void, never, RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | import("effect/Scope").Scope | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, import("@azure/service-bus").ServiceBusReceiver>>;
15
+ makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>) => Effect.Effect<void, never, import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, import("@azure/service-bus").ServiceBusReceiver>>;
16
16
  publish: (messages_0: Evt, ...messages_1: Evt[]) => Effect.Effect<import("effect/Fiber").RuntimeFiber<void, never>, never, never>;
17
17
  }, never, RequestContextContainer | import("@azure/service-bus").ServiceBusReceiver | import("@azure/service-bus").ServiceBusSender>;
18
18
  /**
@@ -284,7 +284,7 @@ export declare function makeRepo<PM extends {
284
284
  config?: Omit<StoreConfig<PM>, "partitionValue"> & {
285
285
  partitionValue?: (a: PM) => string;
286
286
  };
287
- }) => Effect.Effect<Repository<T, PM, Evt, ItemType>, E, R | StoreMaker | ContextMapContainer | RInitial | R2>;
287
+ }) => Effect.Effect<Repository<T, PM, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
288
288
  Where: (makeWhere: (f: {
289
289
  <TFieldName extends import("../filter/types/path/eager.js").Path<PM>, A extends import("../filter/types/path/eager.js").PathValue<PM, TFieldName>, Val>(path: TFieldName, value: (v: A) => Val): {
290
290
  key: string;
@@ -310,7 +310,7 @@ export declare function makeRepo<PM extends {
310
310
  value: A_1;
311
311
  readonly S: PM;
312
312
  };
313
- }) => Where | readonly [Where, ...Where[]], mode?: "and" | "or" | undefined) => Filter<PM>;
313
+ }) => Where | readonly [Where, ...Where[]], mode?: "or" | "and" | undefined) => Filter<PM>;
314
314
  Query: (fn: (f: Q.FilterTest<PM>, fields: Q.Filter<PM, never>) => Q.QueryBuilder<PM>) => Q.QueryBuilder<PM>;
315
315
  Q2: Query<Omit<PM, "_etag">>;
316
316
  };
@@ -359,7 +359,7 @@ export declare function makeStore<PM extends {
359
359
  id: unknown;
360
360
  }>(name: ItemType, schema: Schema<T, E, R>, mapTo: (e: E, etag: string | undefined) => PM) => <RInitial = never, EInitial = never>(makeInitial?: Effect<readonly T[], EInitial, RInitial> | undefined, config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
361
361
  partitionValue?: (a: PM) => string;
362
- }) | undefined) => Effect.Effect<import("./Store.js").Store<PM, string>, EInitial, R | StoreMaker | RInitial>;
362
+ }) | undefined) => Effect.Effect<import("./Store.js").Store<PM, string>, EInitial, StoreMaker | R | RInitial>;
363
363
  export interface Repos<T extends {
364
364
  id: unknown;
365
365
  }, PM extends {