aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.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/tools/file-system-engine-host-base.js
parent1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff)
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js261
1 files changed, 261 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js b/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js
new file mode 100644
index 00000000..84ab178a
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/@angular-devkit/schematics/tools/file-system-engine-host-base.js
@@ -0,0 +1,261 @@
+"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.FileSystemEngineHostBase = exports.SchematicNameCollisionException = exports.SchematicMissingDescriptionException = exports.SchematicMissingFieldsException = exports.CollectionMissingFieldsException = exports.CollectionMissingSchematicsMapException = exports.FactoryCannotBeResolvedException = exports.SchematicMissingFactoryException = exports.InvalidCollectionJsonException = exports.CollectionCannotBeResolvedException = void 0;
+const core_1 = require("@angular-devkit/core");
+const node_1 = require("@angular-devkit/core/node");
+const fs_1 = require("fs");
+const path_1 = require("path");
+const rxjs_1 = require("rxjs");
+const src_1 = require("../src");
+const file_system_utility_1 = require("./file-system-utility");
+class CollectionCannotBeResolvedException extends core_1.BaseException {
+ constructor(name) {
+ super(`Collection ${JSON.stringify(name)} cannot be resolved.`);
+ }
+}
+exports.CollectionCannotBeResolvedException = CollectionCannotBeResolvedException;
+class InvalidCollectionJsonException extends core_1.BaseException {
+ constructor(_name, path, jsonException) {
+ let msg = `Collection JSON at path ${JSON.stringify(path)} is invalid.`;
+ if (jsonException) {
+ msg = `${msg} ${jsonException.message}`;
+ }
+ super(msg);
+ }
+}
+exports.InvalidCollectionJsonException = InvalidCollectionJsonException;
+class SchematicMissingFactoryException extends core_1.BaseException {
+ constructor(name) {
+ super(`Schematic ${JSON.stringify(name)} is missing a factory.`);
+ }
+}
+exports.SchematicMissingFactoryException = SchematicMissingFactoryException;
+class FactoryCannotBeResolvedException extends core_1.BaseException {
+ constructor(name) {
+ super(`Schematic ${JSON.stringify(name)} cannot resolve the factory.`);
+ }
+}
+exports.FactoryCannotBeResolvedException = FactoryCannotBeResolvedException;
+class CollectionMissingSchematicsMapException extends core_1.BaseException {
+ constructor(name) {
+ super(`Collection "${name}" does not have a schematics map.`);
+ }
+}
+exports.CollectionMissingSchematicsMapException = CollectionMissingSchematicsMapException;
+class CollectionMissingFieldsException extends core_1.BaseException {
+ constructor(name) {
+ super(`Collection "${name}" is missing fields.`);
+ }
+}
+exports.CollectionMissingFieldsException = CollectionMissingFieldsException;
+class SchematicMissingFieldsException extends core_1.BaseException {
+ constructor(name) {
+ super(`Schematic "${name}" is missing fields.`);
+ }
+}
+exports.SchematicMissingFieldsException = SchematicMissingFieldsException;
+class SchematicMissingDescriptionException extends core_1.BaseException {
+ constructor(name) {
+ super(`Schematics "${name}" does not have a description.`);
+ }
+}
+exports.SchematicMissingDescriptionException = SchematicMissingDescriptionException;
+class SchematicNameCollisionException extends core_1.BaseException {
+ constructor(name) {
+ super(`Schematics/alias ${JSON.stringify(name)} collides with another alias or schematic` +
+ ' name.');
+ }
+}
+exports.SchematicNameCollisionException = SchematicNameCollisionException;
+/**
+ * A EngineHost base class that uses the file system to resolve collections. This is the base of
+ * all other EngineHost provided by the tooling part of the Schematics library.
+ */
+class FileSystemEngineHostBase {
+ constructor() {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ this._transforms = [];
+ this._contextTransforms = [];
+ this._taskFactories = new Map();
+ }
+ listSchematicNames(collection) {
+ const schematics = [];
+ for (const key of Object.keys(collection.schematics)) {
+ const schematic = collection.schematics[key];
+ if (schematic.hidden || schematic.private) {
+ continue;
+ }
+ // If extends is present without a factory it is an alias, do not return it
+ // unless it is from another collection.
+ if (!schematic.extends || schematic.factory) {
+ schematics.push(key);
+ }
+ else if (schematic.extends && schematic.extends.indexOf(':') !== -1) {
+ schematics.push(key);
+ }
+ }
+ return schematics;
+ }
+ registerOptionsTransform(t) {
+ this._transforms.push(t);
+ }
+ registerContextTransform(t) {
+ this._contextTransforms.push(t);
+ }
+ /**
+ *
+ * @param name
+ * @return {{path: string}}
+ */
+ createCollectionDescription(name, requester) {
+ const path = this._resolveCollectionPath(name, requester === null || requester === void 0 ? void 0 : requester.path);
+ const jsonValue = (0, file_system_utility_1.readJsonFile)(path);
+ if (!jsonValue || typeof jsonValue != 'object' || Array.isArray(jsonValue)) {
+ throw new InvalidCollectionJsonException(name, path);
+ }
+ // normalize extends property to an array
+ if (typeof jsonValue['extends'] === 'string') {
+ jsonValue['extends'] = [jsonValue['extends']];
+ }
+ const description = this._transformCollectionDescription(name, {
+ ...jsonValue,
+ path,
+ });
+ if (!description || !description.name) {
+ throw new InvalidCollectionJsonException(name, path);
+ }
+ // Validate aliases.
+ const allNames = Object.keys(description.schematics);
+ for (const schematicName of Object.keys(description.schematics)) {
+ const aliases = description.schematics[schematicName].aliases || [];
+ for (const alias of aliases) {
+ if (allNames.indexOf(alias) != -1) {
+ throw new SchematicNameCollisionException(alias);
+ }
+ }
+ allNames.push(...aliases);
+ }
+ return description;
+ }
+ createSchematicDescription(name, collection) {
+ // Resolve aliases first.
+ for (const schematicName of Object.keys(collection.schematics)) {
+ const schematicDescription = collection.schematics[schematicName];
+ if (schematicDescription.aliases && schematicDescription.aliases.indexOf(name) != -1) {
+ name = schematicName;
+ break;
+ }
+ }
+ if (!(name in collection.schematics)) {
+ return null;
+ }
+ const collectionPath = (0, path_1.dirname)(collection.path);
+ const partialDesc = collection.schematics[name];
+ if (!partialDesc) {
+ return null;
+ }
+ if (partialDesc.extends) {
+ const index = partialDesc.extends.indexOf(':');
+ const collectionName = index !== -1 ? partialDesc.extends.substr(0, index) : null;
+ const schematicName = index === -1 ? partialDesc.extends : partialDesc.extends.substr(index + 1);
+ if (collectionName !== null) {
+ const extendCollection = this.createCollectionDescription(collectionName);
+ return this.createSchematicDescription(schematicName, extendCollection);
+ }
+ else {
+ return this.createSchematicDescription(schematicName, collection);
+ }
+ }
+ // Use any on this ref as we don't have the OptionT here, but we don't need it (we only need
+ // the path).
+ if (!partialDesc.factory) {
+ throw new SchematicMissingFactoryException(name);
+ }
+ const resolvedRef = this._resolveReferenceString(partialDesc.factory, collectionPath);
+ if (!resolvedRef) {
+ throw new FactoryCannotBeResolvedException(name);
+ }
+ let schema = partialDesc.schema;
+ let schemaJson = undefined;
+ if (schema) {
+ if (!(0, path_1.isAbsolute)(schema)) {
+ schema = (0, path_1.join)(collectionPath, schema);
+ }
+ schemaJson = (0, file_system_utility_1.readJsonFile)(schema);
+ }
+ // The schematic path is used to resolve URLs.
+ // We should be able to just do `dirname(resolvedRef.path)` but for compatibility with
+ // Bazel under Windows this directory needs to be resolved from the collection instead.
+ // This is needed because on Bazel under Windows the data files (such as the collection or
+ // url files) are not in the same place as the compiled JS.
+ const maybePath = (0, path_1.join)(collectionPath, partialDesc.factory);
+ const path = (0, fs_1.existsSync)(maybePath) && (0, fs_1.statSync)(maybePath).isDirectory() ? maybePath : (0, path_1.dirname)(maybePath);
+ return this._transformSchematicDescription(name, collection, {
+ ...partialDesc,
+ schema,
+ schemaJson,
+ name,
+ path,
+ factoryFn: resolvedRef.ref,
+ collection,
+ });
+ }
+ createSourceFromUrl(url) {
+ switch (url.protocol) {
+ case null:
+ case 'file:':
+ return (context) => {
+ // Check if context has necessary FileSystemSchematicContext path property
+ const fileDescription = context.schematic.description;
+ if (fileDescription.path === undefined) {
+ throw new Error('Unsupported schematic context. Expected a FileSystemSchematicContext.');
+ }
+ // Resolve all file:///a/b/c/d from the schematic's own path, and not the current
+ // path.
+ const root = (0, core_1.normalize)((0, path_1.resolve)(fileDescription.path, url.path || ''));
+ return new src_1.HostCreateTree(new core_1.virtualFs.ScopedHost(new node_1.NodeJsSyncHost(), root));
+ };
+ }
+ return null;
+ }
+ transformOptions(schematic, options, context) {
+ const transform = async () => {
+ let transformedOptions = options;
+ for (const transformer of this._transforms) {
+ const transformerResult = transformer(schematic, transformedOptions, context);
+ transformedOptions = await ((0, rxjs_1.isObservable)(transformerResult)
+ ? transformerResult.toPromise()
+ : transformerResult);
+ }
+ return transformedOptions;
+ };
+ return (0, rxjs_1.from)(transform());
+ }
+ transformContext(context) {
+ return this._contextTransforms.reduce((acc, curr) => curr(acc), context);
+ }
+ getSchematicRuleFactory(schematic, _collection) {
+ return schematic.factoryFn;
+ }
+ registerTaskExecutor(factory, options) {
+ this._taskFactories.set(factory.name, () => (0, rxjs_1.from)(factory.create(options)));
+ }
+ createTaskExecutor(name) {
+ const factory = this._taskFactories.get(name);
+ if (factory) {
+ return factory();
+ }
+ return (0, rxjs_1.throwError)(new src_1.UnregisteredTaskException(name));
+ }
+ hasTaskExecutor(name) {
+ return this._taskFactories.has(name);
+ }
+}
+exports.FileSystemEngineHostBase = FileSystemEngineHostBase;