@reforgium/internal
v1.2.0
Published
reforgium Libs Internal package. Shared libs models and tokens.
Maintainers
Readme
@reforgium/internal
Shared infrastructure package for Reforgium Angular libraries.
Install
npm i @reforgium/internalPublic API
@reforgium/internal exports:
modelstokensutils
Models
Main model groups:
api.ts:RestMethods,SortToken,PageableRequest,PageableResponse<T>,ErrorResponse,QueryParams,Querycomponents.ts:Appearance,SelectOption,SelectIconOptionelements.ts:Direction,ElementRect,ElementSize,ElementPosition,ElementEdgesutil.ts:AnyType,AnyDict,LiteralOf,ValueOf,Nullable,Nullish,NullableProps,OptionalExcept,RequiredExcept,Mutable, JSON helper types
Tokens
Language tokens:
SELECTED_LANG: InjectionToken<Signal<Langs>>CHANGE_LANG: InjectionToken<(lang: Langs) => void>TRANSLATIONREGISTER_LANG(multi-token)BUILTIN_LANGSprovideLangs(...langs: string[])Langs = BuiltInLangs | (string & {})
Theme/device/validation tokens:
SELECTED_THEME,CHANGE_THEME,ThemesCURRENT_DEVICE,DevicesVALIDATION_MESSAGES,ValidationMessages,ValidationErrorData
Example:
import { provideLangs } from '@reforgium/internal';
export const appConfig = {
providers: [provideLangs('de', 'fr')],
};Utilities
Exported utilities:
web.utils.ts:downloadByBlob,downloadByUrl,copyText,base64ToBlobtimers.utils.ts:throttleSignal,debounceSignaldate.utils.ts:toDate,formatDate,formatToLocaledDate,parseToDate,parseToDatePeriod,isDatePeriod,reformatDateToISOtypes.utils.ts:isNumber,isNullable,isObject,parseQueryArray,concatArrayformat.utils.ts:formatToSpacedNumber,truncatepositions.utils.ts:getCorrectedPositionavailable-height.utils.ts:getAvailableHeightget-chained-value.utils.ts:getChainedValueurls.utils.ts:normalizeUrl,fillUrlWithParams,appendQueryParams,parseQueryParamsroutes.utils.ts:materializeRoutePath,compareRoutes,makeQuerydeep-equal.utils.ts:deepEqualgenerate.utils.ts:generateId
makeQuery(..., 'multi') behavior:
import { makeQuery } from '@reforgium/internal';
makeQuery({ ids: [1, 2, 3], q: 'ok' }, 'multi');
// ids=1&ids=2&ids=3&q=okLicense
MIT
