@angular/cdk
Version:
Angular Material Component Development Kit
42 lines • 4.34 kB
JavaScript
/**
* @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
*/
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define("@angular/cdk/schematics/ng-update/typescript/literal", ["require", "exports", "typescript"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const ts = require("typescript");
/** Finds all start indices of the given search string in the input string. */
function findAllSubstringIndices(input, search) {
const result = [];
let i = -1;
while ((i = input.indexOf(search, i + 1)) !== -1) {
result.push(i);
}
return result;
}
exports.findAllSubstringIndices = findAllSubstringIndices;
/**
* Checks whether the given node is either a string literal or a no-substitution template
* literal. Note that we cannot use `ts.isStringLiteralLike()` because if developers update
* an outdated project, their TypeScript version is not automatically being updated
* and therefore could throw because the function is not available yet.
* https://github.com/Microsoft/TypeScript/commit/8518343dc8762475a5e92c9f80b5c5725bd81796
*/
function isStringLiteralLike(node) {
return ts.isStringLiteral(node) || ts.isNoSubstitutionTemplateLiteral(node);
}
exports.isStringLiteralLike = isStringLiteralLike;
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl0ZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jZGsvc2NoZW1hdGljcy9uZy11cGRhdGUvdHlwZXNjcmlwdC9saXRlcmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7O0lBRUgsaUNBQWlDO0lBRWpDLDhFQUE4RTtJQUM5RSxTQUFnQix1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUNuRSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDWCxPQUFPLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBUEQsMERBT0M7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxJQUFhO1FBRS9DLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUhELGtEQUdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG4vKiogRmluZHMgYWxsIHN0YXJ0IGluZGljZXMgb2YgdGhlIGdpdmVuIHNlYXJjaCBzdHJpbmcgaW4gdGhlIGlucHV0IHN0cmluZy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQWxsU3Vic3RyaW5nSW5kaWNlcyhpbnB1dDogc3RyaW5nLCBzZWFyY2g6IHN0cmluZyk6IG51bWJlcltdIHtcbiAgY29uc3QgcmVzdWx0OiBudW1iZXJbXSA9IFtdO1xuICBsZXQgaSA9IC0xO1xuICB3aGlsZSAoKGkgPSBpbnB1dC5pbmRleE9mKHNlYXJjaCwgaSArIDEpKSAhPT0gLTEpIHtcbiAgICByZXN1bHQucHVzaChpKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBub2RlIGlzIGVpdGhlciBhIHN0cmluZyBsaXRlcmFsIG9yIGEgbm8tc3Vic3RpdHV0aW9uIHRlbXBsYXRlXG4gKiBsaXRlcmFsLiBOb3RlIHRoYXQgd2UgY2Fubm90IHVzZSBgdHMuaXNTdHJpbmdMaXRlcmFsTGlrZSgpYCBiZWNhdXNlIGlmIGRldmVsb3BlcnMgdXBkYXRlXG4gKiBhbiBvdXRkYXRlZCBwcm9qZWN0LCB0aGVpciBUeXBlU2NyaXB0IHZlcnNpb24gaXMgbm90IGF1dG9tYXRpY2FsbHkgYmVpbmcgdXBkYXRlZFxuICogYW5kIHRoZXJlZm9yZSBjb3VsZCB0aHJvdyBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlIHlldC5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9jb21taXQvODUxODM0M2RjODc2MjQ3NWE1ZTkyYzlmODBiNWM1NzI1YmQ4MTc5NlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdMaXRlcmFsTGlrZShub2RlOiB0cy5Ob2RlKTpcbiAgICBub2RlIGlzICh0cy5TdHJpbmdMaXRlcmFsIHwgdHMuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWwpIHtcbiAgcmV0dXJuIHRzLmlzU3RyaW5nTGl0ZXJhbChub2RlKSB8fCB0cy5pc05vU3Vic3RpdHV0aW9uVGVtcGxhdGVMaXRlcmFsKG5vZGUpO1xufVxuIl19