norwegian-ssn-graphql-scalar
v2.0.0
Published
Scalar type for Norwegian Social Security Number.
Downloads
405
Readme
A custom GraphQL scalar types for validating Norwegian Social Security Number.
Installation
yarn add norwegian-ssn-graphql-scalar
Usage
To use this scalar you'll need to add it in two places, your schema and your resolvers map.
In your schema:
scalar NorwegianSSN
In your resolver map, first import them:
import { norwegianSSNResolver } from 'norwegian-ssn-graphql-scalar';
Then make sure they're in the root resolver map like this:
const myResolverMap = {
NorwegianSSN: norwegianSSNResolver,
Query: {
// more stuff here
},
Mutation: {
// more stuff here
},
};
Alternatively, use the resolver
export and a spread operator syntax:
import { resolvers } from 'norwegian-ssn-graphql-scalar';
Then make sure they're in the root resolver map like this:
const myResolverMap = {
...resolvers,
Query: {
// more stuff here
},
Mutation: {
// more stuff here
},
};
That's it. Now you can use these scalar types in your schema definition like this:
type Person {
socialSecurityNumber: NorwegianSSN
...
}
These scalars can be used just like the base, built-in ones.
Usage with Apollo Server
import { ApolloServer } from 'apollo-server';
import { makeExecutableSchema } from '@graphql-tools/schema';
import { typeDefs, resolvers } from 'norwegian-ssn-graphql-scalar';
const server = new ApolloServer({
schema: makeExecutableSchema({
typeDefs: [
// use spread syntax to add scalar definitions to your schema
...typeDefs,
// DateTimeTypeDefinition,
// ...
// ... other type definitions ...
],
resolvers: {
// use spread syntax to add scalar resolvers to your resolver map
...resolvers,
// DateTimeResolver,
// ...
// ... remainder of resolver map ...
},
}),
});
server.listen().then(({ url }) => {
console.log(`🚀 Server ready at ${url}`);
});
License
Released under the MIT license.
Contributing
Issues and Pull Requests are always welcome. ❤️
Thanks
This library are based on Urigo/graphql-scalars. We use https://github.com/mikaello/norwegian-national-id-validator for the actual validation.