PageSourceSearch

https://fxboss.firstcitizens.com/app/assets/angular-translate/angu…late-loader-static-files.js?v=31082026-1758

js firstcitizens.com collected 2026-09-24 21:52:18 UTC 3,079 bytes, 112 lines download raw bytes

1/*!
2 * angular-translate - v2.18.4 - 2021-01-14
3 * 
4 * Copyright (c) 2021 The angular-translate team, Pascal Precht; Licensed MIT
5 */
6(function (root, factory) {
7  if (typeof define === 'function' && define.amd) {
8    // AMD. Register as an anonymous module unless amdModuleId is set
9    define([], function () {
10      return (factory());
11    });
12  } else if (typeof module === 'object' && module.exports) {
13    // Node. Does not work with strict CommonJS, but
14    // only CommonJS-like environments that support module.exports,
15    // like Node.
16    module.exports = factory();
17  } else {
18    factory();
19  }
20}(this, function () {
21
22$translateStaticFilesLoader.$inject = ['$q', '$http'];
23angular.module('pascalprecht.translate')
24/**
25 * @ngdoc object
26 * @name pascalprecht.translate.$translateStaticFilesLoader
27 * @requires $q
28 * @requires $http
29 *
30 * @description
31 * Creates a loading function for a typical static file url pattern:
32 * "lang-en_US.json", "lang-de_DE.json", etc. Using this builder,
33 * the response of these urls must be an object of key-value pairs.
34 *
35 * @param {object} options Options object, which gets prefix, suffix, key, and fileMap
36 */
37.factory('$translateStaticFilesLoader', $translateStaticFilesLoader);
38
39function $translateStaticFilesLoader($q, $http) {
40
41  'use strict';
42
43  return function (options) {
44
45    if (!options || (!angular.isArray(options.files) && (!angular.isString(options.prefix) || !angular.isString(options.suffix)))) {
46      throw new Error('Couldn\'t load static files, no files and prefix or suffix specified!');
47    }
48
49    if (!options.files) {
50      options.files = [{
51        prefix: options.prefix,
52        suffix: options.suffix
53      }];
54    }
55
56    var load = function (file) {
57      if (!file || (!angular.isString(file.prefix) || !angular.isString(file.suffix))) {
58        throw new Error('Couldn\'t load static file, no prefix or suffix specified!');
59      }
60
61      var fileUrl = [
62        file.prefix,
63        options.key,
64        file.suffix
65      ].join('');
66
67      if (angular.isObject(options.fileMap) && options.fileMap[fileUrl]) {
68        fileUrl = options.fileMap[fileUrl];
69      }
70
71      return $http(angular.extend({
72        url: fileUrl,
73        method: 'GET'
74      }, options.$http))
75        .then(function(result) {
76          return result.data;
77        }, function () {
78          return $q.reject(options.key);
79        });
80    };
81
82    var promises = [],
83        length = options.files.length;
84
85    for (var i = 0; i < length; i++) {
86      promises.push(load({
87        prefix: options.files[i].prefix,
88        key: options.key,
89        suffix: options.files[i].suffix
90      }));
91    }
92
93    return $q.all(promises)
94      .then(function (data) {
95        var length = data.length,
96            mergedData = {};
97
98        for (var i = 0; i < length; i++) {
99          for (var key in data[i]) {
100            mergedData[key] = data[i][key];
101          }
102        }
103
104        return mergedData;
105      });
106  };
107}
108
109$translateStaticFilesLoader.displayName = '$translateStaticFilesLoader';
110return 'pascalprecht.translate';
111
112}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.