aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
commit291803c31f829fe0d32bb3207bc11def95a7408c (patch)
treec7d43107d79291b19d8c9eceefbe91c9f9a52acf /sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js
parent1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff)
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js151
1 files changed, 151 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js b/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js
new file mode 100644
index 00000000..8fc87bc2
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/src/rules/template.js
@@ -0,0 +1,151 @@
+"use strict";
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.applyTemplates = exports.template = exports.renameTemplateFiles = exports.pathTemplate = exports.applyPathTemplate = exports.contentTemplate = exports.applyContentTemplate = exports.InvalidPipeException = exports.UnknownPipeException = exports.OptionIsNotDefinedException = exports.TEMPLATE_FILENAME_RE = void 0;
+const core_1 = require("@angular-devkit/core");
+const util_1 = require("util");
+const base_1 = require("./base");
+const rename_1 = require("./rename");
+exports.TEMPLATE_FILENAME_RE = /\.template$/;
+class OptionIsNotDefinedException extends core_1.BaseException {
+ constructor(name) {
+ super(`Option "${name}" is not defined.`);
+ }
+}
+exports.OptionIsNotDefinedException = OptionIsNotDefinedException;
+class UnknownPipeException extends core_1.BaseException {
+ constructor(name) {
+ super(`Pipe "${name}" is not defined.`);
+ }
+}
+exports.UnknownPipeException = UnknownPipeException;
+class InvalidPipeException extends core_1.BaseException {
+ constructor(name) {
+ super(`Pipe "${name}" is invalid.`);
+ }
+}
+exports.InvalidPipeException = InvalidPipeException;
+const decoder = new util_1.TextDecoder('utf-8', { fatal: true });
+function applyContentTemplate(options) {
+ return (entry) => {
+ const { path, content } = entry;
+ try {
+ const decodedContent = decoder.decode(content);
+ return {
+ path,
+ content: Buffer.from((0, core_1.template)(decodedContent, {})(options)),
+ };
+ }
+ catch (e) {
+ if (e.code === 'ERR_ENCODING_INVALID_ENCODED_DATA') {
+ return entry;
+ }
+ throw e;
+ }
+ };
+}
+exports.applyContentTemplate = applyContentTemplate;
+function contentTemplate(options) {
+ return (0, base_1.forEach)(applyContentTemplate(options));
+}
+exports.contentTemplate = contentTemplate;
+function applyPathTemplate(data, options = {
+ interpolationStart: '__',
+ interpolationEnd: '__',
+ pipeSeparator: '@',
+}) {
+ const is = options.interpolationStart;
+ const ie = options.interpolationEnd;
+ const isL = is.length;
+ const ieL = ie.length;
+ return (entry) => {
+ let path = entry.path;
+ const content = entry.content;
+ const original = path;
+ let start = path.indexOf(is);
+ // + 1 to have at least a length 1 name. `____` is not valid.
+ let end = path.indexOf(ie, start + isL + 1);
+ while (start != -1 && end != -1) {
+ const match = path.substring(start + isL, end);
+ let replacement = data[match];
+ if (!options.pipeSeparator) {
+ if (typeof replacement == 'function') {
+ replacement = replacement.call(data, original);
+ }
+ if (replacement === undefined) {
+ throw new OptionIsNotDefinedException(match);
+ }
+ }
+ else {
+ const [name, ...pipes] = match.split(options.pipeSeparator);
+ replacement = data[name];
+ if (typeof replacement == 'function') {
+ replacement = replacement.call(data, original);
+ }
+ if (replacement === undefined) {
+ throw new OptionIsNotDefinedException(name);
+ }
+ replacement = pipes.reduce((acc, pipe) => {
+ if (!pipe) {
+ return acc;
+ }
+ if (!(pipe in data)) {
+ throw new UnknownPipeException(pipe);
+ }
+ if (typeof data[pipe] != 'function') {
+ throw new InvalidPipeException(pipe);
+ }
+ // Coerce to string.
+ return '' + data[pipe](acc);
+ }, '' + replacement);
+ }
+ path = path.substring(0, start) + replacement + path.substring(end + ieL);
+ start = path.indexOf(options.interpolationStart);
+ // See above.
+ end = path.indexOf(options.interpolationEnd, start + isL + 1);
+ }
+ return { path: (0, core_1.normalize)(path), content };
+ };
+}
+exports.applyPathTemplate = applyPathTemplate;
+function pathTemplate(options) {
+ return (0, base_1.forEach)(applyPathTemplate(options));
+}
+exports.pathTemplate = pathTemplate;
+/**
+ * Remove every `.template` suffix from file names.
+ */
+function renameTemplateFiles() {
+ return (0, rename_1.rename)((path) => !!path.match(exports.TEMPLATE_FILENAME_RE), (path) => path.replace(exports.TEMPLATE_FILENAME_RE, ''));
+}
+exports.renameTemplateFiles = renameTemplateFiles;
+function template(options) {
+ return (0, base_1.chain)([
+ contentTemplate(options),
+ // Force cast to PathTemplateData. We need the type for the actual pathTemplate() call,
+ // but in this case we cannot do anything as contentTemplate are more permissive.
+ // Since values are coerced to strings in PathTemplates it will be fine in the end.
+ pathTemplate(options),
+ ]);
+}
+exports.template = template;
+function applyTemplates(options) {
+ return (0, base_1.forEach)((0, base_1.when)((path) => path.endsWith('.template'), (0, base_1.composeFileOperators)([
+ applyContentTemplate(options),
+ // See above for this weird cast.
+ applyPathTemplate(options),
+ (entry) => {
+ return {
+ content: entry.content,
+ path: entry.path.replace(exports.TEMPLATE_FILENAME_RE, ''),
+ };
+ },
+ ])));
+}
+exports.applyTemplates = applyTemplates;