26 lines
772 B
Nix
26 lines
772 B
Nix
{
|
|
lib,
|
|
}:
|
|
with lib;
|
|
mkModule (self: {
|
|
dtypes = mkModule (self': {
|
|
blob = mkRepoType {};
|
|
json = mkRepoType {
|
|
schema = {
|
|
int = { type = "int"; };
|
|
str = { type = "str"; };
|
|
listOf = ety: { type = "list"; inherit ety; };
|
|
dictOf = kty: vty: { type = "dict"; inherit kty vty; };
|
|
};
|
|
};
|
|
filesystem = mkRepoType {};
|
|
foreignKeyOf = foreignClass: mkRepoType { class = foreignClass; };
|
|
seqOf = ty: mkRepoType { inherit ty; };
|
|
tupleOf = children: mkRepoType { inherit children; };
|
|
});
|
|
repoAdapters = mkModule (self': {
|
|
seqToSpawn = mkAdapter { /* TODO */ };
|
|
tupleToRepos = mkAdapter { /* TODO */ };
|
|
});
|
|
})
|