File: /var/www/quadcode.com/node_modules/eslint-plugin-svelte/lib/rules/require-stores-init.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const utils_1 = require("../utils");
const svelte_store_1 = require("./reference-helpers/svelte-store");
exports.default = (0, utils_1.createRule)("require-stores-init", {
meta: {
docs: {
description: "require initial value in store",
category: "Best Practices",
recommended: false,
},
schema: [],
messages: {
storeDefaultValue: `Always set a default value for svelte stores.`,
},
type: "suggestion",
},
create(context) {
return {
Program() {
for (const { node, name } of (0, svelte_store_1.extractStoreReferences)(context)) {
const minArgs = name === "writable" || name === "readable"
? 1
: name === "derived"
? 3
: 0;
if (node.arguments.length >= minArgs ||
node.arguments.some((arg) => arg.type === "SpreadElement")) {
continue;
}
context.report({
node,
messageId: "storeDefaultValue",
});
}
},
};
},
});