Socket
Socket
Sign inDemoInstall

@endorphinjs/template-runtime

Package Overview
Dependencies
Maintainers
1
Versions
85
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@endorphinjs/template-runtime - npm Package Compare versions

Comparing version 0.1.8 to 0.1.9

118

dist/runtime.cjs.js

@@ -28,7 +28,6 @@ 'use strict';

* @param {*} [ctx]
* @returns {number} Finalization status where 0 means no updates and 1 means
* data updated
* @returns {boolean} Returns `true` if data was updated
*/
function finalizeItems(items, change, ctx) {
let updated = 0;
let updated = false;
const { cur, prev } = items;

@@ -39,3 +38,3 @@

if (curValue !== prevValue) {
updated = 1;
updated = true;
change(name, prevValue, prev[name] = curValue, ctx);

@@ -128,2 +127,24 @@ }

/**
* Represents given attribute value in element
* @param {Element} elem
* @param {string} name
* @param {*} value
*/
function representAttributeValue(elem, name, value) {
const type = typeof(value);
if (type === 'boolean') {
value = value ? '' : null;
} else if (type === 'function') {
value = '𝑓';
} else if (Array.isArray(value)) {
value = '[]';
} else if (isDefined(value) && type === 'object') {
value = '{}';
}
isDefined(value) ? elem.setAttribute(name, value) : elem.removeAttribute(name);
}
/**
* Invokes `fn` for each `name` hook in given definition

@@ -269,3 +290,3 @@ * @param {ComponentDefinition} definition

* @param {Injector} injector
* @returns {number} Update status
* @returns {boolean} Update status
*/

@@ -393,3 +414,3 @@ function finalizeEvents(injector) {

* @param {Object} [data] Additional props (most likely static ones)
* @return {Object} Updated props, if any
* @return {Changes} Updated props, if any
*/

@@ -401,4 +422,3 @@ function finalizeProps(injector, data) {

if (data || updated) {
/** @type {Component} */ (injector.parentNode).setProps(changes);
return changes;
return /** @type {Component} */ (injector.parentNode).setProps(changes);
}

@@ -450,3 +470,3 @@ }

if (isDefined(newValue)) {
elem.setAttribute(name, newValue);
representAttributeValue(elem, name, newValue);
} else if (isDefined(prevValue)) {

@@ -563,3 +583,3 @@ elem.removeAttribute(name);

function mountSlot(host, name, elem, defaultContent) {
const blockEntry = (host, injector) => {
const blockEntry = (host, scope, injector) => {
if (!renderSlot(host, injector)) {

@@ -641,19 +661,34 @@ return defaultContent;

const defaultProps = collectData(definition, 'props');
element.refs = {};
element.props = collectData(definition, 'props');
element.props = assign(obj(), defaultProps);
element.state = collectData(definition, 'state');
element.setProps = function setProps(value, silent) {
const changes = value != null && changed(value, element.props);
const { componentModel } = element;
// In case of calling `setProps` after component was unmounted,
// check if `componentModel` is available
if (!componentModel || value == null) {
return;
}
value = fillDefaults(value, defaultProps);
const changes = changed(value, element.props);
if (changes) {
assign(element.props, value);
representProps(element, value);
if (!silent && element.componentModel.mounted) {
if (!silent && componentModel.mounted) {
renderNext(element, changes);
}
}
return changes;
};
element.setState = function setState(value, silent) {
if (value != null && changed(value, element.state)) {
const { componentModel } = element;
const { componentModel } = element;
// In case of calling `setState` after component was unmounted,
// check if `componentModel` is available
if (componentModel && value != null && changed(value, element.state)) {
assign(element.state, value);

@@ -664,3 +699,3 @@

// applied during rendering stage.
// If called outside oif rendering state we should schedule render
// If called outside of rendering state we should schedule render
// on next tick

@@ -744,4 +779,4 @@ if (!silent && componentModel.mounted && !componentModel.rendering) {

const { componentModel } = elem$$1;
updateSlots(elem$$1);
finalizeEvents(componentModel.input);
updateSlots(elem$$1);
const changes = finalizeProps(componentModel.input);

@@ -872,17 +907,3 @@ if (changes) {

if (!/^partial:/.test(p)) {
const name = p.replace(/[A-Z]/g, kebabCase);
let value = props[p];
const type = typeof(value);
if (type === 'boolean') {
value = value ? '' : null;
} else if (type === 'function') {
value = '𝑓';
} else if (Array.isArray(value)) {
value = '[]';
} else if (isDefined(value) && type === 'object') {
value = '{}';
}
isDefined(value) ? elem$$1.setAttribute(name, value) : elem$$1.removeAttribute(name);
representAttributeValue(elem$$1, p.replace(/[A-Z]/g, kebabCase), props[p]);
}

@@ -904,5 +925,10 @@ }

const handler = function (evt) {
if (!component.componentModel) {
// In case if component was unmounted
return;
}
const listeners = eventMap[evt.type].listeners;
for (let i = 0; i < listeners.length; i++) {
listeners[i].call(this, evt, component);
listeners[i](component, evt, this);
}

@@ -951,2 +977,24 @@ };

/**
* Fills any `null` or `undefined` item in `data` with value from `defaults`
* @param {Object} data
* @param {Object} defaults
* @returns {Object}
*/
function fillDefaults(data, defaults) {
if (data) {
const result = obj();
for (const p in data) {
if (data[p] == null && p in defaults) {
result[p] = defaults[p];
} else if (data[p] !== result[p]) {
// Skip data from prototype
result[p] = data[p];
}
}
return result;
}
}
const blockKey = '&block';

@@ -1252,3 +1300,3 @@

const scope = getScope(component);
const fn = ctx.get(component, injector, scope);
const fn = ctx.get(component, scope, injector);

@@ -1446,3 +1494,3 @@ if (ctx.fn !== fn) {

* @param {Component} host
* @returns {number} Update status
* @returns {boolean} Update status
*/

@@ -1449,0 +1497,0 @@ function finalizeRefs(host) {

@@ -24,7 +24,6 @@ /**

* @param {*} [ctx]
* @returns {number} Finalization status where 0 means no updates and 1 means
* data updated
* @returns {boolean} Returns `true` if data was updated
*/
function finalizeItems(items, change, ctx) {
let updated = 0;
let updated = false;
const { cur, prev } = items;

@@ -35,3 +34,3 @@

if (curValue !== prevValue) {
updated = 1;
updated = true;
change(name, prevValue, prev[name] = curValue, ctx);

@@ -124,2 +123,24 @@ }

/**
* Represents given attribute value in element
* @param {Element} elem
* @param {string} name
* @param {*} value
*/
function representAttributeValue(elem, name, value) {
const type = typeof(value);
if (type === 'boolean') {
value = value ? '' : null;
} else if (type === 'function') {
value = '𝑓';
} else if (Array.isArray(value)) {
value = '[]';
} else if (isDefined(value) && type === 'object') {
value = '{}';
}
isDefined(value) ? elem.setAttribute(name, value) : elem.removeAttribute(name);
}
/**
* Invokes `fn` for each `name` hook in given definition

@@ -265,3 +286,3 @@ * @param {ComponentDefinition} definition

* @param {Injector} injector
* @returns {number} Update status
* @returns {boolean} Update status
*/

@@ -389,3 +410,3 @@ function finalizeEvents(injector) {

* @param {Object} [data] Additional props (most likely static ones)
* @return {Object} Updated props, if any
* @return {Changes} Updated props, if any
*/

@@ -397,4 +418,3 @@ function finalizeProps(injector, data) {

if (data || updated) {
/** @type {Component} */ (injector.parentNode).setProps(changes);
return changes;
return /** @type {Component} */ (injector.parentNode).setProps(changes);
}

@@ -446,3 +466,3 @@ }

if (isDefined(newValue)) {
elem.setAttribute(name, newValue);
representAttributeValue(elem, name, newValue);
} else if (isDefined(prevValue)) {

@@ -559,3 +579,3 @@ elem.removeAttribute(name);

function mountSlot(host, name, elem, defaultContent) {
const blockEntry = (host, injector) => {
const blockEntry = (host, scope, injector) => {
if (!renderSlot(host, injector)) {

@@ -637,19 +657,34 @@ return defaultContent;

const defaultProps = collectData(definition, 'props');
element.refs = {};
element.props = collectData(definition, 'props');
element.props = assign(obj(), defaultProps);
element.state = collectData(definition, 'state');
element.setProps = function setProps(value, silent) {
const changes = value != null && changed(value, element.props);
const { componentModel } = element;
// In case of calling `setProps` after component was unmounted,
// check if `componentModel` is available
if (!componentModel || value == null) {
return;
}
value = fillDefaults(value, defaultProps);
const changes = changed(value, element.props);
if (changes) {
assign(element.props, value);
representProps(element, value);
if (!silent && element.componentModel.mounted) {
if (!silent && componentModel.mounted) {
renderNext(element, changes);
}
}
return changes;
};
element.setState = function setState(value, silent) {
if (value != null && changed(value, element.state)) {
const { componentModel } = element;
const { componentModel } = element;
// In case of calling `setState` after component was unmounted,
// check if `componentModel` is available
if (componentModel && value != null && changed(value, element.state)) {
assign(element.state, value);

@@ -660,3 +695,3 @@

// applied during rendering stage.
// If called outside oif rendering state we should schedule render
// If called outside of rendering state we should schedule render
// on next tick

@@ -740,4 +775,4 @@ if (!silent && componentModel.mounted && !componentModel.rendering) {

const { componentModel } = elem$$1;
updateSlots(elem$$1);
finalizeEvents(componentModel.input);
updateSlots(elem$$1);
const changes = finalizeProps(componentModel.input);

@@ -868,17 +903,3 @@ if (changes) {

if (!/^partial:/.test(p)) {
const name = p.replace(/[A-Z]/g, kebabCase);
let value = props[p];
const type = typeof(value);
if (type === 'boolean') {
value = value ? '' : null;
} else if (type === 'function') {
value = '𝑓';
} else if (Array.isArray(value)) {
value = '[]';
} else if (isDefined(value) && type === 'object') {
value = '{}';
}
isDefined(value) ? elem$$1.setAttribute(name, value) : elem$$1.removeAttribute(name);
representAttributeValue(elem$$1, p.replace(/[A-Z]/g, kebabCase), props[p]);
}

@@ -900,5 +921,10 @@ }

const handler = function (evt) {
if (!component.componentModel) {
// In case if component was unmounted
return;
}
const listeners = eventMap[evt.type].listeners;
for (let i = 0; i < listeners.length; i++) {
listeners[i].call(this, evt, component);
listeners[i](component, evt, this);
}

@@ -947,2 +973,24 @@ };

/**
* Fills any `null` or `undefined` item in `data` with value from `defaults`
* @param {Object} data
* @param {Object} defaults
* @returns {Object}
*/
function fillDefaults(data, defaults) {
if (data) {
const result = obj();
for (const p in data) {
if (data[p] == null && p in defaults) {
result[p] = defaults[p];
} else if (data[p] !== result[p]) {
// Skip data from prototype
result[p] = data[p];
}
}
return result;
}
}
const blockKey = '&block';

@@ -1248,3 +1296,3 @@

const scope = getScope(component);
const fn = ctx.get(component, injector, scope);
const fn = ctx.get(component, scope, injector);

@@ -1442,3 +1490,3 @@ if (ctx.fn !== fn) {

* @param {Component} host
* @returns {number} Update status
* @returns {boolean} Update status
*/

@@ -1445,0 +1493,0 @@ function finalizeRefs(host) {

{
"name": "@endorphinjs/template-runtime",
"version": "0.1.8",
"version": "0.1.9",
"description": "EndorphinJS template runtime, embedded with template bundles",

@@ -5,0 +5,0 @@ "main": "./dist/runtime.cjs.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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