@helgoland/core
Version: 
65 lines (64 loc) • 4.6 kB
JavaScript
/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
 */
import { Injectable } from '@angular/core';
/** @type {?} */
var INTERNAL_ID_SEPERATOR = '__';
/**
 * @record
 */
export function InternalDatasetId() { }
/** @type {?} */
InternalDatasetId.prototype.id;
/** @type {?} */
InternalDatasetId.prototype.url;
/**
 * Service to generate or resolve internal dataset IDs
 */
var InternalIdHandler = /** @class */ (function () {
    function InternalIdHandler() {
    }
    /**
     * Generates an internal id for the given dataset.
     * @param {?} dataset The dataset for which the internal id will be generated and saved.
     * @return {?}
     */
    InternalIdHandler.prototype.generateInternalId = /**
     * Generates an internal id for the given dataset.
     * @param {?} dataset The dataset for which the internal id will be generated and saved.
     * @return {?}
     */
    function (dataset) {
        dataset.internalId = dataset.url + INTERNAL_ID_SEPERATOR + dataset.id;
    };
    /**
     * Resolves the internal ID to the url and the API specific dataset id.
     * @param {?} internalId The internal id as string
     * @return {?} Construct of url and API id
     */
    InternalIdHandler.prototype.resolveInternalId = /**
     * Resolves the internal ID to the url and the API specific dataset id.
     * @param {?} internalId The internal id as string
     * @return {?} Construct of url and API id
     */
    function (internalId) {
        /** @type {?} */
        var split = internalId.split(INTERNAL_ID_SEPERATOR);
        if (split.length !== 2) {
            console.error('InternalID ' + internalId + ' is not resolvable');
        }
        else {
            return {
                url: split[0],
                id: split[1]
            };
        }
    };
    InternalIdHandler.decorators = [
        { type: Injectable },
    ];
    return InternalIdHandler;
}());
export { InternalIdHandler };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtaWQtaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhlbGdvbGFuZC9jb3JlLyIsInNvdXJjZXMiOlsibGliL2RhdGFzZXQtYXBpL2ludGVybmFsLWlkLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsSUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUIxQiw4Q0FBa0I7Ozs7O2NBQUMsT0FBaUI7UUFDekMsT0FBTyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7Ozs7Ozs7SUFRakUsNkNBQWlCOzs7OztjQUFDLFVBQWtCOztRQUN6QyxJQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEQsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ2xFO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUM7Z0JBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDYixDQUFDO1NBQ0g7OztnQkF6QkosVUFBVTs7NEJBZFg7O1NBZWEsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJRGF0YXNldCB9IGZyb20gJy4uL21vZGVsL2RhdGFzZXQtYXBpL2RhdGFzZXQnO1xuXG5jb25zdCBJTlRFUk5BTF9JRF9TRVBFUkFUT1IgPSAnX18nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVybmFsRGF0YXNldElkIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2VydmljZSB0byBnZW5lcmF0ZSBvciByZXNvbHZlIGludGVybmFsIGRhdGFzZXQgSURzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbElkSGFuZGxlciB7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhbiBpbnRlcm5hbCBpZCBmb3IgdGhlIGdpdmVuIGRhdGFzZXQuXG4gICAqIEBwYXJhbSBkYXRhc2V0IFRoZSBkYXRhc2V0IGZvciB3aGljaCB0aGUgaW50ZXJuYWwgaWQgd2lsbCBiZSBnZW5lcmF0ZWQgYW5kIHNhdmVkLlxuICAgKi9cbiAgcHVibGljIGdlbmVyYXRlSW50ZXJuYWxJZChkYXRhc2V0OiBJRGF0YXNldCkge1xuICAgIGRhdGFzZXQuaW50ZXJuYWxJZCA9IGRhdGFzZXQudXJsICsgSU5URVJOQUxfSURfU0VQRVJBVE9SICsgZGF0YXNldC5pZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgaW50ZXJuYWwgSUQgdG8gdGhlIHVybCBhbmQgdGhlIEFQSSBzcGVjaWZpYyBkYXRhc2V0IGlkLlxuICAgKiBAcGFyYW0gaW50ZXJuYWxJZCBUaGUgaW50ZXJuYWwgaWQgYXMgc3RyaW5nXG4gICAqIEByZXR1cm5zIENvbnN0cnVjdCBvZiB1cmwgYW5kIEFQSSBpZFxuICAgKi9cbiAgcHVibGljIHJlc29sdmVJbnRlcm5hbElkKGludGVybmFsSWQ6IHN0cmluZyk6IEludGVybmFsRGF0YXNldElkIHtcbiAgICBjb25zdCBzcGxpdCA9IGludGVybmFsSWQuc3BsaXQoSU5URVJOQUxfSURfU0VQRVJBVE9SKTtcbiAgICBpZiAoc3BsaXQubGVuZ3RoICE9PSAyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnRlcm5hbElEICcgKyBpbnRlcm5hbElkICsgJyBpcyBub3QgcmVzb2x2YWJsZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cmw6IHNwbGl0WzBdLFxuICAgICAgICBpZDogc3BsaXRbMV1cbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=