noodl-types
Advanced tools
Comparing version 1.0.202 to 1.0.211
export {}; | ||
//# sourceMappingURL=identify.test.d.ts.map |
export declare const componentTypes: readonly ["button", "chart", "divider", "footer", "header", "image", "label", "list", "listItem", "page", "plugin", "pluginHead", "pluginBodyTail", "popUp", "register", "select", "scrollView", "textField", "textView", "video", "view"]; | ||
export declare const minimalStyleKeys: string[]; | ||
export declare const minimalBorderStyleKeys: string[]; | ||
//# sourceMappingURL=constants.d.ts.map |
export * from './utils'; | ||
//# sourceMappingURL=index.d.ts.map |
export declare type OrArray<V = any> = V | V[]; | ||
//# sourceMappingURL=types.d.ts.map |
@@ -42,1 +42,2 @@ import type { NameField, ReferenceString } from '../ecosTypes'; | ||
export declare function trimReference<S extends ReferenceString>(v: S): string; | ||
//# sourceMappingURL=utils.d.ts.map |
import type { LiteralUnion } from 'type-fest'; | ||
import type { OrArray } from './_internal/types'; | ||
import type { EmitObjectFold, GotoObject, IfObject } from './uncategorizedTypes'; | ||
import type { EmitObject, EmitObjectFold, GotoObject, IfObject } from './uncategorizedTypes'; | ||
import type { BuiltInEvalObject, DataIn, ReferenceString } from './ecosTypes'; | ||
@@ -8,9 +8,35 @@ export interface UncommonActionObjectProps { | ||
contentType?: string; | ||
emit?: EmitObjectFold; | ||
dataKey?: any; | ||
emit?: EmitObject; | ||
/** | ||
* The path to a data object or value. It might provide a different behavior depending on where it is placed. For example, a dataKey set on a textField component will bind its value to the path in the dataKey, enabling it to mutate the value while updating textField's value | ||
* | ||
* @example | ||
* ``` | ||
* const dataKey1 = "formData.password" | ||
* const dataKey2 = "SignIn.formData.password" | ||
* ``` | ||
*/ | ||
dataKey?: string | EmitObjectFold | IfObject; | ||
dataIn?: any; | ||
/** | ||
* An object that contains data. | ||
* It is most commonly used in actions such as updateObject as a way to update its data values | ||
*/ | ||
dataObject?: any; | ||
destination?: string; | ||
/** | ||
* Signals that a popup should close when a user clicks outside of it. This is used for closing modals/popups | ||
*/ | ||
dismissOnTouchOutside?: boolean; | ||
evolve?: boolean; | ||
/** | ||
* A name/identifier for a function. This is used mainly for builtIn actions, where applications implement their own behavior and binds it to some object in the noodl | ||
* | ||
* @example | ||
* | ||
* ``` | ||
* const action1 = { actionType: 'builtIn', funcName: 'redraw' } | ||
* const action2 = { actionType: 'builtIn', funcName: 'saveSignature' } | ||
* ``` | ||
*/ | ||
funcName?: string; | ||
@@ -20,12 +46,61 @@ message?: string; | ||
pageReload?: boolean; | ||
/** | ||
* A binding between a popUp or popUpDismiss component to a popUp action | ||
*/ | ||
popUpView?: string; | ||
/** | ||
* When set to true, this signals that a page should run its \"init\" operation upon visiting from the user. If it is false, a page will not run it, which can be used to persist values when navigating pages | ||
*/ | ||
reload?: boolean; | ||
/** | ||
* A timer is useful for situations such as chat rooms where users will have a time limit before being getting out | ||
*/ | ||
timer?: number; | ||
/** | ||
* An identifier which is used to bind a component and an action together. Actions can define a viewTag that invokes certain behavior towards a component. The component must also contain the same viewTag key/value. If multiple components have the same viewTag, then the action will effect multiple components | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "builtIn", | ||
* "funcName": "redraw", | ||
* "viewTag": "mainView" | ||
* } | ||
* ``` | ||
*/ | ||
viewTag?: string; | ||
/** | ||
* Used to prevent further actions from happening. For example, a popUp action with \"wait: true\" will open a pop up in the page and will not run actions that are next in the call stack. This can be used to restrict access to pages when authenticating | ||
* | ||
* @example | ||
* | ||
* ``` | ||
* const action1 = { actionType: 'popUp', wait: true } | ||
* const action2 = { actionType: 'popUp', wait: 5000 } | ||
* ``` | ||
*/ | ||
wait?: boolean | number; | ||
} | ||
export interface ActionObject<T extends string = string> { | ||
/** | ||
* An identifier/name for an action | ||
* | ||
* @example | ||
* | ||
* ``` | ||
* const examples = ['openCamera','openPhotoLibrary','openDocumentManager','pageJump','popUpDismiss','refresh','register','removeSignature','saveObject','saveSignature','updateObject','popUp','builtIn','evalObject'] | ||
* ``` | ||
*/ | ||
actionType: T; | ||
[key: string]: any; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "builtIn", | ||
* "funcName": "redraw", | ||
* "viewTag": "mainView" | ||
* } | ||
* ``` | ||
*/ | ||
export interface BuiltInActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'contentType' | 'dataKey' | 'evolve' | 'funcName' | 'reload' | 'viewTag'> { | ||
@@ -35,2 +110,19 @@ actionType: 'builtIn'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "evalObject", | ||
* "object": [ | ||
* { | ||
* "=.builtIn.object.set": { | ||
* "object": "..formData.userProfile", | ||
* "key": "username", | ||
* "value": ".SignIn.tempUser.username" | ||
* } | ||
* } | ||
* ] | ||
* } | ||
* ``` | ||
*/ | ||
export interface EvalActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dataKey' | 'dataObject'> { | ||
@@ -55,2 +147,11 @@ actionType: 'evalObject'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "pageJump", | ||
* "destination": "MeetingRoomInvited" | ||
* } | ||
* ``` | ||
*/ | ||
export interface PageJumpActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'destination'> { | ||
@@ -60,2 +161,11 @@ actionType: 'pageJump'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "popUp", | ||
* "popUpView": "mainView" | ||
* } | ||
* ``` | ||
*/ | ||
export interface PopupActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dismissOnTouchOutside' | 'popUpView' | 'wait'> { | ||
@@ -65,2 +175,11 @@ actionType: 'popUp'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "popUpDismiss", | ||
* "popUpView": "mainView" | ||
* } | ||
* ``` | ||
*/ | ||
export interface PopupDismissActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dismissOnTouchOutside' | 'popUpView' | 'wait'> { | ||
@@ -70,2 +189,10 @@ actionType: 'popUpDismiss'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "refresh" | ||
* } | ||
* ``` | ||
*/ | ||
export interface RefreshActionObject extends ActionObject { | ||
@@ -75,2 +202,12 @@ actionType: 'refresh'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "removeSignature", | ||
* "dataObject": "BLOB", | ||
* "dataKey": "SignIn.tempUser.signature" | ||
* } | ||
* ``` | ||
*/ | ||
export interface RemoveSignatureActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dataObject' | 'dataKey'> { | ||
@@ -80,2 +217,11 @@ actionType: 'removeSignature'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "saveAction", | ||
* "object": "..abc.profile" | ||
* } | ||
* ``` | ||
*/ | ||
export interface SaveActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'object'> { | ||
@@ -85,2 +231,12 @@ actionType: 'saveObject'; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "saveSignature", | ||
* "dataObject": "BLOB", | ||
* "dataKey": "SignIn.tempUser.signature" | ||
* } | ||
* ``` | ||
*/ | ||
export interface SaveSignatureActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dataObject' | 'dataKey'> { | ||
@@ -90,3 +246,18 @@ actionType: 'saveSignature'; | ||
} | ||
export interface GetLocationAddressActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dataKey'> { | ||
actionType: 'getLocationAddress'; | ||
[key: string]: any; | ||
} | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "actionType": "updateObject", | ||
* "dataObject": "BLOB", | ||
* "dataKey": "SignIn.tempUser.profile" | ||
* } | ||
* ``` | ||
*/ | ||
export interface UpdateActionObject extends ActionObject, Pick<UncommonActionObjectProps, 'dataObject' | 'dataKey'> { | ||
} | ||
//# sourceMappingURL=actionTypes.d.ts.map |
import type { ActionObject } from './actionTypes'; | ||
import type { ContentType, EventType } from './constantTypes'; | ||
import type { ReferenceString } from './ecosTypes'; | ||
import type { StyleObject, StyleTextAlign, StyleTextAlignObject } from './styleTypes'; | ||
import type { ActionChain, EmitObject, GotoObject, Path, TextBoardObject } from './uncategorizedTypes'; | ||
import type { ActionChain, EmitObject, EmitObjectFold, GotoObject, IfObject, Path, TextBoardObject } from './uncategorizedTypes'; | ||
export declare type UncommonComponentObjectProps = { | ||
@@ -12,21 +13,21 @@ [key in EventType]: ActionChain; | ||
chatItem?: Partial<ComponentObject>; | ||
dataKey?: string; | ||
ecosObj?: any; | ||
dataKey?: string | EmitObjectFold | IfObject; | ||
ecosObj?: Record<string, any>; | ||
emit?: EmitObject; | ||
global?: true; | ||
image?: string; | ||
isEditable?: boolean; | ||
isEditable?: string | boolean; | ||
iteratorVar?: string; | ||
listObject?: any[]; | ||
listObject?: '' | ReferenceString | any[]; | ||
onEvent?: string; | ||
optionKey?: string; | ||
options?: any[]; | ||
options?: '' | ReferenceString | any[]; | ||
path?: Path; | ||
pathSelected?: string; | ||
placeholder?: string | EmitObject; | ||
placeholder?: string | EmitObjectFold | IfObject; | ||
popUpView?: string; | ||
poster?: string; | ||
refresh?: boolean; | ||
required?: boolean; | ||
text?: string; | ||
required?: string | boolean; | ||
text?: string | EmitObjectFold | IfObject; | ||
textBoard?: TextBoardObject; | ||
@@ -151,1 +152,2 @@ textAlign?: StyleTextAlign | StyleTextAlignObject; | ||
export declare type PageComponentUrl<S extends string = string> = S extends `${string}@${string}#${string}` ? S : string; | ||
//# sourceMappingURL=componentTypes.d.ts.map |
export declare const action: { | ||
readonly BUILTIN: "builtIn"; | ||
readonly EVALOBJECT: "evalObject"; | ||
readonly GETLOCATIONADDRESS: "getLocationAddress"; | ||
readonly OPENCAMERA: "openCamera"; | ||
@@ -17,3 +18,3 @@ readonly OPENPHOTOLIBRARY: "openPhotoLibrary"; | ||
}; | ||
export declare const actionTypes: ("builtIn" | "evalObject" | "openCamera" | "openPhotoLibrary" | "openDocumentManager" | "pageJump" | "popUp" | "popUpDismiss" | "refresh" | "removeSignature" | "saveObject" | "saveSignature" | "register" | "updateObject")[]; | ||
export declare const actionTypes: ("builtIn" | "evalObject" | "openCamera" | "openPhotoLibrary" | "openDocumentManager" | "pageJump" | "popUp" | "popUpDismiss" | "refresh" | "removeSignature" | "saveObject" | "saveSignature" | "getLocationAddress" | "register" | "updateObject")[]; | ||
export declare const component: { | ||
@@ -51,2 +52,3 @@ readonly BUTTON: "button"; | ||
export declare const styleKeys: readonly ["FontSize", "axis", "background", "backgroundColor", "border", "borderColor", "borderRadius", "borderRaduis", "borderWidth", "boxShadow", "boxSizing", "color", "contentSize", "diaplay", "display", "filter", "float", "flex", "flexFlow", "fontColor", "fontFamily", "fontSize", "fontStyle", "fontWeight", "foontWeight", "height", "hieght", "isHidden", "justifyContent", "left", "letterSpacing", "lineHeight", "marginLeft", "marginTop", "onClick", "padding", "paddingBottom", "paddingLeft", "placeholder", "position", "required", "shadow", "text-align", "textAlign", "textDecoration", "textIndent", "top", "width", "zIndex"]; | ||
export declare const userEvent: readonly ["onBlur", "onClick", "onChange", "onFocus", "onHover", "onInput", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"]; | ||
export declare const userEvent: readonly ["onBlur", "onClick", "onChange", "onFocus", "onHover", "onInput", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver", "onLazyLoading"]; | ||
//# sourceMappingURL=constants.d.ts.map |
@@ -7,2 +7,3 @@ "use strict"; | ||
EVALOBJECT: 'evalObject', | ||
GETLOCATIONADDRESS: 'getLocationAddress', | ||
OPENCAMERA: 'openCamera', | ||
@@ -21,3 +22,2 @@ OPENPHOTOLIBRARY: 'openPhotoLibrary', | ||
}; | ||
// | ||
exports.actionTypes = Object.values(exports.action); | ||
@@ -173,3 +173,4 @@ exports.component = { | ||
'onMouseOver', | ||
'onLazyLoading', | ||
]; | ||
//# sourceMappingURL=constants.js.map |
@@ -6,1 +6,2 @@ import * as c from './constants'; | ||
export declare type EventType = typeof c.userEvent[number]; | ||
//# sourceMappingURL=constantTypes.d.ts.map |
@@ -0,7 +1,18 @@ | ||
import type { LiteralUnion } from 'type-fest'; | ||
import type { EmitObjectFold, IfObject } from './uncategorizedTypes'; | ||
import type { OrArray } from './_internal/types'; | ||
export declare type RootConfig = { | ||
/** Example: albh2.aitmed.io */ | ||
export declare type RootConfig = Record<DeviceType, RootConfigDeviceVersionObject> & { | ||
/** | ||
* @example | ||
* ```json | ||
* { "apiHost": "albh2.aitmed.io" } | ||
* ``` | ||
*/ | ||
apiHost: string; | ||
/** Example: 443 */ | ||
/** | ||
* @example | ||
* ``` | ||
* const apiPort = '443' | ||
* ``` | ||
*/ | ||
apiPort: string | number; | ||
@@ -26,3 +37,3 @@ /** | ||
myBaseUrl: string; | ||
connectiontimeout: string | number; | ||
connectiontimeout: number | string; | ||
loadingLevel: number; | ||
@@ -34,5 +45,15 @@ /** | ||
* for the cadlBaseUrl variable | ||
* @example | ||
* ```js | ||
* const cadlMain = 'cadlEndpoint.yml' | ||
* ``` | ||
*/ | ||
cadlMain: string; | ||
/** Defaults to "console_log_api" */ | ||
/** | ||
* Defaults to "console_log_api" | ||
* @example | ||
* ```json | ||
* { "debug": "console_log_api" } | ||
* ``` | ||
*/ | ||
debug: string; | ||
@@ -45,7 +66,26 @@ /** If this is specified the app should transform this to a plugin component */ | ||
headPlugin?: string; | ||
platform?: string; | ||
syncHost?: string; | ||
/** | ||
* The timestamp the config was last created or modified. | ||
* This is used to invalidate the config cache | ||
* This is used to invalidate the config cache. | ||
* @example | ||
* ```json | ||
* { "timestamp": "092142419232" } | ||
* ``` | ||
*/ | ||
timestamp: number; | ||
timestamp: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "web": { | ||
* "cadlVersion": { | ||
* "test": "0.7d", | ||
* "stable": "0.7d" | ||
* } | ||
* } | ||
* } | ||
* ``` | ||
*/ | ||
web: RootConfigDeviceVersionObject; | ||
@@ -55,2 +95,8 @@ ios: RootConfigDeviceVersionObject; | ||
keywords: string[]; | ||
/** | ||
* @example | ||
* ```json | ||
* { "viewWidthHeightRatio": { "min": "7", "max": "8" } } | ||
* ``` | ||
*/ | ||
viewWidthHeightRatio?: { | ||
@@ -60,21 +106,60 @@ min: number; | ||
}; | ||
} & Record<DeviceType, RootConfigDeviceVersionObject> & { | ||
} & { | ||
[key: string]: any; | ||
}; | ||
export interface AppConfig { | ||
/** | ||
* @example | ||
* ```js | ||
* const assetsUrl = `${baseUrl}assets | ||
* ``` | ||
*/ | ||
assetsUrl: string; | ||
/** The equivalent of "cadlBaseUrl" from the root config */ | ||
baseUrl: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { | ||
* "languageSuffix": { | ||
* "en": "en-US", | ||
* "es": "en-ES" | ||
* } | ||
* } | ||
* ``` | ||
*/ | ||
languageSuffix: { | ||
[lang: string]: string; | ||
}; | ||
fileSuffix: string; | ||
/** | ||
* @example | ||
* ```js | ||
* const fileSuffix = '.yml' | ||
* ``` | ||
*/ | ||
fileSuffix: LiteralUnion<'.yml', string>; | ||
/** | ||
* The default page for user sessions where they haven't visited any pages | ||
* Also the default page for unauthorized users | ||
* @example | ||
* ```json | ||
* { "startPage": "SignIn.yml" } | ||
* ``` | ||
*/ | ||
startPage: string; | ||
/** Pages to be loaded before loading other pages */ | ||
/** | ||
* Pages to be loaded before loading other pages | ||
* @example | ||
* ```js | ||
* const preload = ['BaseCSS', 'BaseDataModel', 'BasePage'] | ||
* ``` | ||
*/ | ||
preload: string[]; | ||
/** Pages to be loaded and treated as routes in the runtime */ | ||
/** | ||
* Pages to be loaded and treated as routes in the runtime | ||
* @example | ||
* ```js | ||
* const page = ['PatientDashboard', 'SignIn', 'SignUp', 'CreateNewAccount'] | ||
* ``` | ||
*/ | ||
page: string[]; | ||
@@ -85,13 +170,41 @@ [key: string]: any; | ||
cadlVersion: { | ||
stable: string; | ||
test: string; | ||
stable: number; | ||
test: number; | ||
}; | ||
} | ||
/** | ||
* Objects that become builtIn functions during runtime. | ||
* | ||
* Built in eval objects are implemented in the application, making | ||
* it an app level implementation | ||
* | ||
* @example | ||
* ```json | ||
* { | ||
* "=.builtIn.string.concat": [ | ||
* "+1", | ||
* " ", | ||
* "8882468442" | ||
* ] | ||
* } | ||
* ``` | ||
* becomes: | ||
* ```js | ||
* const myBuiltIn = function(...strings) { | ||
* return strings.reduce((acc, str) => acc.concat(str)) | ||
* } | ||
* ``` | ||
*/ | ||
export declare type BuiltInEvalObject<S extends string = string> = Record<ReferenceString<`builtIn${S}`, '=.'>, Partial<Record<'dataIn' | 'dataOut', OrArray<DataIn | DataOut>>> | string>; | ||
/** | ||
* Strings that represent data that may mutate a value depending on if it is referencing a path. | ||
* If the eval reference is an object then it is transformed into a function instead. | ||
* - This function mutates the value at the referenced path (if any). | ||
*/ | ||
export declare type BuiltInEvalReference<S extends string> = ReferenceString<`builtIn${S}`, '=.'>; | ||
export declare type DataIn = OrArray<string | IfObject | EmitObjectFold | PolymorphicObject>; | ||
export declare type DataOut = OrArray<string | IfObject | EmitObjectFold | PolymorphicObject>; | ||
export declare type DeviceType = 'web' | 'ios' | 'android'; | ||
export declare type DataIn = OrArray<EmitObjectFold | IfObject | PolymorphicObject | string>; | ||
export declare type DataOut = OrArray<EmitObjectFold | IfObject | PolymorphicObject | string>; | ||
export declare type DeviceType = 'android' | 'ios' | 'web'; | ||
export declare type Env = 'stable' | 'test'; | ||
export interface EcosDocument<NF extends NameField = NameField, MT extends MediaType = MediaType> { | ||
export declare type EcosDocument<NF extends NameField = NameField, MT extends MediaType = MediaType> = { | ||
id?: string | null; | ||
@@ -114,4 +227,3 @@ ctime?: number | null; | ||
subtype?: SubtypeObject<MT> | null; | ||
[key: string]: any; | ||
} | ||
}; | ||
export interface NameField<Type extends MimeType.Options = MimeType.Options> { | ||
@@ -127,18 +239,18 @@ tags?: string[]; | ||
type Options = Audio | Image | Json | Pdf | Text | Video; | ||
type Audio = `audio/${'3gp' | 'flac' | 'm4a' | 'mp3' | 'ogg' | 'wav' | 'wma' | 'webm'}`; | ||
type Image = `image/${'ai' | 'bmp' | 'eps' | 'gif' | 'jpg' | 'jpeg' | 'png' | 'psd' | 'svg' | 'tiff' | 'webp'}`; | ||
type Audio = `audio/${'3gp' | 'flac' | 'm4a' | 'mp3' | 'ogg' | 'wav' | 'webm' | 'wma'}`; | ||
type Image = `image/${'ai' | 'bmp' | 'eps' | 'gif' | 'jpeg' | 'jpg' | 'png' | 'psd' | 'svg' | 'tiff' | 'webp'}`; | ||
type Json = 'application/json'; | ||
type Pdf = 'application/pdf'; | ||
type Text = `text/${'css' | 'html' | 'javascript' | 'plain'}`; | ||
type Video = `video/${'avi' | 'flv' | 'mkv' | 'mov' | 'mpg' | 'mp4' | 'ogg' | 'webm' | 'wmv'}`; | ||
type Video = `video/${'avi' | 'flv' | 'mkv' | 'mov' | 'mp4' | 'mpg' | 'ogg' | 'webm' | 'wmv'}`; | ||
} | ||
export interface SubtypeObject<MT extends MediaType = MediaType> { | ||
isOnServer?: null | boolean; | ||
isZipped?: null | boolean; | ||
isBinary?: null | boolean; | ||
isEncrypted?: null | boolean; | ||
isEditable?: null | boolean; | ||
applicationDataType?: null | number; | ||
mediaType?: null | MT; | ||
size?: null | number; | ||
isOnServer?: boolean | null; | ||
isZipped?: boolean | null; | ||
isBinary?: boolean | null; | ||
isEncrypted?: boolean | null; | ||
isEditable?: boolean | null; | ||
applicationDataType?: number | null; | ||
mediaType?: MT | null; | ||
size?: number | null; | ||
[key: string]: any; | ||
@@ -165,3 +277,13 @@ } | ||
export declare type ReferenceSymbol = '.' | '..' | '=' | '~/' | '@'; | ||
export declare type ReferenceString<K extends string = string, S extends ReferenceSymbol | '=.' | '=..' = ReferenceSymbol | '=.' | '=..'> = S extends '.' ? `.${K}` : S extends '..' ? `..${K}` : S extends '=.' ? `=${Extract<ReferenceSymbol, '.'> | never}${K}` : S extends '=..' ? `=${Extract<ReferenceSymbol, '..'> | never}${K}` : S extends '=' ? `=${Extract<ReferenceSymbol, '.' | '..'> | never}${K}` : S extends '~/' ? `~/${K}` : S extends '@' ? `${K}@` : `=.${K}` | `=..${K}` | `${Exclude<ReferenceSymbol, '@'>}${K}` | `${K}${Extract<ReferenceSymbol, '@'>}`; | ||
/** | ||
* Strings that behave like placeholders which in addition mutates the value at referenced path when updates occur. | ||
* They are prefixed with "=" followed by a reference symbol such as ".", "..", "~", etc. | ||
* | ||
* @example | ||
* ```js | ||
* const pageObject = { SignIn: { formData: { email: 'pfft@gmail.com' } } } | ||
* const refString = '.SignIn.formData.email' // Value should result to "pfft@gmail.com" when parsed | ||
* ``` | ||
*/ | ||
export declare type ReferenceString<K extends string = string, S extends ReferenceSymbol | '=..' | '=.' = ReferenceSymbol | '=..' | '=.'> = S extends '.' ? `.${K}` : S extends '..' ? `..${K}` : S extends '=.' ? `=${Extract<ReferenceSymbol, '.'> | never}${K}` : S extends '=..' ? `=${Extract<ReferenceSymbol, '..'> | never}${K}` : S extends '=' ? `=${Extract<ReferenceSymbol, '..' | '.'> | never}${K}` : S extends '~/' ? `~/${K}` : S extends '@' ? `${K}@` : `=..${K}` | `=.${K}` | `${Exclude<ReferenceSymbol, '@'>}${K}` | `${K}${Extract<ReferenceSymbol, '@'>}`; | ||
export declare type ReferenceObject<K extends string = string, V = any> = Record<K extends ReferenceString ? ReferenceString : K, OrArray<V>>; | ||
@@ -175,1 +297,2 @@ /** | ||
export declare type PolymorphicObject = ReferenceObject<string, OrArray<ReferenceObject<ReferenceString, ReferenceObject>>>; | ||
//# sourceMappingURL=ecosTypes.d.ts.map |
@@ -12,3 +12,3 @@ import isAwaitReference from './utils/isAwaitReference'; | ||
folds: { | ||
actionChain: (v: any) => v is (t.EmitObjectFold | t.ActionObject<string> | t.GotoObject<string>)[]; | ||
actionChain: (v: any) => v is (t.EmitObjectFold<Record<string, any>> | t.ActionObject<string> | t.GotoObject<string>)[]; | ||
component: { | ||
@@ -93,3 +93,3 @@ any<O extends Record<string, any>>(v: unknown): v is t.ComponentObject<any> & O; | ||
}; | ||
emit: (v: any) => v is t.EmitObjectFold; | ||
emit: (v: any) => v is t.EmitObjectFold<Record<string, any>>; | ||
goto: (v: any) => v is { | ||
@@ -117,2 +117,3 @@ goto: t.GotoUrl | t.GotoObject; | ||
evalObject: (v: any) => v is t.EvalActionObject; | ||
getLocationAddress: (v: any) => v is t.GetLocationAddressActionObject; | ||
openCamera: (v: any) => v is t.OpenCameraActionObject; | ||
@@ -170,3 +171,3 @@ openPhotoLibrary: (v: any) => v is t.OpenPhotoLibraryActionObject; | ||
font(v: unknown): void; | ||
image: (v: any) => v is t.EcosDocument<t.NameField<"image/ai" | "image/bmp" | "image/eps" | "image/gif" | "image/jpg" | "image/jpeg" | "image/png" | "image/psd" | "image/svg" | "image/tiff" | "image/webp">, 4>; | ||
image: (v: any) => v is t.EcosDocument<t.NameField<"image/ai" | "image/bmp" | "image/eps" | "image/gif" | "image/jpeg" | "image/jpg" | "image/png" | "image/psd" | "image/svg" | "image/tiff" | "image/webp">, 4>; | ||
message(v: unknown): void; | ||
@@ -177,3 +178,3 @@ model(v: unknown): void; | ||
text: (v: any) => v is t.EcosDocument<t.NameField<"text/css" | "text/html" | "text/javascript" | "text/plain">, 0 | 8>; | ||
video: (v: any) => v is t.EcosDocument<t.NameField<"video/ogg" | "video/webm" | "video/avi" | "video/flv" | "video/mkv" | "video/mov" | "video/mpg" | "video/mp4" | "video/wmv">, 9>; | ||
video: (v: any) => v is t.EcosDocument<t.NameField<"video/ogg" | "video/webm" | "video/avi" | "video/flv" | "video/mkv" | "video/mov" | "video/mp4" | "video/mpg" | "video/wmv">, 9>; | ||
}; | ||
@@ -217,1 +218,2 @@ emit: (v: any) => v is t.EmitObject; | ||
}; | ||
//# sourceMappingURL=identify.d.ts.map |
@@ -36,2 +36,3 @@ "use strict"; | ||
evalObject: identifyObj((v) => v.actionType === 'evalObject'), | ||
getLocationAddress: identifyObj((v) => v.actionType === 'getLocationAddress'), | ||
openCamera: identifyObj((v) => v.actionType === 'openCamera'), | ||
@@ -38,0 +39,0 @@ openPhotoLibrary: identifyObj((v) => v.actionType === 'openPhotoLibrary'), |
@@ -10,1 +10,2 @@ export * from './actionTypes'; | ||
export { Identify } from './identify'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -15,1 +15,2 @@ import type { ComponentObject } from './componentTypes'; | ||
} | ||
//# sourceMappingURL=pageTypes.d.ts.map |
export interface StyleObject { | ||
/** | ||
* Alignment | ||
* @example | ||
* ```json | ||
* { "align": "horizontal"} | ||
* { "align": "vertical"} | ||
* ``` | ||
*/ | ||
align?: StyleAlign; | ||
/** | ||
* Axis | ||
* @example | ||
* ```json | ||
* { "axis": "centerX" } | ||
* { "axis": "centerY" } | ||
* ``` | ||
*/ | ||
axis?: StyleAxis; | ||
activeColor?: string; | ||
background?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "backgroundColor": "0.1" } | ||
* ``` | ||
*/ | ||
backgroundColor?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "border": "0" } | ||
* { "border": "1" } | ||
* { "border": "2" } | ||
* { "border": "3" } | ||
* { "border": "4" } | ||
* { "border": "5" } | ||
* { "border": "6" } | ||
* { "border": "7" } | ||
* ``` | ||
*/ | ||
border?: StyleBorderObject; | ||
/** | ||
* @example | ||
* ```json | ||
* { "borderColor": "0x334455" } | ||
* ``` | ||
*/ | ||
borderColor?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "borderRadius": "0.125" } | ||
* ``` | ||
*/ | ||
borderRadius?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "borderWidth": "0.15" } | ||
* ``` | ||
*/ | ||
borderWidth?: string; | ||
boxShadow?: string; | ||
boxSizing?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "color": "0x993344" } | ||
* ``` | ||
*/ | ||
color?: string; | ||
@@ -18,2 +76,9 @@ contentSize?: { | ||
}; | ||
/** | ||
* @example | ||
* ```json | ||
* { "display": "inline" } | ||
* { "display": "inline-block" } | ||
* ``` | ||
*/ | ||
display?: string; | ||
@@ -23,37 +88,200 @@ float?: boolean; | ||
flexFlow?: any; | ||
/** | ||
* @example | ||
* ```json | ||
* { "fontColor": "0x223344" } | ||
* ``` | ||
*/ | ||
fontColor?: string; | ||
fontSize?: string; | ||
fontFamily?: string; | ||
fontStyle?: 'bold' | string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "fontStyle": "bold" } | ||
* ``` | ||
*/ | ||
fontStyle?: string | 'bold'; | ||
fontWeight?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "height": "0.23" } | ||
* { "height": "1" } | ||
* ``` | ||
*/ | ||
height?: string; | ||
isHidden?: string | boolean; | ||
/** | ||
* @example | ||
* ```json | ||
* { "isHidden": "true" } | ||
* ``` | ||
*/ | ||
isHidden?: boolean | string; | ||
justifyContent?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "left": "0.5" } | ||
* ``` | ||
*/ | ||
left?: string; | ||
letterSpacing?: string; | ||
lineHeight?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "marginLeft": "0.23" } | ||
* ``` | ||
*/ | ||
marginLeft?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "marginTop": "0.23" } | ||
* ``` | ||
*/ | ||
marginTop?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "marginRight": "0.23" } | ||
* ``` | ||
*/ | ||
marginRight?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "marginBottom": "0.23" } | ||
* ``` | ||
*/ | ||
marginBottom?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "minWidth": "0.1" } | ||
* ``` | ||
*/ | ||
minWidth?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "maxWidth": "0.1" } | ||
* ``` | ||
*/ | ||
maxWidth?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "minHeight": "0.1" } | ||
* ``` | ||
*/ | ||
minHeight?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "maxHeight": "0.1" } | ||
* ``` | ||
*/ | ||
maxHeight?: string; | ||
outline?: string; | ||
padding?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "paddingTop": "0.1" } | ||
* ``` | ||
*/ | ||
paddingTop?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "paddingLeft": "0.1" } | ||
* ``` | ||
*/ | ||
paddingLeft?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "paddingRight": "0.1" } | ||
* ``` | ||
*/ | ||
paddingRight?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "paddingBottom": "0.1" } | ||
* ``` | ||
*/ | ||
paddingBottom?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "position": "relative" } | ||
* { "position": "absolute" } | ||
* ``` | ||
*/ | ||
position?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "required": "true" } | ||
* { "required": true } | ||
* ``` | ||
*/ | ||
required?: string | boolean; | ||
/** | ||
* @example | ||
* ```json | ||
* { "shadow": "true" } | ||
* { "shadow": true } | ||
* ``` | ||
*/ | ||
shadow?: false | string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "textAlign": "left" } | ||
* { "textAlign": "center" } | ||
* { "textAlign": "centerX" } | ||
* { "textAlign": "right" } | ||
* { "textAlign": { "x": "left" } } | ||
* { "textAlign": { "x": "center" } } | ||
* { "textAlign": { "x": "centerX" } } | ||
* { "textAlign": { "x": "right" } } | ||
* { "textAlign": { "y": "center" } } | ||
* { "textAlign": { "x": "centerX", "y": "center" } } | ||
* ``` | ||
*/ | ||
textAlign?: StyleTextAlign; | ||
/** | ||
* @example | ||
* ```json | ||
* { "textColor": "0x003344" } | ||
* ``` | ||
*/ | ||
textColor?: string; | ||
textDecoration?: string; | ||
textIndent?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "top": "0.1" } | ||
* ``` | ||
*/ | ||
top?: string; | ||
/** | ||
* @example | ||
* ```json | ||
* { "width": "0.1" } | ||
* ``` | ||
*/ | ||
width?: string; | ||
zIndex?: string | number; | ||
/** | ||
* @example | ||
* ```json | ||
* { "zIndex": "1000" } | ||
* ``` | ||
*/ | ||
zIndex?: number | string; | ||
[key: string]: any; | ||
@@ -65,11 +293,15 @@ } | ||
style?: '1' | '2' | '3' | '4' | '5' | '6' | '7' | 1 | 2 | 3 | 4 | 5 | 6 | 7; | ||
width?: string | number; | ||
color?: string | number; | ||
width?: number | string; | ||
color?: number | string; | ||
line?: string; | ||
[key: string]: any; | ||
} | ||
export declare type StyleTextAlign = 'left' | 'center' | 'right' | StyleAlign | StyleTextAlignObject; | ||
export declare type StyleTextAlign = StyleAlign | StyleTextAlignObject | 'center' | 'left' | 'right'; | ||
export interface StyleTextAlignObject { | ||
x?: 'left' | 'center' | 'right' | 'centerX'; | ||
y?: 'left' | 'center' | 'right' | 'centerY'; | ||
x?: 'center' | 'centerX' | 'left' | 'right'; | ||
y?: 'center' | 'centerY' | 'left' | 'right'; | ||
} | ||
export declare type VpUnit = 'vh' | 'vw'; | ||
export declare type VpValue = `${string}${VpUnit}`; | ||
export declare type KnownStyleKeys = 'align' | 'axis' | 'background' | 'backgroundColor' | 'border' | 'borderColor' | 'borderRadius' | 'borderWidth' | 'boxShadow' | 'boxSizing' | 'color' | 'contentSize' | 'display' | 'flex' | 'flexFlow' | 'float' | 'fontColor' | 'fontFamily' | 'fontSize' | 'fontStyle' | 'fontWeight' | 'height' | 'isHidden' | 'justifyContent' | 'left' | 'letterSpacing' | 'lineHeight' | 'marginBottom' | 'marginLeft' | 'marginRight' | 'marginTop' | 'maxHeight' | 'maxWidth' | 'minHeight' | 'minWidth' | 'outline' | 'padding' | 'paddingBottom' | 'paddingLeft' | 'paddingRight' | 'paddingTop' | 'position' | 'required' | 'shadow' | 'textAlign' | 'textColor' | 'textDecoration' | 'textIndent' | 'top' | 'width' | 'zIndex'; | ||
//# sourceMappingURL=styleTypes.d.ts.map |
@@ -0,1 +1,2 @@ | ||
import type { ReferenceString } from './ecosTypes'; | ||
import type { ActionObject } from './actionTypes'; | ||
@@ -11,6 +12,5 @@ import type { StyleObject } from './styleTypes'; | ||
} | ||
export interface EmitObjectFold { | ||
export declare type EmitObjectFold<O extends Record<string, any> = Record<string, any>> = O & { | ||
emit: EmitObject; | ||
[key: string]: any; | ||
} | ||
}; | ||
export declare type GotoUrl = string; | ||
@@ -25,8 +25,8 @@ export interface GotoObject<V = string> { | ||
} | ||
export declare type Path<V = any> = V extends string ? string : V extends EmitObjectFold ? EmitObjectFold : V extends IfObject ? IfObject : string | EmitObjectFold | IfObject; | ||
export declare type Path<V = any> = V extends string ? string : V extends EmitObjectFold ? EmitObjectFold : V extends IfObject ? IfObject : EmitObjectFold | IfObject | string; | ||
export declare type TextBoardObject = ({ | ||
br?: '' | null; | ||
} | { | ||
color?: string; | ||
text?: string; | ||
} | { | ||
br?: null | ''; | ||
})[]; | ||
@@ -37,1 +37,3 @@ export interface ToastObject { | ||
} | ||
export declare type Value = any[] | Record<string, any> | ReferenceString | boolean | number | string | '' | null; | ||
//# sourceMappingURL=uncategorizedTypes.d.ts.map |
@@ -10,1 +10,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isAwaitReference(v?: string): v is ReferenceString<string, '@'>; | ||
//# sourceMappingURL=isAwaitReference.d.ts.map |
@@ -8,1 +8,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isEvalLocalReference(v?: string): v is ReferenceString<string, '=..'>; | ||
//# sourceMappingURL=isEvalLocalReference.d.ts.map |
@@ -12,1 +12,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isEvalReference(v?: string): v is ReferenceString<string, '='>; | ||
//# sourceMappingURL=isEvalReference.d.ts.map |
@@ -8,1 +8,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isEvalRootReference(v?: string): v is ReferenceString<string, '=.'>; | ||
//# sourceMappingURL=isEvalRootReference.d.ts.map |
@@ -10,1 +10,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isLocalReference(v?: string): v is ReferenceString<string, '..'>; | ||
//# sourceMappingURL=isLocalReference.d.ts.map |
@@ -12,1 +12,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isRootReference(v?: string): v is ReferenceString<string, '.'>; | ||
//# sourceMappingURL=isRootReference.d.ts.map |
@@ -17,1 +17,2 @@ import type { ReferenceString } from '../ecosTypes'; | ||
export default function isTildeReference(v?: string): v is ReferenceString<string, '~/'>; | ||
//# sourceMappingURL=isTildeReference.d.ts.map |
@@ -12,1 +12,2 @@ /** | ||
export default function isTraverseReference(v?: string): boolean; | ||
//# sourceMappingURL=isTraverseReference.d.ts.map |
@@ -27,3 +27,5 @@ { | ||
"build:cjs": "tsc --outDir dist/cjs --project tsconfig.cjs.json", | ||
"build:development": "npm run build", | ||
"build:esm": "tsc --outDir dist --project tsconfig.json", | ||
"docs": "typedoc --out docs", | ||
"start": "tsc --watch", | ||
@@ -33,3 +35,3 @@ "test": "cross-env TS_NODE_PROJECT=\"tsconfig.test.json\" NODE_ENV=test ts-mocha -r source-map-support/register --extensions ts --watch --watch-files src \"src/**/*.test.ts\"" | ||
"typings": "./dist/index.d.ts", | ||
"version": "1.0.202" | ||
"version": "1.0.211" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
150568
93
2390