@effect-dynamodb/geo 1.39.0 → 1.41.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/README.md CHANGED
@@ -13,7 +13,7 @@ Geospatial index and proximity search for [`effect-dynamodb`](https://www.npmjs.
13
13
  pnpm add @effect-dynamodb/geo effect-dynamodb effect
14
14
  ```
15
15
 
16
- `effect` (`^4.1.0`) and `effect-dynamodb` are peer dependencies. Each release of this package requires the same version of `effect-dynamodb`, so upgrade the two together.
16
+ `effect` (`^4.1.3`) and `effect-dynamodb` are peer dependencies. Each release of this package requires the same version of `effect-dynamodb`, so upgrade the two together.
17
17
 
18
18
  ## What it does
19
19
 
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { type Context, Effect, type Schema } from "effect";
10
10
  import type { ConcurrentModification, DynamoClient, DynamoClientError, DynamoSchema, KeyComposer, OptimisticLockError, Table, TransactionOverflow, UniqueConstraintViolation, ValidationError } from "effect-dynamodb";
11
+ import * as _GeoSearch from "./GeoSearch.js";
11
12
  import * as H3 from "./H3.js";
12
13
  import type { LatLng } from "./Spherical.js";
13
14
  export type { LatLng } from "./Spherical.js";
@@ -72,10 +73,12 @@ export interface GeoEntity<A, P> {
72
73
  readonly recordSchema: Schema.Codec<any>;
73
74
  };
74
75
  /**
75
- * The entity's composite key-form normaliser — search must compose GSI keys
76
- * exactly as `put` wrote them (#111).
76
+ * The key form of a DOMAIN record — search must compose GSI keys exactly as
77
+ * `put` wrote them (#111), from the key form of the values `put` stores.
77
78
  */
78
- readonly _keyForm: (record: Record<string, unknown>) => Record<string, unknown>;
79
+ readonly _domainKeyForm: (record: Record<string, unknown>) => Record<string, unknown>;
80
+ /** `Entity._givenValues`: how a search's `pkFilter` is read (`GeoSearch.givenValues`). */
81
+ readonly _givenValues?: _GeoSearch.GivesValues["_givenValues"];
79
82
  readonly put: (input: A) => P;
80
83
  }
81
84
  export interface GeoIndex<A, P> {
@@ -1 +1 @@
1
- {"version":3,"file":"GeoIndex.d.ts","sourceRoot":"","sources":["../src/GeoIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoIndex.d.ts","sourceRoot":"","sources":["../src/GeoIndex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeoIndex.js","sourceRoot":"","sources":["../src/GeoIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoIndex.js","sourceRoot":"","sources":["../src/GeoIndex.ts"],"names":[],"mappings":"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"}
@@ -21,16 +21,38 @@ export interface SearchConfig<A> {
21
21
  readonly recordSchema: Schema.Codec<any>;
22
22
  };
23
23
  /**
24
- * The entity's composite key-form normaliser. Search composes GSI keys for
25
- * rows written by `Entity.put`, so both sides must use the same one (#111).
24
+ * The key form of a DOMAIN record (`Entity._domainKeyForm`). Search composes
25
+ * GSI keys for rows written by `Entity.put`, so it composes the key form of
26
+ * the values `put` stores for its domain values (#111).
26
27
  */
27
- readonly _keyForm: (record: Record<string, unknown>) => Record<string, unknown>;
28
- };
28
+ readonly _domainKeyForm: (record: Record<string, unknown>) => Record<string, unknown>;
29
+ } & GivesValues;
29
30
  readonly indexDef: KeyComposer.IndexDefinition;
30
31
  readonly coordinates: (item: A) => Coordinates | undefined;
31
32
  readonly fields: GeoFields;
32
33
  readonly bucketMs: number;
33
34
  }
35
+ /** @internal What {@link givenValues} needs of an entity. */
36
+ export type GivesValues = {
37
+ /**
38
+ * `Entity._givenValues`: a caller's record as a plain object, its own properties, and each of
39
+ * `names` they lack read by name where they lack one. Absent on a hand-made entity, whose records
40
+ * are read by their own properties alone.
41
+ */
42
+ readonly _givenValues?: ((record: object, names: ReadonlyArray<string>) => Record<string, unknown>) | undefined;
43
+ };
44
+ /**
45
+ * @internal What a caller's filter gives, as a plain object: a spread of it, as 1.40.0 copied it,
46
+ * and, only where that lacks one of `names` (the composites the search needs of it, where 1.40.0
47
+ * failed: "Missing composite attribute"), each it lacks read by name, from a getter, its prototype
48
+ * or a proxy (`Entity._givenValues`). A name whose read throws, from a getter the filter inherits,
49
+ * is a property of the copy that throws again when read: the search fails with a `ValidationError`
50
+ * naming it. So the copy is added to, never spread. Anything but an object is copied as a spread
51
+ * copies it.
52
+ */
53
+ export declare const givenValues: (entity: GivesValues, record: object | undefined, names: ReadonlyArray<string>) => Record<string, unknown>;
54
+ /** @internal Stores `value` under `name` as `record`'s own property, `__proto__` included. */
55
+ export declare const setOwnValue: (record: Record<string, unknown>, name: string, value: unknown) => void;
34
56
  /**
35
57
  * Search for items near a geographic point within a given radius.
36
58
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GeoSearch.d.ts","sourceRoot":"","sources":["../src/GeoSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAS,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAExF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIxF,8EAA8E;AAC9E,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAA;QAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;QACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;QAC7D,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SAAE,CAAA;QAC9D;;;WAGG;QACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAChF,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAA;IAC9C,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,WAAW,GAAG,SAAS,CAAA;IAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAID;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,SAAS,aAAa,KACrB,MAAM,CAAC,MAAM,CACd,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtB,iBAAiB,GAAG,eAAe,EACnC,YAAY,GAAG,KAAK,CAAC,WAAW,CAoK9B,CAAA"}
1
+ {"version":3,"file":"GeoSearch.d.ts","sourceRoot":"","sources":["../src/GeoSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAS,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAExF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAIxF,8EAA8E;AAC9E,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAA;QAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;QACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;QAC7D,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SAAE,CAAA;QAC9D;;;;WAIG;QACH,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACtF,GAAG,WAAW,CAAA;IACf,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAA;IAC9C,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,WAAW,GAAG,SAAS,CAAA;IAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAID,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAClB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC3E,SAAS,CAAA;CACd,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,WAAW,EACnB,QAAQ,MAAM,GAAG,SAAS,EAC1B,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAGxB,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,MAAM,EACZ,OAAO,OAAO,KACb,IAOF,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,QAAQ,YAAY,CAAC,CAAC,CAAC,EACvB,SAAS,aAAa,KACrB,MAAM,CAAC,MAAM,CACd,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtB,iBAAiB,GAAG,eAAe,EACnC,YAAY,GAAG,KAAK,CAAC,WAAW,CAmL9B,CAAA"}
package/dist/GeoSearch.js CHANGED
@@ -12,6 +12,29 @@ import * as h3 from "h3-js";
12
12
  import * as H3 from "./H3.js";
13
13
  import * as Spherical from "./Spherical.js";
14
14
  const H3_RESOLUTION_PRECISE = 15;
15
+ /**
16
+ * @internal What a caller's filter gives, as a plain object: a spread of it, as 1.40.0 copied it,
17
+ * and, only where that lacks one of `names` (the composites the search needs of it, where 1.40.0
18
+ * failed: "Missing composite attribute"), each it lacks read by name, from a getter, its prototype
19
+ * or a proxy (`Entity._givenValues`). A name whose read throws, from a getter the filter inherits,
20
+ * is a property of the copy that throws again when read: the search fails with a `ValidationError`
21
+ * naming it. So the copy is added to, never spread. Anything but an object is copied as a spread
22
+ * copies it.
23
+ */
24
+ export const givenValues = (entity, record, names) => {
25
+ if (record === undefined)
26
+ return {};
27
+ return entity._givenValues === undefined ? { ...record } : entity._givenValues(record, names);
28
+ };
29
+ /** @internal Stores `value` under `name` as `record`'s own property, `__proto__` included. */
30
+ export const setOwnValue = (record, name, value) => {
31
+ Object.defineProperty(record, name, {
32
+ value,
33
+ writable: true,
34
+ enumerable: true,
35
+ configurable: true,
36
+ });
37
+ };
15
38
  /**
16
39
  * Search for items near a geographic point within a given radius.
17
40
  *
@@ -69,7 +92,8 @@ export const nearby = (config, options) => Effect.gen(function* () {
69
92
  // Group search cells by parent cell — when search resolution is low,
70
93
  // multiple search cells may map to the same parent cell at parentResolution
71
94
  const parentResolution = fields.parentCell.resolution;
72
- const queryConfigs = timePartitions.flatMap((partition) => sortedChunks
95
+ // `pkFilter` is the caller's: a value no key can hold is a ValidationError.
96
+ const composeQueryConfigs = () => timePartitions.flatMap((partition) => sortedChunks
73
97
  .map((chunk) => {
74
98
  const firstCell = chunk[0];
75
99
  const lastCell = chunk[chunk.length - 1];
@@ -89,18 +113,20 @@ export const nearby = (config, options) => Effect.gen(function* () {
89
113
  // a string on both sides, but a `timePartition: Schema.NumberFromString`
90
114
  // (a natural choice, since `computeTimePartition` returns a decimal
91
115
  // string) would compose an unpadded key the write never wrote (#111).
92
- const pkCompositesKeyForm = entity._keyForm({
93
- ...pkFilter,
94
- [fields.parentCell.field]: parentCell,
95
- [fields.timePartition.field]: partition,
96
- });
116
+ // The filter gives the composites the search doesn't compute: the parent cell and the
117
+ // time partition are set here, so the filter is never asked for them.
118
+ const pkComposites = givenValues(entity, pkFilter, indexDef.pk.composite.filter((attr) => attr !== fields.parentCell.field && attr !== fields.timePartition.field));
119
+ setOwnValue(pkComposites, fields.parentCell.field, parentCell);
120
+ setOwnValue(pkComposites, fields.timePartition.field, partition);
121
+ const pkCompositesKeyForm = entity._domainKeyForm(pkComposites);
97
122
  const pkValue = KeyComposer.composePk(entity._schema, entity.entityType, indexDef, pkCompositesKeyForm);
98
123
  // Compose full SK values with schema prefix (must match stored SK format)
99
- const lower = KeyComposer.composeSk(entity._schema, entity.entityType, 1, indexDef, entity._keyForm({ [fields.cell.field]: lowerCell }));
100
- const upper = KeyComposer.composeSk(entity._schema, entity.entityType, 1, indexDef, entity._keyForm({ [fields.cell.field]: upperCell }));
124
+ const lower = KeyComposer.composeSk(entity._schema, entity.entityType, 1, indexDef, entity._domainKeyForm({ [fields.cell.field]: lowerCell }));
125
+ const upper = KeyComposer.composeSk(entity._schema, entity.entityType, 1, indexDef, entity._domainKeyForm({ [fields.cell.field]: upperCell }));
101
126
  return { pkValue, lower, upper };
102
127
  })
103
128
  .filter((q) => q !== undefined));
129
+ const queryConfigs = yield* Query.orRefusal({ name: "GeoIndex.nearby", target: entity.entityType }, () => Effect.succeed(composeQueryConfigs()), (refusal) => Effect.fail(refusal));
104
130
  // Step 8: Build and execute all queries in parallel
105
131
  const allItems = yield* Effect.forEach(queryConfigs, (qc) => {
106
132
  const query = Query.make({
@@ -1 +1 @@
1
- {"version":3,"file":"GeoSearch.js","sourceRoot":"","sources":["../src/GeoSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoSearch.js","sourceRoot":"","sources":["../src/GeoSearch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-dynamodb/geo",
3
- "version": "1.39.0",
3
+ "version": "1.41.0",
4
4
  "description": "Geospatial index and search for effect-dynamodb using H3 hexagonal grid",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,15 +46,15 @@
46
46
  "h3-js": "^4.2.1"
47
47
  },
48
48
  "peerDependencies": {
49
- "effect": "^4.1.0",
50
- "effect-dynamodb": "1.39.0"
49
+ "effect": "^4.1.3",
50
+ "effect-dynamodb": "1.41.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@aws-sdk/client-dynamodb": "^3.1104.0",
54
- "@effect/vitest": "4.1.2",
54
+ "@effect/vitest": "4.1.3",
55
55
  "@types/node": "^25.0.0",
56
- "effect": "4.1.2",
57
- "effect-dynamodb": "1.39.0",
56
+ "effect": "4.1.3",
57
+ "effect-dynamodb": "1.41.0",
58
58
  "typescript": "^6.0.3",
59
59
  "vitest": "^5.0.3"
60
60
  },