"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initialize = initialize; const features_1 = require("./features"); const IntrinsicCheckers_1 = require("oak-domain/lib/store/IntrinsicCheckers"); /** * @param storageSchema * @param createFeatures * @param contextBuilder * @param context * @param triggers * @param checkers * @param watchers * @param aspectDict * @param initialData * @param actionDict * @returns */ function initialize(storageSchema, frontendContextBuilder, connector, checkers, common, render) { const { actionDefDict, attrUpdateMatrix } = common; const intrinsicCheckers = (0, IntrinsicCheckers_1.makeIntrinsicCheckers)(storageSchema, actionDefDict, attrUpdateMatrix); const checkers2 = checkers.concat(intrinsicCheckers); const features1 = (0, features_1.initializeStep1)(); const features2 = (0, features_1.initializeStep2)(features1, connector, storageSchema, frontendContextBuilder, checkers2, common, render); const features = Object.assign(features1, features2); return { features, }; }