@depup/angular-devkit__core 21.2.2-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +25 -0
- package/changes.json +5 -0
- package/index.d.ts +8 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/node/cli-logger.d.ts +15 -0
- package/node/cli-logger.js +58 -0
- package/node/cli-logger.js.map +1 -0
- package/node/host.d.ts +43 -0
- package/node/host.js +211 -0
- package/node/host.js.map +1 -0
- package/node/index.d.ts +9 -0
- package/node/index.js +26 -0
- package/node/index.js.map +1 -0
- package/node/testing/index.d.ts +20 -0
- package/node/testing/index.js +90 -0
- package/node/testing/index.js.map +1 -0
- package/package.json +76 -0
- package/src/exception.d.ts +25 -0
- package/src/exception.js +48 -0
- package/src/exception.js.map +1 -0
- package/src/index.d.ts +15 -0
- package/src/index.js +57 -0
- package/src/index.js.map +1 -0
- package/src/json/index.d.ts +10 -0
- package/src/json/index.js +50 -0
- package/src/json/index.js.map +1 -0
- package/src/json/schema/index.d.ts +15 -0
- package/src/json/schema/index.js +55 -0
- package/src/json/schema/index.js.map +1 -0
- package/src/json/schema/interface.d.ts +84 -0
- package/src/json/schema/interface.js +10 -0
- package/src/json/schema/interface.js.map +1 -0
- package/src/json/schema/pointer.d.ts +11 -0
- package/src/json/schema/pointer.js +39 -0
- package/src/json/schema/pointer.js.map +1 -0
- package/src/json/schema/registry.d.ts +79 -0
- package/src/json/schema/registry.js +565 -0
- package/src/json/schema/registry.js.map +1 -0
- package/src/json/schema/schema.d.ts +22 -0
- package/src/json/schema/schema.js +52 -0
- package/src/json/schema/schema.js.map +1 -0
- package/src/json/schema/transforms.d.ts +12 -0
- package/src/json/schema/transforms.js +101 -0
- package/src/json/schema/transforms.js.map +1 -0
- package/src/json/schema/utility.d.ts +9 -0
- package/src/json/schema/utility.js +88 -0
- package/src/json/schema/utility.js.map +1 -0
- package/src/json/schema/visitor.d.ts +34 -0
- package/src/json/schema/visitor.js +147 -0
- package/src/json/schema/visitor.js.map +1 -0
- package/src/json/utils.d.ts +15 -0
- package/src/json/utils.js +18 -0
- package/src/json/utils.js.map +1 -0
- package/src/logger/indent.d.ts +11 -0
- package/src/logger/indent.js +41 -0
- package/src/logger/indent.js.map +1 -0
- package/src/logger/index.d.ts +12 -0
- package/src/logger/index.js +29 -0
- package/src/logger/index.js.map +1 -0
- package/src/logger/level.d.ts +28 -0
- package/src/logger/level.js +51 -0
- package/src/logger/level.js.map +1 -0
- package/src/logger/logger.d.ts +55 -0
- package/src/logger/logger.js +123 -0
- package/src/logger/logger.js.map +1 -0
- package/src/logger/null-logger.d.ts +12 -0
- package/src/logger/null-logger.js +31 -0
- package/src/logger/null-logger.js.map +1 -0
- package/src/logger/transform-logger.d.ts +12 -0
- package/src/logger/transform-logger.js +19 -0
- package/src/logger/transform-logger.js.map +1 -0
- package/src/utils/index.d.ts +15 -0
- package/src/utils/index.js +56 -0
- package/src/utils/index.js.map +1 -0
- package/src/utils/lang.d.ts +11 -0
- package/src/utils/lang.js +21 -0
- package/src/utils/lang.js.map +1 -0
- package/src/utils/literals.d.ts +15 -0
- package/src/utils/literals.js +59 -0
- package/src/utils/literals.js.map +1 -0
- package/src/utils/object.d.ts +8 -0
- package/src/utils/object.js +37 -0
- package/src/utils/object.js.map +1 -0
- package/src/utils/partially-ordered-set.d.ts +38 -0
- package/src/utils/partially-ordered-set.js +145 -0
- package/src/utils/partially-ordered-set.js.map +1 -0
- package/src/utils/priority-queue.d.ts +19 -0
- package/src/utils/priority-queue.js +50 -0
- package/src/utils/priority-queue.js.map +1 -0
- package/src/utils/strings.d.ts +112 -0
- package/src/utils/strings.js +179 -0
- package/src/utils/strings.js.map +1 -0
- package/src/utils/template.d.ts +89 -0
- package/src/utils/template.js +260 -0
- package/src/utils/template.js.map +1 -0
- package/src/virtual-fs/host/alias.d.ts +60 -0
- package/src/virtual-fs/host/alias.js +84 -0
- package/src/virtual-fs/host/alias.js.map +1 -0
- package/src/virtual-fs/host/buffer.d.ts +10 -0
- package/src/virtual-fs/host/buffer.js +22 -0
- package/src/virtual-fs/host/buffer.js.map +1 -0
- package/src/virtual-fs/host/create.d.ts +21 -0
- package/src/virtual-fs/host/create.js +55 -0
- package/src/virtual-fs/host/create.js.map +1 -0
- package/src/virtual-fs/host/empty.d.ts +19 -0
- package/src/virtual-fs/host/empty.js +38 -0
- package/src/virtual-fs/host/empty.js.map +1 -0
- package/src/virtual-fs/host/index.d.ts +21 -0
- package/src/virtual-fs/host/index.js +61 -0
- package/src/virtual-fs/host/index.js.map +1 -0
- package/src/virtual-fs/host/interface.d.ts +53 -0
- package/src/virtual-fs/host/interface.js +18 -0
- package/src/virtual-fs/host/interface.js.map +1 -0
- package/src/virtual-fs/host/memory.d.ts +49 -0
- package/src/virtual-fs/host/memory.js +332 -0
- package/src/virtual-fs/host/memory.js.map +1 -0
- package/src/virtual-fs/host/pattern.d.ts +17 -0
- package/src/virtual-fs/host/pattern.js +35 -0
- package/src/virtual-fs/host/pattern.js.map +1 -0
- package/src/virtual-fs/host/record.d.ts +92 -0
- package/src/virtual-fs/host/record.js +315 -0
- package/src/virtual-fs/host/record.js.map +1 -0
- package/src/virtual-fs/host/resolver.d.ts +30 -0
- package/src/virtual-fs/host/resolver.js +57 -0
- package/src/virtual-fs/host/resolver.js.map +1 -0
- package/src/virtual-fs/host/safe.d.ts +25 -0
- package/src/virtual-fs/host/safe.js +46 -0
- package/src/virtual-fs/host/safe.js.map +1 -0
- package/src/virtual-fs/host/scoped.d.ts +15 -0
- package/src/virtual-fs/host/scoped.js +24 -0
- package/src/virtual-fs/host/scoped.js.map +1 -0
- package/src/virtual-fs/host/sync.d.ts +34 -0
- package/src/virtual-fs/host/sync.js +93 -0
- package/src/virtual-fs/host/sync.js.map +1 -0
- package/src/virtual-fs/host/test.d.ts +48 -0
- package/src/virtual-fs/host/test.js +119 -0
- package/src/virtual-fs/host/test.js.map +1 -0
- package/src/virtual-fs/index.d.ts +10 -0
- package/src/virtual-fs/index.js +50 -0
- package/src/virtual-fs/index.js.map +1 -0
- package/src/virtual-fs/path.d.ts +111 -0
- package/src/virtual-fs/path.js +286 -0
- package/src/virtual-fs/path.js.map +1 -0
- package/src/workspace/core.d.ts +61 -0
- package/src/workspace/core.js +133 -0
- package/src/workspace/core.js.map +1 -0
- package/src/workspace/definitions.d.ts +63 -0
- package/src/workspace/definitions.js +169 -0
- package/src/workspace/definitions.js.map +1 -0
- package/src/workspace/host.d.ts +15 -0
- package/src/workspace/host.js +43 -0
- package/src/workspace/host.js.map +1 -0
- package/src/workspace/index.d.ts +10 -0
- package/src/workspace/index.js +32 -0
- package/src/workspace/index.js.map +1 -0
- package/src/workspace/json/metadata.d.ts +40 -0
- package/src/workspace/json/metadata.js +60 -0
- package/src/workspace/json/metadata.js.map +1 -0
- package/src/workspace/json/reader.d.ts +14 -0
- package/src/workspace/json/reader.js +231 -0
- package/src/workspace/json/reader.js.map +1 -0
- package/src/workspace/json/utilities.d.ts +14 -0
- package/src/workspace/json/utilities.js +113 -0
- package/src/workspace/json/utilities.js.map +1 -0
- package/src/workspace/json/writer.d.ts +12 -0
- package/src/workspace/json/writer.js +145 -0
- package/src/workspace/json/writer.js.map +1 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.PartiallyOrderedSet = exports.CircularDependencyFoundException = exports.DependencyNotFoundException = void 0;
|
|
11
|
+
const exception_1 = require("../exception");
|
|
12
|
+
class DependencyNotFoundException extends exception_1.BaseException {
|
|
13
|
+
constructor() {
|
|
14
|
+
super('One of the dependencies is not part of the set.');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.DependencyNotFoundException = DependencyNotFoundException;
|
|
18
|
+
class CircularDependencyFoundException extends exception_1.BaseException {
|
|
19
|
+
constructor() {
|
|
20
|
+
super('Circular dependencies found.');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.CircularDependencyFoundException = CircularDependencyFoundException;
|
|
24
|
+
class PartiallyOrderedSet {
|
|
25
|
+
_items = new Map();
|
|
26
|
+
_checkCircularDependencies(item, deps) {
|
|
27
|
+
if (deps.has(item)) {
|
|
28
|
+
throw new CircularDependencyFoundException();
|
|
29
|
+
}
|
|
30
|
+
deps.forEach((dep) => this._checkCircularDependencies(item, this._items.get(dep) || new Set()));
|
|
31
|
+
}
|
|
32
|
+
clear() {
|
|
33
|
+
this._items.clear();
|
|
34
|
+
}
|
|
35
|
+
has(item) {
|
|
36
|
+
return this._items.has(item);
|
|
37
|
+
}
|
|
38
|
+
get size() {
|
|
39
|
+
return this._items.size;
|
|
40
|
+
}
|
|
41
|
+
forEach(callbackfn, thisArg) {
|
|
42
|
+
for (const x of this) {
|
|
43
|
+
callbackfn.call(thisArg, x, x, this);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Returns an iterable of [v,v] pairs for every value `v` in the set.
|
|
48
|
+
*/
|
|
49
|
+
*entries() {
|
|
50
|
+
for (const item of this) {
|
|
51
|
+
yield [item, item];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Despite its name, returns an iterable of the values in the set,
|
|
56
|
+
*/
|
|
57
|
+
keys() {
|
|
58
|
+
return this.values();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Returns an iterable of values in the set.
|
|
62
|
+
*/
|
|
63
|
+
values() {
|
|
64
|
+
return this[Symbol.iterator]();
|
|
65
|
+
}
|
|
66
|
+
add(item, deps = new Set()) {
|
|
67
|
+
if (Array.isArray(deps)) {
|
|
68
|
+
deps = new Set(deps);
|
|
69
|
+
}
|
|
70
|
+
// Verify item is not already in the set.
|
|
71
|
+
if (this._items.has(item)) {
|
|
72
|
+
const itemDeps = this._items.get(item) || new Set();
|
|
73
|
+
// If the dependency list is equal, just return, otherwise remove and keep going.
|
|
74
|
+
let equal = true;
|
|
75
|
+
for (const dep of deps) {
|
|
76
|
+
if (!itemDeps.has(dep)) {
|
|
77
|
+
equal = false;
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (equal) {
|
|
82
|
+
for (const dep of itemDeps) {
|
|
83
|
+
if (!deps.has(dep)) {
|
|
84
|
+
equal = false;
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (equal) {
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this._items.delete(item);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Verify all dependencies are part of the Set.
|
|
97
|
+
for (const dep of deps) {
|
|
98
|
+
if (!this._items.has(dep)) {
|
|
99
|
+
throw new DependencyNotFoundException();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Verify there's no dependency cycle.
|
|
103
|
+
this._checkCircularDependencies(item, deps);
|
|
104
|
+
this._items.set(item, new Set(deps));
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
delete(item) {
|
|
108
|
+
if (!this._items.has(item)) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
// Remove it from all dependencies if force == true.
|
|
112
|
+
this._items.forEach((value) => value.delete(item));
|
|
113
|
+
return this._items.delete(item);
|
|
114
|
+
}
|
|
115
|
+
*[Symbol.iterator]() {
|
|
116
|
+
const copy = new Map(this._items);
|
|
117
|
+
for (const [key, value] of copy.entries()) {
|
|
118
|
+
copy.set(key, new Set(value));
|
|
119
|
+
}
|
|
120
|
+
while (copy.size > 0) {
|
|
121
|
+
const run = [];
|
|
122
|
+
// Take the first item without dependencies.
|
|
123
|
+
for (const [item, deps] of copy.entries()) {
|
|
124
|
+
if (deps.size == 0) {
|
|
125
|
+
run.push(item);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
for (const item of run) {
|
|
129
|
+
copy.forEach((s) => s.delete(item));
|
|
130
|
+
copy.delete(item);
|
|
131
|
+
yield item;
|
|
132
|
+
}
|
|
133
|
+
if (run.length == 0) {
|
|
134
|
+
// uh oh...
|
|
135
|
+
throw new CircularDependencyFoundException();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
get [Symbol.toStringTag]() {
|
|
141
|
+
return 'PartiallyOrderedSet';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.PartiallyOrderedSet = PartiallyOrderedSet;
|
|
145
|
+
//# sourceMappingURL=partially-ordered-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partially-ordered-set.js","sourceRoot":"","sources":["partially-ordered-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
/** Naive priority queue; not intended for large datasets */
|
|
9
|
+
export declare class PriorityQueue<T> {
|
|
10
|
+
private _comparator;
|
|
11
|
+
private _items;
|
|
12
|
+
constructor(_comparator: (x: T, y: T) => number);
|
|
13
|
+
clear(): void;
|
|
14
|
+
push(item: T): void;
|
|
15
|
+
pop(): T | undefined;
|
|
16
|
+
peek(): T | undefined;
|
|
17
|
+
get size(): number;
|
|
18
|
+
toArray(): Array<T>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.PriorityQueue = void 0;
|
|
11
|
+
/** Naive priority queue; not intended for large datasets */
|
|
12
|
+
class PriorityQueue {
|
|
13
|
+
_comparator;
|
|
14
|
+
_items = new Array();
|
|
15
|
+
constructor(_comparator) {
|
|
16
|
+
this._comparator = _comparator;
|
|
17
|
+
}
|
|
18
|
+
clear() {
|
|
19
|
+
this._items = new Array();
|
|
20
|
+
}
|
|
21
|
+
push(item) {
|
|
22
|
+
const index = this._items.findIndex((existing) => this._comparator(item, existing) <= 0);
|
|
23
|
+
if (index === -1) {
|
|
24
|
+
this._items.push(item);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this._items.splice(index, 0, item);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
pop() {
|
|
31
|
+
if (this._items.length === 0) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
return this._items.splice(0, 1)[0];
|
|
35
|
+
}
|
|
36
|
+
peek() {
|
|
37
|
+
if (this._items.length === 0) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return this._items[0];
|
|
41
|
+
}
|
|
42
|
+
get size() {
|
|
43
|
+
return this._items.length;
|
|
44
|
+
}
|
|
45
|
+
toArray() {
|
|
46
|
+
return this._items.slice();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.PriorityQueue = PriorityQueue;
|
|
50
|
+
//# sourceMappingURL=priority-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priority-queue.js","sourceRoot":"","sources":["priority-queue.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,4DAA4D;AAC5D,MAAa,aAAa;IAGJ;IAFZ,MAAM,GAAG,IAAI,KAAK,EAAK,CAAC;IAEhC,YAAoB,WAAmC;QAAnC,gBAAW,GAAX,WAAW,CAAwB;IAAG,CAAC;IAE3D,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAK,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAO;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,GAAG;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF;AA1CD,sCA0CC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Converts a camelized string into all lower case separated by underscores.
|
|
10
|
+
*
|
|
11
|
+
```javascript
|
|
12
|
+
decamelize('innerHTML'); // 'inner_html'
|
|
13
|
+
decamelize('action_name'); // 'action_name'
|
|
14
|
+
decamelize('css-class-name'); // 'css-class-name'
|
|
15
|
+
decamelize('my favorite items'); // 'my favorite items'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
@method decamelize
|
|
19
|
+
@param {String} str The string to decamelize.
|
|
20
|
+
@return {String} the decamelized string.
|
|
21
|
+
*/
|
|
22
|
+
export declare function decamelize(str: string): string;
|
|
23
|
+
/**
|
|
24
|
+
Replaces underscores, spaces, or camelCase with dashes.
|
|
25
|
+
|
|
26
|
+
```javascript
|
|
27
|
+
dasherize('innerHTML'); // 'inner-html'
|
|
28
|
+
dasherize('action_name'); // 'action-name'
|
|
29
|
+
dasherize('css-class-name'); // 'css-class-name'
|
|
30
|
+
dasherize('my favorite items'); // 'my-favorite-items'
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
@method dasherize
|
|
34
|
+
@param {String} str The string to dasherize.
|
|
35
|
+
@return {String} the dasherized string.
|
|
36
|
+
*/
|
|
37
|
+
export declare function dasherize(str: string): string;
|
|
38
|
+
/**
|
|
39
|
+
Returns the lowerCamelCase form of a string.
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
camelize('innerHTML'); // 'innerHTML'
|
|
43
|
+
camelize('action_name'); // 'actionName'
|
|
44
|
+
camelize('css-class-name'); // 'cssClassName'
|
|
45
|
+
camelize('my favorite items'); // 'myFavoriteItems'
|
|
46
|
+
camelize('My Favorite Items'); // 'myFavoriteItems'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
@method camelize
|
|
50
|
+
@param {String} str The string to camelize.
|
|
51
|
+
@return {String} the camelized string.
|
|
52
|
+
*/
|
|
53
|
+
export declare function camelize(str: string): string;
|
|
54
|
+
/**
|
|
55
|
+
Returns the UpperCamelCase form of a string.
|
|
56
|
+
|
|
57
|
+
@example
|
|
58
|
+
```javascript
|
|
59
|
+
'innerHTML'.classify(); // 'InnerHTML'
|
|
60
|
+
'action_name'.classify(); // 'ActionName'
|
|
61
|
+
'css-class-name'.classify(); // 'CssClassName'
|
|
62
|
+
'my favorite items'.classify(); // 'MyFavoriteItems'
|
|
63
|
+
'app.component'.classify(); // 'AppComponent'
|
|
64
|
+
```
|
|
65
|
+
@method classify
|
|
66
|
+
@param {String} str the string to classify
|
|
67
|
+
@return {String} the classified string
|
|
68
|
+
*/
|
|
69
|
+
export declare function classify(str: string): string;
|
|
70
|
+
/**
|
|
71
|
+
More general than decamelize. Returns the lower_case_and_underscored
|
|
72
|
+
form of a string.
|
|
73
|
+
|
|
74
|
+
```javascript
|
|
75
|
+
'innerHTML'.underscore(); // 'inner_html'
|
|
76
|
+
'action_name'.underscore(); // 'action_name'
|
|
77
|
+
'css-class-name'.underscore(); // 'css_class_name'
|
|
78
|
+
'my favorite items'.underscore(); // 'my_favorite_items'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
@method underscore
|
|
82
|
+
@param {String} str The string to underscore.
|
|
83
|
+
@return {String} the underscored string.
|
|
84
|
+
*/
|
|
85
|
+
export declare function underscore(str: string): string;
|
|
86
|
+
/**
|
|
87
|
+
Returns the Capitalized form of a string
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
'innerHTML'.capitalize() // 'InnerHTML'
|
|
91
|
+
'action_name'.capitalize() // 'Action_name'
|
|
92
|
+
'css-class-name'.capitalize() // 'Css-class-name'
|
|
93
|
+
'my favorite items'.capitalize() // 'My favorite items'
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
@method capitalize
|
|
97
|
+
@param {String} str The string to capitalize.
|
|
98
|
+
@return {String} The capitalized string.
|
|
99
|
+
*/
|
|
100
|
+
export declare function capitalize(str: string): string;
|
|
101
|
+
/**
|
|
102
|
+
* Calculate the levenshtein distance of two strings.
|
|
103
|
+
* See https://en.wikipedia.org/wiki/Levenshtein_distance.
|
|
104
|
+
* Based off https://gist.github.com/andrei-m/982927 (for using the faster dynamic programming
|
|
105
|
+
* version).
|
|
106
|
+
*
|
|
107
|
+
* @param a String a.
|
|
108
|
+
* @param b String b.
|
|
109
|
+
* @returns A number that represents the distance between the two strings. The greater the number
|
|
110
|
+
* the more distant the strings are from each others.
|
|
111
|
+
*/
|
|
112
|
+
export declare function levenshtein(a: string, b: string): number;
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Google LLC All Rights Reserved.
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.decamelize = decamelize;
|
|
11
|
+
exports.dasherize = dasherize;
|
|
12
|
+
exports.camelize = camelize;
|
|
13
|
+
exports.classify = classify;
|
|
14
|
+
exports.underscore = underscore;
|
|
15
|
+
exports.capitalize = capitalize;
|
|
16
|
+
exports.levenshtein = levenshtein;
|
|
17
|
+
const STRING_DASHERIZE_REGEXP = /[ _]/g;
|
|
18
|
+
const STRING_DECAMELIZE_REGEXP = /([a-z\d])([A-Z])/g;
|
|
19
|
+
const STRING_CAMELIZE_REGEXP = /(-|_|\.|\s)+(.)?/g;
|
|
20
|
+
const STRING_UNDERSCORE_REGEXP_1 = /([a-z\d])([A-Z]+)/g;
|
|
21
|
+
const STRING_UNDERSCORE_REGEXP_2 = /-|\s+/g;
|
|
22
|
+
/**
|
|
23
|
+
* Converts a camelized string into all lower case separated by underscores.
|
|
24
|
+
*
|
|
25
|
+
```javascript
|
|
26
|
+
decamelize('innerHTML'); // 'inner_html'
|
|
27
|
+
decamelize('action_name'); // 'action_name'
|
|
28
|
+
decamelize('css-class-name'); // 'css-class-name'
|
|
29
|
+
decamelize('my favorite items'); // 'my favorite items'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
@method decamelize
|
|
33
|
+
@param {String} str The string to decamelize.
|
|
34
|
+
@return {String} the decamelized string.
|
|
35
|
+
*/
|
|
36
|
+
function decamelize(str) {
|
|
37
|
+
return str.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase();
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
Replaces underscores, spaces, or camelCase with dashes.
|
|
41
|
+
|
|
42
|
+
```javascript
|
|
43
|
+
dasherize('innerHTML'); // 'inner-html'
|
|
44
|
+
dasherize('action_name'); // 'action-name'
|
|
45
|
+
dasherize('css-class-name'); // 'css-class-name'
|
|
46
|
+
dasherize('my favorite items'); // 'my-favorite-items'
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
@method dasherize
|
|
50
|
+
@param {String} str The string to dasherize.
|
|
51
|
+
@return {String} the dasherized string.
|
|
52
|
+
*/
|
|
53
|
+
function dasherize(str) {
|
|
54
|
+
return decamelize(str).replace(STRING_DASHERIZE_REGEXP, '-');
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
Returns the lowerCamelCase form of a string.
|
|
58
|
+
|
|
59
|
+
```javascript
|
|
60
|
+
camelize('innerHTML'); // 'innerHTML'
|
|
61
|
+
camelize('action_name'); // 'actionName'
|
|
62
|
+
camelize('css-class-name'); // 'cssClassName'
|
|
63
|
+
camelize('my favorite items'); // 'myFavoriteItems'
|
|
64
|
+
camelize('My Favorite Items'); // 'myFavoriteItems'
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
@method camelize
|
|
68
|
+
@param {String} str The string to camelize.
|
|
69
|
+
@return {String} the camelized string.
|
|
70
|
+
*/
|
|
71
|
+
function camelize(str) {
|
|
72
|
+
return str
|
|
73
|
+
.replace(STRING_CAMELIZE_REGEXP, (_match, _separator, chr) => {
|
|
74
|
+
return chr ? chr.toUpperCase() : '';
|
|
75
|
+
})
|
|
76
|
+
.replace(/^([A-Z])/, (match) => match.toLowerCase());
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
Returns the UpperCamelCase form of a string.
|
|
80
|
+
|
|
81
|
+
@example
|
|
82
|
+
```javascript
|
|
83
|
+
'innerHTML'.classify(); // 'InnerHTML'
|
|
84
|
+
'action_name'.classify(); // 'ActionName'
|
|
85
|
+
'css-class-name'.classify(); // 'CssClassName'
|
|
86
|
+
'my favorite items'.classify(); // 'MyFavoriteItems'
|
|
87
|
+
'app.component'.classify(); // 'AppComponent'
|
|
88
|
+
```
|
|
89
|
+
@method classify
|
|
90
|
+
@param {String} str the string to classify
|
|
91
|
+
@return {String} the classified string
|
|
92
|
+
*/
|
|
93
|
+
function classify(str) {
|
|
94
|
+
return str
|
|
95
|
+
.split('.')
|
|
96
|
+
.map((part) => capitalize(camelize(part)))
|
|
97
|
+
.join('');
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
More general than decamelize. Returns the lower_case_and_underscored
|
|
101
|
+
form of a string.
|
|
102
|
+
|
|
103
|
+
```javascript
|
|
104
|
+
'innerHTML'.underscore(); // 'inner_html'
|
|
105
|
+
'action_name'.underscore(); // 'action_name'
|
|
106
|
+
'css-class-name'.underscore(); // 'css_class_name'
|
|
107
|
+
'my favorite items'.underscore(); // 'my_favorite_items'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
@method underscore
|
|
111
|
+
@param {String} str The string to underscore.
|
|
112
|
+
@return {String} the underscored string.
|
|
113
|
+
*/
|
|
114
|
+
function underscore(str) {
|
|
115
|
+
return str
|
|
116
|
+
.replace(STRING_UNDERSCORE_REGEXP_1, '$1_$2')
|
|
117
|
+
.replace(STRING_UNDERSCORE_REGEXP_2, '_')
|
|
118
|
+
.toLowerCase();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
Returns the Capitalized form of a string
|
|
122
|
+
|
|
123
|
+
```javascript
|
|
124
|
+
'innerHTML'.capitalize() // 'InnerHTML'
|
|
125
|
+
'action_name'.capitalize() // 'Action_name'
|
|
126
|
+
'css-class-name'.capitalize() // 'Css-class-name'
|
|
127
|
+
'my favorite items'.capitalize() // 'My favorite items'
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
@method capitalize
|
|
131
|
+
@param {String} str The string to capitalize.
|
|
132
|
+
@return {String} The capitalized string.
|
|
133
|
+
*/
|
|
134
|
+
function capitalize(str) {
|
|
135
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Calculate the levenshtein distance of two strings.
|
|
139
|
+
* See https://en.wikipedia.org/wiki/Levenshtein_distance.
|
|
140
|
+
* Based off https://gist.github.com/andrei-m/982927 (for using the faster dynamic programming
|
|
141
|
+
* version).
|
|
142
|
+
*
|
|
143
|
+
* @param a String a.
|
|
144
|
+
* @param b String b.
|
|
145
|
+
* @returns A number that represents the distance between the two strings. The greater the number
|
|
146
|
+
* the more distant the strings are from each others.
|
|
147
|
+
*/
|
|
148
|
+
function levenshtein(a, b) {
|
|
149
|
+
if (a.length == 0) {
|
|
150
|
+
return b.length;
|
|
151
|
+
}
|
|
152
|
+
if (b.length == 0) {
|
|
153
|
+
return a.length;
|
|
154
|
+
}
|
|
155
|
+
const matrix = [];
|
|
156
|
+
// increment along the first column of each row
|
|
157
|
+
for (let i = 0; i <= b.length; i++) {
|
|
158
|
+
matrix[i] = [i];
|
|
159
|
+
}
|
|
160
|
+
// increment each column in the first row
|
|
161
|
+
for (let j = 0; j <= a.length; j++) {
|
|
162
|
+
matrix[0][j] = j;
|
|
163
|
+
}
|
|
164
|
+
// Fill in the rest of the matrix
|
|
165
|
+
for (let i = 1; i <= b.length; i++) {
|
|
166
|
+
for (let j = 1; j <= a.length; j++) {
|
|
167
|
+
if (b.charAt(i - 1) == a.charAt(j - 1)) {
|
|
168
|
+
matrix[i][j] = matrix[i - 1][j - 1];
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
|
|
172
|
+
matrix[i][j - 1] + 1, // insertion
|
|
173
|
+
matrix[i - 1][j] + 1);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return matrix[b.length][a.length];
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["strings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google LLC All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
|
+
*/
|
|
8
|
+
import { Position } from 'source-map';
|
|
9
|
+
export interface TemplateOptions {
|
|
10
|
+
sourceURL?: string;
|
|
11
|
+
sourceMap?: boolean;
|
|
12
|
+
module?: boolean | {
|
|
13
|
+
exports: {};
|
|
14
|
+
};
|
|
15
|
+
sourceRoot?: string;
|
|
16
|
+
fileName?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A simple AST for templates. There's only one level of AST nodes, but it's still useful
|
|
20
|
+
* to have the information you're looking for.
|
|
21
|
+
*/
|
|
22
|
+
export interface TemplateAst {
|
|
23
|
+
fileName: string;
|
|
24
|
+
content: string;
|
|
25
|
+
children: TemplateAstNode[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The base, which contains positions.
|
|
29
|
+
*/
|
|
30
|
+
export interface TemplateAstBase {
|
|
31
|
+
start: Position;
|
|
32
|
+
end: Position;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A static content node.
|
|
36
|
+
*/
|
|
37
|
+
export interface TemplateAstContent extends TemplateAstBase {
|
|
38
|
+
kind: 'content';
|
|
39
|
+
content: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A comment node.
|
|
43
|
+
*/
|
|
44
|
+
export interface TemplateAstComment extends TemplateAstBase {
|
|
45
|
+
kind: 'comment';
|
|
46
|
+
text: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* An evaluate node, which is the code between `<% ... %>`.
|
|
50
|
+
*/
|
|
51
|
+
export interface TemplateAstEvaluate extends TemplateAstBase {
|
|
52
|
+
kind: 'evaluate';
|
|
53
|
+
expression: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* An escape node, which is the code between `<%- ... %>`.
|
|
57
|
+
*/
|
|
58
|
+
export interface TemplateAstEscape extends TemplateAstBase {
|
|
59
|
+
kind: 'escape';
|
|
60
|
+
expression: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* An interpolation node, which is the code between `<%= ... %>`.
|
|
64
|
+
*/
|
|
65
|
+
export interface TemplateAstInterpolate extends TemplateAstBase {
|
|
66
|
+
kind: 'interpolate';
|
|
67
|
+
expression: string;
|
|
68
|
+
}
|
|
69
|
+
export type TemplateAstNode = TemplateAstContent | TemplateAstEvaluate | TemplateAstComment | TemplateAstEscape | TemplateAstInterpolate;
|
|
70
|
+
/**
|
|
71
|
+
* Given a source text (and a fileName), returns a TemplateAst.
|
|
72
|
+
*/
|
|
73
|
+
export declare function templateParser(sourceText: string, fileName: string): TemplateAst;
|
|
74
|
+
/**
|
|
75
|
+
* An equivalent of EJS templates, which is based on John Resig's `tmpl` implementation
|
|
76
|
+
* (http://ejohn.org/blog/javascript-micro-templating/) and Laura Doktorova's doT.js
|
|
77
|
+
* (https://github.com/olado/doT).
|
|
78
|
+
*
|
|
79
|
+
* This version differs from lodash by removing support from ES6 quasi-literals, and making the
|
|
80
|
+
* code slightly simpler to follow. It also does not depend on any third party, which is nice.
|
|
81
|
+
*
|
|
82
|
+
* Finally, it supports SourceMap, if you ever need to debug, which is super nice.
|
|
83
|
+
*
|
|
84
|
+
* @param content The template content.
|
|
85
|
+
* @param options Optional Options. See TemplateOptions for more description.
|
|
86
|
+
* @return {(input: T) => string} A function that accept an input object and returns the content
|
|
87
|
+
* of the template with the input applied.
|
|
88
|
+
*/
|
|
89
|
+
export declare function template<T>(content: string, options?: TemplateOptions): (input: T) => string;
|