@locker/ast-lib-maker
Advanced tools
Comparing version
@@ -15,3 +15,2 @@ /*! | ||
const WINDOW_ALIASES = ['document.defaultView', 'frames', 'globalThis', 'parent', 'self', 'top', 'window']; | ||
const expandPatternsCache = new Map(); | ||
@@ -22,6 +21,2 @@ function dehydratePattern(pattern) { | ||
function ensureArray(value) { | ||
return shared.ArrayIsArray(value) ? value : [value]; | ||
} | ||
function expandPattern(pattern) { | ||
@@ -129,9 +124,2 @@ const expandedPatterns = [rehydratePattern(normalizePattern(pattern))]; | ||
expandPatterns(patterns) { | ||
const cacheKey = shared.JSONStringify(patterns); | ||
const cachedValue = expandPatternsCache.get(cacheKey); | ||
if (cachedValue) { | ||
return shared.JSONParse(cachedValue); | ||
} | ||
const expandedPatterns = patterns.map(pattern => rehydratePattern(normalizePattern(pattern)) // eslint-disable-next-line function-paren-newline | ||
@@ -159,3 +147,2 @@ ); | ||
expandPatternsCache.set(cacheKey, shared.JSONStringify(expandedPatterns)); | ||
return expandedPatterns; | ||
@@ -202,8 +189,6 @@ }, | ||
match(identifier, patterns) { | ||
const expandedPatterns = this.expandPatterns(ensureArray(patterns)); | ||
expandedLoop: for (let i = 0, { | ||
length | ||
} = expandedPatterns; i < length; i += 1) { | ||
const arrayPattern = expandedPatterns[i]; // Skip fast for mismatched identifiers. | ||
} = patterns; i < length; i += 1) { | ||
const arrayPattern = patterns[i]; // Skip fast for mismatched identifiers. | ||
@@ -310,2 +295,2 @@ if (!this.isNodeByAsteriskOrName(identifier, arrayPattern[0])) { | ||
exports.createLib = createLib; | ||
/*! version: 0.17.5 */ | ||
/*! version: 0.17.6 */ |
/*! | ||
* Copyright (C) 2020 salesforce.com, inc. | ||
*/ | ||
import { JSONStringify, JSONParse, ArrayIsArray } from '@locker/shared'; | ||
import { ArrayIsArray } from '@locker/shared'; | ||
const ASTERISK_CHARACTER = '*'; | ||
const DOCUMENT_ALIASES = [`${ASTERISK_CHARACTER}.ownerDocument`, 'document']; | ||
const WINDOW_ALIASES = ['document.defaultView', 'frames', 'globalThis', 'parent', 'self', 'top', 'window']; | ||
const expandPatternsCache = new Map(); | ||
@@ -14,6 +13,2 @@ function dehydratePattern(pattern) { | ||
function ensureArray(value) { | ||
return ArrayIsArray(value) ? value : [value]; | ||
} | ||
function expandPattern(pattern) { | ||
@@ -121,9 +116,2 @@ const expandedPatterns = [rehydratePattern(normalizePattern(pattern))]; | ||
expandPatterns(patterns) { | ||
const cacheKey = JSONStringify(patterns); | ||
const cachedValue = expandPatternsCache.get(cacheKey); | ||
if (cachedValue) { | ||
return JSONParse(cachedValue); | ||
} | ||
const expandedPatterns = patterns.map(pattern => rehydratePattern(normalizePattern(pattern)) // eslint-disable-next-line function-paren-newline | ||
@@ -151,3 +139,2 @@ ); | ||
expandPatternsCache.set(cacheKey, JSONStringify(expandedPatterns)); | ||
return expandedPatterns; | ||
@@ -194,8 +181,6 @@ }, | ||
match(identifier, patterns) { | ||
const expandedPatterns = this.expandPatterns(ensureArray(patterns)); | ||
expandedLoop: for (let i = 0, { | ||
length | ||
} = expandedPatterns; i < length; i += 1) { | ||
const arrayPattern = expandedPatterns[i]; // Skip fast for mismatched identifiers. | ||
} = patterns; i < length; i += 1) { | ||
const arrayPattern = patterns[i]; // Skip fast for mismatched identifiers. | ||
@@ -302,2 +287,2 @@ if (!this.isNodeByAsteriskOrName(identifier, arrayPattern[0])) { | ||
export { createLib }; | ||
/*! version: 0.17.5 */ | ||
/*! version: 0.17.6 */ |
{ | ||
"name": "@locker/ast-lib-maker", | ||
"version": "0.17.5", | ||
"version": "0.17.6", | ||
"license": "SEE LICENSE IN LICENSE.txt", | ||
"author": "Salesforce UI Security Team", | ||
"description": "Locker AST library maker utility", | ||
"description": "Lightning Web Security AST library maker utilities", | ||
"keywords": [ | ||
@@ -26,3 +26,3 @@ "ast", | ||
"dependencies": { | ||
"@locker/shared": "0.17.5" | ||
"@locker/shared": "0.17.6" | ||
}, | ||
@@ -37,3 +37,3 @@ "devDependencies": { | ||
], | ||
"gitHead": "24ab3751ddc04e9297bfb649805e260d8a2ddaa1" | ||
"gitHead": "6d03d19514584700ab4e4993bc5da71494441ce5" | ||
} |
# @locker/ast-lib-maker | ||
> Locker [AST] library maker utility | ||
> Lightning Web Security [AST] library maker utilities | ||
@@ -5,0 +5,0 @@ ## Installation |
@@ -29,4 +29,4 @@ import * as ESTree from 'estree'; | ||
isNonComputedMemberExpressionNode(node: AST.MaybeNode): boolean; | ||
match(identifier: AST.IdentifierOrThisExpression, patterns: Lib.SearchPatternArray[] | Lib.SearchPattern): Lib.MatchData | undefined; | ||
matchAll(identifiers: AST.IdentifierOrThisExpression[], patterns: Lib.SearchPatternArray[] | Lib.SearchPattern): Lib.MatchData[]; | ||
match(identifier: AST.IdentifierOrThisExpression, patterns: Lib.SearchPatternArray[]): Lib.MatchData | undefined; | ||
matchAll(identifiers: AST.IdentifierOrThisExpression[], patterns: Lib.SearchPatternArray[]): Lib.MatchData[]; | ||
}; | ||
@@ -33,0 +33,0 @@ export declare function createLib(overrides?: CreateLib.Overrides): typeof baseLib; |
Sorry, the diff of this file is not supported yet
26747
-3.6%515
-4.1%+ Added
- Removed
Updated