[wip] jex and thinking about model thing on the jr thing"
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
/* idea: versioned state
|
||||||
|
*
|
||||||
|
* there is a version 0 state
|
||||||
|
*
|
||||||
|
* each state migration contains a migration from the previous version to the
|
||||||
|
* new version
|
||||||
|
*
|
||||||
|
* laws:
|
||||||
|
*
|
||||||
|
* - all version N states must map to valid version N+1 states
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
export {
|
||||||
|
jr_version,
|
||||||
|
jr_state
|
||||||
|
};
|
||||||
|
|
||||||
|
let jr_version = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* current state type for current version
|
||||||
|
*/
|
||||||
|
type jr_state = jr_0_state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* All jr state types, historically
|
||||||
|
*/
|
||||||
|
type jr_n_state
|
||||||
|
= jr_0_state;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the version 0 state
|
||||||
|
*/
|
||||||
|
type jr_0_state
|
||||||
|
= {version : 0,
|
||||||
|
keypair : keypair};
|
||||||
|
|
||||||
|
type keypair
|
||||||
|
= {secretKey: Uint8Array
|
||||||
@@ -357,7 +357,10 @@ pkg_tmpdir(PkgName) ->
|
|||||||
-spec pkg_type() -> Result
|
-spec pkg_type() -> Result
|
||||||
when Result :: {ok, PkgType}
|
when Result :: {ok, PkgType}
|
||||||
| {error, Reason :: term()},
|
| {error, Reason :: term()},
|
||||||
PkgType :: library | external | extension.
|
PkgType :: library
|
||||||
|
| external
|
||||||
|
| extension
|
||||||
|
| website.
|
||||||
|
|
||||||
pkg_type() ->
|
pkg_type() ->
|
||||||
% cfg errors if package type is invalid
|
% cfg errors if package type is invalid
|
||||||
|
|||||||
Reference in New Issue
Block a user