@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,259 +0,0 @@
|
|
|
1
|
-
// export:none
|
|
2
|
-
|
|
3
|
-
import { isObjectNotArray, splice } from '@dxtmisha/functional-basic'
|
|
4
|
-
|
|
5
|
-
import { PropertiesToAbstract } from './PropertiesToAbstract'
|
|
6
|
-
import { PropertiesTypes } from '../PropertiesTypes'
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
type PropertyItem,
|
|
10
|
-
PropertyKey,
|
|
11
|
-
type PropertyLinkItem,
|
|
12
|
-
type PropertyList,
|
|
13
|
-
PropertyType
|
|
14
|
-
} from '../../../types/propertyTypes'
|
|
15
|
-
|
|
16
|
-
const MAX = 32
|
|
17
|
-
const MAX_PARENT = 24
|
|
18
|
-
const USED_TYPE: PropertyType[] = [
|
|
19
|
-
PropertyType.link,
|
|
20
|
-
PropertyType.var,
|
|
21
|
-
PropertyType.property,
|
|
22
|
-
PropertyType.selector,
|
|
23
|
-
PropertyType.virtual,
|
|
24
|
-
PropertyType.scss
|
|
25
|
-
]
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The method for changing all links.
|
|
29
|
-
*
|
|
30
|
-
* Метод для изменения всех ссылок.
|
|
31
|
-
*/
|
|
32
|
-
export class PropertiesToLink extends PropertiesToAbstract {
|
|
33
|
-
protected readonly FILE_CACHE = '004-link'
|
|
34
|
-
|
|
35
|
-
private update = 1
|
|
36
|
-
private readonly ignore: string[] = []
|
|
37
|
-
private readonly links: string[] = []
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* The method searches for all links and replaces their values with the specified link.
|
|
41
|
-
*
|
|
42
|
-
* Метод ищет все ссылки и заменяет значения на указанную ссылку.
|
|
43
|
-
*/
|
|
44
|
-
protected init(): void {
|
|
45
|
-
let max = MAX
|
|
46
|
-
|
|
47
|
-
while (
|
|
48
|
-
this.update > 0
|
|
49
|
-
&& max-- > 0) {
|
|
50
|
-
this.update = 0
|
|
51
|
-
this.read()
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* The method searches for all links and replaces their values with the specified link.
|
|
57
|
-
*
|
|
58
|
-
* Метод ищет все ссылки и заменяет значения на указанную ссылку.
|
|
59
|
-
* @param design design name/ название дизайна
|
|
60
|
-
* @param component component name/ название компонента
|
|
61
|
-
* @param properties array with all property records/ массив со всеми записями свойств
|
|
62
|
-
* @param parent object of ancestor/ объект предка
|
|
63
|
-
*/
|
|
64
|
-
private read(
|
|
65
|
-
design?: string,
|
|
66
|
-
component?: string,
|
|
67
|
-
properties = this.items.get(),
|
|
68
|
-
parent: string[] = []
|
|
69
|
-
) {
|
|
70
|
-
const items: PropertyLinkItem[] = []
|
|
71
|
-
let expect = false
|
|
72
|
-
|
|
73
|
-
if (parent.length > MAX_PARENT) {
|
|
74
|
-
return expect
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
for (const [name, item] of Object.entries(properties)) {
|
|
78
|
-
const parentItem = [...parent, name]
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
design
|
|
82
|
-
&& component
|
|
83
|
-
&& this.isType(item)
|
|
84
|
-
&& this.isValue(item.value)
|
|
85
|
-
&& !this.isIgnore(item.value)
|
|
86
|
-
) {
|
|
87
|
-
const link = this.items.getLink(design, component, item.value)
|
|
88
|
-
const data = this.items.getInfo(link)
|
|
89
|
-
|
|
90
|
-
if (data) {
|
|
91
|
-
if (this.isData(data.value)) {
|
|
92
|
-
if (
|
|
93
|
-
!this.isLink(link)
|
|
94
|
-
&& this.read(
|
|
95
|
-
data.design,
|
|
96
|
-
data.component,
|
|
97
|
-
data.value,
|
|
98
|
-
parentItem
|
|
99
|
-
)
|
|
100
|
-
) {
|
|
101
|
-
expect = true
|
|
102
|
-
break
|
|
103
|
-
} else {
|
|
104
|
-
this.addLink(link)
|
|
105
|
-
this.update++
|
|
106
|
-
|
|
107
|
-
items.push({
|
|
108
|
-
name,
|
|
109
|
-
data: data.value,
|
|
110
|
-
properties
|
|
111
|
-
})
|
|
112
|
-
|
|
113
|
-
break
|
|
114
|
-
}
|
|
115
|
-
} else if (typeof data.value === 'string') {
|
|
116
|
-
this.addIgnore(data.value)
|
|
117
|
-
}
|
|
118
|
-
} else {
|
|
119
|
-
// TODO: зачем это надо?
|
|
120
|
-
// expect = true
|
|
121
|
-
// break
|
|
122
|
-
}
|
|
123
|
-
} else if (
|
|
124
|
-
isObjectNotArray(item.value)
|
|
125
|
-
&& this.read(
|
|
126
|
-
design ?? name,
|
|
127
|
-
design && (component ?? name),
|
|
128
|
-
item.value,
|
|
129
|
-
parentItem
|
|
130
|
-
)
|
|
131
|
-
) {
|
|
132
|
-
expect = true
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
if (items.length > 0) {
|
|
137
|
-
this.add(parent, items)
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return expect
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Checks for compliance by type.
|
|
145
|
-
*
|
|
146
|
-
* Проверяет на соответствие по типу.
|
|
147
|
-
* @param item current element/ текущий элемент
|
|
148
|
-
*/
|
|
149
|
-
private isType(item: PropertyItem): boolean {
|
|
150
|
-
return !item?.[PropertyKey.type] || PropertiesTypes.isInType(item[PropertyKey.type], USED_TYPE)
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Checks whether a value is a reference.
|
|
155
|
-
*
|
|
156
|
-
* Проверяет, является ли значение ссылкой.
|
|
157
|
-
* @param value current element/ текущий элемент
|
|
158
|
-
*/
|
|
159
|
-
private isValue(value: PropertyItem['value']): value is string {
|
|
160
|
-
return typeof value === 'string'
|
|
161
|
-
&& Boolean(value.match(/^{[^{}]+}$/))
|
|
162
|
-
&& !value.match(/[{?.]sys/)
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Checks if the values are valid, if such values have been checked.
|
|
167
|
-
*
|
|
168
|
-
* Проверяет, подходят ли значения, проверены ли такие значения.
|
|
169
|
-
* @param value current element/ текущий элемент
|
|
170
|
-
*/
|
|
171
|
-
private isIgnore(value: string): boolean {
|
|
172
|
-
return this.ignore.indexOf(value) !== -1
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Checks if the values are processed for the current link.
|
|
177
|
-
*
|
|
178
|
-
* Проверяет, обработаны ли значения у текущей ссылки.
|
|
179
|
-
* @param value current element/ текущий элемент
|
|
180
|
-
*/
|
|
181
|
-
private isLink(value: string): boolean {
|
|
182
|
-
return this.links.indexOf(value) !== -1
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Checks if the given link meets the conditions.
|
|
187
|
-
*
|
|
188
|
-
* Проверяет, подходит ли данный ссылка под условия.
|
|
189
|
-
* @param value current element/ текущий элемент
|
|
190
|
-
*/
|
|
191
|
-
private isData(value: PropertyItem['value']): value is PropertyList {
|
|
192
|
-
return isObjectNotArray(value) && Object.keys(value).length > 0
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Checks if the values are hidden.
|
|
197
|
-
*
|
|
198
|
-
* Проверяет, являются ли значения скрытыми.
|
|
199
|
-
* @param parents list of ancestors/ список предков
|
|
200
|
-
* @private
|
|
201
|
-
*/
|
|
202
|
-
|
|
203
|
-
/*
|
|
204
|
-
private isNone (parents: PropertyItemsParent[]): boolean {
|
|
205
|
-
for (const parent of parents) {
|
|
206
|
-
if (parent.item?.[PropertyKey.type] === PropertyType.none) {
|
|
207
|
-
return true
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
return false
|
|
212
|
-
}
|
|
213
|
-
*/
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Adds new entries.
|
|
217
|
-
*
|
|
218
|
-
* Добавляет новые записи.
|
|
219
|
-
* @param parent ссылка на предка/ ссылка на предка
|
|
220
|
-
* @param items data for processing/ данные для обработки
|
|
221
|
-
*/
|
|
222
|
-
private add(parent: string[], items: PropertyLinkItem[]): void {
|
|
223
|
-
const property = this.items.getInfo(`{${parent.join('.')}}`)
|
|
224
|
-
|
|
225
|
-
if (property) {
|
|
226
|
-
items.forEach(({
|
|
227
|
-
name,
|
|
228
|
-
data,
|
|
229
|
-
properties
|
|
230
|
-
}) => {
|
|
231
|
-
property.item.value = splice<PropertyItem>(
|
|
232
|
-
properties,
|
|
233
|
-
data,
|
|
234
|
-
name
|
|
235
|
-
) as PropertyList
|
|
236
|
-
})
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* We will add the values to the ignore.
|
|
242
|
-
*
|
|
243
|
-
* Добавим значения в игнор.
|
|
244
|
-
* @param value current element/ текущий элемент
|
|
245
|
-
*/
|
|
246
|
-
private addIgnore(value: string): void {
|
|
247
|
-
this.ignore.push(value)
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
/**
|
|
251
|
-
* We will add a label that the current link is processed.
|
|
252
|
-
*
|
|
253
|
-
* Добавим метку, что текущая ссылка обработана.
|
|
254
|
-
* @param value current element/ текущий элемент
|
|
255
|
-
*/
|
|
256
|
-
private addLink(value: string): void {
|
|
257
|
-
this.links.push(value)
|
|
258
|
-
}
|
|
259
|
-
}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
// export:none
|
|
2
|
-
|
|
3
|
-
import { forEach, isObjectNotArray, toCamelCase } from '@dxtmisha/functional-basic'
|
|
4
|
-
|
|
5
|
-
import { PropertiesToAbstract } from './PropertiesToAbstract'
|
|
6
|
-
import { PropertiesItems } from '../PropertiesItems'
|
|
7
|
-
|
|
8
|
-
import { type PropertyItem, type PropertyItemsMedia, PropertyKey, PropertyType } from '../../../types/propertyTypes'
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* A class for transforming class.
|
|
12
|
-
*
|
|
13
|
-
* Класс для преобразования class.
|
|
14
|
-
*/
|
|
15
|
-
export class PropertiesToMedia extends PropertiesToAbstract {
|
|
16
|
-
protected readonly FILE_CACHE = '040-media'
|
|
17
|
-
private readonly media: PropertyItemsMedia
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Constructor
|
|
21
|
-
* @param items data for processing/ данные для обработки
|
|
22
|
-
*/
|
|
23
|
-
constructor(protected items: PropertiesItems) {
|
|
24
|
-
super(items)
|
|
25
|
-
this.media = this.items.getMedia()
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
protected init(): void {
|
|
29
|
-
this.items
|
|
30
|
-
.findVariable([
|
|
31
|
-
PropertyType.mediaGroup,
|
|
32
|
-
PropertyType.mediaMaxGroup,
|
|
33
|
-
PropertyType.containerGroup,
|
|
34
|
-
PropertyType.containerMaxGroup
|
|
35
|
-
])
|
|
36
|
-
.forEach(
|
|
37
|
-
(
|
|
38
|
-
{
|
|
39
|
-
design,
|
|
40
|
-
name,
|
|
41
|
-
item,
|
|
42
|
-
parent
|
|
43
|
-
}
|
|
44
|
-
) => {
|
|
45
|
-
if (
|
|
46
|
-
parent?.value
|
|
47
|
-
&& isObjectNotArray(parent.value)
|
|
48
|
-
) {
|
|
49
|
-
if (name in parent.value) {
|
|
50
|
-
delete parent.value[name]
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
Object.assign(
|
|
54
|
-
parent.value,
|
|
55
|
-
this.toValueGroup(design, name, item, this.getTypeByGroup(item))
|
|
56
|
-
)
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
this.items
|
|
62
|
-
.findVariable([
|
|
63
|
-
PropertyType.media,
|
|
64
|
-
PropertyType.mediaMax,
|
|
65
|
-
PropertyType.container,
|
|
66
|
-
PropertyType.containerMax
|
|
67
|
-
])
|
|
68
|
-
.forEach(
|
|
69
|
-
(
|
|
70
|
-
{
|
|
71
|
-
design,
|
|
72
|
-
name,
|
|
73
|
-
item
|
|
74
|
-
}
|
|
75
|
-
) => {
|
|
76
|
-
item[PropertyKey.name] = this.getName(design, name, item)
|
|
77
|
-
}
|
|
78
|
-
)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* @param design design name/ название дизайна
|
|
83
|
-
* @param name base property name/ базовое название свойства
|
|
84
|
-
* @param item current element/ текущий элемент
|
|
85
|
-
*/
|
|
86
|
-
private getName(
|
|
87
|
-
design: string,
|
|
88
|
-
name: string,
|
|
89
|
-
item: PropertyItem
|
|
90
|
-
) {
|
|
91
|
-
const values = this.toValueForMedia(
|
|
92
|
-
design,
|
|
93
|
-
this.items.getReName(name, item).split(',')
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
if (values.length > 1) {
|
|
97
|
-
return `(min-width: ${values?.[0] || '0px'}) and (max-width: calc(${values?.[1] || '1980px'} - 1px))`
|
|
98
|
-
} else if (
|
|
99
|
-
item?.[PropertyKey.variable] === PropertyType.mediaMax
|
|
100
|
-
|| item?.[PropertyKey.variable] === PropertyType.containerMax
|
|
101
|
-
) {
|
|
102
|
-
return `(max-width: calc(${values?.[0] || '1980px'} - 1px))`
|
|
103
|
-
} else {
|
|
104
|
-
return `(min-width: ${values?.[0] || '0px'})`
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Returns the type of property by group.
|
|
110
|
-
*
|
|
111
|
-
* Возвращает тип свойства по группе.
|
|
112
|
-
* @param item current element/ текущий элемент
|
|
113
|
-
*/
|
|
114
|
-
private getTypeByGroup(item: PropertyItem): PropertyType {
|
|
115
|
-
switch (item?.[PropertyKey.variable]) {
|
|
116
|
-
case PropertyType.containerGroup:
|
|
117
|
-
return PropertyType.container
|
|
118
|
-
case PropertyType.containerMaxGroup:
|
|
119
|
-
return PropertyType.containerMax
|
|
120
|
-
case PropertyType.mediaMaxGroup:
|
|
121
|
-
return PropertyType.mediaMax
|
|
122
|
-
default:
|
|
123
|
-
return PropertyType.media
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Updates data if the alias is entered.
|
|
129
|
-
*
|
|
130
|
-
* Изменяет данные, если введен алиас.
|
|
131
|
-
* @param design design name/ название дизайна
|
|
132
|
-
* @param values a list of values for media/ список значений для медиа
|
|
133
|
-
*/
|
|
134
|
-
private toValueForMedia(design: string, values: string[]): string[] {
|
|
135
|
-
return forEach(values, (value) => {
|
|
136
|
-
const key = toCamelCase(value.replace(/^mediaMax|media|containerMax|container/, ''))
|
|
137
|
-
const media = this.media?.[design]?.[key]?.value
|
|
138
|
-
|
|
139
|
-
return (typeof media === 'string' && media) || key
|
|
140
|
-
})
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Creates a group of media values.
|
|
145
|
-
*
|
|
146
|
-
* Создает группу медиа значений.
|
|
147
|
-
* @param design design name/ название дизайна
|
|
148
|
-
* @param name base property name/ базовое название свойства
|
|
149
|
-
* @param item current element/ текущий элемент
|
|
150
|
-
* @param type property type/ тип свойства
|
|
151
|
-
*/
|
|
152
|
-
private toValueGroup(
|
|
153
|
-
design: string,
|
|
154
|
-
name: string,
|
|
155
|
-
item: PropertyItem,
|
|
156
|
-
type: PropertyType
|
|
157
|
-
): Record<string, PropertyItem> | undefined {
|
|
158
|
-
const medias = this.media?.[design]
|
|
159
|
-
|
|
160
|
-
if (medias) {
|
|
161
|
-
const data: Record<string, PropertyItem> = {}
|
|
162
|
-
|
|
163
|
-
Object.keys(medias).forEach((key) => {
|
|
164
|
-
const index: string = toCamelCase(`${name}-${key}`)
|
|
165
|
-
const indexMedia: string = toCamelCase(`${type}-${key}`)
|
|
166
|
-
|
|
167
|
-
data[index] = {
|
|
168
|
-
value: {
|
|
169
|
-
[indexMedia]: {
|
|
170
|
-
value: item.value,
|
|
171
|
-
__i: `${type}|sm`,
|
|
172
|
-
__v: type,
|
|
173
|
-
__n: indexMedia
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
__i: index,
|
|
177
|
-
__v: PropertyType.state,
|
|
178
|
-
__n: `&--${index}`
|
|
179
|
-
} as PropertyItem
|
|
180
|
-
})
|
|
181
|
-
|
|
182
|
-
return data
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return undefined
|
|
186
|
-
}
|
|
187
|
-
}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
// export:none
|
|
2
|
-
|
|
3
|
-
import { forEach, isFilled, isObjectNotArray } from '@dxtmisha/functional-basic'
|
|
4
|
-
|
|
5
|
-
import { PropertiesToAbstract } from './PropertiesToAbstract'
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
type PropertyItem,
|
|
9
|
-
type PropertyItemsItem,
|
|
10
|
-
PropertyKey,
|
|
11
|
-
type PropertyList,
|
|
12
|
-
PropertyType
|
|
13
|
-
} from '../../../types/propertyTypes'
|
|
14
|
-
|
|
15
|
-
const TYPE = [
|
|
16
|
-
PropertyType.var,
|
|
17
|
-
PropertyType.state
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Class for converting properties with multiple values.
|
|
22
|
-
*
|
|
23
|
-
* Класс для преобразования свойств с множеством значений.
|
|
24
|
-
*/
|
|
25
|
-
export class PropertiesToMulti extends PropertiesToAbstract {
|
|
26
|
-
protected readonly FILE_CACHE = '012-multi'
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Converts property records with multiple types.
|
|
30
|
-
*
|
|
31
|
-
* Преобразует записи свойств со множеством типов.
|
|
32
|
-
*/
|
|
33
|
-
protected init(): void {
|
|
34
|
-
this.getList().forEach(({
|
|
35
|
-
item,
|
|
36
|
-
name,
|
|
37
|
-
value
|
|
38
|
-
}) => {
|
|
39
|
-
this.read(
|
|
40
|
-
this.items.getReName(name, item),
|
|
41
|
-
value as PropertyList,
|
|
42
|
-
item?.[PropertyKey.varKey] ?? false
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
item[PropertyKey.variable] = PropertyType.state
|
|
46
|
-
})
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Returns a list of properties with multiple values.
|
|
51
|
-
*
|
|
52
|
-
* Возвращает список свойств с множеством значений.
|
|
53
|
-
*/
|
|
54
|
-
private getList(): PropertyItemsItem[] {
|
|
55
|
-
return this.items.each((property) => {
|
|
56
|
-
const {
|
|
57
|
-
item,
|
|
58
|
-
value
|
|
59
|
-
} = property
|
|
60
|
-
|
|
61
|
-
if (
|
|
62
|
-
item?.[PropertyKey.variable] === PropertyType.property
|
|
63
|
-
&& isFilled(value)
|
|
64
|
-
&& isObjectNotArray(value)
|
|
65
|
-
) {
|
|
66
|
-
return property
|
|
67
|
-
}
|
|
68
|
-
}) as PropertyItemsItem[]
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Transformation for the element.
|
|
73
|
-
*
|
|
74
|
-
* Преобразование для элемента.
|
|
75
|
-
* @param name property name/ название свойства transformed/
|
|
76
|
-
* массив, который нужно преобразовать
|
|
77
|
-
* @param properties array with all property records/ массив со всеми записями свойств
|
|
78
|
-
* @param isVar should i convert the type to var/ надо ли преобразовывать тип в var
|
|
79
|
-
*/
|
|
80
|
-
private read(
|
|
81
|
-
name: string,
|
|
82
|
-
properties: PropertyList,
|
|
83
|
-
isVar: boolean
|
|
84
|
-
) {
|
|
85
|
-
forEach(properties, (item) => {
|
|
86
|
-
if (
|
|
87
|
-
typeof item.value === 'string'
|
|
88
|
-
&& item?.[PropertyKey.variable]
|
|
89
|
-
&& TYPE.indexOf(item[PropertyKey.variable]) !== -1
|
|
90
|
-
) {
|
|
91
|
-
item[PropertyKey.variable] = PropertyType.state
|
|
92
|
-
item.value = {
|
|
93
|
-
[name]: {
|
|
94
|
-
value: item.value,
|
|
95
|
-
[PropertyKey.variable]: isVar ? PropertyType.var : PropertyType.property
|
|
96
|
-
}
|
|
97
|
-
} as PropertyItem['value']
|
|
98
|
-
}
|
|
99
|
-
})
|
|
100
|
-
}
|
|
101
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// export:none
|
|
2
|
-
|
|
3
|
-
import { getColumn, isFilled, isObjectNotArray } from '@dxtmisha/functional-basic'
|
|
4
|
-
|
|
5
|
-
import { PropertiesToAbstract } from './PropertiesToAbstract'
|
|
6
|
-
|
|
7
|
-
import { PropertyType } from '../../../types/propertyTypes'
|
|
8
|
-
|
|
9
|
-
const TYPES = [
|
|
10
|
-
PropertyType.var,
|
|
11
|
-
PropertyType.property
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Class for cleaning all empty entries for clothing the array.
|
|
16
|
-
*
|
|
17
|
-
* Класс для очистки всех пустых записей для облечения массива.
|
|
18
|
-
*/
|
|
19
|
-
export class PropertiesToNone extends PropertiesToAbstract {
|
|
20
|
-
protected readonly FILE_CACHE = '900-none'
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Removes all empty entries from the data.
|
|
24
|
-
*
|
|
25
|
-
* Удаляет у данных всех пустых записей.
|
|
26
|
-
*/
|
|
27
|
-
protected init(): void {
|
|
28
|
-
this.items.findVariable(TYPES)
|
|
29
|
-
.forEach(({
|
|
30
|
-
name,
|
|
31
|
-
value,
|
|
32
|
-
parent,
|
|
33
|
-
parents
|
|
34
|
-
}) => {
|
|
35
|
-
if (
|
|
36
|
-
parent
|
|
37
|
-
&& !isFilled(value)
|
|
38
|
-
&& isObjectNotArray(value)
|
|
39
|
-
&& isObjectNotArray(parent.value)
|
|
40
|
-
) {
|
|
41
|
-
console.error('[None]', `{${getColumn(parents, 'name').join('.')}.${name}}`)
|
|
42
|
-
delete parent.value[name]
|
|
43
|
-
}
|
|
44
|
-
})
|
|
45
|
-
}
|
|
46
|
-
}
|