@ember-data/request-utils 5.4.0-beta.8 → 5.4.1-alpha.160
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.md +19 -7
- package/README.md +2 -2
- package/dist/deprecation-support.js +116 -5
- package/dist/deprecation-support.js.map +1 -1
- package/dist/index.js +14 -10
- package/dist/index.js.map +1 -1
- package/dist/{inflect-CuaHncAE.js → inflect-8aYUyMN7.js} +1 -1
- package/dist/{inflect-CuaHncAE.js.map → inflect-8aYUyMN7.js.map} +1 -1
- package/dist/string.js +1 -1
- package/logos/NCC-1701-a-blue.svg +4 -0
- package/logos/NCC-1701-a-gold.svg +4 -0
- package/logos/NCC-1701-a-gold_100.svg +1 -0
- package/logos/NCC-1701-a-gold_base-64.txt +1 -0
- package/logos/NCC-1701-a.svg +4 -0
- package/logos/README.md +4 -0
- package/logos/docs-badge.svg +2 -0
- package/logos/github-header.svg +444 -0
- package/logos/social1.png +0 -0
- package/logos/social2.png +0 -0
- package/logos/warp-drive-logo-dark.svg +4 -0
- package/logos/warp-drive-logo-gold.svg +4 -0
- package/package.json +36 -34
- package/unstable-preview-types/index.d.ts +29 -5
- package/unstable-preview-types/index.d.ts.map +1 -1
- /package/{ember-data-logo-dark.svg → logos/ember-data-logo-dark.svg} +0 -0
- /package/{ember-data-logo-light.svg → logos/ember-data-logo-light.svg} +0 -0
package/LICENSE.md
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Copyright (c) 2017-2025 Ember.js and contributors
|
|
4
|
+
Copyright (c) 2011-2017 Tilde, Inc. and contributors
|
|
5
|
+
Copyright (c) 2011 LivingSocial Inc.
|
|
6
6
|
|
|
7
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
in the Software without restriction, including without limitation the rights
|
|
10
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
furnished to do so, subject to the following conditions:
|
|
8
13
|
|
|
9
|
-
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
The above copyright notice and this permission notice shall be included in all
|
|
15
|
+
copies or substantial portions of the Software.
|
|
10
16
|
|
|
11
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<img
|
|
3
3
|
class="project-logo"
|
|
4
|
-
src="./ember-data-logo-dark.svg#gh-dark-mode-only"
|
|
4
|
+
src="./logos/ember-data-logo-dark.svg#gh-dark-mode-only"
|
|
5
5
|
alt="EmberData RequestUtils"
|
|
6
6
|
width="240px"
|
|
7
7
|
title="EmberData RequestUtils"
|
|
8
8
|
/>
|
|
9
9
|
<img
|
|
10
10
|
class="project-logo"
|
|
11
|
-
src="./ember-data-logo-light.svg#gh-light-mode-only"
|
|
11
|
+
src="./logos/ember-data-logo-light.svg#gh-light-mode-only"
|
|
12
12
|
alt="EmberData RequestUtils"
|
|
13
13
|
width="240px"
|
|
14
14
|
title="EmberData RequestUtils"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { deprecate } from '@ember/debug';
|
|
2
2
|
import { macroCondition, getGlobalConfig, dependencySatisfies, importSync } from '@embroider/macros';
|
|
3
|
-
import { b as plural, a as singular, i as irregular, u as uncountable } from "./inflect-
|
|
3
|
+
import { m as defaultRules, b as plural, a as singular, i as irregular, u as uncountable } from "./inflect-8aYUyMN7.js";
|
|
4
4
|
if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFLECTOR)) {
|
|
5
5
|
if (macroCondition(dependencySatisfies('ember-inflector', '*'))) {
|
|
6
6
|
const Inflector = importSync('ember-inflector').default;
|
|
@@ -16,6 +16,117 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFL
|
|
|
16
16
|
const originalIrregular = inflector.irregular;
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
18
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: '4.13'
|
|
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: '4.13'
|
|
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: '4.13'
|
|
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: '4.13'
|
|
126
|
+
},
|
|
127
|
+
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
128
|
+
});
|
|
129
|
+
});
|
|
19
130
|
inflector.plural = function (...args) {
|
|
20
131
|
plural(...args);
|
|
21
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, {
|
|
@@ -24,7 +135,7 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFL
|
|
|
24
135
|
for: 'warp-drive',
|
|
25
136
|
since: {
|
|
26
137
|
enabled: '5.3.4',
|
|
27
|
-
available: '
|
|
138
|
+
available: '4.13'
|
|
28
139
|
},
|
|
29
140
|
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
30
141
|
});
|
|
@@ -38,7 +149,7 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFL
|
|
|
38
149
|
for: 'warp-drive',
|
|
39
150
|
since: {
|
|
40
151
|
enabled: '5.3.4',
|
|
41
|
-
available: '
|
|
152
|
+
available: '4.13'
|
|
42
153
|
},
|
|
43
154
|
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
44
155
|
});
|
|
@@ -52,7 +163,7 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFL
|
|
|
52
163
|
for: 'warp-drive',
|
|
53
164
|
since: {
|
|
54
165
|
enabled: '5.3.4',
|
|
55
|
-
available: '
|
|
166
|
+
available: '4.13'
|
|
56
167
|
},
|
|
57
168
|
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
58
169
|
});
|
|
@@ -66,7 +177,7 @@ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFL
|
|
|
66
177
|
for: 'warp-drive',
|
|
67
178
|
since: {
|
|
68
179
|
enabled: '5.3.4',
|
|
69
|
-
available: '
|
|
180
|
+
available: '4.13'
|
|
70
181
|
},
|
|
71
182
|
url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
|
|
72
183
|
});
|
|
@@ -1 +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 { 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 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","args","deprecate","id","until","for","since","enabled","available","url","apply"],"mappings":"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"}
|
|
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: '4.13',\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: '4.13',\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: '4.13',\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: '4.13',\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: '4.13',\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: '4.13',\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: '4.13',\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: '4.13',\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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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { deprecate } from '@ember/debug';
|
|
2
|
+
import { getOrSetGlobal } from '@warp-drive/core-types/-private';
|
|
2
3
|
import { macroCondition, getGlobalConfig } from '@embroider/macros';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -43,10 +44,10 @@ import { macroCondition, getGlobalConfig } from '@embroider/macros';
|
|
|
43
44
|
// prevents the final constructed object from needing to add
|
|
44
45
|
// host and namespace which are provided by the final consuming
|
|
45
46
|
// class to the prototype which can result in overwrite errors
|
|
46
|
-
const CONFIG = {
|
|
47
|
+
const CONFIG = getOrSetGlobal('CONFIG', {
|
|
47
48
|
host: '',
|
|
48
49
|
namespace: ''
|
|
49
|
-
};
|
|
50
|
+
});
|
|
50
51
|
|
|
51
52
|
/**
|
|
52
53
|
* Sets the global configuration for `buildBaseURL`
|
|
@@ -343,7 +344,7 @@ function sortQueryParams(params, options) {
|
|
|
343
344
|
const dictionaryParams = paramsIsObject ? params : {};
|
|
344
345
|
if (!paramsIsObject) {
|
|
345
346
|
params.forEach((value, key) => {
|
|
346
|
-
const hasExisting =
|
|
347
|
+
const hasExisting = key in dictionaryParams;
|
|
347
348
|
if (!hasExisting) {
|
|
348
349
|
dictionaryParams[key] = value;
|
|
349
350
|
} else {
|
|
@@ -583,7 +584,7 @@ class CachePolicy {
|
|
|
583
584
|
id: 'ember-data:request-utils:lifetimes-service-store-arg',
|
|
584
585
|
since: {
|
|
585
586
|
enabled: '5.4',
|
|
586
|
-
available: '
|
|
587
|
+
available: '4.13'
|
|
587
588
|
},
|
|
588
589
|
for: '@ember-data/request-utils',
|
|
589
590
|
until: '6.0'
|
|
@@ -623,7 +624,7 @@ class CachePolicy {
|
|
|
623
624
|
* @param {Store} store
|
|
624
625
|
*/
|
|
625
626
|
invalidateRequest(identifier, store) {
|
|
626
|
-
this._getStore(store).invalidated.add(identifier
|
|
627
|
+
this._getStore(store).invalidated.add(identifier);
|
|
627
628
|
}
|
|
628
629
|
|
|
629
630
|
/**
|
|
@@ -649,9 +650,12 @@ class CachePolicy {
|
|
|
649
650
|
invalidateRequestsForType(type, store) {
|
|
650
651
|
const storeCache = this._getStore(store);
|
|
651
652
|
const set = storeCache.types.get(type);
|
|
653
|
+
const notifications = store.notifications;
|
|
652
654
|
if (set) {
|
|
655
|
+
// TODO batch notifications
|
|
653
656
|
set.forEach(id => {
|
|
654
657
|
storeCache.invalidated.add(id);
|
|
658
|
+
notifications.notify(id, 'invalidated');
|
|
655
659
|
});
|
|
656
660
|
}
|
|
657
661
|
}
|
|
@@ -696,10 +700,10 @@ class CachePolicy {
|
|
|
696
700
|
request.cacheOptions?.types.forEach(type => {
|
|
697
701
|
const set = storeCache.types.get(type);
|
|
698
702
|
if (set) {
|
|
699
|
-
set.add(identifier
|
|
700
|
-
storeCache.invalidated.delete(identifier
|
|
703
|
+
set.add(identifier);
|
|
704
|
+
storeCache.invalidated.delete(identifier);
|
|
701
705
|
} else {
|
|
702
|
-
storeCache.types.set(type, new Set([identifier
|
|
706
|
+
storeCache.types.set(type, new Set([identifier]));
|
|
703
707
|
}
|
|
704
708
|
});
|
|
705
709
|
}
|
|
@@ -725,7 +729,7 @@ class CachePolicy {
|
|
|
725
729
|
isHardExpired(identifier, store) {
|
|
726
730
|
// if we are explicitly invalidated, we are hard expired
|
|
727
731
|
const storeCache = this._getStore(store);
|
|
728
|
-
if (storeCache.invalidated.has(identifier
|
|
732
|
+
if (storeCache.invalidated.has(identifier)) {
|
|
729
733
|
return true;
|
|
730
734
|
}
|
|
731
735
|
const cache = store.cache;
|
|
@@ -761,7 +765,7 @@ class LifetimesService extends CachePolicy {
|
|
|
761
765
|
id: 'ember-data:deprecate-lifetimes-service-import',
|
|
762
766
|
since: {
|
|
763
767
|
enabled: '5.4',
|
|
764
|
-
available: '
|
|
768
|
+
available: '4.13'
|
|
765
769
|
},
|
|
766
770
|
for: 'ember-data',
|
|
767
771
|
until: '6.0'
|