@launchmenu/core
Version:
An environment for visual keyboard controlled applets
36 lines • 2.8 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStandardBinding = exports.createAction = void 0;
const actionGetter_1 = require("./actionGraph/actionGetter");
/**
* Creates an action that conforms to all constraints of a proper action
* @param actionInput The data to construct the action from
* @returns The created action
*/
function createAction(actionInput) {
const { name, parents, core, createBinding, extras = {} } = actionInput;
parents === null || parents === void 0 ? void 0 : parents.forEach(parent => {
if (parent === undefined)
throw Error("Undefined was passed as a parent, this could be caused by dependency cycles");
});
return {
name,
parents: parents || [],
transform: core,
get: actionGetter_1.actionGetter,
createBinding: createBinding || createStandardBinding,
...extras,
};
}
exports.createAction = createAction;
// The standard binding creator type and function
function createStandardBinding(config) {
if (config instanceof Object &&
("subscribableData" in config || "data" in config) &&
// A special case to prevent meta bindings (bindings of bindings) from being flattened
(!("action" in config) || config.action == this))
return { action: this, ...config };
return { action: this, data: config };
}
exports.createStandardBinding = createStandardBinding;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbnMvY3JlYXRlQWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUF3RDtBQU94RDs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWSxDQWExQixXQVdEO0lBT0csTUFBTSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFDLEdBQUcsV0FBVyxDQUFDO0lBRXRFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEIsSUFBSSxNQUFNLEtBQUssU0FBUztZQUNwQixNQUFNLEtBQUssQ0FDUCw2RUFBNkUsQ0FDaEYsQ0FBQztJQUNWLENBQUMsRUFBRTtJQUVILE9BQU87UUFDSCxJQUFJO1FBQ0osT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO1FBQ3RCLFNBQVMsRUFBRSxJQUFXO1FBQ3RCLEdBQUcsRUFBRSwyQkFBWTtRQUNqQixhQUFhLEVBQUUsYUFBYSxJQUFLLHFCQUE2QjtRQUM5RCxHQUFJLE1BQWM7S0FDckIsQ0FBQztBQUNOLENBQUM7QUFoREQsb0NBZ0RDO0FBRUQsaURBQWlEO0FBRWpELFNBQWdCLHFCQUFxQixDQUVqQyxNQUF3QztJQUV4QyxJQUNJLE1BQU0sWUFBWSxNQUFNO1FBQ3hCLENBQUMsa0JBQWtCLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUM7UUFDbEQsc0ZBQXNGO1FBQ3RGLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQztRQUVoRCxPQUFPLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sRUFBUSxDQUFDO0lBQzVDLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQztBQUN4QyxDQUFDO0FBWkQsc0RBWUMifQ==
;