mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
refactor(core): move attachDebugGetter to i18n specifc code (#48549)
The attachDebugGetter function is only used in the i18n specific code so could be moved closer to the sole usage site instead of being exported to the entire framework code. It also lets us remove the entire packages/core/src/render3/util/debug_utils.ts file. PR Close #48549
This commit is contained in:
parent
1085e5c2ce
commit
dacfe4372e
2 changed files with 17 additions and 25 deletions
|
|
@ -22,7 +22,6 @@ import {TNode, TNodeType} from '../interfaces/node';
|
|||
import {SanitizerFn} from '../interfaces/sanitization';
|
||||
import {HEADER_OFFSET, LView, TView} from '../interfaces/view';
|
||||
import {getCurrentParentTNode, getCurrentTNode, setCurrentTNode} from '../state';
|
||||
import {attachDebugGetter} from '../util/debug_utils';
|
||||
|
||||
import {i18nCreateOpCodesToString, i18nRemoveOpCodesToString, i18nUpdateOpCodesToString, icuCreateOpCodesToString} from './i18n_debug';
|
||||
import {addTNodeAndUpdateInsertBeforeIndex} from './i18n_insert_before_index';
|
||||
|
|
@ -52,6 +51,23 @@ function replaceNgsp(value: string): string {
|
|||
return value.replace(NGSP_UNICODE_REGEXP, ' ');
|
||||
}
|
||||
|
||||
/**
|
||||
* Patch a `debug` property getter on top of the existing object.
|
||||
*
|
||||
* NOTE: always call this method with `ngDevMode && attachDebugObject(...)`
|
||||
*
|
||||
* @param obj Object to patch
|
||||
* @param debugGetter Getter returning a value to patch
|
||||
*/
|
||||
function attachDebugGetter<T>(obj: T, debugGetter: (this: T) => any): void {
|
||||
if (ngDevMode) {
|
||||
Object.defineProperty(obj, 'debug', {get: debugGetter, enumerable: false});
|
||||
} else {
|
||||
throw new Error(
|
||||
'This method should be guarded with `ngDevMode` so that it can be tree shaken in production!');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create dynamic nodes from i18n translation block.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* Patch a `debug` property getter on top of the existing object.
|
||||
*
|
||||
* NOTE: always call this method with `ngDevMode && attachDebugObject(...)`
|
||||
*
|
||||
* @param obj Object to patch
|
||||
* @param debugGetter Getter returning a value to patch
|
||||
*/
|
||||
export function attachDebugGetter<T>(obj: T, debugGetter: (this: T) => any): void {
|
||||
if (ngDevMode) {
|
||||
Object.defineProperty(obj, 'debug', {get: debugGetter, enumerable: false});
|
||||
} else {
|
||||
throw new Error(
|
||||
'This method should be guarded with `ngDevMode` so that it can be tree shaken in production!');
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue