norwegian-ssn-graphql-scalar
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

npm version

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.

Readme

Keywords

none

Package Sidebar

Install

npm i norwegian-ssn-graphql-scalar

Weekly Downloads

1

Version

2.0.0

License

MIT

Unpacked Size

6.91 kB

Total Files

10

Last publish

Collaborators

  • simenandre