UNPKG

relution-sdk

Version:

Relution Software Development Kit for TypeScript and JavaScript

62 lines 5.96 kB
/* * @file core/domain.ts * Relution SDK * * Created by Thomas Beckmann on 28.04.2016 * Copyright 2016 M-Way Solutions GmbH * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @module core */ /** */ "use strict"; /** * turns the object deeply immutable. * * @param self to freeze. * @return {T} self for convenience. * * @internal for library use only. */ function freeze(self) { var anything = self; if (anything.aclEntries) { anything.aclEntries = Object.freeze(anything.aclEntries); } if (anything.createdDate) { anything.createdDate = Object.freeze(new Date(+anything.createdDate)); } if (anything.modifiedDate) { anything.modifiedDate = Object.freeze(new Date(+anything.modifiedDate)); } return Object.freeze(anything); } exports.freeze = freeze; /** * extracts the uuid of a Referenceable. * * @param referenceable or string uuid. * @return {string} uuid of referenceable. */ function uuidOf(referenceable) { if (_.isString(referenceable)) { return referenceable; } else if (referenceable) { return referenceable.uuid; } } exports.uuidOf = uuidOf; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvZG9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSDs7R0FFRztBQUNILE1BQU07O0FBOEJOOzs7Ozs7O0dBT0c7QUFDSCxnQkFBMEIsSUFBTztJQUMvQixJQUFJLFFBQVEsR0FBUSxJQUFJLENBQUM7SUFDekIsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsUUFBUSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDekIsUUFBUSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBWmUsY0FBTSxTQVlyQixDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxnQkFBdUIsYUFBcUM7SUFDMUQsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztBQUNILENBQUM7QUFOZSxjQUFNLFNBTXJCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQGZpbGUgY29yZS9kb21haW4udHNcbiAqIFJlbHV0aW9uIFNES1xuICpcbiAqIENyZWF0ZWQgYnkgVGhvbWFzIEJlY2ttYW5uIG9uIDI4LjA0LjIwMTZcbiAqIENvcHlyaWdodCAyMDE2IE0tV2F5IFNvbHV0aW9ucyBHbWJIXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQG1vZHVsZSBjb3JlXG4gKi9cbi8qKiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVyZW5jZWFibGUge1xuICB1dWlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJlIHtcbiAgYWNsRW50cmllczogc3RyaW5nW107XG4gIGVmZmVjdGl2ZVBlcm1pc3Npb25zPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc1ZlcnNpb24ge1xuICB2ZXJzaW9uOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzQnVuZGxlIHtcbiAgYnVuZGxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0FwcGxpY2F0aW9uIHtcbiAgYXBwbGljYXRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzTW9kaWZpZWQge1xuICBjcmVhdGVkVXNlcj86IHN0cmluZztcbiAgY3JlYXRlZERhdGU/OiBEYXRlO1xuICBtb2RpZmllZFVzZXI/OiBzdHJpbmc7XG4gIG1vZGlmaWVkRGF0ZT86IERhdGU7XG59XG5cbi8qKlxuICogdHVybnMgdGhlIG9iamVjdCBkZWVwbHkgaW1tdXRhYmxlLlxuICpcbiAqIEBwYXJhbSBzZWxmIHRvIGZyZWV6ZS5cbiAqIEByZXR1cm4ge1R9IHNlbGYgZm9yIGNvbnZlbmllbmNlLlxuICpcbiAqIEBpbnRlcm5hbCBmb3IgbGlicmFyeSB1c2Ugb25seS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyZWV6ZTxUPihzZWxmOiBUKTogVCB7XG4gIGxldCBhbnl0aGluZzogYW55ID0gc2VsZjtcbiAgaWYgKGFueXRoaW5nLmFjbEVudHJpZXMpIHtcbiAgICBhbnl0aGluZy5hY2xFbnRyaWVzID0gT2JqZWN0LmZyZWV6ZShhbnl0aGluZy5hY2xFbnRyaWVzKTtcbiAgfVxuICBpZiAoYW55dGhpbmcuY3JlYXRlZERhdGUpIHtcbiAgICBhbnl0aGluZy5jcmVhdGVkRGF0ZSA9IE9iamVjdC5mcmVlemUobmV3IERhdGUoK2FueXRoaW5nLmNyZWF0ZWREYXRlKSk7XG4gIH1cbiAgaWYgKGFueXRoaW5nLm1vZGlmaWVkRGF0ZSkge1xuICAgIGFueXRoaW5nLm1vZGlmaWVkRGF0ZSA9IE9iamVjdC5mcmVlemUobmV3IERhdGUoK2FueXRoaW5nLm1vZGlmaWVkRGF0ZSkpO1xuICB9XG4gIHJldHVybiBPYmplY3QuZnJlZXplKGFueXRoaW5nKTtcbn1cblxuLyoqXG4gKiBleHRyYWN0cyB0aGUgdXVpZCBvZiBhIFJlZmVyZW5jZWFibGUuXG4gKlxuICogQHBhcmFtIHJlZmVyZW5jZWFibGUgb3Igc3RyaW5nIHV1aWQuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IHV1aWQgb2YgcmVmZXJlbmNlYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHV1aWRPZihyZWZlcmVuY2VhYmxlOiBSZWZlcmVuY2VhYmxlIHwgc3RyaW5nKSB7XG4gIGlmIChfLmlzU3RyaW5nKHJlZmVyZW5jZWFibGUpKSB7XG4gICAgcmV0dXJuIHJlZmVyZW5jZWFibGU7XG4gIH0gZWxzZSBpZiAocmVmZXJlbmNlYWJsZSkge1xuICAgIHJldHVybiByZWZlcmVuY2VhYmxlLnV1aWQ7XG4gIH1cbn1cbiJdfQ==