@teleporthq/teleport-shared
Advanced tools
Comparing version
@@ -1,4 +0,6 @@ | ||
import { PrettierFormatOptions } from '@teleporthq/teleport-types'; | ||
import { PrettierFormatOptions, UIDLDependency } from '@teleporthq/teleport-types'; | ||
export declare const ASSETS_IDENTIFIER = "playground_assets"; | ||
export declare const PRETTIER_CONFIG: PrettierFormatOptions; | ||
export declare const USE_EFFECT_DEPENDENCY: UIDLDependency; | ||
export declare const USE_STATE_DEPENDENCY: UIDLDependency; | ||
//# sourceMappingURL=index.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.PRETTIER_CONFIG = exports.ASSETS_IDENTIFIER = void 0; | ||
exports.USE_STATE_DEPENDENCY = exports.USE_EFFECT_DEPENDENCY = exports.PRETTIER_CONFIG = exports.ASSETS_IDENTIFIER = void 0; | ||
exports.ASSETS_IDENTIFIER = 'playground_assets'; | ||
@@ -15,2 +15,18 @@ exports.PRETTIER_CONFIG = { | ||
}; | ||
exports.USE_EFFECT_DEPENDENCY = { | ||
type: 'library', | ||
path: 'react', | ||
version: '16.8.3', | ||
meta: { | ||
namedImport: true, | ||
}, | ||
}; | ||
exports.USE_STATE_DEPENDENCY = { | ||
type: 'library', | ||
path: 'react', | ||
version: '16.8.3', | ||
meta: { | ||
namedImport: true, | ||
}, | ||
}; | ||
//# sourceMappingURL=index.js.map |
import * as Constants from './constants'; | ||
import * as StringUtils from './utils/string-utils'; | ||
import * as UIDLUtils from './utils/uidl-utils'; | ||
export { Constants, StringUtils, UIDLUtils }; | ||
import * as GenericUtils from './utils/generic'; | ||
export { Constants, StringUtils, UIDLUtils, GenericUtils }; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -26,3 +26,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.UIDLUtils = exports.StringUtils = exports.Constants = void 0; | ||
exports.GenericUtils = exports.UIDLUtils = exports.StringUtils = exports.Constants = void 0; | ||
var Constants = __importStar(require("./constants")); | ||
@@ -34,2 +34,4 @@ exports.Constants = Constants; | ||
exports.UIDLUtils = UIDLUtils; | ||
var GenericUtils = __importStar(require("./utils/generic")); | ||
exports.GenericUtils = GenericUtils; | ||
//# sourceMappingURL=index.js.map |
export declare const camelCaseToDashCase: (str: string) => string; | ||
export declare const dashCaseToCamelCase: (str: string) => string; | ||
export declare const capitalize: (str: string) => string; | ||
export declare const camelize: (str: string) => string; | ||
export declare const dashCaseToUpperCamelCase: (str: string) => string; | ||
@@ -5,0 +6,0 @@ export declare const removeIllegalCharacters: (str: string) => string; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.generateCSSVariableName = exports.generateRandomString = exports.encode = exports.removeLastEmptyLine = exports.addSpacesToEachLine = exports.slugify = exports.removeIllegalCharacters = exports.dashCaseToUpperCamelCase = exports.capitalize = exports.dashCaseToCamelCase = exports.camelCaseToDashCase = void 0; | ||
exports.generateCSSVariableName = exports.generateRandomString = exports.encode = exports.removeLastEmptyLine = exports.addSpacesToEachLine = exports.slugify = exports.removeIllegalCharacters = exports.dashCaseToUpperCamelCase = exports.camelize = exports.capitalize = exports.dashCaseToCamelCase = exports.camelCaseToDashCase = void 0; | ||
var camelCaseToDashCase = function (str) { | ||
@@ -14,2 +14,4 @@ return str.replace(/([a-z])(?=[A-Z])|([A-Z0-9])(?=[A-Z][a-z])/g, '$1-').toLowerCase(); | ||
exports.capitalize = capitalize; | ||
var camelize = function (str) { return str[0].toLowerCase() + str.slice(1); }; | ||
exports.camelize = camelize; | ||
var dashCaseToUpperCamelCase = function (str) { return (0, exports.capitalize)((0, exports.dashCaseToCamelCase)(str)); }; | ||
@@ -16,0 +18,0 @@ exports.dashCaseToUpperCamelCase = dashCaseToUpperCamelCase; |
@@ -1,2 +0,2 @@ | ||
import { ComponentUIDL, UIDLStyleDefinitions, UIDLConditionalNode, UIDLElement, UIDLNode, UIDLStaticValue, UIDLAttributeValue, UIDLDynamicReference, UIDLRepeatContent, UIDLRepeatMeta, UIDLElementNode, UIDLDependency, UIDLStyleValue, UIDLStyleSheetContent, UIDLComponentStyleReference, UIDLRootComponent, GeneratorOptions } from '@teleporthq/teleport-types'; | ||
import { ComponentUIDL, UIDLStyleDefinitions, UIDLConditionalNode, UIDLElement, UIDLNode, UIDLStaticValue, UIDLAttributeValue, UIDLDynamicReference, UIDLRepeatContent, UIDLRepeatMeta, UIDLElementNode, UIDLDependency, UIDLStyleValue, UIDLStyleSheetContent, UIDLComponentStyleReference, UIDLRootComponent, ProjectContext, Resource, GeneratorOptions } from '@teleporthq/teleport-types'; | ||
export declare const extractRoutes: (rootComponent: UIDLRootComponent) => UIDLConditionalNode[]; | ||
@@ -17,2 +17,3 @@ export declare const createWebComponentFriendlyName: (componentName: string) => string; | ||
export declare const traverseNodes: (node: UIDLNode | UIDLComponentStyleReference, fn: (node: UIDLNode | UIDLComponentStyleReference, parentNode: UIDLNode) => void, parent?: UIDLNode | null) => void; | ||
export declare const traverseResources: (node: UIDLNode, fn: (node: Resource, parentNode: UIDLNode) => void) => void; | ||
export declare const traverseElements: (node: UIDLNode, fn: (element: UIDLElement) => void) => void; | ||
@@ -43,3 +44,4 @@ export declare const traverseRepeats: (node: UIDLNode, fn: (element: UIDLRepeatContent) => void) => void; | ||
export declare const extractExternalDependencies: (dependencies: Record<string, UIDLDependency>) => Record<string, string>; | ||
export declare const extractContextDependenciesFromNode: (node: UIDLNode, projectContexts: Record<string, ProjectContext>, foundDependencies?: Record<string, ProjectContext>) => Record<string, ProjectContext>; | ||
export {}; | ||
//# sourceMappingURL=uidl-utils.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.extractExternalDependencies = exports.removeChildNodes = exports.findFirstElementNode = exports.transformAttributesAssignmentsToJson = exports.transformStylesAssignmentsToJson = exports.transformStringAssignmentToJson = exports.transformDynamicStyles = exports.cleanupDynamicStyles = exports.splitDynamicAndStaticStyles = exports.traverseRepeats = exports.traverseElements = exports.traverseNodes = exports.cloneObject = exports.prefixAssetsPath = exports.getRepeatIteratorNameAndKey = exports.getComponentClassName = exports.getComponentFolderPath = exports.getTemplateFileName = exports.getStyleFileName = exports.getComponentFileName = exports.setFriendlyOutputOptions = exports.createWebComponentFriendlyName = exports.extractRoutes = void 0; | ||
exports.extractContextDependenciesFromNode = exports.extractExternalDependencies = exports.removeChildNodes = exports.findFirstElementNode = exports.transformAttributesAssignmentsToJson = exports.transformStylesAssignmentsToJson = exports.transformStringAssignmentToJson = exports.transformDynamicStyles = exports.cleanupDynamicStyles = exports.splitDynamicAndStaticStyles = exports.traverseRepeats = exports.traverseElements = exports.traverseResources = exports.traverseNodes = exports.cloneObject = exports.prefixAssetsPath = exports.getRepeatIteratorNameAndKey = exports.getComponentClassName = exports.getComponentFolderPath = exports.getTemplateFileName = exports.getStyleFileName = exports.getComponentFileName = exports.setFriendlyOutputOptions = exports.createWebComponentFriendlyName = exports.extractRoutes = void 0; | ||
var string_utils_1 = require("./string-utils"); | ||
@@ -173,2 +173,23 @@ var path_1 = require("path"); | ||
break; | ||
case 'cms-list': | ||
(0, exports.traverseNodes)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseNodes)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseNodes)(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
(0, exports.traverseNodes)(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
(0, exports.traverseNodes)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseNodes)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseNodes)(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
@@ -194,6 +215,58 @@ (0, exports.traverseNodes)(node.content.node, fn, node); | ||
default: | ||
throw new Error("traverseNodes was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
throw new Error("traverseNodes was given an unsupported node type: ".concat(JSON.stringify(node, null, 2))); | ||
} | ||
}; | ||
exports.traverseNodes = traverseNodes; | ||
var traverseResources = function (node, fn) { | ||
switch (node.type) { | ||
case 'element': | ||
var children = node.content.children; | ||
if (children) { | ||
children.forEach(function (child) { | ||
(0, exports.traverseResources)(child, fn); | ||
}); | ||
} | ||
break; | ||
case 'cms-list': | ||
(0, exports.traverseResources)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseResources)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseResources)(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
(0, exports.traverseResources)(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
(0, exports.traverseResources)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseResources)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseResources)(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
(0, exports.traverseResources)(node.content.node, fn); | ||
break; | ||
case 'conditional': | ||
(0, exports.traverseResources)(node.content.node, fn); | ||
break; | ||
case 'slot': | ||
if (node.content.fallback) { | ||
(0, exports.traverseResources)(node.content.fallback, fn); | ||
} | ||
break; | ||
case 'static': | ||
case 'dynamic': | ||
case 'import': | ||
case 'raw': | ||
break; | ||
default: | ||
throw new Error("traverseResources was given an unsupported node type: ".concat(JSON.stringify(node, null, 2))); | ||
} | ||
}; | ||
exports.traverseResources = traverseResources; | ||
var traverseStyleObject = function (style) { | ||
@@ -219,2 +292,23 @@ Object.keys(style).forEach(function (styleKey) { | ||
break; | ||
case 'cms-list': | ||
(0, exports.traverseElements)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseElements)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseElements)(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
(0, exports.traverseElements)(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
(0, exports.traverseElements)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseElements)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseElements)(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
@@ -236,3 +330,3 @@ (0, exports.traverseElements)(node.content.node, fn); | ||
default: | ||
throw new Error("traverseElements was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
throw new Error("traverseElements was given an unsupported node type : ".concat(node.type, ", ").concat(JSON.stringify(node, null, 2))); | ||
} | ||
@@ -250,2 +344,23 @@ }; | ||
break; | ||
case 'cms-list': | ||
(0, exports.traverseRepeats)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseRepeats)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseRepeats)(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
(0, exports.traverseRepeats)(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
(0, exports.traverseRepeats)(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
(0, exports.traverseRepeats)(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.traverseRepeats)(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
@@ -268,3 +383,3 @@ fn(node.content); | ||
default: | ||
throw new Error("traverseRepeats was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
throw new Error("traverseRepeats was given an unsupported node type: ".concat(node.type, " - ").concat(JSON.stringify(node, null, 2))); | ||
} | ||
@@ -447,2 +562,23 @@ }; | ||
break; | ||
case 'cms-list': | ||
(0, exports.removeChildNodes)(node.content.nodes.success, criteria); | ||
if (node.content.nodes.error) { | ||
(0, exports.removeChildNodes)(node.content.nodes.error, criteria); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.removeChildNodes)(node.content.nodes.loading, criteria); | ||
} | ||
if (node.content.nodes.empty) { | ||
(0, exports.removeChildNodes)(node.content.nodes.empty, criteria); | ||
} | ||
break; | ||
case 'cms-item': | ||
(0, exports.removeChildNodes)(node.content.nodes.success, criteria); | ||
if (node.content.nodes.error) { | ||
(0, exports.removeChildNodes)(node.content.nodes.error, criteria); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.removeChildNodes)(node.content.nodes.loading, criteria); | ||
} | ||
break; | ||
case 'conditional': | ||
@@ -479,2 +615,69 @@ (0, exports.removeChildNodes)(node.content.node, criteria); | ||
exports.extractExternalDependencies = extractExternalDependencies; | ||
var extractContextDependenciesFromNode = function (node, projectContexts, foundDependencies) { | ||
if (foundDependencies === void 0) { foundDependencies = {}; } | ||
switch (node.type) { | ||
case 'element': | ||
if (node.content.attrs) { | ||
Object.keys(node.content.attrs).forEach(function (key) { | ||
var attr = node.content.attrs[key]; | ||
if (attr.type === 'dynamic' && attr.content.referenceType === 'ctx') { | ||
var contextName = attr.content.ctxId || attr.content.id; | ||
if (projectContexts[contextName]) { | ||
foundDependencies[contextName] = projectContexts[contextName]; | ||
} | ||
} | ||
}); | ||
} | ||
if (node.content.children) { | ||
node.content.children.forEach(function (child) { | ||
(0, exports.extractContextDependenciesFromNode)(child, projectContexts, foundDependencies); | ||
}); | ||
} | ||
break; | ||
case 'cms-list': | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.success, projectContexts, foundDependencies); | ||
if (node.content.nodes.error) { | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.error, projectContexts, foundDependencies); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.loading, projectContexts, foundDependencies); | ||
} | ||
if (node.content.nodes.empty) { | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.empty, projectContexts, foundDependencies); | ||
} | ||
break; | ||
case 'cms-item': | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.success, projectContexts, foundDependencies); | ||
if (node.content.nodes.error) { | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.error, projectContexts, foundDependencies); | ||
} | ||
if (node.content.nodes.loading) { | ||
(0, exports.extractContextDependenciesFromNode)(node.content.nodes.loading, projectContexts, foundDependencies); | ||
} | ||
break; | ||
case 'repeat': | ||
(0, exports.extractContextDependenciesFromNode)(node.content.node, projectContexts, foundDependencies); | ||
break; | ||
case 'conditional': | ||
(0, exports.extractContextDependenciesFromNode)(node.content.node, projectContexts, foundDependencies); | ||
break; | ||
case 'slot': | ||
if (node.content.fallback) { | ||
(0, exports.extractContextDependenciesFromNode)(node.content.fallback, projectContexts, foundDependencies); | ||
} | ||
break; | ||
case 'static': | ||
case 'raw': | ||
break; | ||
case 'dynamic': | ||
if (node.content.referenceType === 'ctx') { | ||
foundDependencies[node.content.id] = projectContexts[node.content.id]; | ||
} | ||
break; | ||
default: | ||
throw new Error("extractContextDependenciesFromNode was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
} | ||
return foundDependencies; | ||
}; | ||
exports.extractContextDependenciesFromNode = extractContextDependenciesFromNode; | ||
//# sourceMappingURL=uidl-utils.js.map |
@@ -1,4 +0,6 @@ | ||
import { PrettierFormatOptions } from '@teleporthq/teleport-types'; | ||
import { PrettierFormatOptions, UIDLDependency } from '@teleporthq/teleport-types'; | ||
export declare const ASSETS_IDENTIFIER = "playground_assets"; | ||
export declare const PRETTIER_CONFIG: PrettierFormatOptions; | ||
export declare const USE_EFFECT_DEPENDENCY: UIDLDependency; | ||
export declare const USE_STATE_DEPENDENCY: UIDLDependency; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -12,2 +12,18 @@ export var ASSETS_IDENTIFIER = 'playground_assets'; | ||
}; | ||
export var USE_EFFECT_DEPENDENCY = { | ||
type: 'library', | ||
path: 'react', | ||
version: '16.8.3', | ||
meta: { | ||
namedImport: true, | ||
}, | ||
}; | ||
export var USE_STATE_DEPENDENCY = { | ||
type: 'library', | ||
path: 'react', | ||
version: '16.8.3', | ||
meta: { | ||
namedImport: true, | ||
}, | ||
}; | ||
//# sourceMappingURL=index.js.map |
import * as Constants from './constants'; | ||
import * as StringUtils from './utils/string-utils'; | ||
import * as UIDLUtils from './utils/uidl-utils'; | ||
export { Constants, StringUtils, UIDLUtils }; | ||
import * as GenericUtils from './utils/generic'; | ||
export { Constants, StringUtils, UIDLUtils, GenericUtils }; | ||
//# sourceMappingURL=index.d.ts.map |
import * as Constants from './constants'; | ||
import * as StringUtils from './utils/string-utils'; | ||
import * as UIDLUtils from './utils/uidl-utils'; | ||
export { Constants, StringUtils, UIDLUtils }; | ||
import * as GenericUtils from './utils/generic'; | ||
export { Constants, StringUtils, UIDLUtils, GenericUtils }; | ||
//# sourceMappingURL=index.js.map |
export declare const camelCaseToDashCase: (str: string) => string; | ||
export declare const dashCaseToCamelCase: (str: string) => string; | ||
export declare const capitalize: (str: string) => string; | ||
export declare const camelize: (str: string) => string; | ||
export declare const dashCaseToUpperCamelCase: (str: string) => string; | ||
@@ -5,0 +6,0 @@ export declare const removeIllegalCharacters: (str: string) => string; |
@@ -8,2 +8,3 @@ export var camelCaseToDashCase = function (str) { | ||
export var capitalize = function (str) { return str[0].toUpperCase() + str.slice(1); }; | ||
export var camelize = function (str) { return str[0].toLowerCase() + str.slice(1); }; | ||
export var dashCaseToUpperCamelCase = function (str) { return capitalize(dashCaseToCamelCase(str)); }; | ||
@@ -10,0 +11,0 @@ export var removeIllegalCharacters = function (str) { |
@@ -1,2 +0,2 @@ | ||
import { ComponentUIDL, UIDLStyleDefinitions, UIDLConditionalNode, UIDLElement, UIDLNode, UIDLStaticValue, UIDLAttributeValue, UIDLDynamicReference, UIDLRepeatContent, UIDLRepeatMeta, UIDLElementNode, UIDLDependency, UIDLStyleValue, UIDLStyleSheetContent, UIDLComponentStyleReference, UIDLRootComponent, GeneratorOptions } from '@teleporthq/teleport-types'; | ||
import { ComponentUIDL, UIDLStyleDefinitions, UIDLConditionalNode, UIDLElement, UIDLNode, UIDLStaticValue, UIDLAttributeValue, UIDLDynamicReference, UIDLRepeatContent, UIDLRepeatMeta, UIDLElementNode, UIDLDependency, UIDLStyleValue, UIDLStyleSheetContent, UIDLComponentStyleReference, UIDLRootComponent, ProjectContext, Resource, GeneratorOptions } from '@teleporthq/teleport-types'; | ||
export declare const extractRoutes: (rootComponent: UIDLRootComponent) => UIDLConditionalNode[]; | ||
@@ -17,2 +17,3 @@ export declare const createWebComponentFriendlyName: (componentName: string) => string; | ||
export declare const traverseNodes: (node: UIDLNode | UIDLComponentStyleReference, fn: (node: UIDLNode | UIDLComponentStyleReference, parentNode: UIDLNode) => void, parent?: UIDLNode | null) => void; | ||
export declare const traverseResources: (node: UIDLNode, fn: (node: Resource, parentNode: UIDLNode) => void) => void; | ||
export declare const traverseElements: (node: UIDLNode, fn: (element: UIDLElement) => void) => void; | ||
@@ -43,3 +44,4 @@ export declare const traverseRepeats: (node: UIDLNode, fn: (element: UIDLRepeatContent) => void) => void; | ||
export declare const extractExternalDependencies: (dependencies: Record<string, UIDLDependency>) => Record<string, string>; | ||
export declare const extractContextDependenciesFromNode: (node: UIDLNode, projectContexts: Record<string, ProjectContext>, foundDependencies?: Record<string, ProjectContext>) => Record<string, ProjectContext>; | ||
export {}; | ||
//# sourceMappingURL=uidl-utils.d.ts.map |
@@ -159,2 +159,23 @@ import { camelCaseToDashCase, removeIllegalCharacters, dashCaseToUpperCamelCase, } from './string-utils'; | ||
break; | ||
case 'cms-list': | ||
traverseNodes(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseNodes(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseNodes(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseNodes(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
traverseNodes(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseNodes(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseNodes(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
@@ -180,5 +201,56 @@ traverseNodes(node.content.node, fn, node); | ||
default: | ||
throw new Error("traverseNodes was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
throw new Error("traverseNodes was given an unsupported node type: ".concat(JSON.stringify(node, null, 2))); | ||
} | ||
}; | ||
export var traverseResources = function (node, fn) { | ||
switch (node.type) { | ||
case 'element': | ||
var children = node.content.children; | ||
if (children) { | ||
children.forEach(function (child) { | ||
traverseResources(child, fn); | ||
}); | ||
} | ||
break; | ||
case 'cms-list': | ||
traverseResources(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseResources(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseResources(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseResources(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
traverseResources(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseResources(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseResources(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
traverseResources(node.content.node, fn); | ||
break; | ||
case 'conditional': | ||
traverseResources(node.content.node, fn); | ||
break; | ||
case 'slot': | ||
if (node.content.fallback) { | ||
traverseResources(node.content.fallback, fn); | ||
} | ||
break; | ||
case 'static': | ||
case 'dynamic': | ||
case 'import': | ||
case 'raw': | ||
break; | ||
default: | ||
throw new Error("traverseResources was given an unsupported node type: ".concat(JSON.stringify(node, null, 2))); | ||
} | ||
}; | ||
var traverseStyleObject = function (style) { | ||
@@ -204,2 +276,23 @@ Object.keys(style).forEach(function (styleKey) { | ||
break; | ||
case 'cms-list': | ||
traverseElements(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseElements(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseElements(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseElements(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
traverseElements(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseElements(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseElements(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
@@ -221,3 +314,3 @@ traverseElements(node.content.node, fn); | ||
default: | ||
throw new Error("traverseElements was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
throw new Error("traverseElements was given an unsupported node type : ".concat(node.type, ", ").concat(JSON.stringify(node, null, 2))); | ||
} | ||
@@ -234,2 +327,23 @@ }; | ||
break; | ||
case 'cms-list': | ||
traverseRepeats(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseRepeats(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseRepeats(node.content.nodes.loading, fn); | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseRepeats(node.content.nodes.empty, fn); | ||
} | ||
break; | ||
case 'cms-item': | ||
traverseRepeats(node.content.nodes.success, fn); | ||
if (node.content.nodes.error) { | ||
traverseRepeats(node.content.nodes.error, fn); | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseRepeats(node.content.nodes.loading, fn); | ||
} | ||
break; | ||
case 'repeat': | ||
@@ -252,3 +366,3 @@ fn(node.content); | ||
default: | ||
throw new Error("traverseRepeats was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
throw new Error("traverseRepeats was given an unsupported node type: ".concat(node.type, " - ").concat(JSON.stringify(node, null, 2))); | ||
} | ||
@@ -423,2 +537,23 @@ }; | ||
break; | ||
case 'cms-list': | ||
removeChildNodes(node.content.nodes.success, criteria); | ||
if (node.content.nodes.error) { | ||
removeChildNodes(node.content.nodes.error, criteria); | ||
} | ||
if (node.content.nodes.loading) { | ||
removeChildNodes(node.content.nodes.loading, criteria); | ||
} | ||
if (node.content.nodes.empty) { | ||
removeChildNodes(node.content.nodes.empty, criteria); | ||
} | ||
break; | ||
case 'cms-item': | ||
removeChildNodes(node.content.nodes.success, criteria); | ||
if (node.content.nodes.error) { | ||
removeChildNodes(node.content.nodes.error, criteria); | ||
} | ||
if (node.content.nodes.loading) { | ||
removeChildNodes(node.content.nodes.loading, criteria); | ||
} | ||
break; | ||
case 'conditional': | ||
@@ -453,2 +588,68 @@ removeChildNodes(node.content.node, criteria); | ||
}; | ||
export var extractContextDependenciesFromNode = function (node, projectContexts, foundDependencies) { | ||
if (foundDependencies === void 0) { foundDependencies = {}; } | ||
switch (node.type) { | ||
case 'element': | ||
if (node.content.attrs) { | ||
Object.keys(node.content.attrs).forEach(function (key) { | ||
var attr = node.content.attrs[key]; | ||
if (attr.type === 'dynamic' && attr.content.referenceType === 'ctx') { | ||
var contextName = attr.content.ctxId || attr.content.id; | ||
if (projectContexts[contextName]) { | ||
foundDependencies[contextName] = projectContexts[contextName]; | ||
} | ||
} | ||
}); | ||
} | ||
if (node.content.children) { | ||
node.content.children.forEach(function (child) { | ||
extractContextDependenciesFromNode(child, projectContexts, foundDependencies); | ||
}); | ||
} | ||
break; | ||
case 'cms-list': | ||
extractContextDependenciesFromNode(node.content.nodes.success, projectContexts, foundDependencies); | ||
if (node.content.nodes.error) { | ||
extractContextDependenciesFromNode(node.content.nodes.error, projectContexts, foundDependencies); | ||
} | ||
if (node.content.nodes.loading) { | ||
extractContextDependenciesFromNode(node.content.nodes.loading, projectContexts, foundDependencies); | ||
} | ||
if (node.content.nodes.empty) { | ||
extractContextDependenciesFromNode(node.content.nodes.empty, projectContexts, foundDependencies); | ||
} | ||
break; | ||
case 'cms-item': | ||
extractContextDependenciesFromNode(node.content.nodes.success, projectContexts, foundDependencies); | ||
if (node.content.nodes.error) { | ||
extractContextDependenciesFromNode(node.content.nodes.error, projectContexts, foundDependencies); | ||
} | ||
if (node.content.nodes.loading) { | ||
extractContextDependenciesFromNode(node.content.nodes.loading, projectContexts, foundDependencies); | ||
} | ||
break; | ||
case 'repeat': | ||
extractContextDependenciesFromNode(node.content.node, projectContexts, foundDependencies); | ||
break; | ||
case 'conditional': | ||
extractContextDependenciesFromNode(node.content.node, projectContexts, foundDependencies); | ||
break; | ||
case 'slot': | ||
if (node.content.fallback) { | ||
extractContextDependenciesFromNode(node.content.fallback, projectContexts, foundDependencies); | ||
} | ||
break; | ||
case 'static': | ||
case 'raw': | ||
break; | ||
case 'dynamic': | ||
if (node.content.referenceType === 'ctx') { | ||
foundDependencies[node.content.id] = projectContexts[node.content.id]; | ||
} | ||
break; | ||
default: | ||
throw new Error("extractContextDependenciesFromNode was given an unsupported node type ".concat(JSON.stringify(node, null, 2))); | ||
} | ||
return foundDependencies; | ||
}; | ||
//# sourceMappingURL=uidl-utils.js.map |
{ | ||
"name": "@teleporthq/teleport-shared", | ||
"version": "0.27.2", | ||
"version": "0.27.3-alpha.0", | ||
"description": "A utility belt for the entire teleportHQ ecosystem", | ||
@@ -28,7 +28,7 @@ "author": "teleportHQ", | ||
"@babel/types": "^7.5.5", | ||
"@teleporthq/teleport-types": "^0.27.0", | ||
"@teleporthq/teleport-types": "^0.27.3-alpha.0", | ||
"jss": "^10.0.0", | ||
"jss-preset-default": "^10.0.0" | ||
}, | ||
"gitHead": "53c7b8a9ffbe8e18341da464580e08f5292c3f00" | ||
"gitHead": "5e89aee4d95121ae24e6909b9b09ccee9918bd2c" | ||
} |
@@ -1,2 +0,2 @@ | ||
import { PrettierFormatOptions } from '@teleporthq/teleport-types' | ||
import { PrettierFormatOptions, UIDLDependency } from '@teleporthq/teleport-types' | ||
@@ -14,1 +14,19 @@ export const ASSETS_IDENTIFIER = 'playground_assets' | ||
} | ||
export const USE_EFFECT_DEPENDENCY: UIDLDependency = { | ||
type: 'library', | ||
path: 'react', | ||
version: '16.8.3', | ||
meta: { | ||
namedImport: true, | ||
}, | ||
} | ||
export const USE_STATE_DEPENDENCY: UIDLDependency = { | ||
type: 'library', | ||
path: 'react', | ||
version: '16.8.3', | ||
meta: { | ||
namedImport: true, | ||
}, | ||
} |
import * as Constants from './constants' | ||
import * as StringUtils from './utils/string-utils' | ||
import * as UIDLUtils from './utils/uidl-utils' | ||
import * as GenericUtils from './utils/generic' | ||
export { Constants, StringUtils, UIDLUtils } | ||
export { Constants, StringUtils, UIDLUtils, GenericUtils } |
@@ -8,2 +8,3 @@ export const camelCaseToDashCase = (str: string): string => | ||
export const capitalize = (str: string): string => str[0].toUpperCase() + str.slice(1) | ||
export const camelize = (str: string): string => str[0].toLowerCase() + str.slice(1) | ||
@@ -10,0 +11,0 @@ export const dashCaseToUpperCamelCase = (str: string) => capitalize(dashCaseToCamelCase(str)) |
@@ -23,2 +23,4 @@ import { | ||
UIDLRootComponent, | ||
ProjectContext, | ||
Resource, | ||
GeneratorOptions, | ||
@@ -226,2 +228,25 @@ } from '@teleporthq/teleport-types' | ||
case 'cms-list': | ||
traverseNodes(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseNodes(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseNodes(node.content.nodes.loading, fn) | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseNodes(node.content.nodes.empty, fn) | ||
} | ||
break | ||
case 'cms-item': | ||
traverseNodes(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseNodes(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseNodes(node.content.nodes.loading, fn) | ||
} | ||
break | ||
case 'repeat': | ||
@@ -252,3 +277,3 @@ traverseNodes(node.content.node, fn, node) | ||
throw new Error( | ||
`traverseNodes was given an unsupported node type ${JSON.stringify(node, null, 2)}` | ||
`traverseNodes was given an unsupported node type: ${JSON.stringify(node, null, 2)}` | ||
) | ||
@@ -258,2 +283,67 @@ } | ||
export const traverseResources = ( | ||
node: UIDLNode, | ||
fn: (node: Resource, parentNode: UIDLNode) => void | ||
) => { | ||
switch (node.type) { | ||
case 'element': | ||
const { children } = node.content | ||
if (children) { | ||
children.forEach((child) => { | ||
traverseResources(child, fn) | ||
}) | ||
} | ||
break | ||
case 'cms-list': | ||
traverseResources(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseResources(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseResources(node.content.nodes.loading, fn) | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseResources(node.content.nodes.empty, fn) | ||
} | ||
break | ||
case 'cms-item': | ||
traverseResources(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseResources(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseResources(node.content.nodes.loading, fn) | ||
} | ||
break | ||
case 'repeat': | ||
traverseResources(node.content.node, fn) | ||
break | ||
case 'conditional': | ||
traverseResources(node.content.node, fn) | ||
break | ||
case 'slot': | ||
if (node.content.fallback) { | ||
traverseResources(node.content.fallback, fn) | ||
} | ||
break | ||
case 'static': | ||
case 'dynamic': | ||
case 'import': | ||
case 'raw': | ||
break | ||
default: | ||
throw new Error( | ||
`traverseResources was given an unsupported node type: ${JSON.stringify(node, null, 2)}` | ||
) | ||
} | ||
} | ||
const traverseStyleObject = (style: UIDLStyleDefinitions) => { | ||
@@ -282,2 +372,25 @@ Object.keys(style).forEach((styleKey) => { | ||
case 'cms-list': | ||
traverseElements(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseElements(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseElements(node.content.nodes.loading, fn) | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseElements(node.content.nodes.empty, fn) | ||
} | ||
break | ||
case 'cms-item': | ||
traverseElements(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseElements(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseElements(node.content.nodes.loading, fn) | ||
} | ||
break | ||
case 'repeat': | ||
@@ -304,3 +417,7 @@ traverseElements(node.content.node, fn) | ||
throw new Error( | ||
`traverseElements was given an unsupported node type ${JSON.stringify(node, null, 2)}` | ||
`traverseElements was given an unsupported node type : ${node.type}, ${JSON.stringify( | ||
node, | ||
null, | ||
2 | ||
)}` | ||
) | ||
@@ -321,2 +438,25 @@ } | ||
case 'cms-list': | ||
traverseRepeats(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseRepeats(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseRepeats(node.content.nodes.loading, fn) | ||
} | ||
if (node.content.nodes.empty) { | ||
traverseRepeats(node.content.nodes.empty, fn) | ||
} | ||
break | ||
case 'cms-item': | ||
traverseRepeats(node.content.nodes.success, fn) | ||
if (node.content.nodes.error) { | ||
traverseRepeats(node.content.nodes.error, fn) | ||
} | ||
if (node.content.nodes.loading) { | ||
traverseRepeats(node.content.nodes.loading, fn) | ||
} | ||
break | ||
case 'repeat': | ||
@@ -345,3 +485,7 @@ fn(node.content) | ||
throw new Error( | ||
`traverseRepeats was given an unsupported node type ${JSON.stringify(node, null, 2)}` | ||
`traverseRepeats was given an unsupported node type: ${node.type} - ${JSON.stringify( | ||
node, | ||
null, | ||
2 | ||
)}` | ||
) | ||
@@ -607,2 +751,25 @@ } | ||
case 'cms-list': | ||
removeChildNodes(node.content.nodes.success, criteria) | ||
if (node.content.nodes.error) { | ||
removeChildNodes(node.content.nodes.error, criteria) | ||
} | ||
if (node.content.nodes.loading) { | ||
removeChildNodes(node.content.nodes.loading, criteria) | ||
} | ||
if (node.content.nodes.empty) { | ||
removeChildNodes(node.content.nodes.empty, criteria) | ||
} | ||
break | ||
case 'cms-item': | ||
removeChildNodes(node.content.nodes.success, criteria) | ||
if (node.content.nodes.error) { | ||
removeChildNodes(node.content.nodes.error, criteria) | ||
} | ||
if (node.content.nodes.loading) { | ||
removeChildNodes(node.content.nodes.loading, criteria) | ||
} | ||
break | ||
case 'conditional': | ||
@@ -644,1 +811,118 @@ removeChildNodes(node.content.node, criteria) | ||
} | ||
export const extractContextDependenciesFromNode = ( | ||
node: UIDLNode, | ||
projectContexts: Record<string, ProjectContext>, | ||
foundDependencies: Record<string, ProjectContext> = {} | ||
) => { | ||
switch (node.type) { | ||
case 'element': | ||
if (node.content.attrs) { | ||
Object.keys(node.content.attrs).forEach((key) => { | ||
const attr = node.content.attrs[key] | ||
if (attr.type === 'dynamic' && attr.content.referenceType === 'ctx') { | ||
const contextName = attr.content.ctxId || attr.content.id | ||
if (projectContexts[contextName]) { | ||
foundDependencies[contextName] = projectContexts[contextName] | ||
} | ||
} | ||
}) | ||
} | ||
if (node.content.children) { | ||
node.content.children.forEach((child) => { | ||
extractContextDependenciesFromNode(child, projectContexts, foundDependencies) | ||
}) | ||
} | ||
break | ||
case 'cms-list': | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.success, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
if (node.content.nodes.error) { | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.error, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
} | ||
if (node.content.nodes.loading) { | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.loading, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
} | ||
if (node.content.nodes.empty) { | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.empty, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
} | ||
break | ||
case 'cms-item': | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.success, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
if (node.content.nodes.error) { | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.error, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
} | ||
if (node.content.nodes.loading) { | ||
extractContextDependenciesFromNode( | ||
node.content.nodes.loading, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
} | ||
break | ||
case 'repeat': | ||
extractContextDependenciesFromNode(node.content.node, projectContexts, foundDependencies) | ||
break | ||
case 'conditional': | ||
extractContextDependenciesFromNode(node.content.node, projectContexts, foundDependencies) | ||
break | ||
case 'slot': | ||
if (node.content.fallback) { | ||
extractContextDependenciesFromNode( | ||
node.content.fallback, | ||
projectContexts, | ||
foundDependencies | ||
) | ||
} | ||
break | ||
case 'static': | ||
case 'raw': | ||
break | ||
case 'dynamic': | ||
if (node.content.referenceType === 'ctx') { | ||
foundDependencies[node.content.id] = projectContexts[node.content.id] | ||
} | ||
break | ||
default: | ||
throw new Error( | ||
`extractContextDependenciesFromNode was given an unsupported node type ${JSON.stringify( | ||
node, | ||
null, | ||
2 | ||
)}` | ||
) | ||
} | ||
return foundDependencies | ||
} |
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
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
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
235513
30.86%54
20%3418
35.69%