@taiga-ui/cdk 4.52.0-canary.abf3e8c → 4.52.0-canary.ae38a1e
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/constants/empty.d.ts +0 -9
- package/constants/handlers.d.ts +2 -0
- package/constants/used-icons.d.ts +1 -1
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/directives/active-zone/active-zone.directive.d.ts +0 -1
- package/directives/value-changes/value-changes.directive.d.ts +1 -1
- package/fesm2022/taiga-ui-cdk-classes.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +4 -13
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-date-time.mjs +1 -2
- package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +9 -16
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +5 -4
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-element.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-element.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +7 -7
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-media.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +5 -4
- package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +6 -6
- package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-validator.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +8 -7
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +5 -4
- package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +8 -7
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-portals.mjs +12 -12
- package/fesm2022/taiga-ui-cdk-tokens.mjs +2 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-math.mjs +12 -9
- package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +1 -84
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/package.json +9 -9
- package/schematics/index.d.ts +5 -0
- package/schematics/index.js +4 -0
- package/schematics/index.js.map +1 -1
- package/schematics/ng-add/constants/versions.d.ts +1 -1
- package/schematics/ng-add/steps/add-taiga-modules.js +0 -15
- package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -1
- package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +4 -4
- package/schematics/ng-update/v4/migrate-css-vars/palette.js +4 -4
- package/schematics/ng-update/v4/migrate-css-vars/palette.js.map +1 -1
- package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +13 -13
- package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js.map +1 -1
- package/schematics/ng-update/v5/index.js +4 -0
- package/schematics/ng-update/v5/index.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +4 -0
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js +10 -0
- package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/migrate-css-variables.d.ts +3 -0
- package/schematics/ng-update/v5/steps/migrate-css-variables.js +30 -0
- package/schematics/ng-update/v5/steps/migrate-css-variables.js.map +1 -0
- package/schematics/ng-update/v5/steps/migrate-templates.js +2 -0
- package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
- package/schematics/ng-update/v5/steps/migrate-tui-let.d.ts +3 -0
- package/schematics/ng-update/v5/steps/migrate-tui-let.js +95 -0
- package/schematics/ng-update/v5/steps/migrate-tui-let.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-notification.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-notification.js +45 -0
- package/schematics/ng-update/v5/steps/templates/migrate-notification.js.map +1 -0
- package/schematics/utils/templates/elements.d.ts +4 -1
- package/schematics/utils/templates/elements.js.map +1 -1
- package/types/index.d.ts +0 -1
- package/utils/math/clamp.d.ts +1 -5
- package/utils/miscellaneous/index.d.ts +0 -1
- package/schematics/migrate-tui-let/index.d.ts +0 -3
- package/schematics/migrate-tui-let/index.js +0 -73
- package/schematics/migrate-tui-let/index.js.map +0 -1
- package/schematics/migrate-tui-let/schema.json +0 -7
- package/types/loose-union.d.ts +0 -36
- package/utils/miscellaneous/pure.d.ts +0 -22
|
@@ -18,5 +18,15 @@ exports.IDENTIFIERS_TO_REPLACE = [
|
|
|
18
18
|
},
|
|
19
19
|
],
|
|
20
20
|
},
|
|
21
|
+
{
|
|
22
|
+
from: {
|
|
23
|
+
name: 'TuiButtonClose',
|
|
24
|
+
moduleSpecifier: '@taiga-ui/kit',
|
|
25
|
+
},
|
|
26
|
+
to: {
|
|
27
|
+
name: 'TuiButtonX',
|
|
28
|
+
moduleSpecifier: '@taiga-ui/core',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
21
31
|
];
|
|
22
32
|
//# sourceMappingURL=identifiers-to-replace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifiers-to-replace.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/constants/identifiers-to-replace.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAiC;IAChE;QACI,IAAI,EAAE;YACF,IAAI,EAAE,oBAAoB;YAC1B,eAAe,EAAE,kBAAkB;SACtC;QACD,EAAE,EAAE;YACA;gBACI,IAAI,EAAE,cAAc;gBACpB,eAAe,EAAE,eAAe;aACnC;YACD;gBACI,IAAI,EAAE,cAAc;gBACpB,eAAe,EAAE,gBAAgB;aACpC;SACJ;KACJ;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"identifiers-to-replace.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/constants/identifiers-to-replace.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAiC;IAChE;QACI,IAAI,EAAE;YACF,IAAI,EAAE,oBAAoB;YAC1B,eAAe,EAAE,kBAAkB;SACtC;QACD,EAAE,EAAE;YACA;gBACI,IAAI,EAAE,cAAc;gBACpB,eAAe,EAAE,eAAe;aACnC;YACD;gBACI,IAAI,EAAE,cAAc;gBACpB,eAAe,EAAE,gBAAgB;aACpC;SACJ;KACJ;IACD;QACI,IAAI,EAAE;YACF,IAAI,EAAE,gBAAgB;YACtB,eAAe,EAAE,eAAe;SACnC;QACD,EAAE,EAAE;YACA,IAAI,EAAE,YAAY;YAClB,eAAe,EAAE,gBAAgB;SACpC;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateCssVariables = migrateCssVariables;
|
|
4
|
+
const ng_morph_1 = require("ng-morph");
|
|
5
|
+
const get_file_system_1 = require("../../utils/get-file-system");
|
|
6
|
+
const replace_text_1 = require("../../utils/replace-text");
|
|
7
|
+
const FONT_VARIABLES_REPLACEMENTS = [
|
|
8
|
+
{ from: '--tui-font-heading-([1-6])', to: '--tui-font-heading-h$1' },
|
|
9
|
+
{ from: '--tui-font-text-xl', to: '--tui-font-legacy-body-xl' },
|
|
10
|
+
{ from: '--tui-font-text-l', to: '--tui-font-body-l' },
|
|
11
|
+
{ from: '--tui-font-text-m', to: '--tui-font-body-m' },
|
|
12
|
+
{ from: '--tui-font-text-s', to: '--tui-font-body-s' },
|
|
13
|
+
{ from: '--tui-font-text-xs', to: '--tui-font-body-xs' },
|
|
14
|
+
{ from: '--tui-font-text-ui-l', to: '--tui-font-ui-l' },
|
|
15
|
+
{ from: '--tui-font-text-ui-m', to: '--tui-font-ui-m' },
|
|
16
|
+
{ from: '--tui-font-text-ui-s', to: '--tui-font-ui-s' },
|
|
17
|
+
{ from: '--tui-font-text-ui-xs', to: '--tui-font-ui-xs' },
|
|
18
|
+
];
|
|
19
|
+
function migrateCssVariables(tree, options) {
|
|
20
|
+
if (!options['skip-logs']) {
|
|
21
|
+
(0, ng_morph_1.infoLog)('Starting migration css variables...');
|
|
22
|
+
}
|
|
23
|
+
const fileSystem = (0, get_file_system_1.getFileSystem)(tree);
|
|
24
|
+
(0, replace_text_1.replaceText)(FONT_VARIABLES_REPLACEMENTS);
|
|
25
|
+
fileSystem.commitEdits();
|
|
26
|
+
(0, ng_morph_1.saveActiveProject)();
|
|
27
|
+
!options['skip-logs'] &&
|
|
28
|
+
(0, ng_morph_1.successLog)(`${ng_morph_1.SMALL_TAB_SYMBOL}${ng_morph_1.SUCCESS_SYMBOL} css variables migrated \n`);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=migrate-css-variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-css-variables.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/v5/steps/migrate-css-variables.ts"],"names":[],"mappings":";;AA0BA,kDAcC;AAvCD,uCAMkB;AAGlB,iEAA0D;AAC1D,2DAAqD;AAErD,MAAM,2BAA2B,GAAG;IAChC,EAAC,IAAI,EAAE,4BAA4B,EAAE,EAAE,EAAE,wBAAwB,EAAC;IAClE,EAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,2BAA2B,EAAC;IAC7D,EAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,EAAC;IACpD,EAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,EAAC;IACpD,EAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,EAAC;IACpD,EAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,oBAAoB,EAAC;IACtD,EAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAC;IACrD,EAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAC;IACrD,EAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,iBAAiB,EAAC;IACrD,EAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,kBAAkB,EAAC;CAC1D,CAAC;AAEF,SAAgB,mBAAmB,CAAC,IAAU,EAAE,OAAkB;IAC9D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxB,IAAA,kBAAO,EAAC,qCAAqC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;IAEvC,IAAA,0BAAW,EAAC,2BAA2B,CAAC,CAAC;IAEzC,UAAU,CAAC,WAAW,EAAE,CAAC;IACzB,IAAA,4BAAiB,GAAE,CAAC;IAEpB,CAAC,OAAO,CAAC,WAAW,CAAC;QACjB,IAAA,qBAAU,EAAC,GAAG,2BAAgB,GAAG,yBAAc,4BAA4B,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -13,6 +13,7 @@ const attrs_to_replace_1 = require("./constants/attrs-to-replace");
|
|
|
13
13
|
const html_comments_1 = require("./constants/html-comments");
|
|
14
14
|
const migrate_avatar_1 = require("./templates/migrate-avatar");
|
|
15
15
|
const migrate_input_year_1 = require("./templates/migrate-input-year");
|
|
16
|
+
const migrate_notification_1 = require("./templates/migrate-notification");
|
|
16
17
|
function getAction({ action, requiredData, }) {
|
|
17
18
|
return ({ resource, fileSystem, recorder, }) => action({ resource, fileSystem, recorder, data: requiredData });
|
|
18
19
|
}
|
|
@@ -25,6 +26,7 @@ function migrateTemplates(fileSystem, options) {
|
|
|
25
26
|
getAction({ action: templates_1.replaceAttrs, requiredData: attrs_to_replace_1.ATTRS_TO_REPLACE }),
|
|
26
27
|
migrate_input_year_1.migrateInputYear,
|
|
27
28
|
migrate_avatar_1.migrateAvatarToDirective,
|
|
29
|
+
migrate_notification_1.migrateTuiNotification,
|
|
28
30
|
];
|
|
29
31
|
const progressLog = (0, progress_1.setupProgressLogger)({
|
|
30
32
|
total: componentWithTemplatesPaths.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-templates.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/v5/steps/migrate-templates.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"migrate-templates.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/v5/steps/migrate-templates.ts"],"names":[],"mappings":";;AAwBA,8BA0BC;AAED,4CAoCC;AAxFD,uCAQkB;AAElB,kDAAgD;AAEhD,8FAA6E;AAC7E,sDAA4D;AAC5D,8FAAuF;AACvF,kFAAuF;AAEvF,qDAAuE;AACvE,mEAA8D;AAC9D,6DAAwD;AACxD,+DAAoE;AACpE,uEAAgE;AAChE,2EAAwE;AAExE,SAAgB,SAAS,CAAI,EACzB,MAAM,EACN,YAAY,GAcf;IACG,OAAO,CAAC,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,GAKX,EAAE,EAAE,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,gBAAgB,CAAC,UAA4B,EAAE,OAAkB;IAC7E,CAAC,OAAO,CAAC,WAAW,CAAC;QACjB,IAAA,kBAAO,EAAC,GAAG,2BAAgB,GAAG,yBAAc,yBAAyB,CAAC,CAAC;IAE3E,MAAM,2BAA2B,GAAG,IAAA,+CAAqB,EAAC,wBAAY,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG;QACZ,SAAS,CAAC,EAAC,MAAM,EAAE,8BAAkB,EAAE,YAAY,EAAE,6BAAa,EAAC,CAAC;QACpE,SAAS,CAAC,EAAC,MAAM,EAAE,wBAAY,EAAE,YAAY,EAAE,mCAAgB,EAAC,CAAC;QACjE,qCAAgB;QAChB,yCAAwB;QACxB,6CAAsB;KAChB,CAAC;IAEX,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC;QACpC,KAAK,EAAE,2BAA2B,CAAC,MAAM;KAC5C,CAAC,CAAC;IAEH,2BAA2B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAA,+CAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YACpC,MAAM,YAAY,GAAG,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAExD,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,CAAC,EAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,WAAW,EAAE,CAAC;IAEzB,IAAA,+CAAgB,EAAC,OAAO,CAAC,CAAC;IAE1B,CAAC,OAAO,CAAC,WAAW,CAAC;QACjB,IAAA,qBAAU,EAAC,GAAG,2BAAgB,GAAG,yBAAc,wBAAwB,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tuiLetMigration = tuiLetMigration;
|
|
4
|
+
const schematics_1 = require("@angular/cdk/schematics");
|
|
5
|
+
const ng_morph_1 = require("ng-morph");
|
|
6
|
+
const file_globs_1 = require("../../../constants/file-globs");
|
|
7
|
+
const remove_module_1 = require("../../../utils/remove-module");
|
|
8
|
+
const get_component_templates_1 = require("../../../utils/templates/get-component-templates");
|
|
9
|
+
const template_resource_1 = require("../../../utils/templates/template-resource");
|
|
10
|
+
const get_file_system_1 = require("../../utils/get-file-system");
|
|
11
|
+
const STRUCTURAL_ATTR = '*tuiLet';
|
|
12
|
+
function tuiLetMigration(tree, options) {
|
|
13
|
+
const fileSystem = (0, get_file_system_1.getFileSystem)(tree);
|
|
14
|
+
const project = (0, ng_morph_1.createProject)(tree, '/', file_globs_1.ALL_TS_FILES);
|
|
15
|
+
(0, ng_morph_1.setActiveProject)(project);
|
|
16
|
+
(0, remove_module_1.removeModule)('TuiLet', '@taiga-ui/cdk');
|
|
17
|
+
const resources = (0, get_component_templates_1.getComponentTemplates)(file_globs_1.ALL_FILES);
|
|
18
|
+
for (const resource of resources) {
|
|
19
|
+
migrateTemplate(resource, fileSystem, options);
|
|
20
|
+
}
|
|
21
|
+
fileSystem.commitEdits();
|
|
22
|
+
(0, ng_morph_1.saveActiveProject)();
|
|
23
|
+
}
|
|
24
|
+
function migrateTemplate(resource, fileSystem, options) {
|
|
25
|
+
const templatePath = fileSystem.resolve((0, template_resource_1.getPathFromTemplateResource)(resource));
|
|
26
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
27
|
+
const recorder = fileSystem.edit(templatePath);
|
|
28
|
+
const offset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
29
|
+
const elements = (0, schematics_1.findElementsWithAttribute)(template, STRUCTURAL_ATTR);
|
|
30
|
+
for (const element of elements) {
|
|
31
|
+
migrateStructuralLet(element, template, recorder, offset, options);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function migrateStructuralLet(element, template, recorder, offset, options) {
|
|
35
|
+
const attr = element.attrs.find((a) => a.name === STRUCTURAL_ATTR.toLowerCase());
|
|
36
|
+
if (!attr) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const { expr, key } = parseLetExpression(attr.value);
|
|
40
|
+
if (!expr || !key) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (containsDuplicateLet(template, key)) {
|
|
44
|
+
if (!options['skip-logs']) {
|
|
45
|
+
(0, ng_morph_1.errorLog)(`The @let with key ${key} is already defined`);
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
insertLetDeclaration({ recorder, offset, element, template, expr, key });
|
|
50
|
+
removeStructuralAttribute({ recorder, offset, element, attr });
|
|
51
|
+
}
|
|
52
|
+
function parseLetExpression(value) {
|
|
53
|
+
const [expr = '', key = ''] = value.split(' as ').map((v) => v.trim());
|
|
54
|
+
return { expr, key };
|
|
55
|
+
}
|
|
56
|
+
function containsDuplicateLet(template, key) {
|
|
57
|
+
const pattern = new RegExp(String.raw `@let\s+${key}\s+=`);
|
|
58
|
+
return pattern.test(template);
|
|
59
|
+
}
|
|
60
|
+
function insertLetDeclaration({ recorder, element, key, expr, template, offset, }) {
|
|
61
|
+
const loc = element.sourceCodeLocation;
|
|
62
|
+
const indent = computeIndent(template, loc.startOffset);
|
|
63
|
+
const indentStr = ' '.repeat(indent);
|
|
64
|
+
recorder.insertLeft(offset + loc.startOffset, `@let ${key} = ${expr};\n${indentStr}`);
|
|
65
|
+
}
|
|
66
|
+
function computeIndent(template, pos) {
|
|
67
|
+
const lastNewLine = template.lastIndexOf('\n', pos);
|
|
68
|
+
return pos - (lastNewLine + 1);
|
|
69
|
+
}
|
|
70
|
+
function removeStructuralAttribute({ recorder, offset, element, attr, }) {
|
|
71
|
+
var _a;
|
|
72
|
+
const loc = element.sourceCodeLocation;
|
|
73
|
+
const attrLoc = (_a = loc.attrs) === null || _a === void 0 ? void 0 : _a[attr.name];
|
|
74
|
+
const isPureNgContainer = element.tagName === 'ng-container' && element.attrs.length === 1;
|
|
75
|
+
if (isPureNgContainer) {
|
|
76
|
+
unwrapNgContainer(recorder, offset, element);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (attrLoc) {
|
|
80
|
+
recorder.remove(offset + attrLoc.startOffset - 1, attrLoc.endOffset - attrLoc.startOffset + 1);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function unwrapNgContainer(recorder, offset, element) {
|
|
84
|
+
const loc = element.sourceCodeLocation;
|
|
85
|
+
const children = element.childNodes;
|
|
86
|
+
if (!children.length) {
|
|
87
|
+
recorder.remove(offset + loc.startOffset, loc.endOffset - loc.startOffset);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const first = children[0].sourceCodeLocation;
|
|
91
|
+
const last = children[children.length - 1].sourceCodeLocation;
|
|
92
|
+
recorder.remove(offset + loc.startOffset, first.startOffset - loc.startOffset);
|
|
93
|
+
recorder.remove(offset + last.endOffset, loc.endOffset - last.endOffset);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=migrate-tui-let.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-tui-let.js","sourceRoot":"","sources":["../../../../../../projects/cdk/schematics/ng-update/v5/steps/migrate-tui-let.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type UpdateRecorder } from '@angular-devkit/schematics';
|
|
2
|
+
import { type DevkitFileSystem } from 'ng-morph';
|
|
3
|
+
import { type TemplateResource } from '../../../interfaces';
|
|
4
|
+
export declare function migrateTuiNotification({ resource, recorder, fileSystem, }: {
|
|
5
|
+
fileSystem: DevkitFileSystem;
|
|
6
|
+
recorder: UpdateRecorder;
|
|
7
|
+
resource: TemplateResource;
|
|
8
|
+
}): void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrateTuiNotification = migrateTuiNotification;
|
|
4
|
+
const elements_1 = require("../../../../utils/templates/elements");
|
|
5
|
+
const template_resource_1 = require("../../../../utils/templates/template-resource");
|
|
6
|
+
const replace_tag_1 = require("../../../utils/templates/replace-tag");
|
|
7
|
+
const NOTIFICATION_ATTRIBUTE = [
|
|
8
|
+
'tuinotification',
|
|
9
|
+
'[tuinotification]',
|
|
10
|
+
'[(tuinotification)]',
|
|
11
|
+
];
|
|
12
|
+
function migrateTuiNotification({ resource, recorder, fileSystem, }) {
|
|
13
|
+
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
14
|
+
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
15
|
+
const notifications = (0, elements_1.findElementsByTagName)(template, 'tui-notification');
|
|
16
|
+
notifications.forEach((element) => {
|
|
17
|
+
const location = element.sourceCodeLocation;
|
|
18
|
+
const startTag = location === null || location === void 0 ? void 0 : location.startTag;
|
|
19
|
+
if (!startTag) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const attrsToAdd = element.attrs.some(({ name }) => NOTIFICATION_ATTRIBUTE.includes(name))
|
|
23
|
+
? []
|
|
24
|
+
: ['tuiNotification'];
|
|
25
|
+
const raw = template.slice(startTag.startOffset, startTag.endOffset);
|
|
26
|
+
const isSelfClosing = raw.trimEnd().endsWith('/>');
|
|
27
|
+
if (isSelfClosing) {
|
|
28
|
+
const old = template.slice(startTag.startOffset, startTag.endOffset);
|
|
29
|
+
const attrs = element.attrs
|
|
30
|
+
.map((attr) => (NOTIFICATION_ATTRIBUTE.includes(attr.name) ? null : attr))
|
|
31
|
+
.filter(Boolean)
|
|
32
|
+
.map((attr) => { var _a; return `${attr === null || attr === void 0 ? void 0 : attr.name}="${(_a = attr === null || attr === void 0 ? void 0 : attr.value) !== null && _a !== void 0 ? _a : ''}"`; })
|
|
33
|
+
.join(' ');
|
|
34
|
+
const extraAttr = element.attrs.some(({ name }) => NOTIFICATION_ATTRIBUTE.includes(name))
|
|
35
|
+
? ''
|
|
36
|
+
: ' tuiNotification';
|
|
37
|
+
const newTag = `<div${extraAttr}${attrs ? ` ${attrs}` : ''}></div>`;
|
|
38
|
+
recorder.remove(templateOffset + startTag.startOffset, old.length);
|
|
39
|
+
recorder.insertRight(templateOffset + startTag.startOffset, newTag);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
(0, replace_tag_1.replaceTag)(recorder, location, 'tui-notification', 'div', templateOffset, attrsToAdd);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=migrate-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-notification.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v5/steps/templates/migrate-notification.ts"],"names":[],"mappings":";;AAiBA,wDA8DC;AA5ED,mEAA2E;AAC3E,qFAGuD;AAEvD,sEAAgE;AAEhE,MAAM,sBAAsB,GAAG;IAC3B,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;CACxB,CAAC;AAEF,SAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,QAAQ,EACR,UAAU,GAKb;IACG,MAAM,QAAQ,GAAG,IAAA,mDAA+B,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAA,gCAAqB,EAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAE1E,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC;QAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAC7C,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxC;YACG,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE1B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAErE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;iBACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACzE,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE,GAAG,CAAA,EAAA,CAAC;iBACrD,IAAI,CAAC,GAAG,CAAC,CAAC;YAEf,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAC5C,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxC;gBACG,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,kBAAkB,CAAC;YAEzB,MAAM,MAAM,GAAG,OAAO,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;YAEpE,QAAQ,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACnE,QAAQ,CAAC,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAEpE,OAAO;QACX,CAAC;QAED,IAAA,wBAAU,EACN,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,UAAU,CACb,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type DefaultTreeAdapterTypes } from 'parse5';
|
|
2
|
+
type Element = DefaultTreeAdapterTypes.Element;
|
|
3
|
+
type ChildNode = DefaultTreeAdapterTypes.ChildNode;
|
|
2
4
|
export declare function findElementsByFn(nodes: ChildNode[], predicateFn: (el: Element) => boolean): Element[];
|
|
3
5
|
export declare function findElementsInTemplateByFn(html: string, predicateFn: (el: Element) => boolean): Element[];
|
|
4
6
|
export declare function findElementsByTagName(html: string, tagName: string, filterFn?: (element: Element) => boolean): Element[];
|
|
@@ -33,3 +35,4 @@ export declare function findAttributeOnElementWithAttrs(html: string, name: stri
|
|
|
33
35
|
export declare function hasElementAttribute(element: Element, attributeName: string): boolean;
|
|
34
36
|
/** Gets the start offset of the given attribute from a Parse5 element. */
|
|
35
37
|
export declare function getStartOffsetOfAttribute(element: Element, attributeName: string): number;
|
|
38
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../../../projects/cdk/schematics/utils/templates/elements.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../../../projects/cdk/schematics/utils/templates/elements.ts"],"names":[],"mappings":"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"}
|
package/types/index.d.ts
CHANGED
package/utils/math/clamp.d.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Clamps a value between two inclusive limits
|
|
3
|
-
*
|
|
4
|
-
* @param value
|
|
5
|
-
* @param min lower limit
|
|
6
|
-
* @param max upper limit
|
|
7
3
|
*/
|
|
8
|
-
export declare function tuiClamp(value:
|
|
4
|
+
export declare function tuiClamp<T extends bigint | number>(value: T, minimum: T | null, maximum?: T | null): T;
|
|
@@ -15,7 +15,6 @@ export * from './is-string';
|
|
|
15
15
|
export * from './mark-control-as-touched-and-validate';
|
|
16
16
|
export * from './nullable-same';
|
|
17
17
|
export * from './obfuscate';
|
|
18
|
-
export * from './pure';
|
|
19
18
|
export * from './px';
|
|
20
19
|
export * from './sanitize-text';
|
|
21
20
|
export * from './set-signal';
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = tuiLetMigrationGenerator;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const workspace_1 = require("@schematics/angular/utility/workspace");
|
|
6
|
-
const ng_morph_1 = require("ng-morph");
|
|
7
|
-
const constants_1 = require("../constants");
|
|
8
|
-
const get_projects_1 = require("../utils/get-projects");
|
|
9
|
-
const remove_module_1 = require("../utils/remove-module");
|
|
10
|
-
const elements_1 = require("../utils/templates/elements");
|
|
11
|
-
const get_component_templates_1 = require("../utils/templates/get-component-templates");
|
|
12
|
-
const template_resource_1 = require("../utils/templates/template-resource");
|
|
13
|
-
// TODO: move to migration in v5
|
|
14
|
-
function tuiLetMigrationGenerator(options) {
|
|
15
|
-
return (tree) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
var _a;
|
|
17
|
-
const workspace = yield (0, workspace_1.getWorkspace)(tree);
|
|
18
|
-
const [project] = (0, get_projects_1.getProjects)(options, workspace);
|
|
19
|
-
const root = (_a = project === null || project === void 0 ? void 0 : project.root) !== null && _a !== void 0 ? _a : project === null || project === void 0 ? void 0 : project.sourceRoot;
|
|
20
|
-
if (root === undefined) {
|
|
21
|
-
!options['skip-logs'] &&
|
|
22
|
-
(0, ng_morph_1.errorLog)('[ERROR]: Target project not found in current workspace');
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const prj = (0, ng_morph_1.createProject)(tree, root, constants_1.ALL_FILES);
|
|
26
|
-
const fileSystem = prj.getFileSystem().fs;
|
|
27
|
-
(0, ng_morph_1.setActiveProject)(prj);
|
|
28
|
-
(0, remove_module_1.removeModule)('TuiLet', '@taiga-ui/cdk');
|
|
29
|
-
const resources = (0, get_component_templates_1.getComponentTemplates)(constants_1.ALL_FILES);
|
|
30
|
-
for (const resource of resources) {
|
|
31
|
-
const path = fileSystem.resolve((0, template_resource_1.getPathFromTemplateResource)(resource));
|
|
32
|
-
const recorder = fileSystem.edit(path);
|
|
33
|
-
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
34
|
-
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
35
|
-
const attributeName = '*tuiLet';
|
|
36
|
-
const elements = (0, elements_1.findElementsWithAttribute)(template, attributeName);
|
|
37
|
-
for (const { sourceCodeLocation, attrs, tagName, childNodes } of elements) {
|
|
38
|
-
const { name, value } = attrs.find((attr) => attr.name === attributeName.toLowerCase());
|
|
39
|
-
const indent = sourceCodeLocation.startOffset -
|
|
40
|
-
(template.lastIndexOf('\n', sourceCodeLocation.startOffset) + 1);
|
|
41
|
-
const indentStr = ' '.repeat(indent);
|
|
42
|
-
const [expr, key] = value.split(' as ').map((c) => c.trim());
|
|
43
|
-
if (new RegExp(String.raw `@let\s+${key}\s+=`).test(template)) {
|
|
44
|
-
!options['skip-logs'] &&
|
|
45
|
-
(0, ng_morph_1.errorLog)(`The @let with key ${key} is already defined`);
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
recorder.insertLeft(templateOffset + sourceCodeLocation.startOffset, `@let ${key} = ${expr};\n${indentStr}`);
|
|
49
|
-
if (tagName === 'ng-container' && attrs.length === 1) {
|
|
50
|
-
if (childNodes.length) {
|
|
51
|
-
const firstNode = childNodes[0];
|
|
52
|
-
const lastNode = childNodes[0];
|
|
53
|
-
recorder.remove(templateOffset + sourceCodeLocation.startOffset, firstNode.sourceCodeLocation.startOffset -
|
|
54
|
-
sourceCodeLocation.startOffset);
|
|
55
|
-
recorder.remove(templateOffset + lastNode.sourceCodeLocation.endOffset, sourceCodeLocation.endOffset -
|
|
56
|
-
lastNode.sourceCodeLocation.endOffset);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
recorder.remove(templateOffset + sourceCodeLocation.startOffset, sourceCodeLocation.endOffset -
|
|
60
|
-
sourceCodeLocation.startOffset);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
const { startOffset, endOffset } = sourceCodeLocation.attrs[name];
|
|
65
|
-
recorder.remove(templateOffset + startOffset - 1, endOffset - startOffset + 1);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
fileSystem.commitEdits();
|
|
70
|
-
(0, ng_morph_1.saveActiveProject)();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/cdk/schematics/migrate-tui-let/index.ts"],"names":[],"mappings":"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"}
|
package/types/loose-union.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @example
|
|
3
|
-
* type Color = 'primary' | 'secondary' | string;
|
|
4
|
-
*
|
|
5
|
-
* Your brand has some known colors, like `primary` and `secondary`.
|
|
6
|
-
* But you also want to make sure that users can specify any color they want.
|
|
7
|
-
*
|
|
8
|
-
* @Input() color: Color = '';
|
|
9
|
-
*
|
|
10
|
-
* <my-icon color="red" />
|
|
11
|
-
*
|
|
12
|
-
* But there's an issue. We aren't getting `color`
|
|
13
|
-
* suggestions when we use the `MyIcon` component.
|
|
14
|
-
* If we try to autocomplete the `color` prop, we get no suggestions.
|
|
15
|
-
* Ideally, we want `primary` and `secondary` to be part of that list.
|
|
16
|
-
* How do we manage that?
|
|
17
|
-
*
|
|
18
|
-
* This works because of a quirk of the TypeScript compiler.
|
|
19
|
-
* When you create a union between a string literal type and `string`,
|
|
20
|
-
* TypeScript will eagerly widen the type to `string`.
|
|
21
|
-
*
|
|
22
|
-
* But if we change type to
|
|
23
|
-
* type Color = 'primary' | 'secondary' | (string & {});
|
|
24
|
-
*
|
|
25
|
-
* TypeScript has already forgotten that `"primary"` and `"secondary"`
|
|
26
|
-
* were ever part of the type. But by intersecting `string` with
|
|
27
|
-
* an empty object, we trick TypeScript into retaining the string
|
|
28
|
-
* literal types for a bit longer.
|
|
29
|
-
*
|
|
30
|
-
* This might feel pretty fragile to you. This doesn't seem like
|
|
31
|
-
* intended behavior from TypeScript. Well, the team actually
|
|
32
|
-
* know about this trick. They test against it. And someday, they may make
|
|
33
|
-
* it so that a plain `string` type will just work.
|
|
34
|
-
* But until then, keep this in mind.
|
|
35
|
-
*/
|
|
36
|
-
export type TuiLooseUnion<U> = U | (U extends string ? Record<never, never> & string : U extends number ? Record<never, never> & number : U extends symbol ? Record<never, never> & symbol : U extends bigint ? Record<never, never> & bigint : never);
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.
|
|
3
|
-
* Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned
|
|
4
|
-
* value for function, skipping calculation when arguments are strictly the same.
|
|
5
|
-
*
|
|
6
|
-
* @throws error if used not on getter or function
|
|
7
|
-
*
|
|
8
|
-
* CAUTION: they must be pure.
|
|
9
|
-
* TODO(v5): drop compatibility for legacy "experimentalDecorators": true
|
|
10
|
-
*/
|
|
11
|
-
export declare function tuiPure<T>(target: object, propertyKey: string, { get, enumerable, value }: TypedPropertyDescriptor<T>): TypedPropertyDescriptor<T>;
|
|
12
|
-
/**
|
|
13
|
-
* Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.
|
|
14
|
-
* Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned
|
|
15
|
-
* value for function, skipping calculation when arguments are strictly the same.
|
|
16
|
-
*
|
|
17
|
-
* CAUTION: they must be pure.
|
|
18
|
-
*/
|
|
19
|
-
export declare function tuiPure<A extends unknown[], R>(target: (...args: A) => R, context: ClassGetterDecoratorContext | ClassMethodDecoratorContext): (...args: A) => R;
|
|
20
|
-
export declare class TuiPureException extends Error {
|
|
21
|
-
constructor();
|
|
22
|
-
}
|