Socket
Socket
Sign inDemoInstall

@babel/template

Package Overview
Dependencies
15
Maintainers
4
Versions
78
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 7.21.4-esm.3 to 7.21.4-esm.4

lib/package.json

28

lib/builder.js

@@ -1,25 +0,19 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createTemplateBuilder;
var _options = require("./options");
var _string = require("./string");
var _literal = require("./literal");
const NO_PLACEHOLDER = (0, _options.validate)({
import { merge, validate } from "./options.js";
import stringTemplate from "./string.js";
import literalTemplate from "./literal.js";
const NO_PLACEHOLDER = validate({
placeholderPattern: false
});
function createTemplateBuilder(formatter, defaultOpts) {
export default function createTemplateBuilder(formatter, defaultOpts) {
const templateFnCache = new WeakMap();
const templateAstCache = new WeakMap();
const cachedOpts = defaultOpts || (0, _options.validate)(null);
const cachedOpts = defaultOpts || validate(null);
return Object.assign((tpl, ...args) => {
if (typeof tpl === "string") {
if (args.length > 1) throw new Error("Unexpected extra params.");
return extendedTrace((0, _string.default)(formatter, tpl, (0, _options.merge)(cachedOpts, (0, _options.validate)(args[0]))));
return extendedTrace(stringTemplate(formatter, tpl, merge(cachedOpts, validate(args[0]))));
} else if (Array.isArray(tpl)) {
let builder = templateFnCache.get(tpl);
if (!builder) {
builder = (0, _literal.default)(formatter, tpl, cachedOpts);
builder = literalTemplate(formatter, tpl, cachedOpts);
templateFnCache.set(tpl, builder);

@@ -30,3 +24,3 @@ }

if (args.length > 0) throw new Error("Unexpected extra params.");
return createTemplateBuilder(formatter, (0, _options.merge)(cachedOpts, (0, _options.validate)(tpl)));
return createTemplateBuilder(formatter, merge(cachedOpts, validate(tpl)));
}

@@ -38,7 +32,7 @@ throw new Error(`Unexpected template param ${typeof tpl}`);

if (args.length > 1) throw new Error("Unexpected extra params.");
return (0, _string.default)(formatter, tpl, (0, _options.merge)((0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])), NO_PLACEHOLDER))();
return stringTemplate(formatter, tpl, merge(merge(cachedOpts, validate(args[0])), NO_PLACEHOLDER))();
} else if (Array.isArray(tpl)) {
let builder = templateAstCache.get(tpl);
if (!builder) {
builder = (0, _literal.default)(formatter, tpl, (0, _options.merge)(cachedOpts, NO_PLACEHOLDER));
builder = literalTemplate(formatter, tpl, merge(cachedOpts, NO_PLACEHOLDER));
templateAstCache.set(tpl, builder);

@@ -45,0 +39,0 @@ }

@@ -1,8 +0,2 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.statements = exports.statement = exports.smart = exports.program = exports.expression = void 0;
var _t = require("@babel/types");
import * as _t from "@babel/types";
const {

@@ -20,3 +14,3 @@ assertExpressionStatement

}
const smart = makeStatementFormatter(body => {
export const smart = makeStatementFormatter(body => {
if (body.length > 1) {

@@ -28,6 +22,4 @@ return body;

});
exports.smart = smart;
const statements = makeStatementFormatter(body => body);
exports.statements = statements;
const statement = makeStatementFormatter(body => {
export const statements = makeStatementFormatter(body => body);
export const statement = makeStatementFormatter(body => {
if (body.length === 0) {

@@ -41,4 +33,3 @@ throw new Error("Found nothing to return.");

});
exports.statement = statement;
const expression = {
export const expression = {
code: str => `(\n${str}\n)`,

@@ -61,4 +52,3 @@ validate: ast => {

};
exports.expression = expression;
const program = {
export const program = {
code: str => str,

@@ -68,4 +58,3 @@ validate: () => {},

};
exports.program = program;
//# sourceMappingURL=formatters.js.map

@@ -1,20 +0,9 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.statements = exports.statement = exports.smart = exports.program = exports.expression = exports.default = void 0;
var formatters = require("./formatters");
var _builder = require("./builder");
const smart = (0, _builder.default)(formatters.smart);
exports.smart = smart;
const statement = (0, _builder.default)(formatters.statement);
exports.statement = statement;
const statements = (0, _builder.default)(formatters.statements);
exports.statements = statements;
const expression = (0, _builder.default)(formatters.expression);
exports.expression = expression;
const program = (0, _builder.default)(formatters.program);
exports.program = program;
var _default = Object.assign(smart.bind(undefined), {
import * as formatters from "./formatters.js";
import createTemplateBuilder from "./builder.js";
export const smart = createTemplateBuilder(formatters.smart);
export const statement = createTemplateBuilder(formatters.statement);
export const statements = createTemplateBuilder(formatters.statements);
export const expression = createTemplateBuilder(formatters.expression);
export const program = createTemplateBuilder(formatters.program);
export default Object.assign(smart.bind(undefined), {
smart,

@@ -27,4 +16,3 @@ statement,

});
exports.default = _default;
//# sourceMappingURL=index.js.map

@@ -1,11 +0,5 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = literalTemplate;
var _options = require("./options");
var _parse = require("./parse");
var _populate = require("./populate");
function literalTemplate(formatter, tpl, opts) {
import { normalizeReplacements } from "./options.js";
import parseAndBuildMetadata from "./parse.js";
import populatePlaceholders from "./populate.js";
export default function literalTemplate(formatter, tpl, opts) {
const {

@@ -21,3 +15,3 @@ metadata,

return arg => {
const replacements = (0, _options.normalizeReplacements)(arg);
const replacements = normalizeReplacements(arg);
if (replacements) {

@@ -30,3 +24,3 @@ Object.keys(replacements).forEach(key => {

}
return formatter.unwrap((0, _populate.default)(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements));
return formatter.unwrap(populatePlaceholders(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements));
};

@@ -45,3 +39,3 @@ };

nameSet = new Set(names);
metadata = (0, _parse.default)(formatter, formatter.code(result.code), {
metadata = parseAndBuildMetadata(formatter, formatter.code(result.code), {
parser: opts.parser,

@@ -48,0 +42,0 @@ placeholderWhitelist: new Set(result.names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])),

@@ -1,12 +0,4 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.merge = merge;
exports.normalizeReplacements = normalizeReplacements;
exports.validate = validate;
const _excluded = ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"];
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function merge(a, b) {
export function merge(a, b) {
const {

@@ -26,3 +18,3 @@ placeholderWhitelist = a.placeholderWhitelist,

}
function validate(opts) {
export function validate(opts) {
if (opts != null && typeof opts !== "object") {

@@ -62,3 +54,3 @@ throw new Error("Unknown template options.");

}
function normalizeReplacements(replacements) {
export function normalizeReplacements(replacements) {
if (Array.isArray(replacements)) {

@@ -65,0 +57,0 @@ return replacements.reduce((acc, replacement, i) => {

@@ -1,10 +0,2 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseAndBuildMetadata;
var _t = require("@babel/types");
var _parser = require("@babel/parser");
var _codeFrame = require("@babel/code-frame");
import * as _t from "@babel/types";
const {

@@ -23,4 +15,6 @@ isCallExpression,

} = _t;
import { parse } from "@babel/parser";
import { codeFrameColumns } from "@babel/code-frame";
const PATTERN = /^[_$A-Z0-9]+$/;
function parseAndBuildMetadata(formatter, code, opts) {
export default function parseAndBuildMetadata(formatter, code, opts) {
const {

@@ -155,7 +149,7 @@ placeholderWhitelist,

try {
return (0, _parser.parse)(code, parserOpts);
return parse(code, parserOpts);
} catch (err) {
const loc = err.loc;
if (loc) {
err.message += "\n" + (0, _codeFrame.codeFrameColumns)(code, {
err.message += "\n" + codeFrameColumns(code, {
start: loc

@@ -162,0 +156,0 @@ });

@@ -1,8 +0,2 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = populatePlaceholders;
var _t = require("@babel/types");
import * as _t from "@babel/types";
const {

@@ -19,3 +13,3 @@ blockStatement,

} = _t;
function populatePlaceholders(metadata, replacements) {
export default function populatePlaceholders(metadata, replacements) {
const ast = cloneNode(metadata.ast);

@@ -22,0 +16,0 @@ if (replacements) {

@@ -1,17 +0,11 @@

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = stringTemplate;
var _options = require("./options");
var _parse = require("./parse");
var _populate = require("./populate");
function stringTemplate(formatter, code, opts) {
import { normalizeReplacements } from "./options.js";
import parseAndBuildMetadata from "./parse.js";
import populatePlaceholders from "./populate.js";
export default function stringTemplate(formatter, code, opts) {
code = formatter.code(code);
let metadata;
return arg => {
const replacements = (0, _options.normalizeReplacements)(arg);
if (!metadata) metadata = (0, _parse.default)(formatter, code, opts);
return formatter.unwrap((0, _populate.default)(metadata, replacements));
const replacements = normalizeReplacements(arg);
if (!metadata) metadata = parseAndBuildMetadata(formatter, code, opts);
return formatter.unwrap(populatePlaceholders(metadata, replacements));
};

@@ -18,0 +12,0 @@ }

{
"name": "@babel/template",
"version": "7.21.4-esm.3",
"version": "7.21.4-esm.4",
"description": "Generate an AST from a string template.",

@@ -19,5 +19,5 @@ "author": "The Babel Team (https://babel.dev/team)",

"dependencies": {
"@babel/code-frame": "7.21.4-esm.3",
"@babel/parser": "7.21.4-esm.3",
"@babel/types": "7.21.4-esm.3"
"@babel/code-frame": "7.21.4-esm.4",
"@babel/parser": "7.21.4-esm.4",
"@babel/types": "7.21.4-esm.4"
},

@@ -24,0 +24,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc