@-0/browser
Advanced tools
Comparing version 0.3.24 to 0.3.25
@@ -1,9 +0,2 @@ | ||
import { HeadData, ICommand } from "@-0/keys"; | ||
interface apiURL { | ||
[URL_DATA: string]: { | ||
[DOM_HEAD: string]: HeadData; | ||
}; | ||
} | ||
export declare const injectHead: (args: apiURL) => void; | ||
import { ICommand } from "@-0/keys"; | ||
export declare const cmd_inject_head: ICommand; | ||
export {}; |
@@ -61,6 +61,6 @@ import { URL_DATA, CMD_SUB$, CMD_ARGS, CMD_WORK, DOM_HEAD, HD_TITL, HD_ICON, HD_TYPE, HD_DESC, HD_IMGU, HD_IMGW, HD_IMGH, } from "@-0/keys"; | ||
${URL_DATA}.${DOM_HEAD} props:`; | ||
export const injectHead = (args) => { | ||
if (!args || !Object.keys(args).length) | ||
const injectHead = (acc) => { | ||
if (!acc || !Object.keys(acc).length) | ||
return; | ||
const data = args[URL_DATA]; | ||
const data = acc[URL_DATA]; | ||
const send = data || { [DOM_HEAD]: {} }; | ||
@@ -67,0 +67,0 @@ const head = send[DOM_HEAD]; |
@@ -1,4 +0,4 @@ | ||
export { cmd_flip_first, cmd_flip_last_inverse_play } from "./FLIP"; | ||
export { cmd_inject_head } from "./head"; | ||
export { SET_STATE, createSetStateCMD } from "./setstate"; | ||
export { cmd_href_pushstate_dom, cmd_nav, navEventHandler, cmd_notify_prerender_dom, cmd_set_link_attrs_dom } from "./routing"; | ||
export * from "./FLIP"; | ||
export * from "./head"; | ||
export * from "./setstate"; | ||
export * from "./routing"; |
@@ -1,4 +0,4 @@ | ||
export { cmd_flip_first, cmd_flip_last_inverse_play } from "./FLIP"; | ||
export { cmd_inject_head } from "./head"; | ||
export { SET_STATE, createSetStateCMD } from "./setstate"; | ||
export { cmd_href_pushstate_dom, cmd_nav, navEventHandler, cmd_notify_prerender_dom, cmd_set_link_attrs_dom } from "./routing"; | ||
export * from "./FLIP"; | ||
export * from "./head"; | ||
export * from "./setstate"; | ||
export * from "./routing"; |
@@ -1,6 +0,6 @@ | ||
import { ICommand } from "@-0/keys"; | ||
import { ICommand, Command } from "@-0/keys"; | ||
export declare const navEventHandler: (ev: any) => any; | ||
export declare const cmd_nav: ICommand; | ||
export declare const cmd_set_link_attrs_dom: ICommand; | ||
export declare const cmd_href_pushstate_dom: ICommand; | ||
export declare const cmd_notify_prerender_dom: ICommand; | ||
export declare const _SET_LINK_ATTRS_DOM: Command; | ||
export declare const _HREF_PUSHSTATE_DOM: Command; | ||
export declare const _NOTIFY_PRERENDER_DOM: Command; |
import { URL2obj, Err_missing_props } from "@-0/utils"; | ||
import { DOM_NODE, URL_FULL, URL_PATH, CMD_SUB$, CMD_ARGS, CMD_WORK } from "@-0/keys"; | ||
import { DOMnavigated$ } from "../core/stream$"; | ||
import { registerCMD } from "@-0/spool"; | ||
export const navEventHandler = ev => { | ||
@@ -16,3 +17,3 @@ var _a; | ||
target: { location: { href } }, | ||
currentTarget: ev.currentTarget | ||
currentTarget: ev.currentTarget, | ||
}); | ||
@@ -24,3 +25,3 @@ return ev; | ||
[CMD_ARGS]: ev => ev, | ||
[CMD_WORK]: navEventHandler | ||
[CMD_WORK]: navEventHandler, | ||
}; | ||
@@ -40,3 +41,3 @@ const setLinkAttrs = target => { | ||
}; | ||
export const cmd_set_link_attrs_dom = { | ||
export const _SET_LINK_ATTRS_DOM = registerCMD({ | ||
[CMD_SUB$]: "_SET_LINK_ATTRS_DOM", | ||
@@ -47,3 +48,3 @@ [CMD_ARGS]: acc => acc, | ||
const props = { | ||
[DOM_NODE]: node | ||
[DOM_NODE]: node, | ||
}; | ||
@@ -53,5 +54,5 @@ if (node) | ||
return console.warn(Err_missing_props("_SET_LINK_ATTRS_DOM", props)); | ||
} | ||
}; | ||
export const cmd_href_pushstate_dom = { | ||
}, | ||
}); | ||
export const _HREF_PUSHSTATE_DOM = registerCMD({ | ||
[CMD_SUB$]: "_HREF_PUSHSTATE_DOM", | ||
@@ -64,3 +65,3 @@ [CMD_ARGS]: acc => acc, | ||
[URL_FULL]: url, | ||
[DOM_NODE]: node | ||
[DOM_NODE]: node, | ||
}; | ||
@@ -71,8 +72,8 @@ if (url && node && !node.document) | ||
return console.warn(Err_missing_props("_HREF_PUSHSTATE_DOM", props)); | ||
} | ||
}; | ||
export const cmd_notify_prerender_dom = { | ||
}, | ||
}); | ||
export const _NOTIFY_PRERENDER_DOM = registerCMD({ | ||
[CMD_SUB$]: "_NOTIFY_PRERENDER_DOM", | ||
[CMD_ARGS]: true, | ||
[CMD_WORK]: () => document === null || document === void 0 ? void 0 : document.dispatchEvent(new Event("rendered")) | ||
}; | ||
[CMD_WORK]: () => document === null || document === void 0 ? void 0 : document.dispatchEvent(new Event("rendered")), | ||
}); |
import { Command } from "@-0/keys"; | ||
export declare const createSetStateCMD: (store: any, sub$?: string) => Command; | ||
export declare const createSetStateCMD: (store?: import("@thi.ng/atom").Atom<{ | ||
$$_PATH: any[]; | ||
$$_LOAD: boolean; | ||
$$_VIEW: any; | ||
$$_ROOT: any; | ||
}>, sub$?: string) => Command; | ||
export declare const SET_STATE: Command; |
@@ -5,3 +5,3 @@ import { CMD_SUB$, CMD_ARGS, CMD_WORK, STATE_DATA, STATE_PATH } from "@-0/keys"; | ||
import { Err_missing_props } from "@-0/utils"; | ||
export const createSetStateCMD = (store, sub$ = "_SET_STATE") => registerCMD({ | ||
export const createSetStateCMD = (store = $store$, sub$ = "_SET_STATE") => registerCMD({ | ||
[CMD_SUB$]: sub$, | ||
@@ -21,2 +21,2 @@ [CMD_ARGS]: x => x, | ||
}); | ||
export const SET_STATE = createSetStateCMD($store$); | ||
export const SET_STATE = createSetStateCMD(); |
@@ -1,1 +0,1 @@ | ||
export { DOMnavigated$, DOMContentLoaded$, popstate$ } from "./stream$"; | ||
export * from "./stream$"; |
@@ -1,1 +0,1 @@ | ||
export { DOMnavigated$, DOMContentLoaded$, popstate$ } from "./stream$"; | ||
export * from "./stream$"; |
@@ -1,5 +0,5 @@ | ||
export { cmd_flip_first, cmd_flip_last_inverse_play, cmd_inject_head, cmd_nav, navEventHandler } from "./commands"; | ||
export { DOMnavigated$ } from "./core"; | ||
export { registerRouterDOM } from "./registers"; | ||
export { DOM_URL__ROUTE } from "./tasks"; | ||
export { $store$, set$$tate } from "./store"; | ||
export * from "./commands"; | ||
export * from "./core"; | ||
export * from "./registers"; | ||
export * from "./tasks"; | ||
export * from "./store"; |
@@ -1,5 +0,5 @@ | ||
export { cmd_flip_first, cmd_flip_last_inverse_play, cmd_inject_head, cmd_nav, navEventHandler } from "./commands"; | ||
export { DOMnavigated$ } from "./core"; | ||
export { registerRouterDOM } from "./registers"; | ||
export { DOM_URL__ROUTE } from "./tasks"; | ||
export { $store$, set$$tate } from "./store"; | ||
export * from "./commands"; | ||
export * from "./core"; | ||
export * from "./registers"; | ||
export * from "./tasks"; | ||
export * from "./store"; |
@@ -1,1 +0,1 @@ | ||
export { registerRouterDOM } from "./routing"; | ||
export * from "./routing"; |
@@ -1,1 +0,1 @@ | ||
export { registerRouterDOM } from "./routing"; | ||
export * from "./routing"; |
import { Command, Router, RouterCFG } from "@-0/keys"; | ||
export declare const registerRouterDOM: (router: Router | RouterCFG) => Command; | ||
export declare const registerRouterDOM: (CFG: Router | RouterCFG) => Command; |
import { DOM_NODE, URL_FULL, CMD_SUB$, CMD_ARGS, CMD_SRC$, CMD_WORK } from "@-0/keys"; | ||
import { run$, registerCMD } from "@-0/spool"; | ||
import { Err_missing_props } from "@-0/utils"; | ||
import { DOM_URL__ROUTE } from "../tasks"; | ||
import { __DOM_URL__ROUTE } from "../tasks"; | ||
import { DOMnavigated$ } from "../core"; | ||
export const registerRouterDOM = (router) => { | ||
export const registerRouterDOM = (CFG) => { | ||
console.log("DOM Router Registered"); | ||
const routing_task = DOM_URL__ROUTE(router); | ||
return registerCMD({ | ||
const routing_task = __DOM_URL__ROUTE(CFG); | ||
const { [CMD_SUB$]: sub$, [CMD_ARGS]: args } = registerCMD({ | ||
[CMD_SRC$]: DOMnavigated$, | ||
@@ -23,2 +23,6 @@ [CMD_SUB$]: "_NAVIGATE", | ||
}); | ||
return { | ||
[CMD_SUB$]: sub$, | ||
[CMD_ARGS]: args, | ||
}; | ||
}; |
@@ -1,1 +0,1 @@ | ||
export { URL__ROUTE, DOM_URL__ROUTE, NOTIFY_PRERENDER_DOM, SET_LINK_ATTRS_DOM } from "./routing"; | ||
export * from "./routing"; |
@@ -1,1 +0,1 @@ | ||
export { URL__ROUTE, DOM_URL__ROUTE, NOTIFY_PRERENDER_DOM, SET_LINK_ATTRS_DOM } from "./routing"; | ||
export * from "./routing"; |
import { RouterCFG, Router, HOTask } from "@-0/keys"; | ||
export declare const URL__ROUTE: (CFG: Router | RouterCFG) => HOTask; | ||
export declare const NOTIFY_PRERENDER_DOM: Partial<{ | ||
args: any; | ||
sub$: string; | ||
reso: (acc: import("@-0/keys").Accumulator, res: any) => any; | ||
erro: (acc: import("@-0/keys").Accumulator, err: Error, out$: import("@thi.ng/rstream").PubSub<unknown, unknown, any>) => any; | ||
}>; | ||
export declare const SET_LINK_ATTRS_DOM: Partial<{ | ||
args: any; | ||
sub$: string; | ||
reso: (acc: import("@-0/keys").Accumulator, res: any) => any; | ||
erro: (acc: import("@-0/keys").Accumulator, err: Error, out$: import("@thi.ng/rstream").PubSub<unknown, unknown, any>) => any; | ||
}>; | ||
export declare const HREF_PUSHSTATE_DOM: Partial<{ | ||
args: any; | ||
sub$: string; | ||
reso: (acc: import("@-0/keys").Accumulator, res: any) => any; | ||
erro: (acc: import("@-0/keys").Accumulator, err: Error, out$: import("@thi.ng/rstream").PubSub<unknown, unknown, any>) => any; | ||
}>; | ||
export declare const DOM_URL__ROUTE: (CFG: Router | RouterCFG) => HOTask; | ||
export declare const __URL__ROUTE: (CFG: Router | RouterCFG) => HOTask; | ||
export declare const __DOM_URL__ROUTE: (CFG: Router | RouterCFG) => HOTask; |
import { isPlainObject } from "@thi.ng/checks"; | ||
import { cmd_href_pushstate_dom, cmd_notify_prerender_dom, cmd_set_link_attrs_dom, SET_STATE } from "../commands"; | ||
import { _HREF_PUSHSTATE_DOM, SET_STATE, _NOTIFY_PRERENDER_DOM, _SET_LINK_ATTRS_DOM } from "../commands"; | ||
import { $$_VIEW, $$_LOAD, $$_PATH, DOM_NODE, URL_FULL, URL_DATA, URL_PATH, URL_PAGE, RTR_PREP, RTR_POST, RTR_PRFX, CFG_RUTR, CMD_ARGS, CMD_RESO, CMD_ERRO, DOM_BODY, STATE_DATA, STATE_PATH, } from "@-0/keys"; | ||
import { URL2obj } from "@-0/utils"; | ||
import { registerCMD } from "@-0/spool"; | ||
const SET_ROUTE_PATH = Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: _acc => ({ | ||
const _SET_ROUTE_PATH = Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: _acc => ({ | ||
[STATE_DATA]: _acc[URL_PATH], | ||
@@ -12,26 +11,17 @@ [STATE_PATH]: [$$_PATH], | ||
const e_s = `Prerequisite property: { ${CMD_ARGS}: { ${URL_FULL}: NOT FOUND 🔥 } }`; | ||
export const URL__ROUTE = (CFG) => { | ||
let router, preroute, postroute, prefix; | ||
if (isPlainObject(CFG)) { | ||
const rtr = CFG[CFG_RUTR]; | ||
const pre = CFG[RTR_PREP]; | ||
const pst = CFG[RTR_POST]; | ||
const pfx = CFG[RTR_PRFX] || null; | ||
const escRGX = /[-/\\^$*+?.()|[\]{}]/g; | ||
const escaped = string => string.replace(escRGX, "\\$&"); | ||
router = rtr; | ||
preroute = isPlainObject(pre) ? [pre] : pre || []; | ||
postroute = isPlainObject(pst) ? [pst] : pst || []; | ||
prefix = pfx ? new RegExp(escaped(pfx), "g") : null; | ||
} | ||
else { | ||
router = CFG; | ||
preroute = []; | ||
postroute = []; | ||
prefix = ""; | ||
} | ||
export const __URL__ROUTE = (CFG) => { | ||
const rtr = CFG[CFG_RUTR] || null; | ||
const pre = CFG[RTR_PREP] || null; | ||
const pst = CFG[RTR_POST] || null; | ||
const pfx = CFG[RTR_PRFX] || null; | ||
const escRGX = /[-/\\^$*+?.()|[\]{}]/g; | ||
const escaped = string => string.replace(escRGX, "\\$&"); | ||
const RUTR = rtr || CFG; | ||
const _PREP = (pre && isPlainObject(pre) ? [pre] : pre) || []; | ||
const _POST = (pst && isPlainObject(pst) ? [pst] : pst) || []; | ||
const prefix = pfx ? new RegExp(escaped(pfx), "g") : null; | ||
const subtask = (acc) => [ | ||
...preroute, | ||
..._PREP, | ||
{ | ||
[CMD_ARGS]: acc[URL_FULL] ? router(acc[URL_FULL].replace(prefix, "")) : new Error(e_s), | ||
[CMD_ARGS]: acc[URL_FULL] ? RUTR(acc[URL_FULL].replace(prefix, "")) : new Error(e_s), | ||
[CMD_RESO]: (_acc, _res) => (Object.assign(Object.assign({}, (_res && _res[URL_PAGE] && { [URL_PAGE]: _res[URL_PAGE] })), (_res && _res[URL_DATA] && { [URL_DATA]: _res[URL_DATA] }))), | ||
@@ -44,17 +34,14 @@ [CMD_ERRO]: route_error, | ||
}, | ||
SET_ROUTE_PATH, | ||
...postroute, | ||
_SET_ROUTE_PATH, | ||
..._POST, | ||
]; | ||
return subtask; | ||
}; | ||
const SET_ROUTE_LOADING_TRUE = Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: { [STATE_PATH]: [$$_LOAD], [STATE_DATA]: true } }); | ||
const SET_ROUTE_LOADING_FALSE = Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: { [STATE_PATH]: [$$_LOAD], [STATE_DATA]: false } }); | ||
export const NOTIFY_PRERENDER_DOM = registerCMD(cmd_notify_prerender_dom); | ||
export const SET_LINK_ATTRS_DOM = registerCMD(cmd_set_link_attrs_dom); | ||
export const HREF_PUSHSTATE_DOM = registerCMD(cmd_href_pushstate_dom); | ||
export const DOM_URL__ROUTE = (CFG) => { | ||
const match = URL__ROUTE(CFG); | ||
const _SET_ROUTE_LOADING_TRUE = Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: { [STATE_PATH]: [$$_LOAD], [STATE_DATA]: true } }); | ||
const _SET_ROUTE_LOADING_FALSE = Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: { [STATE_PATH]: [$$_LOAD], [STATE_DATA]: false } }); | ||
export const __DOM_URL__ROUTE = (CFG) => { | ||
const match = __URL__ROUTE(CFG); | ||
const subtask = (ACC) => [ | ||
SET_ROUTE_LOADING_TRUE, | ||
Object.assign(Object.assign({}, HREF_PUSHSTATE_DOM), { [CMD_ARGS]: { [URL_FULL]: ACC[URL_FULL], [DOM_NODE]: ACC[DOM_NODE] } }), | ||
_SET_ROUTE_LOADING_TRUE, | ||
Object.assign(Object.assign({}, _HREF_PUSHSTATE_DOM), { [CMD_ARGS]: { [URL_FULL]: ACC[URL_FULL], [DOM_NODE]: ACC[DOM_NODE] } }), | ||
ACC => match({ [URL_FULL]: ACC[URL_FULL] }), | ||
@@ -73,7 +60,7 @@ Object.assign(Object.assign({}, SET_STATE), { [CMD_ARGS]: acc => ({ | ||
}) }), | ||
SET_LINK_ATTRS_DOM, | ||
SET_ROUTE_LOADING_FALSE, | ||
NOTIFY_PRERENDER_DOM, | ||
_SET_LINK_ATTRS_DOM, | ||
_SET_ROUTE_LOADING_FALSE, | ||
_NOTIFY_PRERENDER_DOM, | ||
]; | ||
return subtask; | ||
}; |
@@ -5,3 +5,3 @@ { | ||
"license": "MIT", | ||
"version": "0.3.24", | ||
"version": "0.3.25", | ||
"description": "Browser helpers for -0 state management, routing and the interaction between", | ||
@@ -35,7 +35,7 @@ "main": "./lib/index.js", | ||
"dependencies": { | ||
"@-0/keys": "^0.3.26", | ||
"@-0/utils": "^0.3.26", | ||
"@-0/spool": "^0.3.22", | ||
"@-0/keys": "^0.3.27", | ||
"@-0/utils": "^0.3.27", | ||
"@-0/spool": "^0.3.23", | ||
"@thi.ng/paths": "^4.2.13", | ||
"@thi.ng/rstream": "^6.0.17" | ||
"@thi.ng/rstream": "^6.0.19" | ||
}, | ||
@@ -45,10 +45,10 @@ "devDependencies": { | ||
"@thi.ng/arrays": "^1.0.2", | ||
"@thi.ng/associative": "5.2.12", | ||
"@thi.ng/associative": "5.2.14", | ||
"@thi.ng/atom": "^4.1.41", | ||
"@thi.ng/checks": "^2.9.10", | ||
"@thi.ng/paths": "^4.2.13", | ||
"@thi.ng/rstream": "^6.0.17", | ||
"@thi.ng/transducers": "^7.8.4", | ||
"@thi.ng/rstream": "^6.0.19", | ||
"@thi.ng/transducers": "^7.9.1", | ||
"@types/jest": "^27.0.1", | ||
"@types/node": "^16.6.2", | ||
"@types/node": "^16.7.0", | ||
"@typescript-eslint/eslint-plugin": "^4.29.2", | ||
@@ -55,0 +55,0 @@ "@typescript-eslint/parser": "^4.29.2", |
45815
523
Updated@-0/keys@^0.3.27
Updated@-0/spool@^0.3.23
Updated@-0/utils@^0.3.27
Updated@thi.ng/rstream@^6.0.19