Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@player-ui/view

Package Overview
Dependencies
Maintainers
2
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@player-ui/view - npm Package Compare versions

Comparing version 0.0.1-next.13 to 0.0.1-next.14

30

dist/index.cjs.js

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

localValue.forEach((template) => {
var _a2;
var _a2, _b;
const templateAST = this.hooks.onCreateASTNode.call({

@@ -147,3 +147,4 @@ type: exports.NodeType.Template,

data: template.data,
template: template.value
template: template.value,
dynamic: (_b = template.dynamic) != null ? _b : false
}, template);

@@ -362,3 +363,4 @@ if (templateAST) {

}),
evaluate: (exp) => this.options.evaluator.evaluate(exp, { model: depModelWithParser })
evaluate: (exp) => this.options.evaluator.evaluate(exp, { model: depModelWithParser }),
node
}), node);

@@ -402,2 +404,3 @@ const previousResult = this.getPreviousResult(node);

};
resolveOptions.node = resolvedAST;
this.ASTMap.set(resolvedAST, node);

@@ -469,5 +472,5 @@ let resolved = this.hooks.resolve.call(void 0, resolvedAST, resolveOptions);

}
parseTemplate(parser, node) {
parseTemplate(parseObject, node, options) {
const { template, depth } = node;
const data = this.options.data.model.get(node.data);
const data = options.data.model.get(node.data);
if (!data) {

@@ -499,3 +502,5 @@ return null;

}
const parsed = parser.parseObject(JSON.parse(templateStr), exports.NodeType.Value, { templateDepth: node.depth + 1 });
const parsed = parseObject(JSON.parse(templateStr), exports.NodeType.Value, {
templateDepth: node.depth + 1
});
if (parsed) {

@@ -517,4 +522,4 @@ values.push(parsed);

parser.hooks.onCreateASTNode.tap("template", (node) => {
if (node && node.type === exports.NodeType.Template) {
return this.parseTemplate(parser, node);
if (node && node.type === exports.NodeType.Template && !node.dynamic) {
return this.parseTemplate(parser.parseObject.bind(parser), node, this.options);
}

@@ -524,4 +529,13 @@ return node;

}
applyResolverHooks(resolver) {
resolver.hooks.beforeResolve.tap("template", (node, options) => {
if (node && node.type === exports.NodeType.Template && node.dynamic) {
return this.parseTemplate(options.parseNode, node, options);
}
return node;
});
}
apply(view) {
view.hooks.parser.tap("template", this.applyParserHooks.bind(this));
view.hooks.resolver.tap("template", this.applyResolverHooks.bind(this));
}

@@ -528,0 +542,0 @@ }

@@ -66,2 +66,4 @@ import * as _player_ui_types from '@player-ui/types';

depth: number;
/** should the template recomputed when data changes */
dynamic?: boolean;
}

@@ -207,2 +209,4 @@ interface Value extends BaseWithChildren<NodeType.Value>, PluginOptions {

getDependencies?(scope?: 'core' | 'children'): Set<BindingInstance>;
/** original node */
node?: Node.Node;
};

@@ -357,2 +361,3 @@ type ResolverOptions = BaseOptions & {

applyParserHooks(parser: Parser): void;
applyResolverHooks(resolver: Resolver): void;
apply(view: View): void;

@@ -359,0 +364,0 @@ }

@@ -133,3 +133,3 @@ import { SyncWaterfallHook, SyncHook } from 'tapable-ts';

localValue.forEach((template) => {
var _a2;
var _a2, _b;
const templateAST = this.hooks.onCreateASTNode.call({

@@ -139,3 +139,4 @@ type: NodeType.Template,

data: template.data,
template: template.value
template: template.value,
dynamic: (_b = template.dynamic) != null ? _b : false
}, template);

@@ -354,3 +355,4 @@ if (templateAST) {

}),
evaluate: (exp) => this.options.evaluator.evaluate(exp, { model: depModelWithParser })
evaluate: (exp) => this.options.evaluator.evaluate(exp, { model: depModelWithParser }),
node
}), node);

@@ -394,2 +396,3 @@ const previousResult = this.getPreviousResult(node);

};
resolveOptions.node = resolvedAST;
this.ASTMap.set(resolvedAST, node);

@@ -461,5 +464,5 @@ let resolved = this.hooks.resolve.call(void 0, resolvedAST, resolveOptions);

}
parseTemplate(parser, node) {
parseTemplate(parseObject, node, options) {
const { template, depth } = node;
const data = this.options.data.model.get(node.data);
const data = options.data.model.get(node.data);
if (!data) {

@@ -491,3 +494,5 @@ return null;

}
const parsed = parser.parseObject(JSON.parse(templateStr), NodeType.Value, { templateDepth: node.depth + 1 });
const parsed = parseObject(JSON.parse(templateStr), NodeType.Value, {
templateDepth: node.depth + 1
});
if (parsed) {

@@ -509,4 +514,4 @@ values.push(parsed);

parser.hooks.onCreateASTNode.tap("template", (node) => {
if (node && node.type === NodeType.Template) {
return this.parseTemplate(parser, node);
if (node && node.type === NodeType.Template && !node.dynamic) {
return this.parseTemplate(parser.parseObject.bind(parser), node, this.options);
}

@@ -516,4 +521,13 @@ return node;

}
applyResolverHooks(resolver) {
resolver.hooks.beforeResolve.tap("template", (node, options) => {
if (node && node.type === NodeType.Template && node.dynamic) {
return this.parseTemplate(options.parseNode, node, options);
}
return node;
});
}
apply(view) {
view.hooks.parser.tap("template", this.applyParserHooks.bind(this));
view.hooks.resolver.tap("template", this.applyResolverHooks.bind(this));
}

@@ -520,0 +534,0 @@ }

{
"name": "@player-ui/view",
"version": "0.0.1-next.13",
"version": "0.0.1-next.14",
"private": false,

@@ -10,12 +10,12 @@ "publishConfig": {

"dependencies": {
"@player-ui/binding": "0.0.1-next.13",
"@player-ui/constants": "0.0.1-next.13",
"@player-ui/data": "0.0.1-next.13",
"@player-ui/expressions": "0.0.1-next.13",
"@player-ui/flow": "0.0.1-next.13",
"@player-ui/types": "0.0.1-next.13",
"@player-ui/schema": "0.0.1-next.13",
"@player-ui/logger": "0.0.1-next.13",
"@player-ui/string-resolver": "0.0.1-next.13",
"@player-ui/validator": "0.0.1-next.13",
"@player-ui/binding": "0.0.1-next.14",
"@player-ui/constants": "0.0.1-next.14",
"@player-ui/data": "0.0.1-next.14",
"@player-ui/expressions": "0.0.1-next.14",
"@player-ui/flow": "0.0.1-next.14",
"@player-ui/types": "0.0.1-next.14",
"@player-ui/schema": "0.0.1-next.14",
"@player-ui/logger": "0.0.1-next.14",
"@player-ui/string-resolver": "0.0.1-next.14",
"@player-ui/validator": "0.0.1-next.14",
"tapable-ts": "^0.1.0",

@@ -22,0 +22,0 @@ "timm": "^1.6.2",

@@ -187,2 +187,3 @@ import { omit, setIn } from 'timm';

template: template.value,
dynamic: template.dynamic ?? false,
},

@@ -189,0 +190,0 @@ template

@@ -75,2 +75,5 @@ import type { Asset as AssetType, Expression, Binding } from '@player-ui/types';

depth: number;
/** should the template recomputed when data changes */
dynamic?: boolean;
}

@@ -77,0 +80,0 @@

@@ -7,2 +7,3 @@ import { SyncWaterfallHook } from 'tapable-ts';

import type { Options } from './options';
import type { Resolver } from '../resolver';

@@ -44,5 +45,9 @@ export interface TemplateItemInfo {

private parseTemplate(parser: Parser, node: Node.Template): Node.Node | null {
private parseTemplate(
parseObject: any,
node: Node.Template,
options: Options
): Node.Node | null {
const { template, depth } = node;
const data = this.options.data.model.get(node.data);
const data = options.data.model.get(node.data);

@@ -85,7 +90,5 @@ if (!data) {

const parsed = parser.parseObject(
JSON.parse(templateStr),
NodeType.Value,
{ templateDepth: node.depth + 1 }
);
const parsed = parseObject(JSON.parse(templateStr), NodeType.Value, {
templateDepth: node.depth + 1,
});

@@ -113,4 +116,8 @@ if (parsed) {

parser.hooks.onCreateASTNode.tap('template', (node) => {
if (node && node.type === NodeType.Template) {
return this.parseTemplate(parser, node);
if (node && node.type === NodeType.Template && !node.dynamic) {
return this.parseTemplate(
parser.parseObject.bind(parser),
node,
this.options
);
}

@@ -122,5 +129,16 @@

applyResolverHooks(resolver: Resolver) {
resolver.hooks.beforeResolve.tap('template', (node, options) => {
if (node && node.type === NodeType.Template && node.dynamic) {
return this.parseTemplate(options.parseNode, node, options);
}
return node;
});
}
apply(view: View) {
view.hooks.parser.tap('template', this.applyParserHooks.bind(this));
view.hooks.resolver.tap('template', this.applyResolverHooks.bind(this));
}
}

@@ -232,2 +232,3 @@ import { SyncWaterfallHook, SyncHook } from 'tapable-ts';

this.options.evaluator.evaluate(exp, { model: depModelWithParser }),
node,
},

@@ -294,2 +295,4 @@ node

resolveOptions.node = resolvedAST;
this.ASTMap.set(resolvedAST, node);

@@ -296,0 +299,0 @@

@@ -107,2 +107,5 @@ import type {

getDependencies?(scope?: 'core' | 'children'): Set<BindingInstance>;
/** original node */
node?: Node.Node;
};

@@ -109,0 +112,0 @@

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