New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dompteuse

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dompteuse - npm Package Compare versions

Comparing version 0.3.3 to 0.3.4

2

example/package.json

@@ -13,3 +13,3 @@ {

"typescript": "1.8.7",
"dompteuse": "0.3.3",
"dompteuse": "0.3.4",
"snabbdom": "0.4.2",

@@ -16,0 +16,0 @@ "most": "0.19.6",

import { api as router } from 'abyssa'
import { Component, h, ConnectParams, Message } from 'dompteuse'
import { Component, h, ConnectParams, Message, Messages } from 'dompteuse'
import * as most from 'most'

@@ -50,3 +50,3 @@ import { Stream } from 'most'

function connect({ on, messages }: ConnectParams<void, State>) {
messages.listen(Increment).forEach(_ => appState.send(incrementBlue()))
on(Increment, _ => appState.send(incrementBlue()))

@@ -57,2 +57,22 @@ on(appState, state => merge(state, readGlobalState()))

const [userData, loading] = getUserData(messages)
on(userData, (state, users) => merge(state, { users }))
on(loading, (state, loading) => merge(state, { loading }))
}
function getUserData(messages: Messages): [Stream<string[]>, Stream<boolean>] {
function getSomeUsers() {
interface User {
name: { first: string, last: string }
}
return most.fromPromise(fetch('https://randomuser.me/api/?results=10')
.then(res => res.json())
.then(json => (json.results as Array<User>).map((user: any) =>
`${user.name.first} ${user.name.last}`)
)
).delay(2000)
}
const refreshes = messages.listen(RefreshSelect).startWith(undefined).multicast()

@@ -69,4 +89,3 @@ const userData = refreshes

on(userData, (state, users) => merge(state, { users }))
on(loading, (state, loading) => merge(state, { loading }))
return [userData, loading]
}

@@ -95,3 +114,3 @@

if (route === 'app.blue.red') return [
h('div.red', [
h('div.red', { key: 'red' }, [
h('button', { events: { onClick: RefreshSelect } }, 'Refresh select list'),

@@ -108,14 +127,1 @@ h('br'),

}
function getSomeUsers() {
interface User {
name: { first: string, last: string }
}
return most.fromPromise(fetch('https://randomuser.me/api/?results=10')
.then(res => res.json())
.then(json => (json.results as Array<User>).map((user: any) =>
`${user.name.first} ${user.name.last}`)
)
).delay(2000)
}

@@ -89,3 +89,3 @@ import { Component, h, Message, ConnectParams } from 'dompteuse'

return popup({ content })
return popup({ content, onClose: Popup.Close })
}

@@ -14,2 +14,3 @@

content: Array<Vnode>
onClose: Function
}

@@ -34,6 +35,8 @@

messages.listenAt('#popups', Close).forEach(_ => messages.send(Close()))
messages.listenAt('#popups', Close).forEach(_ =>
messages.send(props().onClose()))
messages.listenAt('#popups', OverlayClick).forEach(evt => {
if (!findParentByClass('popup', evt.target as Element)) messages.send(Close())
if (!findParentByClass('popup', evt.target as Element))
messages.send(props().onClose())
})

@@ -40,0 +43,0 @@ }

@@ -49,6 +49,3 @@ import update from 'immupdate'

on(ItemSelected, (state, item) => {
messages.send(props().onChange(item))
return state
})
on(ItemSelected, (state, item) => messages.send(props().onChange(item)))
}

@@ -55,0 +52,0 @@

@@ -97,6 +97,10 @@ 'use strict';

var oldState = component.state;
component.state = fn(oldState, val);
var newState = fn(oldState, val);
if (!(0, _shallowEqual2.default)(oldState, component.state)) {
if (_log2.default.stream) console.log('Component state changed', '\'' + component.key + '\'', component.state);
if (newState === undefined) return;
component.state = newState;
if (!(0, _shallowEqual2.default)(oldState, newState)) {
if (_log2.default.stream) console.log('Component state updated %c' + component.key, 'font-weight: bold', component.state);
(0, _render.renderComponentAsync)(component);

@@ -103,0 +107,0 @@ }

@@ -11,5 +11,5 @@

interface StreamSub<S> {
<A>(stream: Stream<A>, cb: (state: S, value: A) => S): Stream<A>;
(message: NoArgMessage, cb: (state: S) => S): Stream<void>;
<P>(message: Message<P>, cb: (state: S, payload: P) => S): Stream<P>;
<A>(stream: Stream<A>, cb: (state: S, value: A) => S|void): Stream<A>;
(message: NoArgMessage, cb: (state: S) => S|void): Stream<void>;
<P>(message: Message<P>, cb: (state: S, payload: P) => S|void): Stream<P>;
}

@@ -16,0 +16,0 @@

@@ -32,3 +32,3 @@ 'use strict';

if (log) console.log('%cInitial state:', 'color: green', initialState);
if (log) console.log('%cGlobal stream - initial state:', 'color: green', initialState);

@@ -59,3 +59,3 @@ var stream = _most2.default.create(function (add, end, error) {

} finally {
if (log) console.log('%cNew GlobalStream state:', 'color: blue', newState);
if (log) console.log('%cGlobal stream - state updated:', 'color: green', newState);

@@ -62,0 +62,0 @@ dispatching = false;

@@ -30,9 +30,9 @@ 'use strict';

function renderApp(app, appElm) {
// Non destructive patching inside the app element
var elmToReplace = document.createElement('div');
var appNode = Render.patch(elmToReplace, app);
appElm.appendChild(appNode.elm);
logBeginRender();
var emptyVnode = (0, _vnode2.default)('div', { key: '_init' }, [], undefined, appElm);
Render.patch(emptyVnode, app);
newComponents.forEach(function (c) {
return c.lifecycle.inserted(c);
});
logEndRender();
}

@@ -88,3 +88,6 @@

if (_log2.default.render) console.log('Render component \'' + component.key + '\'', performance.now() - beforeRender + ' ms', component);
if (_log2.default.render) {
var renderTime = Math.round((performance.now() - beforeRender) * 100) / 100;
console.log('Render component %c' + component.key, 'font-weight: bold', renderTime + ' ms', component);
}

@@ -101,3 +104,3 @@ component.lifecycle.rendered(component, newVnode);

if (_log2.default.render) console.log('%cBegin rendering', 'color: orange');
logBeginRender();

@@ -120,3 +123,11 @@ // Render components in a top-down fashion.

if (_log2.default.render) console.log('%cEnd rendering', 'color: orange');
logEndRender();
}
function logBeginRender() {
if (_log2.default.render) console.log('%cRender - begin', 'color: orange');
}
function logEndRender() {
if (_log2.default.render) console.log('%cRender - end\n\n', 'color: orange');
}
{
"name": "dompteuse",
"version": "0.3.3",
"version": "0.3.4",
"main": "lib/dompteuse",

@@ -5,0 +5,0 @@ "typings": "lib/dompteuse.d.ts",

@@ -279,2 +279,3 @@ # dompteuse

Used to subscribe to a stream and update the component state.
If nothing is returned (undefined) then the component state is not modified.

@@ -284,7 +285,7 @@ Signature:

```javascript
on<A>(stream: Stream<A>, cb: (state: S, value: A) => S): Stream<A>
on(message: NoArgMessage, cb: (state: S) => S): Stream<void>
on<A>(stream: Stream<A>, cb: (state: S, value: A) => S|void): Stream<A>
on(message: NoArgMessage, cb: (state: S) => S|void): Stream<void>
// Shortcut for on(messages.listen(MyMessage))
on<P>(message: Message<P>, cb: (state: S, payload: P) => S): Stream<P>
on<P>(message: Message<P>, cb: (state: S, payload: P) => S|void): Stream<P>
```

@@ -291,0 +292,0 @@

@@ -69,7 +69,11 @@ import h from 'snabbdom/h';

const oldState = component.state;
component.state = fn(oldState, val);
const newState = fn(oldState, val);
if (!shallowEqual(oldState, component.state)) {
if (newState === undefined) return;
component.state = newState;
if (!shallowEqual(oldState, newState)) {
if (log.stream)
console.log('Component state changed', `'${component.key}'`, component.state);
console.log(`Component state updated %c${component.key}`, 'font-weight: bold', component.state);
renderComponentAsync(component);

@@ -76,0 +80,0 @@ }

@@ -19,3 +19,3 @@ /* Opt-in, convenience construct used to update a global stream imperatively and in a type safe fashion */

if (log)
console.log('%cInitial state:', 'color: green', initialState);
console.log('%cGlobal stream - initial state:', 'color: green', initialState);

@@ -46,3 +46,3 @@ const stream = most.create((add, end, error) => {

if (log)
console.log(`%cNew GlobalStream state:`, 'color: blue', newState);
console.log(`%cGlobal stream - state updated:`, 'color: green', newState);

@@ -49,0 +49,0 @@ dispatching = false;

@@ -16,7 +16,7 @@

export function renderApp(app, appElm) {
// Non destructive patching inside the app element
const elmToReplace = document.createElement('div');
const appNode = Render.patch(elmToReplace, app);
appElm.appendChild(appNode.elm);
logBeginRender();
const emptyVnode = Vnode('div', { key: '_init' }, [], undefined, appElm);
Render.patch(emptyVnode, app);
newComponents.forEach(c => c.lifecycle.inserted(c));
logEndRender();
}

@@ -66,4 +66,6 @@

if (log.render) console.log(`Render component '${component.key}'`,
(performance.now() - beforeRender) + ' ms', component);
if (log.render) {
const renderTime = Math.round((performance.now() - beforeRender) * 100) / 100;
console.log(`Render component %c${component.key}`, 'font-weight: bold', renderTime + ' ms', component);
}

@@ -80,3 +82,3 @@ component.lifecycle.rendered(component, newVnode);

if (log.render) console.log('%cBegin rendering', 'color: orange');
logBeginRender();

@@ -93,3 +95,11 @@ // Render components in a top-down fashion.

if (log.render) console.log('%cEnd rendering', 'color: green');
logEndRender();
}
function logBeginRender() {
if (log.render) console.log('%cRender - begin', 'color: orange');
}
function logEndRender() {
if (log.render) console.log('%cRender - end\n\n', 'color: orange');
}

@@ -11,5 +11,5 @@

interface StreamSub<S> {
<A>(stream: Stream<A>, cb: (state: S, value: A) => S): Stream<A>;
(message: NoArgMessage, cb: (state: S) => S): Stream<void>;
<P>(message: Message<P>, cb: (state: S, payload: P) => S): Stream<P>;
<A>(stream: Stream<A>, cb: (state: S, value: A) => S|void): Stream<A>;
(message: NoArgMessage, cb: (state: S) => S|void): Stream<void>;
<P>(message: Message<P>, cb: (state: S, payload: P) => S|void): Stream<P>;
}

@@ -16,0 +16,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc