UNPKG

aia-kit

Version:

Read, Parse, Edit, Write, Analyze AIA/AIX/AIS files.

64 lines (63 loc) 2.38 kB
import { Component } from "./component.js"; import type { ComponentJson } from "./types.js"; /** * Class that describes a screen in an App Inventor project. * * @since 1.0.0 * @access public */ export declare class Screen { name: string; form: Component; blocks: string; constructor(name: string, form: Component, blocks: string); /** * Creates a new AIScreen object asynchronously. * * Asynchronously creating this object, as opposed to using a constructor, lets * us generate all screens in a project simultaneously. This greatly reduces * the overall load time of the page, especially in case of large AIAs, as the * @see AIAReader::read function will not have to wait for the components of * this screen to load before starting with the next. * * @since 1.0.0 * @access public * * @class * @param {String} scm The scheme data for this screen as fetched from * the AIA. * @param {String} blk The stringified Blockly XML for this screen as * fetched from the AIA. * @param {String} name The name of this screen. * * @return {Screen} New AIScreen object. */ static init(name: string, scm: string, blk: string): Promise<Screen>; /** * Takes the raw scheme input from the AIA, parses it as a JSON array, and then * generates all the component and property objects for this screen. * * @since 1.0.0 * @access private * * @param {String} scmJSON The raw scheme text fetched from the .scm file of * the AIA. * * @return {Component} The Form component of this screen. */ static generateSchemeData(scmJSON: string): Promise<Component>; /** * Takes the JSON description of a component and asynchronously * creates a new @see Component class representing it. Also recursively calls * itself for every child of this component. * * @since 1.0.0 * @access private * * @param {String} componentJSON The JSON object describing this component. * * @return {Component} An object representing this component's properties and * children. */ static generateComponent(componentJSON: ComponentJson): Promise<Component>; }