UNPKG

@acoustic-content-sdk/redux-feature-auth-layout

Version:

Implementation of a redux feature to manage authoring layouts.

91 lines 9.86 kB
/** * @fileoverview added by tsickle * Generated from: state/auth-layout/auth.layout.epics.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { createAuthenticatedLoader, guaranteeEpic, nonExistentEpic, PROJECT_ID_QUERY_PARAM } from '@acoustic-content-sdk/redux-feature-load'; import { selectPayload } from '@acoustic-content-sdk/redux-store'; import { addToSetEpic, getDeliveryIdFromAuthoringItem } from '@acoustic-content-sdk/redux-utils'; import { jsonParse, mapArray, rxPipe } from '@acoustic-content-sdk/utils'; import { combineEpics, ofType } from 'redux-observable'; import { map } from 'rxjs/operators'; import { ACTION_ADD_AUTH_LAYOUT, ACTION_ADD_AUTH_LAYOUT_IF_NONEXISTENT, ACTION_GUARANTEE_AUTH_LAYOUT, ACTION_LOAD_AUTH_LAYOUT, ACTION_SET_AUTH_LAYOUT, addAuthoringLayoutAction, loadAuthoringLayoutAction } from './auth.layout.actions'; import { selectAuthLayoutFeature } from './auth.layout.feature'; /** @type {?} */ const LOGGER = 'AuthLayoutEpic'; /** * @record */ export function AuthoringLayoutDependencies() { } if (false) { /** @type {?} */ AuthoringLayoutDependencies.prototype.fetchText; /** @type {?} */ AuthoringLayoutDependencies.prototype.logSvc; } // TODO type fallback for layouts! /** * Initialize the active page * @type {?} */ const loadLayoutEpic = (/** * @param {?} actions$ * @param {?} state$ * @param {?} __2 * @return {?} */ (actions$, state$, { fetchText, logSvc }) => { // logger /** @type {?} */ const logger = logSvc.get(LOGGER); // loader /** @type {?} */ const loader = (/** * @param {?} id * @return {?} */ (id) => rxPipe(fetchText(`authoring/v1/layouts/${encodeURIComponent(id)}?${PROJECT_ID_QUERY_PARAM}`), // convert text to json map(jsonParse), // save the loaded asset map(addAuthoringLayoutAction))); // our loader /** @type {?} */ const opLoader = createAuthenticatedLoader(state$, loader, logger); return rxPipe(actions$, ofType(ACTION_LOAD_AUTH_LAYOUT), // extract the id of the type map(selectPayload), // load opLoader); }); const ɵ0 = loadLayoutEpic; /** * Determine the IDs of the layouts to resolve * * @param {?} aLayouts - the authoring layouts * @return {?} the resolved layout IDs */ function idsFromSelectedLayouts(aLayouts) { return mapArray(aLayouts, (/** * @param {?} layout * @return {?} */ (layout) => layout.layout.id)); } // epic to convert from ACTION_ADD_AUTH_LAYOUT to ACTION_SET_AUTH_LAYOUT /** @type {?} */ const setLayoutEpic = addToSetEpic(ACTION_ADD_AUTH_LAYOUT, ACTION_SET_AUTH_LAYOUT); /** * Handles layout guarantees * @type {?} */ const guaranteeLayoutEpic = guaranteeEpic(ACTION_GUARANTEE_AUTH_LAYOUT, loadAuthoringLayoutAction, selectAuthLayoutFeature); /** * Handles non existent items * @type {?} */ const nonExistentLayoutEpic = nonExistentEpic(ACTION_ADD_AUTH_LAYOUT_IF_NONEXISTENT, addAuthoringLayoutAction, getDeliveryIdFromAuthoringItem, selectAuthLayoutFeature); /** @type {?} */ export const authoringLayoutEpic = combineEpics(loadLayoutEpic, guaranteeLayoutEpic, nonExistentLayoutEpic, setLayoutEpic); export { ɵ0 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5sYXlvdXQuZXBpY3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNvdXN0aWMtY29udGVudC1zZGsvcmVkdXgtZmVhdHVyZS1hdXRoLWxheW91dC8iLCJzb3VyY2VzIjpbInN0YXRlL2F1dGgtbGF5b3V0L2F1dGgubGF5b3V0LmVwaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0EsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixhQUFhLEVBRWIsZUFBZSxFQUNmLHNCQUFzQixFQUN2QixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLDhCQUE4QixFQUMvQixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQVEsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUV4Qix5QkFBeUIsRUFDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7TUFFMUQsTUFBTSxHQUFHLGdCQUFnQjs7OztBQUUvQixpREFHQzs7O0lBRkMsZ0RBQXFCOztJQUNyQiw2Q0FBc0I7Ozs7Ozs7TUFRbEIsY0FBYzs7Ozs7O0FBQVMsQ0FDM0IsUUFBUSxFQUNSLE1BQU0sRUFDTixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQStCLEVBQ2xELEVBQUU7OztVQUVJLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQzs7O1VBRTNCLE1BQU07Ozs7SUFBZSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ2hDLE1BQU0sQ0FDSixTQUFTLENBQ1Asd0JBQXdCLGtCQUFrQixDQUN4QyxFQUFFLENBQ0gsSUFBSSxzQkFBc0IsRUFBRSxDQUM5QjtJQUNELHVCQUF1QjtJQUN2QixHQUFHLENBQThCLFNBQVMsQ0FBQztJQUMzQyx3QkFBd0I7SUFDeEIsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQzlCLENBQUE7OztVQUVHLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUVsRSxPQUFPLE1BQU0sQ0FDWCxRQUFRLEVBQ1IsTUFBTSxDQUE0Qix1QkFBdUIsQ0FBQztJQUMxRCw2QkFBNkI7SUFDN0IsR0FBRyxDQUFDLGFBQWEsQ0FBQztJQUNsQixPQUFPO0lBQ1AsUUFBUSxDQUNULENBQUM7QUFDSixDQUFDLENBQUE7Ozs7Ozs7O0FBUUQsU0FBUyxzQkFBc0IsQ0FBQyxRQUFtQztJQUNqRSxPQUFPLFFBQVEsQ0FBQyxRQUFROzs7O0lBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFDLENBQUM7QUFDMUQsQ0FBQzs7O01BR0ssYUFBYSxHQUFHLFlBQVksQ0FDaEMsc0JBQXNCLEVBQ3RCLHNCQUFzQixDQUN2Qjs7Ozs7TUFLSyxtQkFBbUIsR0FBUyxhQUFhLENBQzdDLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsdUJBQXVCLENBQ3hCOzs7OztNQUtLLHFCQUFxQixHQUFTLGVBQWUsQ0FDakQscUNBQXFDLEVBQ3JDLHdCQUF3QixFQUN4Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLENBQ3hCOztBQUVELE1BQU0sT0FBTyxtQkFBbUIsR0FBUyxZQUFZLENBQ25ELGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGFBQWEsQ0FDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF1dGhvcmluZ0xheW91dEl0ZW0sXG4gIEF1dGhvcmluZ1NlbGVjdGVkTGF5b3V0LFxuICBMb2dnZXJTZXJ2aWNlXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay9hcGknO1xuaW1wb3J0IHtcbiAgY3JlYXRlQXV0aGVudGljYXRlZExvYWRlcixcbiAgZ3VhcmFudGVlRXBpYyxcbiAgTG9hZGVyVHlwZSxcbiAgbm9uRXhpc3RlbnRFcGljLFxuICBQUk9KRUNUX0lEX1FVRVJZX1BBUkFNXG59IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay9yZWR1eC1mZWF0dXJlLWxvYWQnO1xuaW1wb3J0IHsgc2VsZWN0UGF5bG9hZCB9IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay9yZWR1eC1zdG9yZSc7XG5pbXBvcnQge1xuICBhZGRUb1NldEVwaWMsXG4gIGdldERlbGl2ZXJ5SWRGcm9tQXV0aG9yaW5nSXRlbVxufSBmcm9tICdAYWNvdXN0aWMtY29udGVudC1zZGsvcmVkdXgtdXRpbHMnO1xuaW1wb3J0IHsgRmV0Y2hUZXh0IH0gZnJvbSAnQGFjb3VzdGljLWNvbnRlbnQtc2RrL3Jlc3QtYXBpJztcbmltcG9ydCB7IGpzb25QYXJzZSwgbWFwQXJyYXksIHJ4UGlwZSB9IGZyb20gJ0BhY291c3RpYy1jb250ZW50LXNkay91dGlscyc7XG5pbXBvcnQgeyBjb21iaW5lRXBpY3MsIEVwaWMsIG9mVHlwZSB9IGZyb20gJ3JlZHV4LW9ic2VydmFibGUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBQ1RJT05fQUREX0FVVEhfTEFZT1VULFxuICBBQ1RJT05fQUREX0FVVEhfTEFZT1VUX0lGX05PTkVYSVNURU5ULFxuICBBQ1RJT05fR1VBUkFOVEVFX0FVVEhfTEFZT1VULFxuICBBQ1RJT05fTE9BRF9BVVRIX0xBWU9VVCxcbiAgQUNUSU9OX1NFVF9BVVRIX0xBWU9VVCxcbiAgYWRkQXV0aG9yaW5nTGF5b3V0QWN0aW9uLFxuICBMb2FkQXV0aG9yaW5nTGF5b3V0QWN0aW9uLFxuICBsb2FkQXV0aG9yaW5nTGF5b3V0QWN0aW9uXG59IGZyb20gJy4vYXV0aC5sYXlvdXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBzZWxlY3RBdXRoTGF5b3V0RmVhdHVyZSB9IGZyb20gJy4vYXV0aC5sYXlvdXQuZmVhdHVyZSc7XG5cbmNvbnN0IExPR0dFUiA9ICdBdXRoTGF5b3V0RXBpYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aG9yaW5nTGF5b3V0RGVwZW5kZW5jaWVzIHtcbiAgZmV0Y2hUZXh0OiBGZXRjaFRleHQ7XG4gIGxvZ1N2YzogTG9nZ2VyU2VydmljZTtcbn1cblxuLy8gVE9ETyB0eXBlIGZhbGxiYWNrIGZvciBsYXlvdXRzIVxuXG4vKipcbiAqIEluaXRpYWxpemUgdGhlIGFjdGl2ZSBwYWdlXG4gKi9cbmNvbnN0IGxvYWRMYXlvdXRFcGljOiBFcGljID0gKFxuICBhY3Rpb25zJCxcbiAgc3RhdGUkLFxuICB7IGZldGNoVGV4dCwgbG9nU3ZjIH06IEF1dGhvcmluZ0xheW91dERlcGVuZGVuY2llc1xuKSA9PiB7XG4gIC8vIGxvZ2dlclxuICBjb25zdCBsb2dnZXIgPSBsb2dTdmMuZ2V0KExPR0dFUik7XG4gIC8vIGxvYWRlclxuICBjb25zdCBsb2FkZXI6IExvYWRlclR5cGUgPSAoaWQpID0+XG4gICAgcnhQaXBlKFxuICAgICAgZmV0Y2hUZXh0KFxuICAgICAgICBgYXV0aG9yaW5nL3YxL2xheW91dHMvJHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgaWRcbiAgICAgICAgKX0/JHtQUk9KRUNUX0lEX1FVRVJZX1BBUkFNfWBcbiAgICAgICksXG4gICAgICAvLyBjb252ZXJ0IHRleHQgdG8ganNvblxuICAgICAgbWFwPHN0cmluZywgQXV0aG9yaW5nTGF5b3V0SXRlbT4oanNvblBhcnNlKSxcbiAgICAgIC8vIHNhdmUgdGhlIGxvYWRlZCBhc3NldFxuICAgICAgbWFwKGFkZEF1dGhvcmluZ0xheW91dEFjdGlvbilcbiAgICApO1xuICAvLyBvdXIgbG9hZGVyXG4gIGNvbnN0IG9wTG9hZGVyID0gY3JlYXRlQXV0aGVudGljYXRlZExvYWRlcihzdGF0ZSQsIGxvYWRlciwgbG9nZ2VyKTtcblxuICByZXR1cm4gcnhQaXBlKFxuICAgIGFjdGlvbnMkLFxuICAgIG9mVHlwZTxMb2FkQXV0aG9yaW5nTGF5b3V0QWN0aW9uPihBQ1RJT05fTE9BRF9BVVRIX0xBWU9VVCksXG4gICAgLy8gZXh0cmFjdCB0aGUgaWQgb2YgdGhlIHR5cGVcbiAgICBtYXAoc2VsZWN0UGF5bG9hZCksXG4gICAgLy8gbG9hZFxuICAgIG9wTG9hZGVyXG4gICk7XG59O1xuXG4vKipcbiAqIERldGVybWluZSB0aGUgSURzIG9mIHRoZSBsYXlvdXRzIHRvIHJlc29sdmVcbiAqXG4gKiBAcGFyYW0gYUxheW91dHMgLSB0aGUgYXV0aG9yaW5nIGxheW91dHNcbiAqIEByZXR1cm5zIHRoZSByZXNvbHZlZCBsYXlvdXQgSURzXG4gKi9cbmZ1bmN0aW9uIGlkc0Zyb21TZWxlY3RlZExheW91dHMoYUxheW91dHM6IEF1dGhvcmluZ1NlbGVjdGVkTGF5b3V0W10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBtYXBBcnJheShhTGF5b3V0cywgKGxheW91dCkgPT4gbGF5b3V0LmxheW91dC5pZCk7XG59XG5cbi8vIGVwaWMgdG8gY29udmVydCBmcm9tIEFDVElPTl9BRERfQVVUSF9MQVlPVVQgdG8gQUNUSU9OX1NFVF9BVVRIX0xBWU9VVFxuY29uc3Qgc2V0TGF5b3V0RXBpYyA9IGFkZFRvU2V0RXBpYzxBdXRob3JpbmdMYXlvdXRJdGVtPihcbiAgQUNUSU9OX0FERF9BVVRIX0xBWU9VVCxcbiAgQUNUSU9OX1NFVF9BVVRIX0xBWU9VVFxuKTtcblxuLyoqXG4gKiBIYW5kbGVzIGxheW91dCBndWFyYW50ZWVzXG4gKi9cbmNvbnN0IGd1YXJhbnRlZUxheW91dEVwaWM6IEVwaWMgPSBndWFyYW50ZWVFcGljKFxuICBBQ1RJT05fR1VBUkFOVEVFX0FVVEhfTEFZT1VULFxuICBsb2FkQXV0aG9yaW5nTGF5b3V0QWN0aW9uLFxuICBzZWxlY3RBdXRoTGF5b3V0RmVhdHVyZVxuKTtcblxuLyoqXG4gKiBIYW5kbGVzIG5vbiBleGlzdGVudCBpdGVtc1xuICovXG5jb25zdCBub25FeGlzdGVudExheW91dEVwaWM6IEVwaWMgPSBub25FeGlzdGVudEVwaWMoXG4gIEFDVElPTl9BRERfQVVUSF9MQVlPVVRfSUZfTk9ORVhJU1RFTlQsXG4gIGFkZEF1dGhvcmluZ0xheW91dEFjdGlvbixcbiAgZ2V0RGVsaXZlcnlJZEZyb21BdXRob3JpbmdJdGVtLFxuICBzZWxlY3RBdXRoTGF5b3V0RmVhdHVyZVxuKTtcblxuZXhwb3J0IGNvbnN0IGF1dGhvcmluZ0xheW91dEVwaWM6IEVwaWMgPSBjb21iaW5lRXBpY3MoXG4gIGxvYWRMYXlvdXRFcGljLFxuICBndWFyYW50ZWVMYXlvdXRFcGljLFxuICBub25FeGlzdGVudExheW91dEVwaWMsXG4gIHNldExheW91dEVwaWNcbik7XG4iXX0=