@dxtmisha/scripts 0.11.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -0
- package/ai-resources/componentMaterials.md +19 -0
- package/ai-resources/componentPrompt.md +381 -0
- package/ai-resources/componentWiki.md +13 -0
- package/bin/arguments.ts +168 -0
- package/bin/build-packages.ts +12 -2
- package/bin/build-publish-packages.ts +12 -2
- package/bin/design-component.ts +7 -1
- package/bin/design-constructor.ts +22 -3
- package/bin/design-figma.ts +26 -4
- package/bin/design-flags.ts +14 -2
- package/bin/design-library.ts +7 -1
- package/bin/design-package.ts +29 -5
- package/bin/design-prompt.ts +22 -3
- package/bin/design-screenshot.ts +12 -2
- package/bin/design-types-save.ts +32 -5
- package/bin/design-types.ts +32 -6
- package/bin/design-ui.ts +21 -3
- package/bin/design-wiki-storm.ts +11 -3
- package/dist/AiZAi-x3CInynJ.js +232 -0
- package/dist/PropertiesConfig-ChizwW5y.js +250 -0
- package/{src/config.ts → dist/config.d.ts} +179 -158
- package/dist/config.js +20 -0
- package/dist/figmaApiTypes-CArSsNW8.js +6 -0
- package/dist/library-ai.d.ts +482 -0
- package/dist/library-ai.js +2 -0
- package/dist/library-figma.d.ts +462 -0
- package/dist/library-figma.js +75 -0
- package/dist/library-ui.d.ts +586 -0
- package/dist/library-ui.js +3760 -0
- package/dist/library.d.ts +4677 -0
- package/dist/library.js +1436 -0
- package/dist/propertyTypes-DflziKuR.js +236 -0
- package/package.json +69 -20
- package/bin/ai-doc.ts +0 -7
- package/bin/build-functional.ts +0 -5
- package/bin/design-component-wiki.ts +0 -11
- package/src/classes/Ai/AiAbstract.ts +0 -242
- package/src/classes/Ai/AiClaude.ts +0 -26
- package/src/classes/Ai/AiClaudeAgent.ts +0 -16
- package/src/classes/Ai/AiClaudeAgentLite.ts +0 -86
- package/src/classes/Ai/AiClaudeCli.ts +0 -24
- package/src/classes/Ai/AiClaudeCliLite.ts +0 -108
- package/src/classes/Ai/AiClaudeLite.ts +0 -112
- package/src/classes/Ai/AiDoc.ts +0 -81
- package/src/classes/Ai/AiDocItem.ts +0 -27
- package/src/classes/Ai/AiDocItemAbstract.ts +0 -209
- package/src/classes/Ai/AiDocItemClasses.ts +0 -27
- package/src/classes/Ai/AiDocItemComposables.ts +0 -20
- package/src/classes/Ai/AiDocType.ts +0 -45
- package/src/classes/Ai/AiGoogle.ts +0 -26
- package/src/classes/Ai/AiGoogleCli.ts +0 -24
- package/src/classes/Ai/AiGoogleCliLite.ts +0 -108
- package/src/classes/Ai/AiGoogleLite.ts +0 -78
- package/src/classes/Ai/AiOpenAi.ts +0 -26
- package/src/classes/Ai/AiOpenAiLite.ts +0 -107
- package/src/classes/Ai/AiZAi.ts +0 -17
- package/src/classes/Ai/AiZAiLite.ts +0 -77
- package/src/classes/Ai/ApiTmp.ts +0 -43
- package/src/classes/BrowserItem.ts +0 -408
- package/src/classes/Build/BuildFunctional.ts +0 -54
- package/src/classes/Build/BuildPackages.ts +0 -137
- package/src/classes/Build/BuildPublishPackages.ts +0 -105
- package/src/classes/BuildItem.ts +0 -187
- package/src/classes/Component/ComponentCreator.ts +0 -45
- package/src/classes/Component/ComponentItem.ts +0 -161
- package/src/classes/Component/ComponentWiki.ts +0 -258
- package/src/classes/Component/ComponentWikiFile.ts +0 -138
- package/src/classes/Design/DesignCommand.ts +0 -243
- package/src/classes/Design/DesignComponent.ts +0 -824
- package/src/classes/Design/DesignConstructor.ts +0 -222
- package/src/classes/Design/DesignConstructors.ts +0 -101
- package/src/classes/Design/DesignFigma.ts +0 -61
- package/src/classes/Design/DesignFlags.ts +0 -215
- package/src/classes/Design/DesignReplace.ts +0 -672
- package/src/classes/Design/DesignScreenshot.ts +0 -140
- package/src/classes/Design/DesignStructure.ts +0 -201
- package/src/classes/Design/DesignStructureClasses.ts +0 -105
- package/src/classes/Design/DesignStructureItemAbstract.ts +0 -52
- package/src/classes/Design/DesignStructureRead.ts +0 -349
- package/src/classes/Design/DesignStructureStyles.ts +0 -45
- package/src/classes/Design/DesignTypes.ts +0 -94
- package/src/classes/Design/DesignTypesAi.ts +0 -135
- package/src/classes/Design/DesignTypesDescription.ts +0 -121
- package/src/classes/Design/DesignTypesMake.ts +0 -460
- package/src/classes/Design/DesignTypesMcp.ts +0 -90
- package/src/classes/Design/DesignTypesPrompts.ts +0 -332
- package/src/classes/Design/DesignTypescript.ts +0 -244
- package/src/classes/Design/DesignUi.ts +0 -143
- package/src/classes/Design/DesignWiki.ts +0 -52
- package/src/classes/Design/DesignWikiStorm.ts +0 -95
- package/src/classes/Design/DesignWikiStormItem.ts +0 -316
- package/src/classes/FigmaApi.ts +0 -190
- package/src/classes/Git/GitRead.ts +0 -261
- package/src/classes/Library/LibraryAiMcpItem.ts +0 -67
- package/src/classes/Library/LibraryAiPrompt.ts +0 -268
- package/src/classes/Library/LibraryAiPromptItem.ts +0 -331
- package/src/classes/Library/LibraryAiWiki.ts +0 -127
- package/src/classes/Library/LibraryAiWikiItem.ts +0 -79
- package/src/classes/Library/LibraryExport.ts +0 -167
- package/src/classes/Library/LibraryFlags.ts +0 -62
- package/src/classes/Library/LibraryItems.ts +0 -138
- package/src/classes/Library/LibraryList.ts +0 -189
- package/src/classes/Library/LibraryMedia.ts +0 -139
- package/src/classes/Library/LibraryPlugin.ts +0 -73
- package/src/classes/Library/LibraryTypes.ts +0 -130
- package/src/classes/Package/PackageFile.ts +0 -154
- package/src/classes/Package/PackageInit.ts +0 -54
- package/src/classes/Package/PackageItem.ts +0 -329
- package/src/classes/Properties/Properties.ts +0 -175
- package/src/classes/Properties/PropertiesCache.ts +0 -248
- package/src/classes/Properties/PropertiesConfig.ts +0 -213
- package/src/classes/Properties/PropertiesConvector.ts +0 -52
- package/src/classes/Properties/PropertiesFile.ts +0 -522
- package/src/classes/Properties/PropertiesImport.ts +0 -182
- package/src/classes/Properties/PropertiesItems.ts +0 -605
- package/src/classes/Properties/PropertiesKeys.ts +0 -121
- package/src/classes/Properties/PropertiesMain.ts +0 -138
- package/src/classes/Properties/PropertiesPalette.ts +0 -149
- package/src/classes/Properties/PropertiesPath.ts +0 -193
- package/src/classes/Properties/PropertiesScss.ts +0 -261
- package/src/classes/Properties/PropertiesSeparator.ts +0 -118
- package/src/classes/Properties/PropertiesSettings.ts +0 -104
- package/src/classes/Properties/PropertiesStandard.ts +0 -180
- package/src/classes/Properties/PropertiesTool.ts +0 -80
- package/src/classes/Properties/PropertiesTypes.ts +0 -147
- package/src/classes/Properties/PropertiesValues.ts +0 -75
- package/src/classes/Properties/PropertiesWrap.ts +0 -187
- package/src/classes/Properties/convector/convectorColor.ts +0 -27
- package/src/classes/Properties/convector/convectorFontFamilies.ts +0 -18
- package/src/classes/Properties/convector/convectorShadow.ts +0 -61
- package/src/classes/Properties/convector/convectorTypography.ts +0 -19
- package/src/classes/Properties/to/PropertiesToAbstract.ts +0 -51
- package/src/classes/Properties/to/PropertiesToAnimate.ts +0 -59
- package/src/classes/Properties/to/PropertiesToClass.ts +0 -49
- package/src/classes/Properties/to/PropertiesToClone.ts +0 -114
- package/src/classes/Properties/to/PropertiesToComponent.ts +0 -52
- package/src/classes/Properties/to/PropertiesToDrag.ts +0 -231
- package/src/classes/Properties/to/PropertiesToDuplicate.ts +0 -165
- package/src/classes/Properties/to/PropertiesToFull.ts +0 -36
- package/src/classes/Properties/to/PropertiesToLink.ts +0 -259
- package/src/classes/Properties/to/PropertiesToMedia.ts +0 -187
- package/src/classes/Properties/to/PropertiesToMulti.ts +0 -101
- package/src/classes/Properties/to/PropertiesToNone.ts +0 -46
- package/src/classes/Properties/to/PropertiesToPalette.ts +0 -241
- package/src/classes/Properties/to/PropertiesToProperty.ts +0 -31
- package/src/classes/Properties/to/PropertiesToRemove.ts +0 -33
- package/src/classes/Properties/to/PropertiesToReplace.ts +0 -77
- package/src/classes/Properties/to/PropertiesToRoot.ts +0 -40
- package/src/classes/Properties/to/PropertiesToSimilar.ts +0 -128
- package/src/classes/Properties/to/PropertiesToSort.ts +0 -146
- package/src/classes/Properties/to/PropertiesToState.ts +0 -65
- package/src/classes/Properties/to/PropertiesToStyle.ts +0 -52
- package/src/classes/Properties/to/PropertiesToSub.ts +0 -95
- package/src/classes/Properties/to/PropertiesToSubclass.ts +0 -76
- package/src/classes/Properties/to/PropertiesToVar.ts +0 -194
- package/src/classes/Properties/to/PropertiesToVariable.ts +0 -176
- package/src/classes/Styles/Styles.ts +0 -247
- package/src/classes/Styles/StylesClasses.ts +0 -86
- package/src/classes/Styles/StylesProperties.ts +0 -197
- package/src/classes/Styles/StylesRoot.ts +0 -103
- package/src/classes/Styles/StylesTool.ts +0 -112
- package/src/classes/Styles/to/StylesToAbstract.ts +0 -93
- package/src/classes/Styles/to/StylesToAnimate.ts +0 -19
- package/src/classes/Styles/to/StylesToClass.ts +0 -25
- package/src/classes/Styles/to/StylesToClassFull.ts +0 -19
- package/src/classes/Styles/to/StylesToContainer.ts +0 -24
- package/src/classes/Styles/to/StylesToMedia.ts +0 -19
- package/src/classes/Styles/to/StylesToProperty.ts +0 -123
- package/src/classes/Styles/to/StylesToRoot.ts +0 -14
- package/src/classes/Styles/to/StylesToSelector.ts +0 -71
- package/src/classes/Styles/to/StylesToVar.ts +0 -105
- package/src/classes/Styles/to/StylesToVirtual.ts +0 -33
- package/src/composables/useAi.ts +0 -38
- package/src/demo/ai.ts +0 -10
- package/src/functions/getComponentPaths.ts +0 -13
- package/src/functions/getConfigAi.ts +0 -14
- package/src/functions/getConstructorProperties.ts +0 -54
- package/src/functions/getDirname.ts +0 -17
- package/src/functions/getNameDirByPaths.ts +0 -16
- package/src/functions/getPackageJson.ts +0 -19
- package/src/functions/hasNativeDirname.ts +0 -8
- package/src/functions/run.ts +0 -47
- package/src/functions/toPathStandardSep.ts +0 -14
- package/src/library-ai.ts +0 -10
- package/src/library.ts +0 -73
- package/src/media/ai/ai-doc-types.ts +0 -21
- package/src/media/properties/css.ts +0 -634
- package/src/media/properties/cssSelector.ts +0 -74
- package/src/media/properties/cssVirtual.ts +0 -12
- package/src/media/properties/listSort.ts +0 -113
- package/src/media/properties/style.ts +0 -81
- package/src/media/templates/component/DesignComponent.mdx +0 -30
- package/src/media/templates/component/DesignComponent.stories.ts +0 -34
- package/src/media/templates/component/DesignComponent.vue +0 -54
- package/src/media/templates/component/DesignComponentAiWiki.vue +0 -25
- package/src/media/templates/component/index.ts +0 -13
- package/src/media/templates/component/props.ts +0 -27
- package/src/media/templates/component/styleToken.scss +0 -17
- package/src/media/templates/component/wiki.ts +0 -13
- package/src/media/templates/component/wikiData.ts +0 -28
- package/src/media/templates/componentDoc/ComponentDoc.vue +0 -26
- package/src/media/templates/componentDoc/index.ts +0 -12
- package/src/media/templates/componentDoc/materials/README.md +0 -8
- package/src/media/templates/componentDoc/materials/prompt.md +0 -38
- package/src/media/templates/componentDoc/subcomponents/_.gitignore.txt +0 -0
- package/src/media/templates/componentDoc/types.ts +0 -15
- package/src/media/templates/componentDoc/wiki/ComponentDoc.mdx +0 -13
- package/src/media/templates/componentDoc/wiki/ComponentDoc.stories.ts +0 -24
- package/src/media/templates/componentDoc/wiki/prompt.md +0 -41
- package/src/media/templates/constructors/Constructors.ts +0 -33
- package/src/media/templates/constructors/ConstructorsDesign.tsx +0 -129
- package/src/media/templates/constructors/basicTypes.ts +0 -0
- package/src/media/templates/constructors/index.ts +0 -5
- package/src/media/templates/constructors/props.ts +0 -28
- package/src/media/templates/constructors/style.scss +0 -5
- package/src/media/templates/constructors/types.ts +0 -47
- package/src/media/templates/packages/figma/README.md +0 -1
- package/src/media/templates/packages/figma/_.gitignore.txt +0 -29
- package/src/media/templates/packages/figma/ai.sample.config.ts +0 -2
- package/src/media/templates/packages/figma/design.config.json +0 -3
- package/src/media/templates/packages/figma/index.html +0 -12
- package/src/media/templates/packages/figma/manifest.json +0 -25
- package/src/media/templates/packages/figma/package.json +0 -37
- package/src/media/templates/packages/figma/src/App.vue +0 -9
- package/src/media/templates/packages/figma/src/classes/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/code.ts +0 -16
- package/src/media/templates/packages/figma/src/components/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/composables/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/config.ts +0 -0
- package/src/media/templates/packages/figma/src/functions/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/library.ts +0 -0
- package/src/media/templates/packages/figma/src/main.ts +0 -4
- package/src/media/templates/packages/figma/src/media/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/storybook/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/types/_.gitignore.txt +0 -1
- package/src/media/templates/packages/figma/src/vite-env.d.ts +0 -1
- package/src/media/templates/packages/figma/tsconfig.app.json +0 -12
- package/src/media/templates/packages/figma/tsconfig.json +0 -7
- package/src/media/templates/packages/figma/tsconfig.node.json +0 -8
- package/src/media/templates/packages/figma/vite.config.ts +0 -7
- package/src/media/templates/packages/library/README.md +0 -1
- package/src/media/templates/packages/library/_.gitignore.txt +0 -27
- package/src/media/templates/packages/library/ai-description.md +0 -15
- package/src/media/templates/packages/library/design.config.json +0 -3
- package/src/media/templates/packages/library/index.html +0 -12
- package/src/media/templates/packages/library/materials/README.md +0 -8
- package/src/media/templates/packages/library/materials/prompt.md +0 -45
- package/src/media/templates/packages/library/package.json +0 -46
- package/src/media/templates/packages/library/src/App.vue +0 -8
- package/src/media/templates/packages/library/src/classes/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/components/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/composables/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/functions/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/library.ts +0 -0
- package/src/media/templates/packages/library/src/main.ts +0 -6
- package/src/media/templates/packages/library/src/style.scss +0 -0
- package/src/media/templates/packages/library/src/types/_.gitignore.txt +0 -1
- package/src/media/templates/packages/library/src/vite-env.d.ts +0 -1
- package/src/media/templates/packages/library/tsconfig.app.json +0 -11
- package/src/media/templates/packages/library/tsconfig.json +0 -7
- package/src/media/templates/packages/library/tsconfig.node.json +0 -7
- package/src/media/templates/packages/library/vite.config.ts +0 -14
- package/src/media/templates/packages/nitro/README.md +0 -1
- package/src/media/templates/packages/nitro/_.gitignore.txt +0 -28
- package/src/media/templates/packages/nitro/index.html +0 -2
- package/src/media/templates/packages/nitro/package.json +0 -25
- package/src/media/templates/packages/nitro/server/plugins/ui-plugin.ts +0 -7
- package/src/media/templates/packages/nitro/server/routes/api/hello.ts +0 -13
- package/src/media/templates/packages/nitro/src/App.vue +0 -10
- package/src/media/templates/packages/nitro/src/assets/_.gitignore.txt +0 -0
- package/src/media/templates/packages/nitro/src/components/_.gitignore.txt +0 -0
- package/src/media/templates/packages/nitro/src/composables/_.gitignore.txt +0 -0
- package/src/media/templates/packages/nitro/src/entry-client.ts +0 -13
- package/src/media/templates/packages/nitro/src/entry-server.ts +0 -29
- package/src/media/templates/packages/nitro/src/main.ts +0 -14
- package/src/media/templates/packages/nitro/src/pages/HomePage.vue +0 -8
- package/src/media/templates/packages/nitro/src/router.ts +0 -11
- package/src/media/templates/packages/nitro/src/style.scss +0 -0
- package/src/media/templates/packages/nitro/src/templates/main.html +0 -21
- package/src/media/templates/packages/nitro/src/vite-env.d.ts +0 -11
- package/src/media/templates/packages/nitro/tsconfig.app.json +0 -14
- package/src/media/templates/packages/nitro/tsconfig.json +0 -7
- package/src/media/templates/packages/nitro/tsconfig.node.json +0 -12
- package/src/media/templates/packages/nitro/vite.config.ts +0 -17
- package/src/media/templates/packages/project/README.md +0 -1
- package/src/media/templates/packages/project/_.gitignore.txt +0 -28
- package/src/media/templates/packages/project/design.config.json +0 -3
- package/src/media/templates/packages/project/index.html +0 -12
- package/src/media/templates/packages/project/materials/README.md +0 -8
- package/src/media/templates/packages/project/materials/prompt.md +0 -41
- package/src/media/templates/packages/project/package.json +0 -13
- package/src/media/templates/packages/project/public/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/App.vue +0 -12
- package/src/media/templates/packages/project/src/assets/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/components/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/composables/_.gitignore.txt +0 -0
- package/src/media/templates/packages/project/src/main.ts +0 -6
- package/src/media/templates/packages/project/src/style.scss +0 -0
- package/src/media/templates/packages/project/src/vite-env.d.ts +0 -1
- package/src/media/templates/packages/project/tsconfig.app.json +0 -11
- package/src/media/templates/packages/project/tsconfig.json +0 -7
- package/src/media/templates/packages/project/tsconfig.node.json +0 -7
- package/src/media/templates/packages/project/vite.config.ts +0 -7
- package/src/media/templates/prompts/aiCodeGlobalPrompt.en.md +0 -22
- package/src/media/templates/prompts/aiCodeGlobalPrompt.ru.md +0 -21
- package/src/media/templates/prompts/aiCodeVuePrompt.en.md +0 -17
- package/src/media/templates/prompts/aiCodeVuePrompt.ru.md +0 -17
- package/src/media/templates/prompts/aiDocClassPrompt.en.txt +0 -63
- package/src/media/templates/prompts/aiDocClassPrompt.ru.txt +0 -63
- package/src/media/templates/prompts/aiDocComposablePrompt.en.txt +0 -67
- package/src/media/templates/prompts/aiDocComposablePrompt.ru.txt +0 -67
- package/src/media/templates/prompts/aiDocFunctionPrompt.en.txt +0 -57
- package/src/media/templates/prompts/aiDocFunctionPrompt.ru.txt +0 -57
- package/src/media/templates/prompts/componentPrompt.en.txt +0 -182
- package/src/media/templates/prompts/componentPrompt.ru.txt +0 -182
- package/src/media/templates/prompts/demoClassEn.mdx +0 -111
- package/src/media/templates/prompts/demoClassRu.mdx +0 -111
- package/src/media/templates/prompts/demoComponentEn.mdx +0 -282
- package/src/media/templates/prompts/demoComponentRu.mdx +0 -282
- package/src/media/templates/prompts/demoComposableEn.mdx +0 -103
- package/src/media/templates/prompts/demoComposableRu.mdx +0 -103
- package/src/media/templates/prompts/demoDocEn.mdx +0 -30
- package/src/media/templates/prompts/demoDocRu.mdx +0 -30
- package/src/media/templates/viteComponentTemplateConfig.ts +0 -14
- package/src/types/aiTypes.ts +0 -19
- package/src/types/configTypes.ts +0 -69
- package/src/types/designTypes.ts +0 -167
- package/src/types/figmaApiTypes.ts +0 -337
- package/src/types/gitTypes.ts +0 -59
- package/src/types/libraryTypes.ts +0 -49
- package/src/types/propertyTypes.ts +0 -586
- package/src/types/screenshotTypes.ts +0 -55
- package/src/types/webTypes.ts +0 -134
- package/src/vite-env.d.ts +0 -1
|
@@ -1,605 +0,0 @@
|
|
|
1
|
-
// export:none
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
forEach,
|
|
5
|
-
getColumn,
|
|
6
|
-
isNull,
|
|
7
|
-
isObjectNotArray,
|
|
8
|
-
isSelected,
|
|
9
|
-
toCamelCase
|
|
10
|
-
} from '@dxtmisha/functional-basic'
|
|
11
|
-
|
|
12
|
-
import { PropertiesCache } from './PropertiesCache'
|
|
13
|
-
|
|
14
|
-
import {
|
|
15
|
-
type PropertyItemsCallback,
|
|
16
|
-
type PropertyItemsItem,
|
|
17
|
-
type PropertyItemsMedia,
|
|
18
|
-
PropertyCategory,
|
|
19
|
-
type PropertyItem,
|
|
20
|
-
PropertyKey,
|
|
21
|
-
type PropertyList,
|
|
22
|
-
PropertyType
|
|
23
|
-
} from '../../types/propertyTypes'
|
|
24
|
-
|
|
25
|
-
import { UI_KEY_CONSTRUCTOR } from '../../config'
|
|
26
|
-
|
|
27
|
-
const SUPPORT_NAME = [
|
|
28
|
-
PropertyType.design,
|
|
29
|
-
PropertyType.component,
|
|
30
|
-
PropertyType.classType
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Coordinator for design property collections.
|
|
35
|
-
* This class provides a high-level API for traversing, searching, and extracting metadata from complex design token trees. It manages state related to design focusing (filtering view to a specific design set), converts complex path strings into normalized keys, and facilitates deep recursive iteration for token processing engines.
|
|
36
|
-
*
|
|
37
|
-
* Координатор коллекций свойств дизайна.
|
|
38
|
-
* Этот класс предоставляет высокоуровневый API для обхода, поиска и извлечения метаданных из сложных деревьев токенов дизайна. Он управляет состоянием, связанным с фокусировкой дизайна (фильтрация представления для конкретного набора дизайнов), преобразует сложные строки путей в нормализованные ключи и упрощает глубокую рекурсивную итерацию для движков обработки токенов.
|
|
39
|
-
*/
|
|
40
|
-
export class PropertiesItems {
|
|
41
|
-
private focusDesign?: string
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Constructor
|
|
45
|
-
* @param properties array with all property records/ массив со всеми записями свойств
|
|
46
|
-
*/
|
|
47
|
-
constructor(
|
|
48
|
-
private readonly properties: PropertyList
|
|
49
|
-
) {
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Checks if the record complies with the design requirements.
|
|
54
|
-
*
|
|
55
|
-
* Проверяет, соответствует ли запись условиям дизайна.
|
|
56
|
-
* @param name names of items/ названия объектов
|
|
57
|
-
* @param design design name/ название дизайна
|
|
58
|
-
* @private
|
|
59
|
-
*/
|
|
60
|
-
isFocusDesign(name: string, design?: string): boolean {
|
|
61
|
-
return Boolean(
|
|
62
|
-
design
|
|
63
|
-
|| isNull(this.focusDesign)
|
|
64
|
-
|| name === this.focusDesign
|
|
65
|
-
|| name === UI_KEY_CONSTRUCTOR
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Retrieves the current property structure.
|
|
71
|
-
* If a focus design is set, returns only the subset corresponding to that design and common constructor data; otherwise, returns the full collection.
|
|
72
|
-
*
|
|
73
|
-
* Получает текущую структуру свойств.
|
|
74
|
-
* Если установлен фокус на дизайн, возвращает только подмножество, соответствующее этому дизайну и общим данным конструктора; в противном случае возвращает полную коллекцию.
|
|
75
|
-
*/
|
|
76
|
-
get(): PropertyList {
|
|
77
|
-
if (this.focusDesign) {
|
|
78
|
-
const data: PropertyList = {}
|
|
79
|
-
|
|
80
|
-
forEach(this.properties, (properties, index) => {
|
|
81
|
-
if (
|
|
82
|
-
index === UI_KEY_CONSTRUCTOR
|
|
83
|
-
|| index === this.focusDesign
|
|
84
|
-
) {
|
|
85
|
-
data[index] = properties
|
|
86
|
-
}
|
|
87
|
-
})
|
|
88
|
-
|
|
89
|
-
return data
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return this.properties
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Returns a list of design names.
|
|
97
|
-
*
|
|
98
|
-
* Возвращает список названий дизайнов.
|
|
99
|
-
*/
|
|
100
|
-
getDesigns(): string[] {
|
|
101
|
-
return Object.keys(this.properties)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Returns values by index.
|
|
106
|
-
*
|
|
107
|
-
* Возвращает значения по индексу.
|
|
108
|
-
* @param index index for splitting/ индекс для разделения
|
|
109
|
-
*/
|
|
110
|
-
getItem(index: string): PropertyItem | undefined {
|
|
111
|
-
const item = this.getInfo(index)?.item
|
|
112
|
-
|
|
113
|
-
if (!item) {
|
|
114
|
-
console.error('[Items]', `No record: ${index}`)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return item
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Resolves comprehensive metadata for a property element by its dotted index.
|
|
122
|
-
* Decodes the index, traverses the tree to find the target node, and synthesizes a detailed info object including parent hierarchy, name normalization, and raw values.
|
|
123
|
-
*
|
|
124
|
-
* Разрешает полные метаданные элемента свойства по его индексу через точку.
|
|
125
|
-
* Декодирует индекс, обходит дерево для поиска целевого узла и синтезирует подробный объект информации, включая иерархию родителей, нормализацию имен и необработанные значения.
|
|
126
|
-
* @param index index for splitting / индекс для разделения
|
|
127
|
-
*/
|
|
128
|
-
getInfo(index: string): PropertyItemsItem | undefined {
|
|
129
|
-
const keys = this.getKeys(index)
|
|
130
|
-
const design = keys.shift() as string
|
|
131
|
-
const component = keys.shift() as string
|
|
132
|
-
const value = this.properties?.[design]?.value
|
|
133
|
-
const parents: PropertyItemsItem['parents'] = [
|
|
134
|
-
{
|
|
135
|
-
name: design,
|
|
136
|
-
item: this.properties?.[design] ?? { value: '' }
|
|
137
|
-
}
|
|
138
|
-
]
|
|
139
|
-
|
|
140
|
-
if (isObjectNotArray(value)) {
|
|
141
|
-
let name: string = component
|
|
142
|
-
let item: PropertyItem | undefined = value?.[component]
|
|
143
|
-
let parent: PropertyItem | undefined = parents?.[0]?.item
|
|
144
|
-
|
|
145
|
-
if (item) {
|
|
146
|
-
for (const key of keys) {
|
|
147
|
-
parents.push({
|
|
148
|
-
name: key,
|
|
149
|
-
item
|
|
150
|
-
})
|
|
151
|
-
|
|
152
|
-
parent = item
|
|
153
|
-
|
|
154
|
-
name = key
|
|
155
|
-
item = isObjectNotArray(item.value) ? item.value?.[key] : undefined
|
|
156
|
-
|
|
157
|
-
if (!item) {
|
|
158
|
-
break
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
if (item) {
|
|
164
|
-
return {
|
|
165
|
-
design,
|
|
166
|
-
component,
|
|
167
|
-
name,
|
|
168
|
-
index: this.getIndex(parents),
|
|
169
|
-
value: item.value,
|
|
170
|
-
item,
|
|
171
|
-
parent,
|
|
172
|
-
parents
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
return undefined
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Divides an index into sections.
|
|
182
|
-
*
|
|
183
|
-
* Разделяет индекс на разделы.
|
|
184
|
-
* @param index index for splitting/ индекс для разделения
|
|
185
|
-
*/
|
|
186
|
-
getKeys(index: string): string[] {
|
|
187
|
-
const names = index.replace(/^\{|}$/ig, '')
|
|
188
|
-
.split('.')
|
|
189
|
-
|
|
190
|
-
return forEach(names, (name) => {
|
|
191
|
-
if (name.match(/^&/)) {
|
|
192
|
-
return name
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
return toCamelCase(name)
|
|
196
|
-
})
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Returns the name of the property, taking into account the parameter of changing the name.
|
|
201
|
-
*
|
|
202
|
-
* Возвращает название свойства, учитывая параметр изменения имени.
|
|
203
|
-
* @param name name of property/ название свойства
|
|
204
|
-
* @param item object of property/ объект свойства
|
|
205
|
-
*/
|
|
206
|
-
getName(name: string, item: PropertyItem): string {
|
|
207
|
-
return this.getReName(name, item).replace(/\(.*?$/, '')
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Returns the used name.
|
|
212
|
-
*
|
|
213
|
-
* Возвращает использованное имя.
|
|
214
|
-
* @param name name of property/ название свойства
|
|
215
|
-
* @param item object of property/ объект свойства
|
|
216
|
-
*/
|
|
217
|
-
getReName(name: string, item: PropertyItem): string {
|
|
218
|
-
return item?.[PropertyKey.name] ?? item?.[PropertyKey.rename] ?? name
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Returns ancestor names.
|
|
223
|
-
*
|
|
224
|
-
* Возвращает имена предков.
|
|
225
|
-
* @param parents array of all ancestor properties along the tree from the top level/
|
|
226
|
-
* массив со всеми свойствами предков по дереву от верхнего уровня
|
|
227
|
-
* @param variable list of types to exclude, such types are ignored/
|
|
228
|
-
* список типов для исключения, такие типы игнорируются
|
|
229
|
-
*/
|
|
230
|
-
getParentsName(
|
|
231
|
-
parents: PropertyItemsItem['parents'],
|
|
232
|
-
variable?: string[]
|
|
233
|
-
): string[] {
|
|
234
|
-
return forEach(parents, ({
|
|
235
|
-
name,
|
|
236
|
-
item
|
|
237
|
-
}) => {
|
|
238
|
-
if (
|
|
239
|
-
!variable || (
|
|
240
|
-
typeof item?.[PropertyKey.variable] === 'string' && (
|
|
241
|
-
variable.indexOf(item[PropertyKey.variable]) !== -1
|
|
242
|
-
|| SUPPORT_NAME.indexOf(item[PropertyKey.variable]) !== -1
|
|
243
|
-
)
|
|
244
|
-
)
|
|
245
|
-
) {
|
|
246
|
-
return toCamelCase(name)
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
return undefined
|
|
250
|
-
}) as string[]
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Returns a list of information about a file list.
|
|
255
|
-
*
|
|
256
|
-
* Возвращает список информации о списках медиафайлов.
|
|
257
|
-
*/
|
|
258
|
-
getMedia(): PropertyItemsMedia {
|
|
259
|
-
const data: PropertyItemsMedia = {}
|
|
260
|
-
|
|
261
|
-
this.findCategory(PropertyCategory.media)
|
|
262
|
-
.forEach(({
|
|
263
|
-
design,
|
|
264
|
-
item
|
|
265
|
-
}) => {
|
|
266
|
-
if (isObjectNotArray(item.value)) {
|
|
267
|
-
Object.assign(data, { [design]: item.value })
|
|
268
|
-
}
|
|
269
|
-
})
|
|
270
|
-
|
|
271
|
-
return data
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Replaces labels with design and component names.
|
|
276
|
-
*
|
|
277
|
-
* Заменяет метки на названия дизайна и компонента.
|
|
278
|
-
* @param design design name/ название дизайна
|
|
279
|
-
* @param component component name/ название компонента
|
|
280
|
-
* @param value values of properties from the value field/ значения свойств из поля value
|
|
281
|
-
* @param separator разделитель
|
|
282
|
-
*/
|
|
283
|
-
getLink(
|
|
284
|
-
design: string,
|
|
285
|
-
component: string,
|
|
286
|
-
value: string,
|
|
287
|
-
separator = '.'
|
|
288
|
-
): string {
|
|
289
|
-
if (value.match(/\?/)) {
|
|
290
|
-
return value
|
|
291
|
-
.replace(/\?\?(?![ _-])/g, `${design}${separator}${component}${separator}`)
|
|
292
|
-
.replace(/\?\?(?=[ _-])/g, `${design}${separator}${component}`)
|
|
293
|
-
.replace(/\?/g, `${design}${separator}`)
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
return this.getLinkByDesign(design, value)
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
/**
|
|
300
|
-
* Get values for links and convert them to accessible code.
|
|
301
|
-
*
|
|
302
|
-
* Получаем значения для ссылок и преобразуем их в доступный код.
|
|
303
|
-
* @param design design name/ название дизайна
|
|
304
|
-
* @param component component name/ название компонента
|
|
305
|
-
* @param value values of properties from the value field/ значения свойств из поля value
|
|
306
|
-
*/
|
|
307
|
-
getLinkToName(
|
|
308
|
-
design: string,
|
|
309
|
-
component: string,
|
|
310
|
-
value: string
|
|
311
|
-
) {
|
|
312
|
-
const link = this.getLink(
|
|
313
|
-
design,
|
|
314
|
-
component,
|
|
315
|
-
value,
|
|
316
|
-
'-'
|
|
317
|
-
)
|
|
318
|
-
|
|
319
|
-
return link.replace(/[a-zA-Z]+/ig, text => toCamelCase(text))
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* Get values for links and convert them to accessible code.
|
|
324
|
-
*
|
|
325
|
-
* Получаем значения для ссылок и преобразуем их в значения для ссылки.
|
|
326
|
-
* @param design design name/ название дизайна
|
|
327
|
-
* @param component component name/ название компонента
|
|
328
|
-
* @param value values of properties from the value field/ значения свойств из поля value
|
|
329
|
-
*/
|
|
330
|
-
getLinkToValue(
|
|
331
|
-
design: string,
|
|
332
|
-
component: string,
|
|
333
|
-
value: string
|
|
334
|
-
) {
|
|
335
|
-
const link = this.getLink(
|
|
336
|
-
design,
|
|
337
|
-
component,
|
|
338
|
-
value
|
|
339
|
-
)
|
|
340
|
-
|
|
341
|
-
return link.replace(/(?<=(?<!#)\{.*?)[a-zA-Z]+(?=.*?})/ig, text => toCamelCase(text))
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/**
|
|
345
|
-
* Replaces labels with design and component names (for the name).
|
|
346
|
-
*
|
|
347
|
-
* Заменяет метки на названия дизайна и компонента (для названия).
|
|
348
|
-
* @param design design name/ название дизайна
|
|
349
|
-
* @param component component name/ название компонента
|
|
350
|
-
* @param value values of properties from the value field/ значения свойств из поля value
|
|
351
|
-
*/
|
|
352
|
-
getLinkForName(
|
|
353
|
-
design: string,
|
|
354
|
-
component: string,
|
|
355
|
-
value: string
|
|
356
|
-
) {
|
|
357
|
-
return this.getLink(design, component, value, '-')
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Adds the name of the design at the beginning if it is missing.
|
|
362
|
-
*
|
|
363
|
-
* Добавляет название дизайна в начало, если его нет.
|
|
364
|
-
* @param design design name/ название дизайна
|
|
365
|
-
* @param value values of properties from the value field/ значения свойств из поля value
|
|
366
|
-
*/
|
|
367
|
-
getLinkByDesign(
|
|
368
|
-
design: string,
|
|
369
|
-
value: string
|
|
370
|
-
): string {
|
|
371
|
-
if (value.match('{')) {
|
|
372
|
-
return value?.replace(/(?<=(?<!#)\{)[^.{}]+/g, (name) => {
|
|
373
|
-
if (this.getDesigns().indexOf(name) === -1) {
|
|
374
|
-
return `${design}.${name}`
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
return name
|
|
378
|
-
})
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
return value
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
/**
|
|
385
|
-
* Performs a deep recursive traversal of the property tree.
|
|
386
|
-
* Executes a callback for every node discovered. If a specific property node is provided, the traversal is restricted to its children; otherwise, the entire tree is visited.
|
|
387
|
-
*
|
|
388
|
-
* Выполняет глубокий рекурсивный обход дерева свойств.
|
|
389
|
-
* Выполняет callback для каждого обнаруженного узла. Если предоставлен конкретный узел свойства, обход ограничивается его дочерними элементами; в противном случае посещается все дерево.
|
|
390
|
-
* @param callback the callback function to execute for each element / функция обратного вызова для каждого элемента
|
|
391
|
-
* @param property optional start node for traversal / опциональный начальный узел для обхода
|
|
392
|
-
*/
|
|
393
|
-
each<T>(
|
|
394
|
-
callback: PropertyItemsCallback<T>,
|
|
395
|
-
property?: PropertyItemsItem
|
|
396
|
-
): T[] {
|
|
397
|
-
if (property) {
|
|
398
|
-
if (isObjectNotArray(property.item.value)) {
|
|
399
|
-
return this.read(
|
|
400
|
-
callback,
|
|
401
|
-
true,
|
|
402
|
-
property.design,
|
|
403
|
-
property.component,
|
|
404
|
-
property.item.value,
|
|
405
|
-
property.item,
|
|
406
|
-
property.parents
|
|
407
|
-
)
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
return []
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
return this.read(callback)
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Applies a user function to elements on the current level.
|
|
418
|
-
*
|
|
419
|
-
* Применяет пользовательскую функцию к элементам на текущем уровне.
|
|
420
|
-
* @param callback the callback function is executed for each element/
|
|
421
|
-
* выполняется функция обратного вызова (callback) для каждого элемента
|
|
422
|
-
* @param property
|
|
423
|
-
*/
|
|
424
|
-
eachMainOnly<T>(
|
|
425
|
-
callback: PropertyItemsCallback<T>,
|
|
426
|
-
property?: PropertyItemsItem
|
|
427
|
-
): T[] {
|
|
428
|
-
if (property) {
|
|
429
|
-
if (isObjectNotArray(property.item.value)) {
|
|
430
|
-
return this.read(
|
|
431
|
-
callback,
|
|
432
|
-
false,
|
|
433
|
-
property.design,
|
|
434
|
-
property.component,
|
|
435
|
-
property.item.value,
|
|
436
|
-
property.item,
|
|
437
|
-
property.parents
|
|
438
|
-
)
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
return []
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
return this.read(callback, false)
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
/**
|
|
448
|
-
* Search for a record by selected conditions.
|
|
449
|
-
*
|
|
450
|
-
* Поиск записи по выбранным условиям.
|
|
451
|
-
* @param callback function for checking the condition/ функция для проверки условия
|
|
452
|
-
*/
|
|
453
|
-
find(callback: (property: PropertyItemsItem) => boolean): PropertyItemsItem[] {
|
|
454
|
-
const data: PropertyItemsItem[] = []
|
|
455
|
-
|
|
456
|
-
this.each((property) => {
|
|
457
|
-
if (callback(property)) {
|
|
458
|
-
data.push(property)
|
|
459
|
-
}
|
|
460
|
-
})
|
|
461
|
-
|
|
462
|
-
return data
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
/**
|
|
466
|
-
* Searching for records with selected categories.
|
|
467
|
-
*
|
|
468
|
-
* Поиск записей с выделенными категориями.
|
|
469
|
-
* @param category names of categories/ названия категорий
|
|
470
|
-
*/
|
|
471
|
-
findCategory(category: string | string[]): PropertyItemsItem[] {
|
|
472
|
-
const data: PropertyItemsItem[] = []
|
|
473
|
-
|
|
474
|
-
this.each((property) => {
|
|
475
|
-
if (isSelected(property.item?.[PropertyKey.category], category)) {
|
|
476
|
-
data.push(property)
|
|
477
|
-
}
|
|
478
|
-
})
|
|
479
|
-
|
|
480
|
-
return data
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
/**
|
|
484
|
-
* Searching for records with selected categories.
|
|
485
|
-
*
|
|
486
|
-
* Поиск записей с выделенными категориями.
|
|
487
|
-
* @param variable names of categories/ названия категорий
|
|
488
|
-
*/
|
|
489
|
-
findVariable(variable: string | string[]): PropertyItemsItem[] {
|
|
490
|
-
const data: PropertyItemsItem[] = []
|
|
491
|
-
|
|
492
|
-
this.each((property) => {
|
|
493
|
-
if (isSelected(property.item?.[PropertyKey.variable], variable)) {
|
|
494
|
-
data.push(property)
|
|
495
|
-
}
|
|
496
|
-
})
|
|
497
|
-
|
|
498
|
-
return data
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
/**
|
|
502
|
-
* Changes the focused design.
|
|
503
|
-
*
|
|
504
|
-
* Изменяет фокусированный дизайн.
|
|
505
|
-
* @param design
|
|
506
|
-
*/
|
|
507
|
-
setFocusDesign(design: string): this {
|
|
508
|
-
this.focusDesign = design
|
|
509
|
-
return this
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
/**
|
|
513
|
-
* Saves intermediate data.
|
|
514
|
-
*
|
|
515
|
-
* Сохраняет промежуточные данные.
|
|
516
|
-
* @param name file name/ название файла
|
|
517
|
-
*/
|
|
518
|
-
write(name: string): void {
|
|
519
|
-
PropertiesCache.write(`${this.getDesigns().join('-')}-${name}`, this.properties)
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
/**
|
|
523
|
-
* Returns complete information about the property.
|
|
524
|
-
*
|
|
525
|
-
* Возвращает полную информацию о свойстве.
|
|
526
|
-
* @param parents an object with information about properties/ объект с информацией о свойствах
|
|
527
|
-
*/
|
|
528
|
-
private getIndex(parents: PropertyItemsItem['parents']): string {
|
|
529
|
-
return `${getColumn(parents, 'name').join('.')}`
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
/**
|
|
533
|
-
* Recursively applies a custom function to each element of the property.
|
|
534
|
-
*
|
|
535
|
-
* Рекурсивно применяет пользовательскую функцию к каждому элементу свойства.
|
|
536
|
-
* @param callback the callback function is executed for each element/
|
|
537
|
-
* выполняется функция обратного вызова (callback) для каждого элемента
|
|
538
|
-
* @param subItem scan child elements of the current element/ сканировать дочерние элементы текущего элемента
|
|
539
|
-
* @param design design name/ название дизайна
|
|
540
|
-
* @param component component name/ название компонента
|
|
541
|
-
* @param properties object for traversal/ объект для обхода
|
|
542
|
-
* @param parent ancestor element/ элемент-предок
|
|
543
|
-
* @param parents list of ancestor names/ список названий предков
|
|
544
|
-
*/
|
|
545
|
-
private read<T>(
|
|
546
|
-
callback: PropertyItemsCallback<T>,
|
|
547
|
-
subItem = true,
|
|
548
|
-
design?: string,
|
|
549
|
-
component?: string,
|
|
550
|
-
properties = this.properties,
|
|
551
|
-
parent?: PropertyItem,
|
|
552
|
-
parents: PropertyItemsItem['parents'] = []
|
|
553
|
-
): T[] {
|
|
554
|
-
const data: T[] = []
|
|
555
|
-
let previous: PropertyItem
|
|
556
|
-
|
|
557
|
-
forEach(properties, (item, name) => {
|
|
558
|
-
if (this.isFocusDesign(name, design)) {
|
|
559
|
-
const newDesign = design ?? name
|
|
560
|
-
const newComponent = design && (component ?? name)
|
|
561
|
-
const newParents = [...parents, {
|
|
562
|
-
name,
|
|
563
|
-
item
|
|
564
|
-
}]
|
|
565
|
-
|
|
566
|
-
const value = callback({
|
|
567
|
-
design: newDesign,
|
|
568
|
-
component: newComponent,
|
|
569
|
-
name,
|
|
570
|
-
index: this.getIndex(newParents),
|
|
571
|
-
value: item.value,
|
|
572
|
-
item,
|
|
573
|
-
previous,
|
|
574
|
-
parent,
|
|
575
|
-
parents
|
|
576
|
-
})
|
|
577
|
-
|
|
578
|
-
if (value !== undefined) {
|
|
579
|
-
data.push(value)
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
if (
|
|
583
|
-
subItem
|
|
584
|
-
&& isObjectNotArray(item.value)
|
|
585
|
-
) {
|
|
586
|
-
data.push(
|
|
587
|
-
...this.read(
|
|
588
|
-
callback,
|
|
589
|
-
subItem,
|
|
590
|
-
newDesign,
|
|
591
|
-
newComponent,
|
|
592
|
-
item.value,
|
|
593
|
-
item,
|
|
594
|
-
newParents
|
|
595
|
-
)
|
|
596
|
-
)
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
previous = item
|
|
600
|
-
}
|
|
601
|
-
})
|
|
602
|
-
|
|
603
|
-
return data
|
|
604
|
-
}
|
|
605
|
-
}
|