Skip to content

Commit

Permalink
store: separate default and runtime
Browse files Browse the repository at this point in the history
  • Loading branch information
terrablue committed Jul 21, 2024
1 parent f15d96b commit 12f33d3
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 3 deletions.
5 changes: 4 additions & 1 deletion packages/store/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@
},
"type": "module",
"exports": {
".": "./src/index.js",
".": {
"runtime": "./src/runtime/index.js",
"default": "./src/default/index.js"
},
"./*/common": "./src/server/*/common.js",
"./base/*": "./src/base/*.js",
"./sql/*": "./src/sql/*.js",
Expand Down
File renamed without changes.
27 changes: 27 additions & 0 deletions packages/store/src/default/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import modes from "@primate/store/base/modes";
import memory from "@primate/store/memory";
import { assert } from "rcompat/invariant";
import route from "../runtime/route.js";
import serve from "../runtime/serve.js";
import build from "./build.js";

export default ({
// directory for stores
directory = "stores",
// default database driver
driver = memory(),
// loose: validate non-empty fields, accept empty/non-defined [default]
// strict: all fields must be non-empty before saving
mode = modes.loose,
} = {}) => {
assert(Object.values(modes).includes(mode),
"`mode` must be 'strict' or 'loose'");
const env = {};

return {
name: "primate:store",
build: build(directory, driver.build),
serve: serve(directory, mode, driver.serve, env),
route: route(env),
};
};
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import modes from "@primate/store/base/modes";
import memory from "@primate/store/memory";
import { assert } from "rcompat/invariant";
import build from "./build.js";
import route from "./route.js";
import serve from "./serve.js";

Expand All @@ -20,7 +19,6 @@ export default ({

return {
name: "primate:store",
build: build(directory, driver.build),
serve: serve(directory, mode, driver.serve, env),
route: route(env),
};
Expand Down
File renamed without changes.
File renamed without changes.

0 comments on commit 12f33d3

Please sign in to comment.