@ember-data/request-utils 5.4.0-beta.1 → 5.4.0-beta.11
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/README.md +10 -0
- package/addon-main.cjs +5 -0
- package/dist/deprecation-support.js +187 -0
- package/dist/deprecation-support.js.map +1 -0
- package/dist/index.js +772 -0
- package/dist/index.js.map +1 -0
- package/dist/inflect-8aYUyMN7.js +311 -0
- package/dist/inflect-8aYUyMN7.js.map +1 -0
- package/dist/string.js +1 -0
- package/dist/string.js.map +1 -0
- package/package.json +58 -29
- package/unstable-preview-types/-private/string/inflect.d.ts +14 -0
- package/unstable-preview-types/-private/string/inflect.d.ts.map +1 -0
- package/unstable-preview-types/-private/string/inflections.d.ts +12 -0
- package/unstable-preview-types/-private/string/inflections.d.ts.map +1 -0
- package/unstable-preview-types/-private/string/transform.d.ts +81 -0
- package/unstable-preview-types/-private/string/transform.d.ts.map +1 -0
- package/unstable-preview-types/deprecation-support.d.ts +4 -0
- package/unstable-preview-types/deprecation-support.d.ts.map +1 -0
- package/unstable-preview-types/index.d.ts +490 -0
- package/unstable-preview-types/index.d.ts.map +1 -0
- package/unstable-preview-types/string.d.ts +5 -0
- package/unstable-preview-types/string.d.ts.map +1 -0
- package/addon/index.js +0 -424
- package/addon/index.js.map +0 -1
- package/addon-main.js +0 -19
package/README.md
CHANGED
|
@@ -28,6 +28,16 @@ Install using your javascript package manager of choice. For instance with [pnpm
|
|
|
28
28
|
```no-highlight
|
|
29
29
|
pnpm add @ember-data/request-utils
|
|
30
30
|
```
|
|
31
|
+
|
|
32
|
+
**Tagged Releases**
|
|
33
|
+
|
|
34
|
+
- 
|
|
35
|
+
- 
|
|
36
|
+
- 
|
|
37
|
+
- 
|
|
38
|
+
- 
|
|
39
|
+
|
|
40
|
+
|
|
31
41
|
## Utils
|
|
32
42
|
|
|
33
43
|
- [buildBaseUrl]()
|
package/addon-main.cjs
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { deprecate } from '@ember/debug';
|
|
2
|
+
import { macroCondition, getGlobalConfig, dependencySatisfies, importSync } from '@embroider/macros';
|
|
3
|
+
import { m as defaultRules, b as plural, a as singular, i as irregular, u as uncountable } from "./inflect-8aYUyMN7.js";
|
|
4
|
+
if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFLECTOR)) {
|
|
5
|
+
if (macroCondition(dependencySatisfies('ember-inflector', '*'))) {
|
|
6
|
+
const Inflector = importSync('ember-inflector').default;
|
|
7
|
+
const {
|
|
8
|
+
inflector
|
|
9
|
+
} = Inflector;
|
|
10
|
+
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
12
|
+
const originalPlural = inflector.plural;
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
14
|
+
const originalSingular = inflector.singular;
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
16
|
+
const originalIrregular = inflector.irregular;
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
18
|
+
const originalUncountable = inflector.uncountable;
|
|
19
|
+
|
|
20
|
+
// copy over any already registered rules
|
|
21
|
+
|
|
22
|
+
// ember-inflector mutates the default rules arrays
|
|
23
|
+
// with user supplied rules, so we keep track of what
|
|
24
|
+
// is default via our own list.
|
|
25
|
+
const defaultPluralKeys = new Set();
|
|
26
|
+
const defaultSingularKeys = new Set();
|
|
27
|
+
defaultRules.plurals.forEach(([regex]) => {
|
|
28
|
+
defaultPluralKeys.add(regex.toString());
|
|
29
|
+
});
|
|
30
|
+
defaultRules.singular.forEach(([regex]) => {
|
|
31
|
+
defaultSingularKeys.add(regex.toString());
|
|
32
|
+
});
|
|
33
|
+
const {
|
|
34
|
+
defaultRules: defaultRules$1
|
|
35
|
+
} = Inflector;
|
|
36
|
+
const {
|
|
37
|
+
rules
|
|
38
|
+
} = inflector;
|
|
39
|
+
const irregularMap = new Map();
|
|
40
|
+
const toIgnore = new Set();
|
|
41
|
+
const uncountableSet = new Set(defaultRules$1.uncountable);
|
|
42
|
+
defaultRules$1.irregularPairs.forEach(([single, plur]) => {
|
|
43
|
+
irregularMap.set(single.toLowerCase(), plur);
|
|
44
|
+
toIgnore.add(plur.toLowerCase());
|
|
45
|
+
});
|
|
46
|
+
const irregularLookups = new Map();
|
|
47
|
+
Object.keys(rules.irregular).forEach(single => {
|
|
48
|
+
const plur = rules.irregular[single];
|
|
49
|
+
irregularLookups.set(single, plur);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// load plurals
|
|
53
|
+
rules.plurals.forEach(([regex, replacement]) => {
|
|
54
|
+
if (defaultPluralKeys.has(regex.toString())) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
plural(regex, replacement);
|
|
58
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for pluralization.\nPlease \`import { plural } from '@ember-data/request-utils/string';\` instead to register a custom pluralization rule for use with EmberData.`, false, {
|
|
59
|
+
id: 'warp-drive.ember-inflector',
|
|
60
|
+
until: '6.0.0',
|
|
61
|
+
for: 'warp-drive',
|
|
62
|
+
since: {
|
|
63
|
+
enabled: '5.3.4',
|
|
64
|
+
available: '5.3.4'
|
|
65
|
+
},
|
|
66
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// load singulars
|
|
71
|
+
rules.singular.forEach(([regex, replacement]) => {
|
|
72
|
+
if (defaultSingularKeys.has(regex.toString())) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
singular(regex, replacement);
|
|
76
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for singularization.\nPlease \`import { singular } from '@ember-data/request-utils/string';\` instead to register a custom singularization rule for use with EmberData.`, false, {
|
|
77
|
+
id: 'warp-drive.ember-inflector',
|
|
78
|
+
until: '6.0.0',
|
|
79
|
+
for: 'warp-drive',
|
|
80
|
+
since: {
|
|
81
|
+
enabled: '5.3.4',
|
|
82
|
+
available: '5.3.4'
|
|
83
|
+
},
|
|
84
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
// load irregulars
|
|
89
|
+
Object.keys(rules.irregular).forEach(single => {
|
|
90
|
+
const plur = rules.irregular[single];
|
|
91
|
+
const defaultPlur = irregularMap.get(single);
|
|
92
|
+
if (defaultPlur && defaultPlur === plur) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (toIgnore.has(single)) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const actualSingle = irregularLookups.get(plur.toLowerCase()) || single;
|
|
99
|
+
toIgnore.add(plur.toLowerCase());
|
|
100
|
+
irregular(actualSingle, plur);
|
|
101
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\nPlease \`import { irregular } from '@ember-data/request-utils/string';\` instead to register a custom irregular rule for use with EmberData for '${actualSingle}' <=> '${plur}'.`, false, {
|
|
102
|
+
id: 'warp-drive.ember-inflector',
|
|
103
|
+
until: '6.0.0',
|
|
104
|
+
for: 'warp-drive',
|
|
105
|
+
since: {
|
|
106
|
+
enabled: '5.3.4',
|
|
107
|
+
available: '5.3.4'
|
|
108
|
+
},
|
|
109
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// load uncountables
|
|
114
|
+
Object.keys(rules.uncountable).forEach(word => {
|
|
115
|
+
if (uncountableSet.has(word) || rules.uncountable[word] !== true) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
uncountable(word);
|
|
119
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\nPlease \`import { uncountable } from '@ember-data/request-utils/string';\` instead to register a custom uncountable rule for '${word}' for use with EmberData.`, false, {
|
|
120
|
+
id: 'warp-drive.ember-inflector',
|
|
121
|
+
until: '6.0.0',
|
|
122
|
+
for: 'warp-drive',
|
|
123
|
+
since: {
|
|
124
|
+
enabled: '5.3.4',
|
|
125
|
+
available: '5.3.4'
|
|
126
|
+
},
|
|
127
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
inflector.plural = function (...args) {
|
|
131
|
+
plural(...args);
|
|
132
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for pluralization.\nPlease \`import { plural } from '@ember-data/request-utils/string';\` instead to register a custom pluralization rule for use with EmberData.`, false, {
|
|
133
|
+
id: 'warp-drive.ember-inflector',
|
|
134
|
+
until: '6.0.0',
|
|
135
|
+
for: 'warp-drive',
|
|
136
|
+
since: {
|
|
137
|
+
enabled: '5.3.4',
|
|
138
|
+
available: '5.3.4'
|
|
139
|
+
},
|
|
140
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
141
|
+
});
|
|
142
|
+
return originalPlural.apply(inflector, args);
|
|
143
|
+
};
|
|
144
|
+
inflector.singular = function (...args) {
|
|
145
|
+
singular(...args);
|
|
146
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for singularization.\nPlease \`import { singular } from '@ember-data/request-utils/string';\` instead to register a custom singularization rule for use with EmberData.`, false, {
|
|
147
|
+
id: 'warp-drive.ember-inflector',
|
|
148
|
+
until: '6.0.0',
|
|
149
|
+
for: 'warp-drive',
|
|
150
|
+
since: {
|
|
151
|
+
enabled: '5.3.4',
|
|
152
|
+
available: '5.3.4'
|
|
153
|
+
},
|
|
154
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
155
|
+
});
|
|
156
|
+
return originalSingular.apply(inflector, args);
|
|
157
|
+
};
|
|
158
|
+
inflector.irregular = function (...args) {
|
|
159
|
+
irregular(...args);
|
|
160
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\nPlease \`import { irregular } from '@ember-data/request-utils/string';\` instead to register a custom irregular rule for use with EmberData.`, false, {
|
|
161
|
+
id: 'warp-drive.ember-inflector',
|
|
162
|
+
until: '6.0.0',
|
|
163
|
+
for: 'warp-drive',
|
|
164
|
+
since: {
|
|
165
|
+
enabled: '5.3.4',
|
|
166
|
+
available: '5.3.4'
|
|
167
|
+
},
|
|
168
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
169
|
+
});
|
|
170
|
+
return originalIrregular.apply(inflector, args);
|
|
171
|
+
};
|
|
172
|
+
inflector.uncountable = function (...args) {
|
|
173
|
+
uncountable(...args);
|
|
174
|
+
deprecate(`WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\nPlease \`import { uncountable } from '@ember-data/request-utils/string';\` instead to register a custom uncountable rule for use with EmberData.`, false, {
|
|
175
|
+
id: 'warp-drive.ember-inflector',
|
|
176
|
+
until: '6.0.0',
|
|
177
|
+
for: 'warp-drive',
|
|
178
|
+
since: {
|
|
179
|
+
enabled: '5.3.4',
|
|
180
|
+
available: '5.3.4'
|
|
181
|
+
},
|
|
182
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
183
|
+
});
|
|
184
|
+
return originalUncountable.apply(inflector, args);
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecation-support.js","sources":["../src/deprecation-support.ts"],"sourcesContent":["import { deprecate } from '@ember/debug';\n\nimport { dependencySatisfies, importSync, macroCondition } from '@embroider/macros';\n\nimport { DEPRECATE_EMBER_INFLECTOR } from '@warp-drive/build-config/deprecations';\n\nimport { defaultRules as WarpDriveDefaults } from './-private/string/inflections';\nimport { irregular, plural, singular, uncountable } from './string';\n\nif (DEPRECATE_EMBER_INFLECTOR) {\n if (macroCondition(dependencySatisfies('ember-inflector', '*'))) {\n const Inflector = (importSync('ember-inflector') as { default: typeof import('ember-inflector').default }).default;\n const { inflector } = Inflector;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalPlural = inflector.plural;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalSingular = inflector.singular;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalIrregular = inflector.irregular;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalUncountable = inflector.uncountable;\n\n // copy over any already registered rules\n type DefaultRules = {\n plurals: [RegExp, string][];\n singular: [RegExp, string][];\n irregularPairs: [string, string][];\n uncountable: string[];\n };\n type InternalRules = {\n plurals: [RegExp, string][];\n singular: [RegExp, string][];\n\n // [str1, str2] =>\n // { [str1.lower]: str2 }\n // { [str2.lower]: str2 }\n irregular: Record<string, string>;\n\n // [str1, str2] =>\n // { [str2.lower]: str1 }\n // { [str1.lower]: str1 }\n irregularInverse: Record<string, string>;\n\n // lower cased string\n uncountable: Record<string, boolean>;\n };\n\n // ember-inflector mutates the default rules arrays\n // with user supplied rules, so we keep track of what\n // is default via our own list.\n const defaultPluralKeys = new Set<string>();\n const defaultSingularKeys = new Set<string>();\n WarpDriveDefaults.plurals.forEach(([regex]) => {\n defaultPluralKeys.add(regex.toString());\n });\n WarpDriveDefaults.singular.forEach(([regex]) => {\n defaultSingularKeys.add(regex.toString());\n });\n\n const { defaultRules } = Inflector as unknown as { defaultRules: DefaultRules };\n const { rules } = inflector as unknown as { rules: InternalRules };\n\n const irregularMap = new Map<string, string>();\n const toIgnore = new Set<string>();\n const uncountableSet = new Set(defaultRules.uncountable);\n\n defaultRules.irregularPairs.forEach(([single, plur]) => {\n irregularMap.set(single.toLowerCase(), plur);\n toIgnore.add(plur.toLowerCase());\n });\n const irregularLookups = new Map<string, string>();\n Object.keys(rules.irregular).forEach((single) => {\n const plur = rules.irregular[single];\n irregularLookups.set(single, plur);\n });\n\n // load plurals\n rules.plurals.forEach(([regex, replacement]) => {\n if (defaultPluralKeys.has(regex.toString())) {\n return;\n }\n\n plural(regex, replacement);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for pluralization.\\nPlease \\`import { plural } from '@ember-data/request-utils/string';\\` instead to register a custom pluralization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n // load singulars\n rules.singular.forEach(([regex, replacement]) => {\n if (defaultSingularKeys.has(regex.toString())) {\n return;\n }\n\n singular(regex, replacement);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for singularization.\\nPlease \\`import { singular } from '@ember-data/request-utils/string';\\` instead to register a custom singularization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n // load irregulars\n Object.keys(rules.irregular).forEach((single) => {\n const plur = rules.irregular[single];\n const defaultPlur = irregularMap.get(single);\n if (defaultPlur && defaultPlur === plur) {\n return;\n }\n\n if (toIgnore.has(single)) {\n return;\n }\n\n const actualSingle = irregularLookups.get(plur.toLowerCase()) || single;\n toIgnore.add(plur.toLowerCase());\n irregular(actualSingle, plur);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\\nPlease \\`import { irregular } from '@ember-data/request-utils/string';\\` instead to register a custom irregular rule for use with EmberData for '${actualSingle}' <=> '${plur}'.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n // load uncountables\n Object.keys(rules.uncountable).forEach((word) => {\n if (uncountableSet.has(word) || rules.uncountable[word] !== true) {\n return;\n }\n\n uncountable(word);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\\nPlease \\`import { uncountable } from '@ember-data/request-utils/string';\\` instead to register a custom uncountable rule for '${word}' for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n inflector.plural = function (...args: Parameters<typeof originalPlural>) {\n plural(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for pluralization.\\nPlease \\`import { plural } from '@ember-data/request-utils/string';\\` instead to register a custom pluralization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalPlural.apply(inflector, args);\n };\n\n inflector.singular = function (...args: Parameters<typeof originalSingular>) {\n singular(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for singularization.\\nPlease \\`import { singular } from '@ember-data/request-utils/string';\\` instead to register a custom singularization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalSingular.apply(inflector, args);\n };\n\n inflector.irregular = function (...args: Parameters<typeof originalIrregular>) {\n irregular(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\\nPlease \\`import { irregular } from '@ember-data/request-utils/string';\\` instead to register a custom irregular rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalIrregular.apply(inflector, args);\n };\n\n inflector.uncountable = function (...args: Parameters<typeof originalUncountable>) {\n uncountable(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\\nPlease \\`import { uncountable } from '@ember-data/request-utils/string';\\` instead to register a custom uncountable rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalUncountable.apply(inflector, args);\n };\n }\n}\n"],"names":["macroCondition","getGlobalConfig","WarpDrive","deprecations","DEPRECATE_EMBER_INFLECTOR","dependencySatisfies","Inflector","importSync","default","inflector","originalPlural","plural","originalSingular","singular","originalIrregular","irregular","originalUncountable","uncountable","defaultPluralKeys","Set","defaultSingularKeys","WarpDriveDefaults","plurals","forEach","regex","add","toString","defaultRules","rules","irregularMap","Map","toIgnore","uncountableSet","irregularPairs","single","plur","set","toLowerCase","irregularLookups","Object","keys","replacement","has","deprecate","id","until","for","since","enabled","available","url","defaultPlur","get","actualSingle","word","args","apply"],"mappings":"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"}
|