lakeql 0.1.2 → 0.1.8
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/dist/bin.js +205 -81
- package/dist/{chunk-MUTXXFOW.js → chunk-5K5JMJ2M.js} +772 -131
- package/dist/chunk-MXGEAVHL.js +11381 -0
- package/dist/chunk-TFD5RFKB.js +1152 -0
- package/dist/cloudflare.d.ts +21 -5
- package/dist/cloudflare.js +105 -5
- package/dist/geo-backend-TSQJWAAB.js +18 -0
- package/dist/index.d.ts +842 -232
- package/dist/index.js +3 -2
- package/dist/node.d.ts +29 -7
- package/dist/node.js +195 -35
- package/package.json +13 -10
- package/dist/chunk-D3A4VN3U.js +0 -5677
package/dist/cloudflare.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
import { ObjectStore } from './index.js';
|
|
2
|
-
export { AggregateExpr, AggregateGroupSnapshot, AggregateOp, AggregateOperatorState, AggregateOptions, AggregateResult, AggregateSnapshotValue, AggregateSpec, AggregateStateSnapshot, AggregationBuilder, ApplyIcebergDeletesOptions, ArithmeticExpr, BBoxIndex, BetweenExpr, Bookmark, BookmarkInit, BookmarkPosition, BookmarkQuery, BroadcastJoinOptions,
|
|
3
|
-
import 'hyparquet/src/types.js';
|
|
4
|
-
import 'hyparquet';
|
|
1
|
+
import { CacheAdapter, ObjectStore } from './index.js';
|
|
2
|
+
export { AggregateExpr, AggregateGroupSnapshot, AggregateOp, AggregateOperatorState, AggregateOptions, AggregateParquetGroupTaskOptions, AggregateParquetGroupTasksOptions, AggregateParquetTaskOptions, AggregateParquetTasksOptions, AggregateResult, AggregateSnapshotValue, AggregateSpec, AggregateStateSnapshot, AggregationBuilder, ApplyIcebergDeletesOptions, ArithmeticExpr, BBox, BBoxIndex, Batch, BatchExprValues, BetweenExpr, Bookmark, BookmarkInit, BookmarkPosition, BookmarkQuery, BroadcastJoinOptions, CacheApiCache, CacheApiCacheOptions, CacheEntry, CachePolicy, CallExpr, CaseExpr, CaseWhenExpr, CheckpointAdapter, CheckpointStore, Clock, ColumnExpr, ColumnInput, CompareExpr, CompareOp, ConditionalObjectStore, ConditionalPutOptions, CreateParquetTableAsOptions, CreateParquetTableAsQuery, CreateParquetTableAsResult, CsvStreamOptions, DecodedIcebergDeletes, DecodedIcebergParquetDeletes, ERROR_CODES, EngineFilePlan, EngineTable, ErrorDetails, ExplainJson, ExplainResult, Expr, GeoBackend, GeoJsonGeometry, IcebergAppendFile, IcebergAppendOptions, IcebergAppendOutputManifestOptions, IcebergAppendResult, IcebergCatalog, IcebergCommitCatalog, IcebergCommitInput, IcebergCommitResult, IcebergDeleteFile, IcebergDeletionVector, IcebergEnginePlan, IcebergEngineTable, IcebergEqualityDelete, IcebergField, IcebergGlueCatalogOptions, IcebergLoadTableOptions, IcebergNessieCatalogOptions, IcebergParquetDeleteFile, IcebergParquetDeleteFileContent, IcebergPartitionField, IcebergPartitionSpec, IcebergPlan, IcebergPositionDelete, IcebergReadMode, IcebergRestAccessDelegation, IcebergRestCatalog, IcebergRestCatalogConfig, IcebergRestCatalogOptions, IcebergRestLoadContext, IcebergRestLoadTableOptions, IcebergRestLoadTableResult, IcebergRestStorageCredential, IcebergRowBatch, IcebergSortOrder, IcebergTable, IcebergTableIdentifier, IcebergUnsupportedCatalog, IdGenerator, InExpr, InMemoryLakeOptions, InMemoryRowsScanner, InMemoryRowsStore, InMemoryTableOptions, IndexPruneResult, IndexValue, InsertValidationRules, JoinKey, JoinType, JsonExpr, JsonOrderByTerm, JsonQueryV1, Lake, LakeConfig, LakeqlError, LakeqlErrorCode, LikeExpr, ListOptions, LiteralExpr, LoadIcebergEngineTableOptions, LoadIcebergTableFromObjectStoreOptions, LoadIcebergTableFromRestOptions, LoadIcebergTableOptions, LoadParquetEngineTableOptions, LoadTableOptions, LockAdapter, LogHook, LogicalExpr, LookupJoinFunction, LookupJoinOptions, Manifest, ManifestDeleteFile, ManifestFile, MemoryCache, MemoryCheckpointAdapter, MemoryObjectStore, MemorySpillAdapter, MemorySpillAdapterOptions, MetadataFile, MetricsHook, MinMaxColumnIndex, NotExpr, NullCheckExpr, ObjectHead, ObjectInfo, ObjectStoreCacheOptions, ObjectStoreIcebergCommitCatalog, ObjectStoreJsonCache, ObjectStoreJsonCacheOptions, ObjectStoreReadControls, ObjectStoreUriAuthority, OperatorSnapshotValue, OrderByTerm, OutputManifest, OutputManifestEntry, PACKAGE, ParquetColumnBatch, ParquetEnginePlan, ParquetEngineTable, ParquetLakeConfig, ParquetMetadata, ParquetRowBatch, ParquetRowGroupPlan, ParquetScanAdapter, PartitionedParquetOutputEntryOptions, PathQueryInit, PlanIcebergFilesOptions, PlanParquetRowGroupsOptions, PlanParquetTaskWorkUnitsOptions, PlannedIcebergFile, PlannedParquetRowGroup, PredicatePlan, PredicatePlanOptions, ProjectIcebergRowOptions, PutOptions, QueryBudget, QueryBuilder, QueryPolicy, QueryPolicyContext, QueryResult, QueryRunOptions, QueryStats, QueueAdapter, ReadParquetBatchOptions, ReadParquetOptions, ResumableBatchOptions, ResumedQuery, Row, RuntimeSubstrate, Scalar, ScanAdapter, ScanBatch, ScanColumnBatch, ScanEngineOptions, ScanOptions, ScanParquetTaskOptions, ScanPlannedIcebergRowsOptions, ScanTaskPlan, ScanTaskPlanOptions, ScanVectorBatch, Selection, SharedCacheEntry, SharedCacheSetOptions, SharedMemoryCache, SidecarFileIndex, SliceOptions, SliceResult, Snapshot, SortOperatorState, SortOptions, SortResult, SortRunState, SpillAdapter, SpillRef, SpillUsage, SqlBoolean, TaskCheckpoint, TaskInput, TaskManifest, TaskManifestTask, TaskState, TaskTransitionInput, TimestampUnit, TimestampValue, TopKOperatorState, TopKOptions, TopKResult, ValueInput, Vector, VectorAggregateOptions, VectorAggregateSnapshotValue, VectorAggregateState, VectorAggregateStateSnapshot, VectorAggregateStateSnapshots, VectorAggregateStates, VectorAggregateValue, VectorGroup, VectorGroupByGroupSnapshot, VectorGroupByOptions, VectorGroupBySnapshotValue, VectorGroupByState, VectorGroupByStateSnapshot, VectorHashJoinOptions, VectorProjectionSpec, VectorTopKOptions, WorkUnitFanInOptions, WriteParquetOptions, WriteParquetRowsOptions, WritePartitionedParquetFile, WritePartitionedParquetResult, WritePartitionedParquetTaskOptions, WritePartitionedParquetTaskResult, add, advanceTaskCheckpoint, aggregateParquetGroupTask, aggregateParquetGroupTasks, aggregateParquetGroupTasksBatch, aggregateParquetTask, aggregateParquetTasks, and, applyIcebergDeletes, assertBookmarkMatches, asyncBufferFromStore, batchExprValues, batchFromColumns, batchFromVectors, bboxIntersects, bboxMayIntersect, between, broadcastJoin, buildBBoxIndex, buildMinMaxIndex, cacheApiCache, cachedObjectStore, classifyPredicate, col, compareTimestampValues, concatBatches, createBookmark, createInMemoryLake, createLake, createOutputManifest, createOutputManifestFromCheckpoints, createLake as createParquetLake, createParquetTableAs, createTaskManifest, createVectorAggregateStates, createVectorGroupByState, deserializeAggregateOperatorState, deserializeSortOperatorState, deserializeTopKOperatorState, div, encodeJsonLine, enforceVectorGroupByBudget, ensureGeoBackendForExprs, envelopeFromGeometry, envelopeOf, eq, evaluate, fanInWorkUnits, finalizeVectorAggregateStates, finalizeVectorGroupByBatch, finalizeVectorGroupByRows, fingerprint, fn, gatherBatch, getOrCreateVectorGroup, gt, gte, icebergGlueCatalog, icebergNessieCatalog, icebergRestCatalog, ilike, inMemoryRowsScanner, isIn, isLakeqlError, isNotNull, isNull, isTimestampValue, jsonSafeValue, jsonWorkUnitBoundary, like, lit, loadGeoBackend, loadIcebergTable, loadIcebergTableFromObjectStore, loadIcebergTableFromRest, loadTable, lookupJoin, lt, lte, matches, materializeBatchRows, materializeSelectedBatchRows, memoryCache, memoryCheckpointAdapter, memorySpillAdapter, memoryStore, mergeVectorAggregateStateSnapshots, mergeVectorAggregateStates, mergeVectorGroupByStates, mod, mul, ne, not, notIn, objectStoreJsonCache, or, parquetScanner, parseGeometry, parseHivePartitions, parseJsonQuery, partitionedParquetOutputEntries, planFiles, planParquetTaskWorkUnits, planRowGroups, planRowGroupsFromMetadata, predicateSelection, pruneFilesWithIndex, readControlSignal, readIcebergParquetDeletes, readOutputManifest, readParquetColumnBatches, readParquetMetadata, readParquetObjectBatches, readParquetObjects, rejectUnsupportedParquetSchema, requireGeoBackend, restoreVectorAggregateStates, restoreVectorGroupByState, rowGroupMayMatch, rowGroupMustMatch, scalarVectorValue, scanBatches, scanParquetTaskBatches, scanParquetTaskColumnBatches, scanPlannedIcebergRows, scanRows, selectedRowCount, selectedRowIndices, serializeAggregateOperatorState, serializeSortOperatorState, serializeTopKOperatorState, setGeoBackend, signPaginationToken, snapshotVectorAggregateStates, snapshotVectorGroupByState, stableStringify, sub, throwIfAborted, timestampEpochForUnit, timestampFromEpoch, timestampToIsoString, timestampValueFromIso, toGeometry, transitionTaskCheckpoint, tryPredicateSelection, updateVectorAggregateStateValue, updateVectorAggregateStates, updateVectorGroupAggregateValue, updateVectorGroupByState, uriObjectStore, vectorAggregateBatch, vectorFromValues, vectorGroupByBatch, vectorHashJoin, vectorLength, vectorOrderByBatch, vectorProjectBatch, vectorSortIndices, vectorTopKBatch, vectorTopKIndices, vectorValue, verifyPaginationToken, withObjectStoreReadControls, writeOutputManifest, writeParquet, writePartitionedParquet, writePartitionedParquetTask } from './index.js';
|
|
5
3
|
import 'hyparquet-writer';
|
|
4
|
+
import 'hyparquet';
|
|
6
5
|
|
|
6
|
+
interface D1DatabaseLike {
|
|
7
|
+
prepare(query: string): D1PreparedStatementLike;
|
|
8
|
+
}
|
|
9
|
+
interface D1PreparedStatementLike {
|
|
10
|
+
bind(...values: unknown[]): D1PreparedStatementLike;
|
|
11
|
+
first<T = unknown>(column?: string): Promise<T | null>;
|
|
12
|
+
run(): Promise<unknown>;
|
|
13
|
+
}
|
|
14
|
+
interface CloudflareD1JsonCacheOptions {
|
|
15
|
+
db: D1DatabaseLike;
|
|
16
|
+
table?: string;
|
|
17
|
+
prefix?: string;
|
|
18
|
+
ttlMs?: number;
|
|
19
|
+
now?: () => number;
|
|
20
|
+
createTable?: boolean;
|
|
21
|
+
}
|
|
7
22
|
interface R2ObjectBody {
|
|
8
23
|
key: string;
|
|
9
24
|
size: number;
|
|
@@ -40,5 +55,6 @@ interface R2BucketLike {
|
|
|
40
55
|
}>;
|
|
41
56
|
}
|
|
42
57
|
declare function r2Store(bucket: R2BucketLike): ObjectStore;
|
|
58
|
+
declare function cloudflareD1JsonCache<T = unknown>(options: CloudflareD1JsonCacheOptions): CacheAdapter<T>;
|
|
43
59
|
|
|
44
|
-
export { ObjectStore, r2Store };
|
|
60
|
+
export { CacheAdapter, ObjectStore, cloudflareD1JsonCache, r2Store };
|
package/dist/cloudflare.js
CHANGED
|
@@ -1,11 +1,80 @@
|
|
|
1
|
-
export { IcebergRestCatalog, IcebergTable, IcebergUnsupportedCatalog, ObjectStoreIcebergCommitCatalog, PACKAGE, applyIcebergDeletes, icebergGlueCatalog, icebergNessieCatalog, icebergRestCatalog, loadIcebergTable, loadIcebergTableFromObjectStore, loadIcebergTableFromRest, loadTable, planFiles, scanBatches, scanPlannedIcebergRows, scanRows } from './chunk-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export { IcebergRestCatalog, IcebergTable, IcebergUnsupportedCatalog, InMemoryRowsScanner, InMemoryRowsStore, ObjectStoreIcebergCommitCatalog, ObjectStoreJsonCache, PACKAGE, applyIcebergDeletes, createInMemoryLake, icebergGlueCatalog, icebergNessieCatalog, icebergRestCatalog, inMemoryRowsScanner, loadIcebergTable, loadIcebergTableFromObjectStore, loadIcebergTableFromRest, loadTable, objectStoreJsonCache, planFiles, scanBatches, scanPlannedIcebergRows, scanRows, vectorHashJoin } from './chunk-5K5JMJ2M.js';
|
|
2
|
+
export { AggregationBuilder, CacheApiCache, Lake, MemoryCache, MemoryCheckpointAdapter, MemoryObjectStore, MemorySpillAdapter, ParquetScanAdapter, QueryBuilder, QueryResult, ResumedQuery, SharedMemoryCache, add, advanceTaskCheckpoint, aggregateParquetGroupTask, aggregateParquetGroupTasks, aggregateParquetGroupTasksBatch, aggregateParquetTask, aggregateParquetTasks, and, assertBookmarkMatches, asyncBufferFromStore, batchExprValues, batchFromColumns, batchFromVectors, bboxMayIntersect, between, broadcastJoin, buildBBoxIndex, buildMinMaxIndex, cacheApiCache, cachedObjectStore, classifyPredicate, col, concatBatches, createBookmark, createParquetLake as createLake, createOutputManifest, createOutputManifestFromCheckpoints, createParquetLake, createParquetTableAs, createTaskManifest, createVectorAggregateStates, createVectorGroupByState, deserializeAggregateOperatorState, deserializeSortOperatorState, deserializeTopKOperatorState, div, enforceVectorGroupByBudget, eq, fanInWorkUnits, finalizeVectorAggregateStates, finalizeVectorGroupByBatch, finalizeVectorGroupByRows, fingerprint, fn, gatherBatch, getOrCreateVectorGroup, gt, gte, ilike, isIn, isNotNull, isNull, jsonWorkUnitBoundary, like, lit, lookupJoin, lt, lte, materializeBatchRows, materializeSelectedBatchRows, memoryCache, memoryCheckpointAdapter, memorySpillAdapter, memoryStore, mergeVectorAggregateStateSnapshots, mergeVectorAggregateStates, mergeVectorGroupByStates, mod, mul, ne, not, notIn, or, parquetScanner, parseHivePartitions, parseJsonQuery, partitionedParquetOutputEntries, planParquetTaskWorkUnits, planRowGroups, planRowGroupsFromMetadata, predicateSelection, pruneFilesWithIndex, readControlSignal, readIcebergParquetDeletes, readOutputManifest, readParquetColumnBatches, readParquetMetadata, readParquetObjectBatches, readParquetObjects, rejectUnsupportedParquetSchema, restoreVectorAggregateStates, restoreVectorGroupByState, rowGroupMayMatch, rowGroupMustMatch, scalarVectorValue, scanParquetTaskBatches, scanParquetTaskColumnBatches, selectedRowCount, selectedRowIndices, serializeAggregateOperatorState, serializeSortOperatorState, serializeTopKOperatorState, signPaginationToken, snapshotVectorAggregateStates, snapshotVectorGroupByState, stableStringify, sub, throwIfAborted, transitionTaskCheckpoint, tryPredicateSelection, updateVectorAggregateStateValue, updateVectorAggregateStates, updateVectorGroupAggregateValue, updateVectorGroupByState, uriObjectStore, vectorAggregateBatch, vectorFromValues, vectorGroupByBatch, vectorLength, vectorOrderByBatch, vectorProjectBatch, vectorSortIndices, vectorTopKBatch, vectorTopKIndices, vectorValue, verifyPaginationToken, withObjectStoreReadControls, writeOutputManifest, writeParquet, writePartitionedParquet, writePartitionedParquetTask } from './chunk-MXGEAVHL.js';
|
|
3
|
+
import { LakeqlError } from './chunk-TFD5RFKB.js';
|
|
4
|
+
export { ERROR_CODES, LakeqlError, TimestampValue, bboxIntersects, compareTimestampValues, encodeJsonLine, ensureGeoBackendForExprs, envelopeFromGeometry, envelopeOf, evaluate, isLakeqlError, isTimestampValue, jsonSafeValue, loadGeoBackend, matches, parseGeometry, requireGeoBackend, setGeoBackend, timestampEpochForUnit, timestampFromEpoch, timestampToIsoString, timestampValueFromIso, toGeometry } from './chunk-TFD5RFKB.js';
|
|
4
5
|
|
|
5
6
|
// ../r2/dist/index.js
|
|
6
7
|
function r2Store(bucket) {
|
|
7
8
|
return new R2ObjectStore(bucket);
|
|
8
9
|
}
|
|
10
|
+
function cloudflareD1JsonCache(options) {
|
|
11
|
+
return new CloudflareD1JsonCache(options);
|
|
12
|
+
}
|
|
13
|
+
var CloudflareD1JsonCache = class {
|
|
14
|
+
db;
|
|
15
|
+
table;
|
|
16
|
+
prefix;
|
|
17
|
+
ttlMs;
|
|
18
|
+
now;
|
|
19
|
+
createTable;
|
|
20
|
+
ensurePromise;
|
|
21
|
+
constructor(options) {
|
|
22
|
+
this.db = options.db;
|
|
23
|
+
this.table = validatedD1Identifier(options.table ?? "lakeql_cache");
|
|
24
|
+
this.prefix = options.prefix ?? "lakeql";
|
|
25
|
+
this.ttlMs = options.ttlMs;
|
|
26
|
+
this.now = options.now ?? Date.now;
|
|
27
|
+
this.createTable = options.createTable ?? true;
|
|
28
|
+
}
|
|
29
|
+
async get(key) {
|
|
30
|
+
await this.ensureTable();
|
|
31
|
+
const cacheKey = this.cacheKey(key);
|
|
32
|
+
const row = await this.db.prepare(`select value, expires_at from ${this.table} where key = ?1`).bind(cacheKey).first();
|
|
33
|
+
if (row === null)
|
|
34
|
+
return void 0;
|
|
35
|
+
const expiresAt = row.expires_at ?? void 0;
|
|
36
|
+
if (expiresAt !== void 0 && expiresAt <= this.now()) {
|
|
37
|
+
await this.delete(key);
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
40
|
+
const value = JSON.parse(row.value);
|
|
41
|
+
const entry = { value };
|
|
42
|
+
if (expiresAt !== void 0)
|
|
43
|
+
entry.expiresAt = expiresAt;
|
|
44
|
+
return entry;
|
|
45
|
+
}
|
|
46
|
+
async set(key, entry) {
|
|
47
|
+
await this.ensureTable();
|
|
48
|
+
const json = jsonCacheValue(entry.value, key);
|
|
49
|
+
const expiresAt = entry.expiresAt ?? (this.ttlMs === void 0 ? void 0 : this.now() + this.ttlMs);
|
|
50
|
+
await this.db.prepare(`insert into ${this.table} (key, value, expires_at, updated_at)
|
|
51
|
+
values (?1, ?2, ?3, ?4)
|
|
52
|
+
on conflict(key) do update set
|
|
53
|
+
value = excluded.value,
|
|
54
|
+
expires_at = excluded.expires_at,
|
|
55
|
+
updated_at = excluded.updated_at`).bind(this.cacheKey(key), json, expiresAt ?? null, this.now()).run();
|
|
56
|
+
}
|
|
57
|
+
async delete(key) {
|
|
58
|
+
await this.ensureTable();
|
|
59
|
+
await this.db.prepare(`delete from ${this.table} where key = ?1`).bind(this.cacheKey(key)).run();
|
|
60
|
+
}
|
|
61
|
+
cacheKey(key) {
|
|
62
|
+
return `${this.prefix}:${key}`;
|
|
63
|
+
}
|
|
64
|
+
async ensureTable() {
|
|
65
|
+
if (!this.createTable)
|
|
66
|
+
return;
|
|
67
|
+
if (this.ensurePromise === void 0) {
|
|
68
|
+
this.ensurePromise = this.db.prepare(`create table if not exists ${this.table} (
|
|
69
|
+
key text primary key,
|
|
70
|
+
value text not null,
|
|
71
|
+
expires_at integer,
|
|
72
|
+
updated_at integer not null
|
|
73
|
+
)`).run().then(() => void 0);
|
|
74
|
+
}
|
|
75
|
+
await this.ensurePromise;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
9
78
|
var R2ObjectStore = class {
|
|
10
79
|
bucket;
|
|
11
80
|
constructor(bucket) {
|
|
@@ -20,7 +89,7 @@ var R2ObjectStore = class {
|
|
|
20
89
|
async getRange(path, range) {
|
|
21
90
|
const object = await this.bucket.get(path, { range });
|
|
22
91
|
if (!object)
|
|
23
|
-
throw new
|
|
92
|
+
throw new LakeqlError("LAKEQL_OBJECT_NOT_FOUND", `No object at ${path}`, { path });
|
|
24
93
|
return new Uint8Array(await object.arrayBuffer());
|
|
25
94
|
}
|
|
26
95
|
async put(path, body, options) {
|
|
@@ -76,5 +145,36 @@ function r2Info(object) {
|
|
|
76
145
|
info.lastModified = object.uploaded;
|
|
77
146
|
return info;
|
|
78
147
|
}
|
|
148
|
+
function validatedD1Identifier(value) {
|
|
149
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(value)) {
|
|
150
|
+
throw new LakeqlError("LAKEQL_VALIDATION_ERROR", "D1 cache table name is invalid", {
|
|
151
|
+
table: value
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return value;
|
|
155
|
+
}
|
|
156
|
+
function jsonCacheValue(value, key) {
|
|
157
|
+
if (value === void 0) {
|
|
158
|
+
throw new LakeqlError("LAKEQL_TYPE_ERROR", "D1 JSON cache value is not JSON serializable", {
|
|
159
|
+
key
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
try {
|
|
163
|
+
const json = JSON.stringify(value);
|
|
164
|
+
if (json === void 0) {
|
|
165
|
+
throw new LakeqlError("LAKEQL_TYPE_ERROR", "D1 JSON cache value is not JSON serializable", {
|
|
166
|
+
key
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
return json;
|
|
170
|
+
} catch (cause) {
|
|
171
|
+
if (cause instanceof LakeqlError)
|
|
172
|
+
throw cause;
|
|
173
|
+
throw new LakeqlError("LAKEQL_TYPE_ERROR", "D1 JSON cache value is not JSON serializable", {
|
|
174
|
+
key,
|
|
175
|
+
cause
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
79
179
|
|
|
80
|
-
export { r2Store };
|
|
180
|
+
export { cloudflareD1JsonCache, r2Store };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { setGeoBackend } from './chunk-TFD5RFKB.js';
|
|
2
|
+
import { booleanContains } from '@turf/boolean-contains';
|
|
3
|
+
import { booleanIntersects } from '@turf/boolean-intersects';
|
|
4
|
+
import { latLngToCell, isValidCell, gridDisk, cellToParent } from 'h3-js';
|
|
5
|
+
|
|
6
|
+
var backend = {
|
|
7
|
+
booleanContains,
|
|
8
|
+
booleanIntersects,
|
|
9
|
+
cellToParent,
|
|
10
|
+
gridDisk,
|
|
11
|
+
isValidCell,
|
|
12
|
+
latLngToCell
|
|
13
|
+
};
|
|
14
|
+
function installGeoBackend() {
|
|
15
|
+
setGeoBackend(backend);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { installGeoBackend };
|