From a98c24cdd54675b0dba82a9ac5f951b6925e2d95 Mon Sep 17 00:00:00 2001 From: Alin Eugen Deac Date: Sat, 24 Feb 2024 21:22:57 +0100 Subject: [PATCH] Remove deprecated HIDDEN and ALWAYS_HIDDEN Have now been replaced by PROVIDES and UNSAFE_PROPERTY_KEYS. --- .../contracts/src/support/concerns/index.ts | 70 ------------------- 1 file changed, 70 deletions(-) diff --git a/packages/contracts/src/support/concerns/index.ts b/packages/contracts/src/support/concerns/index.ts index 0db5cd7d..d0919204 100644 --- a/packages/contracts/src/support/concerns/index.ts +++ b/packages/contracts/src/support/concerns/index.ts @@ -1,5 +1,3 @@ -import { DANGEROUS_PROPERTIES } from "@aedart/contracts/support/objects"; - /** * Support Concerns identifier * @@ -7,31 +5,6 @@ import { DANGEROUS_PROPERTIES } from "@aedart/contracts/support/objects"; */ export const SUPPORT_CONCERNS: unique symbol = Symbol('@aedart/contracts/support/concerns'); -/** - * @deprecated TODO: This MUST be redesigned, such that each Concern class can provide a list of what to expose - * - * Symbol used by a {@link Concern} to define properties or methods that must be - * "hidden" and not allowed to be aliased into a target class. - * - * **Note**: _Symbol MUST be used to as name for a "static" method in the desired Concern class._ - * - * **Example**: - * ```ts - * class MyConcern implements Concern - * { - * static [HIDDEN](): PropertyKey[] - * { - * // ...not shown... - * } - * - * // ...remaining not shown... - * } - * ``` - * - * @type {symbol} - */ -export const HIDDEN: unique symbol = Symbol('hidden'); - /** * Symbol used by a [concern class]{@link ConcernConstructor} to indicate what properties * and methods can be aliased into a target class. @@ -74,48 +47,6 @@ export const CONCERN_CLASSES: unique symbol = Symbol('concern_classes'); */ export const CONCERNS: unique symbol = Symbol('concerns'); -/** - * @deprecated TODO: Move this into support/concerns. It is way too implementation specific to belong here. - * - * List of properties and methods that must always remain "hidden" and - * **NEVER** be aliased into a target class' prototype. - * - * @type {ReadonlyArray} - */ -export const ALWAYS_HIDDEN: ReadonlyArray = [ - - ...DANGEROUS_PROPERTIES, - - // ----------------------------------------------------------------- // - // Defined by Concern interface / Abstract Concern: - // ----------------------------------------------------------------- // - - // It is NOT possible, nor advised to attempt to alias a Concern's - // constructor into a target class. - 'constructor', - - // The concernOwner property (getter) shouldn't be aliased either - 'concernOwner', - - // If the Concern defines any hidden properties or methods, - // then such a method will not do any good in a target class. - HIDDEN, - - // The static properties and methods (just in case...) - PROVIDES, - 'resolvedConcernKeys', - 'removeAlwaysHiddenKeys', - 'rememberConcernKeys', - - // ----------------------------------------------------------------- // - // Other properties and methods: - // ----------------------------------------------------------------- // - - // In case that a concern class uses other concerns, prevent them - // from being aliased. - CONCERNS, -]; - import Concern from "./Concern"; import ConcernConstructor from "./ConcernConstructor"; import Configuration from "./Configuration"; @@ -136,5 +67,4 @@ export { } export * from './exceptions/index'; - export * from './types'; \ No newline at end of file