1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-arkui_ace_engine

 / Детали:

Новое требование: Расширение функций isSet и isMap для поддержки типов Set/ProxiedSet и Map/ProxiedMap

Предстоит сделать
Владелец
Создано  
09.03.2025

Новое требование предоставляет какие возможности?

Эта задача включает улучшение существующих функций isSet и isMap, чтобы они поддерживали как объекты типа Set/ProxiedSet, так и объекты типа Map/ProxiedMap.

Например, текущее выполнение функций isSet и isMap успешно определяет, является ли переменная типа @LocalStorageLink множество или нет. Однако эти функции не могут точно идентифицировать множества, полученные с помощью API storage.get(Key), поскольку LocalStorage хранит объекты типа Set и Map как прокси-объекты.

Какова ценность этого требования? В каких сценариях это может применяться?

Предположим, что у вас есть следующий сценарий:

let storage = new LocalStorage({"localSet": new Set([])});
@LocalStorageLink("localSet") localSet : Set<Number> = new Set([]);

Теперь,

import util from '@ohos.util';
this.types.isSet(this.localSet); // возвращает true
this.types.isSet(storage.get("localSet")); // возвращает false

Идеально обе этих функции должны возвращать одинаковое значение.

Тестовые случаи:
https://gitee.com/arkui-finland/ace-compiler-nt/blob/ng/ets/observed_proxy/isProxiedMap.ets
https://gitee.com/arkui-finland/ace-compiler-nt/blob/ng/ets/observed_proxy/isProxiedSet.ets

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
enhancement
label.
GitLife Service Account добавлено
 
waiting_for_assign
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-arkui_ace_engine.git
git@api.gitlife.ru:oschina-mirror/openharmony-arkui_ace_engine.git
oschina-mirror
openharmony-arkui_ace_engine
openharmony-arkui_ace_engine